|
METHOD
|
#include <SSP3.h>


Public Member Functions | |
| SSP3 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod) | |
| virtual | ~SSP3 () |
| 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 | |
| IMEX3Arguments | args |
| double * | U3 |
| double * | U3guess |
| 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 third order SSP3(332) time integrator
\begin{align} \partial_t U = F(U) + \psi(U) \end{align}
the third order SSP3(332) IMEX scheme takes the following form:\begin{align} U^{(1)} &= U^n + \gamma dt \psi(U^{(1)}) \\ U^{(2)} &= U^n + dt \big[F(U^{(1)}) + (1-2\gamma)\psi(U^{(1)}) + \gamma \psi(U^{(2)})\big] \\ U^{(3)} &= U^n + \frac{dt}{4} \big[F(U^{(1)}) + F(U^{(2)})\big] + dt \big[(0.5 - \gamma) \psi(U^{(1)}) + \gamma \psi(U^{(3)})\big] \\ U^{n+1} &= U^n + \frac{dt}{6} \big[F(U^{(1)}) + F(U^{(2)}) + 4F(U^{(3)}) + \psi{U^{(1)}} + \psi(U^{(2)}) + 4\psi(U^{(3)}) \big] \end{align}
.| SSP3::SSP3 | ( | 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.
| IMEX3Arguments SSP3::args |
IMEX3Arguments, additional arguments class, stores single cell data for hydrb rootfinder.
| double * SSP3::flux3 |
| double * SSP3::source3 |
| double * SSP3::tempaux |
| double * SSP3::tempprims |
| double* SSP3::U3 |
| double * SSP3::U3guess |