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

Base class for a mesh cell. More...

#include <Cell.h>

Inherited by CellGhost, and CellO2.

Collaboration diagram for Cell:
[legend]

Public Member Functions

 Cell ()
 Basic Cell constructor for a non AMR cell.
 Cell (int lvl)
 Cell constructor for an AMR cell.
virtual ~Cell ()
void addCellInterface (CellInterface *cellInterface)
 Add a cell interface to current cell.
void deleteCellInterface (CellInterface *cellInterface)
 Delete the cell interface of current cell.
void associateExtVar (Model *mod, Gradient *grad)
 Associate external variables.
virtual void allocate (const std::vector< AddPhys * > &addPhys)
 Memory allocation of cell attributes.
void allocateEos ()
void fill (std::vector< GeometricalDomain * > &domains, const int &)
 Filling cell properties using a physical domain.
virtual void copyPhase (const int &phaseNumber, Phase *phase)
void copyMixture (Mixture *mixture)
void setToZeroCons ()
void setToZeroConsGlobal ()
void timeEvolution (const double &dt, Symmetry *symmetry)
void timeEvolutionAddPhys (const double &dt)
void buildPrim ()
void buildCons ()
virtual void correctionEnergy (Prim=vecPhases)
void sourceTermIntegration (const double &)
void printPhasesMixture (std::ofstream &fileStream) const
virtual void completeFulfillState ()
virtual void fulfillState (Prim=vecPhases)
void fulfillStateResume ()
void localProjection (const Coord &normal, const Coord &tangent, const Coord &binormal, Prim=vecPhases)
virtual void reverseProjection (const Coord &normal, const Coord &tangent, const Coord &binormal)
virtual void copyInCell (Cell &) const
void copyVec (Phase **vecPhases, Mixture *mixture, Transport *vecTransports)
void deleteInterface (const int &b)
void prepareAddPhys ()
Coord selectVector (Variable nameVector, int num=0, int subscript=-1) const
void setVector (Variable nameVector, const Coord &value, int num=0, int subscript=-1)
const QuantitiesAddPhys * getQPA (const int &numQPA) const
QuantitiesAddPhys * getQPA (const int &numQPA)
 Allow to recover an additional physical quantity.
const Coord & getGradTk (int &numPhase, int &numAddPhys) const
 Allow to recover an additional physical quantity.
void setGradTk (int &numPhase, int &numAddPhys, double *buffer, int &counter)
void addNonConsAddPhys (AddPhys &addPhys, Symmetry *symmetry)
void reinitializeColorFunction (const int &numTransport, const int &numPhase)
 Re-initialize the color function (transport) with alpha.
double hatFilterScalar (Variable nameVariable, int num=0)
 Select a specific scalar variable.
void computeGradients (std::vector< Coord > &grads, std::vector< Variable > &nameVariables, std::vector< int > &numPhases)
 Compute gradients (temperature, velocity, density) of a cell.
int getCellInterfacesSize () const
CellInterface * getCellInterface (const int &b)
void setCellInterface (const int &b, CellInterface *cellInterface)
virtual Phase * getPhase (const int &phaseNumber, Prim=vecPhases) const
virtual Phase ** getPhases (Prim=vecPhases) const
virtual Mixture * getMixture (Prim=vecPhases) const
Flux * getCons () const
void setCons (Flux *cons)
const Coord & getPosition () const
const Coord & getSize () const
const double & getSizeX () const
const double & getSizeY () const
const double & getSizeZ () const
void setElement (Element *element, const int &numCell)
Element * getElement () const
virtual void setTransport (double value, int &numTransport, Prim=vecPhases)
virtual Transport & getTransport (const int &numTransport, Prim=vecPhases) const
virtual Transport * getTransports (Prim=vecPhases) const
Transport * getConsTransport (const int &numTransport) const
void setConsTransport (double value, const int &numTransport)
std::vector< QuantitiesAddPhys * > & getVecQuantitiesAddPhys ()
const int & getNumberPhases () const
const int & getNumberTransports () const
double getDensityGradient ()
Model * getModel ()
Coord & getVelocity ()
const Coord & getVelocity () const
void setWall (bool wall)
bool getWall () const
double selectScalar (Variable nameVariable, int num=0) const
 Select a specific scalar variable.
virtual void allocateSecondOrderBuffersAndGradientVectors (Phase **, Mixture *)
 Compute global variable buffers (min, max, etc.) and initialize speficic gradient vectors for 2nd-order scheme on unstructured mesh.
virtual void computeGradientsO2 ()
 Compute gradients for 2nd-order scheme on unstructured mesh.
