Go to the documentation of this file.
39 objectFile::READ_IF_PRESENT,
40 objectFile::WRITE_ALWAYS),
67 return intAll(dt, y, dy, this->
pStruct().activeRange());
71 return intRange(dt, y, dy, this->
pStruct().activePointsMaskD());
93 auto d_dy1= dy1_.deviceVectorAll();
96 "AdamsBashforth2::correct",
99 d_y[i] += dt*(
static_cast<real>(3.0 / 2.0) * d_dy[i] -
static_cast<real>(1.0 / 2.0) * d_dy1[i]);
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
Correction/main integration step.
Base class for integrating the first order ODE (IVP)
T & emplaceObject(const objectFile &objf, Args &&... args)
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
Set the initial values for new indices.
word baseName(const word &w, char sep='.')
word groupNames(const word &bw, const word &tw, char sep='.')
bool intAll(real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng)
Integrate on all points in the active range.
AdamsBashforth2(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Construct from components.
INLINE_FUNCTION_H viewType & deviceVectorAll()
Kokkos::RangePolicy< DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< int32 > > rpIntegration
Range policy for integration kernel (alias)
bool predict(real UNUSED(dt), realx3Vector_D &UNUSED(y), realx3Vector_D &UNUSED(dy)) override