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.