| 
    Chombo + EB
    3.2
    
   | 
 
#include <ARK4DenseOutput.H>
Public Member Functions | |
| ARK4DenseOutput () | |
| 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) | 
| IMEXOp & | getImExOp () | 
| bool | isDefined () const | 
| bool | hasDenseOutput () const | 
Static Public Attributes | |
| static const int | s_nStages = 6 | 
| Runge-Kutta coefficients.  More... | |
| static const Real | s_aIdiag = 0.25 | 
| static const Real | s_c [s_nStages] = { 0.0, 0.5, 0.332, 0.62, 0.85, 1.0 } | 
| static const Real | s_aE [s_nStages][s_nStages] | 
| static const Real | s_aI [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 | 
| Rhs | m_kI | 
| IMEXOp | m_opImEx | 
This is a more flexible, reduced memory version 4th-order additive Runge-Kutta algorithm, that also includes dense output coefficients This templated class encapsulates the fourth-order additive Runge-Kutta method "ARK4(3)6L[2]SA" by Kennedy and Carpenter 2003 Appl. Numer. Math. 44: 139-181
See also section 3 of Zhang, Johansen, and Colella, SIAM J. Sci. Comput. 34, pp. B179-B201.
      
  | 
  inline | 
References ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::define(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::getImExOp(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_isDefined, ARK4DenseOutput< Soln, Rhs, IMEXOp >::resetDt(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::start0end1().
| void ARK4DenseOutput< Soln, Rhs, IMEXOp >::define | ( | const Soln & | a_state, | 
| Real | a_dt, | ||
| bool | a_denseOutput = false  | 
        ||
| ) | 
References CH_TIMERS, ARK4DenseOutput< Soln, Rhs, IMEXOp >::getImExOp(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_denseCoefs, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_denseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_dt, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_hasDenseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_isDefined, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_kE, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_kI, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_opImEx, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_phi, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_rhs, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aIdiag, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nDenseCoefs, and ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nStages.
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::ARK4DenseOutput().
| void ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance | ( | Real | a_time, | 
| Soln & | a_state | ||
| ) | 
References CH_assert, CH_START, CH_STOP, CH_TIMER, CH_TIMERS, ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::isDefined(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_denseCoefs, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_denseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_dt, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_hasDenseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_kE, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_kI, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_opImEx, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_phi, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_rhs, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_time, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aE, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aI, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_b, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_bstar, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_c, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nDenseCoefs, and ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nStages.
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::ARK4DenseOutput(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::start0end1().
| void ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs | ( | Vector< Rhs *> & | a_interpCoefs | ) | 
References CH_assert, CH_TIMERS, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_denseCoefs, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_hasDenseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_phi, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aE, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aI, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_aIdiag, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_b, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_bstar, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_c, ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nDenseCoefs, and Vector< T >::size().
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::ARK4DenseOutput().
| void ARK4DenseOutput< Soln, Rhs, IMEXOp >::resetDt | ( | Real | a_dt | ) | 
References Abs(), CH_assert, ARK4DenseOutput< Soln, Rhs, IMEXOp >::isDefined(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_dt, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_hasDenseOutput, ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_opImEx, and ARK4DenseOutput< Soln, Rhs, IMEXOp >::start0end1().
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::ARK4DenseOutput(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::getImExOp().
| void ARK4DenseOutput< Soln, Rhs, IMEXOp >::start0end1 | ( | bool | a_start0, | 
| bool | a_end1 | ||
| ) | 
References ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), CH_assert, ARK4DenseOutput< Soln, Rhs, IMEXOp >::isDefined(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::m_opImEx, and ARK4DenseOutput< Soln, Rhs, IMEXOp >::s_nStages.
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::ARK4DenseOutput(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::resetDt().
| IMEXOp & ARK4DenseOutput< Soln, Rhs, IMEXOp >::getImExOp | ( | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  static | 
Runge-Kutta coefficients.
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::define(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::start0end1().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs().
      
  | 
  static | 
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs().
      
  | 
  static | 
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs().
      
  | 
  static | 
      
  | 
  static | 
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance(), and ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
Referenced by ARK4DenseOutput< Soln, Rhs, IMEXOp >::advance().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
 1.8.13