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

#include <MeshCartesianAMR.h>

Inherits MeshCartesian.

Collaboration diagram for MeshCartesianAMR:
[legend]

Public Member Functions

 MeshCartesianAMR (double lX, int numberCellsX, double lY, int numberCellsY, double lZ, int numberCellsZ, std::vector< stretchZone > stretchX, std::vector< stretchZone > stretchY, std::vector< stretchZone > stretchZ, int lvlMax=0, double criteriaVar=1.e10, bool varRho=false, bool varP=false, bool varU=false, bool varAlpha=false, double xiSplit=1., double xiJoin=1.)
 ~MeshCartesianAMR () override
int initializeGeometrie (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &resumeSimulation, bool, SimulationOrder schemeOrder) override
 renvoi le number de dimensions (1,2 ou 3)
void initializeGeometrieAMR (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &resumeSimulation, SimulationOrder schemeOrder)
void assignElementProperties (TypeMeshContainer< Cell * > &cells, std::vector< decomposition::Key< 3 > > &keys)
void createCellInterfacesFacesAndGhostCells (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, SimulationOrder schemeOrder)
void createGhostCell (const TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, const SimulationOrder schemeOrder, const decomposition::Key< 3 > nKey, const int neighbour, const int cell_idx)
void procedureRaffinementInitialization (TypeMeshContainer< Cell * > *cellsLvl, TypeMeshContainer< Cell * > *cellsLvlGhost, TypeMeshContainer< CellInterface * > *cellInterfacesLvl, const std::vector< AddPhys * > &addPhys, int &nbCellsTotalAMR, std::vector< GeometricalDomain * > &domains, Eos **eos, const int &resumeSimulation, SimulationOrder schemeOrder, std::vector< GeometricalDomain * > &solidDomains) override
void procedureRaffinement (TypeMeshContainer< Cell * > *cellsLvl, TypeMeshContainer< Cell * > *cellsLvlGhost, TypeMeshContainer< CellInterface * > *cellInterfacesLvl, const int &lvl, const std::vector< AddPhys * > &addPhys, int &nbCellsTotalAMR, Eos **eos) override
std::string whoAmI () const override
void writeHeaderPiece (std::ofstream &fileStream, TypeMeshContainer< Cell * > *cellsLvl) const override
size_t getNodes (std::vector< double > &dataset, std::vector< Cell * > *cellsLvl) const override
 Store coordinates of mesh nodes in a flat vector.
size_t getConnectivity (std::vector< double > &dataset, std::vector< Cell * > *cellsLvl) const override
 Store connectivities of mesh cells in a flat vector of double.
size_t getConnectivity (std::vector< int64_t > &dataset, std::vector< Cell * > *) const override
 Store connectivities of mesh cells in a flat vector of 'ECOGEN_VTKHDF_intType' integers.
size_t getConnectivity (std::vector< int32_t > &dataset, std::vector< Cell * > *) const override
 Store connectivities of mesh cells in a flat vector of 'ECOGEN_VTKHDF_intType' integers.
void getOffsets (std::vector< double > &dataset, std::vector< Cell * > *cellsLvl) const override
 Store offsets in connectivity array of mesh cells.
void getOffsets (std::vector< int64_t > &dataset, std::vector< Cell * > *) const override
 Store offsets in connectivity array of mesh cells.
void getOffsets (std::vector< int32_t > &dataset, std::vector< Cell * > *) const override
 Store offsets in connectivity array of mesh cells.
