Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
UnstructuredMeshUtilities.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/* UnstructuredMeshUtilities.h (C) 2000-2016 */
9/* */
10/* Fonctions utilitaires sur un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
13#define ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/IMeshUtilities.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IMesh;
29class ItemPairGroup;
30class ItemPairGroupImpl;
31class BasicItemPairGroupComputeFunctor;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
39: public TraceAccessor
40, public IMeshUtilities
41{
42 public:
43
46
47 public:
48
49 void changeOwnersFromCells() override;
50
51 void localIdsFromConnectivity(eItemKind item_kind,
55 bool allow_null) override;
56
76 Real3 computeNormal(const FaceGroup& face_group,
77 const VariableNodeReal3& nodes_coord) override;
78
79 Real3 computeDirection(const NodeGroup& node_group,
81 Real3* n1,Real3* n2) override;
82
84 Integer nb_layer) override;
85
86 bool writeToFile(const String& file_name,const String& service_name) override;
87
88 void partitionAndExchangeMeshWithReplication(IMeshPartitionerBase* partitioner,
89 bool initial_partition) override;
90
91 void mergeNodes(Int32ConstArrayView nodes_local_id,
93
94 private:
95
96 IMesh* m_mesh;
97 BasicItemPairGroupComputeFunctor* m_compute_adjency_functor;
98
99 private:
100
101 Real3 _round(Real3 value);
102 Real3 _broadcastFarthestNode(Real distance,const Node& node,
104};
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109ARCANE_END_NAMESPACE
110
111/*---------------------------------------------------------------------------*/
112/*---------------------------------------------------------------------------*/
113
114#endif
115
Interface d'un partitionneur de maillage.
Interface d'une classe proposant des fonctions utilitaires sur maillage.
Tableau de listes d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Noeud d'un maillage.
Definition Dom.h:204
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Fonctions utilitaires sur un maillage.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
eItemKind
Genre d'entité de maillage.