UpwindFlux
-
class UpwindFlux : public NumericalFluxBase
Public Functions
-
UpwindFlux()
UpwindFlux constructor.
-
inline virtual ~UpwindFlux()
UpwindFlux destructor.
-
virtual double Flux(const Vector &Omega, double psiL, double psiR, const Vector &n) const override
Flux computes flux on edge for fixed ordinate at a given edge using x and y axis.
- 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) override
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
flux – numerical flux value
-
virtual double FluxXZ(const Vector &Omega, double psiL, double psiR, const Vector &n) const override
FluxXZ computes flux on edge for fixed ordinate at a given edge using x and z axis.
- 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 override
Flux1D 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 override
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 override
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 override
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 void FluxVanLeer(const Matrix &Ax, const Matrix &AxAbs, const Matrix &Ay, const Matrix &AyAbs, const Matrix &Az, const Matrix &AzAbs, const Vector &psiL, const Vector &psiR, const Vector &n, Vector &resultFlux) const override
Flux Computes “VanLeer” upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in resultFlux.
- Parameters:
Ax – Flux jacobian in x direction
AxAbs – Absolute value of the flux jacobian in x direction
Ay – Flux jacobian in y direction
AyAbs – Absolute value of the flux jacobian in y direction
Az – Flux jacobian in z direction
AzAbs – Absolute value 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
resultFlux – Vector with resulting flux.
- Returns:
void
-
UpwindFlux()