Base class for integrating the first order ODE (IVP) More...
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().
|
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().