29#ifndef QCD_PLAQ_PLUS_RECTANGLE_ACTION_H
30#define QCD_PLAQ_PLUS_RECTANGLE_ACTION_H
85 virtual std::string
action_name(){
return "PlaqPlusRectangleAction";}
91 std::stringstream sstream;
108 RealD vol =
U.Grid()->gSites();
124 virtual void deriv(
const GaugeField &
U, GaugeField &dSdU) {
131 std::vector<GaugeLinkField> Umu (
Nd,grid);
132 for(
int mu=0;mu<
Nd;mu++){
135 std::vector<GaugeLinkField> RectStaple(
Nd,grid), Staple(
Nd,grid);
138 GaugeLinkField dSdU_mu(grid);
139 GaugeLinkField staple(grid);
141 for (
int mu=0; mu <
Nd; mu++){
142 dSdU_mu =
Ta(Umu[mu]*Staple[mu])*factor_p;
143 dSdU_mu = dSdU_mu +
Ta(Umu[mu]*RectStaple[mu])*factor_r;
void PokeIndex(Lattice< vobj > &lhs, const Lattice< decltype(peekIndex< Index >(vobj(), 0))> &rhs, int i)
auto PeekIndex(const Lattice< vobj > &lhs, int i) -> Lattice< decltype(peekIndex< Index >(vobj(), i))>
GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL")
#define NAMESPACE_BEGIN(A)
accelerator_inline iScalar< vtype > Ta(const iScalar< vtype > &r)
static INTERNAL_PRECISION U
Base class for all actions.
virtual RealD Sinitial(const GaugeField &U)
DBW2GaugeAction(RealD beta)
INHERIT_GIMPL_TYPES(Gimpl)
virtual std::string action_name()
Report the name of the action.
virtual std::string action_name()
Report the name of the action.
INHERIT_GIMPL_TYPES(Gimpl)
IwasakiGaugeAction(RealD beta)
virtual std::string LogParameters()
Print the parameters of the action.
virtual RealD S(const GaugeField &U)
virtual void deriv(const GaugeField &U, GaugeField &dSdU)
virtual std::string action_name()
Report the name of the action.
PlaqPlusRectangleAction(RealD b, RealD c)
Initialise the action with the relevant coefficients.
WilsonLoops< PeriodicGimplR >::StapleAndRectStapleAllWorkspace workspace
virtual void refresh(const GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
INHERIT_GIMPL_TYPES(Gimpl)
All attributes of the gauge implementation are available from the action. See GaugeImplTypes....
INHERIT_GIMPL_TYPES(Gimpl)
RBCGaugeAction(RealD beta, RealD c1)
virtual std::string action_name()
Report the name of the action.
SymanzikGaugeAction(RealD beta)
virtual std::string action_name()
Report the name of the action.
INHERIT_GIMPL_TYPES(Gimpl)
static RealD avgRectangle(const GaugeLorentz &Umu)
static RealD avgPlaquette(const GaugeLorentz &Umu)
static void StapleAndRectStapleAll(std::vector< GaugeMat > &Stap, std::vector< GaugeMat > &RectStap, const std::vector< GaugeMat > &U)