36 #ifndef LagrangianDdtScheme_H
37 #define LagrangianDdtScheme_H
137 const bool instantaneousDdt
221 #define defineLagrangianDdtScheme(Type, nullArg) \
225 namespace Lagrangian \
227 typedef ddtScheme<Type> Type##DdtScheme; \
229 defineNamedTemplateTypeNameAndDebug(Type##DdtScheme, 0); \
231 defineTemplateRunTimeSelectionTable(Type##DdtScheme, Istream); \
236 #define makeLagrangianDdtScheme(Type, DdtSchemeType) \
240 namespace Lagrangian \
242 typedef ddtScheme<Type> Type##DdtScheme; \
244 namespace ddtSchemes \
246 typedef DdtSchemeType<Type> Type##DdtSchemeType; \
248 defineNamedTemplateTypeNameAndDebug(Type##DdtSchemeType, 0); \
250 addToRunTimeSelectionTable \
253 Type##DdtSchemeType, \
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Class containing Lagrangian geometry and topology.
Abstract base class for Lagrangian ddt schemes.
virtual tmp< LagrangianEqn< Type > > LagrangianmNoDdt(const LagrangianSubScalarField &deltaT, const dimensionSet &mDims, const LagrangianSubSubField< Type > &psi)=0
Return the no-time-derivative matrix.
virtual ~ddtScheme()
Destructor.
static tmp< ddtScheme< Type > > New(const LagrangianMesh &mesh, Istream &is)
Return a pointer to a new ddtScheme.
static tmp< LagrangianEqn< Type > > Lagrangianmddt0(const LagrangianSubScalarField &deltaT, const LagrangianSubSubField< Type > &psi)
Return the explicit/forward time-derivative matrix.
ddtScheme(const LagrangianMesh &mesh)
Construct from a mesh.
declareRunTimeSelectionTable(tmp, ddtScheme, Istream,(const LagrangianMesh &mesh, Istream &is),(mesh, is))
Declare run-time constructor selection tables.
static tmp< LagrangianEqn< Type > > Lagrangianmddt(const LagrangianSubScalarField &deltaT, const LagrangianSubSubField< Type > &psi)
Return the time-derivative matrix.
virtual tmp< LagrangianEqn< Type > > LagrangianmDdt(const LagrangianSubScalarField &deltaT, LagrangianSubSubField< Type > &psi)=0
Return the time-derivative matrix.
void operator=(const ddtScheme &)=delete
Disallow default bitwise assignment.
virtual bool LagrangianmInitDdt(const dimensionSet &mDims, const LagrangianSubSubField< Type > &psi, const bool instantaneousDdt)=0
Initialise time-derivative information.
virtual tmp< LagrangianSubField< Type > > LagrangiancDdt(const LagrangianSubSubField< Type > &psi)=0
Return the instantaneous time-derivative.
const LagrangianMesh & mesh_
Reference to the mesh.
TypeName("ddtScheme")
Runtime type information.
const LagrangianMesh & mesh() const
Return mesh reference.
Dimension set for the base types.
Reference counter for various OpenFOAM components.
A class for managing temporary objects.
const volScalarField & psi
Macros to ease declaration of run-time selection tables.