Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MshMeshReader

Lecteur de fichiers de maillage au format msh. Plus de détails...

+ Graphe d'héritage de Arcane::MshMeshReader:
+ Graphe de collaboration de Arcane::MshMeshReader:

Classes

struct  MeshInfo
 
struct  MeshPhysicalName
 Infos sur un nom physique. Plus de détails...
 
struct  MeshPhysicalNameList
 Infos du bloc '$PhysicalNames'. Plus de détails...
 
struct  MeshV4ElementsBlock
 Infos d'un bloc pour $Elements pour la version 4. Plus de détails...
 
struct  MeshV4EntitiesNodes
 Infos pour les entités 0D. Plus de détails...
 
struct  MeshV4EntitiesWithNodes
 Infos pour les entités 1D, 2D et 3D. Plus de détails...
 

Types publics

using eReturnType = typename IMeshReader::eReturnType
 

Fonctions membres publiques

 MshMeshReader (ITraceMng *tm)
 
eReturnType readMeshFromMshFile (IMesh *mesh, const String &file_name, bool use_internal_partition) override
 
- Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 

Fonctions membres privées

eReturnType _readNodesFromAsciiMshV2File (IosFile &, Array< Real3 > &)
 
eReturnType _readNodesFromAsciiMshV4File (IosFile &, MeshInfo &mesh_info)
 
eReturnType _readNodesFromBinaryMshFile (IosFile &, Array< Real3 > &)
 
Integer _readElementsFromAsciiMshV2File (IosFile &, MeshInfo &mesh_info)
 
Integer _readElementsFromAsciiMshV4File (IosFile &, MeshInfo &mesh_info)
 Lecture des éléments (mailles,faces,...)
 
eReturnType _readMeshFromNewMshFile (IMesh *, IosFile &)
 
void _allocateCells (IMesh *mesh, MeshInfo &mesh_info, bool is_read_items)
 
void _allocateGroups (IMesh *mesh, MeshInfo &mesh_info, bool is_read_items)
 
void _addFaceGroup (IMesh *mesh, MeshV4ElementsBlock &block, const String &group_name)
 
void _addCellGroup (IMesh *mesh, MeshV4ElementsBlock &block, const String &group_name)
 
void _addNodeGroup (IMesh *mesh, MeshV4ElementsBlock &block, const String &group_name)
 
Integer _switchMshType (Integer, Integer &)
 
void _readPhysicalNames (IosFile &ios_file, MeshInfo &mesh_info)
 
void _readEntitiesV4 (IosFile &ios_file, MeshInfo &mesh_info)
 Lecture des entités.
 

Attributs privés

Integer m_version = 0
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Lecteur de fichiers de maillage au format msh.

Le format msh est celui utilisé par la bibliothèque gmsh.

Le lecteur supporte les versions 2.0 et 4.1 de ce format.

Seules une partie des fonctionnalités du format sont supportées:

  • seuls les éléments d'ordre 1 sont supportés.
  • les coordonnées paramétriques ne sont pas supportées
  • seules les sections $Nodes et $Entities sont lues

Définition à la ligne 90 du fichier MshMeshReader.cc.

Documentation des définitions de type membres

◆ eReturnType

using Arcane::MshMeshReader::eReturnType = typename IMeshReader::eReturnType

Définition à la ligne 96 du fichier MshMeshReader.cc.

Documentation des constructeurs et destructeur

◆ MshMeshReader()

Arcane::MshMeshReader::MshMeshReader ( ITraceMng * tm)
inlineexplicit

Définition à la ligne 227 du fichier MshMeshReader.cc.

Documentation des fonctions membres

◆ _addCellGroup()

void Arcane::MshMeshReader::_addCellGroup ( IMesh * mesh,
MeshV4ElementsBlock & block,
const String & group_name )
private

Définition à la ligne 831 du fichier MshMeshReader.cc.

◆ _addFaceGroup()

void Arcane::MshMeshReader::_addFaceGroup ( IMesh * mesh,
MeshV4ElementsBlock & block,
const String & group_name )
private

