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

#include <APEViscosity.h>

Inherits APEuler.

Public Member Functions

 APEViscosity ()
 
 APEViscosity (int &numberQPA, Eos **eos)
 
virtual ~APEViscosity ()
 
virtual void addQuantityAddPhys (Cell *cell)
 Add the quantities for the additional physic.
 
virtual void solveFluxAddPhys (CellInterface *cellInterface)
 Solve the additional physic flux between two cells.
 
virtual void solveFluxAddPhysBoundary (CellInterface *cellInterface)
 Solve the additional physic flux at a domain boundary.
 
void solveFluxViscosityInner (const Coord &velocityLeft, const Coord &velocityRight, const Coord &gradULeft, const Coord &gradURight, const Coord &gradVLeft, const Coord &gradVRight, const Coord &gradWLeft, const Coord &gradWRight, const double &mu) const
 Solve the viscosity flux between two cells.
 
void solveFluxViscosityNonReflecting (const Coord &velocityLeft, const Coord &gradULeft, const Coord &gradVLeft, const Coord &gradWLeft, const double &muLeft) const
 Solve the viscosity flux at a boundary with a non-reflecting type.
 
void solveFluxViscosityWall (const Coord &velocityLeft, const double &muLeft, const double &distLeft, Coord &velocityWall=Coord::defaultCoordNonConst) const
 Solve the viscosity flux at a boundary with a wall type in MRF case.
 
void solveFluxViscositySymmetry (const Coord &gradULeft, const Coord &gradVLeft, const Coord &gradWLeft, const double &muLeft) const
 Solve the viscosity flux at a boundary with a symmetry type.
 
void solveFluxViscosityOther () const
 Solve the viscosity flux at a boundary with non-defined type yet.
 
virtual void addNonCons (Cell *)
 Add the non-conservative terms of the corresponding additional physic in a cell.
 
virtual void addSymmetricTermsRadialAxisOnX (Cell *)
 Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on X)
 
virtual void addSymmetricTermsRadialAxisOnY (Cell *)
 Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on Y)
 
virtual void communicationsAddPhys (const int &dim, const int &lvl)
 Communication of the additional physics quantities for parallel purposes with Adaptive Mesh Refinement.
 
- Public Member Functions inherited from APEuler
 APEuler ()
 
virtual ~APEuler ()
 
- Public Member Functions inherited from AddPhys
 AddPhys ()
 
virtual ~AddPhys ()
 
virtual std::string whoAmI () const
 
virtual double computeEnergyAddPhys (QuantitiesAddPhys *)
 Compute and send back mass energy linked to the physic (0 if no linked energy)
 
void computeFluxAddPhys (CellInterface *cellInterface)
 Compute the additional physic flux between two cells.
 
void computeFluxAddPhysBoundary (CellInterface *cellInterface)
 Compute the additional physic flux at a domain boundary.
 
void addNonConsAddPhys (Cell *cell)
 Add the non-conservative terms of the additional physic in a cell.
 
virtual void addFluxAddPhys (CellInterface *cellInterface, const double &coefAMR)
 Add the additional physic flux between two cells at the corresponding cell.
 
virtual void subtractFluxAddPhys (CellInterface *cellInterface, const double &coefAMR)
 Subtract the additional physic flux between two cells at the corresponding cell.
 
virtual void reinitializeColorFunction (std::vector< Cell * > *, const int &)
 Reinitialize the color function for the surface-tension terms with the volume fraction equation.
 
virtual bool reinitializationActivated ()
 Send back true if the reinitialization of the color function is activated.
 
virtual const int & getNumTransportAssociated () const
 Return the associated number of the transport equation (only used for surface tension)
 

Private Attributes

double m_mu
 Dynamic viscosity (kg/m/s or Pa.s) (taken from the EOS classe) (buffer)
 
int m_numQPA
 Number of the associated variable for each cell (m_vecGrandeursAddPhys)
 
Coord m_velocityLeft
 Left velocity vector for the flux computation (buffer)
 
Coord m_gradULeft
 Left gradient of the velocity in the x-direction for the flux computation (buffer)
 