void getTypeCell (std::vector< double > &dataset, std::vector< Cell * > *cellsLvl) const override
void getTypeCell (std::vector< unsigned char > &dataset, std::vector< Cell * > *cellsLvl) const override
void getData (TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, const int var, int phase) const override
void getData (TypeMeshContainer< Cell * > *cellsLvl, std::vector< float > &dataset, const int var, int phase) const override
void setDataSet (std::vector< double > &dataset, TypeMeshContainer< Cell * > *cellsLvl, const int var, int phase) const override
void refineCellAndCellInterfaces (Cell *cell, const std::vector< AddPhys * > &addPhys, int &nbCellsTotalAMR) override
void printDomainDecomposition (std::ofstream &fileStream) override
void readDomainDecomposition (std::ifstream &fileStream) override
int getLvlMax () const override
void initializePersistentCommunications (const TypeMeshContainer< Cell * > &cells, SimulationOrder schemeOrder) override
void finalizeParallele (const int &lvlMax) override
void parallelLoadBalancingAMR (TypeMeshContainer< Cell * > *cellsLvl, TypeMeshContainer< Cell * > *cellsLvlGhost, TypeMeshContainer< CellInterface * > *cellInterfacesLvl, SimulationOrder schemeOrder, const std::vector< AddPhys * > &addPhys, Eos **eos, int &nbCellsTotalAMR, std::vector< GeometricalDomain * > &solidDomains, bool init=false) override
virtual void computePotentialBalancing (TypeMeshContainer< Cell * > *cellsLvl, bool init, int lvl, bool &balance, std::vector< typename decomposition::Key< 3 >::value_type > &indicesSendStartGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesSendEndGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesReceiveStartGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesReceiveEndGlobal)
virtual void balance (TypeMeshContainer< Cell * > *cellsLvl, TypeMeshContainer< Cell * > *cellsLvlGhost, TypeMeshContainer< CellInterface * > *cellInterfacesLvl, SimulationOrder schemeOrder, const std::vector< AddPhys * > &addPhys, Eos **eos, int &nbCellsTotalAMR, std::vector< typename decomposition::Key< 3 >::value_type > &indicesSendStartGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesSendEndGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesReceiveStartGlobal, std::vector< typename decomposition::Key< 3 >::value_type > &indicesReceiveEndGlobal, std::vector< GeometricalDomain * > &solidDomains)
Public Member Functions inherited from MeshCartesian
 MeshCartesian (double lX, int numberCellsX, double lY, int numberCellsY, double lZ, int numberCellsZ, std::vector< stretchZone > stretchX, std::vector< stretchZone > stretchY, std::vector< stretchZone > stretchZ)
 ~MeshCartesian () override
void assignLimits (std::vector< BoundCond * > &boundCond) override
void getIJK (const int &index, int &i, int &j, int &k) const
void construitIGlobal (const int &i, const int &j, const int &k, int &index) const
void meshStretching ()
void initializeGeometrieMonoCpu (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< CellInterface * > &cellInterfaces, SimulationOrder schemeOrder)
void initializeGeometrieParallele (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, SimulationOrder schemeOrder)
void parallelePartitioning (SimulationOrder schemeOrder, TypeMeshContainer< Cell * > &cells)
void setImmersedBoundaries (TypeMeshContainer< CellInterface * > *cellInterfacesLvl, SimulationOrder schemeOrder) const override
int getNumberCellsX () const override
int getNumberCellsY () const override
int getNumberCellsZ () const override
int getNumberCellsXGlobal () const override
int getNumberCellsYGlobal () const override
int getNumberCellsZGlobal () const override
int getOffsetX () const override
int getOffsetY () const override
int getOffsetZ () const override
int getNumberCpuX () const override
int getNumberCpuY () const override
int getNumberCpuZ () const override
std::string getStringExtent (bool global=false) const override
std::array< int, 6 > getArrayGlobalExtent () const override
 Return whole extent of global cartesian mesh under the form of an array.
void getCoord (std::vector< double > &dataset, Axis axis, bool global=false) const override
 For structured grid, get coordinates along a given axis.
void getData (TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, const int var, int phase) const override
void getData (TypeMeshContainer< Cell * > *cellsLvl, std::vector< float > &dataset, const int var, int phase) const override
void setDataSet (std::vector< double > &dataset, TypeMeshContainer< Cell * > *cellsLvl, const int var, int phase) const override
Public Member Functions inherited from Mesh
 Mesh ()
virtual ~Mesh ()
const int & getProblemDimension () const
const int & getNumberCells () const
const int & getNumberCellsTotal () const
const int & getNumberFaces () const
const int & getNumFichier () const
const TypeM & getType () const
void writeResultsGnuplot (std::vector< Cell * > *cellsLvl, std::ofstream &fileStream, GeometricObject *objet=0, bool recordPsat=false) const
virtual void writeHeaderPiece (std::ofstream &, std::vector< Cell * > *) const
virtual void getData (std::vector< Cell * > *, std::vector< double > &, const int, int) const
 Extracting data for printing results.
