Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
SimpleMeshGenerator.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* SimpleMeshGenerator.h (C) 2000-2020 */
9/* */
10/* Service de génération de maillage 'Simple'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_STD_SIMPLEMESHGENERATOR_H
13#define ARCANE_STD_SIMPLEMESHGENERATOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/std/IMeshGenerator.h"
20
21#include <map>
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
35: public TraceAccessor
36, public IMeshGenerator
37{
38public:
40 public:
41 IntegerConstArrayView communicatingSubDomains() const override
42 {
43 return IntegerConstArrayView();
44 }
45 bool readOptions(XmlNode node) override;
46 bool generateMesh() override;
47 protected:
48 Integer _addNode(const Real3& position);
49 Integer _addNode(Real x,Real y,Real z);
50 void _addCell(Integer type_id,IntegerConstArrayView nodes_id);
51 private:
52 Integer m_mode;
53 IPrimaryMesh* m_mesh;
54 Int64UniqueArray m_nodes_unique_id;
55 Real3UniqueArray m_nodes_coords;
56 Int64UniqueArray m_cells_infos;
57 Integer m_current_nb_cell;
58 typedef std::map<Real3,Integer> Real3Map;
65 private:
66 void _createSimpleDiTetra5(Real x0,Real y0,Real z1,Real z2);
67 void _createSimpleAntiWedgeRight6(Real x0,Real y0,Real z1,Real z2);
68 void _createSimpleAntiWedgeLeft6(Real x0,Real y0,Real z1,Real z2);
69 void _createSimpleHemiHexa5(Real x0,Real y0,Real z1,Real z2);
70 void _createSimpleHemiHexa6(Real x0,Real y0,Real z1,Real z2);
71 void _createSimpleHemiHexa7(Real x0,Real y0,Real z1,Real z2);
72 void _createSimpleOctaedron12(Real x0,Real y0,Real z1,Real z2);
73 void _createSimpleHeptaedron10(Real x0,Real y0,Real z1,Real z2);
74 void _createSimpleHexaedron8(Real x0,Real y0,Real z1,Real z2);
75 void _createSimplePentaedron6(Real x0,Real y0,Real z1,Real z2);
76 void _createSimplePyramid5(Real x0,Real y0,Real z1,Real z2);
77 void _createSimpleTetraedron4(Real x0,Real y0,Real z1,Real z2);
78};
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83} // End namespace Arcane
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88#endif
Interface d'un générateur de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Génèrateur simple de chaque type d'entité de maillage.
Real3Map m_coords_to_uid
Mapping Coordonnées --> Indice unique. Pour la fusion automatique des noeuds aux mêmes coordonnées,...
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Vue constante d'un tableau de type T.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition UtilsTypes.h:644