|
Chombo + EB + MF
3.2
|
Go to the source code of this file.
Macros | |
| #define | _LEVELRK4_V2_H__ |
Functions | |
| template<typename TSoln , typename TRhs , typename TInterp , typename TExOp , typename... TOpArgs> | |
| void | RK4LevelAdvance (TSoln &a_newSoln, TSoln &a_oldSoln, TInterp *a_timeInterpolator, Real a_time, Real a_dt, const bool a_initializeNewSoln, TExOp &a_op, TOpArgs &&... a_opArgs) |
| Templated implementation of RK4 advance for a single AMRLevel, allowing interpolation in time. More... | |
| #define _LEVELRK4_V2_H__ |
| void RK4LevelAdvance | ( | TSoln & | a_newSoln, |
| TSoln & | a_oldSoln, | ||
| TInterp * | a_timeInterpolator, | ||
| Real | a_time, | ||
| Real | a_dt, | ||
| const bool | a_initializeNewSoln, | ||
| TExOp & | a_op, | ||
| TOpArgs &&... | a_opArgs | ||
| ) |
Templated implementation of RK4 advance for a single AMRLevel, allowing interpolation in time.
The difference from LevelRK4.H is that this allows for any arguments to the evalRHS operator. The arguments are perfectly forwarded.
This implements fourth-order Runge-Kutta time advance of an ODE, and saves intermediate results for use in interpolation in time. ODE is d(Soln)/dt = RHS
Template types:
TInterp requirements: TInterp must have the following functions:
TOp requirements: TOp must have the following functions:
| a_newSoln | the cell-centered solution at the new time (a_time + a_dt) |
| a_oldSoln | the cell-centered solution at the old time (a_time) |
| a_timeInterpolator | object that encapsulates time interpolation |
| a_time | time centering of a_oldSoln |
| a_dt | time step |
| a_initializeNewSoln | whether a_newSoln is initialized with a_oldSoln (default true) |
| a_op | object which encapsulates the ODE functionality (must meet the requirements detailed above) |
1.8.13