CHROMA
lcm_exp_tdt.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*! @file
4  * @brief Intgrator for exp(T dt)
5  *
6  * A component integrator to integrate exp(T dt) for the kinetic term (momenta)
7  * (ie this is a leapQ like component)
8  */
9 
10 #ifndef LCM_EXPTDT_H
11 #define LCM_EXPTDT_H
12 
13 
14 #include "chromabase.h"
17 
18 
19 namespace Chroma
20 {
21 
22  /*! @ingroup integrator */
23  namespace LatColMatExpTdtIntegratorEnv
24  {
25  extern const std::string name;
26  bool registerAll();
27  }
28 
29 
30  /*! @ingroup integrator */
32  {
34  LatColMatExpTdtIntegratorParams(XMLReader& xml, const std::string& path);
35  int n_steps;
36  };
37 
38  /*! @ingroup integrator */
39  void read(XMLReader& xml_in,
40  const std::string& path,
42 
43  /*! @ingroup integrator */
44  void write(XMLWriter& xml_out,
45  const std::string& path,
47 
48  //! MD integrator interface for PQP leapfrog
49  /*! @ingroup integrator
50  * Specialised to multi1d<LatticeColorMatrix>
51  */
53  : public AbsComponentIntegrator<multi1d<LatticeColorMatrix>,
54  multi1d<LatticeColorMatrix> >
55  {
56  public:
57 
58  // Simplest Constructor
59  LatColMatExpTdtIntegrator(int n_steps_) : n_steps(n_steps_) {};
60 
61  // Construct from params struct and Hamiltonian
63  n_steps(p.n_steps) {}
64 
65  // Copy constructor
67  n_steps(l.n_steps) {}
68 
69  // ! Destruction is automagic
71 
72 
73  void operator()( AbsFieldState<multi1d<LatticeColorMatrix>,
74  multi1d<LatticeColorMatrix> >& s,
75  const Real& traj_length) const;
76 
77 
78  void refreshFields(AbsFieldState<multi1d<LatticeColorMatrix>,
79  multi1d<LatticeColorMatrix> >& s) const
80  {}
81 
82  void resetPredictors(void) const {}
83 
84  private:
85  int n_steps;
86  };
87 
88 }
89 
90 
91 #endif
Abstract Hamiltonian.
Integrators.
Primary include file for CHROMA library code.
MD integrator that can be used as a component for other integrators.
Abstract field state.
Definition: field_state.h:27
MD integrator interface for PQP leapfrog.
Definition: lcm_exp_tdt.h:55
void refreshFields(AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s) const
Refresh fields in this level of the integrator (for R like algorithms)
Definition: lcm_exp_tdt.h:78
void resetPredictors(void) const
Reset any chronological predictors for the integrator.
Definition: lcm_exp_tdt.h:82
LatColMatExpTdtIntegrator(const LatColMatExpTdtIntegrator &l)
Definition: lcm_exp_tdt.h:66
void operator()(AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s, const Real &traj_length) const
Do an integration of length n*delta tau in n steps.
Definition: lcm_exp_tdt.cc:75
LatColMatExpTdtIntegrator(const LatColMatExpTdtIntegratorParams &p)
Definition: lcm_exp_tdt.h:62
LatColMatExpTdtIntegrator(int n_steps_)
Definition: lcm_exp_tdt.h:59
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
bool registerAll()
Register all the factories.
Definition: lcm_exp_tdt.cc:35
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
multi1d< LatticeFermion > s(Ncb)
::std::string string
Definition: gtest.h:1979
int l
Definition: pade_trln_w.cc:111