virtual void limitGradientsO2 (Limiter &)
virtual void computeLocalSlopes (CellInterface &)
 Compute slopes for 2nd-order scheme on unstructured mesh.
virtual void computeLocalSlopes (CellInterface &, Limiter &, Limiter &, Limiter &, Limiter &, double &, double &, double &, double &)
virtual void computeLocalSlopesLimite (CellInterface &, Limiter &, Limiter &, Limiter &, Limiter &, double &)
virtual void computeLocalSlopesPeriodic (CellInterface &, Limiter &, Limiter &, Limiter &, Limiter &, double &, double &, double &, double &)
virtual Phase * getSlopes () const
virtual Transport * getSlopesTransport () const
virtual void saveCons ()
virtual void getBackCons ()
virtual void predictionOrdre2 (const double &, Symmetry *)
double distance (Cell *c)
double distanceX (Cell *c)
double distanceY (Cell *c)
double distanceZ (Cell *c)
double distance (CellInterface *b)
double distanceX (CellInterface *b)
double distanceY (CellInterface *b)
double distanceZ (CellInterface *b)
bool traverseObjet (const GeometricObject &objet) const
void printInfo () const
double getPsat ()
 Compute saturation pressure for a liquid/vapor fluid mixture (first phase is considered predominant -> not generalized be careful).
bool printGnuplotAMR (std::ofstream &fileStream, const int &dim, GeometricObject *objet=0, bool recordPsat=false)
void computeVolumePhaseK (double &integration, const int &numPhase)
void computeMass (double &mass, double &alphaRef)
void computeTotalMass (double &mass)
void computeTotalEnergy (double &totalEnergy)
void lookForPmax (double *pMax, double *pMaxWall)
void setToZeroXi ()
void setToZeroConsXi ()
void timeEvolutionXi ()
void chooseRefine (const double &xiSplit, const int &nbCellsY, const int &nbCellsZ, const std::vector< AddPhys * > &addPhys, int &nbCellsTotalAMR)
void chooseUnrefine (const double &xiJoin, int &nbCellsTotalAMR)
void refineCellAndCellInterfaces (const int &nbCellsY, const int &nbCellsZ, const std::vector< AddPhys * > &addPhys, const bool &refineExternalCellInterfaces)
virtual void createChildCell (const int &lvl)
void unrefineCellAndCellInterfaces ()
void averageChildrenInParent ()
bool lvlNeighborTooHigh ()
bool lvlNeighborTooLow ()
void buildLvlCellsAndLvlInternalCellInterfacesArrays (std::vector< Cell * > *cellsLvl, std::vector< CellInterface * > *cellInterfacesLvl)
const int & getLvl () const
const bool & getSplit () const
const double & getXi () const
void setXi (double value)
void addFluxXi (double value)
int getNumberCellsChildren ()
Cell * getCellChild (const int &num)
std::vector< Cell * > * getChildVector ()
virtual void pushBackSlope ()
virtual void popBackSlope ()
virtual int getRankOfNeighborCPU () const
virtual void setRankOfNeighborCPU (int)
void fillBufferPrimitives (double *buffer, int &counter, const int &lvl, const int &neighbour, Prim type=vecPhases) const
void getBufferPrimitives (double *buffer, int &counter, const int &lvl, Eos **eos, Prim type=vecPhases)
void fillBufferVector (double *buffer, int &counter, const int &lvl, const int &neighbour, const int &dim, Variable nameVector, int num=0, int index=-1) const
void getBufferVector (double *buffer, int &counter, const int &lvl, const int &dim, Variable nameVector, int num=0, int index=-1)
void fillBufferTransports (double *buffer, int &counter, const int &lvl, const int &neighbour) const
void getBufferTransports (double *buffer, int &counter, const int &lvl)
virtual void fillBufferSlopes (double *, int &, const int &, const int &) const
virtual void getBufferSlopes (double *, int &, const int &)
virtual bool isCellGhost () const
bool hasNeighboringGhostCellOfCPUneighbour (const int &neighbour) const
int numberOfNeighboringGhostCellsOfCPUneighbour (const int &neighbour) const
virtual GradPhase * getGradPhase (const int &) const
virtual GradMixture * getGradMixture () const
virtual GradTransport * getGradTransport (const int &) const
void chooseRefineDeraffineGhost (const int &nbCellsY, const int &nbCellsZ, const std::vector< AddPhys * > &addPhys, std::vector< Cell * > *cellsLvlGhost)
void refineCellAndCellInterfacesGhost (const int &nbCellsY, const int &nbCellsZ, const std::vector< AddPhys * > &addPhys)
void unrefineCellAndCellInterfacesGhost ()
void fillBufferXi (double *buffer, int &counter, const int &lvl, const int &neighbour) const
void getBufferXi (double *buffer, int &counter, const int &lvl)
void fillBufferSplit (bool *buffer, int &counter, const int &lvl, const int &neighbour) const
void getBufferSplit (bool *buffer, int &counter, const int &lvl)
void fillNumberElementsToSendToNeighbour (int &numberElementsToSendToNeighbor, int &numberSlopesToSendToNeighbor, const int &lvl, const int &neighbour, int numberNeighboursOfCPUneighbour)
void fillDataToSend (std::vector< double > &dataToSend, std::vector< int > &dataSplitToSend, const int &lvl) const
void getDataToReceiveAndRefine (std::vector< double > &dataToReceive, std::vector< int > &dataSplitToReceive, const int &lvl, Eos **eos, int &counter, int &counterSplit, const int &nbCellsY, const int &nbCellsZ, const std::vector< AddPhys * > &addPhys)
void computeLoad (double &load, int lvl) const
void computeLvlMax (int &lvlMax) const
void clearExternalCellInterfaces (const int &nbCellsY, const int &nbCellsZ)
void updatePointersInternalCellInterfaces ()
void updateNbCellsTotalAMR (int &nbCellsTotalAMR)

