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

Abstract class for a mesh. More...

#include <Mesh.h>

Inherited by MeshCartesian, and MeshUnStruct.

Public Member Functions

 Mesh ()
 
virtual ~Mesh ()
 
virtual void assignLimits (std::vector< BoundCond * > &boundCond)=0
 
virtual int initializeGeometrie (TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &restartSimulation, bool pretraitementParallele=true, std::string ordreCalcul="FIRSTORDER")=0
 renvoi le number de dimensions (1,2 ou 3)
 
virtual std::string whoAmI () const
 
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 getNodes (std::vector< double > &, std::vector< Cell * > *) const
 
virtual void getConnectivity (std::vector< double > &, std::vector< Cell * > *) const
 
virtual void getOffsets (std::vector< double > &, std::vector< Cell * > *) const
 
virtual void getTypeCell (std::vector< double > &, std::vector< Cell * > *) 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 extractReferenceLength (std::vector< Cell * > *, std::vector< double > &) 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 &, 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
 
virtual void initCpuMeshSequential (TypeMeshContainer< Cell * > &, std::string &)
 Initialize mesh of a single partition for restart with mesh mapping option.
 
virtual void initCpuMeshParallel (TypeMeshContainer< Cell * > &, std::string &, int)
 Initialize mesh of a single partition of a partionned mesh for restart with mesh mapping option.
 

Protected Attributes

int m_numFichier
 
int m_problemDimension
 
int m_numberElements
 
int m_numberFacesTotal
 
int m_numberCellsCalcul
 
int m_numberCellsTotal
 
TypeM m_type
 

Detailed Description

Abstract class for a mesh.

Can not be instanciated, depend on the mesh properties

Constructor & Destructor Documentation

◆ Mesh()

Mesh::Mesh ( )

◆ ~Mesh()

Mesh::~Mesh ( )
virtual

Member Function Documentation

◆ assignLimits()

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

Implemented in MeshCartesian, and MeshUnStruct.

◆ extractAbsVelocityMRF()

virtual void Mesh::extractAbsVelocityMRF ( std::vector< Cell * > *  ,
std::vector< double > &  ,
Source  
) const
inlinevirtual

Extracting absolute velocity for specific Moving Reference Frame computations.

Parameters
cellsLvldata structure containing pointer to cells
sourceMRFpointer to the corresponding MRF source
datasetdouble vector containing the extracted data

◆ extractReferenceLength()

virtual void Mesh::extractReferenceLength ( std::vector< Cell * > *  ,
std::vector< double > &   
) const
inlinevirtual

Reimplemented in MeshUnStruct.

◆ finalizeParallele()

void Mesh::finalizeParallele ( const int &  lvlMax)
virtual

Reimplemented in MeshCartesianAMR.

◆ getConnectivity()

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

Reimplemented in MeshUnStruct, and MeshCartesianAMR.

◆ getCoord()

virtual void Mesh::getCoord ( std::vector< double > &  ,
Axis   
) const
inlinevirtual

Reimplemented in MeshCartesian.

◆ getData()

virtual void Mesh::getData ( std::vector< Cell * > *  ,
std::vector< double > &  ,
const int  ,
int   
) const
inlinevirtual

Extracting data for printing results.

This method enable to extract a set of data for mixture or phase, scalar or vetor

Parameters
cellsLvldata structure containing pointer to cells
varnumber of requested varaible to extract (>0 for scalar, <0 for vector)
phasenumber of requested phase (-1 for mixture, -2 for transport, -3 for xi, -4 for gradient density mixture)
datasetdouble vector containing the extracted data

◆ getdX()

virtual double Mesh::getdX ( ) const
inlinevirtual

◆ getdY()

virtual double Mesh::getdY ( ) const
inlinevirtual

◆ getdZ()

virtual double Mesh::getdZ ( ) const
inlinevirtual

◆ getLvlMax()

virtual int Mesh::getLvlMax ( ) const
inlinevirtual

Reimplemented in MeshCartesianAMR.

◆ getMeshExtension()

virtual std::string Mesh::getMeshExtension ( ) const
inlinevirtual

Reimplemented in MUSGmsh.

◆ getNodes()

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

Reimplemented in MeshUnStruct, and MeshCartesianAMR.

◆ getNumberCells()

const int & Mesh::getNumberCells ( ) const
inline

◆ getNumberCellsTotal()

const int & Mesh::getNumberCellsTotal ( ) const
inline

◆ getNumberCellsY()

virtual int Mesh::getNumberCellsY ( )
inlinevirtual

Reimplemented in MeshCartesian.

◆ getNumberCellsZ()

virtual int Mesh::getNumberCellsZ ( )
inlinevirtual

Reimplemented in MeshCartesian.

◆ getNumberFaces()

const int & Mesh::getNumberFaces ( ) const
inline

