Go to the documentation of this file.
39 objectFile::READ_IF_PRESENT,
40 objectFile::WRITE_ALWAYS),
69 return intAll(dt, y, dy, this->
pStruct().activeRange());
73 return intRange(dt, y, dy, this->
pStruct().activePointsMaskD());
94 auto d_history = history_.deviceViewAll();
97 "AdamsBashforth3::correct",
101 d_y[i] += dt*(
static_cast<real>(23.0 / 12.0) * ldy
102 -
static_cast<real>(16.0 / 12.0) * d_history[i].dy1_
103 +
static_cast<real>(5.0 / 12.0) * d_history[i].dy2_);
104 d_history[i] = {ldy ,d_history[i].dy1_};
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
Set the initial values for new indices.
Kokkos::RangePolicy< DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< int32 > > rpIntegration
Range policy for integration kernel.
bool predict(real UNUSED(dt), realx3Vector_D &UNUSED(y), realx3Vector_D &UNUSED(dy)) override
Base class for integrating the first order ODE (IVP)
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
AdamsBashforth3(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Construct from components.
word baseName(const word &w, char sep='.')
Find the base in a group separated by "." and return it.
bool intAll(real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng)
Integrate on all points in the active range.
INLINE_FUNCTION_H auto & deviceViewAll()
Device view range [0,capcity)
word groupNames(const word &bw, const word &tw, char sep='.')
Group words and output bw.tw.
It holds two vectors of indecis on Host and Device.