45 multi1d<int> boundary;
68 XMLReader inputtop(xml, path);
82 XMLReader inputtop(xml, path);
96 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
107 XMLReader paramtop(inputtop,
"param");
119 QDPIO::cerr <<
"Input parameter version " << input.
io_version.
version <<
" unsupported." << std::endl;
125 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
133 XMLReader paramtop(inputtop,
"param");
137 read(paramtop,
"FermTypeP", ferm_type_str);
138 if (ferm_type_str ==
"WILSON") {
148 QDPIO::cout <<
" PROPAGATOR: Propagator for Wilson fermions" << std::endl;
153 if (paramtop.count(
"Mass") != 0)
156 if (paramtop.count(
"Kappa") != 0)
158 QDPIO::cerr <<
"Error: found both a Kappa and a Mass tag" << std::endl;
162 else if (paramtop.count(
"Kappa") != 0)
165 read(paramtop,
"Kappa", Kappa);
170 QDPIO::cerr <<
"Error: neither Mass or Kappa found" << std::endl;
199 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
211 read(inputtop,
"Cfg", input.
cfg);
216 QDPIO::cerr <<
"Error reading data: " << e << std::endl;
228 int main(
int argc,
char **argv)
241 xml_in.open(in_name);
245 QDPIO::cerr <<
"Error reading input file " << in_name << std::endl;
246 QDPIO::cerr <<
"The input file name can be passed via the -i flag " << std::endl;
247 QDPIO::cerr <<
"The default name is ./DATA" << std::endl;
254 read(xml_in,
"/propagator", input);
261 multi1d<LatticeColorMatrix>
u(
Nd);
262 QDPIO::cout <<
"Calculation for SU(" << Nc <<
")" << std::endl;
265 XMLReader gauge_file_xml, gauge_xml;
275 push(xml_out,
"propagator");
278 write(xml_out,
"Input", xml_in);
283 push(xml_out,
"Output_version");
284 write(xml_out,
"out_version", 1);
291 MesPlq(xml_out,
"Observables",
u);
299 bool do_gauge_transform ;
300 do_gauge_transform = false ;
304 if( do_gauge_transform )
307 multi1d<LatticeColorMatrix> u_trans(
Nd);
310 LatticeColorMatrix v ;
315 for(
int dir = 0 ; dir <
Nd ; ++dir)
317 u_trans[dir] = v*
u[dir]*adj(shift(v,
FORWARD,dir)) ;
318 u[dir] = u_trans[dir] ;
321 QDPIO::cout <<
"Random gauge transform done" << std::endl;
341 XMLBufferWriter xml_buf;
343 XMLReader xml_in(xml_buf);
344 inv_param =
readXMLGroup(xml_in,
"/InvertParam",
"invType");
357 LatticePropagator quark_propagator;
358 XMLBufferWriter xml_buf;
361 LatticeFermion q_source,
psi;
365 QDPIO::cout <<
"Source time slice = " <<
t_source << std::endl;
367 for(
int color_source = 0; color_source < Nc; ++color_source)
368 for(
int spin_source = 0 ; spin_source < Ns ; ++spin_source)
370 QDPIO::cout <<
"Inversion for Color = " << color_source << std::endl;
371 QDPIO::cout <<
"Inversion for Spin = " << spin_source << std::endl;
377 srcfil(q_source,
coord, color_source, spin_source);
388 push(xml_out,
"Qprop");
398 FermToProp(
psi, quark_propagator, color_source, spin_source);
409 mesons(quark_propagator,quark_propagator,
411 "Point_Point_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.
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.
Real kappaToMass(const Real &Kappa)
Convert a Kappa to a mass.
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.
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
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > & Mass
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.
Parameters for running program.
SysSolverCGParams invParam
int main(int argc, char **argv)