virtual void getData (std::vector< Cell * > *, std::vector< float > &, const int, int) const
virtual void setDataSet (std::vector< double > &, std::vector< Cell * > *, const int, int) const
 Extracting data for printing results.
virtual void extractAbsVelocityMRF (std::vector< Cell * > *, std::vector< double > &, Source *) const
 Extracting absolute velocity for specific Moving Reference Frame computations.
virtual void extractAbsVelocityMRF (std::vector< Cell * > *, std::vector< float > &, Source *) const
virtual void extractReferenceLength (std::vector< Cell * > *, std::vector< double > &) const
virtual void extractReferenceLength (std::vector< Cell * > *, std::vector< float > &) const
virtual void procedureRaffinementInitialization (std::vector< Cell * > *, TypeMeshContainer< Cell * > *, std::vector< CellInterface * > *, const std::vector< AddPhys * > &, int &nbCellsTotalAMR, std::vector< GeometricalDomain * > &, Eos **, const int &, SimulationOrder, std::vector< GeometricalDomain * > &)
virtual void procedureRaffinement (std::vector< Cell * > *, TypeMeshContainer< Cell * > *, std::vector< CellInterface * > *, const int &, const std::vector< AddPhys * > &, int &, Eos **)
virtual void parallelLoadBalancingAMR (std::vector< Cell * > *, TypeMeshContainer< Cell * > *, std::vector< CellInterface * > *, SimulationOrder, const std::vector< AddPhys * > &, Eos **, int &, std::vector< GeometricalDomain * > &, bool=false)
virtual std::string getMeshExtension () const
virtual void initCpuMeshSequential (TypeMeshContainer< Cell * > &, SimulationOrder &)
 Initialize mesh of a single partition for restart with mesh mapping option.
virtual void initCpuMeshParallel (TypeMeshContainer< Cell * > &, SimulationOrder &, int)
 Initialize mesh of a single partition of a partionned mesh for restart with mesh mapping option.

Private Member Functions

template<typename T>
size_t getConnectivity_private (std::vector< T > &dataset, std::vector< Cell * > *cellsLvl) const
template<typename T>
void getOffsets_private (std::vector< T > &dataset, std::vector< Cell * > *cellsLvl, uint64_t maxVal) const
template<typename T>
void getTypeCell_private (std::vector< T > &dataset, std::vector< Cell * > *cellsLvl) const
template<typename T>
void getData_private (TypeMeshContainer< Cell * > *cellsLvl, std::vector< T > &dataset, const int var, int phase) const

Private Attributes

int m_lvlMax
 Niveau maximal sur l arbre AMR (si m_lvlMax = 0, pas d AMR).
double m_criteriaVar
 Value of criteria to not pass on the variation of a variable for coarsening or refining (put xi=1.).
bool m_varRho
bool m_varP
bool m_varU
bool m_varAlpha
 Choice on which variation we coarsen or refine.
double m_xiSplit
double m_xiJoin
 Value of xi to split or join the cells.
decomposition::Decomposition m_decomp
 Parallel domain decomposition based on keys.

Additional Inherited Members

Protected Member Functions inherited from Mesh
template<typename T>
void getData_body (Cell *cell, std::vector< T > &dataset, const int var, const int phase, const bool isAMR) const
 Access data of cell cell and append the wanted variable cell in dataset vector.
Protected Attributes inherited from MeshCartesian
TypeMeshContainer< Element * > m_elements
 Vector of element objects: Contains geometrical attributes.
TypeMeshContainer< Face * > m_faces
 Vector of face objects (between two elements or at boundaries): Contains geometrical attributes.
