Go to the documentation of this file.
21 #ifndef __integration_hpp__
22 #define __integration_hpp__
178 #endif //__integration_hpp__
repository & owner_
The owner repository that all fields are storred in.
virtual bool correct(real dt, realx3PointField_D &y, realx3PointField_D &dy)=0
Correction/main integration step.
const word baseName_
The base name for integration.
integration & operator=(const integration &)=default
Copy assignment.
Base class for integrating the first order ODE (IVP)
const auto & pStruct() const
Const ref to pointStructure.
virtual bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y)=0
Set the initial values for new indices.
virtual bool predict(real dt, realx3PointField_D &y, realx3PointField_D &dy)=0
Prediction step in integration.
const word & baseName() const
Base name.
TypeInfo("integration")
Type info.
virtual bool correctPStruct(real dt, pointStructure &pStruct, realx3PointField_D &vel)=0
integration(const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField)
Construct from components.
repository & owner()
Ref to the owner repository.
virtual ~integration()=default
Destructor.
virtual void updateBoundariesSlaveToMasterIfRequested()=0
const pointStructure & pStruct_
A reference to pointStructure.
virtual bool needSetInitialVals() const =0
Check if the method requires any set initial vals.
virtual word method() const =0
return integration method
static uniquePtr< integration > create(const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField)
Create the polymorphic object based on inputs.
It holds two vectors of indecis on Host and Device.
create_vCtor(integration, word,(const word &baseName, pointStructure &pStruct, const word &method, const realx3Field_D &initialValField),(baseName, pStruct, method, initialValField))
Add a virtual constructor.