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 "AdamsBashforth5::correct",
101 static_cast<real>(1901.0 / 720.0) * d_dy[i]
102 -
static_cast<real>(2774.0 / 720.0) * d_history[i].dy1_
103 +
static_cast<real>(2616.0 / 720.0) * d_history[i].dy2_
104 -
static_cast<real>(1274.0 / 720.0) * d_history[i].dy3_
105 +
static_cast<real>( 251.0 / 720.0) * d_history[i].dy4_
107 d_history[i] = {d_dy[i] ,d_history[i].dy1_, d_history[i].dy2_, d_history[i].dy3_};
AdamsBashforth5(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Base class for integrating the first order ODE (IVP)
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
Set the initial values for new indices.
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.
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
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.
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
It holds two vectors of indecis on Host and Device.