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

#include <MUSGmshV4.h>

Inherits MUSGmsh.

Collaboration diagram for MUSGmshV4:
[legend]

Public Member Functions

 MUSGmshV4 (const std::string &meshFile, const std::string &meshExtension)
 ~MUSGmshV4 () override
void initGeometryMonoCPU (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< CellInterface * > &cellInterfaces, SimulationOrder schemeOrder=SimulationOrder::first) override
 initialize the geometry for single CPU computation
void initGeometryParallel (TypeMeshContainer< Cell * > &, TypeMeshContainer< Cell * > &, TypeMeshContainer< CellInterface * > &, SimulationOrder=SimulationOrder::first) override
 initialize the geometry for multi CPUs computation
void preProcessMeshFileForParallel () override
 split original mesh file for computation on several CPUs
void initCpuMeshSequential (TypeMeshContainer< Cell * > &, SimulationOrder &) override
 Initialize mesh of a single partition for restart with mesh mapping option.
void initCpuMeshParallel (TypeMeshContainer< Cell * > &, SimulationOrder &, int) override
 Initialize mesh of a single partition of a partionned mesh for restart with mesh mapping option.
Public Member Functions inherited from MUSGmsh
 MUSGmsh (const std::string &meshFile, const std::string &meshExtension)
 ~MUSGmsh () override
void initGeometryMonoCPU_common (TypeMeshContainer< Cell * > &cells)
std::string getMeshExtension () const override
Public Member Functions inherited from MeshUnStruct
 MeshUnStruct (const std::string &meshFile, const std::string &meshExtension)
 ~MeshUnStruct () override
void assignLimits (std::vector< BoundCond * > &boundCond) override
int initializeGeometrie (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &, bool pretraitementParallele=true, SimulationOrder schemeOrder=SimulationOrder::first) override
 renvoi le number de dimensions (1,2 ou 3)
std::string whoAmI () const override
void writeMeshInfoData () const
 write monocpu mesh information
void writeHeaderPiece (std::ofstream &fileStream, TypeMeshContainer< Cell * > *) const override
size_t getNodes (std::vector< double > &dataset, std::vector< Cell * > *) const override
 Store coordinates of mesh nodes in a flat vector.
size_t getConnectivity (std::vector< double > &dataset, std::vector< Cell * > *) 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 * > *) 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 * > *) const override
void getTypeCell (std::vector< unsigned char > &dataset, std::vector< Cell * > *) 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 extractAbsVelocityMRF (TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, Source *sourceMRF) const override
void extractAbsVelocityMRF (TypeMeshContainer< Cell * > *cellsLvl, std::vector< float > &dataset, Source *sourceMRF) const override
void extractReferenceLength (std::vector< Cell * > *cellsLvl, std::vector< double > &dataset) const override
void extractReferenceLength (std::vector< Cell * > *cellsLvl, std::vector< float > &dataset) const override
Public Member Functions inherited from Mesh
 Mesh ()
virtual ~Mesh ()
virtual void setImmersedBoundaries (TypeMeshContainer< CellInterface * > *, SimulationOrder) const
const int & getProblemDimension () const
const int & getNumberCells () const
const int & getNumberCellsTotal () const
const int & getNumberFaces () const
const int & getNumFichier () const
const TypeM & getType () const
virtual int getNumberCellsX () const
virtual int getNumberCellsY () const
virtual int getNumberCellsZ () const
virtual int getNumberCellsXGlobal () const
virtual int getNumberCellsYGlobal () const
virtual int getNumberCellsZGlobal () const
virtual int getOffsetX () const
virtual int getOffsetY () const
virtual int getOffsetZ () const
virtual int getNumberCpuX () const
virtual int getNumberCpuY () const
virtual int getNumberCpuZ () const
virtual int getLvlMax () 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 std::string getStringExtent (bool=false) const
virtual std::array< int, 6 > getArrayGlobalExtent () const
 For structured grid, get global grid extent under the form of an array.
virtual void getCoord (std::vector< double > &, Axis, bool global=false) const
 For structured grid, get coordinates along a given axis.
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 refineCellAndCellInterfaces (Cell *, const std::vector< AddPhys * > &, int &)
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 printDomainDecomposition (std::ofstream &)
virtual void readDomainDecomposition (std::ifstream &)
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 initializePersistentCommunications (const TypeMeshContainer< Cell * > &cells, SimulationOrder schemeOrder)
virtual void finalizeParallele (const int &lvlMax)
virtual void parallelLoadBalancingAMR (std::vector< Cell * > *, TypeMeshContainer< Cell * > *, std::vector< CellInterface * > *, SimulationOrder, const std::vector< AddPhys * > &, Eos **, int &, std::vector< GeometricalDomain * > &, bool=false)

Private Member Functions

