Go to the documentation of this file.
21 #ifndef __AdamsBashforth5_hpp__
22 #define __AdamsBashforth5_hpp__
88 Kokkos::Schedule<Kokkos::Static>,
89 Kokkos::IndexType<int32>
134 return makeUnique<AdamsBashforth5>(*
this);
142 template<
typename activeFunctor>
146 activeFunctor activeP );
151 template<
typename activeFunctor>
156 activeFunctor activeP )
160 auto d_history = history_.deviceVectorAll();
163 Kokkos::parallel_for(
164 "AdamsBashforth5::correct",
171 static_cast<real>(1901.0 / 720.0) * d_dy[i]
172 -
static_cast<real>(2774.0 / 720.0) * d_history[i].dy1_
173 +
static_cast<real>(2616.0 / 720.0) * d_history[i].dy2_
174 -
static_cast<real>(1274.0 / 720.0) * d_history[i].dy3_
175 +
static_cast<real>( 251.0 / 720.0) * d_history[i].dy4_
177 d_history[i] = {d_dy[i] ,d_history[i].dy1_, d_history[i].dy2_, d_history[i].dy3_};
187 #endif //__integration_hpp__
bool readBegin(const char *funcName)
add_vCtor(integration, AdamsBashforth5, word)
AdamsBashforth5(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
const auto & pStruct() const
bool readEnd(const char *funcName)
Kokkos::DefaultExecutionSpace DefaultExecutionSpace
const word & baseName() const
HistoryFieldType & history_
virtual bool check(const char *operation) const
bool intAll(real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng)
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
INLINE_FUNCTION iIstream & operator>>(iIstream &str, AB3History &ab3)
@ END_LIST
End list [isseparator].
uniquePtr< integration > clone() const override
bool intRange(real dt, realx3Vector_D &y, realx3Vector_D &dy, activeFunctor activeP)
range activeRange() const
INLINE_FUNCTION iOstream & operator<<(iOstream &str, const AB3History &ab3)
virtual ~AdamsBashforth5()=default
@ BEGIN_LIST
Begin list [isseparator].
TypeInfo("AdamsBashforth5")
INLINE_FUNCTION_H viewType & deviceVectorAll()
Kokkos::RangePolicy< DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< int32 > > rpIntegration
bool predict(real UNUSED(dt), realx3Vector_D &UNUSED(y), realx3Vector_D &UNUSED(dy)) override
bool needSetInitialVals() const override