13 namespace LatColMatSTSForceGradRecursiveIntegratorEnv
18 multi1d<LatticeColorMatrix> >*
51 XMLReader paramtop(xml_in, path);
56 if( paramtop.count(
"./SubIntegrator") == 0 ) {
60 XMLBufferWriter subintegrator_writer;
63 push(subintegrator_writer,
"SubIntegrator");
64 write(subintegrator_writer,
"Name",
"LCM_EXP_T");
65 write(subintegrator_writer,
"n_steps", one_sub_step);
66 pop(subintegrator_writer);
75 XMLReader subint_reader(paramtop,
"./SubIntegrator");
76 std::ostringstream subintegrator_os;
77 subint_reader.print(subintegrator_os);
79 QDPIO::cout <<
"Subintegrator XML is: " << std::endl;
84 QDPIO::cout <<
"Error reading XML in LatColMatSTSForceGradRecursiveIntegratorParams " << e << std::endl;
100 write(xml,
"n_steps",
p.n_steps);
101 write(xml,
"monomial_ids",
p.monomial_ids);
102 xml <<
p.subintegrator_xml;
111 multi1d<LatticeColorMatrix> >&
s,
112 const Real& traj_length1,
const Real& traj_length2)
const
120 multi1d<LatticeColorMatrix> Q_tmp(
Nd);
121 multi1d<LatticeColorMatrix> P_tmp(
Nd);
134 expSdt(
s, traj_length1);
146 expSdt(
s, traj_length2);
156 multi1d<LatticeColorMatrix> >&
s,
157 const Real& traj_length)
const
167 Real lambda = Real(1)/Real(6);
168 Real xi = Real(1)/Real(72);
170 Real dtau = traj_length / Real(
n_steps);
171 Real lambda_dt = dtau*lambda;
172 Real dtauby2 = dtau / Real(2);
173 Real one_minus_2lambda_dt = (Real(1)-Real(2)*lambda)*dtau;
174 Real two_lambda_dt = lambda_dt*Real(2);
175 Real xi_dtdt = Real(2)*dtau*dtau*dtau*xi / one_minus_2lambda_dt;
177 expSdt(
s, lambda_dt);
179 subIntegrator(
s, dtauby2);
181 subIntegrator(
s, dtauby2);
182 expSdt(
s, two_lambda_dt);
184 subIntegrator(
s, dtauby2);
186 subIntegrator(
s, dtauby2);
187 expSdt(
s, lambda_dt);
Primary include file for CHROMA library code.
MD integrator that can be used as a component for other integrators.
MD integrator interface for PQP leapfrog.
MD integrator interface for PQP leapfrog.
multi1d< IntegratorShared::MonomialPair > monomials
void operator()(AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s, const Real &traj_length) const
Do an integration of lenght n*delta tau in n steps.
AbsComponentIntegrator< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > & getSubIntegrator() const
Return the next level down integrator.
void fg_update(AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s, const Real &traj_length1, const Real &traj_length2) const
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 leapQ(const Real &dt, AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s)
Leap with Q (with all monomials)
Lat Col Mat force-gradient integrator.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
push(xml_out,"Condensates")
multi1d< LatticeFermion > s(Ncb)
LatColMatSTSForceGradRecursiveIntegratorParams()
std::string subintegrator_xml
multi1d< std::string > monomial_ids
Singleton instances of xml output.