CHROMA
|
Base class for all gauge action boundary conditions. More...
#include <gaugebc.h>
Public Member Functions | |
virtual | ~GaugeBC () |
Virtual destructor to help with cleanup;. More... | |
virtual void | modify (Q &u) const =0 |
Apply the BC onto the U fields in place. More... | |
virtual void | zero (P &ds_u) const =0 |
Zero some gauge-like field in place on the masked links. More... | |
virtual bool | nontrivialP () const =0 |
Says if there are fixed links within the lattice. More... | |
![]() | |
virtual | ~BoundCond () |
Virtual destructor to help with cleanup;. More... | |
Base class for all gauge action boundary conditions.
NOTE: this class is specifically using LatticeColorMatrix, but probably should generalized to a template. The point is that coordinates and momenta within HMC are general. The FermAct classes have a param type (T,P) = (type of fermion, type of conjugate momenta) the latter part used in the deriv stuff. Here, the "zero" could be on any conjugate momenta. The modify, however, is usually on the coordinates which is often the LatticeColorMatrx. The FermBC has a template param for the fermion type that is used in the "modifyF", but is fixed for a LatticeColorMatrix in the "modifyU".
|
inlinevirtual |
|
pure virtual |
Apply the BC onto the U fields in place.
Implements Chroma::BoundCond< P, Q >.
Implemented in Chroma::SimpleGaugeBC< P, Q >, Chroma::PeriodicGaugeBC< P, Q >, Chroma::SchrGaugeBC, and Chroma::SchrSFZeroGaugeBC.
Referenced by Chroma::mciter().
|
pure virtual |
Says if there are fixed links within the lattice.
Implements Chroma::BoundCond< P, Q >.
Implemented in Chroma::SimpleGaugeBC< P, Q >, Chroma::SchrGaugeBC, and Chroma::PeriodicGaugeBC< P, Q >.
|
pure virtual |
Zero some gauge-like field in place on the masked links.
Implements Chroma::BoundCond< P, Q >.
Implemented in Chroma::SimpleGaugeBC< P, Q >, Chroma::PeriodicGaugeBC< P, Q >, Chroma::SchrGaugeBC, and Chroma::SchrSFZeroGaugeBC.
Referenced by Chroma::AnisoSymSpatialGaugeAct::deriv(), Chroma::AnisoSymTemporalGaugeAct::deriv(), Chroma::CharacterGaugeActEnv::GaugeAct::deriv(), Chroma::PgGaugeAct::deriv(), Chroma::PlaqGaugeAct::deriv(), Chroma::PlaqPlusAdjPowerGaugeActEnv::GaugeAct::deriv(), Chroma::PlaqPlusAdjointGaugeActEnv::GaugeAct::deriv(), Chroma::RectGaugeAct::deriv(), Chroma::SFPlaqPlusAdjointGaugeActEnv::GaugeAct::deriv(), Chroma::ConstrainedPlaqGaugeActEnv::GaugeAct::derivPlaqFun(), Chroma::PlaqPlusPlaqPowerGaugeActEnv::GaugeAct::derivPlaqFun(), Chroma::PlaqPlusTwoPlaqGaugeActEnv::GaugeAct::derivPlaqFun(), Chroma::SFPlaqPlusTwoPlaqGaugeActEnv::GaugeAct::derivPlaqFun(), Chroma::ConstrainedPlaqGaugeActEnv::GaugeAct::derivPlaqTwo(), Chroma::PlaqPlusPlaqPowerGaugeActEnv::GaugeAct::derivPlaqTwo(), Chroma::PlaqPlusTwoPlaqGaugeActEnv::GaugeAct::derivPlaqTwo(), Chroma::SFPlaqPlusTwoPlaqGaugeActEnv::GaugeAct::derivPlaqTwo(), Chroma::RectGaugeAct::derivSpatial(), Chroma::PlaqGaugeAct::derivSpatial(), Chroma::RectGaugeAct::derivTemporal(), and Chroma::PlaqGaugeAct::derivTemporal().