114 virtual const word&
type()
const = 0;
313#define makeFvDdtTypeScheme(SS, Type) \
314 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \
320 ddtScheme<Type>::addIstreamConstructorToTable<SS<Type>> \
321 add##SS##Type##IstreamConstructorToTable_; \
325#define makeFvDdtScheme(SS) \
327makeFvDdtTypeScheme(SS, scalar) \
328makeFvDdtTypeScheme(SS, vector) \
329makeFvDdtTypeScheme(SS, sphericalTensor) \
330makeFvDdtTypeScheme(SS, symmTensor) \
331makeFvDdtTypeScheme(SS, tensor) \
339tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr \
341 const volScalarField& U, \
342 const surfaceScalarField& Uf \
346 return surfaceScalarField::null(); \
350tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr \
352 const volScalarField& U, \
353 const surfaceScalarField& phi \
357 return surfaceScalarField::null(); \
361tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr \
363 const volScalarField& rho, \
364 const volScalarField& U, \
365 const surfaceScalarField& Uf \
369 return surfaceScalarField::null(); \
373tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr \
375 const volScalarField& rho, \
376 const volScalarField& U, \
377 const surfaceScalarField& phi \
381 return surfaceScalarField::null(); \
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Generic dimensioned Type class.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
static bool experimentalDdtCorr
Flag to use experimental ddtCorr from org version Default is off for backwards compatibility.
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const volScalarField &, const GeometricField< Type, fvPatchField, volMesh > &)=0
ddtScheme(const ddtScheme &)=delete
No copy construct.
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const dimensionedScalar &, const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual ~ddtScheme()=default
Destructor.
tmp< surfaceScalarField > fvcDdtPhiCoeff(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const GeometricField< Type, fvPatchField, volMesh > &)=0
static tmp< ddtScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new ddtScheme created on freestore.
virtual tmp< fluxFieldType > fvcDdtPhiCorr(const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)=0
virtual tmp< fvMatrix< Type > > fvmDdt(const dimensionedScalar &, const GeometricField< Type, fvPatchField, volMesh > &)=0
ddtScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
declareRunTimeSelectionTable(tmp, ddtScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
virtual tmp< surfaceScalarField > meshPhi(const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual tmp< fluxFieldType > fvcDdtUfCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)=0
virtual tmp< fvMatrix< Type > > fvmDdt(const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual tmp< fvMatrix< Type > > fvmDdt(const volScalarField &, const GeometricField< Type, fvPatchField, volMesh > &)=0
tmp< surfaceScalarField > fvcDdtPhiCoeffExperimental(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
const fvMesh & mesh() const
tmp< surfaceScalarField > fvcDdtPhiCoeff(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr, const volScalarField &rho)
void operator=(const ddtScheme &)=delete
No copy assignment.
virtual tmp< fvMatrix< Type > > fvmDdt(const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &vf)=0
virtual tmp< fluxFieldType > fvcDdtPhiCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)=0
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const dimensioned< Type > &)=0
virtual tmp< fluxFieldType > fvcDdtUfCorr(const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)=0
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > fvcDdt(const GeometricField< Type, fvsPatchField, surfaceMesh > &)
tmp< surfaceScalarField > fvcDdtPhiCoeff(const GeometricField< Type, fvPatchField, volMesh > &rhoU, const fluxFieldType &phi, const volScalarField &rho)
tmp< surfaceScalarField > fvcDdtPhiCoeff(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
virtual const word & type() const =0
Runtime type information.
ddtScheme(const fvMesh &mesh)
Construct from mesh.
GeometricField< typename flux< Type >::type, fvsPatchField, surfaceMesh > fluxFieldType
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
typeOfRank< typenamepTraits< vector >::cmptType, direction(pTraits< vector >::rank)+direction(pTraits< Type >::rank) -2 >::type type
constexpr refCount() noexcept
Default construct, initializing count to 0.
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
autoPtr< surfaceVectorField > Uf
Namespace for finite-volume.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...
Forwards and collection of common volume field types.