CHROMA
schr_nonpert_gaugebc.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Schroedinger BC - use for non-pertubative tuning of clover action
4  */
5 
6 #ifndef __schr_nonpert_gaugebc_h__
7 #define __schr_nonpert_gaugebc_h__
8 
11 
12 namespace Chroma
13 {
14 
15  /*! @ingroup gaugebcs */
16  namespace SchrNonPertGaugeBCEnv
17  {
18  extern const std::string name;
19  bool registerAll();
20  }
21 
22 
23  //! Concrete class for Schroedinger BC - use for nonpertubative tuning
24  /*! @ingroup gaugebcs
25  *
26  * Schroedinger BC for gauge actions
27  */
29  {
30  public:
31  //! Only full constructor
33 
34  //! Destructor is automatic
36 
37  //! Decay direction
38  int getDir() const {return param.decay_dir;}
39 
40  //! Mask which lattice sites have fixed gauge links
41  const multi1d<LatticeBoolean>& lSFmask() const {return mask;}
42 
43  //! Fixed gauge links on only the lSFmask() sites
44  const multi1d<LatticeColorMatrix>& SFBndFld() const {return fld;}
45 
46  protected:
47  //! Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
48  /*! \return 1 for 1x1 plaq or 2 for 1x2 rect in decay_dir */
49  int getMaxExtent() const {return param.loop_extent;}
50 
51  //! Multiplier on phases
52  const Real& SchrPhiMult() const {return param.SchrPhiMult;}
53 
54  //! Get the angles on the boundaries
55  const Phases_t& getPhases() const {return phases;}
56 
57  //! Initialize the phases
58  void initPhases();
59 
60  private:
61  // Hide default constuctor
63  void operator=(const SchrNonPertGaugeBC&) {}
64 
65  private:
68  multi1d<LatticeBoolean> mask;
69  multi1d<LatticeColorMatrix> fld;
70  };
71 
72 }
73 
74 #endif
Concrete class for Schroedinger BC - use for nonpertubative tuning.
multi1d< LatticeColorMatrix > fld
void initPhases()
Initialize the phases.
const Phases_t & getPhases() const
Get the angles on the boundaries.
int getDir() const
Decay direction.
int getMaxExtent() const
Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
const multi1d< LatticeColorMatrix > & SFBndFld() const
Fixed gauge links on only the lSFmask() sites.
const multi1d< LatticeBoolean > & lSFmask() const
Mask which lattice sites have fixed gauge links.
~SchrNonPertGaugeBC()
Destructor is automatic.
multi1d< LatticeBoolean > mask
void operator=(const SchrNonPertGaugeBC &)
const Real & SchrPhiMult() const
Multiplier on phases.
Abstract class for SOME Schroedinger gauge BC.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Schroedinger functional gauge boundary conditions.
Schroedinger gauge boundary conditions.
Structure holding phases.