NumericalFluxBase
-
class NumericalFluxBase
Subclassed by LaxFriedrichsFlux, UpwindFlux
Public Functions
-
virtual double Flux(const Vector &Omega, double psiL, double psiR, const Vector &n) const = 0
Flux computes flux on edge for fixed ordinate at a given edge.
- Parameters:
Omega – fixed ordinate for flux computation
psiL – left solution state
psiR – right solution state
n – scaled normal vector of given edge
- Returns:
numerical flux value
-
virtual void Flux(const VectorVector &quadPts, const Vector &psiL, const Vector &psiR, Vector &flux, const Vector &n, unsigned n_sys) = 0
Flux computes flux on edge for fixed ordinate at a given edge using x and y axis.
- Parameters:
quadPts – ordinates for flux computation
psiL – left solution state
psiR – right solution state
n – scaled normal vector of given edge
n_sys – number of quadpts
numerical – flux value
-
virtual double FluxXZ(const Vector &Omega, double psiL, double psiR, const Vector &n) const = 0
Flux computes flux on edge for fixed ordinate at a given edge (in XZ plane)
- Parameters:
Omega – fixed ordinate for flux computation
psiL – left solution state
psiR – right solution state
n – scaled normal vector of given edge
- Returns:
numerical flux value
-
virtual double Flux1D(const Vector &Omega, double psiL, double psiR, const Vector &n) const = 0
Flux computes flux on edge for fixed ordinate at a given edge for pseudo 1D case.
- Parameters:
Omega – fixed ordinate for flux computation
psiL – left solution state
psiR – right solution state
n – scaled normal vector of given edge
- Returns:
numerical flux value
-
virtual Vector Flux1D(const Matrix AxPlus, const Matrix AxMinus, const Vector psiL, const Vector psiR, const Vector n) const = 0
Flux Computes “Steger Warming” upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in resultFlux.
- Parameters:
AxPlus – Positive part of the flux jacobian in x direction
AxMinus – Negative part of the flux jacobian in x direction
AyPlus – Positive part of the flux jacobian in y direction
AyMinus – Negative part of the flux jacobian in y direction
AzPlus – Positive part of the flux jacobian in z direction
AzMinus – Negative part of the flux jacobian in z direction
psiL – Solution state of left hand side control volume
psiR – Solution state of right hand side control volume
n – Normal vector at the edge between left and right control volume
- Returns:
Vector with resulting flux.
-
virtual Vector Flux(const Matrix AxPlus, const Matrix AxMinus, const Matrix AyPlus, const Matrix AyMinus, const Matrix AzPlus, const Matrix AzMinus, const Vector psiL, const Vector psiR, const Vector n) const = 0
Flux Computes “Steger Warming” upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in resultFlux.
- Parameters:
AxPlus – Positive part of the flux jacobian in x direction
AxMinus – Negative part of the flux jacobian in x direction
AyPlus – Positive part of the flux jacobian in y direction
AyMinus – Negative part of the flux jacobian in y direction
AzPlus – Positive part of the flux jacobian in z direction
AzMinus – Negative part of the flux jacobian in z direction
psiL – Solution state of left hand side control volume
psiR – Solution state of right hand side control volume
n – Normal vector at the edge between left and right control volume
- Returns:
Vector with resulting flux.
-
virtual Vector FluxXZ(const Matrix AxPlus, const Matrix AxMinus, const Matrix AyPlus, const Matrix AyMinus, const Matrix AzPlus, const Matrix AzMinus, const Vector psiL, const Vector psiR, const Vector n) const = 0
Flux Computes “Steger Warming” upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in resultFlux in 2D, X and Z direction.
- Parameters:
AxPlus – Positive part of the flux jacobian in x direction
AxMinus – Negative part of the flux jacobian in x direction
AyPlus – Positive part of the flux jacobian in y direction
AyMinus – Negative part of the flux jacobian in y direction
AzPlus – Positive part of the flux jacobian in z direction
AzMinus – Negative part of the flux jacobian in z direction
psiL – Solution state of left hand side control volume
psiR – Solution state of right hand side control volume
n – Normal vector at the edge between left and right control volume
- Returns:
Vector with resulting flux.
-
virtual double Flux(const Vector &Omega, double psiL, double psiR, const Vector &n) const = 0