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

#include <MeshUnStruct.h>

Inherits Mesh.

Inherited by MUSGmsh.

Public Member Functions

 MeshUnStruct (const std::string &meshFile, const std::string &meshExtension)
 
virtual ~MeshUnStruct ()
 
virtual void assignLimits (std::vector< BoundCond * > &boundCond)
 
virtual int initializeGeometrie (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &, bool pretraitementParallele=true, std::string ordreCalcul="FIRSTORDER")
 renvoi le number de dimensions (1,2 ou 3)
 
virtual std::string whoAmI () const
 
virtual void initGeometryMonoCPU (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< CellInterface * > &cellInterfaces, std::string computeOrder="FIRSTORDER")=0
 initialize the geometry for single CPU computation
 
virtual void initGeometryParallel (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, std::string computeOrder="FIRSTORDER")=0
 initialize the geometry for multi CPUs computation
 
virtual void preProcessMeshFileForParallel ()=0
 split original mesh file for computation on several CPUs
 
virtual void initCpuMeshSequential (TypeMeshContainer< Cell * > &cells, std::string &computeOrder)=0
 Initialize mesh of a single partition for restart with mesh mapping option.
 
virtual void initCpuMeshParallel (TypeMeshContainer< Cell * > &cells, std::string &computeOrder, int cpu)=0
 Initialize mesh of a single partition of a partionned mesh for restart with mesh mapping option.
 
void writeMeshInfoData () const
 write monocpu mesh information
 
virtual void writeHeaderPiece (std::ofstream &fileStream, TypeMeshContainer< Cell * > *) const
 
virtual void getNodes (std::vector< double > &dataset, std::vector< Cell * > *) const
 
virtual void getConnectivity (std::vector< double > &dataset, std::vector< Cell * > *) const
 
virtual void getOffsets (std::vector< double > &dataset, std::vector< Cell * > *) const
 
virtual void getTypeCell (std::vector< double > &dataset, std::vector< Cell * > *) const
 
virtual void getData (TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, const int var, int phase) const
 
virtual void setDataSet (std::vector< double > &dataset, TypeMeshContainer< Cell * > *cellsLvl, const int var, int phase) const
 
virtual void extractAbsVelocityMRF (TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, Source *sourceMRF) const
 
virtual void extractReferenceLength (std::vector< Cell * > *cellsLvl, std::vector< double > &dataset) const
 
- Public Member Functions inherited from Mesh
 Mesh ()
 
virtual ~Mesh ()
 
virtual void setImmersedBoundaries (TypeMeshContainer< CellInterface * > *, std::string) const
 
const int & getProblemDimension () const
 
const int & getNumberCells () const
 
const int & getNumberCellsTotal () const
 
const int & getNumberFaces () const
 
const int & getNumFichier () const
 
virtual double getdX () const
 
virtual double getdY () const
 
virtual double getdZ () const
 
const TypeMgetType () const
 
virtual int getNumberCellsY ()
 
virtual int getNumberCellsZ ()
 
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 void getCoord (std::vector< double > &, Axis) const
 
virtual void getData (std::vector< Cell * > *, std::vector< double > &, const int, int) const
 Extracting data for printing results.
 
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 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 &, std::string, 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, std::string ordreCalcul)
 
virtual void finalizeParallele (const int &lvlMax)
 
virtual void parallelLoadBalancingAMR (std::vector< Cell * > *, TypeMeshContainer< Cell * > *, std::vector< CellInterface * > *, std::string, const std::vector< AddPhys * > &, Eos **, int &, std::vector< GeometricalDomain * > &, bool=false)
 
virtual std::string getMeshExtension () const
 

Static Public Member Functions

static std::string readMeshFileExtension (const std::string &meshFile)
 

Protected Attributes

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)
 
Coordm_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_numFichier
 
int m_problemDimension
 
int m_numberElements
 
int m_numberFacesTotal
 
int m_numberCellsCalcul
 
int m_numberCellsTotal
 
TypeM m_type
 

Constructor & Destructor Documentation

