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

Model class for Euler Flux (single phase). More...

#include <FluxEuler.h>

Inherits Flux.

Collaboration diagram for FluxEuler:
[legend]

Public Member Functions

 FluxEuler ()
 ~FluxEuler () override
void printFlux () const override
void addFlux (double coefA) override
 Add flux to the corresponding model flux.
void addFlux (Flux *flux) override
 Add flux passed in parameter to the correspond model flux.
void subtractFlux (double coefA) override
 Subtract flux to the corresponding model buffer flux.
void addFluxRotatingRegion (double coefA) override
 Add flux to the rotating region in MRF context.
void subtractFluxRotatingRegion (double coefA) override
 Subtract flux to the rotating region in MRF context.
void multiply (double scalar) override
 multiply the flux of the corresponding model by a constant
void setBufferFlux (Cell &cell) override
 Temporary store the conservative variables of a given cell.
void buildCons (Phase **phase, Mixture *) override
 Build the conservative variables for a given cell from primitive one.
void buildPrim (Phase **phase, Mixture *) override
 Build the primitive variables for a given cell from conservative one.
void setToZero () override
 set each attribute of the flux to zero
void addNonCons (double, const Cell *, const Coord &, const Coord &, const Coord &) override
 Add non conservative term to the flux.
void subtractNonCons (double, const Cell *, const Coord &, const Coord &, const Coord &) override
 Subtract non conservative term to the flux.
void addFluxSmooth1D (double coefA, const Coord &normal, Cell *cell) override
 Compute additionnal flux for 1D geometry with smooth varying cross sectionFlux).
void substractFluxSmooth1D (double coefA, const Coord &normal, Cell *cell) override
 Compute additionnal flux for 1D geometry with smooth varying cross section.
void addSymmetricTerms (Phase **phases, Mixture *, const double &r, const double &v) override
 Add symetric terms.
void prepSourceTermsGravity (const Coord &g) override
 Gravity source term.
void prepSourceTermsHeating (const double &q) override
 Heating source term.
void prepSourceTermsMRF (Cell *cell, const Coord &omega) override
 MRF source term.
void prepSourceTermsPlaneWave (const Cell *cell, const double &sourceMomentum, const Coord &pulseDirection) override
 This prepares Plane-Gaussian-pulse and Plane-Sinusoidal-pulse source terms.
void addNonConsMrfFlux (Phase **) override
const Coord & getMomentum () const override
const double & getMassMix () const override
const double & getEnergyMix () const override
void setCons (const Flux *cons) override
Public Member Functions inherited from Flux
 Flux ()
virtual ~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 const double & getAlpha (const int &) const
virtual const double & getMass (const int &) const
virtual const double & getEqOmega () const
virtual const double & getEqDensitySurEta () 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 int &) const
virtual const Coord & getEqVectorP () const

Protected Attributes

double m_mass
 mass
Coord m_momentum
 momentum
double m_energ
 total energy
Protected Attributes inherited from Flux
double m_sM
 Fluid velocity for intercell interfaces.
double m_uStar
 Velocity solution of the Riemann problem !VERY IMPORTANT! DO NOT ERASE!

Friends

class ModEuler
class APEuler
class APEViscosity
class APEConductivity
class APETurbulenceSmagorinsky
class ModNEqDEM
 Because a variable of type FluxEuler is used in ModNEqDEM to store local fluxes and we need a write acces to FluxEuler members.
class RiemannSolverHLLC
 Because a variable of type FluxEuler is used in RiemannSolverHLLC to store local fluxes and we need a write acces to FluxEuler members.
class RiemannSolverExact
 Because a variable of type FluxEuler is used in RiemannSolverExact to store local fluxes and we need a write acces to FluxEuler members.

Detailed Description

Model class for Euler Flux (single phase).

Constructor & Destructor Documentation

◆ FluxEuler()

FluxEuler::FluxEuler ( )
Here is the caller graph for this function:

◆ ~FluxEuler()

FluxEuler::~FluxEuler ( )
override

Member Function Documentation

◆ addFlux() [1/2]

void FluxEuler::addFlux ( double )
overridevirtual

Add flux to the corresponding model flux.

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ addFlux() [2/2]

void FluxEuler::addFlux ( Flux * )
overridevirtual

Add flux passed in parameter to the correspond model flux.

Parameters
fluxflux to add to the current one

Reimplemented from Flux.

Here is the call graph for this function:

◆ addFluxRotatingRegion()

void FluxEuler::addFluxRotatingRegion ( double )
overridevirtual

Add flux to the rotating region in MRF context.

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ addFluxSmooth1D()

void FluxEuler::addFluxSmooth1D ( double ,
const Coord & ,
Cell *  )
overridevirtual

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ addNonCons()

void FluxEuler::addNonCons ( double ,
const Cell * ,
const Coord & ,
const Coord & ,
const Coord &  )
inlineoverridevirtual

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 from Flux.

