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

General class for surface tension for the velocity-equilibrium system of equations. More...

#include <APUEqSurfaceTension.h>

Inherits APUEq.

Public Member Functions

 APUEqSurfaceTension (tinyxml2::XMLElement *element, int &numberQPA, std::vector< std::string > nameTransports, std::vector< std::string > namePhases, std::string nameFichier="Unknown file")
 
virtual ~APUEqSurfaceTension ()
 
virtual void addQuantityAddPhys (Cell *cell)
 Add the quantities for the additional physic.
 
virtual double computeEnergyAddPhys (QuantitiesAddPhys *QPA)
 Compute and send back mass energy linked to the physic (0 if no linked energy)
 
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 solveFluxSurfaceTensionInner (const Coord &velocityLeft, const Coord &velocityRight, const Coord &gradCLeft, const Coord &gradCRight) const
 Solve the surface-tension flux between two cells.
 
void solveFluxSurfaceTensionNonReflecting (const Coord &velocityLeft, const Coord &gradCLeft) const
 Solve the surface-tension flux at a boundary with an non-reflecting type.
 
void solveFluxSurfaceTensionWall (const Coord &gradCLeft) const
 Solve the surface-tension flux at a boundary with a wall type.
 
void solveFluxSurfaceTensionInletInjStagState () const
 Solve the surface-tension flux at a boundary with an inlet injection using stagnation state type.
 
void solveFluxSurfaceTensionOutletPressure () const
 Solve the surface-tension flux at a boundary with an outlet at imposed pressure type.
 
void solveFluxSurfaceTensionOther () const
 Solve the surface-tension 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 *cell)
 Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on X)
 
virtual void addSymmetricTermsRadialAxisOnY (Cell *cell)
 Add the symmetrical terms of the corresponding additional physic in a cell (when radial axis is on Y)
 
virtual void reinitializeColorFunction (std::vector< Cell * > *cellsLvl, const int &lvl)
 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 void communicationsAddPhys (const int &dim, const int &lvl)
 Communication of the additional physics quantities for parallel purposes with Adaptive Mesh Refinement.
 
virtual const int & getNumTransportAssociated () const
 Return the associated number of the transport equation (only used for surface tension)
 
- Public Member Functions inherited from APUEq
 APUEq ()
 
virtual ~APUEq ()
 
- Public Member Functions inherited from AddPhys
 AddPhys ()
 
virtual ~AddPhys ()
 
virtual std::string whoAmI () const
 
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.
 

Private Attributes

std::string m_nameTransportAssociated
 Name of the associated variable for each cell (m_vecTransports)
 
int m_numTransportAssociated
 Number of the associated variable for each cell (m_vecTransports)
 
int m_numQPAGradC
 Number of the associated variable for each cell (m_vecGrandeursAddPhys)
 
double m_sigma
 Surface tension coefficient.
 
bool m_reinitializationActivated
 Reinitialization of the transported variable with the volume fraction of a phase.
 
std::string m_namePhaseAssociated
 Name of the associated variable for each cell (m_vecPhases)
 
int m_numPhaseAssociated
 Number of the associated variable for each cell (m_vecPhases)
 
Coord m_velocityLeft
 Left velocity vector for the flux computation (buffer)
 
Coord m_gradCLeft
 Left gradient of the color function for the flux computation (buffer)
 
Coord m_velocityRight
 Right velocity vector for the flux computation (buffer)
 
Coord m_gradCRight
 Right gradient of the color function vector for the flux computation (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)
 

Detailed Description

General class for surface tension for the velocity-equilibrium system of equations.

Constructor & Destructor Documentation

◆ APUEqSurfaceTension()

APUEqSurfaceTension::APUEqSurfaceTension ( tinyxml2::XMLElement element,
int &  numberQPA,
std::vector< std::string >  nameTransports,
std::vector< std::string >  namePhases,
std::string  nameFichier = "Unknown file" 
)

APUEqSurfaceTension constructor from a read in XML format ex : <dataSurfaceTension transport="color1" sigma="800.">

◆ ~APUEqSurfaceTension()

APUEqSurfaceTension::~APUEqSurfaceTension ( )
virtual

Member Function Documentation

◆ addNonCons()

virtual void APUEqSurfaceTension::addNonCons ( Cell )
inlinevirtual

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

Parameters
cellcell

Reimplemented from AddPhys.

◆ addQuantityAddPhys()

void APUEqSurfaceTension::addQuantityAddPhys ( Cell )
virtual

Add the quantities for the additional physic.

Parameters
cellcorresponding cell

Reimplemented from AddPhys.

◆ addSymmetricTermsRadialAxisOnX()

void APUEqSurfaceTension::addSymmetricTermsRadialAxisOnX ( Cell )
virtual

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

Parameters
cellcell

Reimplemented from AddPhys.

◆ addSymmetricTermsRadialAxisOnY()

void APUEqSurfaceTension::addSymmetricTermsRadialAxisOnY ( Cell )
virtual

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 APUEqSurfaceTension::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.

◆ computeEnergyAddPhys()

double APUEqSurfaceTension::computeEnergyAddPhys ( QuantitiesAddPhys )
virtual

