75#ifndef integrationScheme_H
76#define integrationScheme_H
169 virtual scalar
dtEff(
const scalar dt,
const scalar Beta)
const = 0;
172 virtual scalar
sumDtEff(
const scalar dt,
const scalar Beta)
const = 0;
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions.
Type partialDelta(const Type &phi, const scalar dt, const Type &Alpha, const scalar Beta, const Type &alphai, const scalar betai) const
Perform a part of the integration.
declareRunTimeSelectionTable(autoPtr, integrationScheme, word,(),())
Declare runtime constructor selection table.
virtual ~integrationScheme()
Destructor.
static autoPtr< integrationScheme > New(const word &phiName, const dictionary &dict)
Select an integration scheme.
virtual scalar sumDtEff(const scalar dt, const scalar Beta) const =0
Return the integral of the effective time step.
integrationScheme()
Construct.
virtual autoPtr< integrationScheme > clone() const =0
Construct and return clone.
TypeName("integrationScheme")
Runtime type information.
static Type explicitDelta(const Type &phi, const scalar dtEff, const Type &Alpha, const scalar Beta)
Perform the integration explicitly.
virtual scalar dtEff(const scalar dt, const scalar Beta) const =0
Return the integration effective time step.
A class for handling words, derived from Foam::string.
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)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.