Grid 0.7.0
OverlapWilsonCayleyZolotarevFermion.h
Go to the documentation of this file.
1/*************************************************************************************
2
3 Grid physics library, www.github.com/paboyle/Grid
4
5 Source file: ./lib/qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h
6
7 Copyright (C) 2015
8
9Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
10Author: Peter Boyle <paboyle@ph.ed.ac.uk>
11
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or
15 (at your option) any later version.
16
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License along
23 with this program; if not, write to the Free Software Foundation, Inc.,
24 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25
26 See the full license in the file "LICENSE" in the top level distribution directory
27*************************************************************************************/
28/* END LEGAL */
29#ifndef OVERLAP_WILSON_CAYLEY_ZOLOTAREV_FERMION_H
30#define OVERLAP_WILSON_CAYLEY_ZOLOTAREV_FERMION_H
31
33
35
36template<class Impl>
38{
39public:
41public:
42
43 // Constructors
44 virtual void Instantiatable(void){};
45 void MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _m,std::vector<double> twist) {
46 this->MomentumSpacePropagatorHw(out,in,_m,twist);
47 };
48
50 GridCartesian &FiveDimGrid,
51 GridRedBlackCartesian &FiveDimRedBlackGrid,
52 GridCartesian &FourDimGrid,
53 GridRedBlackCartesian &FourDimRedBlackGrid,
54 RealD _mass,RealD _M5,
55 RealD lo, RealD hi,const ImplParams &p= ImplParams()) :
56 // b+c=1.0, b-c = 0 <=> b =c = 1/2
57 MobiusZolotarevFermion<Impl>(_Umu,
58 FiveDimGrid,
59 FiveDimRedBlackGrid,
60 FourDimGrid,
61 FourDimRedBlackGrid,_mass,_M5,0.5,0.5,lo,hi,p)
62
63 {}
64
65};
66
68
69#endif
#define NAMESPACE_BEGIN(A)
Definition Namespace.h:35
#define NAMESPACE_END(A)
Definition Namespace.h:36
double RealD
Definition Simd.h:61
MobiusZolotarevFermion(GaugeField &_Umu, GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, RealD _mass, RealD _M5, RealD b, RealD c, RealD lo, RealD hi, const ImplParams &p=ImplParams())
OverlapWilsonCayleyZolotarevFermion(GaugeField &_Umu, GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, RealD _mass, RealD _M5, RealD lo, RealD hi, const ImplParams &p=ImplParams())
void MomentumSpacePropagator(FermionField &out, const FermionField &in, RealD _m, std::vector< double > twist)
void MomentumSpacePropagatorHw(FermionField &out, const FermionField &in, RealD mass, std::vector< double > twist)