Protected Attributes

bool m_wall
Phase ** m_vecPhases
Mixture * m_mixture
Transport * m_vecTransports
Flux * m_cons
Transport * m_consTransports
Element * m_element
std::vector< CellInterface * > m_cellInterfaces
std::vector< QuantitiesAddPhys * > m_vecQuantitiesAddPhys
int m_lvl
double m_xi
double m_consXi
bool m_split
std::vector< Cell * > m_childrenCells
std::vector< CellInterface * > m_childrenInternalCellInterfaces

Detailed Description

Base class for a mesh cell.

Constructor & Destructor Documentation

◆ Cell() [1/2]

Cell::Cell ( )

Basic Cell constructor for a non AMR cell.

Here is the caller graph for this function:

◆ Cell() [2/2]

Cell::Cell ( int lvl)

Cell constructor for an AMR cell.

Parameters
lvllevel of current AMR cell

◆ ~Cell()

Cell::~Cell ( )
virtual

Member Function Documentation

◆ addCellInterface()

void Cell::addCellInterface ( CellInterface * cellInterface)

Add a cell interface to current cell.

Parameters
cellInterfacepointer to added cell interface
Here is the caller graph for this function:

◆ addFluxXi()

void Cell::addFluxXi ( double value)

Add xi cell flux

◆ addNonConsAddPhys()

void Cell::addNonConsAddPhys ( AddPhys & addPhys,
Symmetry * symmetry )
Here is the call graph for this function:

◆ allocate()

void Cell::allocate ( const std::vector< AddPhys * > & addPhys)
virtual

Memory allocation of cell attributes.

Parameters
addPhysvector of additional physics

Reimplemented in CellO2, CellO2GhostCartesian, and CellO2NS.

◆ allocateEos()

void Cell::allocateEos ( )

◆ allocateSecondOrderBuffersAndGradientVectors()

virtual void Cell::allocateSecondOrderBuffersAndGradientVectors ( Phase ** ,
Mixture *  )
inlinevirtual

Compute global variable buffers (min, max, etc.) and initialize speficic gradient vectors for 2nd-order scheme on unstructured mesh.

Reimplemented in CellO2, and CellO2NS.

◆ associateExtVar()

void Cell::associateExtVar ( Model * mod,
Gradient * grad )

Associate external variables.

Parameters
modpointer to model
gradpointer to gradient method

◆ averageChildrenInParent()

void Cell::averageChildrenInParent ( )

Average variables of children cells in the parent cell, needed for computation of xi.

Here is the caller graph for this function:

◆ buildCons()

void Cell::buildCons ( )
Here is the caller graph for this function:

◆ buildLvlCellsAndLvlInternalCellInterfacesArrays()

void Cell::buildLvlCellsAndLvlInternalCellInterfacesArrays ( std::vector< Cell * > * cellsLvl,
std::vector< CellInterface * > * cellInterfacesLvl )

Build new arrays of cells and cell interfaces for level (lvl+1), only internal cell interfaces are added here

◆ buildPrim()

void Cell::buildPrim ( )
Here is the caller graph for this function:

◆ chooseRefine()

void Cell::chooseRefine ( const double & xiSplit,
const int & nbCellsY,
const int & nbCellsZ,
const std::vector< AddPhys * > & addPhys,
int & nbCellsTotalAMR )

