43 bool gauge_shift,
bool sym_shift,
45 const multi1d<LatticeColorMatrix> &
u,
46 const multi1d<LatticeColorMatrix> & u_smr,
65 const multi1d<LatticeColorMatrix> &
u ,
66 multi1d<LatticeColorMatrix> & u_smr,
71 int src_ind,
int color_source);
77 const multi1d<LatticeColorMatrix> &
u ,
82 int src_ind,
int color_source,
int t_source=0);
86 LatticeStaggeredFermion & psi2,
90 const multi1d<LatticeColorMatrix> &
u ,
94 Real
RsdCG, Real Mass1, Real Mass2,
96 int src_ind,
int color_source,
int t_source) ;
103 const multi1d<LatticeColorMatrix> &
u ,
104 multi1d<LatticeColorMatrix> & u_smr,
109 int src_ind,
int color_source,
110 LatticeStaggeredFermion & q_source_in ) ;
117 const multi1d<LatticeColorMatrix> &
u ,
122 int src_ind,
int color_source,
int t_source,
123 LatticeStaggeredFermion & q_source_in ) ;
128 LatticeStaggeredFermion & psi2,
132 const multi1d<LatticeColorMatrix> &
u ,
136 Real
RsdCG, Real Mass1, Real Mass2,
138 int src_ind,
int color_source,
int t_source,
139 LatticeStaggeredFermion & q_source_in) ;
143 LatticeStaggeredPropagator & quark_propagator,
148 LatticeStaggeredPropagator & quark_propagator_a,
149 LatticeStaggeredPropagator & quark_propagator_b,
150 LatticeStaggeredPropagator & quark_propagator_c,
155 LatticeStaggeredPropagator & quark_propagator_a,
156 LatticeStaggeredPropagator & quark_propagator_b,
157 LatticeStaggeredPropagator & quark_propagator_c,
164 XMLWriter &xml_out,
int fuzz_width ) ;
169 LatticeStaggeredPropagator &
170 quark_propagator_Lsink_Lsrc,
171 LatticeStaggeredPropagator &
172 quark_propagator_Fsink_Lsrc,
173 LatticeStaggeredPropagator &
174 quark_propagator_Lsink_Fsrc,
175 LatticeStaggeredPropagator &
176 quark_propagator_Fsink_Fsrc) ;
181 LatticeStaggeredPropagator &
182 quark_propagator_Lsink_Lsrc,
183 LatticeStaggeredPropagator &
184 quark_propagator_Fsink_Lsrc,
185 LatticeStaggeredPropagator &
186 quark_propagator_Lsink_Fsrc,
187 LatticeStaggeredPropagator &
188 quark_propagator_Fsink_Fsrc,
189 bool binary_baryon_dump,
196 LatticeStaggeredPropagator quark_propagator,
200 const multi1d<LatticeColorMatrix> &
u ,
208 LatticeStaggeredPropagator & quark_propagator_Lsink_Lsrc,
209 LatticeStaggeredPropagator & quark_propagator_Fsink_Lsrc,
210 LatticeStaggeredPropagator & quark_propagator_Lsink_Fsrc,
211 LatticeStaggeredPropagator & quark_propagator_Fsink_Fsrc,
215 const multi1d<LatticeColorMatrix> &
u ,
216 const multi1d<LatticeColorMatrix> & u_smr ,
233 namespace InlineStaggeredSpectrumEnv
269 XMLReader paramtop(xml, path);
272 read(paramtop,
"version", version);
283 if (paramtop.count(
"Pion_nondegen_noisy_local2") == 1)
287 if (paramtop.count(
"Pion_nondegen_noisy_local3") == 1)
291 if (paramtop.count(
"Pion_nondegen_noisy_local4") == 1)
300 if( paramtop.count(
"LocalScalar_vary") > 0 ) {
328 if (paramtop.count(
"binary_loop_checkpoint") == 1){
329 read(paramtop,
"binary_loop_checkpoint",
333 if (paramtop.count(
"binary_meson_dump") == 1){
334 read(paramtop,
"binary_meson_dump",
338 if (paramtop.count(
"binary_baryon_dump") == 1){
339 read(paramtop,
"binary_baryon_dump",
380 read(paramtop,
"Number_sample", param.
Nsamp);
409 write(xml,
"version", version);
437 XMLReader inputtop(xml, path);
445 if( inputtop.count(
"invParam/MaxCGRestart") > 0 ) {
473 XMLReader inputtop(xml, path);
503 XMLReader paramtop(xml_in, path);
505 if (paramtop.count(
"Frequency") == 1){
521 if (paramtop.count(
"xml_file") != 0) {
525 QDPIO::cerr <<
"Caught Exception reading XML: " << e << std::endl;
551 bool gauge_shift,
bool sym_shift,
553 const multi1d<LatticeColorMatrix> &
u,
554 multi1d<LatticeColorMatrix> & u_smr,
561 LatticeStaggeredFermion q_source,
psi ;
562 LatticeStaggeredFermion q_source_fuzz ;
563 LatticeStaggeredPropagator quark_propagator;
571 for(
int src_ind = 0; src_ind < 8 ; ++src_ind){
572 stag_prop[src_ind] =
zero ;
574 for(
int color_source = 0; color_source < Nc; ++color_source) {
578 gauge_shift, sym_shift,
579 u, u_smr, qprop, xml_out,
581 src_ind, color_source) ;
591 stag_prop[src_ind] = quark_propagator;
604 bool gauge_shift,
bool sym_shift,
605 const multi1d<LatticeColorMatrix> &
u,
612 LatticeStaggeredFermion q_source,
psi ;
613 LatticeStaggeredFermion q_source_fuzz ;
614 LatticeStaggeredPropagator quark_propagator;
622 for(
int src_ind = 0; src_ind < 8 ; ++src_ind){
623 stag_prop[src_ind] =
zero ;
625 for(
int color_source = 0; color_source < Nc; ++color_source) {
628 gauge_shift, sym_shift,
631 src_ind, color_source) ;
641 stag_prop[src_ind] = quark_propagator;
652 bool gauge_shift,
bool sym_shift,
653 const multi1d<LatticeColorMatrix> &
u ,
654 multi1d<LatticeColorMatrix> & u_smr,
661 LatticeStaggeredFermion &psi_fuzz,
662 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc,
663 LatticeStaggeredPropagator &quark_propagator_Fsink_Lsrc,
664 LatticeStaggeredPropagator &quark_propagator_Lsink_Fsrc,
665 LatticeStaggeredPropagator &quark_propagator_Fsink_Fsrc
671 QDPIO::cout <<
"LOCAL INVERSIONS" << std::endl;
674 for(
int color_source = 0; color_source < Nc; ++color_source){
677 const int src_ind = 0 ;
679 gauge_shift, sym_shift,
681 u, u_smr, qprop, xml_out,
683 j_decay, src_ind, color_source) ;
695 FermToProp(psi_fuzz, quark_propagator_Fsink_Lsrc, color_source);
703 QDPIO::cout <<
"FUZZED SOURCE INVERSIONS" << std::endl;
705 for(
int color_source = 0; color_source < Nc; ++color_source) {
708 const int src_ind = 0 ;
711 gauge_shift, sym_shift,
713 u, u_smr, qprop, xml_out,
726 FermToProp(psi_fuzz, quark_propagator_Fsink_Fsrc, color_source);
737 bool gauge_shift,
bool sym_shift,
738 const multi1d<LatticeColorMatrix> &
u ,
743 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc,
752 for(
int color_source = 0; color_source < Nc; ++color_source){
755 const int src_ind = 0 ;
757 gauge_shift, sym_shift,
778 bool gauge_shift,
bool sym_shift,
779 const multi1d<LatticeColorMatrix> &
u ,
784 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc,
786 LatticeStaggeredPropagator &qsource_out){
790 LatticeStaggeredFermion q_source ;
796 for(
int color_source = 0; color_source < Nc; ++color_source){
800 PropToFerm(qsource_out,q_source, color_source);
802 const int src_ind = 0 ;
804 gauge_shift, sym_shift,
829 bool gauge_shift,
bool sym_shift,
830 const multi1d<LatticeColorMatrix> &
u ,
834 Real
RsdCG, Real Mass_1,Real Mass_2,
836 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc_1,
837 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc_2,
840 LatticeStaggeredFermion psi_2 ;
843 for(
int color_source = 0; color_source < Nc; ++color_source){
847 const int src_ind = 0 ;
849 gauge_shift, sym_shift,
850 u, qprop_1,qprop_2, xml_out,
851 RsdCG, Mass_1,Mass_2,
859 FermToProp(psi_1, quark_propagator_Lsink_Lsrc_1, color_source);
860 FermToProp(psi_2, quark_propagator_Lsink_Lsrc_2, color_source);
875 bool gauge_shift,
bool sym_shift,
876 const multi1d<LatticeColorMatrix> &
u ,
880 Real
RsdCG, Real Mass_1,Real Mass_2,
882 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc_1,
883 LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc_2,
885 LatticeStaggeredPropagator &qsource_out ){
887 LatticeStaggeredFermion psi_2 ;
888 LatticeStaggeredFermion q_source ;
893 for(
int color_source = 0; color_source < Nc; ++color_source){
898 PropToFerm( qsource_out, q_source,color_source);
901 const int src_ind = 0 ;
903 gauge_shift, sym_shift,
904 u, qprop_1,qprop_2, xml_out,
905 RsdCG, Mass_1,Mass_2,
913 FermToProp(psi_1, quark_propagator_Lsink_Lsrc_1, color_source);
914 FermToProp(psi_2, quark_propagator_Lsink_Lsrc_2, color_source);
918 FermToProp(q_source, qsource_out, color_source);
931 multi1d<LatticeColorMatrix> & u_smr,
934 QDPIO::cout <<
"Starting to APE smear the gauge configuration" << std::endl;
940 Real BlkAccu = 1.0e-5;
943 for(
int i=0;
i < sm_numb; ++
i){
944 multi1d<LatticeColorMatrix> u_tmp(
Nd);
951 u_tmp[
mu] = u_smr[
mu];
967 XMLWriter& xml_out) {
972 push(xml_out,
"spectrum_s");
973 write(xml_out,
"update_no", update_no);
974 write(xml_out,
"xml_file", xml_file);
977 XMLFileWriter xml(xml_file);
978 func(update_no, xml);
982 func(update_no, xml_out);
991 const multi1d<LatticeColorMatrix> &
u,
994 push(xml_out,
"local_meson_charm_correlators");
1001 bool avg_equiv_mom = true ;
1004 multi1d<int> tsrc(4) ;
1005 tsrc[0] = tsrc[1] = tsrc[2] = tsrc[3] = 0 ;
1036 LatticeStaggeredPropagator & quark_prop_2,
1039 const multi1d<LatticeColorMatrix> &
u,
1042 push(xml_out,
"non_degenerate_noisy_pseudoscalar_correlators");
1045 push(xml_out,
"meson_11");
1046 write(xml_out,
"Mass",Mass1);
1052 push(xml_out,
"meson_22");
1053 write(xml_out,
"Mass",Mass2);
1059 push(xml_out,
"meson_12");
1060 write(xml_out,
"Mass1",Mass1);
1061 write(xml_out,
"Mass2",Mass2);
1092 XMLBufferWriter gauge_xml;
1098 catch( std::bad_cast )
1110 const multi1d<LatticeColorMatrix>&
u =
1115 QDPIO::cout <<
"Gauge group: SU(" << Nc <<
")" << std::endl;
1117 push(xml_out,
"spectrum_s");
1118 write(xml_out,
"update_no", update_no);
1145 bool do_stoch_conn_corr =
false;
1147 bool do_fuzzing =
false;
1148 bool do_variational_spectra =
false;
1150 bool need_basic_8 =
false;
1152 bool need_fuzzed_corner_prop =
false;
1154 bool done_ps4_singlet =
false;
1155 bool done_ps4_singlet_fuzz =
false;
1156 bool done_local_baryons =
false;
1157 bool done_fuzzed_baryons =
false;
1158 bool done_local_disc_loops =
false;
1159 bool done_fuzzed_disc_loops =
false;
1160 bool done_meson_corr =
false;
1161 bool done_meson_charm_corr =
false;
1167 if( ( do_Baryon_vary || do_LocalPion_vary || do_LocalScalar_vary )||
1168 (do_fuzzed_disc_loops||do_ps4_singlet_fuzz)){
1173 if (( do_Baryon_vary || do_LocalPion_vary)||(do_ps4_singlet_fuzz) || do_LocalScalar_vary ) {
1178 do_variational_spectra =
true;
1181 if( do_8_pions || do_8_scalars || do_8_rhos){
1182 need_basic_8 =
true;
1189 bool gauge_shift =
true;
1190 bool sym_shift =
true;
1191 bool loop_checkpoint =
false;
1220 for (
int i=1;
i<
Nd; ++
i) {
1223 QDPIO::cout << std::endl;
1232 write(xml_out,
"Config_info", gauge_xml);
1234 push(xml_out,
"Output_version");
1235 write(xml_out,
"out_version", 1);
1239 MesPlq(xml_out,
"Observables",
u);
1242 typedef LatticeStaggeredFermion
T;
1243 typedef multi1d<LatticeColorMatrix>
P;
1244 typedef multi1d<LatticeColorMatrix>
Q;
1263 XMLReader fermact_reader ;
1271 fermact_reader.open(is);
1275 QDPIO::cerr <<
"Error reading action name " << std::endl;
1298 XMLBufferWriter xml_buf;
1300 XMLReader xml_in(xml_buf);
1301 inv_param =
readXMLGroup(xml_in,
"/InvertParam",
"invType");
1304 qprop(
S_f.qprop(
state, inv_param));
1311 LatticeStaggeredFermion
psi ;
1312 LatticeStaggeredFermion q_source ;
1318 Wloop(xml_out,
"Wilson_loops",
u) ;
1327 if ((( do_local_disc_loops ) && (do_stoch_conn_corr )) &&
1328 (!do_fuzzed_disc_loops)){
1329 push(xml_out,
"disconnected_loops");
1334 gauge_shift, sym_shift, loop_checkpoint,
1336 volume_source, src_seperation,
j_decay);
1338 double time_in_sec = swatch.getTimeInSeconds();
1339 QDPIO::cout <<
"PROF1:ks_local_loops_and_stoch_conn" << time_in_sec <<
" sec" << std::endl;
1343 done_local_disc_loops =
true;
1347 if((( do_local_disc_loops ) && (!done_local_disc_loops))&&
1348 (!do_fuzzed_disc_loops)){
1349 push(xml_out,
"disconnected_loops");
1354 gauge_shift, sym_shift, loop_checkpoint,
1355 t_length,
Mass, Nsamp,
RsdCG, CFGNO, volume_source,
1359 double time_in_sec = swatch.getTimeInSeconds();
1360 QDPIO::cout <<
"PROF2:ks_local_loops " << time_in_sec <<
" sec" << std::endl;
1362 done_local_disc_loops =
true;
1372 multi1d<LatticeStaggeredPropagator> stag_prop(8);
1377 sym_shift,
u, qprop, xml_out,
RsdCG,
1380 double time_in_sec = swatch.getTimeInSeconds();
1381 QDPIO::cout <<
"PROF3:build_basic_8_props " << time_in_sec <<
" sec" << std::endl;
1396 double time_in_sec = swatch.getTimeInSeconds();
1397 QDPIO::cout <<
"PROF4:compute_8_pions " << time_in_sec <<
" sec" << std::endl;
1420 if((( do_ps4_singlet ) && (!done_ps4_singlet))&&(!do_ps4_singlet_fuzz)) {
1433 done_ps4_singlet =
true;
1435 double time_in_sec = swatch.getTimeInSeconds();
1436 QDPIO::cout <<
"PROF5:compute_singlet_ps " << time_in_sec <<
" sec" << std::endl;
1442 if((( do_Baryon_local) &&(!done_local_baryons)) && (!do_Baryon_vary)) {
1444 push(xml_out,
"baryon_correlators");
1449 push(xml_out,
"smearing_info");
1460 done_local_baryons =
true;
1472 LatticeStaggeredFermion psi_fuzz ;
1473 multi1d<LatticeColorMatrix> u_smr(
Nd);
1482 double time_in_sec = swatch.getTimeInSeconds();
1483 QDPIO::cout <<
"PROF6: DoFuzzing " << time_in_sec <<
" sec" << std::endl;
1486 if ( do_variational_spectra ){
1489 LatticeStaggeredPropagator quark_propagator_Lsink_Lsrc;
1490 LatticeStaggeredPropagator quark_propagator_Fsink_Lsrc ;
1491 LatticeStaggeredPropagator quark_propagator_Lsink_Fsrc ;
1492 LatticeStaggeredPropagator quark_propagator_Fsink_Fsrc ;
1499 sym_shift,
u, u_smr, qprop,
1501 do_fuzzing, psi_fuzz,
1502 quark_propagator_Lsink_Lsrc,
1503 quark_propagator_Fsink_Lsrc,
1504 quark_propagator_Lsink_Fsrc,
1505 quark_propagator_Fsink_Fsrc );
1507 double time_in_sec = swatch.getTimeInSeconds();
1508 QDPIO::cout <<
"PROF7:MakeFuzzedCornerProp " << time_in_sec <<
" sec" << std::endl;
1521 LatticeComplex test_corr_fnLL;
1522 LatticeComplex test_corr_fnLF;
1523 LatticeComplex test_corr_fnFL;
1524 LatticeComplex test_corr_fnFF;
1526 test_corr_fnLL = trace(adj(quark_propagator_Lsink_Lsrc)
1527 *quark_propagator_Lsink_Lsrc);
1528 test_corr_fnFL = trace(adj(quark_propagator_Fsink_Lsrc)
1529 *quark_propagator_Fsink_Lsrc);
1530 test_corr_fnLF = trace(adj(quark_propagator_Lsink_Fsrc)
1531 *quark_propagator_Lsink_Fsrc);
1532 test_corr_fnFF = trace(adj(quark_propagator_Fsink_Fsrc)
1533 *quark_propagator_Fsink_Fsrc);
1535 productLL =
sum(test_corr_fnLL);
1536 productFL =
sum(test_corr_fnFL);
1537 productLF =
sum(test_corr_fnLF);
1538 productFF =
sum(test_corr_fnFF);
1540 QDPIO::cout <<
"product of LL= " << productLL << std::endl;
1541 QDPIO::cout <<
"product of FL= " << productFL << std::endl;
1542 QDPIO::cout <<
"product of LF= " << productLF << std::endl;
1543 QDPIO::cout <<
"product of FF= " << productFF << std::endl;
1550 if( do_Baryon_vary ) {
1555 quark_propagator_Lsink_Lsrc,
1556 quark_propagator_Fsink_Lsrc,
1557 quark_propagator_Lsink_Fsrc,
1558 quark_propagator_Fsink_Fsrc,
1562 done_local_baryons =
true;
1563 done_fuzzed_baryons =
true;
1568 if( do_LocalPion_vary ) {
1570 quark_propagator_Fsink_Lsrc,
1571 quark_propagator_Lsink_Fsrc,
1572 quark_propagator_Fsink_Fsrc,
1573 u, gauge_shift, sym_shift,
1579 if( do_LocalScalar_vary ) {
1581 quark_propagator_Fsink_Lsrc,
1582 quark_propagator_Lsink_Fsrc,
1583 quark_propagator_Fsink_Fsrc,
1584 u, gauge_shift, sym_shift,
1589 if(( do_ps4_singlet_fuzz ) && (!done_ps4_singlet_fuzz)) {
1594 quark_propagator_Fsink_Lsrc,
1595 quark_propagator_Lsink_Fsrc,
1596 quark_propagator_Fsink_Fsrc,
1597 type_of_src, gauge_shift, sym_shift,
u ,
1601 done_ps4_singlet =
true;
1602 done_ps4_singlet_fuzz =
true;
1611 if(( do_ps4_singlet ) && (!done_ps4_singlet)) {
1616 gauge_shift, sym_shift,
u, qprop, xml_out,
1619 done_ps4_singlet =
true;
1623 if(( do_Baryon_local) &&(!done_local_baryons)) {
1625 push(xml_out,
"baryon_correlators");
1630 push(xml_out,
"smearing_info");
1636 quark_propagator_Lsink_Lsrc,
1637 quark_propagator_Lsink_Lsrc,
1643 done_local_baryons =
true;
1653 if(( do_fuzzed_disc_loops )&&(!done_fuzzed_disc_loops)) {
1654 push(xml_out,
"disconnected_loops");
1660 gauge_shift, sym_shift, loop_checkpoint, t_length,
Mass,
1661 Nsamp,
RsdCG, CFGNO, volume_source, fuzz_width,
1666 double time_in_sec = swatch.getTimeInSeconds();
1667 QDPIO::cout <<
"PROF9:ks_fuzz_loops " << time_in_sec <<
" sec" << std::endl;
1679 done_local_disc_loops =
true;
1680 done_fuzzed_disc_loops =
true;
1691 if((( do_ps4_singlet ) && (!done_ps4_singlet)) ||
1692 (( do_Baryon_local) &&(!done_local_baryons)) ||
1693 ( Meson_local && ! done_meson_corr ) ||
1694 ( Meson_charm_local && ! done_meson_charm_corr)
1699 LatticeStaggeredPropagator local_corner_prop;
1704 local_corner_prop, type_of_src,
t_source);
1708 if(( do_ps4_singlet ) && (!done_ps4_singlet)) {
1716 done_ps4_singlet =
true;
1720 if(( do_Baryon_local) &&(!done_local_baryons)) {
1722 push(xml_out,
"baryon_correlators");
1727 push(xml_out,
"smearing_info");
1733 local_corner_prop, xml_out,
j_decay, t_length,
1738 done_local_baryons =
true;
1742 if( !done_meson_corr && Meson_local )
1744 push(xml_out,
"local_meson_correlators");
1749 done_meson_corr = true ;
1754 if( !done_meson_charm_corr && Meson_charm_local )
1759 done_meson_charm_corr = true ;
1766 if( Meson_charm_noisy_local
1767 || Pion_nondegen_noisy_local
1768 || Pion_nondegen_noisy_local2
1769 || Pion_nondegen_noisy_local3
1770 || Pion_nondegen_noisy_local4
1773 int seed =
t_source + t_length * CFGNO ;
1775 QDPIO::cout <<
"Seeded RNG for noisy time slice source " << seed << std::endl;
1776 QDPIO::cout <<
"Set from t_source " <<
t_source <<
" CFG " << CFGNO <<
"\n" ;
1781 if( Meson_charm_noisy_local )
1783 push(xml_out,
"noisy_local_meson_correlators");
1785 LatticeStaggeredPropagator noisy_corner_prop;
1787 QDPIO::cout <<
"Starting inversion for noisy wall source \n" ;
1799 LatticeStaggeredPropagator quark_source_nondegen ;
1800 LatticeStaggeredPropagator noisy_corner_prop_strange;
1803 if( Pion_nondegen_noisy_local )
1805 push(xml_out,
"noisy_local_nondegen_meson_correlators");
1806 QDPIO::cout <<
"Setting up second inverter for nondegen\n" ;
1809 XMLReader fermact_reader2 ;
1812 fermact_reader2.open(is);
1816 QDPIO::cerr <<
"Error reading SECOND action name " << std::endl;
1831 Real Mass1 =
S_f.getQuarkMass() ;
1834 LatticeStaggeredPropagator noisy_corner_prop_2;
1839 QDPIO::cout <<
"Starting non-degen inversions for local source\n" ;
1844 noisy_corner_prop_strange, noisy_corner_prop_2,
1845 type_of_src ,
t_source,quark_source_nondegen);
1848 noisy_corner_prop_2,Mass2,
1857 if( Pion_nondegen_noisy_local2 )
1859 push(xml_out,
"noisy_local_nondegen_meson_correlators_2");
1860 QDPIO::cout <<
"Setting up third inverter for nondegen\n" ;
1863 XMLReader fermact_reader2 ;
1866 fermact_reader2.open(is);
1870 QDPIO::cerr <<
"Error reading THIRD action name " << std::endl;
1885 Real Mass1 =
S_f.getQuarkMass() ;
1887 LatticeStaggeredPropagator noisy_corner_prop_2;
1892 QDPIO::cout <<
"Starting 2nd inversions for local source\n" ;
1897 noisy_corner_prop_2,
1898 type_of_src ,
t_source,quark_source_nondegen);
1904 noisy_corner_prop_2,Mass2,
1915 if( Pion_nondegen_noisy_local3 )
1917 push(xml_out,
"noisy_local_nondegen_meson_correlators_3");
1918 QDPIO::cout <<
"Setting up fourth inverter for nondegen\n" ;
1921 XMLReader fermact_reader4 ;
1924 fermact_reader4.open(is);
1928 QDPIO::cerr <<
"Error reading FOURTH action name " << std::endl;
1943 Real Mass1 =
S_f.getQuarkMass() ;
1945 LatticeStaggeredPropagator noisy_corner_prop_2;
1950 QDPIO::cout <<
"Starting 3rd inversions for local source\n" ;
1955 noisy_corner_prop_2,
1956 type_of_src ,
t_source,quark_source_nondegen);
1960 noisy_corner_prop_2,Mass2,
1970 if( Pion_nondegen_noisy_local4 )
1972 push(xml_out,
"noisy_local_nondegen_meson_correlators_4");
1973 QDPIO::cout <<
"Setting up fifth inverter for nondegen\n" ;
1976 XMLReader fermact_reader5 ;
1979 fermact_reader5.open(is);
1983 QDPIO::cerr <<
"Error reading FIFTH action name " << std::endl;
1998 Real Mass1 =
S_f.getQuarkMass() ;
2000 LatticeStaggeredPropagator noisy_corner_prop_2;
2004 QDPIO::cout <<
"Starting 4th inversions for local source\n" ;
2010 noisy_corner_prop_2,
2011 type_of_src ,
t_source,quark_source_nondegen);
2014 noisy_corner_prop_2,Mass2,
2028 << snoop.getTimeInSeconds()
2029 <<
" secs" << std::endl;
Inline measurement factory.
Asqtad staggered fermion action.
Create a simple ferm connection state.
virtual SystemSolver< T > * qprop(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return quark prop solver, solution of unpreconditioned system.
virtual FermState< T, P, Q > * createState(const Q &q) const
Given links (coordinates Q) create the state needed for the linear operators.
Class for counted reference semantics.
Inline measurement of Wilson loops.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlineStaggeredSpectrumParams params
Fourier transform phase factor support.
Staggered-like fermion actions.
virtual const Real getQuarkMass() const =0
Return the quark mass.
void compute(LatticeStaggeredPropagator &quark_prop_A, LatticeStaggeredPropagator &quark_prop_B, int j_decay)
void dump(int t_source, XMLWriter &xml_out)
void compute(LatticeStaggeredPropagator &quark_prop_A, LatticeStaggeredPropagator &quark_prop_B, int j_decay)
void compute_and_dump(LatticeStaggeredPropagator &quark_prop_A, LatticeStaggeredPropagator &quark_prop_B, int j_decay, int, const SftMom &phases, XMLWriter &xml)
void compute(multi1d< LatticeStaggeredPropagator > &quark_props, int j_decay)
void PropToFerm(const LatticePropagatorF &b, LatticeFermionF &a, int color_index, int spin_index)
Extract a LatticeFermion from a LatticePropagator.
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 Wloop(const multi1d< LatticeColorMatrix > &u, multi2d< Double > &plane_plaq_11, multi2d< Double > &plane_plaq_12, multi2d< Double > &plane_plaq_13, multi2d< Double > &plane_plaq_14)
Return the value of the 11, 12, 13, 14 Wilson loops.
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.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
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:
void fuzz_smear(const multi1d< LatticeColorMatrix > &ufuzz, const T &psi, T &psifuzz, int length, int j_decay)
apply a fuzz_smear operator to a lattice field
Class for counted reference semantics.
Inline staggered spectrum calculations.
Wrapper routines for computing loops with staggeref fermions.
Named object function std::map.
static bool registered
Local registration flag.
multi1d< LatticeColorMatrix > P
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > & RsdCG
void DoFuzzing(const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_smr, int j_decay)
static multi1d< LatticeColorMatrix > u
void compute_vary_baryon_s(XMLWriter &xml_out, int t_source, int fuzz_width, int j_decay, int t_len, LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Lsink_Fsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Fsrc)
void write_smearing_info(std::string name, stag_src_type type_of_src, XMLWriter &xml_out, int fuzz_width)
LinOpSysSolverMGProtoClover::Q Q
void noisy_pion_nondegen(LatticeStaggeredPropagator &quark_prop_1, Real Mass1, LatticeStaggeredPropagator &quark_prop_2, Real Mass2, XMLWriter &xml_out, const multi1d< LatticeColorMatrix > &u, int t_source, int j_decay, int t_length)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > & Mass
int MakeFuzzedCornerProp(LatticeStaggeredFermion &psi, int fuzz_width, bool gauge_shift, bool sym_shift, const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_smr, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay, bool do_fuzzing, LatticeStaggeredFermion &psi_fuzz, LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Lsink_Fsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Fsrc)
push(xml_out,"Condensates")
void ks_compute_baryon(std::string name, LatticeStaggeredPropagator &quark_propagator, XMLWriter &xml_out, int j_decay, int tlength)
void ks_local_loops_and_stoch_conn(Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, LatticeStaggeredFermion &q_source1, LatticeStaggeredFermion &psi1, 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)
LinOpSysSolverMGProtoClover::T T
void compute_vary_scalar(LatticeStaggeredPropagator &prop_Lsn_Lsr, LatticeStaggeredPropagator &prop_Fsn_Lsr, LatticeStaggeredPropagator &prop_Lsn_Fsr, LatticeStaggeredPropagator &prop_Fsn_Fsr, const multi1d< LatticeColorMatrix > &u, bool gauge_shift, bool sym_shift, XMLWriter &xml_out, int j_decay, int t_length, int t_source)
void compute_8_scalars(multi1d< LatticeStaggeredPropagator > &stag_prop, const multi1d< LatticeColorMatrix > &u, bool gauge_shift, bool sym_shift, XMLWriter &xml_out, int j_decay, int t_length, int t_source, bool binary_meson_dump, std::string binary_name)
void compute_8_vectors(multi1d< LatticeStaggeredPropagator > &stag_prop, const multi1d< LatticeColorMatrix > &u, bool gauge_shift, bool sym_shift, XMLWriter &xml_out, int j_decay, int t_length, int t_source, bool binary_meson_dump, std::string binary_name)
void compute_8_pions(multi1d< LatticeStaggeredPropagator > &stag_prop, const multi1d< LatticeColorMatrix > &u, bool gauge_shift, bool sym_shift, XMLWriter &xml_out, int j_decay, int t_length, int t_source, bool binary_meson_dump, std::string binary_name)
int build_basic_8_props(multi1d< LatticeStaggeredPropagator > stag_prop, stag_src_type type_of_src, bool gauge_shift, bool sym_shift, int fuzz_width, const multi1d< LatticeColorMatrix > &u, const multi1d< LatticeColorMatrix > &u_smr, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay)
int compute_vary_singlet_ps(LatticeStaggeredFermion &psi, LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Lsink_Fsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Fsrc, stag_src_type type_of_src, bool gauge_shift, bool sym_shift, const multi1d< LatticeColorMatrix > &u, const multi1d< LatticeColorMatrix > &u_smr, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay, int t_source, int t_length, int fuzz_width)
void ks_fuzz_loops(Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, LatticeStaggeredFermion &q_source, LatticeStaggeredFermion &psi, LatticeStaggeredFermion &psi_fuzz, const multi1d< LatticeColorMatrix > &u, const multi1d< LatticeColorMatrix > &u_smr, 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 fuzz_width, int src_seperation, int j_decay, bool binary_loop_checkpoint, std::string binary_name)
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
void write(XMLWriter &xml, const std::string &path, const InlineStaggeredSpectrumParams::NamedObject_t &input)
Named object output.
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)
int MakeCornerProp(LatticeStaggeredFermion &psi, bool gauge_shift, bool sym_shift, const multi1d< LatticeColorMatrix > &u, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay, LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc, stag_src_type type_of_src, int t_source=0)
int compute_quark_propagator_s(LatticeStaggeredFermion &psi, stag_src_type type_of_src, bool gauge_shift, bool sym_shift, int fuzz_width, const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_smr, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay, int src_ind, int color_source)
int compute_singlet_ps(LatticeStaggeredFermion &psi, LatticeStaggeredPropagator quark_propagator, stag_src_type type_of_src, bool gauge_shift, bool sym_shift, const multi1d< LatticeColorMatrix > &u, Handle< SystemSolver< LatticeStaggeredFermion > > &qprop, XMLWriter &xml_out, Real RsdCG, Real Mass, int j_decay, int t_source, int t_length)
void meson_charm(LatticeStaggeredPropagator &quark_prop, XMLWriter &xml_out, const multi1d< LatticeColorMatrix > &u, int t_source, int j_decay, int t_length)
void compute_vary_ps(LatticeStaggeredPropagator &quark_propagator_Lsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Lsrc, LatticeStaggeredPropagator &quark_propagator_Lsink_Fsrc, LatticeStaggeredPropagator &quark_propagator_Fsink_Fsrc, const multi1d< LatticeColorMatrix > &u, bool gauge_shift, bool sym_shift, XMLWriter &xml_out, int j_decay, int t_length, int t_source)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
const WilsonTypeFermAct< multi1d< LatticeFermion > > & S_f
Various parameter structs and reader/writers.
Print out basic info about this program.
Fourier transform phase factor support.
Support class for fermion actions and linear operators.
Params for asqtad ferm acts.
Hold group xml and type id.
bool Pion_nondegen_noisy_local3
bool Pion_nondegen_noisy_local
VolSrc_type volume_source
bool Pion_nondegen_noisy_local4
bool Meson_charm_noisy_local
bool ps4link_singlet_conn_fuzz
bool binary_loop_checkpoint
bool Pion_nondegen_noisy_local2
bool ps4link_singlet_conn
SysSolverCGParams invParam
struct Chroma::InlineStaggeredSpectrumParams::Quark_Prop_t prop_param
InlineStaggeredSpectrumParams()
struct Chroma::InlineStaggeredSpectrumParams::NamedObject_t named_obj
struct Chroma::InlineStaggeredSpectrumParams::Param_t param
void write(XMLWriter &xml_out, const std::string &path)
Compute staggered quark propagator.
@ GAUGE_INVAR_LOCAL_SOURCE