RK4DenseOutput< Soln, Rhs, EXOP > Class Template Reference

#include <RK4DenseOutput.H>

List of all members.


Detailed Description

template<class Soln, class Rhs, class EXOP>
class RK4DenseOutput< Soln, Rhs, EXOP >

This is a standard RK4 implementation that also includes dense output coefficients

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

Constructor & Destructor Documentation

template<class Soln, class Rhs, class EXOP>
RK4DenseOutput< Soln, Rhs, EXOP >::RK4DenseOutput (  )  [inline]


Member Function Documentation

template<class Soln, class Rhs, class EXOP>
void RK4DenseOutput< Soln, Rhs, EXOP >::define ( const Soln &  a_state,
Real  a_dt,
bool  a_denseOutput = false 
) [inline]

template<class Soln, class Rhs, class EXOP>
void RK4DenseOutput< Soln, Rhs, EXOP >::advance ( Real  a_time,
Soln &  a_state 
) [inline]

template<class Soln, class Rhs, class EXOP>
void RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs ( Vector< Rhs * > &  a_interpCoefs  )  [inline]

template<class Soln, class Rhs, class EXOP>
void RK4DenseOutput< Soln, Rhs, EXOP >::resetDt ( Real  a_dt  )  [inline]

template<class Soln, class Rhs, class EXOP>
void RK4DenseOutput< Soln, Rhs, EXOP >::start0end1 ( bool  a_start0,
bool  a_end1 
) [inline]

template<class Soln, class Rhs, class EXOP>
EXOP & RK4DenseOutput< Soln, Rhs, EXOP >::getEXOP (  )  [inline]

template<class Soln, class Rhs, class EXOP>
bool RK4DenseOutput< Soln, Rhs, EXOP >::isDefined (  )  const [inline]

template<class Soln, class Rhs, class EXOP>
bool RK4DenseOutput< Soln, Rhs, EXOP >::hasDenseOutput (  )  const [inline]


Member Data Documentation

template<class Soln, class Rhs, class EXOP>
const int RK4DenseOutput< Soln, Rhs, EXOP >::s_nStages = 4 [static]

template<class Soln, class Rhs, class EXOP>
const Real RK4DenseOutput< Soln, Rhs, EXOP >::s_c = { 0.0, 0.5, 0.5, 1.0 } [inline, static]

template<class Soln, class Rhs, class EXOP>
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().

template<class Soln, class Rhs, class EXOP>
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().

template<class Soln, class Rhs, class EXOP>
const int RK4DenseOutput< Soln, Rhs, EXOP >::s_nDenseCoefs = 3 [static]

template<class Soln, class Rhs, class EXOP>
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().

template<class Soln, class Rhs, class EXOP>
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_isDefined [protected]

template<class Soln, class Rhs, class EXOP>
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_denseOutput [protected]

template<class Soln, class Rhs, class EXOP>
bool RK4DenseOutput< Soln, Rhs, EXOP >::m_hasDenseOutput [protected]

template<class Soln, class Rhs, class EXOP>
Real RK4DenseOutput< Soln, Rhs, EXOP >::m_dt [protected]

template<class Soln, class Rhs, class EXOP>
Real RK4DenseOutput< Soln, Rhs, EXOP >::m_time [protected]

template<class Soln, class Rhs, class EXOP>
Soln RK4DenseOutput< Soln, Rhs, EXOP >::m_phi[s_nStages] [protected]

template<class Soln, class Rhs, class EXOP>
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_rhs [protected]

template<class Soln, class Rhs, class EXOP>
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_denseCoefs[s_nDenseCoefs] [protected]

template<class Soln, class Rhs, class EXOP>
Rhs RK4DenseOutput< Soln, Rhs, EXOP >::m_kE [protected]

template<class Soln, class Rhs, class EXOP>
EXOP RK4DenseOutput< Soln, Rhs, EXOP >::m_opEx [protected]


The documentation for this class was generated from the following file:

Generated on Tue May 23 04:03:54 2017 for Chombo + EB by  doxygen 1.5.5