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

#include <CellO2Cartesian.h>

Inherits CellO2.

Inherited by CellO2GhostCartesian.

Public Member Functions

 CellO2Cartesian ()
 
 CellO2Cartesian (int lvl)
 
virtual ~CellO2Cartesian ()
 
virtual void computeLocalSlopes (CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &alphaCellAfterOppositeSide, double &alphaCell, double &alphaCellOtherInterfaceSide, double &epsInterface)
 
virtual void computeLocalSlopesLimite (CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &epsInterface)
 
virtual void createChildCell (const int &lvl)
 
virtual void getBufferSlopes (double *, int &, const int &)
 
virtual void fillBufferSlopes (double *buffer, int &counter, const int &lvl, const int &neighbour) const
 
- Public Member Functions inherited from CellO2
 CellO2 ()
 
 CellO2 (int lvl)
 
virtual ~CellO2 ()
 
virtual void allocate (const std::vector< AddPhys * > &addPhys)
 Memory allocation of cell attributes.
 
virtual void copyPhase (const int &phaseNumber, Phase *phase)
 
virtual void saveCons ()
 
virtual void getBackCons ()
 
virtual void predictionOrdre2 (const double &dt, Symmetry *symmetry)
 
virtual void fulfillState (Prim type=vecPhases)
 
virtual PhasegetPhase (const int &phaseNumber, Prim type=vecPhases) const
 
virtual Phase ** getPhases (Prim type=vecPhases) const
 
virtual MixturegetMixture (Prim type=vecPhases) const
 
virtual TransportgetTransport (const int &numTransport, Prim type=vecPhases) const
 
virtual TransportgetTransports (Prim type=vecPhases) const
 
virtual void setTransport (double value, int &numTransport, Prim type=vecPhases)
 
virtual GradPhasegetGradPhase (const int &) const
 
virtual GradMixturegetGradMixture () const
 
virtual GradTransportgetGradTransport (const int &) const
 
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.
 
- Public Member Functions inherited from Cell
 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.
 
void allocateEos ()
 
void fill (std::vector< GeometricalDomain * > &domains, const int &)
 Filling cell properties using a physical domain.
 
void copyMixture (Mixture *mixture)
 
void setToZeroCons ()
 
void setToZeroConsGlobal ()
 
void timeEvolution (const double &dt, Symmetry *symmetry)
 
void timeEvolutionAddPhys (const double &dt)
 
void buildPrim ()
 
void buildCons ()
 
void correctionEnergy ()
 
void sourceTermIntegration (const double &)
 
void printPhasesMixture (std::ofstream &fileStream) const
 
virtual void completeFulfillState ()
 
void fulfillStateRestart ()
 
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 QuantitiesAddPhysgetQPA (int &numQPA) const
 
const CoordgetGradTk (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.
 
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
 
CellInterfacegetCellInterface (const int &b)
 
void setCellInterface (const int &b, CellInterface *cellInterface)
 
FluxgetCons () const
 
void setCons (Flux *cons)
 
const CoordgetPosition () const
 
const CoordgetSize () const
 
const double & getSizeX () const
 
const double & getSizeY () const
 
const double & getSizeZ () const
 
void setElement (Element *element, const int &numCell)
 
ElementgetElement () const
 
TransportgetConsTransport (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 ()
 
ModelgetModel ()
 
CoordgetVelocity ()
 
const CoordgetVelocity () const
 
void setWall (bool wall)
 
bool getWall () const
 
double selectScalar (Variable nameVariable, int num=0) const
 Select a specific scalar variable.
 
virtual PhasegetSlopes () const
 
virtual TransportgetSlopesTransport () const
 
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)
 
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 ()
 
CellgetCellChild (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 bool isCellGhost () const
 
bool hasNeighboringGhostCellOfCPUneighbour (const int &neighbour) const
 
int numberOfNeighboringGhostCellsOfCPUneighbour (const int &neighbour) 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)
 

Additional Inherited Members

- Protected Attributes inherited from CellO2
Phase ** m_vecPhasesO2
 
Mixturem_mixtureO2
 
Transportm_vecTransportsO2
 
Fluxm_consSauvegarde
 
Transportm_consTransportsSauvegarde
 
- Protected Attributes inherited from Cell
bool m_wall
 
Phase ** m_vecPhases
 
Mixturem_mixture
 
Transportm_vecTransports
 
Fluxm_cons
 
Transportm_consTransports
 
Elementm_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
 

Constructor & Destructor Documentation

◆ CellO2Cartesian() [1/2]

CellO2Cartesian::CellO2Cartesian ( )

◆ CellO2Cartesian() [2/2]

CellO2Cartesian::CellO2Cartesian ( int  lvl)

◆ ~CellO2Cartesian()

CellO2Cartesian::~CellO2Cartesian ( )
virtual

Member Function Documentation

◆ computeLocalSlopes()

void CellO2Cartesian::computeLocalSlopes ( CellInterface cellInterfaceRef,
Limiter globalLimiter,
Limiter interfaceLimiter,
Limiter globalVolumeFractionLimiter,
Limiter interfaceVolumeFractionLimiter,
double &  alphaCellAfterOppositeSide,
double &  alphaCell,
double &  alphaCellOtherInterfaceSide,
double &  epsInterface 
)
virtual

Reimplemented from CellO2.

Reimplemented in CellO2GhostCartesian.

◆ computeLocalSlopesLimite()

void CellO2Cartesian::computeLocalSlopesLimite ( CellInterface ,
Limiter ,
Limiter ,
Limiter ,
Limiter ,
double &   
)
virtual

Does nothing for first order cells

Reimplemented from CellO2.

◆ createChildCell()

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

Creer une cell enfant (non initializee)

Reimplemented from CellO2.

Reimplemented in CellO2GhostCartesian.

◆ fillBufferSlopes()

void CellO2Cartesian::fillBufferSlopes ( double *  buffer,
int &  counter,
const int &  lvl,
const int &  neighbour 
) const
virtual

Reimplemented from CellO2.

◆ getBufferSlopes()

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

Does nothing for first order cells

Reimplemented from CellO2.

Reimplemented in CellO2GhostCartesian.


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