◆ MeshUnStruct()

MeshUnStruct::MeshUnStruct ( const std::string &  meshFile,
const std::string &  meshExtension 
)

◆ ~MeshUnStruct()

MeshUnStruct::~MeshUnStruct ( )
virtual

Member Function Documentation

◆ assignLimits()

void MeshUnStruct::assignLimits ( std::vector< BoundCond * > &  boundCond)
virtual

Implements Mesh.

◆ extractAbsVelocityMRF()

void MeshUnStruct::extractAbsVelocityMRF ( TypeMeshContainer< Cell * > *  cellsLvl,
std::vector< double > &  dataset,
Source sourceMRF 
) const
virtual

◆ extractReferenceLength()

void MeshUnStruct::extractReferenceLength ( std::vector< Cell * > *  cellsLvl,
std::vector< double > &  dataset 
) const
virtual

Reimplemented from Mesh.

◆ getConnectivity()

void MeshUnStruct::getConnectivity ( std::vector< double > &  dataset,
std::vector< Cell * > *   
) const
virtual

Reimplemented from Mesh.

◆ getData()

void MeshUnStruct::getData ( TypeMeshContainer< Cell * > *  cellsLvl,
std::vector< double > &  dataset,
const int  var,
int  phase 
) const
virtual

◆ getNodes()

void MeshUnStruct::getNodes ( std::vector< double > &  dataset,
std::vector< Cell * > *   
) const
virtual

Reimplemented from Mesh.

◆ getOffsets()

void MeshUnStruct::getOffsets ( std::vector< double > &  dataset,
std::vector< Cell * > *   
) const
virtual

Reimplemented from Mesh.

◆ getTypeCell()

void MeshUnStruct::getTypeCell ( std::vector< double > &  dataset,
std::vector< Cell * > *   
) const
virtual

Reimplemented from Mesh.

◆ initCpuMeshParallel()

virtual void MeshUnStruct::initCpuMeshParallel ( TypeMeshContainer< Cell * > &  ,
std::string &  ,
int   
)
pure virtual

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

Reimplemented from Mesh.

Implemented in MUSGmshV4, MUSGmshV2, and MUSGmsh.

◆ initCpuMeshSequential()

virtual void MeshUnStruct::initCpuMeshSequential ( TypeMeshContainer< Cell * > &  ,
std::string &   
)
pure virtual

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

This mesh object has only the elements and nodes filled

Reimplemented from Mesh.

Implemented in MUSGmshV4, MUSGmshV2, and MUSGmsh.

◆ initGeometryMonoCPU()

virtual void MeshUnStruct::initGeometryMonoCPU ( TypeMeshContainer< Cell * > &  cells,
TypeMeshContainer< CellInterface * > &  cellInterfaces,
std::string  computeOrder = "FIRSTORDER" 
)
pure virtual

initialize the geometry for single CPU computation

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

Implemented in MUSGmshV2, MUSGmshV4, and MUSGmsh.

◆ initGeometryParallel()

virtual void MeshUnStruct::initGeometryParallel ( TypeMeshContainer< Cell * > &  cells,
TypeMeshContainer< Cell * > &  cellsGhost,
TypeMeshContainer< CellInterface * > &  cellInterfaces,
std::string  computeOrder = "FIRSTORDER" 
)
pure virtual

initialize the geometry for multi CPUs computation

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

Implemented in MUSGmshV4, MUSGmshV2, and MUSGmsh.

◆ initializeGeometrie()

int MeshUnStruct::initializeGeometrie ( TypeMeshContainer< Cell * > &  cells,
TypeMeshContainer< Cell * > &  cellsGhost,
TypeMeshContainer< CellInterface * > &  cellInterfaces,
const int &  restartSimulation,
bool  pretraitementParallele = true,
std::string  ordreCalcul = "FIRSTORDER" 
)
virtual

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

Implements Mesh.

◆ preProcessMeshFileForParallel()

virtual void MeshUnStruct::preProcessMeshFileForParallel ( )
pure virtual