Choice for refinement of parent cell

Here is the call graph for this function:

◆ chooseRefineDeraffineGhost()

void Cell::chooseRefineDeraffineGhost ( const int & nbCellsY,
const int & nbCellsZ,
const std::vector< AddPhys * > & addPhys,
std::vector< Cell * > * cellsLvlGhost )

Choice for refinement, unrefinement of the ghost parent cell + Update of ghost cell vector for lvl+1

Here is the call graph for this function:

◆ chooseUnrefine()

void Cell::chooseUnrefine ( const double & xiJoin,
int & nbCellsTotalAMR )

Choice for unrefinement of parent cell

Here is the call graph for this function:

◆ clearExternalCellInterfaces()

void Cell::clearExternalCellInterfaces ( const int & nbCellsY,
const int & nbCellsZ )

◆ completeFulfillState()

void Cell::completeFulfillState ( )
virtual
Here is the call graph for this function:

◆ computeGradients()

void Cell::computeGradients ( std::vector< Coord > & grads,
std::vector< Variable > & nameVariables,
std::vector< int > & numPhases )

Compute gradients (temperature, velocity, density) of a cell.

Parameters
gradsArray of desired gradients, e.g. for temperature each component represents phase temperature and for velocity each component represents the gradient of a velocity component (grad(u), grad(v), grad(w))
nameVariablesName of the variable for which the gradient is calculated
numPhasesPhases number's
Here is the caller graph for this function:

◆ computeGradientsO2()

virtual void Cell::computeGradientsO2 ( )
inlinevirtual

Compute gradients for 2nd-order scheme on unstructured mesh.

Reimplemented in CellO2, and CellO2NS.

◆ computeLoad()

void Cell::computeLoad ( double & load,
int lvl ) const

◆ computeLocalSlopes() [1/2]

virtual void Cell::computeLocalSlopes ( CellInterface & )
inlinevirtual

Compute slopes for 2nd-order scheme on unstructured mesh.

Reimplemented in CellO2, and CellO2NS.

◆ computeLocalSlopes() [2/2]

virtual void Cell::computeLocalSlopes ( CellInterface & ,
Limiter & ,
Limiter & ,
Limiter & ,
Limiter & ,
double & ,
double & ,
double & ,
double &  )
inlinevirtual

Reimplemented in CellO2, CellO2Cartesian, and CellO2GhostCartesian.

◆ computeLocalSlopesLimite()

virtual void Cell::computeLocalSlopesLimite ( CellInterface & ,
Limiter & ,
Limiter & ,
Limiter & ,
Limiter & ,
double &  )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2, and CellO2Cartesian.

◆ computeLocalSlopesPeriodic()

virtual void Cell::computeLocalSlopesPeriodic ( CellInterface & ,
Limiter & ,
Limiter & ,
Limiter & ,
Limiter & ,
double & ,
double & ,
double & ,
double &  )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2Cartesian.

◆ computeLvlMax()

void Cell::computeLvlMax ( int & lvlMax) const

◆ computeMass()

void Cell::computeMass ( double & mass,
double & alphaRef )

◆ computeTotalEnergy()

void Cell::computeTotalEnergy ( double & totalEnergy)

◆ computeTotalMass()

void Cell::computeTotalMass ( double & mass)

◆ computeVolumePhaseK()

void Cell::computeVolumePhaseK ( double & integration,
const int & numPhase )

◆ copyInCell()

virtual void Cell::copyInCell ( Cell & ) const
inlinevirtual
Here is the call graph for this function:

◆ copyMixture()

void Cell::copyMixture ( Mixture * mixture)
Here is the caller graph for this function:

◆ copyPhase()

void Cell::copyPhase ( const int & phaseNumber,
Phase * phase )
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ copyVec()

void Cell::copyVec ( Phase ** vecPhases,
Mixture * mixture,
Transport * vecTransports )

◆ correctionEnergy()

void Cell::correctionEnergy ( Prim = vecPhases)
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ createChildCell()

void Cell::createChildCell ( const int & lvl)
virtual

Create a child cell (not initialized)

Reimplemented in CellGhost, CellO2, CellO2Cartesian, and CellO2GhostCartesian.

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

◆ deleteCellInterface()

void Cell::deleteCellInterface ( CellInterface * cellInterface)

Delete the cell interface of current cell.

Parameters
cellInterfacepointer to deleted cell interface
Here is the caller graph for this function:

◆ deleteInterface()

void Cell::deleteInterface ( const int & b)

◆ distance() [1/2]

double Cell::distance ( Cell * c)

