7 #error "THIS ROUTINE IS OBSOLETE"
13 #include "meas/smear/sink_smear2.h"
31 namespace InlineSpectrumEnv
65 XMLReader paramtop(xml, path);
68 read(paramtop,
"version", version);
109 QDPIO::cerr <<
"Input parameter version " << version <<
" unsupported." << std::endl;
113 if (paramtop.count(
"HybMesP") != 0)
142 QDPIO::cerr <<
"wvf_param size inconsistent with wvfintpar size" << std::endl;
154 write(xml,
"version", version);
186 write(xml,
"nrow", Layout::lattSize());
195 XMLReader inputtop(xml, path);
220 XMLReader paramtop(xml_in, path);
222 if (paramtop.count(
"Frequency") == 1)
234 if (paramtop.count(
"xml_file") != 0)
241 QDPIO::cerr << __func__ <<
": Caught Exception reading XML: " << e << std::endl;
270 push(xml_out,
"spectrum_w");
271 write(xml_out,
"update_no", update_no);
272 write(xml_out,
"xml_file", xml_file);
275 XMLFileWriter xml(xml_file);
276 func(update_no, xml);
280 func(update_no, xml_out);
297 XMLBufferWriter gauge_xml;
303 catch( std::bad_cast )
315 const multi1d<LatticeColorMatrix>&
u =
318 push(xml_out,
"spectrum_w");
319 write(xml_out,
"update_no", update_no);
329 QDPIO::cerr <<
"wvf_param size inconsistent with prop_ids size" << std::endl;
333 QDPIO::cout << std::endl <<
" Gauge group: SU(" << Nc <<
")" << std::endl;
335 QDPIO::cout <<
" volume: " << Layout::lattSize()[0];
336 for (
int i=1;
i<
Nd; ++
i) {
337 QDPIO::cout <<
" x " << Layout::lattSize()[
i];
339 QDPIO::cout << std::endl;
347 write(xml_out,
"Config_info", gauge_xml);
349 push(xml_out,
"Output_version");
350 write(xml_out,
"out_version", 13);
355 MesPlq(xml_out,
"Observables",
u);
359 push(xml_array,
"Wilson_hadron_measurements");
368 QDPIO::cout <<
"Attempt to read propagator info" << std::endl;
372 LatticePropagator& prop_tmp =
376 XMLReader prop_file_xml, prop_record_xml;
384 read(prop_record_xml,
"/Propagator/PropSource", source_header);
387 catch (std::bad_cast)
400 const LatticePropagator& quark_propagator =
403 QDPIO::cout <<
"Propagator successfully read and parsed" << std::endl;
414 QDPIO::cout <<
"Try action and mass" << std::endl;
417 QDPIO::cout <<
"FermAct = " <<
prop_header.fermact.id << std::endl;
418 QDPIO::cout <<
"Mass = " <<
Mass << std::endl;
432 write(xml_array,
"loop", loop);
438 write(xml_array,
"PropSource", source_header);
443 multi1d<Double> forward_prop_corr = sumMulti(localNorm2(quark_propagator),
446 push(xml_array,
"Forward_prop_correlator");
447 write(xml_array,
"forward_prop_corr", forward_prop_corr);
456 if (source_header.
source.
id ==
"POINT_SOURCE")
458 else if (source_header.
source.
id ==
"SHELL_SOURCE")
460 else if (source_header.
source.
id ==
"WALL_SOURCE")
464 QDPIO::cerr <<
"Unsupported source type" << std::endl;
472 multi1d<LatticeColorMatrix> u_link_smr(
Nd);
479 multi1d<LatticeColorMatrix> u_tmp(
Nd);
488 u_tmp[
mu] = u_link_smr[
mu];
492 QDPIO::cout <<
"Gauge field APE-smeared!" << std::endl;
508 mesons(quark_propagator, quark_propagator, phases,
t0,
509 xml_array,
"Point_Point_Wilson_Mesons");
512 mesons(quark_propagator, quark_propagator, phases,
t0,
513 xml_array,
"Shell_Point_Wilson_Mesons");
516 mesons(quark_propagator, quark_propagator, phases_nomom,
t0,
517 xml_array,
"Wall_Point_Wilson_Mesons");
525 LatticePropagator quark_prop_smr;
526 quark_prop_smr = quark_propagator;
527 sink_smear2(u_link_smr, quark_prop_smr,
534 mesons(quark_prop_smr, quark_prop_smr, phases,
t0,
535 xml_array,
"Point_Shell_Wilson_Mesons");
538 mesons(quark_prop_smr, quark_prop_smr, phases,
t0,
539 xml_array,
"Shell_Shell_Wilson_Mesons");
542 mesons(quark_prop_smr, quark_prop_smr, phases_nomom,
t0,
543 xml_array,
"Wall_Shell_Wilson_Mesons");
549 LatticePropagator wall_quark_prop;
550 wall_qprop(wall_quark_prop, quark_propagator, phases_nomom);
553 mesons(wall_quark_prop, wall_quark_prop, phases_nomom,
t0,
554 xml_array,
"Point_Wall_Wilson_Mesons");
557 mesons(wall_quark_prop, wall_quark_prop, phases_nomom,
t0,
558 xml_array,
"Shell_Wall_Wilson_Mesons");
561 mesons(wall_quark_prop, wall_quark_prop, phases_nomom,
t0,
562 xml_array,
"Wall_Wall_Wilson_Mesons");
567 << swatch.getTimeInSeconds()
568 <<
" secs" << std::endl;
582 multi1d<LatticeColorMatrix> f;
583 multi1d<LatticeColorMatrix> u_smr =
u;
584 multi1d<LatticeColorMatrix> u_tmp(
Nd);
602 for(
int i = 0;
i < f.size(); ++
i) {
612 hybmeson(f, u_smr, quark_propagator, quark_propagator, phases,
t_srce,
613 xml_array,
"Point_Point_Wilson_Hybrid_Mesons");
616 hybmeson(f, u_smr, quark_propagator, quark_propagator, phases,
t_srce,
617 xml_array,
"Shell_Point_Wilson_Hybrid_Mesons");
629 LatticePropagator quark_prop_smr;
630 quark_prop_smr = quark_propagator;
631 sink_smear2(u_link_smr, quark_prop_smr,
639 hybmeson(f, u_smr, quark_prop_smr, quark_prop_smr, phases,
t_srce,
640 xml_array,
"Point_Shell_Wilson_Hybrid_Mesons");
643 hybmeson(f, u_smr, quark_prop_smr, quark_prop_smr, phases,
t_srce,
644 xml_array,
"Shell_Shell_Wilson_Hybrid_Mesons");
658 << swatch.getTimeInSeconds()
659 <<
" secs" << std::endl;
672 curcor2(
u, quark_propagator, quark_propagator, phases,
674 xml_array,
"Point_Point_Meson_Currents");
677 curcor2(
u, quark_propagator, quark_propagator, phases,
679 xml_array,
"Shell_Point_Meson_Currents");
682 curcor2(
u, quark_propagator, quark_propagator, phases_nomom,
684 xml_array,
"Wall_Point_Meson_Currents");
688 << swatch.getTimeInSeconds()
689 <<
" secs" << std::endl;
703 baryon(quark_propagator, phases,
705 xml_array,
"Point_Point_Wilson_Baryons");
708 baryon(quark_propagator, phases,
710 xml_array,
"Shell_Point_Wilson_Baryons");
713 baryon(quark_propagator, phases_nomom,
715 xml_array,
"Wall_Point_Wilson_Baryons");
723 LatticePropagator quark_prop_smr;
724 quark_prop_smr = quark_propagator;
725 sink_smear2(u_link_smr, quark_prop_smr,
731 baryon(quark_prop_smr, phases,
733 xml_array,
"Point_Shell_Wilson_Baryons");
736 baryon(quark_prop_smr, phases,
738 xml_array,
"Shell_Shell_Wilson_Baryons");
741 baryon(quark_prop_smr, phases_nomom,
743 xml_array,
"Wall_Shell_Wilson_Baryons");
749 LatticePropagator wall_quark_prop;
750 wall_qprop(wall_quark_prop, quark_propagator, phases_nomom);
753 baryon(wall_quark_prop, phases_nomom,
755 xml_array,
"Point_Wall_Wilson_Baryons");
758 baryon(wall_quark_prop, phases_nomom,
760 xml_array,
"Shell_Wall_Wilson_Baryons");
763 baryon(wall_quark_prop, phases_nomom,
765 xml_array,
"Wall_Wall_Wilson_Baryons");
770 << swatch.getTimeInSeconds()
771 <<
" secs" << std::endl;
783 << snoop.getTimeInSeconds()
784 <<
" secs" << std::endl;
Inline measurement factory.
Inline measurement of spectrum.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlineSpectrumParams params
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
Fourier transform phase factor support.
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 taproj(LatticeColorMatrix &a)
Take the traceless antihermitian projection of a color matrix.
void curcor2(const multi1d< LatticeColorMatrix > &u, const LatticePropagator &quark_prop_1, const LatticePropagator &quark_prop_2, const SftMom &phases, int t0, int no_vec_cur, XMLWriter &xml, const std::string &xml_group)
Construct current correlators.
void wall_qprop(LatticePropagator &wall_quark_prop, const LatticePropagator &quark_propagator, const SftMom &phases)
Construct a wall-sink propagator:
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.
void hybmeson(const multi1d< LatticeColorMatrix > &f, const multi1d< LatticeColorMatrix > &u_smr, const LatticePropagator &quark_prop_1, const LatticePropagator &quark_prop_2, const SftMom &phases, multi1d< int > t_source, XMLWriter &xml, const std::string &xml_group)
Hybrid meson 2-pt functions.
void baryon(const LatticePropagator &quark_propagator, const SftMom &phases, int t0, int bc_spec, bool time_rev, XMLWriter &xml, const std::string &xml_group)
Baryon 2-pt functions.
void proginfo(XMLWriter &xml)
Print out basic information about this program.
std::string makeXMLFileName(std::string xml_file, unsigned long update_no)
Return a xml file name for inline measurements.
void APE_Smear(const multi1d< LatticeColorMatrix > &u, LatticeColorMatrix &u_smear, int mu, int bl_level, const Real &sm_fact, const Real &BlkAccu, int BlkMax, int j_decay)
Construct APE smeared links from:
Hybrid meson 2-pt functions.
ForwardProp_t prop_header
Inline spectrum calculations.
Calculates the antihermitian field strength tensor iF(mu,nu)
Named object function std::map.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
void write(XMLWriter &xml, const std::string &path, const InlineSpectrumParams::NamedObject_t &input)
Propagator output.
Real getMass(const GroupXML_t &fermact)
Given a fermion action in std::string form, return the Mass.
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 mesField(multi1d< LatticeColorMatrixF > &f, const multi1d< LatticeColorMatrixF > &u)
Calculates the antihermitian field strength tensor iF(mu,nu)
multi1d< int > getFermActBoundary(const GroupXML_t &fermact)
Given a fermion action in std::string form, return the boundary.
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
Various parameter structs and reader/writers.
Print out basic info about this program.
Routines associated with Chroma propagator IO.
Fourier transform phase factor support.
multi1d< std::string > prop_ids
multi1d< Real > wvf_param
struct Chroma::InlineSpectrumParams::Param_t param
void write(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineSpectrumParams::NamedObject_t named_obj
Propagator source construction parameters.
multi1d< int > getTSrce() const
Take the traceless antihermitian projection of a color matrix.
Construct a wall-sink propagator.