Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TiedInterface.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/* TiedInterface.h (C) 2000-2014 */
9/* */
10/* Informations sur les semi-conformitées du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_TIEDINTERFACE_H
13#define ARCANE_MESH_TIEDINTERFACE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/MultiArray2.h"
18#include "arcane/utils/TraceAccessor.h"
19
20#include "arcane/ITiedInterface.h"
21#include "arcane/ItemTypes.h"
22#include "arcane/IMeshPartitionConstraint.h"
23
24#include "arcane/VariableTypes.h"
25
26#include "arcane/mesh/MeshGlobal.h"
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31ARCANE_BEGIN_NAMESPACE
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
36class IMeshPartitionConstraint;
37
38/*---------------------------------------------------------------------------*/
39/*---------------------------------------------------------------------------*/
40
41ARCANE_MESH_BEGIN_NAMESPACE
42
43/*---------------------------------------------------------------------------*/
44/*---------------------------------------------------------------------------*/
45
47{
48 public:
49 virtual ~ITiedInterfaceRebuilder(){}
50 public:
51 virtual void fillTiedInfos(Face face,
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
67: public TraceAccessor
68, public ITiedInterface
69{
70 public:
73 {
74 public:
75 virtual void setInitialRepartition(bool is_initial) =0;
76 };
77
78 public:
79
80 TiedInterface(IMesh* mesh);
81 virtual ~TiedInterface(); //<! Libère les ressources
82
83 public:
84
85 virtual FaceGroup masterInterface() const;
86 virtual FaceGroup slaveInterface() const;
87 virtual TiedInterfaceNodeList tiedNodes() const;
88 virtual TiedInterfaceFaceList tiedFaces() const;
89 virtual String masterInterfaceName() const;
90 virtual String slaveInterfaceName() const;
91
92 public:
93
95
97 virtual void build(const FaceGroup& interface,bool is_structured);
98
100
104 virtual void setPlanarTolerance(Real tol);
105
106 virtual void reload(IItemFamily* face_family,
109
110 void resizeNodes(IntegerConstArrayView new_sizes);
111
112 void setNodes(Integer index,ConstArrayView<TiedNode> nodes);
113
114 void resizeFaces(IntegerConstArrayView new_sizes);
115
116 void setFaces(Integer index,ConstArrayView<TiedFace> faces);
117
118 static bool isDebug()
119 {
120 return m_is_debug;
121 }
122
126
127 void checkValid();
128
129 private:
130
131 static bool m_is_debug;
132
133 private:
134
135 IMesh* m_mesh;
136 String m_master_interface_name;
137 String m_slave_interface_name;
138 FaceGroup m_master_interface;
139 FaceGroup m_slave_interface;
140 UniqueMultiArray2<TiedNode> m_tied_nodes;
141 UniqueMultiArray2<TiedFace> m_tied_faces;
142 Real m_planar_tolerance;
143
144 void _checkValid(bool is_print);
145};
146
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149
150ARCANE_MESH_END_NAMESPACE
151ARCANE_END_NAMESPACE
152
153/*---------------------------------------------------------------------------*/
154/*---------------------------------------------------------------------------*/
155
156#endif
Face d'une maille.
Definition Item.h:932
Interface d'une famille d'entités.
Interface d'une contrainte de partitionnement d'un maillage.
Interface d'un classe gérant une semi-conformité du maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Informations sur les semi-conformitées du maillage.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.