Block-Structured AMR Software Framework
amrex::RungeKutta::detail Namespace Reference

Functions

template<typename MF >
void rk_update (MF &Unew, MF const &Uold, MF const &dUdt, Real dt)
 Unew = Uold + dUdt * dt. More...
 
template<typename MF >
void rk_update (MF &Unew, MF const &Uold, MF const &dUdt1, MF const &dUdt2, Real dt)
 Unew = Uold + (dUdt1 + dUdt2) * dt. More...
 
template<typename MF >
void rk2_update_2 (MF &Unew, MF const &Uold, MF const &dUdt, Real dt)
 Unew = (Uold+Unew)/2 + dUdt * dt/2. More...
 
template<typename MF >
void rk3_update_3 (MF &Unew, MF const &Uold, Array< MF, 3 > const &rkk, Real dt6)
 Unew = Uold + (k1 + k2 + 4*k3) * dt6, where dt6 = dt/6. More...
 
template<typename MF >
void rk4_update_4 (MF &Unew, MF const &Uold, Array< MF, 4 > const &rkk, Real dt6)
 Unew = Uold + (k1+k4+2*(k2+k3))*dt6, where dt6 = dt/6. More...
 

Function Documentation

◆ rk2_update_2()

template<typename MF >
void amrex::RungeKutta::detail::rk2_update_2 ( MF &  Unew,
MF const &  Uold,
MF const &  dUdt,
Real  dt 
)

Unew = (Uold+Unew)/2 + dUdt * dt/2.

◆ rk3_update_3()

template<typename MF >
void amrex::RungeKutta::detail::rk3_update_3 ( MF &  Unew,
MF const &  Uold,
Array< MF, 3 > const &  rkk,
Real  dt6 
)

Unew = Uold + (k1 + k2 + 4*k3) * dt6, where dt6 = dt/6.

◆ rk4_update_4()

template<typename MF >
void amrex::RungeKutta::detail::rk4_update_4 ( MF &  Unew,
MF const &  Uold,
Array< MF, 4 > const &  rkk,
Real  dt6 
)

Unew = Uold + (k1+k4+2*(k2+k3))*dt6, where dt6 = dt/6.

◆ rk_update() [1/2]

template<typename MF >
void amrex::RungeKutta::detail::rk_update ( MF &  Unew,
MF const &  Uold,
MF const &  dUdt,
Real  dt 
)

Unew = Uold + dUdt * dt.

◆ rk_update() [2/2]

template<typename MF >
void amrex::RungeKutta::detail::rk_update ( MF &  Unew,
MF const &  Uold,
MF const &  dUdt1,
MF const &  dUdt2,
Real  dt 
)

Unew = Uold + (dUdt1 + dUdt2) * dt.