36 #ifndef LagrangianDdtScheme_H
37 #define LagrangianDdtScheme_H
139 const bool instantaneousDdt
235 #define defineLagrangianDdtScheme(Type, nullArg) \
239 namespace Lagrangian \
241 typedef ddtScheme<Type> Type##DdtScheme; \
243 defineNamedTemplateTypeNameAndDebug(Type##DdtScheme, 0); \
245 defineTemplateRunTimeSelectionTable(Type##DdtScheme, Istream); \
250 #define makeLagrangianDdtScheme(Type, DdtSchemeType) \
254 namespace Lagrangian \
256 typedef ddtScheme<Type> Type##DdtScheme; \
258 namespace ddtSchemes \
260 typedef DdtSchemeType<Type> Type##DdtSchemeType; \
262 defineNamedTemplateTypeNameAndDebug(Type##DdtSchemeType, 0); \
264 addToRunTimeSelectionTable \
267 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 containing higher-order.
virtual ~ddtScheme()
Destructor.
static tmp< ddtScheme< Type > > New(const LagrangianMesh &mesh, Istream &is)
Return a pointer to a new ddtScheme.
static tmp< LagrangianEqn< Type > > Lagrangianmddt(const LagrangianSubSubField< Type > &psi)
Return a Euler implicit 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< LagrangianSubField< Type > > LagrangiancdeltaTddt0(const LagrangianSubSubField< Type > &psi)
Return the Euler explicit/forward time-derivative multiplied by the.
virtual tmp< LagrangianEqn< Type > > LagrangianmDdt(const LagrangianSubScalarField &deltaT, LagrangianSubSubField< Type > &psi)=0
Return the time-derivative matrix.
static tmp< LagrangianEqn< Type > > Lagrangianmddt0(const LagrangianSubSubField< Type > &psi)
Return a Euler explicit/forward 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. Registers fields used to.
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.