Arcane
v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
LegacyMeshBuilder.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2023 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
/* LegacyMeshBuilder.h (C) 2000-2023 */
9
/* */
10
/* Construction du maillage via la méthode "historique". */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_IMPL_INTERNAL_LEGACYMESHBUILDER_H
13
#define ARCANE_IMPL_INTERNAL_LEGACYMESHBUILDER_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/TraceAccessor.h"
18
#include "arcane/utils/Array.h"
19
#include "arcane/utils/ScopedPtr.h"
20
21
#include "arcane/XmlNode.h"
22
#include "arcane/MeshHandle.h"
23
#include "arcane/IInitialPartitioner.h"
24
25
/*---------------------------------------------------------------------------*/
26
/*---------------------------------------------------------------------------*/
27
28
namespace
Arcane
29
{
30
class
IPrimaryMesh
;
31
class
IInitialPartitioner
;
32
class
IMeshReader
;
33
34
/*---------------------------------------------------------------------------*/
35
/*---------------------------------------------------------------------------*/
42
class
ARCANE_IMPL_EXPORT LegacyMeshBuilder
43
:
public
TraceAccessor
44
{
45
struct
MeshBuildInfo
46
{
47
public
:
48
MeshBuildInfo() : m_dir_name(
"."
), m_mesh(
nullptr
) {}
49
public
:
50
XmlNode
m_xml_node;
51
String
m_orig_file_name;
52
String
m_file_name;
53
String
m_dir_name;
54
MeshHandle
m_mesh_handle;
55
IPrimaryMesh
* m_mesh;
56
};
57
58
public
:
59
60
LegacyMeshBuilder(
ISubDomain
* sd,
MeshHandle
default_mesh_handle);
61
62
public
:
63
64
void
readCaseMeshes();
65
void
createDefaultMesh();
66
void
readMeshes();
67
void
allocateMeshes();
68
void
initializeMeshVariablesFromCaseFile();
69
70
private
:
71
ISubDomain
* m_sub_domain;
72
MeshHandle
m_default_mesh_handle;
73
//TODO rendre privé
74
public
:
75
UniqueArray<MeshBuildInfo>
m_meshes_build_info
;
76
ScopedPtrT<IInitialPartitioner>
m_initial_partitioner
;
77
String
m_internal_partitioner_name;
78
bool
m_use_internal_mesh_partitioner
=
false
;
79
bool
m_use_partitioner_tester
=
false
;
80
81
private
:
82
83
void
_readMesh
(
ConstArrayView
<
Ref<IMeshReader>
> mesh_readers,
const
MeshBuildInfo
& mbi);
84
void
_createMeshesHandle();
85
};
86
87
/*---------------------------------------------------------------------------*/
88
/*---------------------------------------------------------------------------*/
89
90
}
// End namespace Arcane
91
92
/*---------------------------------------------------------------------------*/
93
/*---------------------------------------------------------------------------*/
94
95
#endif
Arcane::ConstArrayView
Vue constante d'un tableau de type T.
Definition
arccore/src/base/arccore/base/ArrayView.h:533
Arcane::IInitialPartitioner
Interface d'un partitionneur initial.
Definition
IInitialPartitioner.h:40
Arcane::IMeshReader
Interface du service gérant la lecture d'un maillage.
Definition
IMeshReader.h:37
Arcane::IPrimaryMesh
Definition
IPrimaryMesh.h:43
Arcane::ISubDomain
Interface du gestionnaire d'un sous-domaine.
Definition
ISubDomain.h:74
Arcane::LegacyMeshBuilder::_readMesh
void _readMesh(ConstArrayView< Ref< IMeshReader > > mesh_readers, const MeshBuildInfo &mbi)
Definition
LegacyMeshBuilder.cc:289
Arcane::LegacyMeshBuilder::m_initial_partitioner
ScopedPtrT< IInitialPartitioner > m_initial_partitioner
Partitionneur initial.
Definition
LegacyMeshBuilder.h:76
Arcane::LegacyMeshBuilder::m_use_partitioner_tester
bool m_use_partitioner_tester
basic partitioner for metis
Definition
LegacyMeshBuilder.h:79
Arcane::LegacyMeshBuilder::m_meshes_build_info
UniqueArray< MeshBuildInfo > m_meshes_build_info
Infos pour construire un maillage.
Definition
LegacyMeshBuilder.h:75
Arcane::LegacyMeshBuilder::m_use_internal_mesh_partitioner
bool m_use_internal_mesh_partitioner
true si partitionne le maillage en interne
Definition
LegacyMeshBuilder.h:78
Arcane::MeshHandle
Handle sur un maillage.
Definition
MeshHandle.h:47
Arcane::Ref
Référence à une instance.
Definition
arccore/src/base/arccore/base/Ref.h:143
Arcane::ScopedPtrT
Encapsulation d'un pointeur qui se détruit automatiquement.
Definition
ScopedPtr.h:44
Arcane::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane::TraceAccessor::TraceAccessor
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Definition
TraceAccessor.cc:27
Arcane::UniqueArray
Vecteur 1D de données avec sémantique par valeur (style STL).
Definition
arccore/src/collections/arccore/collections/Array.h:1844
Arcane::XmlNode
Noeud d'un arbre DOM.
Definition
XmlNode.h:51
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
Arcane::LegacyMeshBuilder::MeshBuildInfo
Definition
LegacyMeshBuilder.h:46
arcane
impl
internal
LegacyMeshBuilder.h
Généré le Lundi 31 Mars 2025 02:53:05 pour Arcane par
1.13.2