Définition à la ligne 763 du fichier MshMeshReader.cc.

◆ _addNodeGroup()

void Arcane::MshMeshReader::_addNodeGroup ( IMesh * mesh,
MeshV4ElementsBlock & block,
const String & group_name )
private

Définition à la ligne 853 du fichier MshMeshReader.cc.

◆ _allocateCells()

void Arcane::MshMeshReader::_allocateCells ( IMesh * mesh,
MeshInfo & mesh_info,
bool is_read_items )
private

Définition à la ligne 632 du fichier MshMeshReader.cc.

◆ _allocateGroups()

void Arcane::MshMeshReader::_allocateGroups ( IMesh * mesh,
MeshInfo & mesh_info,
bool is_read_items )
private

Définition à la ligne 695 du fichier MshMeshReader.cc.

◆ _readElementsFromAsciiMshV2File()

Integer Arcane::MshMeshReader::_readElementsFromAsciiMshV2File ( IosFile & ios_file,
MeshInfo & mesh_info )
private

Définition à la ligne 431 du fichier MshMeshReader.cc.

◆ _readElementsFromAsciiMshV4File()

Integer Arcane::MshMeshReader::_readElementsFromAsciiMshV4File ( IosFile & ios_file,
MeshInfo & mesh_info )
private

Lecture des éléments (mailles,faces,...)

Dans la version 4, les éléments sont rangés par genre (eItemKind)

*$Elements
numEntityBlocks(size_t) numElements(size_t)
minElementTag(size_t) maxElementTag(size_t)
entityDim(int) entityTag(int) elementType(int; see below)
numElementsInBlock(size_t)
elementTag(size_t) nodeTag(size_t) ...
...
...
*$EndElements

Définition à la ligne 510 du fichier MshMeshReader.cc.

Références Arcane::Array< DataType >::add(), Arcane::Array< DataType >::addRange(), ARCANE_FATAL, ARCANE_THROW, Arcane::TraceAccessor::info(), Arcane::math::max(), et Arcane::Array< DataType >::resize().

Référencé par _readMeshFromNewMshFile().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _readEntitiesV4()

void Arcane::MshMeshReader::_readEntitiesV4 ( IosFile & ios_file,
MeshInfo & mesh_info )
private

Lecture des entités.

Le format est:

*    $Entities
*      numPoints(size_t) numCurves(size_t)
*        numSurfaces(size_t) numVolumes(size_t)
*      pointTag(int) X(double) Y(double) Z(double)
*        numPhysicalTags(size_t) physicalTag(int) ...
*      ...
*      curveTag(int) minX(double) minY(double) minZ(double)
*        maxX(double) maxY(double) maxZ(double)
*        numPhysicalTags(size_t) physicalTag(int) ...
*        numBoundingPoints(size_t) pointTag(int) ...
*      ...
*      surfaceTag(int) minX(double) minY(double) minZ(double)
*        maxX(double) maxY(double) maxZ(double)
*        numPhysicalTags(size_t) physicalTag(int) ...
*        numBoundingCurves(size_t) curveTag(int) ...
*      ...
*      volumeTag(int) minX(double) minY(double) minZ(double)
*        maxX(double) maxY(double) maxZ(double)
*        numPhysicalTags(size_t) physicalTag(int) ...
*        numBoundngSurfaces(size_t) surfaceTag(int) ...
*      ...
*    $EndEntities
* 

Définition à la ligne 954 du fichier MshMeshReader.cc.

Références ARCANE_FATAL, et Arcane::TraceAccessor::info().

Référencé par _readMeshFromNewMshFile().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _readMeshFromNewMshFile()

IMeshReader::eReturnType Arcane::MshMeshReader::_readMeshFromNewMshFile ( IMesh * mesh,
IosFile & ios_file )
private