Does nothing for first order cells Distance totale

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

◆ distance() [2/2]

double Cell::distance ( CellInterface * b)

Distance totale

Here is the call graph for this function:

◆ distanceX() [1/2]

double Cell::distanceX ( Cell * c)

Distance selon x

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

◆ distanceX() [2/2]

double Cell::distanceX ( CellInterface * b)

Distance selon x

Here is the call graph for this function:

◆ distanceY() [1/2]

double Cell::distanceY ( Cell * c)

Distance selon y

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

◆ distanceY() [2/2]

double Cell::distanceY ( CellInterface * b)

Distance selon y

Here is the call graph for this function:

◆ distanceZ() [1/2]

double Cell::distanceZ ( Cell * c)

Distance selon z

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

◆ distanceZ() [2/2]

double Cell::distanceZ ( CellInterface * b)

Distance selon z

Here is the call graph for this function:

◆ fill()

void Cell::fill ( std::vector< GeometricalDomain * > & domains,
const int &  )

Filling cell properties using a physical domain.

Parameters
domainsdomain used for filling

◆ fillBufferPrimitives()

void Cell::fillBufferPrimitives ( double * buffer,
int & counter,
const int & lvl,
const int & neighbour,
Prim type = vecPhases ) const

Does nothing for non-ghost cells

Here is the call graph for this function:

◆ fillBufferSlopes()

virtual void Cell::fillBufferSlopes ( double * ,
int & ,
const int & ,
const int &  ) const
inlinevirtual

Reimplemented in CellO2, CellO2Cartesian, and CellO2NS.

Here is the call graph for this function:

◆ fillBufferSplit()

void Cell::fillBufferSplit ( bool * buffer,
int & counter,
const int & lvl,
const int & neighbour ) const
Here is the call graph for this function:

◆ fillBufferTransports()

void Cell::fillBufferTransports ( double * buffer,
int & counter,
const int & lvl,
const int & neighbour ) const
Here is the call graph for this function:

◆ fillBufferVector()

void Cell::fillBufferVector ( double * buffer,
int & counter,
const int & lvl,
const int & neighbour,
const int & dim,
Variable nameVector,
int num = 0,
int index = -1 ) const
Here is the call graph for this function:

◆ fillBufferXi()

void Cell::fillBufferXi ( double * buffer,
int & counter,
const int & lvl,
const int & neighbour ) const
Here is the call graph for this function:

◆ fillDataToSend()

void Cell::fillDataToSend ( std::vector< double > & dataToSend,
std::vector< int > & dataSplitToSend,
const int & lvl ) const

◆ fillNumberElementsToSendToNeighbour()

void Cell::fillNumberElementsToSendToNeighbour ( int & numberElementsToSendToNeighbor,
int & numberSlopesToSendToNeighbor,
const int & lvl,
const int & neighbour,
int numberNeighboursOfCPUneighbour )

◆ fulfillState()

void Cell::fulfillState ( Prim = vecPhases)
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ fulfillStateResume()

void Cell::fulfillStateResume ( )

◆ getBackCons()

virtual void Cell::getBackCons ( )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2.

◆ getBufferPrimitives()

void Cell::getBufferPrimitives ( double * buffer,
int & counter,
const int & lvl,
Eos ** eos,
Prim type = vecPhases )
Here is the call graph for this function:

◆ getBufferSlopes()

virtual void Cell::getBufferSlopes ( double * ,
int & ,
const int &  )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2, CellO2Cartesian, CellO2GhostCartesian, CellO2GhostNS, and CellO2NS.

Here is the call graph for this function:

◆ getBufferSplit()

void Cell::getBufferSplit ( bool * buffer,
int & counter,
const int & lvl )

◆ getBufferTransports()

void Cell::getBufferTransports ( double * buffer,
int & counter,
const int & lvl )
Here is the call graph for this function:

◆ getBufferVector()

void Cell::getBufferVector ( double * buffer,
int & counter,
const int & lvl,
const int & dim,
Variable nameVector,
int num = 0,
int index = -1 )
Here is the call graph for this function:

◆ getBufferXi()

void Cell::getBufferXi ( double * buffer,
int & counter,
const int & lvl )

◆ getCellChild()

Cell * Cell::getCellChild ( const int & num)

Return pointer to the corresponding child cell number

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

◆ getCellInterface()

CellInterface * Cell::getCellInterface ( const int & b)
Here is the caller graph for this function:

◆ getCellInterfacesSize()

int Cell::getCellInterfacesSize ( ) const
Here is the caller graph for this function:

◆ getChildVector()

