47 multi1d<int> boundary;
70 XMLReader inputtop(xml, path);
83 XMLReader inputtop(xml, path);
97 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
108 XMLReader paramtop(inputtop,
"param");
120 QDPIO::cerr <<
"Input parameter version " << input.
io_version.
version <<
" unsupported." << std::endl;
126 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
134 XMLReader paramtop(inputtop,
"param");
138 read(paramtop,
"FermTypeP", ferm_type_str);
139 if (ferm_type_str ==
"WILSON") {
157 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
169 read(inputtop,
"Cfg", input.
cfg);
174 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
186 int main(
int argc,
char **argv)
199 read(xml_in,
"/propagator", input);
206 multi1d<LatticeColorMatrix>
u(
Nd);
208 QDPIO::cout <<
"Computation of Meson Correlators for Twisted Mass QCD" << std::endl;
209 QDPIO::cout <<
"Calculation for SU(" << Nc <<
")" << std::endl;
210 XMLReader gauge_file_xml, gauge_xml;
221 push(xml_out,
"propagator");
224 write(xml_out,
"Input", xml_in);
227 write(xml_out,
"Config_info", gauge_xml);
229 push(xml_out,
"Output_version");
230 write(xml_out,
"out_version", 1);
237 MesPlq(xml_out,
"Observables",
u);
246 bool do_gauge_transform = false ;
247 read(xml_in,
"/propagator/param/do_gauge_transform",do_gauge_transform );
249 if( do_gauge_transform )
252 multi1d<LatticeColorMatrix> u_trans(
Nd);
255 LatticeColorMatrix v ;
260 for(
int dir = 0 ; dir <
Nd ; ++dir)
262 u_trans[dir] = v*
u[dir]*adj(shift(v,
FORWARD,dir)) ;
263 u[dir] = u_trans[dir] ;
266 QDPIO::cout <<
"Random gauge transform done" << std::endl;
286 XMLBufferWriter xml_buf;
288 XMLReader xml_in(xml_buf);
289 inv_param =
readXMLGroup(xml_in,
"/InvertParam",
"invType");
296 LatticePropagator quark_propagator;
297 XMLBufferWriter xml_buf;
300 LatticeFermion q_source,
psi;
306 QDPIO::cout <<
"Source time slice = " <<
t_source << std::endl;
313 for(
int color_source = 0; color_source < Nc; ++color_source)
314 for(
int spin_source = 0 ; spin_source < Ns ; ++spin_source)
316 QDPIO::cout <<
"Inversion for Color = " << color_source ;
317 QDPIO::cout <<
" Spin = " << spin_source << std::endl;
320 srcfil(q_source,
coord, color_source, spin_source);
330 push(xml_out,
"Qprop");
341 FermToProp(
psi, quark_propagator, color_source, spin_source);
351 mesons(quark_propagator,quark_propagator,
353 "Point_Point_Twisted_Wilson_Mesons") ;
Primary include file for CHROMA in application codes.
Class for counted reference semantics.
Fourier transform phase factor support.
Concrete class for all gauge actions with simple boundary conditions.
Unpreconditioned Wilson fermion action with parity breaking term.
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.
void mesons(const LatticePropagator &quark_prop_1, const LatticePropagator &quark_prop_2, const SftMom &phases, int t0, XMLWriter &xml, const std::string &xml_group)
Meson 2-pt functions.
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.
std::map< std::string, SinkPropContainer_t > prop
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
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.
Params for wilson ferm acts.
Parameters for running program.
SysSolverCGParams invParam
UnprecParWilsonFermActParams mass_param
int main(int argc, char **argv)