double m_lX
double m_lY
double m_lZ
int m_numberCellsX
int m_numberCellsY
int m_numberCellsZ
int m_numberCellsXGlobal
int m_numberCellsYGlobal
int m_numberCellsZGlobal
std::vector< double > m_dXi
std::vector< double > m_dYj
std::vector< double > m_dZk
std::vector< double > m_posXi
std::vector< double > m_posYj
std::vector< double > m_posZk
std::vector< stretchZone > m_stretchX
std::vector< stretchZone > m_stretchY
std::vector< stretchZone > m_stretchZ
int m_numberCpuX
int m_numberCpuY
int m_numberCpuZ
int m_CpuCoordX
int m_CpuCoordY
int m_CpuCoordZ
int m_offsetX
int m_offsetY
int m_offsetZ
int m_numberBoundCondInit
BoundCond * m_limXm
BoundCond * m_limXp
BoundCond * m_limYm
BoundCond * m_limYp
BoundCond * m_limZm
BoundCond * m_limZp
Protected Attributes inherited from Mesh
int m_numFile
int m_problemDimension
int m_numberElements
int m_numberFacesTotal
int m_numberCellsCalcul
int m_numberCellsTotal
TypeM m_type

Constructor & Destructor Documentation

◆ MeshCartesianAMR()

MeshCartesianAMR::MeshCartesianAMR ( double lX,
int numberCellsX,
double lY,
int numberCellsY,
double lZ,
int numberCellsZ,
std::vector< stretchZone > stretchX,
std::vector< stretchZone > stretchY,
std::vector< stretchZone > stretchZ,
int lvlMax = 0,
double criteriaVar = 1.e10,
bool varRho = false,
bool varP = false,
bool varU = false,
bool varAlpha = false,
double xiSplit = 1.,
double xiJoin = 1. )
Here is the call graph for this function:

◆ ~MeshCartesianAMR()

MeshCartesianAMR::~MeshCartesianAMR ( )
override

Member Function Documentation

◆ assignElementProperties()

void MeshCartesianAMR::assignElementProperties ( TypeMeshContainer< Cell * > & cells,
std::vector< decomposition::Key< 3 > > & keys )
Here is the caller graph for this function:

◆ balance()

void MeshCartesianAMR::balance ( TypeMeshContainer< Cell * > * cellsLvl,
TypeMeshContainer< Cell * > * cellsLvlGhost,
TypeMeshContainer< CellInterface * > * cellInterfacesLvl,
SimulationOrder schemeOrder,
const std::vector< AddPhys * > & addPhys,
Eos ** eos,
int & nbCellsTotalAMR,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesSendStartGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesSendEndGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesReceiveStartGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesReceiveEndGlobal,
std::vector< GeometricalDomain * > & solidDomains )
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ computePotentialBalancing()

void MeshCartesianAMR::computePotentialBalancing ( TypeMeshContainer< Cell * > * cellsLvl,
bool init,
int lvl,
bool & balance,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesSendStartGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesSendEndGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesReceiveStartGlobal,
std::vector< typename decomposition::Key< 3 >::value_type > & indicesReceiveEndGlobal )
virtual
Here is the caller graph for this function:

◆ createCellInterfacesFacesAndGhostCells()

void MeshCartesianAMR::createCellInterfacesFacesAndGhostCells ( TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< Cell * > & cellsGhost,
TypeMeshContainer< CellInterface * > & cellInterfaces,
SimulationOrder schemeOrder )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createGhostCell()

void MeshCartesianAMR::createGhostCell ( const TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< Cell * > & cellsGhost,
const SimulationOrder schemeOrder,
const decomposition::Key< 3 > nKey,
const int neighbour,
const int cell_idx )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalizeParallele()

void MeshCartesianAMR::finalizeParallele ( const int & lvlMax)
overridevirtual

Reimplemented from Mesh.

◆ getConnectivity() [1/3]

