44 data(data), model(model), bcs(bcs), fluxMethod(fluxMethod), modelExtension(modelExtension) { }
61 virtual void step(
double * cons,
double * prims,
double * aux,
double dt=0) = 0;
74 virtual void finalise(
double * cons,
double * prims,
double * aux) = 0;
117 void finalise(
double * cons,
double * prims,
double * aux)
123 catch (
const std::exception& e) {
124 printf(
"Time integration raises exception with following message:\n%s\n", e.what());
Model * model
Pointer to Model object, contains governing equations and spectral decomposition. ...
virtual void finalise(double *cons, double *prims, double *aux)=0
Finalise a step.
TimeIntegrator(Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL)
Constructor.
Extension to the base physics model
TimeIntegratorBase(Data *data, Model *model, Bcs *bcs, FluxMethod *fluxMethod, ModelExtension *modelExtension=NULL)
Constructor.
virtual void getPrimitiveVars(double *cons, double *prims, double *aux)=0
Spectral analysis.
virtual void apply(double *cons, double *prims=NULL, double *aux=NULL)=0
Application function.
virtual ~TimeIntegrator()
Destructor.
Data * data
Pointer to Data class containing global simulation data.
FluxMethod * fluxMethod
Pointer to FluxMethod object.
Physics model that we want to use
ModelExtension * modelExtension
Pointer to model extension class.
virtual void finalise(double *cons, double *prims, double *aux)
Finalise the simulation variables.
Bcs * bcs
Pointer to boundary conditions, Bcs, object.
General form of the time integrator
void finalise(double *cons, double *prims, double *aux)
Finalise a step.
Abstract base class for flux reconstruction methods
virtual ~TimeIntegratorBase()
Destructor.
virtual void step(double *cons, double *prims, double *aux, double dt=0)=0
Perform a single timestep on the conserved variables.
Abstract base class for time integrator