Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TiedInterfaceMng.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/* TiedInterfaceMng.h (C) 2000-2010 */
9/* */
10/* Gestionnaire des interfaces liées. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_TIEDINTERFACEMNG_H
13#define ARCANE_MESH_TIEDINTERFACEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/List.h"
19
20#include "arcane/mesh/MeshGlobal.h"
21
22#include "arcane/VariableTypes.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27ARCANE_BEGIN_NAMESPACE
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32class IMesh;
33class XmlNode;
34class IMeshPartitionConstraint;
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38
39ARCANE_MESH_BEGIN_NAMESPACE
40
41/*---------------------------------------------------------------------------*/
42/*---------------------------------------------------------------------------*/
43
44class DynamicMesh;
45class TiedInterface;
46
47/*---------------------------------------------------------------------------*/
48/*---------------------------------------------------------------------------*/
53: public TraceAccessor
54{
55 public:
56
57 TiedInterfaceMng(DynamicMesh* mesh);
58 virtual ~TiedInterfaceMng();
59
60 public:
61
62 void computeTiedInterfaces(const XmlNode& mesh_node);
63 void prepareTiedInterfacesForDump();
64 void readTiedInterfacesFromDump();
65 bool hasTiedInterface()
66 {
67 return !m_tied_interfaces.empty();
68 }
69 TiedInterfaceCollection tiedInterfaces()
70 {
71 return m_tied_interfaces;
72 }
73
74 ISubDomain* subDomain() { return m_sub_domain; }
75 ConstArrayView<TiedInterface*> trueTiedInterfaces()
76 {
77 return m_true_tied_interfaces;
78 }
79
80 private:
81
82 DynamicMesh* m_mesh;
83 ISubDomain* m_sub_domain;
84 String m_name;
85
86 private:
87
88 TiedInterfaceList m_tied_interfaces;
89 VariableArrayInt64 m_tied_interface_items_info;
90 VariableArrayReal2 m_tied_interface_nodes_iso;
91 VariableArrayString m_tied_interface_face_groups;
92 UniqueArray<TiedInterface*> m_true_tied_interfaces;
93 IMeshPartitionConstraint* m_tied_constraint;
94
95 private:
96
97 void _deleteTiedInterfaces();
98 void _applyTiedInterfaceStructuration(TiedInterface* tied_interface);
99};
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104ARCANE_MESH_END_NAMESPACE
105ARCANE_END_NAMESPACE
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110#endif
Interface d'une contrainte de partitionnement d'un maillage.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Implémentation du gestionnaire d'interfaces liées.
Informations sur les semi-conformitées du maillage.
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Chaîne de caractères unicode.