CHROMA
periodic_fermbc.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Fermion action boundary conditions
4  */
5 
6 #ifndef __periodic_fermbc_h__
7 #define __periodic_fermbc_h__
8 
9 #include "fermbc.h"
10 
11 namespace Chroma
12 {
13 
14  //! Concrete class for all fermionic actions with trivial boundary conditions
15  /*! @ingroup fermbcs
16  *
17  * No BC
18  */
19  template<class T, typename P, typename Q>
20  class PeriodicFermBC : public FermBC<T,P,Q>
21  {
22  public:
23  //! Only full constructor
25 
26  //! Destructor is automatic
28 
29  //! Modify U fields in place
30  /*! NOP */
31  void modify(Q& u) const {}
32 
33  //! Modify fermion fields in place
34  /*! NOP */
35  void modifyF(T& psi) const {}
36 
37  //! Modify fermion fields in place under a subset
38  /*! NOP */
39  void modifyF(T& psi, const Subset& s) const {}
40 
41  //! Modify fermion fields in place
42  /*! NOP */
43  void modifyF(multi1d<T>& psi) const {}
44 
45  //! Modify fermion fields in place under a subset
46  /*! NOP */
47  void modifyF(multi1d<T>& psi, const Subset& s) const {}
48 
49  //! Zero some gauge-like field in place on the masked links
50  void zero(P& ds_u) const {}
51 
52  //! Says if there are non-trivial BC links
53  bool nontrivialP() const {return false;}
54  };
55 
56 }
57 
58 #endif
Base class for all fermion action boundary conditions.
Definition: fermbc.h:20
Concrete class for all fermionic actions with trivial boundary conditions.
void modifyF(multi1d< T > &psi, const Subset &s) const
Modify fermion fields in place under a subset.
void modifyF(T &psi) const
Modify fermion fields in place.
PeriodicFermBC()
Only full constructor.
void modifyF(multi1d< T > &psi) const
Modify fermion fields in place.
~PeriodicFermBC()
Destructor is automatic.
void modify(Q &u) const
Modify U fields in place.
bool nontrivialP() const
Says if there are non-trivial BC links.
void modifyF(T &psi, const Subset &s) const
Modify fermion fields in place under a subset.
void zero(P &ds_u) const
Zero some gauge-like field in place on the masked links.
Fermion action boundary conditions.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
LinOpSysSolverMGProtoClover::T T
LatticeFermion psi
Definition: mespbg5p_w.cc:35
multi1d< LatticeFermion > s(Ncb)
multi1d< LatticeColorMatrix > P
Definition: t_clover.cc:13