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, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField) | |
| 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 | ~integration ()=default |
| Destructor. More... | |
| create_vCtor (integration, word,(const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField),(baseName, pStruct, method, initialValField)) | |
| 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 void | updateBoundariesSlaveToMasterIfRequested ()=0 |
| virtual word | method () const =0 |
| return integration method More... | |
| virtual bool | predict (real dt, realx3PointField_D &y, realx3PointField_D &dy)=0 |
| Prediction step in integration. More... | |
| virtual bool | predict (real dt, realx3Field_D &y, realx3PointField_D &dy)=0 |
| virtual bool | correct (real dt, realx3PointField_D &y, realx3PointField_D &dy)=0 |
| Correction/main integration step. More... | |
| virtual bool | correctPStruct (real dt, pointStructure &pStruct, realx3PointField_D &vel)=0 |
| 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, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField) |
| Create the polymorphic object based on inputs. More... | |
Private Attributes | |
| repository & | owner_ |
| The owner repository that all fields are storred in. More... | |
| const pointStructure & | pStruct_ |
| A reference to pointStructure. More... | |
| const word | baseName_ |
| The base name for integration. 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 51 of file integration.hpp.
| integration | ( | const word & | baseName, |
| pointStructure & | pStruct, | ||
| const word & | method, | ||
| const realx3Field_D & | initialValField | ||
| ) |
Construct from components.
Definition at line 26 of file integration.cpp.
|
default |
Copy constructor.
|
default |
Move constructor.
|
virtualdefault |
Destructor.
| TypeInfo | ( | "integration" | ) |
Type info.
|
default |
Copy assignment.
|
default |
Move assignment.
| create_vCtor | ( | integration | , |
| word | , | ||
| (const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField) | , | ||
| (baseName, pStruct, method, initialValField) | |||
| ) |
Add a virtual constructor.
|
inline |
Const ref to pointStructure.
Definition at line 115 of file integration.hpp.
References integration::pStruct_.
|
inline |
|
inline |
Ref to the owner repository.
Definition at line 129 of file integration.hpp.
References integration::owner_.
|
pure virtual |
Implemented in AdamsBashforth2.
|
pure virtual |
return integration method
Implemented in AdamsBashforth2.
|
pure virtual |
Prediction step in integration.
|
pure virtual |
Implemented in AdamsBashforth2.
|
pure virtual |
Correction/main integration step.
Implemented in AdamsBashforth2.
|
pure virtual |
Implemented in 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 41 of file integration.cpp.
References pFlow::baseName(), fatalError, fatalExit, pFlow::printKeys(), and pStruct.
Referenced by grainParticles::grainParticles(), and sphereParticles::sphereParticles().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
The owner repository that all fields are storred in.
Definition at line 58 of file integration.hpp.
Referenced by integration::owner().
|
private |
A reference to pointStructure.
Definition at line 61 of file integration.hpp.
Referenced by integration::pStruct().
|
private |
The base name for integration.
Definition at line 64 of file integration.hpp.
Referenced by integration::baseName().