#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. | |
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 |
RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput | ( | ) | [inline] |
void RK4DenseOutput< Soln, Rhs, EXOP >::define | ( | const Soln & | a_state, | |
Real | a_dt, | |||
bool | a_denseOutput = false | |||
) | [inline] |
References CH_TIMERS, 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.
void RK4DenseOutput< Soln, Rhs, EXOP >::advance | ( | Real | a_time, | |
Soln & | a_state | |||
) | [inline] |
References CH_assert, CH_START, CH_STOP, CH_TIMER, CH_TIMERS, 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.
void RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs | ( | Vector< Rhs * > & | a_interpCoefs | ) | [inline] |
void RK4DenseOutput< Soln, Rhs, EXOP >::resetDt | ( | Real | a_dt | ) | [inline] |
void RK4DenseOutput< Soln, Rhs, EXOP >::start0end1 | ( | bool | a_start0, | |
bool | a_end1 | |||
) | [inline] |
EXOP & RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP | ( | ) | [inline] |
References RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx.
bool RK4DenseOutput< Soln, Rhs, EXOP >::isDefined | ( | ) | const [inline] |
bool RK4DenseOutput< Soln, Rhs, EXOP >::hasDenseOutput | ( | ) | const [inline] |
const int RK4DenseOutput< Soln, Rhs, EXOP >::s_nStages = 4 [static] |
Runge-Kutta coefficients.
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance(), RK4DenseOutput< Soln, Rhs, EXOP >::define(), and RK4DenseOutput< Soln, Rhs, EXOP >::start0end1().
const Real RK4DenseOutput< Soln, Rhs, EXOP >::s_c = { 0.0, 0.5, 0.5, 1.0 } [inline, static] |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
const Real RK4DenseOutput< Soln, Rhs, EXOP >::s_a [inline, static] |
Initial value:
{ {0., 0., 0., 0.}, {0.5, 0., 0., 0.}, {0., 0.5, 0., 0.}, {0., 0., 1.0, 0.}, }
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
const Real RK4DenseOutput< Soln, Rhs, EXOP >::s_b [inline, static] |
Initial value:
{0.16666666666666667, 0.33333333333333333, 0.33333333333333333, 0.16666666666666667}
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
const int RK4DenseOutput< Soln, Rhs, EXOP >::s_nDenseCoefs = 3 [static] |
const Real RK4DenseOutput< Soln, Rhs, EXOP >::s_bstar [inline, static] |
Initial value:
{ {1.0, 0., 0., 0.}, {-1.5, 1.0, 1.0, -0.5}, {0.66666666666666667, -0.66666666666666667, -0.66666666666666667, 0.66666666666666667} }
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_isDefined [protected] |
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_denseOutput [protected] |
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput [protected] |
Real RK4DenseOutput< Soln, Rhs, EXOP >::m_dt [protected] |
Real RK4DenseOutput< Soln, Rhs, EXOP >::m_time [protected] |
Referenced by RK4DenseOutput< Soln, Rhs, EXOP >::advance().
Soln RK4DenseOutput< Soln, Rhs, EXOP >::m_phi[s_nStages] [protected] |
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_rhs [protected] |
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_denseCoefs[s_nDenseCoefs] [protected] |
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_kE [protected] |
EXOP RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx [protected] |