The version 2.0 of the '.msh' file format is Gmsh's new native mesh file format. It is very similar to the old one (see Section 9.1.1 [Version 1.0], page 139), but is more general: it contains information about itself and allows to associate an arbitrary number of integer tags with each element. Ialso exists in both ASCII and binary form. The '.msh' file format, version 2.0, is divided in three main sections, defining the file format ($MeshFormat-$EndMeshFormat), the nodes ($Nodes-$EndNodes) and the elements ($Elements-$EndElements) in the mesh: /code $MeshFormat 2.0 file-type data-size (one-binary) is an integer of value 1 written in binary form. This integer is used for detecting if the computer on which the binary file was written and the computer on which the file is read are of the same type (little or big endian).

$EndMeshFormat $Nodes number-of-nodes node-number x-coord y-coord z-coord ... $EndNodes $Elements number-of-elements elm-number elm-type number-of-tags < tag > ... node-number-list ... $EndElements

Définition à la ligne 1048 du fichier MshMeshReader.cc.

Références _readElementsFromAsciiMshV4File(), _readEntitiesV4(), _readNodesFromAsciiMshV4File(), ARCANE_THROW, Arcane::TraceAccessor::info(), Arcane::IParallelMng::isParallel(), Arcane::IMeshReader::RTOk, et Arcane::IPrimaryMesh::setDimension().

Référencé par readMeshFromMshFile().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _readNodesFromAsciiMshV2File()

IMeshReader::eReturnType Arcane::MshMeshReader::_readNodesFromAsciiMshV2File ( IosFile & ios_file,
Array< Real3 > & node_coords )
private

Définition à la ligne 331 du fichier MshMeshReader.cc.

◆ _readNodesFromAsciiMshV4File()

IMeshReader::eReturnType Arcane::MshMeshReader::_readNodesFromAsciiMshV4File ( IosFile & ios_file,
MeshInfo & mesh_info )
private
$Nodes
numEntityBlocks(size_t) numNodes(size_t)
minNodeTag(size_t) maxNodeTag(size_t)
entityDim(int) entityTag(int) parametric(int; 0 or 1)
numNodesInBlock(size_t)
nodeTag(size_t)
...
x(double) y(double) z(double)
< u(double; if parametric and entityDim >= 1) >
< v(double; if parametric and entityDim >= 2) >
< w(double; if parametric and entityDim == 3) >
...
...
*$EndNodes

Définition à la ligne 374 du fichier MshMeshReader.cc.

Références ARCANE_THROW, Arcane::TraceAccessor::info(), Arcane::Array< DataType >::resize(), et Arcane::IMeshReader::RTOk.

Référencé par _readMeshFromNewMshFile().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _readNodesFromBinaryMshFile()

IMeshReader::eReturnType Arcane::MshMeshReader::_readNodesFromBinaryMshFile ( IosFile & ios_file,
Array< Real3 > & node_coords )
private

Définition à la ligne 621 du fichier MshMeshReader.cc.

◆ _readPhysicalNames()

void Arcane::MshMeshReader::_readPhysicalNames ( IosFile & ios_file,
MeshInfo & mesh_info )
private

Définition à la ligne 893 du fichier MshMeshReader.cc.

◆ _switchMshType()

Integer Arcane::MshMeshReader::_switchMshType ( Integer mshElemType,
Integer & nNodes )
private

Définition à la ligne 265 du fichier MshMeshReader.cc.

◆ readMeshFromMshFile()

IMeshReader::eReturnType Arcane::MshMeshReader::readMeshFromMshFile ( IMesh * mesh,
const String & filename,
bool use_internal_partition )
overridevirtual

readMeshFromMshFile switch wether the targetted file is to be read with _readMeshFromOldMshFile or _readMeshFromNewMshFile function.

Implémente Arcane::IMshMeshReader.

Définition à la ligne 1156 du fichier MshMeshReader.cc.

Références _readMeshFromNewMshFile(), Arcane::TraceAccessor::error(), Arcane::TraceAccessor::info(), Arcane::String::localstr(), et Arcane::IMeshReader::RTError.

+ Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_version

Integer Arcane::MshMeshReader::m_version = 0
private

Définition à la ligne 235 du fichier MshMeshReader.cc.


La documentation de cette classe a été générée à partir du fichier suivant :