ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
Flux Class Reference

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 TensorgetCobase (const int &) const
 
virtual const CoordgetMomentum () const
 
virtual const CoordgetEqVectorP () 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!
 

Detailed Description

Abstract class for conservative variables and fluxes.

Constructor & Destructor Documentation

◆ Flux()

Flux::Flux ( )

◆ ~Flux()

Flux::~Flux ( )
virtual

Member Function Documentation

◆ addFlux() [1/2]

virtual void Flux::addFlux ( double  )
inlinevirtual

Add flux to the corresponding model flux.

Parameters
coefApossibility to multiply the flux before adding (set 1.d0 if not needed)

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ addFlux() [2/2]

virtual void Flux::addFlux ( Flux )
inlinevirtual

Add flux passed in parameter to the correspond model flux.

Parameters
fluxflux to add to the current one

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ addFluxRotatingRegion()

virtual void Flux::addFluxRotatingRegion ( double  )
inlinevirtual

Add flux to the rotating region in MRF context.

Parameters
coefApossibility to multiply the flux before adding (set 1.d0 if not needed)

Reimplemented in FluxEuler, and FluxUEq.

◆ addFluxSmooth1D()

virtual void Flux::addFluxSmooth1D ( double  ,
const Coord ,
Cell  
)
inlinevirtual

Compute additionnal flux for 1D geometry with smooth varying cross sectionFlux).

Reimplemented in FluxEuler, FluxEulerHomogeneous, and FluxUEq.

◆ addNonCons()

virtual void Flux::addNonCons ( double  ,
const Cell ,
const Coord ,
const Coord ,
const Coord  
)
inlinevirtual

Add non conservative term to the flux.

Parameters
coefApossibility to multiply the non conservative term before adding (set 1.d0 if not needed)
cellreference cell used to approximate the non conservative term
normalnormal vector of the treated face
tangenttangent vector of the treated face
binormalbinormal vector of the treated face

Reimplemented in FluxPUEq, FluxUEq, FluxUEqTotEnergy, FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, and FluxPTUEq.

◆ addNonConsMrfFlux()

virtual void Flux::addNonConsMrfFlux ( Phase **  )
inlinevirtual

Reimplemented in FluxEuler, and FluxUEq.

◆ addSymmetricTerms()

virtual void Flux::addSymmetricTerms ( Phase **  ,
Mixture ,
const double &  ,
const double &   
)
inlinevirtual

Add symetric terms.

Parameters
rradial distance of the cell from the axis of symmetry
vvelocity in the radial direction

Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.

◆ buildCons()

virtual void Flux::buildCons ( Phase **  ,
Mixture  
)
inlinevirtual

Build the conservative variables for a given cell from primitive one.

Parameters
phasesPhases array used for conservative variables calculus
mixtureMixture used for conservative variables calculus

Reimplemented in FluxEuler, FluxEulerKorteweg, FluxEulerHomogeneous, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ buildPrim()

virtual void Flux::buildPrim ( Phase **  ,
Mixture  
)
inlinevirtual

Build the primitive variables for a given cell from conservative one.

Parameters
phasesPhases array to fill
mixtureMixture to fill

Reimplemented in FluxEuler, FluxEulerKorteweg, FluxEulerHomogeneous, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ correctionEnergy()

virtual void Flux::correctionEnergy ( Cell ,
Prim  = vecPhases 
) const
inlinevirtual

Method to correct energy in non conservative models using total energy conservation.

Parameters
cellcell to correct
typeenumeration allowing to correct either state in the cell or second order half time step state

Reimplemented in FluxPUEq.

◆ getAlpha()

virtual const double & Flux::getAlpha ( const int &  ) const
inlinevirtual

Reimplemented in FluxUEq, and FluxUEqTotEnergy.

◆ getCobase()

virtual const Tensor & Flux::getCobase ( const int &  ) const
inlinevirtual

◆ getEnergy()

virtual const double & Flux::getEnergy ( const int &  ) const
inlinevirtual

Reimplemented in FluxUEq.

◆ getEnergyMix()

virtual const double & Flux::getEnergyMix ( ) const
inlinevirtual

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxPTUEq, and FluxUEq.

◆ getEqEta()

virtual const double & Flux::getEqEta ( ) const
inlinevirtual

Reimplemented in FluxEulerKorteweg.

◆ getEqOmega()

