mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-19 08:17:05 +01:00
Adding force terms
This commit is contained in:
@ -76,6 +76,12 @@ namespace QCD {
|
||||
void WilsonCloverFermion<Impl>::ImportGauge(const GaugeField& _Umu) {
|
||||
this->ImportGauge(_Umu);
|
||||
// Compute the field strength terms
|
||||
WilsonLoops<Impl>::FieldStrength(Bx, _Umu, Ydir, Zdir);
|
||||
WilsonLoops<Impl>::FieldStrength(By, _Umu, Zdir, Xdir);
|
||||
WilsonLoops<Impl>::FieldStrength(Bz, _Umu, Xdir, Ydir);
|
||||
WilsonLoops<Impl>::FieldStrength(Ex, _Umu, Tdir, Xdir);
|
||||
WilsonLoops<Impl>::FieldStrength(Ey, _Umu, Tdir, Ydir);
|
||||
WilsonLoops<Impl>::FieldStrength(Ez, _Umu, Tdir, Zdir);
|
||||
|
||||
// Invert the Moo, Mee terms (?)
|
||||
}
|
||||
@ -84,7 +90,7 @@ namespace QCD {
|
||||
template<class Impl>
|
||||
void WilsonCloverFermion<Impl>::Mooee(const FermionField &in, FermionField &out) {
|
||||
out.checkerboard = in.checkerboard;
|
||||
|
||||
assert(0); // to be completed
|
||||
}
|
||||
|
||||
template<class Impl>
|
||||
@ -100,6 +106,27 @@ namespace QCD {
|
||||
assert(0); // not implemented yet
|
||||
}
|
||||
|
||||
// Derivative parts
|
||||
template<class Impl>
|
||||
void WilsonCloverFermion<Impl>::MDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){
|
||||
GaugeField tmp(mat._grid);
|
||||
this->DhopDeriv(mat, U, V, dag);
|
||||
MooDeriv(tmp, U, V, dag);
|
||||
mat += tmp;
|
||||
}
|
||||
|
||||
// Derivative parts
|
||||
template<class Impl>
|
||||
void WilsonCloverFermion<Impl>::MooDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){
|
||||
assert(0); // not implemented yet
|
||||
}
|
||||
|
||||
// Derivative parts
|
||||
template<class Impl>
|
||||
void WilsonCloverFermion<Impl>::MeeDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){
|
||||
assert(0); // not implemented yet
|
||||
}
|
||||
|
||||
FermOpTemplateInstantiate(WilsonCloverFermion);
|
||||
|
||||
}
|
||||
|
@ -61,7 +61,6 @@ public:
|
||||
{
|
||||
csw = _csw;
|
||||
assert(Nd == 4); // require 4 dimensions
|
||||
|
||||
}
|
||||
|
||||
virtual RealD M(const FermionField& in, FermionField& out);
|
||||
@ -72,6 +71,11 @@ public:
|
||||
virtual void MooeeInv(const FermionField &in, FermionField &out);
|
||||
virtual void MooeeInvDag(const FermionField &in, FermionField &out);
|
||||
|
||||
virtual void MDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag);
|
||||
virtual void MooDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag);
|
||||
virtual void MeeDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag);
|
||||
|
||||
|
||||
void ImportGauge(const GaugeField &_Umu);
|
||||
private:
|
||||
// here fixing the 4 dimensions, make it more general?
|
||||
|
Reference in New Issue
Block a user