Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::SimpleMeshGenerator Class Reference

Simple generator for each type of mesh entity. More...

#include <arcane/std/SimpleMeshGenerator.h>

Inheritance diagram for Arcane::SimpleMeshGenerator:
Collaboration diagram for Arcane::SimpleMeshGenerator:

Public Member Functions

 SimpleMeshGenerator (IPrimaryMesh *mesh)
ConstArrayView< Int32communicatingSubDomains () const override
bool readOptions (XmlNode node) override
bool generateMesh () override
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Protected Member Functions

Integer _addNode (Real3 position)
 Adds or retrieves the node with coordinates pos.
Integer _addNode (Real x, Real y, Real z)
 Adds or retrieves the node with coordinates pos.
void _addCell (Int16 type_id, ConstArrayView< Int64 > nodes_id)
void _addCell (ItemTypeId type_id, ConstArrayView< Real3 > nodes_coords)
 Adds a cell with the coordinates of the nodes nodes_coords.
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Private Types

typedef std::map< Real3, IntegerReal3Map

Private Member Functions

void _createSimpleDiTetra5 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleAntiWedgeRight6 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleAntiWedgeLeft6 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHemiHexa5 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHemiHexa6 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHemiHexa7 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleOctaedron12 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHeptaedron10 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHexaedron8 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleHexaedron (ItemTypeId type_id, Real x0, Real y0, Real z1, Real z2)
void _createSimplePentaedron6 (Real x0, Real y0, Real z1, Real z2)
void _createSimplePyramid5 (Real x0, Real y0, Real z1, Real z2)
void _createSimpleTetraedron4 (Real x0, Real y0, Real z1, Real z2)
void _fillHexaedronCoordinates (ItemTypeId type_id, ArrayView< Real3 > coords, Real x0, Real y0, Real z1, Real z2)

Static Private Member Functions

static Real3 _center (Real3 n0, Real3 n1)
static Real3 _center (Real3 n0, Real3 n1, Real3 n2, Real3 n3)
static Real3 _center (ConstArrayView< Real3 > coords, Int32 n0, Int32 n1)
static Real3 _center (ConstArrayView< Real3 > coords, Int32 n0, Int32 n1, Int32 n2, Int32 n3)

Private Attributes

Int32 m_mode = 1
IPrimaryMeshm_mesh = nullptr
ItemTypeMngm_item_type_mng = nullptr
IMeshModifierInternalm_mesh_modifier_internal = nullptr
UniqueArray< Int64m_nodes_unique_id
UniqueArray< Real3m_nodes_coords
UniqueArray< Int64m_cells_infos
Integer m_current_nb_cell = 0
Real3Map m_coords_to_uid
 Coordinates --> Unique index mapping. For automatic merging of nodes at the same coordinates, use this field to store the already referenced coordinates.

Detailed Description

Simple generator for each type of mesh entity.

Definition at line 37 of file SimpleMeshGenerator.h.

Member Typedef Documentation

◆ Real3Map

typedef std::map<Real3, Integer> Arcane::SimpleMeshGenerator::Real3Map
private

Definition at line 68 of file SimpleMeshGenerator.h.

Constructor & Destructor Documentation

◆ SimpleMeshGenerator()

Arcane::SimpleMeshGenerator::SimpleMeshGenerator ( IPrimaryMesh * mesh)
explicit

Definition at line 39 of file SimpleMeshGenerator.cc.

Member Function Documentation

◆ _addCell() [1/2]

void Arcane::SimpleMeshGenerator::_addCell ( Int16 type_id,
ConstArrayView< Int64 > nodes_id )
protected

Definition at line 86 of file SimpleMeshGenerator.cc.

◆ _addCell() [2/2]

void Arcane::SimpleMeshGenerator::_addCell ( ItemTypeId type_id,
ConstArrayView< Real3 > nodes_coords )
protected

Adds a cell with the coordinates of the nodes nodes_coords.

Definition at line 100 of file SimpleMeshGenerator.cc.