size_t MeshCartesianAMR::getConnectivity ( std::vector< double > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store connectivities of mesh cells in a flat vector of double.

Returns
Cell count if success, 0 in case of overflow
Note
Check that the cell count doesn't overflow the maximal value representable by a 'size_t'. Don't check that the connectivity values fit in 'double' variables.
Remarks
Method has been kept to not break legacy I/Os but avoiding casts is probably better

Reimplemented from Mesh.

Here is the call graph for this function:

◆ getConnectivity() [2/3]

size_t MeshCartesianAMR::getConnectivity ( std::vector< int32_t > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store connectivities of mesh cells in a flat vector of 'ECOGEN_VTKHDF_intType' integers.

Returns
Cell count if success, 0 in case of overflow
Note
Check that the cell count doesn't overflow the maximal value representable by a 'size_t'. Don't check that the connectivity values fit the vector type.

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ getConnectivity() [3/3]

size_t MeshCartesianAMR::getConnectivity ( std::vector< int64_t > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store connectivities of mesh cells in a flat vector of 'ECOGEN_VTKHDF_intType' integers.

Returns
Cell count if success, 0 in case of overflow
Note
Check that the cell count doesn't overflow the maximal value representable by a 'size_t'. Don't check that the connectivity values fit the vector type.

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ getConnectivity_private()

template<typename T>
size_t MeshCartesianAMR::getConnectivity_private ( std::vector< T > & dataset,
std::vector< Cell * > * cellsLvl ) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getData() [1/2]

void MeshCartesianAMR::getData ( TypeMeshContainer< Cell * > * cellsLvl,
std::vector< double > & dataset,
const int var,
int phase ) const
override
Here is the call graph for this function:

◆ getData() [2/2]

void MeshCartesianAMR::getData ( TypeMeshContainer< Cell * > * cellsLvl,
std::vector< float > & dataset,
const int var,
int phase ) const
override
Here is the call graph for this function:

◆ getData_private()

template<typename T>
void MeshCartesianAMR::getData_private ( TypeMeshContainer< Cell * > * cellsLvl,
std::vector< T > & dataset,
const int var,
int phase ) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLvlMax()

int MeshCartesianAMR::getLvlMax ( ) const
inlineoverridevirtual

Reimplemented from Mesh.

◆ getNodes()

size_t MeshCartesianAMR::getNodes ( std::vector< double > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store coordinates of mesh nodes in a flat vector.

Returns
Node count if success, 0 in case of overflow
Note
Check that the node count doesn't overflow the maximal value representable by a 'size_t'

Reimplemented from MeshCartesian.

◆ getOffsets() [1/3]

void MeshCartesianAMR::getOffsets ( std::vector< double > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store offsets in connectivity array of mesh cells.

Note
Check that the max offset doesn't overflow the maximal integer exactly representable by a 'double'.
Remarks
Method has been kept to not break legacy I/Os but avoiding casts is probably better

Reimplemented from Mesh.

Here is the call graph for this function:

◆ getOffsets() [2/3]

void MeshCartesianAMR::getOffsets ( std::vector< int32_t > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store offsets in connectivity array of mesh cells.

Note
Check that the max offset doesn't overflow the maximal value representable by a int32_t variable.

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ getOffsets() [3/3]

void MeshCartesianAMR::getOffsets ( std::vector< int64_t > & ,
std::vector< Cell * > *  ) const
overridevirtual

Store offsets in connectivity array of mesh cells.

Note
Check that the max offset doesn't overflow the maximal value representable by a int64_t variable.

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ getOffsets_private()

template<typename T>
void MeshCartesianAMR::getOffsets_private ( std::vector< T > & dataset,
std::vector< Cell * > * cellsLvl,
uint64_t maxVal ) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTypeCell() [1/2]

void MeshCartesianAMR::getTypeCell ( std::vector< double > & dataset,
std::vector< Cell * > * cellsLvl ) const
overridevirtual

Reimplemented from Mesh.

Here is the call graph for this function:

◆ getTypeCell() [2/2]

void MeshCartesianAMR::getTypeCell ( std::vector< unsigned char > & dataset,
std::vector< Cell * > * cellsLvl ) const
overridevirtual

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ getTypeCell_private()

template<typename T>
void MeshCartesianAMR::getTypeCell_private ( std::vector< T > & dataset,
std::vector< Cell * > * cellsLvl ) const
private
Here is the caller graph for this function:

◆ initializeGeometrie()

int MeshCartesianAMR::initializeGeometrie ( TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< Cell * > & cellsGhost,
TypeMeshContainer< CellInterface * > & cellInterfaces,
const int & resumeSimulation,
bool pretraitementParallele,
SimulationOrder schemeOrder )
overridevirtual

renvoi le number de dimensions (1,2 ou 3)

Reimplemented from MeshCartesian.

Here is the call graph for this function:

◆ initializeGeometrieAMR()

void MeshCartesianAMR::initializeGeometrieAMR ( TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< Cell * > & cellsGhost,
TypeMeshContainer< CellInterface * > & cellInterfaces,
const int & resumeSimulation,
SimulationOrder schemeOrder )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializePersistentCommunications()

void MeshCartesianAMR::initializePersistentCommunications ( const TypeMeshContainer< Cell * > & cells,
SimulationOrder schemeOrder )
overridevirtual

Reimplemented from Mesh.

◆ parallelLoadBalancingAMR()

void MeshCartesianAMR::parallelLoadBalancingAMR ( TypeMeshContainer< Cell * > * cellsLvl,
TypeMeshContainer< Cell * > * cellsLvlGhost,
TypeMeshContainer< CellInterface * > * cellInterfacesLvl,
SimulationOrder schemeOrder,
const std::vector< AddPhys * > & addPhys,
Eos ** eos,
int & nbCellsTotalAMR,
std::vector< GeometricalDomain * > & solidDomains,
bool init = false )
override
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printDomainDecomposition()

void MeshCartesianAMR::printDomainDecomposition ( std::ofstream & fileStream)
overridevirtual

Reimplemented from Mesh.

◆ procedureRaffinement()

void MeshCartesianAMR::procedureRaffinement ( TypeMeshContainer< Cell * > * cellsLvl,
TypeMeshContainer< Cell * > * cellsLvlGhost,
TypeMeshContainer< CellInterface * > * cellInterfacesLvl,
const int & lvl,
const std::vector< AddPhys * > & addPhys,
int & nbCellsTotalAMR,
Eos ** eos )
override
Here is the caller graph for this function:

◆ procedureRaffinementInitialization()

void MeshCartesianAMR::procedureRaffinementInitialization ( TypeMeshContainer< Cell * > * cellsLvl,
TypeMeshContainer< Cell * > * cellsLvlGhost,
TypeMeshContainer< CellInterface * > * cellInterfacesLvl,
const std::vector< AddPhys * > & addPhys,
int & nbCellsTotalAMR,
std::vector< GeometricalDomain * > & domains,
Eos ** eos,
const int & resumeSimulation,
SimulationOrder schemeOrder,
std::vector< GeometricalDomain * > & solidDomains )
override
Here is the call graph for this function:

◆ readDomainDecomposition()

void MeshCartesianAMR::readDomainDecomposition ( std::ifstream & fileStream)
overridevirtual

Reimplemented from Mesh.

◆ refineCellAndCellInterfaces()

void MeshCartesianAMR::refineCellAndCellInterfaces ( Cell * cell,
const std::vector< AddPhys * > & addPhys,
int & nbCellsTotalAMR )
overridevirtual

Reimplemented from Mesh.

Here is the call graph for this function:

◆ setDataSet()

void MeshCartesianAMR::setDataSet ( std::vector< double > & dataset,
TypeMeshContainer< Cell * > * cellsLvl,
const int var,
int phase ) const
override
Here is the call graph for this function:

◆ whoAmI()

std::string MeshCartesianAMR::whoAmI ( ) const
overridevirtual

Reimplemented from MeshCartesian.

◆ writeHeaderPiece()

void MeshCartesianAMR::writeHeaderPiece ( std::ofstream & fileStream,
TypeMeshContainer< Cell * > * cellsLvl ) const
override

Member Data Documentation

◆ m_criteriaVar

double MeshCartesianAMR::m_criteriaVar
private

Value of criteria to not pass on the variation of a variable for coarsening or refining (put xi=1.).

◆ m_decomp

decomposition::Decomposition MeshCartesianAMR::m_decomp
private

Parallel domain decomposition based on keys.

◆ m_lvlMax

int MeshCartesianAMR::m_lvlMax
private

Niveau maximal sur l arbre AMR (si m_lvlMax = 0, pas d AMR).

◆ m_varAlpha

bool MeshCartesianAMR::m_varAlpha
private

Choice on which variation we coarsen or refine.

◆ m_varP

bool MeshCartesianAMR::m_varP
private

◆ m_varRho

bool MeshCartesianAMR::m_varRho
private

◆ m_varU

bool MeshCartesianAMR::m_varU
private

◆ m_xiJoin

double MeshCartesianAMR::m_xiJoin
private

Value of xi to split or join the cells.

◆ m_xiSplit

double MeshCartesianAMR::m_xiSplit
private

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