mirror of
https://github.com/paboyle/Grid.git
synced 2025-08-15 10:41:54 +01:00
Domain wall even-odd 2f HMC with wilson gauge and PV 2f ratio now running and giving small dH.
Azusa is working hard on the rectangle term and we'll hopefully start reproducing plaquettes from RBC-UKQCD parameters soon ! My new laptop is pretty warm and is starting to groan ;)
This commit is contained in:
@@ -17,6 +17,7 @@ inline void subdivides(GridBase *coarse,GridBase *fine)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// remove and insert a half checkerboard
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -298,5 +299,42 @@ inline void blockPromote(const Lattice<iVector<CComplex,nbasis > > &coarseData,
|
||||
}
|
||||
|
||||
|
||||
template<class vobj>
|
||||
void Replicate(Lattice<vobj> &coarse,Lattice<vobj> & fine)
|
||||
{
|
||||
typedef typename vobj::scalar_object sobj;
|
||||
|
||||
GridBase *cg = coarse._grid;
|
||||
GridBase *fg = fine._grid;
|
||||
|
||||
int nd = cg->_ndimension;
|
||||
|
||||
subdivides(cg,fg);
|
||||
|
||||
assert(cg->_ndimension==fg->_ndimension);
|
||||
|
||||
std::vector<int> ratio(cg->_ndimension);
|
||||
|
||||
for(int d=0;d<cg->_ndimension;d++){
|
||||
ratio[d] = fg->_fdimensions[d]/cg->_fdimensions[d];
|
||||
}
|
||||
|
||||
std::vector<int> fcoor(nd);
|
||||
std::vector<int> ccoor(nd);
|
||||
for(int g=0;g<fg->gSites();g++){
|
||||
|
||||
fg->GlobalIndexToGlobalCoor(g,fcoor);
|
||||
for(int d=0;d<nd;d++){
|
||||
ccoor[d] = fcoor[d]%cg->_gdimensions[d];
|
||||
}
|
||||
|
||||
sobj tmp;
|
||||
peekSite(tmp,coarse,ccoor);
|
||||
pokeSite(tmp,fine,fcoor);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user