References _addNode(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ _addNode() [1/2]

Integer Arcane::SimpleMeshGenerator::_addNode ( Real x,
Real y,
Real z )
protected

Adds or retrieves the node with coordinates pos.

Returns
The uniqueId() of the node.

Definition at line 77 of file SimpleMeshGenerator.cc.

References _addNode().

Here is the call graph for this function:

◆ _addNode() [2/2]

Integer Arcane::SimpleMeshGenerator::_addNode ( Real3 pos)
protected

Adds or retrieves the node with coordinates pos.

Returns
The uniqueId() of the node.

Definition at line 55 of file SimpleMeshGenerator.cc.

References m_coords_to_uid.

Referenced by _addCell(), and _addNode().

Here is the caller graph for this function:

◆ _center() [1/4]

Real3 Arcane::SimpleMeshGenerator::_center ( ConstArrayView< Real3 > coords,
Int32 n0,
Int32 n1 )
inlinestaticprivate

Definition at line 102 of file SimpleMeshGenerator.h.

◆ _center() [2/4]

Real3 Arcane::SimpleMeshGenerator::_center ( ConstArrayView< Real3 > coords,
Int32 n0,
Int32 n1,
Int32 n2,
Int32 n3 )
inlinestaticprivate

Definition at line 106 of file SimpleMeshGenerator.h.

◆ _center() [3/4]

Real3 Arcane::SimpleMeshGenerator::_center ( Real3 n0,
Real3 n1 )
inlinestaticprivate

Definition at line 94 of file SimpleMeshGenerator.h.

◆ _center() [4/4]

Real3 Arcane::SimpleMeshGenerator::_center ( Real3 n0,
Real3 n1,
Real3 n2,
Real3 n3 )
inlinestaticprivate

Definition at line 98 of file SimpleMeshGenerator.h.

◆ _createSimpleAntiWedgeLeft6()

void Arcane::SimpleMeshGenerator::_createSimpleAntiWedgeLeft6 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 181 of file SimpleMeshGenerator.cc.

◆ _createSimpleAntiWedgeRight6()

void Arcane::SimpleMeshGenerator::_createSimpleAntiWedgeRight6 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 197 of file SimpleMeshGenerator.cc.

◆ _createSimpleDiTetra5()

void Arcane::SimpleMeshGenerator::_createSimpleDiTetra5 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 213 of file SimpleMeshGenerator.cc.

◆ _createSimpleHemiHexa5()

void Arcane::SimpleMeshGenerator::_createSimpleHemiHexa5 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 166 of file SimpleMeshGenerator.cc.

◆ _createSimpleHemiHexa6()

void Arcane::SimpleMeshGenerator::_createSimpleHemiHexa6 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 150 of file SimpleMeshGenerator.cc.

◆ _createSimpleHemiHexa7()

void Arcane::SimpleMeshGenerator::_createSimpleHemiHexa7 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 133 of file SimpleMeshGenerator.cc.

◆ _createSimpleHeptaedron10()

void Arcane::SimpleMeshGenerator::_createSimpleHeptaedron10 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 326 of file SimpleMeshGenerator.cc.

◆ _createSimpleHexaedron()

void Arcane::SimpleMeshGenerator::_createSimpleHexaedron ( ItemTypeId type_id,
Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 279 of file SimpleMeshGenerator.cc.

◆ _createSimpleHexaedron8()

void Arcane::SimpleMeshGenerator::_createSimpleHexaedron8 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 294 of file SimpleMeshGenerator.cc.

◆ _createSimpleOctaedron12()

void Arcane::SimpleMeshGenerator::_createSimpleOctaedron12 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 303 of file SimpleMeshGenerator.cc.

◆ _createSimplePentaedron6()

void Arcane::SimpleMeshGenerator::_createSimplePentaedron6 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 347 of file SimpleMeshGenerator.cc.

◆ _createSimplePyramid5()

void Arcane::SimpleMeshGenerator::_createSimplePyramid5 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 363 of file SimpleMeshGenerator.cc.

◆ _createSimpleTetraedron4()

void Arcane::SimpleMeshGenerator::_createSimpleTetraedron4 ( Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 378 of file SimpleMeshGenerator.cc.

◆ _fillHexaedronCoordinates()

void Arcane::SimpleMeshGenerator::_fillHexaedronCoordinates ( ItemTypeId type_id,
ArrayView< Real3 > coords,
Real x0,
Real y0,
Real z1,
Real z2 )
private

Definition at line 228 of file SimpleMeshGenerator.cc.

◆ communicatingSubDomains()

ConstArrayView< Int32 > Arcane::SimpleMeshGenerator::communicatingSubDomains ( ) const
inlineoverridevirtual

Implements Arcane::IMeshGenerator.

Definition at line 47 of file SimpleMeshGenerator.h.

◆ generateMesh()

bool Arcane::SimpleMeshGenerator::generateMesh ( )
overridevirtual

Implements Arcane::IMeshGenerator.

Definition at line 392 of file SimpleMeshGenerator.cc.

◆ readOptions()

bool Arcane::SimpleMeshGenerator::readOptions ( XmlNode node)
overridevirtual

Implements Arcane::IMeshGenerator.

Definition at line 115 of file SimpleMeshGenerator.cc.

Member Data Documentation

◆ m_cells_infos

UniqueArray<Int64> Arcane::SimpleMeshGenerator::m_cells_infos
private

Definition at line 66 of file SimpleMeshGenerator.h.

◆ m_coords_to_uid

Real3Map Arcane::SimpleMeshGenerator::m_coords_to_uid
private

Coordinates --> Unique index mapping. For automatic merging of nodes at the same coordinates, use this field to store the already referenced coordinates.

Definition at line 74 of file SimpleMeshGenerator.h.

Referenced by _addNode().

◆ m_current_nb_cell

Integer Arcane::SimpleMeshGenerator::m_current_nb_cell = 0
private

Definition at line 67 of file SimpleMeshGenerator.h.

◆ m_item_type_mng

ItemTypeMng* Arcane::SimpleMeshGenerator::m_item_type_mng = nullptr
private

Definition at line 62 of file SimpleMeshGenerator.h.

◆ m_mesh

IPrimaryMesh* Arcane::SimpleMeshGenerator::m_mesh = nullptr
private

Definition at line 61 of file SimpleMeshGenerator.h.

◆ m_mesh_modifier_internal

IMeshModifierInternal* Arcane::SimpleMeshGenerator::m_mesh_modifier_internal = nullptr
private

Definition at line 63 of file SimpleMeshGenerator.h.

◆ m_mode

Int32 Arcane::SimpleMeshGenerator::m_mode = 1
private

Definition at line 60 of file SimpleMeshGenerator.h.

◆ m_nodes_coords

UniqueArray<Real3> Arcane::SimpleMeshGenerator::m_nodes_coords
private

Definition at line 65 of file SimpleMeshGenerator.h.

◆ m_nodes_unique_id

UniqueArray<Int64> Arcane::SimpleMeshGenerator::m_nodes_unique_id
private

Definition at line 64 of file SimpleMeshGenerator.h.


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