virtual const double & Flux::getEqOmega ( ) const
inlinevirtual

Reimplemented in FluxEulerKorteweg.

◆ getEqVectorP()

virtual const Coord & Flux::getEqVectorP ( ) const
inlinevirtual

Reimplemented in FluxEulerKorteweg.

◆ getLambda()

virtual const double & Flux::getLambda ( const int &  ) const
inlinevirtual

◆ getMass()

virtual const double & Flux::getMass ( const int &  ) const
inlinevirtual

Reimplemented in FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ getMassMix()

virtual const double & Flux::getMassMix ( ) const
inlinevirtual

◆ getMomentum()

virtual const Coord & Flux::getMomentum ( ) const
inlinevirtual

◆ getTotEnergy()

virtual const double & Flux::getTotEnergy ( const int &  ) const
inlinevirtual

Reimplemented in FluxUEqTotEnergy.

◆ multiply()

virtual void Flux::multiply ( double  )
inlinevirtual

multiply the flux of the corresponding model by a constant

Parameters
scalarconstant

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ prepSourceTermsGravity()

virtual void Flux::prepSourceTermsGravity ( const Coord )
inlinevirtual

Gravity source term.

Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.

◆ prepSourceTermsHeating()

virtual void Flux::prepSourceTermsHeating ( const double &  )
inlinevirtual

Heating source term.

Reimplemented in FluxEulerKorteweg, FluxEuler, FluxPTUEq, and FluxUEq.

◆ prepSourceTermsMRF()

virtual void Flux::prepSourceTermsMRF ( Cell ,
const Coord  
)
inlinevirtual

MRF source term.

Reimplemented in FluxEulerKorteweg, FluxEuler, and FluxUEq.

◆ printFlux()

virtual void Flux::printFlux ( ) const
inlinevirtual

◆ schemeCorrection()

virtual void Flux::schemeCorrection ( Cell ) const
inlinevirtual

Reimplemented in FluxPUEq, and FluxUEq.

◆ setBufferFlux()

virtual void Flux::setBufferFlux ( Cell )
inlinevirtual

Temporary store the conservative variables of a given cell.

The conservatvie variables are temporary stored in the corresponding model buffer flux

Parameters
cellcell used for conservative variables calculus

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ setCons()

virtual void Flux::setCons ( const Flux )
inlinevirtual

◆ setToZero()

virtual void Flux::setToZero ( )
inlinevirtual

set each attribute of the flux to zero

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ substractFluxSmooth1D()

virtual void Flux::substractFluxSmooth1D ( double  ,
const Coord ,
Cell  
)
inlinevirtual

Compute additionnal flux for 1D geometry with smooth varying cross section.

Reimplemented in FluxEuler, FluxEulerHomogeneous, and FluxUEq.

◆ subtractFlux()

virtual void Flux::subtractFlux ( double  )
inlinevirtual

Subtract flux to the corresponding model buffer flux.

Parameters
coefApossibility to multiply the flux before subtraction (set 1.d0 if not needed)

Reimplemented in FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, FluxPTUEq, FluxUEq, and FluxUEqTotEnergy.

◆ subtractFluxRotatingRegion()

virtual void Flux::subtractFluxRotatingRegion ( double  )
inlinevirtual

Subtract flux to the rotating region in MRF context.

Parameters
coefApossibility to multiply the flux before subtraction (set 1.d0 if not needed)

Reimplemented in FluxEuler, and FluxUEq.

◆ subtractNonCons()

virtual void Flux::subtractNonCons ( double  ,
const Cell ,
const Coord ,
const Coord ,
const Coord  
)
inlinevirtual

Subtract non conservative term to the flux.

Parameters
coefApossibility to multiply the non conservative term before subtraction (set 1.d0 if not needed)
cellreference cell used to approximate the non conservative term
normalnormal vector of the treated face
tangenttangent vector of the treated face
binormalbinormal vector of the treated face

Reimplemented in FluxPUEq, FluxUEq, FluxUEqTotEnergy, FluxEuler, FluxEulerHomogeneous, FluxEulerKorteweg, and FluxPTUEq.

Member Data Documentation

◆ m_sM

double Flux::m_sM
protected

Fluid velocity for intercell interfaces.

◆ m_uStar

double Flux::m_uStar
protected

Velocity solution of the Riemann problem !VERY IMPORTANT! DO NOT ERASE!


The documentation for this class was generated from the following files: