MAIA bb96820c
Multiphysics at AIA
|
#include <dgcartesiansyseqnlinearscalaradv.h>
Public Member Functions | |
DgSysEqnLinearScalarAdv (MInt solverId) | |
Constructor calls parent constructor & loads all necessary properties for this equation. More... | |
void | calcInitialCondition (const MFloat t, const MFloat *x, MFloat *nodeVars, MFloat *u) const |
Calculate the initial condition for a certain point in space. More... | |
void | calcFlux (const MFloat *nodeVars, const MFloat *u, const MInt noNodes1D, MFloat *flux) const |
Calculates the physical fluxes in all dimensions for all integrations points within a cell. More... | |
void | calcSource (const MFloat *nodeVars, const MFloat *u, const MInt noNodes1D, const MFloat t, const MFloat *x, MFloat *src) const |
Calculates the source terms for all integration points within a cell. More... | |
void | calcSpongeSource (const MFloat *nodeVars, const MFloat *u, const MInt noNodes1D, const MFloat *eta, MFloat *src) const |
Calculates the sponge source terms for all integration points within a cell. More... | |
MFloat | getTimeStep (const MFloat *nodeVars, const MFloat *u, const MInt noNodes1D, const MFloat invJacobian, const MInt sbpMode) const |
Calculate the time step for an explicit time stepping scheme for a given element. More... | |
void | calcRiemann (const MFloat *nodeVarsL, const MFloat *nodeVarsR, const MFloat *stateL, const MFloat *stateR, const MInt noNodes1D, const MInt dirId, MFloat *flux) const |
Calculates the numerical flux at a surface given two states (left and right). More... | |
void | primToCons (const MFloat *prim, MFloat *cons) const |
Calculates a set of conservative variables from a set of primitive variables. More... | |
void | consToPrim (const MFloat *cons, MFloat *prim) const |
Calculates a set of primitive variables from a set of conservative variables. More... | |
MFloat | cflFactor (const MInt polyDeg) const |
void | getDefaultNodeVars (MFloat *const NotUsed(nodeVars)) const |
MBool | extendNodeVar (const MInt NotUsed(varId)) const |
Public Member Functions inherited from DgSysEqn< nDim, DgSysEqnLinearScalarAdv< nDim > > | |
MFloat | cfl () const |
MFloat | cflScaled (const MInt polyDeg) const |
Private Attributes | |
MFloat | m_advectionVelocity [nDim] {} |
MString | m_dgIntegrationMethod |
MInt | m_dgTimeIntegrationScheme |
std::array< std::array< MFloat, s_maxPolyDeg+1 >, 2 > | m_cflFactor |
Static Private Attributes | |
static const MString | s_sysEqnName = "DG_SYSEQN_LINEARSCALARADV" |
static const MInt | s_noVariables = 1 |
static const MString | s_consVarNames [s_noVariables] = {"scalar"} |
static const MString | s_primVarNames [s_noVariables] = {"scalar"} |
static const MInt | s_noNodeVars = 0 |
static const MBool | s_hasTimeDependentNodeVars = false |
static constexpr const MString * | s_nodeVarNames = nullptr |
static const MInt | s_maxPolyDeg = 31 |
Friends | |
class | DgSysEqn< nDim, DgSysEqnLinearScalarAdv > |
Additional Inherited Members | |
Static Public Member Functions inherited from DgSysEqn< nDim, DgSysEqnLinearScalarAdv< nDim > > | |
static constexpr MInt | noVars () |
static constexpr MInt | noNodeVars () |
static constexpr MBool | hasTimeDependentNodeVars () |
static const MString & | sysEqnName () |
static const MString & | consVarNames (MInt i) |
static const MString & | primVarNames (MInt i) |
static const MString & | nodeVarNames (MInt i) |
Public Attributes inherited from DgSysEqn< nDim, DgSysEqnLinearScalarAdv< nDim > > | |
MInt | m_initialCondition |
MFloat | m_initialNumberWaves |
MInt | m_sourceTerm |
MInt | m_riemannSolver |
Protected Member Functions inherited from DgSysEqn< nDim, DgSysEqnLinearScalarAdv< nDim > > | |
DgSysEqn (MInt solverId) | |
Protected Attributes inherited from DgSysEqn< nDim, DgSysEqnLinearScalarAdv< nDim > > | |
const MInt | m_solverId |
Definition at line 19 of file dgcartesiansyseqnlinearscalaradv.h.
|
inlineexplicit |
[in] | solverId | Current solver id. |
Definition at line 91 of file dgcartesiansyseqnlinearscalaradv.h.
void DgSysEqnLinearScalarAdv< nDim >::calcFlux | ( | const MFloat * | nodeVars, |
const MFloat * | u, | ||
const MInt | noNodes1D, | ||
MFloat * | flux | ||
) | const |
[in] | u | Pointer to solution variables (size: noNodes1D^nDim*noVars)). |
[in] | noNodes1D | Number of nodes 1D in the cell. |
[out] | flux | Calculated flux (size: noNodes1D^nDim*noVars*nDim)). |
Definition at line 311 of file dgcartesiansyseqnlinearscalaradv.h.
void DgSysEqnLinearScalarAdv< nDim >::calcInitialCondition | ( | const MFloat | t, |
const MFloat * | x, | ||
MFloat * | nodeVars, | ||
MFloat * | u | ||
) | const |
[in] | t | Time at which the initial condition should be applied. |
[in] | x | A pointer to the node coordinates. |
[out] | u | A pointer to the solution storage. |
Definition at line 237 of file dgcartesiansyseqnlinearscalaradv.h.
|
inline |
[in] | stateL | Surface variables on the left side of the surface (i.e. in -x/-y/-z-direction). |
[in] | stateR | Surface variables on the right side of the surface (i.e. in +x/+y/+z-direction). |
[in] | noNodes1D | Number of nodes 1D. |
[in] | dirId | Direction (0 = x-direction, 1 = y-direction, 2 = z-direction). |
[out] | flux | Calculated Riemann flux (size: noNodes1D^(nDim-1)*noVars). |
Definition at line 461 of file dgcartesiansyseqnlinearscalaradv.h.
void DgSysEqnLinearScalarAdv< nDim >::calcSource | ( | const MFloat * | nodeVars, |
const MFloat * | u, | ||
const MInt | noNodes1D, | ||
const MFloat | t, | ||
const MFloat * | x, | ||
MFloat * | src | ||
) | const |
[in] | u | Pointer to solution variables (size: noNodes1D^nDim*noVars)). |
[in] | noNodes1D | Number of nodes 1D in the cell. |
[in] | t | Current time. |
[in] | x | Coordinates of the integration points of the current cell. |
[out] | src | Pointer to where source terms are stored (size: noNodes1D^nDim*noVars)). |
Definition at line 373 of file dgcartesiansyseqnlinearscalaradv.h.
void DgSysEqnLinearScalarAdv< nDim >::calcSpongeSource | ( | const MFloat * | nodeVars, |
const MFloat * | u, | ||
const MInt | noNodes1D, | ||
const MFloat * | eta, | ||
MFloat * | src | ||
) | const |
[in] | nodeVars | Pointer to node variables (size: noNodes1D^nDim*noNodeVars)). |
[in] | u | Pointer to solution variables (size: noNodes1D^nDim*noVars) |
[in] | noNodes1D | Number of nodes 1D in the cell. |
[in] | t | Current time. |
[in] | x | Coordinates of the integration points of the current cell. |
[out] | src | Pointer to where source terms are stored (size: noNodes1D^nDim*noVars)). |
Definition at line 402 of file dgcartesiansyseqnlinearscalaradv.h.
MFloat DgSysEqnLinearScalarAdv< nDim >::cflFactor | ( | const MInt | polyDeg | ) | const |
Yield an empirically-derived maximum stable CFL number. The user should be able to specify a CFL number of "1.0" in virtually all cases.
[in] | polyDeg | Polynomial degree in the cell. |
[out] | cfl | factor obtained from m_cflFactor. |
Definition at line 341 of file dgcartesiansyseqnlinearscalaradv.h.
|
inline |
[in] | cons | Conservative variable storage (size: noVars). |
[out] | prim | Primitive variable storage (size: noVars). |
Definition at line 496 of file dgcartesiansyseqnlinearscalaradv.h.
|
inline |
Definition at line 43 of file dgcartesiansyseqnlinearscalaradv.h.
|
inline |
Definition at line 42 of file dgcartesiansyseqnlinearscalaradv.h.
MFloat DgSysEqnLinearScalarAdv< nDim >::getTimeStep | ( | const MFloat * | nodeVars, |
const MFloat * | u, | ||
const MInt | noNodes1D, | ||
const MFloat | invJacobian, | ||
const MInt | sbpMode | ||
) | const |
[in] | u | Pointer to element variables. |
[in] | noNodes1D | Current polynomial degree. |
[in] | invJacobian | Inverse Jacobian of element. |
Definition at line 423 of file dgcartesiansyseqnlinearscalaradv.h.
|
inline |
[in] | prim | Primitive variable storage (size: noVars). |
[out] | cons | Conservative variable storage (size: noVars). |
Definition at line 513 of file dgcartesiansyseqnlinearscalaradv.h.
|
friend |
Definition at line 513 of file dgcartesiansyseqnlinearscalaradv.h.
|
private |
Definition at line 57 of file dgcartesiansyseqnlinearscalaradv.h.
|
private |
Definition at line 62 of file dgcartesiansyseqnlinearscalaradv.h.
|
private |
Definition at line 59 of file dgcartesiansyseqnlinearscalaradv.h.
|
private |
Definition at line 60 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 50 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 54 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 61 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticconstexprprivate |
Definition at line 55 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 53 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 49 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 51 of file dgcartesiansyseqnlinearscalaradv.h.
|
staticprivate |
Definition at line 47 of file dgcartesiansyseqnlinearscalaradv.h.