|
METHOD
|
#include <SSP2322.h>


Public Member Functions | |
| SSP2322 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod) | |
| virtual | ~SSP2322 () |
| void | step (double *cons, double *prims, double *aux, double dt=0) |
Public Member Functions inherited from SSP2 | |
| SSP2 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod) | |
| virtual | ~SSP2 () |
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 | |
| IMEX2Arguments | args |
| double * | x |
| double * | fvec |
| double * | wa |
| double * | U1 |
| double * | U2 |
| double * | U3 |
| double * | U2guess |
| double * | U3guess |
| double * | source1 |
| double * | flux1 |
| double * | source2 |
| double * | flux2 |
| double * | source3 |
| double * | flux3 |
| double * | tempprims |
| double * | tempaux |
Public Attributes inherited from SSP2 | |
| IMEX2Arguments | args |
| double * | x |
| double * | fvec |
| double * | wa |
| double * | U1 |
| double * | U2 |
| double * | source1 |
| double * | flux1 |
| double * | source2 |
| double * | flux2 |
Public Attributes inherited from TimeIntegratorBase | |
| Data * | data |
| Model * | model |
| Bcs * | bcs |
| FluxMethod * | fluxMethod |
| ModelExtension * | modelExtension |
Implicit-Explicit Runge-Kutta second order SSP2(322) time integrator
\begin{align} \partial_t U = F(U) + \psi(U) \end{align}
the second order SSP2(322) IMEX scheme takes the following form:\begin{align} U^{(1)} &= U^n + \frac{dt}{2} \psi(U^{(1)}) \\ U^{(2)} &= U^n - \frac{dt}{2} \psi(U^{(1)}) + \frac{dt}{2} \psi(U^{(2)}) \\ U^{(3)} &= U^n + dt F(U^{(2)}) + \frac{dt}{2} \big[\psi(U^{(2)}) + \psi(U^{(3)})\big] \\ U^{n+1} &= U^n + \frac{dt}{2} \big[F(U^{(2)}) + F(U^{(3)}) + \psi{U^{(2)}} + \psi(U^{(3)})\big] \end{align}
.| SSP2322::SSP2322 | ( | Data * | data, |
| Model * | model, | ||
| Bcs * | bcs, | ||
| FluxMethod * | fluxMethod | ||
| ) |
Constructor.
| *data | Pointer to Data class containing global simulation data |
| *model | pointer to Model object |
| *bcs | pointer to Bcs object |
| *fluxMethod | pointer to FluxMethod object |
|
virtual |
Destructor.
|
virtual |
Performs a single time step.
| *cons | pointer to conserved vector work array. Size is Ncons*Nx*Ny*Nz |
| *prims | pointer to primitive vector work array. Size is Nprims*Nx*Ny*Nz |
| *aux | pointer to auxiliary vector work array. Size is Naux*Nx*Ny*Nz |
| dt | the step size desired to move by. Defaults to the value in the Data class |
Reimplemented from SSP2.
| IMEX2Arguments SSP2322::args |
IMEX2Arguments, additional arguments class, stores single cell data for hydrb rootfinder.
| double * SSP2322::flux1 |
| double * SSP2322::flux2 |
| double * SSP2322::flux3 |
| double * SSP2322::fvec |
| double * SSP2322::source1 |
| double * SSP2322::source2 |
| double * SSP2322::source3 |
| double * SSP2322::tempaux |
| double * SSP2322::tempprims |
| double * SSP2322::U1 |
| double * SSP2322::U2 |
| double * SSP2322::U2guess |
| double * SSP2322::U3 |
| double * SSP2322::U3guess |