Arcane  v3.14.10.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-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/* IMeshUtilities.h (C) 2000-2021 */
9/* */
10/* Interface d'une classe proposant des fonctions utilitaires sur maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHUTILITIES_H
13#define ARCANE_IMESHUTILITIES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Real3.h"
18
19#include "arcane/ArcaneTypes.h"
20#include "arcane/ItemTypes.h"
21#include "arcane/VariableTypedef.h"
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,
70 bool allow_null=false) =0;
71
94
116 Real3* n1,Real3* n2) =0;
117
120 Integer nb_layer) =0;
121
130 virtual void changeOwnersFromCells() =0;
131
141 virtual bool writeToFile(const String& file_name,const String& service_name) =0;
142
143
174 bool initial_partition) =0;
175
192};
193
194/*---------------------------------------------------------------------------*/
195/*---------------------------------------------------------------------------*/
196
197} // End namespace Arcane
198
199/*---------------------------------------------------------------------------*/
200/*---------------------------------------------------------------------------*/
201
202#endif
203
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 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 computeAdjency(ItemPairGroup adjency_array, eItemKind link_kind, Integer nb_layer)=0
Calcul des adjacences, rangées dans adjency_array.
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 ~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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.