METHOD
ModelExtension Class Reference

#include <modelExtension.h>

Inheritance diagram for ModelExtension:
Collaboration diagram for ModelExtension:

Public Member Functions

 ModelExtension ()
 
 ModelExtension (Data *data)
 
virtual ~ModelExtension ()
 
virtual void sourceExtension (double *cons, double *prims, double *aux, double *source)
 
virtual void fluxExtension (double *cons, double *prims, double *aux, double *flux)
 

Public Attributes

Datadata
 
bool sourceExists
 
bool fluxExists
 

Detailed Description

Extension to the base physics model

This is the API for any model extensions. Models can be extended in two ways, either the source term or the flux can be modified. The function prototype for each of these is given in this class.

Definition at line 13 of file modelExtension.h.

Constructor & Destructor Documentation

◆ ModelExtension() [1/2]

ModelExtension::ModelExtension ( )
inline

Definition at line 23 of file modelExtension.h.

◆ ModelExtension() [2/2]

ModelExtension::ModelExtension ( Data data)
inline

Constructor.

Stores a pointer to the Data class and sets the sourceExists and fluxExists parameters to false. These should be changed in any derived classes.

Parameters
[in]*datapointer to the Data class

Definition at line 32 of file modelExtension.h.

◆ ~ModelExtension()

virtual ModelExtension::~ModelExtension ( )
inlinevirtual

Definition at line 34 of file modelExtension.h.

Member Function Documentation

◆ fluxExtension()

virtual void ModelExtension::fluxExtension ( double *  cons,
double *  prims,
double *  aux,
double *  flux 
)
inlinevirtual

Modified source term.

Function definition of the modified source term.

Parameters
[in]*conspointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\)
[in]*primspointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\)
[in]*auxpointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\)
[out]*fluxpointer to flux vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\)

Definition at line 56 of file modelExtension.h.

◆ sourceExtension()

virtual void ModelExtension::sourceExtension ( double *  cons,
double *  prims,
double *  aux,
double *  source 
)
inlinevirtual

Modified source term.

Function definition of the modified source term.

Parameters
[in]*conspointer to conserved vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\)
[in]*primspointer to primitive vector work array. Size is \(N_{prims} \times N_x \times N_y \times N_z\)
[in]*auxpointer to auxiliary vector work array. Size is \(N_{aux} \times N_x \times N_y \times N_z\)
[out]*sourcepointer to source vector work array. Size is \(N_{cons} \times N_x \times N_y \times N_z\)

Reimplemented in REGIME.

Definition at line 45 of file modelExtension.h.

Member Data Documentation

◆ data

Data* ModelExtension::data

Pointer to Data class containing global simulation data.

Definition at line 17 of file modelExtension.h.

◆ fluxExists

bool ModelExtension::fluxExists

Indicated whether the flux is modified. Default is false.

Definition at line 21 of file modelExtension.h.

◆ sourceExists

bool ModelExtension::sourceExists

Indicates whether the source is modified. Default is false.

Definition at line 19 of file modelExtension.h.


The documentation for this class was generated from the following file: