Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IMeshUtilities.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IMeshUtilities.h (C) 2000-2025 */
9/* */
10/* Interface d'une classe proposant des fonctions utilitaires sur maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHUTILITIES_H
13#define ARCANE_CORE_IMESHUTILITIES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Real3.h"
18
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
34class ARCANE_CORE_EXPORT IMeshUtilities
35{
36 public:
37
38 virtual ~IMeshUtilities() {}
39
40 public:
41
66 virtual void localIdsFromConnectivity(eItemKind item_kind,
67 IntegerConstArrayView items_nb_node,
68 Int64ConstArrayView items_connectivity,
69 Int32ArrayView local_ids,
70 bool allow_null=false) =0;
71
92 virtual Real3 computeNormal(const FaceGroup& face_group,
93 const VariableNodeReal3& nodes_coord) =0;
94
114 virtual Real3 computeDirection(const NodeGroup& node_group,
115 const VariableNodeReal3& nodes_coord,
116 Real3* n1,Real3* n2) =0;
117
119 ARCANE_DEPRECATED_REASON("Y2020: Use computeAdjacency() instead")
120 virtual void computeAdjency(ItemPairGroup adjacency_array, eItemKind link_kind,
121 Integer nb_layer) =0;
122
124 virtual void computeAdjacency(const ItemPairGroup& adjacency_array, eItemKind link_kind,
125 Integer nb_layer);
126
142 virtual void changeOwnersFromCells() =0;
143
153
163
173 virtual bool writeToFile(const String& file_name,const String& service_name) =0;
174
175
206 bool initial_partition) =0;
207
222 virtual void mergeNodes(Int32ConstArrayView nodes_local_id,
223 Int32ConstArrayView nodes_to_merge_local_id) =0;
224
234};
235
236/*---------------------------------------------------------------------------*/
237/*---------------------------------------------------------------------------*/
238
239} // End namespace Arcane
240
241/*---------------------------------------------------------------------------*/
242/*---------------------------------------------------------------------------*/
243
244#endif
245
Déclarations des types généraux de Arcane.
Déclarations de types sur les entités.
Interface d'un partitionneur de maillage.
Interface d'une classe proposant des fonctions utilitaires sur maillage.
virtual void changeOwnersFromCells()=0
Positionne les nouveaux propriétaires des noeuds, arêtes et faces à partir des mailles.
virtual Real3 computeNormal(const FaceGroup &face_group, const VariableNodeReal3 &nodes_coord)=0
Calcule la normale d'un groupe de face.
virtual void computeAdjency(ItemPairGroup adjacency_array, eItemKind link_kind, Integer nb_layer)=0
Calcul des adjacences, rangées dans adjacency_array.
virtual void computeAndSetOwnersForFaces()=0
Détermine les propriétaires des faces.
virtual void computeAdjacency(const ItemPairGroup &adjacency_array, eItemKind link_kind, Integer nb_layer)
Calcul des adjacences, rangées dans adjacency_array.
virtual void computeAndSetOwnersForNodes()=0
Détermine les propriétaires des noeuds.
virtual void localIdsFromConnectivity(eItemKind item_kind, IntegerConstArrayView items_nb_node, Int64ConstArrayView items_connectivity, Int32ArrayView local_ids, bool allow_null=false)=0
Recherche les identifiants locaux des entités à partir de leur connectivité.
virtual void partitionAndExchangeMeshWithReplication(IMeshPartitionerBase *partitioner, bool initial_partition)=0
Repartitionne et échange le maillage en gérant la réplication.
virtual Real3 computeDirection(const NodeGroup &node_group, const VariableNodeReal3 &nodes_coord, Real3 *n1, Real3 *n2)=0
Calcule le vecteur directeur d'une ligne.
virtual bool writeToFile(const String &file_name, const String &service_name)=0
Ecrit le maillage dans un fichier.
virtual void recomputeItemsUniqueIdFromNodesUniqueId()=0
Recalcule les uniqueId() des arêtes, faces et mailles en fonction des uniqueId() des noeuds.
virtual ~IMeshUtilities()
Libère les ressources.
virtual void mergeNodes(Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id)=0
Fusionne des noeuds.
Tableau de listes d'entités.
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Chaîne de caractères unicode.
ItemGroupT< Face > FaceGroup
Groupe de faces.
Definition ItemTypes.h:178
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
Definition ItemTypes.h:167
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Grandeur au noeud de type coordonnées.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:569
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:567
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:540
eItemKind
Genre d'entité de maillage.
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition UtilsTypes.h:573