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) \ 327 makeFvDdtTypeScheme(SS, scalar) \ 328 makeFvDdtTypeScheme(SS, vector) \ 329 makeFvDdtTypeScheme(SS, sphericalTensor) \ 330 makeFvDdtTypeScheme(SS, symmTensor) \ 331 makeFvDdtTypeScheme(SS, tensor) \ 339 tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr \ 341 const volScalarField& U, \ 342 const surfaceScalarField& Uf \ 346 return surfaceScalarField::null(); \ 350 tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr \ 352 const volScalarField& U, \ 353 const surfaceScalarField& phi \ 357 return surfaceScalarField::null(); \ 361 tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr \ 363 const volScalarField& rho, \ 364 const volScalarField& U, \ 365 const surfaceScalarField& Uf \ 369 return surfaceScalarField::null(); \ 373 tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr \ 375 const volScalarField& rho, \ 376 const volScalarField& U, \ 377 const surfaceScalarField& phi \ 381 return surfaceScalarField::null(); \ virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const dimensioned< Type > &)=0
void operator=(const ddtScheme &)=delete
No copy assignment.
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< fluxFieldType > fvcDdtUfCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)=0
Reference counter for various OpenFOAM components.
Forwards and collection of common volume field types.
virtual tmp< fvMatrix< Type > > fvmDdt(const GeometricField< Type, fvPatchField, volMesh > &)=0
declareRunTimeSelectionTable(tmp, ddtScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
GeometricField< typename flux< Type >::type, fvsPatchField, surfaceMesh > fluxFieldType
ddtScheme(const ddtScheme &)=delete
No copy construct.
Generic GeometricField class.
Generic dimensioned Type class.
Abstract base class for ddt schemes.
virtual tmp< fluxFieldType > fvcDdtPhiCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)=0
tmp< surfaceScalarField > fvcDdtPhiCoeffExperimental(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
const fvMesh & mesh() const
Return mesh reference.
A class for handling words, derived from Foam::string.
static bool experimentalDdtCorr
Flag to use experimental ddtCorr from org version Default is off for backwards compatibility.
autoPtr< surfaceVectorField > Uf
virtual tmp< surfaceScalarField > meshPhi(const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual const word & type() const =0
Runtime type information.
scalar ddtPhiCoeff_
Input for fvcDdtPhiCoeff.
tmp< surfaceScalarField > fvcDdtPhiCoeff(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
static tmp< ddtScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new ddtScheme created on freestore.
Mesh data needed to do the Finite Volume discretisation.
Macros to ease declaration of run-time selection tables.
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
typeOfRank< typename pTraits< vector >::cmptType, direction(pTraits< vector >::rank)+direction(pTraits< Type >::rank) - 2 >::type type
virtual ~ddtScheme()=default
Destructor.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Non-templated base class for ddt schemes.