Compute and send back mass energy linked to the physic (0 if no linked energy)

Parameters
QPAcorresponding additional physic quantities

Reimplemented from AddPhys.

◆ getNumTransportAssociated()

virtual const int & APUEqSurfaceTension::getNumTransportAssociated ( ) const
inlinevirtual

Return the associated number of the transport equation (only used for surface tension)

Reimplemented from AddPhys.

◆ reinitializationActivated()

virtual bool APUEqSurfaceTension::reinitializationActivated ( )
inlinevirtual

Send back true if the reinitialization of the color function is activated.

Reimplemented from AddPhys.

◆ reinitializeColorFunction()

void APUEqSurfaceTension::reinitializeColorFunction ( std::vector< Cell * > *  ,
const int &   
)
virtual

Reinitialize the color function for the surface-tension terms with the volume fraction equation.

Parameters
cellsLvlcells vector for every level
lvllevel

Reimplemented from AddPhys.

◆ solveFluxAddPhys()

void APUEqSurfaceTension::solveFluxAddPhys ( CellInterface )
virtual

Solve the additional physic flux between two cells.

Parameters
cellInterfacecell interface

Reimplemented from AddPhys.

◆ solveFluxAddPhysBoundary()

void APUEqSurfaceTension::solveFluxAddPhysBoundary ( CellInterface )
virtual

Solve the additional physic flux at a domain boundary.

Parameters
cellInterfacecell interface

Reimplemented from AddPhys.

◆ solveFluxSurfaceTensionInletInjStagState()

void APUEqSurfaceTension::solveFluxSurfaceTensionInletInjStagState ( ) const

Solve the surface-tension flux at a boundary with an inlet injection using stagnation state type.

◆ solveFluxSurfaceTensionInner()

void APUEqSurfaceTension::solveFluxSurfaceTensionInner ( const Coord velocityLeft,
const Coord velocityRight,
const Coord gradCLeft,
const Coord gradCRight 
) const

Solve the surface-tension flux between two cells.

Parameters
velocityLeftvelocity of the left cell
velocityRightvelocity of the right cell
gradCLeftcolor function gradient of the left cell
gradCRightcolor function gradient of the right cell

◆ solveFluxSurfaceTensionNonReflecting()

void APUEqSurfaceTension::solveFluxSurfaceTensionNonReflecting ( const Coord velocityLeft,
const Coord gradCLeft 
) const

Solve the surface-tension flux at a boundary with an non-reflecting type.

Parameters
velocityLeftvelocity of the left cell
gradCLeftcolor function gradient of the left cell

◆ solveFluxSurfaceTensionOther()

void APUEqSurfaceTension::solveFluxSurfaceTensionOther ( ) const

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

◆ solveFluxSurfaceTensionOutletPressure()

void APUEqSurfaceTension::solveFluxSurfaceTensionOutletPressure ( ) const

Solve the surface-tension flux at a boundary with an outlet at imposed pressure type.

◆ solveFluxSurfaceTensionWall()

void APUEqSurfaceTension::solveFluxSurfaceTensionWall ( const Coord gradCLeft) const

Solve the surface-tension flux at a boundary with a wall type.

Parameters
gradCLeftcolor function gradient of the left cell

Member Data Documentation

◆ m_binormal

Coord APUEqSurfaceTension::m_binormal
private

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

◆ m_gradCLeft

Coord APUEqSurfaceTension::m_gradCLeft
private

Left gradient of the color function for the flux computation (buffer)

◆ m_gradCRight

Coord APUEqSurfaceTension::m_gradCRight
private

Right gradient of the color function vector for the flux computation (buffer)

◆ m_namePhaseAssociated

std::string APUEqSurfaceTension::m_namePhaseAssociated
private

Name of the associated variable for each cell (m_vecPhases)

◆ m_nameTransportAssociated

std::string APUEqSurfaceTension::m_nameTransportAssociated
private

Name of the associated variable for each cell (m_vecTransports)

◆ m_normal

Coord APUEqSurfaceTension::m_normal
private

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

◆ m_numPhaseAssociated

int APUEqSurfaceTension::m_numPhaseAssociated
private

Number of the associated variable for each cell (m_vecPhases)

◆ m_numQPAGradC

int APUEqSurfaceTension::m_numQPAGradC
private

Number of the associated variable for each cell (m_vecGrandeursAddPhys)

◆ m_numTransportAssociated

int APUEqSurfaceTension::m_numTransportAssociated
private

Number of the associated variable for each cell (m_vecTransports)

◆ m_reinitializationActivated

bool APUEqSurfaceTension::m_reinitializationActivated
private

Reinitialization of the transported variable with the volume fraction of a phase.

◆ m_sigma

double APUEqSurfaceTension::m_sigma
private

Surface tension coefficient.

◆ m_tangent

Coord APUEqSurfaceTension::m_tangent
private

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

◆ m_velocityLeft

Coord APUEqSurfaceTension::m_velocityLeft
private

Left velocity vector for the flux computation (buffer)

◆ m_velocityRight

Coord APUEqSurfaceTension::m_velocityRight
private

Right velocity vector for the flux computation (buffer)


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