29 void loops(
const LatticeFermion &q_source,
30 const LatticeFermion &
psi,
63 multi1d<int> boundary;
86 XMLReader inputtop(xml, path);
97 XMLReader inputtop(xml, path);
111 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
122 XMLReader paramtop(inputtop,
"param");
134 QDPIO::cerr <<
"Input parameter version " << input.
io_version.
version <<
" unsupported." << std::endl;
140 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
148 XMLReader paramtop(inputtop,
"param");
152 read(paramtop,
"FermTypeP", ferm_type_str);
153 if (ferm_type_str ==
"WILSON") {
163 QDPIO::cout <<
"Compute fermion loops for Wilson fermions" << std::endl;
170 for (
int i=0;
i < input.
param.numKappa; ++
i) {
171 if (toBool(input.
param.Kappa[
i] < 0.0)) {
172 QDPIO::cerr <<
"Unreasonable value for Kappa." << std::endl;
173 QDPIO::cerr <<
" Kappa[" <<
i <<
"] = " << input.
param.Kappa[
i] << std::endl;
176 QDPIO::cout <<
" Spectroscopy Kappa: " << input.
param.Kappa[
i] << std::endl;
189 read(paramtop,
"cfg_type", cfg_type_str);
190 if (cfg_type_str ==
"NERSC") {
193 else if (cfg_type_str ==
"HOT") {
195 }
else if (cfg_type_str ==
"COLD") {
205 read(paramtop,
"prop_type", prop_type_str);
206 if (prop_type_str ==
"SZIN") {
227 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
235 read(inputtop,
"Cfg", input.
cfg);
240 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
250 int main(
int argc,
char **argv)
263 read(xml_in,
"/propagator", input);
270 multi1d<LatticeColorMatrix>
u(
Nd);
274 QDPIO::cout <<
"Calculation for SU(" << Nc <<
")" << std::endl;
283 for(
int dir = 0 ; dir <
Nd ; ++dir)
288 QDPIO::cout <<
"Hot/Random configuration created" << std::endl;
299 push(xml_out,
"z2_loops");
302 write(xml_out,
"Input", xml_in);
305 write(xml_out,
"Config_info", gauge_xml);
310 push(xml_out,
"Output_version");
311 write(xml_out,
"out_version", 1);
318 MesPlq(xml_out,
"Observables",
u);
326 bool do_gauge_transform ;
327 do_gauge_transform = false ;
331 if( do_gauge_transform )
334 multi1d<LatticeColorMatrix> u_trans(
Nd);
337 LatticeColorMatrix v ;
342 for(
int dir = 0 ; dir <
Nd ; ++dir)
344 u_trans[dir] = v*
u[dir]*adj(shift(v,
FORWARD,dir)) ;
345 u[dir] = u_trans[dir] ;
348 QDPIO::cout <<
"Random gauge transform done" << std::endl;
358 typedef LatticeFermion
T;
359 typedef multi1d<LatticeColorMatrix>
P;
360 typedef multi1d<LatticeColorMatrix>
Q;
375 XMLBufferWriter xml_buf;
377 XMLReader xml_in(xml_buf);
378 inv_param =
readXMLGroup(xml_in,
"/InvertParam",
"invType");
387 LatticePropagator quark_propagator;
388 XMLBufferWriter xml_buf;
396 LatticeFermion q_source,
psi;
401 QDPIO::cout <<
"Inversion for sample = " << sample << std::endl;
421 push(xml_out,
"Qprop");
424 write(xml_out,
"Sample" , sample);
436 push(xml_out,
"loop_diagrams");
Primary include file for CHROMA in application codes.
Class for counted reference semantics.
Concrete class for all gauge actions with simple boundary conditions.
Unpreconditioned Wilson fermion action.
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.
void unitarityCheck(const multi1d< LatticeColorMatrixF3 > &u)
Check the unitarity of color matrix in SU(N)
void loops(const LatticeFermion &q_source, const LatticeFermion &psi, int length, XMLWriter &xml_gamma, const std::string &xml_tag)
Fermion loop code.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
void z2_src(LatticeFermion &a)
Z2-source.
std::map< std::string, SinkPropContainer_t > prop
multi1d< LatticeColorMatrix > P
Asqtad Staggered-Dirac operator.
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > & Mass
push(xml_out,"Condensates")
LinOpSysSolverMGProtoClover::T T
void initialize(int *argc, char ***argv)
Chroma initialisation routine.
void finalize(void)
Chroma finalization routine.
void reunit(LatticeColorMatrixF3 &xa)
std::string getXMLInputFileName()
Get input file name.
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
XMLFileWriter & getXMLOutputInstance()
Get xml output instance.
const WilsonTypeFermAct< multi1d< LatticeFermion > > & S_f
Gauge configuration structure.
Hold group xml and type id.
Holds return info from SystemSolver call.
Parameters for running program.
SysSolverCGParams invParam
int main(int argc, char **argv)