Coord m_gradVLeft
 Left gradient of the velocity in the y-direction for the flux computation (buffer)
 
Coord m_gradWLeft
 Left gradient of the velocity in the z-direction for the flux computation (buffer)
 
Tensor m_tensorLeft
 Left tensor of the velocity gradients (buffer)
 
Coord m_velocityRight
 Right velocity vector for the flux computation (buffer)
 
Coord m_gradURight
 Right gradient of the velocity in the x-direction for the flux computation (buffer)
 
Coord m_gradVRight
 Right gradient of the velocity in the y-direction for the flux computation (buffer)
 
Coord m_gradWRight
 Right gradient of the velocity in the z-direction for the flux computation (buffer)
 
Tensor m_tensorRight
 Right tensor of the velocity gradients (buffer)
 
Coord m_normal
 Normal vector of the corresponding face for the flux computation (buffer)
 
Coord m_tangent
 Tangent vector of the corresponding face for the flux computation (buffer)
 
Coord m_binormal
 Binormal vector of the corresponding face for the flux computation (buffer)
 

Constructor & Destructor Documentation

◆ APEViscosity() [1/2]

APEViscosity::APEViscosity ( )

◆ APEViscosity() [2/2]

APEViscosity::APEViscosity ( int &  numberQPA,
Eos **  eos 
)

◆ ~APEViscosity()

APEViscosity::~APEViscosity ( )
virtual

Member Function Documentation

◆ addNonCons()

virtual void APEViscosity::addNonCons ( Cell )
inlinevirtual

Add the non-conservative terms of the corresponding additional physic in a cell.

Parameters
cellcell

Reimplemented from AddPhys.

◆ addQuantityAddPhys()

void APEViscosity::addQuantityAddPhys ( Cell )
virtual

Add the quantities for the additional physic.

Parameters
cellcorresponding cell

Reimplemented from AddPhys.

◆ addSymmetricTermsRadialAxisOnX()

virtual void APEViscosity::addSymmetricTermsRadialAxisOnX ( Cell )
inlinevirtual

Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on X)

Parameters
cellcell

Reimplemented from AddPhys.

◆ addSymmetricTermsRadialAxisOnY()

virtual void APEViscosity::addSymmetricTermsRadialAxisOnY ( Cell )
inlinevirtual

Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on Y)

Parameters
cellcell

Reimplemented from AddPhys.

◆ communicationsAddPhys()

void APEViscosity::communicationsAddPhys ( const int &  ,
const int &   
)
virtual

Communication of the additional physics quantities for parallel purposes with Adaptive Mesh Refinement.

Parameters
dimdimension
lvllevel

Reimplemented from AddPhys.

◆ solveFluxAddPhys()

void APEViscosity::solveFluxAddPhys ( CellInterface )
virtual

Solve the additional physic flux between two cells.

Parameters
cellInterfacecell interface

Reimplemented from AddPhys.

◆ solveFluxAddPhysBoundary()

void APEViscosity::solveFluxAddPhysBoundary ( CellInterface )
virtual

Solve the additional physic flux at a domain boundary.

Parameters
cellInterfacecell interface

Reimplemented from AddPhys.

◆ solveFluxViscosityInner()

void APEViscosity::solveFluxViscosityInner ( const Coord velocityLeft,
const Coord velocityRight,
const Coord gradULeft,
const Coord gradURight,
const Coord gradVLeft,
const Coord gradVRight,
const Coord gradWLeft,
const Coord gradWRight,
const double &  mu 
) const

Solve the viscosity flux between two cells.

Parameters
velocityLeftvelocity of the left cell
velocityRightvelocity of the right cell
gradULeftgradient of the velocity in the x-direction of the left cell
gradURightgradient of the velocity in the x-direction of the right cell
gradVLeftgradient of the velocity in the y-direction of the left cell
gradVRightgradient of the velocity in the y-direction of the right cell
gradWLeftgradient of the velocity in the z-direction of the left cell
gradWRightgradient of the velocity in the z-direction of the right cell
mudynamic viscosity

