CHROMA
schroedinger_gaugebc.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Schroedinger functional base class
3  */
4 
5 #include "gaugebc.h"
6 
8 
9 namespace Chroma
10 {
11 
12  // Modify U fields in place
13  void SchrGaugeBC::modify(multi1d<LatticeColorMatrix>& u) const
14  {
15  START_CODE();
16 
17  for(int mu=0; mu < u.size(); ++mu)
18  copymask(u[mu], lSFmask()[mu], SFBndFld()[mu]);
19 
20  END_CODE();
21  }
22 
23  // Zero some gauge-like field in place on the masked links
24  void SchrGaugeBC::zero(multi1d<LatticeColorMatrix>& ds_u) const
25  {
26  START_CODE();
27 
28  LatticeColorMatrix z = QDP::zero;
29 
30  for(int mu=0; mu < ds_u.size(); ++mu)
31  copymask(ds_u[mu], lSFmask()[mu], z);
32 
33  END_CODE();
34  }
35 
36 }
virtual const multi1d< LatticeColorMatrix > & SFBndFld() const =0
Fixed gauge links on only the lSFmask() sites.
void zero(multi1d< LatticeColorMatrix > &ds_u) const
Zero the some gauge-like field in place on the masked links.
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.
int mu
Definition: cool.cc:24
Gauge boundary conditions.
int z
Definition: meslate.cc:36
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
START_CODE()
Double zero
Definition: invbicg.cc:106
copymask(lcoord, lbit, ltmp_1, REPLACE)
Schroedinger Gauge boundary conditions.