1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 17:25:37 +01:00

First steps for the force term

This commit is contained in:
Guido Cossu 2017-03-30 11:14:27 +01:00
parent 3750b9ffee
commit 1ed69816b9
2 changed files with 13 additions and 2 deletions

View File

@ -82,8 +82,10 @@ namespace QCD {
WilsonLoops<Impl>::FieldStrength(Ex, _Umu, Tdir, Xdir); WilsonLoops<Impl>::FieldStrength(Ex, _Umu, Tdir, Xdir);
WilsonLoops<Impl>::FieldStrength(Ey, _Umu, Tdir, Ydir); WilsonLoops<Impl>::FieldStrength(Ey, _Umu, Tdir, Ydir);
WilsonLoops<Impl>::FieldStrength(Ez, _Umu, Tdir, Zdir); WilsonLoops<Impl>::FieldStrength(Ez, _Umu, Tdir, Zdir);
// Save the contracted term with sigma
// into a dense matrix site by site
// Invert the Moo, Mee terms (?) // Invert the Moo, Mee terms (using Eigen)
} }
@ -110,6 +112,14 @@ namespace QCD {
template<class Impl> template<class Impl>
void WilsonCloverFermion<Impl>::MDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){ void WilsonCloverFermion<Impl>::MDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){
GaugeField tmp(mat._grid); GaugeField tmp(mat._grid);
conformable(U._grid, _grid);
conformable(U._grid, V._grid);
conformable(U._grid, mat._grid);
mat.checkerboard = U.checkerboard;
tmp.checkerboard = U.checkerboard;
this->DhopDeriv(mat, U, V, dag); this->DhopDeriv(mat, U, V, dag);
MooDeriv(tmp, U, V, dag); MooDeriv(tmp, U, V, dag);
mat += tmp; mat += tmp;
@ -118,6 +128,7 @@ namespace QCD {
// Derivative parts // Derivative parts
template<class Impl> template<class Impl>
void WilsonCloverFermion<Impl>::MooDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){ void WilsonCloverFermion<Impl>::MooDeriv(GaugeField&mat, const FermionField&U, const FermionField&V, int dag){
assert(0); // not implemented yet assert(0); // not implemented yet
} }

View File

@ -301,7 +301,7 @@ public:
GaugeMat v = adj(Vup) - adj(Vdn); GaugeMat v = adj(Vup) - adj(Vdn);
GaugeMat u = PeekIndex<LorentzIndex>(Umu, mu); // some redundant copies GaugeMat u = PeekIndex<LorentzIndex>(Umu, mu); // some redundant copies
GaugeMat vu = v*u; GaugeMat vu = v*u;
FS = 0.25*Ta(u*v - Cshift(vu, mu, +1)); FS = 0.25*Ta(u*v + Cshift(vu, mu, +1));// need jsut the antihermite part
} }