◆ getNumFichier()

const int & Mesh::getNumFichier ( ) const
inline

◆ getOffsets()

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

Reimplemented in MeshUnStruct, and MeshCartesianAMR.

◆ getProblemDimension()

const int & Mesh::getProblemDimension ( ) const
inline

◆ getStringExtent()

virtual std::string Mesh::getStringExtent ( bool  = false) const
inlinevirtual

Reimplemented in MeshCartesian.

◆ getType()

const TypeM & Mesh::getType ( ) const
inline

◆ getTypeCell()

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

Reimplemented in MeshUnStruct, and MeshCartesianAMR.

◆ initCpuMeshParallel()

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

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 in MUSGmshV4, MUSGmshV2, MeshUnStruct, and MUSGmsh.

◆ initCpuMeshSequential()

virtual void Mesh::initCpuMeshSequential ( TypeMeshContainer< Cell * > &  ,
std::string &   
)
inlinevirtual

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

This mesh object has only the elements and nodes filled

Reimplemented in MUSGmshV4, MUSGmshV2, MeshUnStruct, and MUSGmsh.

◆ initializeGeometrie()

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

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

Implemented in MeshUnStruct, MeshCartesian, and MeshCartesianAMR.

◆ initializePersistentCommunications()

void Mesh::initializePersistentCommunications ( const TypeMeshContainer< Cell * > &  cells,
std::string  ordreCalcul 
)
virtual

Reimplemented in MeshCartesianAMR.

◆ parallelLoadBalancingAMR()

virtual void Mesh::parallelLoadBalancingAMR ( std::vector< Cell * > *  ,
TypeMeshContainer< Cell * > *  ,
std::vector< CellInterface * > *  ,
std::string  ,
const std::vector< AddPhys * > &  ,
Eos **  ,
int &  ,
std::vector< GeometricalDomain * > &  ,
bool  = false 
)
inlinevirtual

◆ printDomainDecomposition()

virtual void Mesh::printDomainDecomposition ( std::ofstream &  )
inlinevirtual

Reimplemented in MeshCartesianAMR.

◆ procedureRaffinement()

virtual void Mesh::procedureRaffinement ( std::vector< Cell * > *  ,
TypeMeshContainer< Cell * > *  ,
std::vector< CellInterface * > *  ,
const int &  ,
const std::vector< AddPhys * > &  ,
int &  ,
Eos **   
)
inlinevirtual

◆ procedureRaffinementInitialization()

virtual void Mesh::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 * > &   
)
inlinevirtual

◆ readDomainDecomposition()

virtual void Mesh::readDomainDecomposition ( std::ifstream &  )
inlinevirtual

Reimplemented in MeshCartesianAMR.

◆ refineCellAndCellInterfaces()

virtual void Mesh::refineCellAndCellInterfaces ( Cell ,
const std::vector< AddPhys * > &  ,
int &   
)
inlinevirtual

Reimplemented in MeshCartesianAMR.

◆ setDataSet()

virtual void Mesh::setDataSet ( std::vector< double > &  ,
std::vector< Cell * > *  ,
const int  ,
int   
) const
inlinevirtual

Extracting data for printing results.

This method enable to extract a set of data for mixture or phase, scalar or vetor

Parameters
cellsLvldata structure containing pointer to cells
varnumber of requested varaible to extract (>0 for scalar, <0 for vector)
phasenumber of requested phase (-1 for mixture, -2 for transport, -3 for xi, -4 for gradient density mixture)
datasetdouble vector containing the extracted data

◆ setImmersedBoundaries()

virtual void Mesh::setImmersedBoundaries ( TypeMeshContainer< CellInterface * > *  ,
std::string   
) const
inlinevirtual

Reimplemented in MeshCartesian.

◆ whoAmI()

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

Reimplemented in MeshCartesian, MeshCartesianAMR, and MeshUnStruct.

◆ writeHeaderPiece()

virtual void Mesh::writeHeaderPiece ( std::ofstream &  ,
std::vector< Cell * > *   
) const
inlinevirtual

◆ writeResultsGnuplot()

void Mesh::writeResultsGnuplot ( std::vector< Cell * > *  cellsLvl,
std::ofstream &  fileStream,
GeometricObject objet = 0,
bool  recordPsat = false 
) const

Member Data Documentation

◆ m_numberCellsCalcul

int Mesh::m_numberCellsCalcul
protected

◆ m_numberCellsTotal

int Mesh::m_numberCellsTotal
protected

◆ m_numberElements

int Mesh::m_numberElements
protected

◆ m_numberFacesTotal

int Mesh::m_numberFacesTotal
protected

◆ m_numFichier

int Mesh::m_numFichier
mutableprotected

◆ m_problemDimension

int Mesh::m_problemDimension
protected

◆ m_type

TypeM Mesh::m_type
protected

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