CHROMA
schroedinger_gaugebc.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Schroedinger Gauge boundary conditions
4  */
5 
6 #ifndef __schroedinger_gaugebc_h__
7 #define __schroedinger_gaugebc_h__
8 
9 #include "gaugebc.h"
10 
11 namespace Chroma
12 {
13 
14  //! Abstract class for all gauge action boundary conditions with Schroedinger BC
15  /*! @ingroup gaugebc
16  *
17  * Schroedinger BC implies periodic in dirs orthog to decay dir, and some
18  * kind of fixed BC in the decay dir.
19  */
20  class SchrGaugeBC : public GaugeBC< multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >
21  {
22  public:
23  //! Virtual destructor
24  virtual ~SchrGaugeBC() {}
25 
26  //! Modify U fields in place
27  /*! Default version provided */
28  void modify(multi1d<LatticeColorMatrix>& u) const;
29 
30  //! Zero the some gauge-like field in place on the masked links
31  /*! Default version provided */
32  void zero(multi1d<LatticeColorMatrix>& ds_u) const;
33 
34  //! Says if there are fixed links within the lattice
35  bool nontrivialP() const {return true;}
36 
37  //! Decay direction
38  virtual int getDir() const = 0;
39 
40  //! Mask which lattice sites have fixed gauge links
41  virtual const multi1d<LatticeBoolean>& lSFmask() const = 0;
42 
43  //! Fixed gauge links on only the lSFmask() sites
44  virtual const multi1d<LatticeColorMatrix>& SFBndFld() const = 0;
45  };
46 
47 }
48 
49 
50 
51 #endif
Base class for all gauge action boundary conditions.
Definition: gaugebc.h:30
Abstract class for all gauge action boundary conditions with Schroedinger BC.
virtual const multi1d< LatticeColorMatrix > & SFBndFld() const =0
Fixed gauge links on only the lSFmask() sites.
virtual int getDir() const =0
Decay direction.
void zero(multi1d< LatticeColorMatrix > &ds_u) const
Zero the some gauge-like field in place on the masked links.
bool nontrivialP() const
Says if there are fixed links within the lattice.
virtual ~SchrGaugeBC()
Virtual destructor.
void modify(multi1d< LatticeColorMatrix > &u) const
Modify U fields in place.
virtual const multi1d< LatticeBoolean > & lSFmask() const =0
Mask which lattice sites have fixed gauge links.
Gauge boundary conditions.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u