std::vector< Cell * > * Cell::getChildVector ( )

Return pointer to child vector

◆ getCons()

Flux * Cell::getCons ( ) const
Here is the caller graph for this function:

◆ getConsTransport()

Transport * Cell::getConsTransport ( const int & numTransport) const

◆ getDataToReceiveAndRefine()

void Cell::getDataToReceiveAndRefine ( std::vector< double > & dataToReceive,
std::vector< int > & dataSplitToReceive,
const int & lvl,
Eos ** eos,
int & counter,
int & counterSplit,
const int & nbCellsY,
const int & nbCellsZ,
const std::vector< AddPhys * > & addPhys )
Here is the call graph for this function:

◆ getDensityGradient()

double Cell::getDensityGradient ( )
Here is the caller graph for this function:

◆ getElement()

Element * Cell::getElement ( ) const
Here is the caller graph for this function:

◆ getGradMixture()

virtual GradMixture * Cell::getGradMixture ( ) const
inlinevirtual

Reimplemented in CellO2, and CellO2NS.

Here is the call graph for this function:

◆ getGradPhase()

virtual GradPhase * Cell::getGradPhase ( const int & ) const
inlinevirtual

Reimplemented in CellO2, and CellO2NS.

Here is the call graph for this function:

◆ getGradTk()

const Coord & Cell::getGradTk ( int & numPhase,
int & numAddPhys ) const

Allow to recover an additional physical quantity.

◆ getGradTransport()

virtual GradTransport * Cell::getGradTransport ( const int & ) const
inlinevirtual

Reimplemented in CellO2, and CellO2NS.

Here is the call graph for this function:

◆ getLvl()

const int & Cell::getLvl ( ) const
inline
Here is the caller graph for this function:

◆ getMixture()

Mixture * Cell::getMixture ( Prim = vecPhases) const
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ getModel()

Model * Cell::getModel ( )

◆ getNumberCellsChildren()

int Cell::getNumberCellsChildren ( )

Return the number of children cells

Here is the caller graph for this function:

◆ getNumberPhases()

const int & Cell::getNumberPhases ( ) const

◆ getNumberTransports()

const int & Cell::getNumberTransports ( ) const

◆ getPhase()

Phase * Cell::getPhase ( const int & phaseNumber,
Prim = vecPhases ) const
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ getPhases()

Phase ** Cell::getPhases ( Prim = vecPhases) const
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ getPosition()

const Coord & Cell::getPosition ( ) const
inline
Here is the caller graph for this function:

◆ getPsat()

double Cell::getPsat ( )

Compute saturation pressure for a liquid/vapor fluid mixture (first phase is considered predominant -> not generalized be careful).

Here is the caller graph for this function:

◆ getQPA() [1/2]

QuantitiesAddPhys * Cell::getQPA ( const int & numQPA)
inline

Allow to recover an additional physical quantity.

◆ getQPA() [2/2]

const QuantitiesAddPhys * Cell::getQPA ( const int & numQPA) const
inline
Here is the caller graph for this function:

◆ getRankOfNeighborCPU()

virtual int Cell::getRankOfNeighborCPU ( ) const
inlinevirtual

Does nothing for non-ghost O2 cells

Reimplemented in CellGhost, CellO2GhostCartesian, and CellO2GhostNS.

Here is the caller graph for this function:

◆ getSize()

const Coord & Cell::getSize ( ) const
inline

◆ getSizeX()

const double & Cell::getSizeX ( ) const
inline
Here is the caller graph for this function:

◆ getSizeY()

const double & Cell::getSizeY ( ) const
inline
Here is the caller graph for this function:

◆ getSizeZ()

const double & Cell::getSizeZ ( ) const
inline
Here is the caller graph for this function:

◆ getSlopes()

virtual Phase * Cell::getSlopes ( ) const
inlinevirtual

Does nothing for first order cells

◆ getSlopesTransport()

virtual Transport * Cell::getSlopesTransport ( ) const
inlinevirtual

Does nothing for first order cells

◆ getSplit()

const bool & Cell::getSplit ( ) const
inline

Get the cell AMR level in the AMR tree

Here is the caller graph for this function:

◆ getTransport()

Transport & Cell::getTransport ( const int & numTransport,
Prim = vecPhases ) const
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ getTransports()

Transport * Cell::getTransports ( Prim = vecPhases) const
virtual

Reimplemented in CellO2.

◆ getVecQuantitiesAddPhys()

std::vector< QuantitiesAddPhys * > & Cell::getVecQuantitiesAddPhys ( )
Here is the caller graph for this function:

◆ getVelocity() [1/2]

