Base class for integrating the first order ODE (IVP) More...
Inheritance diagram for integration:
Collaboration diagram for integration:Public Member Functions | |
| TypeInfo ("integration") | |
| Type info. More... | |
| integration (const word &baseName, repository &owner, const pointStructure &pStruct, const word &method) | |
| Construct from components. More... | |
| integration (const integration &)=default | |
| Copy constructor. More... | |
| integration (integration &&)=default | |
| Move constructor. More... | |
| integration & | operator= (const integration &)=default |
| Copy assignment. More... | |
| integration & | operator= (integration &&)=default |
| Move assignment. More... | |
| virtual uniquePtr< integration > | clone () const =0 |
| Polymorphic copy/cloning. More... | |
| virtual | ~integration ()=default |
| Destructor. More... | |
| create_vCtor (integration, word,(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method),(baseName, owner, pStruct, method)) | |
| Add a virtual constructor. More... | |
| const auto & | pStruct () const |
| Const ref to pointStructure. More... | |
| const word & | baseName () const |
| Base name. More... | |
| repository & | owner () |
| Ref to the owner repository. More... | |
| virtual bool | predict (real dt, realx3Vector_D &y, realx3Vector_D &dy)=0 |
| Prediction step in integration. More... | |
| virtual bool | correct (real dt, realx3Vector_D &y, realx3Vector_D &dy)=0 |
| Correction/main integration step. More... | |
| virtual bool | setInitialVals (const int32IndexContainer &newIndices, const realx3Vector &y)=0 |
| Set the initial values for new indices. More... | |
| virtual bool | needSetInitialVals () const =0 |
| Check if the method requires any set initial vals. More... | |
Static Public Member Functions | |
| static uniquePtr< integration > | create (const word &baseName, repository &owner, const pointStructure &pStruct, const word &method) |
| Create the polymorphic object based on inputs. More... | |
Protected Attributes | |
| repository & | owner_ |
| The owner repository that all fields are storred in. More... | |
| const word | baseName_ |
| The base name for integration. More... | |
| const pointStructure & | pStruct_ |
| A reference to pointStructure. More... | |
Base class for integrating the first order ODE (IVP)
The ODE should be in the following form:
\[ \frac{dy}{dt} = f(y,t) \]
for example the equation of motion is in the following form:
\[ m\frac{d\vec{v}}{dt} = m\vec{g} + \sum \vec{f_c}(\vec{v},t) \]
The integration method can be either one-step or predictor-corrector type.
Definition at line 49 of file integration.hpp.
| integration | ( | const word & | baseName, |
| repository & | owner, | ||
| const pointStructure & | pStruct, | ||
| const word & | method | ||
| ) |
|
default |
Copy constructor.
|
default |
Move constructor.
|
virtualdefault |
Destructor.
| TypeInfo | ( | "integration" | ) |
Type info.
|
default |
Copy assignment.
|
default |
Move assignment.
|
pure virtual |
Polymorphic copy/cloning.
Implemented in AdamsBashforth5, AdamsBashforth4, AdamsBashforth3, AdamsMoulton5, AdamsMoulton4, AdamsMoulton3, and AdamsBashforth2.
| create_vCtor | ( | integration | , |
| word | , | ||
| (const word &baseName, repository &owner, const pointStructure &pStruct, const word &method) | , | ||
| (baseName, owner, pStruct, method) | |||
| ) |
Add a virtual constructor.
|
inline |
Const ref to pointStructure.
Definition at line 113 of file integration.hpp.
References integration::pStruct_.
Referenced by integration::create().
Here is the caller graph for this function:
|
inline |
Base name.
Definition at line 120 of file integration.hpp.
References integration::baseName_.
Referenced by integration::create().
Here is the caller graph for this function:
|
inline |
Ref to the owner repository.
Definition at line 127 of file integration.hpp.
References integration::owner_.
Referenced by integration::create().
Here is the caller graph for this function:
|
pure virtual |
Prediction step in integration.
Implemented in AdamsMoulton5, AdamsMoulton4, and AdamsMoulton3.
|
pure virtual |
Correction/main integration step.
Implemented in AdamsBashforth4, AdamsBashforth5, AdamsBashforth3, AdamsMoulton5, AdamsMoulton4, AdamsMoulton3, and AdamsBashforth2.
|
pure virtual |
Set the initial values for new indices.
Implemented in AdamsBashforth4, AdamsBashforth5, AdamsBashforth3, AdamsMoulton5, AdamsMoulton4, AdamsMoulton3, and AdamsBashforth2.
|
pure virtual |
Check if the method requires any set initial vals.
Implemented in AdamsBashforth4, AdamsBashforth5, AdamsBashforth3, AdamsMoulton5, AdamsMoulton4, AdamsMoulton3, and AdamsBashforth2.
|
static |
Create the polymorphic object based on inputs.
Definition at line 40 of file integration.cpp.
References integration::baseName(), fatalError, fatalExit, integration::owner(), pFlow::printKeys(), and integration::pStruct().
Referenced by sphereParticles::sphereParticles().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
The owner repository that all fields are storred in.
Definition at line 56 of file integration.hpp.
Referenced by integration::owner().
|
protected |
The base name for integration.
Definition at line 59 of file integration.hpp.
Referenced by integration::baseName().
|
protected |
A reference to pointStructure.
Definition at line 62 of file integration.hpp.
Referenced by integration::pStruct().