42 namespace DiluteZNQuarkSourceConstEnv
93 XMLReader paramtop(xml, path);
96 read(paramtop,
"version", version);
104 QDPIO::cerr << __func__ <<
": parameter version " << version
105 <<
" unsupported." << std::endl;
110 if(paramtop.count(
"Smearing") !=0 ) {
118 read(paramtop,
"N",
N);
142 write(xml,
"version", version);
163 QDPIO::cout <<
"Diluted random complex ZN source" << std::endl;
170 QDPIO::cerr <<
name <<
": spatial mask size incorrect 1" << std::endl;
176 QDPIO::cerr <<
name <<
": spatial mask incorrect 2" << std::endl;
180 multi1d<int> lookup_dir(
Nd-1);
193 QDPIO::cerr <<
name <<
": spatial mask incorrect 3" << std::endl;
203 QDPIO::cerr <<
name <<
": color mask incorrect 6" << std::endl;
212 QDPIO::cerr <<
name <<
": spin mask incorrect 7" << std::endl;
229 LatticeFermion quark_noise;
233 LatticeFermion quark_source =
zero;
239 LatticeColorVector colvec = peekSpin(quark_noise, spin_source);
240 LatticeColorVector dest =
zero;
245 LatticeComplex comp = peekColor(colvec, color_source);
247 pokeColor(dest, comp, color_source);
250 pokeSpin(quark_source, dest, spin_source);
253 quark_noise = quark_source;
256 LatticeBoolean mask =
false;
260 LatticeBoolean btmp =
true;
272 quark_source = where(mask, quark_noise, Fermion(
zero));
279 XMLReader smrtop(xml_l);
280 QDPIO::cout <<
"Quark smearing type = " <<
params.
smr.
id ;
281 QDPIO::cout << std::endl;
288 QDPIO::cerr <<
name<<
": Caught Exception creating quark smearing object: " << e << std::endl;
292 QDPIO::cerr <<
name<<
": Caught generic exception creating smearing object" << std::endl;
297 multi1d<LatticeColorMatrix> u_smr =
u;
301 XMLReader linktop(xml_l);
303 QDPIO::cout << std::endl;
308 (*linkSmearing)(u_smr);
312 QDPIO::cerr<<
name<<
": Caught Exception link smearing: " << e << std::endl;
317 (*Smearing)(quark_source, u_smr);
323 XMLReader displacetop(xml_d);
329 QDPIO::cout << std::endl;
333 (*quarkDisplacement)(quark_source, u_smr,
MINUS);
336 QDPIO::cerr<<
name<<
": Caught Exception quark displacement: "<<e<< std::endl;
Primary include file for CHROMA library code.
Random complex Z(N) sources using dilution.
T operator()(const multi1d< LatticeColorMatrix > &u) const
Construct the source.
Class for counted reference semantics.
Base class for quark source construction.
Random Z(N) source construction using dilution.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
void zN_src(LatticeFermion &a, int N)
Volume source of Z(N) noise.
Class for counted reference semantics.
All link smearing constructors.
Factory for producing link smearing objects.
void savern(int iseed[4])
static bool registered
Local registration flag.
const std::string name
Name to be used.
CreateFermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createFerm(XMLReader &xml, const std::string &path)
std::string getName()
Return the name.
bool registerAll()
Register all the factories.
bool registerAll()
Register all the factories.
bool registerAll()
Register all the factories.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
multi1d< LatticeFermion > s(Ncb)
All quark displacement constructors.
Factory for producing quark displacement objects.
All quark smearing constructors.
Factory for producing quark smearing objects.
Simple quark displacement.
Factory for producing quark prop sources.
Random complex Z(N) sources using dilution.
multi1d< multi1d< int > > spatial_mask
multi1d< int > color_mask
multi1d< int > spatial_mask_size
void writeXML(XMLWriter &in, const std::string &path) const
Volume source of Z(N) noise.