◆ addNonConsMrfFlux()

void FluxEuler::addNonConsMrfFlux ( Phase ** )
inlineoverridevirtual

Reimplemented from Flux.

◆ addSymmetricTerms()

void FluxEuler::addSymmetricTerms ( Phase ** ,
Mixture * ,
const double & ,
const double &  )
overridevirtual

Add symetric terms.

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ buildCons()

void FluxEuler::buildCons ( Phase ** ,
Mixture *  )
overridevirtual

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 from Flux.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildPrim()

void FluxEuler::buildPrim ( Phase ** ,
Mixture *  )
overridevirtual

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

Parameters
phasesPhases array to fill
mixtureMixture to fill

Reimplemented from Flux.

Here is the call graph for this function:

◆ getEnergyMix()

const double & FluxEuler::getEnergyMix ( ) const
inlineoverridevirtual

Reimplemented from Flux.

◆ getMassMix()

const double & FluxEuler::getMassMix ( ) const
inlineoverridevirtual

Reimplemented from Flux.

◆ getMomentum()

const Coord & FluxEuler::getMomentum ( ) const
inlineoverridevirtual

Reimplemented from Flux.

◆ multiply()

void FluxEuler::multiply ( double )
overridevirtual

multiply the flux of the corresponding model by a constant

Parameters
scalarconstant

Reimplemented from Flux.

◆ prepSourceTermsGravity()

void FluxEuler::prepSourceTermsGravity ( const Coord & )
overridevirtual

Gravity source term.

Reimplemented from Flux.

Here is the call graph for this function:

◆ prepSourceTermsHeating()

void FluxEuler::prepSourceTermsHeating ( const double & )
overridevirtual

Heating source term.

Reimplemented from Flux.

◆ prepSourceTermsMRF()

void FluxEuler::prepSourceTermsMRF ( Cell * ,
const Coord &  )
overridevirtual

MRF source term.

Reimplemented from Flux.

Here is the call graph for this function:

◆ prepSourceTermsPlaneWave()

void FluxEuler::prepSourceTermsPlaneWave ( const Cell * ,
const double & ,
const Coord &  )
overridevirtual

This prepares Plane-Gaussian-pulse and Plane-Sinusoidal-pulse source terms.

Reimplemented from Flux.

Here is the call graph for this function:

◆ printFlux()

void FluxEuler::printFlux ( ) const
overridevirtual

Reimplemented from Flux.

◆ setBufferFlux()

void FluxEuler::setBufferFlux ( Cell & )
overridevirtual

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 from Flux.

Here is the call graph for this function:

◆ setCons()

void FluxEuler::setCons ( const Flux * cons)
overridevirtual

Reimplemented from Flux.

Here is the call graph for this function:

◆ setToZero()

void FluxEuler::setToZero ( )
overridevirtual

set each attribute of the flux to zero

Reimplemented from Flux.

◆ substractFluxSmooth1D()

void FluxEuler::substractFluxSmooth1D ( double ,
const Coord & ,
Cell *  )
overridevirtual

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ subtractFlux()

void FluxEuler::subtractFlux ( double )
overridevirtual

Subtract flux to the corresponding model buffer flux.

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ subtractFluxRotatingRegion()

void FluxEuler::subtractFluxRotatingRegion ( double )
overridevirtual

Subtract flux to the rotating region in MRF context.

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

Reimplemented from Flux.

Here is the call graph for this function:

◆ subtractNonCons()

void FluxEuler::subtractNonCons ( double ,
const Cell * ,
const Coord & ,
const Coord & ,
const Coord &  )
inlineoverridevirtual

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 from Flux.

◆ APEConductivity

friend class APEConductivity
friend

◆ APETurbulenceSmagorinsky

friend class APETurbulenceSmagorinsky
friend

◆ APEuler

friend class APEuler
friend

◆ APEViscosity

friend class APEViscosity
friend

◆ ModEuler

friend class ModEuler
friend

◆ ModNEqDEM

friend class ModNEqDEM
friend

Because a variable of type FluxEuler is used in ModNEqDEM to store local fluxes and we need a write acces to FluxEuler members.

◆ RiemannSolverExact

friend class RiemannSolverExact
friend

Because a variable of type FluxEuler is used in RiemannSolverExact to store local fluxes and we need a write acces to FluxEuler members.

◆ RiemannSolverHLLC

friend class RiemannSolverHLLC
friend

Because a variable of type FluxEuler is used in RiemannSolverHLLC to store local fluxes and we need a write acces to FluxEuler members.

Member Data Documentation

◆ m_energ

double FluxEuler::m_energ
protected

total energy

◆ m_mass

double FluxEuler::m_mass
protected

mass

◆ m_momentum

Coord FluxEuler::m_momentum
protected

momentum


The documentation for this class was generated from the following files:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Models/Euler/FluxEuler.h
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Models/Euler/FluxEuler.cpp