Coord & Cell::getVelocity ( )
Here is the caller graph for this function:

◆ getVelocity() [2/2]

const Coord & Cell::getVelocity ( ) const

◆ getWall()

bool Cell::getWall ( ) const
inline

◆ getXi()

const double & Cell::getXi ( ) const
inline

Return true if the cells is plit, false otherwise

Here is the caller graph for this function:

◆ hasNeighboringGhostCellOfCPUneighbour()

bool Cell::hasNeighboringGhostCellOfCPUneighbour ( const int & neighbour) const

Return a bool that is true if the cell has a neighboring ghost cell corresponding to CPU "neighbour"

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

◆ hatFilterScalar()

double Cell::hatFilterScalar ( Variable nameVariable,
int num = 0 )

Select a specific scalar variable.

Parameters
nameVariablesName of the scalar variable to filter
numPhases number's needed by selectScalar
Returns
Filtered value of the scalar variable on current cell and adjacent ones
Here is the call graph for this function:

◆ isCellGhost()

virtual bool Cell::isCellGhost ( ) const
inlinevirtual

Does nothing for first order cells

Reimplemented in CellGhost, and CellO2GhostCartesian.

Here is the caller graph for this function:

◆ limitGradientsO2()

virtual void Cell::limitGradientsO2 ( Limiter & )
inlinevirtual

Reimplemented in CellO2, and CellO2NS.

◆ localProjection()

void Cell::localProjection ( const Coord & normal,
const Coord & tangent,
const Coord & binormal,
Prim = vecPhases )

◆ lookForPmax()

void Cell::lookForPmax ( double * pMax,
double * pMaxWall )

◆ lvlNeighborTooHigh()

bool Cell::lvlNeighborTooHigh ( )

Look for AMR level of neighboring cells if too high to unrefine

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

◆ lvlNeighborTooLow()

bool Cell::lvlNeighborTooLow ( )

Look for AMR level of neighboring cells if too low to refine

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

◆ numberOfNeighboringGhostCellsOfCPUneighbour()

int Cell::numberOfNeighboringGhostCellsOfCPUneighbour ( const int & neighbour) const

Return the number of neighboring ghost cells corresponding to CPU "neighbour" this cell has

Here is the call graph for this function:

◆ popBackSlope()

virtual void Cell::popBackSlope ( )
inlinevirtual

Does nothing for non-ghost O2 cells

Reimplemented in CellO2GhostCartesian.

◆ predictionOrdre2()

virtual void Cell::predictionOrdre2 ( const double & ,
Symmetry *  )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2.

◆ prepareAddPhys()

void Cell::prepareAddPhys ( )
Here is the caller graph for this function:

◆ printGnuplotAMR()

bool Cell::printGnuplotAMR ( std::ofstream & fileStream,
const int & dim,
GeometricObject * objet = 0,
bool recordPsat = false )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printInfo()

void Cell::printInfo ( ) const

◆ printPhasesMixture()

void Cell::printPhasesMixture ( std::ofstream & fileStream) const
Here is the caller graph for this function:

◆ pushBackSlope()

virtual void Cell::pushBackSlope ( )
inlinevirtual

Reimplemented in CellO2GhostCartesian.

Here is the caller graph for this function:

◆ refineCellAndCellInterfaces()

void Cell::refineCellAndCellInterfaces ( const int & nbCellsY,
const int & nbCellsZ,
const std::vector< AddPhys * > & addPhys,
const bool & refineExternalCellInterfaces )

Refine parent cell by creation of children cells

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

◆ refineCellAndCellInterfacesGhost()

void Cell::refineCellAndCellInterfacesGhost ( const int & nbCellsY,
const int & nbCellsZ,
const std::vector< AddPhys * > & addPhys )

Refinement of parent ghost cell by creation of children ghost cells

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

◆ reinitializeColorFunction()

void Cell::reinitializeColorFunction ( const int & numTransport,
const int & numPhase )

Re-initialize the color function (transport) with alpha.

◆ reverseProjection()

void Cell::reverseProjection ( const Coord & normal,
const Coord & tangent,
const Coord & binormal )
virtual

◆ saveCons()

virtual void Cell::saveCons ( )
inlinevirtual

Does nothing for first order cells

Reimplemented in CellO2.

◆ selectScalar()

double Cell::selectScalar ( Variable nameVariable,
int num = 0 ) const

Select a specific scalar variable.

Parameters
nameVariablesName of the variable to select
numPhasesPhases number's
Here is the caller graph for this function:

◆ selectVector()

