CHROMA
inline_coulgauge.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline coulomb (and landau) gauge fixing loops
4  */
5 
6 #ifndef __inline_gfix_h__
7 #define __inline_gfix_h__
8 
9 #include "chromabase.h"
11 
12 namespace Chroma
13 {
14  /*! \ingroup inlinegfix */
15  namespace InlineCoulGaugeEnv
16  {
17  extern const std::string name;
18  bool registerAll();
19 
20  //! Parameter structure
21  /*! \ingroup inlinegfix */
22  struct Params
23  {
24  Params();
25  Params(XMLReader& xml_in, const std::string& path);
26  void write(XMLWriter& xml_out, const std::string& path);
27 
28  unsigned long frequency;
29 
30  struct Param_t
31  {
32  Real GFAccu; /*!< desired accuracy for gauge fixing */
33  int GFMax; /*!< maximal number of gauge fixing iterations */
34  bool OrDo; /*!< use overrelaxation or not */
35  Real OrPara; /*!< overrelaxation parameter */
36  int j_decay; /*!< direction perpendicular to slices to be gauge fixed */
37  } param;
38 
40  {
41  std::string gauge_id; /*!< input gauge field */
42  std::string gfix_id; /*!< output gauge field */
43  std::string gauge_rot_id; /*!< gauge transformation fields */
45 
46  };
47 
48 
49  //! Inline measurement of Coulomb gauge fixing
50  /*! \ingroup inlinegfix */
52  {
53  public:
55  InlineMeas(const Params& p) : params(p) {}
57 
58  unsigned long getFrequency(void) const {return params.frequency;}
59 
60  //! Do the measurement
61  void operator()(const unsigned long update_no,
62  XMLWriter& xml_out);
63 
64  private:
66  };
67 
68  }
69 
70 }
71 
72 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline measurement of Coulomb gauge fixing.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
struct Chroma::InlineCoulGaugeEnv::Params::NamedObject_t named_obj
struct Chroma::InlineCoulGaugeEnv::Params::Param_t param
void write(XMLWriter &xml_out, const std::string &path)