#include <RKPlus.h>
|
| | RK4_10 (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) |
| |
| virtual | ~RK4_10 () |
| |
| void | prepare1 (double *cons, double *prims, double *aux) |
| |
| void | prepare2 (double *cons, double *prims, double *aux) |
| |
| void | stageRepeat (double *cons, double *prims, double *aux, double dt) |
| |
| void | stageFinal (double *cons, double *prims, double *aux, double dt) |
| |
| void | step (double *cons, double *prims, double *aux, double dt=0) |
| |
| | RKPlus (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) |
| |
| virtual | ~RKPlus () |
| |
| virtual void | rhs (double *cons, double *prims, double *aux, double *rhsVec) |
| |
| | TimeIntegrator (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) |
| |
| virtual | ~TimeIntegrator () |
| |
| void | finalise (double *cons, double *prims, double *aux) |
| |
| | TimeIntegratorBase (Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL) |
| |
| virtual | ~TimeIntegratorBase () |
| |
Fourth order RK.
- SSPRK(10,4) from Gottlieb 2009, see code example in paper. This can run the AdvectionSingleFluid test with cfl=3.6
Definition at line 421 of file RKPlus.h.
◆ RK4_10()
Constructor.
Constructor requires simulation data and the flux and source functions from the model class. Stores the necessary pointer.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- TimeIntegrator::TimeIntegrator
-
RKPlus::RKPlus
◆ ~RK4_10()
| virtual RK4_10::~RK4_10 |
( |
| ) |
|
|
virtual |
◆ prepare1()
| void RK4_10::prepare1 |
( |
double * |
cons, |
|
|
double * |
prims, |
|
|
double * |
aux |
|
) |
| |
Prepare for stages 1-5.
Prepare the work arrays for the first 5 stages.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- RK4_10::RK4_10
◆ prepare2()
| void RK4_10::prepare2 |
( |
double * |
cons, |
|
|
double * |
prims, |
|
|
double * |
aux |
|
) |
| |
Prepare for stages 6-9.
Prepare the work arrays for the next 4 stages.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- RK4_10::RK4_10
◆ stageFinal()
| void RK4_10::stageFinal |
( |
double * |
cons, |
|
|
double * |
prims, |
|
|
double * |
aux, |
|
|
double |
dt |
|
) |
| |
Final stage result.
Compute and storethe final stage result.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- RK4_10::RK4_10
◆ stageRepeat()
| void RK4_10::stageRepeat |
( |
double * |
cons, |
|
|
double * |
prims, |
|
|
double * |
aux, |
|
|
double |
dt |
|
) |
| |
Compute the stage that it iteratively applied.
Compute and store the stage for this integrator.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- RK4_10::RK4_10
◆ step()
| void RK4_10::step |
( |
double * |
cons, |
|
|
double * |
prims, |
|
|
double * |
aux, |
|
|
double |
dt = 0 |
|
) |
| |
|
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=t_0 + dt\). I.e. the conserved vector is evolved forward, and the corresponding prims and aux vars are found.
- Parameters
-
| [in] | *cons | pointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\) |
| [in] | *prims | pointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\) |
| [in] | *aux | pointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\) |
| dt | the step size desired to move by. Defaults to the value in the Data class |
- See also
- TimeIntegrator::step
Implements TimeIntegratorBase.
◆ rhs1
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u1aux
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u1cons
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u1prims
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u2aux
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u2cons
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
◆ u2prims
Work arrays for interstage results.
Definition at line 428 of file RKPlus.h.
The documentation for this class was generated from the following file: