![]() |
ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
|
Abstract class for conservative variables and fluxes. More...
#include <Flux.h>
Inherited by FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
Public Member Functions | |
Flux () | |
virtual | ~Flux () |
virtual void | printFlux () const |
virtual void | addFlux (Flux *) |
Add flux passed in parameter to the correspond model flux. | |
virtual void | addFlux (double) |
Add flux to the corresponding model flux. | |
virtual void | subtractFlux (double) |
Subtract flux to the corresponding model buffer flux. | |
virtual void | addFluxRotatingRegion (double) |
Add flux to the rotating region in MRF context. | |
virtual void | subtractFluxRotatingRegion (double) |
Subtract flux to the rotating region in MRF context. | |
virtual void | multiply (double) |
multiply the flux of the corresponding model by a constant | |
virtual void | setBufferFlux (Cell &) |
Temporary store the conservative variables of a given cell. | |
virtual void | buildCons (Phase **, Mixture *) |
Build the conservative variables for a given cell from primitive one. | |
virtual void | buildPrim (Phase **, Mixture *) |
Build the primitive variables for a given cell from conservative one. | |
virtual void | setToZero () |
set each attribute of the flux to zero | |
virtual void | addNonCons (double, const Cell *, const Coord &, const Coord &, const Coord &) |
Add non conservative term to the flux. | |
virtual void | subtractNonCons (double, const Cell *, const Coord &, const Coord &, const Coord &) |
Subtract non conservative term to the flux. | |
virtual void | correctionEnergy (Cell *, Prim=vecPhases) const |
Method to correct energy in non conservative models using total energy conservation. | |
virtual void | schemeCorrection (Cell &) const |
virtual void | addSymmetricTerms (Phase **, Mixture *, const double &, const double &) |
Add symetric terms. | |
virtual void | prepSourceTermsGravity (const Coord &) |
Gravity source term. | |
virtual void | prepSourceTermsHeating (const double &) |
Heating source term. | |
virtual void | prepSourceTermsMRF (Cell *, const Coord &) |
MRF source term. | |
virtual void | addFluxSmooth1D (double, const Coord &, Cell *) |
Compute additionnal flux for 1D geometry with smooth varying cross sectionFlux). | |
virtual void | substractFluxSmooth1D (double, const Coord &, Cell *) |
Compute additionnal flux for 1D geometry with smooth varying cross section. | |
virtual void | addNonConsMrfFlux (Phase **) |
virtual const double & | getAlpha (const int &) const |
virtual const double & | getMass (const int &) const |
virtual const double & | getEnergyMix () const |
virtual const double & | getMassMix () const |
virtual const double & | getEqOmega () const |
virtual const double & | getEqEta () const |
virtual const double & | getEnergy (const int &) const |
virtual const double & | getTotEnergy (const int &) const |
virtual const double & | getLambda (const int &) const |
virtual const Tensor & | getCobase (const int &) const |
virtual const Coord & | getMomentum () const |
virtual const Coord & | getEqVectorP () const |
virtual void | setCons (const Flux *) |
Protected Attributes | |
double | m_sM |
Fluid velocity for intercell interfaces. | |
double | m_uStar |
Velocity solution of the Riemann problem !VERY IMPORTANT! DO NOT ERASE! | |
Abstract class for conservative variables and fluxes.
Flux::Flux | ( | ) |
|
virtual |
|
inlinevirtual |
Add flux to the corresponding model flux.
coefA | possibility to multiply the flux before adding (set 1.d0 if not needed) |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Add flux passed in parameter to the correspond model flux.
flux | flux to add to the current one |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Compute additionnal flux for 1D geometry with smooth varying cross sectionFlux).
Reimplemented in FluxEuler, FluxEulerHomogeneous, and FluxUEq.
|
inlinevirtual |
Add non conservative term to the flux.
coefA | possibility to multiply the non conservative term before adding (set 1.d0 if not needed) |
cell | reference cell used to approximate the non conservative term |
normal | normal vector of the treated face |
tangent | tangent vector of the treated face |
binormal | binormal vector of the treated face |
Reimplemented in FluxPUEq, FluxUEq, FluxUEqTotEnergy, FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, and FluxPTUEq.
|
inlinevirtual |
|
inlinevirtual |
Add symetric terms.
r | radial distance of the cell from the axis of symmetry |
v | velocity in the radial direction |
Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.
Build the conservative variables for a given cell from primitive one.
phases | Phases array used for conservative variables calculus |
mixture | Mixture used for conservative variables calculus |
Reimplemented in FluxEuler, FluxEulerKorteweg, FluxEulerHomogeneous, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
Build the primitive variables for a given cell from conservative one.
phases | Phases array to fill |
mixture | Mixture to fill |
Reimplemented in FluxEuler, FluxEulerKorteweg, FluxEulerHomogeneous, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
Method to correct energy in non conservative models using total energy conservation.
cell | cell to correct |
type | enumeration allowing to correct either state in the cell or second order half time step state |
Reimplemented in FluxPUEq.
|
inlinevirtual |
Reimplemented in FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in FluxUEq.
|
inlinevirtual |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxPTUEq, and FluxUEq.
|
inlinevirtual |
Reimplemented in FluxEulerKorteweg.
|
inlinevirtual |
Reimplemented in FluxEulerKorteweg.
|
inlinevirtual |
Reimplemented in FluxEulerKorteweg.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Reimplemented in FluxEuler, FluxEulerHomogeneous, and FluxEulerKorteweg.
|
inlinevirtual |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Reimplemented in FluxUEqTotEnergy.
|
inlinevirtual |
multiply the flux of the corresponding model by a constant
scalar | constant |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Gravity source term.
Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.
|
inlinevirtual |
Heating source term.
Reimplemented in FluxEulerKorteweg, FluxEuler, FluxPTUEq, and FluxUEq.
MRF source term.
Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.
|
inlinevirtual |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
Temporary store the conservative variables of a given cell.
The conservatvie variables are temporary stored in the corresponding model buffer flux
cell | cell used for conservative variables calculus |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
set each attribute of the flux to zero
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
Compute additionnal flux for 1D geometry with smooth varying cross section.
Reimplemented in FluxEuler, FluxEulerHomogeneous, and FluxUEq.
|
inlinevirtual |
Subtract flux to the corresponding model buffer flux.
coefA | possibility to multiply the flux before subtraction (set 1.d0 if not needed) |
Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
Subtract non conservative term to the flux.
coefA | possibility to multiply the non conservative term before subtraction (set 1.d0 if not needed) |
cell | reference cell used to approximate the non conservative term |
normal | normal vector of the treated face |
tangent | tangent vector of the treated face |
binormal | binormal vector of the treated face |
Reimplemented in FluxPUEq, FluxUEq, FluxUEqTotEnergy, FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, and FluxPTUEq.
|
protected |
Fluid velocity for intercell interfaces.
|
protected |
Velocity solution of the Riemann problem !VERY IMPORTANT! DO NOT ERASE!