CHROMA
boundcond.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Base class for all boundary conditions
4  */
5 
6 #ifndef __boundcond_h__
7 #define __boundcond_h__
8 
9 #include "chromabase.h"
10 
11 
12 namespace Chroma
13 {
14  //! Base class for all boundary conditions
15  /*! @ingroup actions
16  */
17  template<typename P, typename Q>
18  class BoundCond
19  {
20  public:
21  //! Virtual destructor to help with cleanup;
22  virtual ~BoundCond() {}
23 
24  //! Apply the BC onto the coordinate fields in place
25  virtual void modify(Q& u) const = 0;
26 
27  //! Zero momenta field (in this case the force) in place on masked sites and links
28  virtual void zero(P& ds_u) const = 0;
29 
30  //! Says if there are fixed coordinates (links) within the lattice
31  virtual bool nontrivialP() const = 0;
32  };
33 
34 
35 }
36 
37 #endif
Primary include file for CHROMA library code.
Base class for all boundary conditions.
Definition: boundcond.h:19
virtual void zero(P &ds_u) const =0
Zero momenta field (in this case the force) in place on masked sites and links.
virtual ~BoundCond()
Virtual destructor to help with cleanup;.
Definition: boundcond.h:22
virtual bool nontrivialP() const =0
Says if there are fixed coordinates (links) within the lattice.
virtual void modify(Q &u) const =0
Apply the BC onto the coordinate fields in place.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
multi1d< LatticeColorMatrix > P
Definition: t_clover.cc:13