◆ solveFluxViscosityNonReflecting()

void APEViscosity::solveFluxViscosityNonReflecting ( const Coord velocityLeft,
const Coord gradULeft,
const Coord gradVLeft,
const Coord gradWLeft,
const double &  muLeft 
) const

Solve the viscosity flux at a boundary with a non-reflecting type.

Parameters
velocityLeftvelocity of the left cell
gradULeftgradient of the velocity in the x-direction of the left cell
gradVLeftgradient of the velocity in the y-direction of the left cell
gradWLeftgradient of the velocity in the z-direction of the left cell
muLeftdynamic viscosity of the left cell

◆ solveFluxViscosityOther()

void APEViscosity::solveFluxViscosityOther ( ) const

Solve the viscosity flux at a boundary with non-defined type yet.

◆ solveFluxViscositySymmetry()

void APEViscosity::solveFluxViscositySymmetry ( const Coord gradULeft,
const Coord gradVLeft,
const Coord gradWLeft,
const double &  muLeft 
) const

Solve the viscosity flux at a boundary with a symmetry type.

Parameters
gradULeftgradient of the velocity in the x-direction of the left cell
gradVLeftgradient of the velocity in the y-direction of the left cell
gradWLeftgradient of the velocity in the z-direction of the left cell
mudynamic viscosity of the left cell

◆ solveFluxViscosityWall()

void APEViscosity::solveFluxViscosityWall ( const Coord velocityLeft,
const double &  muLeft,
const double &  distLeft,
Coord velocityWall = Coord::defaultCoordNonConst 
) const

Solve the viscosity flux at a boundary with a wall type in MRF case.

Parameters
velocityLeftvelocity of the left cell
muLeftdynamic viscosity of the left cell
distLeftdistance between the center of the left cell and its corresponding edge
velocityWallvelocity of the wall in the Moving Reference Frame context (MRF)

Member Data Documentation

◆ m_binormal

Coord APEViscosity::m_binormal
private

Binormal vector of the corresponding face for the flux computation (buffer)

◆ m_gradULeft

Coord APEViscosity::m_gradULeft
private

Left gradient of the velocity in the x-direction for the flux computation (buffer)

◆ m_gradURight

Coord APEViscosity::m_gradURight
private

Right gradient of the velocity in the x-direction for the flux computation (buffer)

◆ m_gradVLeft

Coord APEViscosity::m_gradVLeft
private

Left gradient of the velocity in the y-direction for the flux computation (buffer)

◆ m_gradVRight

Coord APEViscosity::m_gradVRight
private

Right gradient of the velocity in the y-direction for the flux computation (buffer)

◆ m_gradWLeft

Coord APEViscosity::m_gradWLeft
private

Left gradient of the velocity in the z-direction for the flux computation (buffer)

◆ m_gradWRight

Coord APEViscosity::m_gradWRight
private

Right gradient of the velocity in the z-direction for the flux computation (buffer)

◆ m_mu

double APEViscosity::m_mu
private

Dynamic viscosity (kg/m/s or Pa.s) (taken from the EOS classe) (buffer)

◆ m_normal

Coord APEViscosity::m_normal
private

Normal vector of the corresponding face for the flux computation (buffer)

◆ m_numQPA

int APEViscosity::m_numQPA
private

Number of the associated variable for each cell (m_vecGrandeursAddPhys)

◆ m_tangent

Coord APEViscosity::m_tangent
private

Tangent vector of the corresponding face for the flux computation (buffer)

◆ m_tensorLeft

Tensor APEViscosity::m_tensorLeft
private

Left tensor of the velocity gradients (buffer)

◆ m_tensorRight

Tensor APEViscosity::m_tensorRight
private

Right tensor of the velocity gradients (buffer)

◆ m_velocityLeft

Coord APEViscosity::m_velocityLeft
private

Left velocity vector for the flux computation (buffer)

◆ m_velocityRight

Coord APEViscosity::m_velocityRight
private

Right velocity vector for the flux computation (buffer)


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