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 "AdamsBashforth4::correct",
101 static_cast<real>(55.0 / 24.0) * d_dy[i]
102 -
static_cast<real>(59.0 / 24.0) * d_history[i].dy1_
103 +
static_cast<real>(37.0 / 24.0) * d_history[i].dy2_
104 -
static_cast<real>( 9.0 / 24.0) * d_history[i].dy3_
106 d_history[i].dy3_ = d_history[i].dy2_;
107 d_history[i].dy2_ = d_history[i].dy1_;
108 d_history[i].dy1_ = d_dy[i];
Base class for integrating the first order ODE (IVP)
word baseName(const word &w, char sep='.')
Find the base in a group separated by "." and return it.
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
INLINE_FUNCTION_H auto & deviceViewAll()
Device view range [0,capcity)
AdamsBashforth4(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Construct from components.
word groupNames(const word &bw, const word &tw, char sep='.')
Group words and output bw.tw.
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
Set the initial values for new indices.
bool intAll(real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng)
Integrate on all points in the active range.
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
It holds two vectors of indecis on Host and Device.