76 XMLReader inputtop(xml, path);
86 XMLReader inputtop(xml, path);
97 read(inputtop,
"IO_version/version", version);
101 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
112 XMLReader paramtop(inputtop,
"param");
124 QDPIO::cerr <<
"Input parameter version " << version <<
" unsupported." << std::endl;
130 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
138 XMLReader paramtop(inputtop,
"param");
142 read(paramtop,
"FermTypeP", ferm_type_str);
143 if (ferm_type_str ==
"STAGGERED") {
153 QDPIO::cout <<
" PROPAGATOR: Disconnected loops for Staggered fermions" << std::endl;
166 read(paramtop,
"prop_type", prop_type_str);
167 if (prop_type_str ==
"SZIN") {
176 read(paramtop,
"volume_source", vol_type_str);
177 if (vol_type_str ==
"Z2NOISE")
181 else if (vol_type_str ==
"GAUSSIAN")
214 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
222 read(inputtop,
"Cfg", input.
cfg);
227 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
240 int main(
int argc,
char **argv)
253 xml_in.open(in_name);
257 QDPIO::cerr <<
"Error reading input file " << in_name << std::endl;
264 read(xml_in,
"/propagator", input);
271 multi1d<LatticeColorMatrix>
u(
Nd);
273 XMLReader gauge_file_xml, gauge_xml;
278 push(xml_out,
"STAGGERED_SPECTOSCOPY");
281 write(xml_out,
"Input", xml_in);
284 write(xml_out,
"Config_info", gauge_xml);
286 push(xml_out,
"Output_version");
287 write(xml_out,
"out_version", 1);
296 MesPlq(xml_out,
"Observables",
u);
307 MesPlq(xml_out,
"Is_this_gauge_invariant",
u);
311 typedef LatticeStaggeredFermion
T;
312 typedef multi1d<LatticeColorMatrix>
P;
313 typedef multi1d<LatticeColorMatrix>
Q;
329 XMLBufferWriter xml_buf;
331 XMLReader xml_in(xml_buf);
332 inv_param =
readXMLGroup(xml_in,
"/InvertParam",
"invType");
337 LatticeStaggeredPropagator quark_propagator;
338 XMLBufferWriter xml_buf;
346 LatticeStaggeredFermion q_source,
psi ;
349 multi1d<LatticeStaggeredPropagator> stag_prop(8);
350 for(
int src_ind = 0; src_ind < 8; ++src_ind)
351 stag_prop[src_ind] =
zero ;
358 for(
int color_source = 0; color_source < Nc; ++color_source) {
367 push(xml_out,
"Qprop");
380 if( use_gauge_invar_oper )
394 write(xml_out,
"use_gauge_invar_oper", use_gauge_invar_oper);
395 if( use_gauge_invar_oper )
397 std::cout <<
"Using gauge invariant operators " << std::endl ;
404 std::cout <<
"Using NON-gauge invariant operators " << std::endl ;
411 stag_prop[0] = quark_propagator ;
426 LatticeStaggeredPropagator quark_propagator_4link ;
430 for(
int color_source = 0; color_source < Nc; ++color_source) {
440 push(xml_out,
"Qprop");
450 pion_singlet.
compute(quark_propagator,quark_propagator_4link,
j_decay);
457 push(xml_out,
"CONNECTED");
485 QDPIO::cout <<
"CHROMA_RUN_COMPLETE " << std::endl;
Primary include file for CHROMA in application codes.
Asqtad staggered fermion action.
Create a simple ferm connection state.
Class for counted reference semantics.
void dump(int t_source, XMLWriter &xml_out)
void compute(LatticeStaggeredPropagator local_quark_prop, LatticeStaggeredPropagator four_shift_quark_prop, int j_decay)
void compute(multi1d< LatticeStaggeredPropagator > &quark_props, int j_decay)
void compute(multi1d< LatticeStaggeredPropagator > &quark_props, int j_decay)
void FermToProp(const LatticeFermionF &a, LatticePropagatorF &b, int color_index, int spin_index)
Insert a LatticeFermion into a LatticePropagator.
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 gaugeStartup(XMLReader &gauge_file_xml, XMLReader &gauge_xml, multi1d< LatticeColorMatrix > &u, Cfg_t &cfg)
Initialize the gauge fields.
CfgType
Configuration type.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
void srcfil(LatticeFermion &a, const multi1d< int > &coord, int color_index, int spin_index)
Fill a specific color and spin index with 1.0.
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
push(xml_out,"Condensates")
LinOpSysSolverMGProtoClover::T T
void initialize(int *argc, char ***argv)
Chroma initialisation routine.
void finalize(void)
Chroma finalization routine.
std::string getXMLInputFileName()
Get input file name.
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
void ks_local_loops(Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, LatticeStaggeredFermion &q_source, LatticeStaggeredFermion &psi, const multi1d< LatticeColorMatrix > &u, XMLWriter &xml_out, bool gauge_shift, bool sym_shift, bool loop_checkpoint, int t_length, Real Mass, int Nsamp, Real RsdCG, int CFGNO, VolSrc_type volume_source, int src_seperation, int j_decay)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
XMLFileWriter & getXMLOutputInstance()
Get xml output instance.
const WilsonTypeFermAct< multi1d< LatticeFermion > > & S_f
Params for asqtad ferm acts.
Gauge configuration structure.
Hold group xml and type id.
Holds return info from SystemSolver call.
Parameters for running program.
SysSolverCGParams invParam
bool use_gauge_invar_oper
VolSrc_type volume_source
int main(int argc, char **argv)