Fifth order Adams-Bashforth integration method for solving ODE. More...
Public Member Functions | |
TypeInfo ("AdamsBashforth5") | |
Type info. More... | |
AdamsBashforth5 (const word &baseName, repository &owner, const pointStructure &pStruct, const word &method) | |
uniquePtr< integration > | clone () const override |
virtual | ~AdamsBashforth5 ()=default |
add_vCtor (integration, AdamsBashforth5, word) | |
Add this to the virtual constructor table. More... | |
bool | predict (real UNUSED(dt), realx3Vector_D &UNUSED(y), realx3Vector_D &UNUSED(dy)) override |
bool | correct (real dt, realx3Vector_D &y, realx3Vector_D &dy) override |
bool | setInitialVals (const int32IndexContainer &newIndices, const realx3Vector &y) override |
Set the initial values for new indices. More... | |
bool | needSetInitialVals () const override |
Check if the method requires any set initial vals. More... | |
bool | intAll (real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng) |
Integrate on all points in the active range. More... | |
template<typename activeFunctor > | |
bool | intRange (real dt, realx3Vector_D &y, realx3Vector_D &dy, activeFunctor activeP) |
Integrate on active points in the active range. More... | |
![]() | |
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 |
Protected Types | |
using | rpIntegration = Kokkos::RangePolicy< DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< int32 > > |
Range policy for integration kernel. More... | |
Protected Attributes | |
pointField< VectorSingle, AB5History > & | history_ |
Integration history. More... | |
Additional Inherited Members | |
![]() | |
static uniquePtr< integration > | create (const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField) |
Create the polymorphic object based on inputs. More... | |
Fifth order Adams-Bashforth integration method for solving ODE.
This is a one-step integration method and does not have prediction step.
Definition at line 79 of file AdamsBashforth5.hpp.
|
protected |
Range policy for integration kernel.
Definition at line 93 of file AdamsBashforth5.hpp.
AdamsBashforth5 | ( | const word & | baseName, |
repository & | owner, | ||
const pointStructure & | pStruct, | ||
const word & | method | ||
) |
Definition at line 26 of file AdamsBashforth5.cpp.
References pFlow::zero3.
|
virtualdefault |
TypeInfo | ( | "AdamsBashforth5" | ) |
Type info.
|
inlineoverride |
Definition at line 108 of file AdamsBashforth5.hpp.
add_vCtor | ( | integration | , |
AdamsBashforth5 | , | ||
word | |||
) |
Add this to the virtual constructor table.
|
override |
Definition at line 49 of file AdamsBashforth5.cpp.
|
override |
Definition at line 60 of file AdamsBashforth5.cpp.
References pStruct.
|
overridevirtual |
Set the initial values for new indices.
Implements integration.
Definition at line 79 of file AdamsBashforth5.cpp.
|
inlineoverridevirtual |
Check if the method requires any set initial vals.
Implements integration.
Definition at line 138 of file AdamsBashforth5.hpp.
bool intAll | ( | real | dt, |
realx3Vector_D & | y, | ||
realx3Vector_D & | dy, | ||
range | activeRng | ||
) |
Integrate on all points in the active range.
Definition at line 86 of file AdamsBashforth5.cpp.
References VectorSingle< T, MemorySpace >::deviceViewAll(), and LAMBDA_HD.
bool intRange | ( | real | dt, |
realx3Vector_D & | y, | ||
realx3Vector_D & | dy, | ||
activeFunctor | activeP | ||
) |
Integrate on active points in the active range.
Definition at line 162 of file AdamsBashforth5.hpp.
References internalField< T, void >::deviceViewAll(), VectorSingle< T, MemorySpace >::deviceViewAll(), and LAMBDA_HD.
|
protected |
Integration history.
Definition at line 86 of file AdamsBashforth5.hpp.