split original mesh file for computation on several CPUs

Implemented in MUSGmshV2, MUSGmshV4, and MUSGmsh.

◆ readMeshFileExtension()

std::string MeshUnStruct::readMeshFileExtension ( const std::string &  meshFile)
static

◆ setDataSet()

void MeshUnStruct::setDataSet ( std::vector< double > &  dataset,
TypeMeshContainer< Cell * > *  cellsLvl,
const int  var,
int  phase 
) const
virtual

◆ whoAmI()

virtual std::string MeshUnStruct::whoAmI ( ) const
inlinevirtual

Reimplemented from Mesh.

◆ writeHeaderPiece()

void MeshUnStruct::writeHeaderPiece ( std::ofstream &  fileStream,
TypeMeshContainer< Cell * > *   
) const
virtual

◆ writeMeshInfoData()

void MeshUnStruct::writeMeshInfoData ( ) const

write monocpu mesh information

Member Data Documentation

◆ m_bound

std::vector<BoundCond*> MeshUnStruct::m_bound
protected

Array of boundary conditions.

◆ m_elements

ElementNS** MeshUnStruct::m_elements
protected

Array of internal geometric elements.

◆ m_faces

FaceNS** MeshUnStruct::m_faces
protected

Array of geometrical faces.

◆ m_meshFile

std::string MeshUnStruct::m_meshFile
protected

Name of the mesh file read.

◆ m_nameMesh

std::string MeshUnStruct::m_nameMesh
protected

Name of the mesh file without extension.

◆ m_nodes

Coord* MeshUnStruct::m_nodes
protected

Array of node coordinates in the geometric domain.

◆ m_numberBoundFaces

int MeshUnStruct::m_numberBoundFaces
protected

Number of faces between a compute cell and a boundary.

◆ m_numberCommunicatingElements

int MeshUnStruct::m_numberCommunicatingElements
protected

Real number of communicating elements.

◆ m_numberElements0D

int MeshUnStruct::m_numberElements0D
protected

◆ m_numberElements1D

int MeshUnStruct::m_numberElements1D
protected

◆ m_numberElements2D

int MeshUnStruct::m_numberElements2D
protected

◆ m_numberElements3D

int MeshUnStruct::m_numberElements3D
protected

◆ m_numberFacesParallel

int MeshUnStruct::m_numberFacesParallel
protected

Number of faces between a compute cell and a ghost cell.

◆ m_numberGhostCells

int MeshUnStruct::m_numberGhostCells
protected

Number of ghost cells.

◆ m_numberGhostElements

int MeshUnStruct::m_numberGhostElements
protected

Number of ghost elements of dimension n for parallel computation.

◆ m_numberHexahedrons

int MeshUnStruct::m_numberHexahedrons
protected

◆ m_numberInnerElements

int MeshUnStruct::m_numberInnerElements
protected

Number of elements of n dimension of internal compute.

◆ m_numberInnerFaces

int MeshUnStruct::m_numberInnerFaces
protected

Number of faces between two cells of compute.

◆ m_numberInnerNodes

int MeshUnStruct::m_numberInnerNodes
protected

Number of inner nodes (except from ghosts)

◆ m_numberNodes

int MeshUnStruct::m_numberNodes
protected

Number of nodes of the geometric domain.

◆ m_numberPoints

int MeshUnStruct::m_numberPoints
protected

◆ m_numberPyramids

int MeshUnStruct::m_numberPyramids
protected

◆ m_numberQuadrangles

int MeshUnStruct::m_numberQuadrangles
protected

◆ m_numberSegments

int MeshUnStruct::m_numberSegments
protected

◆ m_numberTetrahedrons

int MeshUnStruct::m_numberTetrahedrons
protected

◆ m_numberTriangles

int MeshUnStruct::m_numberTriangles
protected

◆ m_totalSurface

double MeshUnStruct::m_totalSurface
protected

Sum of 2D element surfaces.

◆ m_totalVolume

double MeshUnStruct::m_totalVolume
protected

Sum of 3D element volumes.


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