Chombo + EB
3.2
|
#include <RK4DenseOutput.H>
Public Member Functions | |
RK4DenseOutput () | |
void | define (const Soln &a_state, Real a_dt, bool a_denseOutput=false) |
void | advance (Real a_time, Soln &a_state) |
void | denseOutputCoefs (Vector< Rhs *> &a_interpCoefs) |
void | resetDt (Real a_dt) |
void | start0end1 (bool a_start0, bool a_end1) |
EXOP & | getEXOP () |
bool | isDefined () const |
bool | hasDenseOutput () const |
Static Public Attributes | |
static const int | s_nStages = 4 |
Runge-Kutta coefficients. More... | |
static const Real | s_c [s_nStages] = { 0.0, 0.5, 0.5, 1.0 } |
static const Real | s_a [s_nStages][s_nStages] |
static const Real | s_b [s_nStages] |
static const int | s_nDenseCoefs = 3 |
static const Real | s_bstar [s_nDenseCoefs][s_nStages] |
Protected Attributes | |
bool | m_isDefined |
bool | m_denseOutput |
bool | m_hasDenseOutput |
Real | m_dt |
Real | m_time |
Soln | m_phi [s_nStages] |
Rhs | m_rhs |
Rhs | m_denseCoefs [s_nDenseCoefs] |
Rhs | m_kE |
EXOP | m_opEx |
This is a standard RK4 implementation that also includes dense output coefficients
|
inline |
References RK4DenseOutput< Soln, Rhs, EXOP >::advance(), RK4DenseOutput< Soln, Rhs, EXOP >::define(), RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs(), RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP(), RK4DenseOutput< Soln, Rhs, EXOP >::m_isDefined, RK4DenseOutput< Soln, Rhs, EXOP >::resetDt(), and RK4DenseOutput< Soln, Rhs, EXOP >::start0end1().
void RK4DenseOutput< Soln, Rhs, EXOP >::define | ( | const Soln & | a_state, |
Real | a_dt, | ||
bool | a_denseOutput = false |
||
) |
References CH_TIMERS, RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP(), RK4DenseOutput< Soln, Rhs, EXOP >::m_denseCoefs, RK4DenseOutput< Soln, Rhs, EXOP >::m_denseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_dt, RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_isDefined, RK4DenseOutput< Soln, Rhs, EXOP >::m_kE, RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx, RK4DenseOutput< Soln, Rhs, EXOP >::m_phi, RK4DenseOutput< Soln, Rhs, EXOP >::m_rhs, RK4DenseOutput< Soln, Rhs, EXOP >::s_nDenseCoefs, and RK4DenseOutput< Soln, Rhs, EXOP >::s_nStages.
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput().
void RK4DenseOutput< Soln, Rhs, EXOP >::advance | ( | Real | a_time, |
Soln & | a_state | ||
) |
References CH_assert, CH_START, CH_STOP, CH_TIMER, CH_TIMERS, RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs(), RK4DenseOutput< Soln, Rhs, EXOP >::isDefined(), RK4DenseOutput< Soln, Rhs, EXOP >::m_denseCoefs, RK4DenseOutput< Soln, Rhs, EXOP >::m_denseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_dt, RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_kE, RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx, RK4DenseOutput< Soln, Rhs, EXOP >::m_phi, RK4DenseOutput< Soln, Rhs, EXOP >::m_rhs, RK4DenseOutput< Soln, Rhs, EXOP >::m_time, RK4DenseOutput< Soln, Rhs, EXOP >::s_a, RK4DenseOutput< Soln, Rhs, EXOP >::s_b, RK4DenseOutput< Soln, Rhs, EXOP >::s_bstar, RK4DenseOutput< Soln, Rhs, EXOP >::s_c, RK4DenseOutput< Soln, Rhs, EXOP >::s_nDenseCoefs, and RK4DenseOutput< Soln, Rhs, EXOP >::s_nStages.
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput(), and RK4DenseOutput< Soln, Rhs, EXOP >::start0end1().
void RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs | ( | Vector< Rhs *> & | a_interpCoefs | ) |
References CH_assert, CH_TIMERS, RK4DenseOutput< Soln, Rhs, EXOP >::m_denseCoefs, RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_phi, RK4DenseOutput< Soln, Rhs, EXOP >::s_a, RK4DenseOutput< Soln, Rhs, EXOP >::s_b, RK4DenseOutput< Soln, Rhs, EXOP >::s_bstar, RK4DenseOutput< Soln, Rhs, EXOP >::s_c, RK4DenseOutput< Soln, Rhs, EXOP >::s_nDenseCoefs, and Vector< T >::size().
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), and RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput().
void RK4DenseOutput< Soln, Rhs, EXOP >::resetDt | ( | Real | a_dt | ) |
References Abs(), CH_assert, RK4DenseOutput< Soln, Rhs, EXOP >::isDefined(), RK4DenseOutput< Soln, Rhs, EXOP >::m_dt, RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput, RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx, and RK4DenseOutput< Soln, Rhs, EXOP >::start0end1().
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP(), and RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput().
void RK4DenseOutput< Soln, Rhs, EXOP >::start0end1 | ( | bool | a_start0, |
bool | a_end1 | ||
) |
References RK4DenseOutput< Soln, Rhs, EXOP >::advance(), CH_assert, RK4DenseOutput< Soln, Rhs, EXOP >::isDefined(), RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx, and RK4DenseOutput< Soln, Rhs, EXOP >::s_nStages.
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::resetDt(), and RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput().
EXOP & RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP | ( | ) |
|
inline |
|
inline |
|
static |
Runge-Kutta coefficients.
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), RK4DenseOutput< Soln, Rhs, EXOP >::define(), and RK4DenseOutput< Soln, Rhs, EXOP >::start0end1().
|
static |
|
static |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), and RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs().
|
static |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), and RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs().
|
static |
|
static |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), and RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |