Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions. More...
#include <integrationScheme.H>

Public Member Functions | |
| TypeName ("integrationScheme") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, integrationScheme, word,(),()) | |
| Declare runtime constructor selection table. | |
| integrationScheme () | |
| Construct. | |
| virtual autoPtr< integrationScheme > | clone () const =0 |
| Construct and return clone. | |
| virtual | ~integrationScheme () |
| Destructor. | |
| template<class Type> | |
| Type | delta (const Type &phi, const scalar dt, const Type &Alpha, const scalar Beta) const |
| Perform the integration. | |
| template<class Type> | |
| 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. | |
| virtual scalar | dtEff (const scalar dt, const scalar Beta) const =0 |
| Return the integration effective time step. | |
| virtual scalar | sumDtEff (const scalar dt, const scalar Beta) const =0 |
| Return the integral of the effective time step. | |
Static Public Member Functions | |
| static autoPtr< integrationScheme > | New (const word &phiName, const dictionary &dict) |
| Select an integration scheme. | |
| template<class Type> | |
| static Type | explicitDelta (const Type &phi, const scalar dtEff, const Type &Alpha, const scalar Beta) |
| Perform the integration explicitly. | |
Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions.
![\[ \frac{d \phi}{d t} = A - B \phi
\]](form_564.png)
The methods are defined in terms of the effective time-step 
![\[ \Delta t_e = f(\Delta t, B)
\]](form_566.png)
![\[ \Delta \phi = (A - B \phi^n) \Delta t_e
\]](form_567.png)
This class also facilitates integration in stages. If the explicit and implicit coefficients, 



![\[ \frac{d \phi_i}{d t} = \alpha_i - \beta_i \phi
\]](form_572.png)
![\[ \Delta \phi_i = \alpha_i \Delta t -
\beta_i \int_0^{\Delta t} \phi d t
\]](form_573.png)
![\[ \Delta \phi_i = (\alpha_i - \beta_i \phi^n) \Delta t -
(A - B \phi^n) \int_0^{\Delta t} t_e dt
\]](form_574.png)
These partial calculations are defined in terms of the integral of the effective time-step, 
Definition at line 86 of file integrationScheme.H.
| integrationScheme | ( | ) |
Construct.
Definition at line 33 of file integrationScheme.C.
Referenced by declareRunTimeSelectionTable().

|
virtual |
Destructor.
Definition at line 39 of file integrationScheme.C.
| TypeName | ( | "integrationScheme" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| integrationScheme | , | ||
| word | , | ||
| () | , | ||
| () | ) |
Declare runtime constructor selection table.
References integrationScheme().

|
pure virtual |
Construct and return clone.
Implemented in analytical, and Euler.
References dict, dtEff(), and phi.

|
static |
Select an integration scheme.
Definition at line 27 of file integrationSchemeNew.C.
References Foam::abort(), dict, Foam::endl(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::Info.
Referenced by KinematicCloud< CloudType >::setModels(), and ThermoCloud< CloudType >::setModels().


|
inlinestatic |
Perform the integration explicitly.
Definition at line 26 of file integrationSchemeTemplates.C.
Referenced by delta(), and partialDelta().


|
inline |
Perform the integration.
Definition at line 39 of file integrationSchemeTemplates.C.
References dtEff(), explicitDelta(), and phi.

|
inline |
Perform a part of the integration.
Definition at line 52 of file integrationSchemeTemplates.C.
References explicitDelta(), phi, and sumDtEff().

|
pure virtual |
Return the integration effective time step.
Implemented in analytical, and Euler.
Referenced by clone(), delta(), and explicitDelta().

|
pure virtual |
Return the integral of the effective time step.
Implemented in analytical, and Euler.
Referenced by partialDelta().
