41 XMLReader inputtop(xml, path);
51 XMLReader paramtop(xml, path);
60 XMLReader inputtop(xml, path);
76 QDPIO::cerr <<
"Error reading prop data: " << e << std::endl;
83 int main(
int argc,
char *argv[])
97 read(xml_in,
"/t_seqsource", input);
104 push(xml_out,
"t_seqsource");
111 XMLReader prop_file_xml, prop_record_xml;
112 LatticePropagator quark_propagator;
116 QDPIO::cout <<
"Attempt to read forward propagator" << std::endl;
118 prop_record_xml, quark_propagator,
126 read(prop_record_xml,
"/Propagator/PropSource", source_header);
130 QDPIO::cerr <<
"Error extracting forward_prop header: " << e << std::endl;
135 write(xml_out,
"Propagator_file_info", prop_file_xml);
136 write(xml_out,
"Propagator_record_info", prop_record_xml);
138 QDPIO::cout <<
"Forward propagator successfully read" << std::endl;
150 multi1d<Double> forward_prop_corr = sumMulti(localNorm2(quark_propagator),
153 push(xml_out,
"Forward_prop_correlator");
154 write(xml_out,
"forward_prop_corr", forward_prop_corr);
161 push(xml_seq_src,
"Sequential_source");
163 for (
int seq_src_ctr = 0; seq_src_ctr < input.
prop.
seqprop_files.size(); ++seq_src_ctr)
166 write(xml_seq_src,
"seq_src_ctr", seq_src_ctr);
170 LatticePropagator seq_quark_prop;
173 XMLReader seqprop_file_xml, seqprop_record_xml;
175 seqprop_record_xml, seq_quark_prop,
183 read(seqprop_record_xml,
"/SequentialProp/SeqSource", seqsource_header);
187 QDPIO::cerr <<
"Error extracting seqprop header: " << e << std::endl;
192 write(xml_seq_src,
"SequentialProp_file_info", seqprop_file_xml);
193 write(xml_seq_src,
"SequentialProp_record_info", seqprop_record_xml);
195 QDPIO::cout <<
"Sequential propagator successfully read" << std::endl;
203 multi1d<Double> backward_prop_corr = sumMulti(localNorm2(seq_quark_prop),
206 push(xml_seq_src,
"Backward_prop_correlator");
207 write(xml_seq_src,
"backward_prop_corr", backward_prop_corr);
215 QDPIO::cout <<
"Seqsource name = " << seqsource_header.seq_src << std::endl;
216 int t_sink = seqsource_header.
t_sink;
217 multi1d<int> sink_mom = seqsource_header.
sink_mom;
219 write(xml_seq_src,
"seq_src", seq_src);
221 write(xml_seq_src,
"t_sink", t_sink);
222 write(xml_seq_src,
"sink_mom", sink_mom);
227 for(
int i=0;
i < sink_mom.size(); ++
i)
228 mom2_max += sink_mom[
i]*sink_mom[
i];
235 if (seq_src ==
"PION-A0_1")
240 else if (seq_src ==
"PION-A0_2")
245 else if (seq_src ==
"PION-RHO_X_1")
250 else if (seq_src ==
"PION-RHO_X_2")
255 else if (seq_src ==
"PION-RHO_Y_1")
260 else if (seq_src ==
"PION")
265 else if (seq_src ==
"PION-PION_2")
275 int gamma_insertion =
G5 ^ gamma_src;
277 push(xml_seq_src,
"Corr_test");
280 Complex seq_src_corr = trace(peekSite(Gamma(
G5)*adj(seq_quark_prop)*Gamma(
G5)*Gamma(gamma_insertion),
t_source));
281 write(xml_seq_src,
"gamma_insertion",gamma_insertion);
282 write(xml_seq_src,
"seq_src_corr",seq_src_corr);
286 LatticePropagator anti_quark_prop = Gamma(
G5) * quark_propagator * Gamma(
G5);
287 LatticeComplex corr_fn = trace(adj(anti_quark_prop) * Gamma(gamma_snk) *
288 quark_propagator * Gamma(gamma_src));
290 multi2d<DComplex> hsum;
291 hsum = phases.
sft(corr_fn);
295 Complex mesprop_0 = hsum[0][t_sink];
296 write(xml_seq_src,
"gamma_src",gamma_src);
297 write(xml_seq_src,
"gamma_snk",gamma_snk);
298 write(xml_seq_src,
"mesprop_0",mesprop_0);
Primary include file for CHROMA in application codes.
Fourier transform phase factor support.
multi2d< DComplex > sft(const LatticeComplex &cf) const
Do a sumMulti(cf*phases,getSet())
const Set & getSet() const
The set to be used in sumMulti.
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 proginfo(XMLWriter &xml)
Print out basic information about this program.
ForwardProp_t prop_header
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)
push(xml_out,"Condensates")
void initialize(int *argc, char ***argv)
Chroma initialisation routine.
void finalize(void)
Chroma finalization routine.
void readQprop(XMLReader &file_xml, XMLReader &record_xml, LatticePropagator &quark_prop, const std::string &file, QDP_serialparallel_t serpar)
Read a Chroma propagator.
std::string getXMLInputFileName()
Get input file name.
XMLFileWriter & getXMLOutputInstance()
Get xml output instance.
Propagator source construction parameters.
Sequential source parameters.
Parameters for running program.
multi1d< std::string > seqprop_files
int main(int argc, char *argv[])