Base class for integrating the first order ODE (IVP) More...
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().
|
inline |
Base name.
Definition at line 120 of file integration.hpp.
References integration::baseName_.
Referenced by integration::create().
|
inline |
Ref to the owner repository.
Definition at line 127 of file integration.hpp.
References integration::owner_.
Referenced by integration::create().
|
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().
|
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().