Go to the documentation of this file.
21 #ifndef __AdamsBashforth2_hpp__
22 #define __AdamsBashforth2_hpp__
42 Kokkos::Schedule<Kokkos::Static>,
43 Kokkos::IndexType<int32>
82 return makeUnique<AdamsBashforth2>(*
this);
87 template<
typename activeFunctor>
92 template<
typename activeFunctor>
97 activeFunctor activeP )
102 auto d_dy1= dy1_.deviceVectorAll();
105 Kokkos::parallel_for(
106 "AdamsBashforth2::correct",
111 d_y[i] += dt*(
static_cast<real>(3.0 / 2.0) * d_dy[i] -
static_cast<real>(1.0 / 2.0) * d_dy1[i]);
123 #endif //__integration_hpp__
bool needSetInitialVals() const override
realx3PointField_D & dy1_
bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy) override
uniquePtr< integration > clone() const override
bool intRange(real dt, realx3Vector_D &y, realx3Vector_D &dy, activeFunctor activeP)
virtual ~AdamsBashforth2()=default
const auto & pStruct() const
Kokkos::DefaultExecutionSpace DefaultExecutionSpace
bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y) override
const word & baseName() const
range activeRange() const
bool intAll(real dt, realx3Vector_D &y, realx3Vector_D &dy, range activeRng)
AdamsBashforth2(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
TypeInfo("AdamsBashforth2")
INLINE_FUNCTION_H viewType & deviceVectorAll()
Kokkos::RangePolicy< DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< int32 > > rpIntegration
add_vCtor(integration, AdamsBashforth2, word)
bool predict(real UNUSED(dt), realx3Vector_D &UNUSED(y), realx3Vector_D &UNUSED(dy)) override