Coord Cell::selectVector ( Variable nameVector,
int num = 0,
int subscript = -1 ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCellInterface()

void Cell::setCellInterface ( const int & b,
CellInterface * cellInterface )
Here is the caller graph for this function:

◆ setCons()

void Cell::setCons ( Flux * cons)

◆ setConsTransport()

void Cell::setConsTransport ( double value,
const int & numTransport )

◆ setElement()

void Cell::setElement ( Element * element,
const int & numCell )
Here is the caller graph for this function:

◆ setGradTk()

void Cell::setGradTk ( int & numPhase,
int & numAddPhys,
double * buffer,
int & counter )
Here is the call graph for this function:

◆ setRankOfNeighborCPU()

virtual void Cell::setRankOfNeighborCPU ( int )
inlinevirtual

Reimplemented in CellGhost, CellO2GhostCartesian, and CellO2GhostNS.

◆ setToZeroCons()

void Cell::setToZeroCons ( )

◆ setToZeroConsGlobal()

void Cell::setToZeroConsGlobal ( )

◆ setToZeroConsXi()

void Cell::setToZeroConsXi ( )

set m_consXi to zero

◆ setToZeroXi()

void Cell::setToZeroXi ( )

set m_xi to zero

◆ setTransport()

void Cell::setTransport ( double value,
int & numTransport,
Prim = vecPhases )
virtual

Reimplemented in CellO2.

Here is the caller graph for this function:

◆ setVector()

void Cell::setVector ( Variable nameVector,
const Coord & value,
int num = 0,
int subscript = -1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setWall()

void Cell::setWall ( bool wall)
Here is the caller graph for this function:

◆ setXi()

void Cell::setXi ( double value)

Return Xi cell value Set the Xi cell value

◆ sourceTermIntegration()

void Cell::sourceTermIntegration ( const double & )
inline

◆ timeEvolution()

void Cell::timeEvolution ( const double & dt,
Symmetry * symmetry )
Here is the call graph for this function:

◆ timeEvolutionAddPhys()

void Cell::timeEvolutionAddPhys ( const double & dt)

◆ timeEvolutionXi()

void Cell::timeEvolutionXi ( )

time evolution of Xi for smoothing

◆ traverseObjet()

bool Cell::traverseObjet ( const GeometricObject & objet) const

◆ unrefineCellAndCellInterfaces()

void Cell::unrefineCellAndCellInterfaces ( )

Unrefine parent cell by destruction of children cells

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

◆ unrefineCellAndCellInterfacesGhost()

void Cell::unrefineCellAndCellInterfacesGhost ( )

Unrefinement of parent ghost cell by destruction of children ghost cells

Here is the caller graph for this function:

◆ updateNbCellsTotalAMR()

void Cell::updateNbCellsTotalAMR ( int & nbCellsTotalAMR)

◆ updatePointersInternalCellInterfaces()

void Cell::updatePointersInternalCellInterfaces ( )

Member Data Documentation

◆ m_cellInterfaces

std::vector<CellInterface*> Cell::m_cellInterfaces
protected

Vector of cell-interface pointers

◆ m_childrenCells

std::vector<Cell*> Cell::m_childrenCells
protected

Vector of children cells pointers

◆ m_childrenInternalCellInterfaces

std::vector<CellInterface*> Cell::m_childrenInternalCellInterfaces
protected

Vector of Internal children cell-interface pointers of the cell

◆ m_cons

Flux* Cell::m_cons
protected

Conservative variables

◆ m_consTransports

Transport* Cell::m_consTransports
protected

Array of fluxes for advected variables

◆ m_consXi

double Cell::m_consXi
protected

Buffer variable for Xi fluxes

◆ m_element

Element* Cell::m_element
protected

Pointer to corresponding geometrical mesh element

◆ m_lvl

int Cell::m_lvl
protected

Cell AMR level in the AMR tree

◆ m_mixture

Mixture* Cell::m_mixture
protected

◆ m_split

bool Cell::m_split
protected

Indicator for splitted cell (Do I possess children ?)

◆ m_vecPhases

Phase** Cell::m_vecPhases
protected

Array of phases

◆ m_vecQuantitiesAddPhys

std::vector<QuantitiesAddPhys*> Cell::m_vecQuantitiesAddPhys
protected

Vector of pointers to the Quantities of Additional Physics of the cell

◆ m_vecTransports

Transport* Cell::m_vecTransports
protected

Array of passive variables advected in the flow

◆ m_wall

bool Cell::m_wall
protected

Bool indicating if the cell is a solid boundary (for immersed boundaries)

◆ m_xi

double Cell::m_xi
protected

Criteria for refine/unrefine cell


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