UpwindFlux

class UpwindFlux : public NumericalFluxBase

Public Functions

UpwindFlux()

UpwindFlux constructor.

~UpwindFlux()

UpwindFlux destructor.

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.

Return

numerical flux value

Parameters
  • Omega: fixed ordinate for flux computation

  • psiL: left solution state

  • psiR: right solution state

  • n: scaled normal vector of given edge

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.

Return

numerical flux value

Parameters
  • Omega: fixed ordinate for flux computation

  • psiL: left solution state

  • psiR: right solution state

  • n: scaled normal vector of given edge

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.

Return

numerical flux value

Parameters
  • Omega: fixed ordinate for flux computation

  • psiL: left solution state

  • psiR: right solution state

  • n: scaled normal vector of given edge

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.

Return

Vector with resulting flux

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

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.

Return

Vector with resulting flux

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

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.

Return

Vector with resulting flux

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

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.

Return

void

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.