1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-13 04:37:05 +01:00

Changes making force term test for DWF pass.

This commit is contained in:
Peter Boyle
2015-08-01 22:06:07 +09:00
parent 1d0be956ae
commit 2994274267
6 changed files with 52 additions and 7 deletions

View File

@ -59,7 +59,7 @@ namespace Grid {
///////////////////////////////////////////////
// Updates gauge field during HMC
///////////////////////////////////////////////
virtual void ImportGauge(const GaugeField & _U);
virtual void ImportGauge(const GaugeField & _U)=0;
};

View File

@ -65,6 +65,7 @@ namespace QCD {
// Allocate the required comms buffer
comm_buf.resize(Stencil._unified_buffer_size); // this is always big enough to contain EO
ImportGauge(_Umu);
}
void WilsonFermion5D::ImportGauge(const LatticeGaugeField &_Umu)
@ -122,6 +123,9 @@ void WilsonFermion5D::DerivInternal(CartesianStencil & st,
{
assert((dag==DaggerNo) ||(dag==DaggerYes));
conformable(st._grid,A._grid);
conformable(st._grid,B._grid);
WilsonCompressor compressor(dag);
LatticeColourMatrix tmp(mat._grid);
@ -146,10 +150,14 @@ void WilsonFermion5D::DerivInternal(CartesianStencil & st,
tmp = zero;
PARALLEL_FOR_LOOP
for(int sss=0;sss<B._grid->oSites();sss++){
for(int sss=0;sss<U._grid->oSites();sss++){
for(int s=0;s<Ls;s++){
int sU=sss;
int sF = s+Ls*sU;
assert ( sF< B._grid->oSites());
assert ( sU< U._grid->oSites());
DiracOptDhopDir(st,U,comm_buf,sF,sU,B,Btilde,mu,gamma);
////////////////////////////
@ -161,10 +169,8 @@ PARALLEL_FOR_LOOP
}
}
PokeIndex<LorentzIndex>(mat,tmp,mu);
}

View File

@ -303,7 +303,7 @@ void DiracOptDhopDir(CartesianStencil &st,LatticeDoubledGaugeField &U,
vHalfSpinColourVector Uchi;
int offset,local,perm, ptype;
int ss=sF;
offset = st._offsets [dir][ss];
local = st._is_local[dir][ss];
perm = st._permute[dir][ss];