void readMeshMonoCPU ()
void readElement (const Coord *nodesTable, std::ifstream &meshFile, ElementNS **element, std::vector< std::map< int, int > > &entities, int entityDim, int entityTag, int eltType)
void readMeshParallel ()

Additional Inherited Members

Static Public Member Functions inherited from MUSGmsh
static std::string readVersion (const std::string &meshFile)
Static Public Member Functions inherited from MeshUnStruct
static std::string readMeshFileExtension (const std::string &meshFile)
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 MeshUnStruct
std::string m_meshFile
 Name of the mesh file read.
std::string m_nameMesh
 Name of the mesh file without extension.
int m_numberNodes
 Number of nodes of the geometric domain.
int m_numberInnerNodes
 Number of inner nodes (except from ghosts).
Coord * m_nodes
 Array of node coordinates in the geometric domain.
int m_numberInnerElements
 Number of elements of n dimension of internal compute.
int m_numberGhostElements
 Number of ghost elements of dimension n for parallel computation.
int m_numberCommunicatingElements
 Real number of communicating elements.
ElementNS ** m_elements
 Array of internal geometric elements.
FaceNS ** m_faces
 Array of geometrical faces.
std::vector< BoundCond * > m_bound
 Array of boundary conditions.
int m_numberInnerFaces
 Number of faces between two cells of compute.
int m_numberBoundFaces
 Number of faces between a compute cell and a boundary.
int m_numberFacesParallel
 Number of faces between a compute cell and a ghost cell.
int m_numberGhostCells
 Number of ghost cells.
int m_numberElements0D
int m_numberElements1D
int m_numberElements2D
int m_numberElements3D
int m_numberSegments
int m_numberTriangles
int m_numberQuadrangles
int m_numberTetrahedrons
int m_numberPyramids
int m_numberPoints
int m_numberHexahedrons
double m_totalSurface
 Sum of 2D element surfaces.
double m_totalVolume
 Sum of 3D element volumes.
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

◆ MUSGmshV4()

MUSGmshV4::MUSGmshV4 ( const std::string & meshFile,
const std::string & meshExtension )
Here is the call graph for this function:

◆ ~MUSGmshV4()

MUSGmshV4::~MUSGmshV4 ( )
override

Member Function Documentation

◆ initCpuMeshParallel()

void MUSGmshV4::initCpuMeshParallel ( TypeMeshContainer< Cell * > & ,
SimulationOrder & ,
int  )
inlineoverridevirtual

Initialize mesh of a single partition of a partionned mesh for restart with mesh mapping option.

This mesh object has only the elements and nodes filled

Implements MUSGmsh.

Here is the call graph for this function:

◆ initCpuMeshSequential()

void MUSGmshV4::initCpuMeshSequential ( TypeMeshContainer< Cell * > & ,
SimulationOrder &  )
inlineoverridevirtual

Initialize mesh of a single partition for restart with mesh mapping option.

This mesh object has only the elements and nodes filled

Implements MUSGmsh.

Here is the call graph for this function:

◆ initGeometryMonoCPU()

void MUSGmshV4::initGeometryMonoCPU ( TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< CellInterface * > & cellInterfaces,
SimulationOrder schemeOrder = SimulationOrder::first )
overridevirtual

initialize the geometry for single CPU computation

Parameters
cells
cellInterfaces
schemeOrderscheme order (currently only first order working)

Implements MUSGmsh.

Here is the call graph for this function:

◆ initGeometryParallel()

void MUSGmshV4::initGeometryParallel ( TypeMeshContainer< Cell * > & cells,
TypeMeshContainer< Cell * > & cellsGhost,
TypeMeshContainer< CellInterface * > & cellInterfaces,
SimulationOrder schemeOrder = SimulationOrder::first )
inlineoverridevirtual

initialize the geometry for multi CPUs computation

Parameters
cells
cellInterfaces
schemeOrderscheme order (currently only first order working)

Implements MUSGmsh.

Here is the call graph for this function:

◆ preProcessMeshFileForParallel()

void MUSGmshV4::preProcessMeshFileForParallel ( )
inlineoverridevirtual

split original mesh file for computation on several CPUs

Implements MUSGmsh.

Here is the call graph for this function:

◆ readElement()

void MUSGmshV4::readElement ( const Coord * nodesTable,
std::ifstream & meshFile,
ElementNS ** element,
std::vector< std::map< int, int > > & entities,
int entityDim,
int entityTag,
int eltType )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readMeshMonoCPU()

void MUSGmshV4::readMeshMonoCPU ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readMeshParallel()

void MUSGmshV4::readMeshParallel ( )
inlineprivate
Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Meshes/MeshUnStruct/MUSGmsh/MUSGmshV4/MUSGmshV4.h
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Meshes/MeshUnStruct/MUSGmsh/MUSGmshV4/MUSGmshV4.cpp