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