Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
HoneyCombMeshGenerator.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
/* HoneyCombMeshGenerator.h (C) 2000-2022 */
9
/* */
10
/* Service de génération de maillage hexagonal. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_STD_HONEYCOMBMESHGENERATOR_H
13
#define ARCANE_STD_HONEYCOMBMESHGENERATOR_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/TraceAccessor.h"
18
#include "arcane/utils/Real2.h"
19
#include "arcane/utils/UniqueArray.h"
20
21
#include "arcane/ArcaneTypes.h"
22
23
/*---------------------------------------------------------------------------*/
24
/*---------------------------------------------------------------------------*/
25
26
namespace
Arcane
27
{
28
29
/*---------------------------------------------------------------------------*/
30
/*---------------------------------------------------------------------------*/
31
32
class
HoneyComb2DMeshGenerator
33
:
public
TraceAccessor
34
{
35
public
:
36
38
class
CellLineInfo
;
39
40
public
:
41
42
explicit
HoneyComb2DMeshGenerator
(
IPrimaryMesh
* mesh);
43
44
public
:
45
46
void
generateMesh(
Real2
origin, Real
pitch
, Integer
nb_ring
);
47
48
private
:
49
50
IPrimaryMesh
* m_mesh =
nullptr
;
51
Real m_pitch = 0.0;
52
Integer m_nb_ring = 0;
53
Real2
m_origin;
54
55
private
:
56
57
void
_buildCells();
58
void
_buildCells2();
59
};
60
61
/*---------------------------------------------------------------------------*/
62
/*---------------------------------------------------------------------------*/
63
64
class
HoneyComb3DMeshGenerator
65
:
public
TraceAccessor
66
{
67
public
:
68
70
class
CellLineInfo
;
71
72
public
:
73
74
explicit
HoneyComb3DMeshGenerator
(
IPrimaryMesh
* mesh);
75
76
public
:
77
78
void
generateMesh(
Real2
origin, Real
pitch
, Integer
nb_ring
,
ConstArrayView<Real>
heights);
79
80
private
:
81
82
IPrimaryMesh
* m_mesh =
nullptr
;
83
Real m_pitch = 0.0;
84
Integer m_nb_ring = 0;
85
Real2
m_origin;
86
UniqueArray<Real>
m_heights;
87
88
private
:
89
90
void
_buildCellNodes(Real x, Real y, Real z,
ArrayView<Real3>
coords);
91
void
_buildCells();
92
void
_buildCells2();
93
};
94
95
/*---------------------------------------------------------------------------*/
96
/*---------------------------------------------------------------------------*/
97
98
}
// End namespace Arcane
99
100
/*---------------------------------------------------------------------------*/
101
/*---------------------------------------------------------------------------*/
102
103
#endif
Arcane::HoneyComb2DMeshGenerator::CellLineInfo
Definition
HoneyCombMeshGenerator.cc:160
Arcane::HoneyComb2DMeshGenerator
Definition
HoneyCombMeshGenerator.h:34
Arcane::HoneyComb3DMeshGenerator::CellLineInfo
Infos sur une ligne d'hexagone.
Definition
HoneyCombMeshGenerator.cc:318
Arcane::HoneyComb3DMeshGenerator
Definition
HoneyCombMeshGenerator.h:66
Arcane::IPrimaryMesh
Definition
IPrimaryMesh.h:43
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arcane::Real2
Classe gérant un vecteur de réel de dimension 2.
Definition
Real2.h:121
Arccore::TraceAccessor
Classe d'accès aux traces.
Definition
arccore/src/trace/arccore/trace/TraceAccessor.h:39
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
arcane
std
HoneyCombMeshGenerator.h
Généré le Lundi 18 Novembre 2024 03:01:42 pour Arcane par
1.9.8