33#ifndef SCALAR_ACTION_H
34#define SCALAR_ACTION_H
51 std::stringstream sstream;
66 virtual void deriv(
const Field &p,
72 for (
int mu = 1; mu <
Nd; mu++) tmp -=
Cshift(p, mu, -1) +
Cshift(p, mu, 1);
auto Cshift(const Expression &expr, int dim, int shift) -> decltype(closure(expr))
GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL")
#define NAMESPACE_BEGIN(A)
static INTERNAL_PRECISION U
Base class for all actions.
INHERIT_FIELD_TYPES(Impl)
virtual std::string action_name()
Report the name of the action.
virtual void deriv(const Field &p, Field &force)
virtual RealD S(const Field &p)
virtual std::string LogParameters()
Print the parameters of the action.
virtual void refresh(const Field &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
ScalarAction(RealD ms, RealD l)
static void phisquared(typename Impl::Field &fsq, const typename Impl::Field &f)
static RealD sumphisquared(const typename Impl::Field &f)
static RealD sumphider(const typename Impl::Field &f)
static RealD sumphifourth(const typename Impl::Field &f)