|
METHOD
|
#include <backwardsRK.h>


Public Member Functions | |
| BackwardsRK2 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod) | |
| virtual | ~BackwardsRK2 () |
| void | step (double *cons, double *prims, double *aux, double dt=0) |
Public Member Functions inherited from RKSplit | |
| RKSplit (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) | |
| virtual | ~RKSplit () |
Public Member Functions inherited from RK2 | |
| RK2 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) | |
| virtual | ~RK2 () |
| void | predictorStep (double *cons, double *prims, double *aux, double dt) |
| void | correctorStep (double *cons, double *prims, double *aux, double dt) |
| void | step (double *cons, double *prims, double *aux, double dt=0) |
Public Member Functions inherited from TimeIntegrator | |
| TimeIntegrator (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) | |
| virtual | ~TimeIntegrator () |
| void | finalise (double *cons, double *prims, double *aux) |
Public Member Functions inherited from TimeIntegratorBase | |
| TimeIntegratorBase (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) | |
| virtual | ~TimeIntegratorBase () |
Public Attributes | |
| BackRKArguments | args |
Public Attributes inherited from RK2 | |
| double * | p1cons |
| double * | p1prims |
| double * | p1aux |
| double * | args1 |
| double * | args2 |
Public Attributes inherited from TimeIntegratorBase | |
| Data * | data |
| Model * | model |
| Bcs * | bcs |
| FluxMethod * | fluxMethod |
| ModelExtension * | modelExtension |
Semi-implicit second order Runge-Kutta time integrator
\begin{align} U^* = RK2(U^n) \end{align}
with the source contribution determined via a backwards Euler step,\begin{align} U^{n+1} = U^* + \Psi(U^{n+1}) \end{align}
where \(\Psi(U)\) is the source vector due to the conserved vector \(U\).Definition at line 29 of file backwardsRK.h.
| BackwardsRK2::BackwardsRK2 | ( | Data * | data, |
| Model * | model, | ||
| Bcs * | bcs, | ||
| FluxMethod * | fluxMethod | ||
| ) |
Constructor.
Constructor requires simulation data and the flux and source functions from the model class.
| [in] | *data | Pointer to Data class containing global simulation data |
| [in] | *model | pointer to Model object |
| [in] | *bcs | pointer to Bcs object |
| [in] | *fluxMethod | pointer to FluxMethod object |
|
inlinevirtual |
Destructor.
Definition at line 50 of file backwardsRK.h.
|
virtual |
Performs a single time step.
The timestep will use the current values of the conserved, primitive and auxiliary variables at t=t0 and compute the values of all of them at time \(t=t0 + dt\). I.e. the conserved vector is evolved forward, and the corresponding prims and aux vars are found.
| [in,out] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in,out] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in,out] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| [in] | dt | the step size desired to move by. Defaults to the value in the Data class |
Implements TimeIntegratorBase.
| BackRKArguments BackwardsRK2::args |
BackRKArguments, additional arguments class.
Definition at line 33 of file backwardsRK.h.