Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
src/arcane/cartesianmesh/ICartesianMesh.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ICartesianMesh.h (C) 2000-2024 */
9/* */
10/* Interface d'un maillage cartésien. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CARTESIANMESH_ICARTESIANMESH_H
13#define ARCANE_CARTESIANMESH_ICARTESIANMESH_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/MeshHandle.h"
19
20#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
34class ARCANE_CARTESIANMESH_EXPORT ICartesianMesh
35{
36 public:
37
38 virtual ~ICartesianMesh() {} //<! Libère les ressources
39
49 static ICartesianMesh* getReference(const MeshHandleOrMesh& mesh, bool create = true);
50
51 public:
52
53 virtual void build() = 0;
54
55 public:
56
58 virtual IMesh* mesh() const = 0;
59
61 virtual ITraceMng* traceMng() const = 0;
62
65
67 virtual CellDirectionMng cellDirection(Integer idir) = 0;
68
71
73 virtual FaceDirectionMng faceDirection(Integer idir) = 0;
74
77
79 virtual NodeDirectionMng nodeDirection(Integer idir) = 0;
80
90 virtual void computeDirections() = 0;
91
98 virtual void recreateFromDump() = 0;
99
102
108 virtual Int32 nbPatch() const = 0;
109
117 virtual ICartesianMeshPatch* patch(Int32 index) const = 0;
118
126 virtual CartesianPatch amrPatch(Int32 index) const = 0;
127
132
145 virtual void refinePatch2D(Real2 position, Real2 length) = 0;
146
159 virtual void refinePatch3D(Real3 position, Real3 length) = 0;
160
179 virtual void coarseZone2D(Real2 position, Real2 length) = 0;
180
199 virtual void coarseZone3D(Real3 position, Real3 length) = 0;
200
217 virtual Integer reduceNbGhostLayers(Integer level, Integer target_nb_ghost_layers) = 0;
218
227
229 virtual void checkValid() const = 0;
230
235 ARCANE_DEPRECATED_REASON("Y2024: Use Arcane::CartesianMeshUtils::createCartesianMeshCoarsening2() instead")
236 virtual Ref<CartesianMeshCoarsening> createCartesianMeshCoarsening() = 0;
237
238 public:
239
241 virtual ICartesianMeshInternal* _internalApi() = 0;
242};
243
244/*---------------------------------------------------------------------------*/
245/*---------------------------------------------------------------------------*/
246
247extern "C++" ARCANE_CARTESIANMESH_EXPORT ICartesianMesh*
248arcaneCreateCartesianMesh(IMesh* mesh);
249
250/*---------------------------------------------------------------------------*/
251/*---------------------------------------------------------------------------*/
252
253} // End namespace Arcane
254
255/*---------------------------------------------------------------------------*/
256/*---------------------------------------------------------------------------*/
257
258#endif
259
Déclarations des types généraux de Arcane.
Informations de connectivité d'un maillage cartésien.
Déraffine un maillage cartésien par 2.
Patch AMR d'un maillage cartésien.
Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré.
Infos sur les face d'une direction spécifique X,Y ou Z d'un maillage structuré.
Partie interne de ICartesianMesh.
Interface d'un patch AMR d'un maillage cartésien.
Interface d'un maillage cartésien.
virtual FaceDirectionMng faceDirection(eMeshDirection dir)=0
Liste des faces dans la direction dir.
virtual CellDirectionMng cellDirection(eMeshDirection dir)=0
Liste des mailles dans la direction dir.
virtual CartesianConnectivity connectivity()=0
Informations sur la connectivité
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé.
virtual void recreateFromDump()=0
Recalcule les informations de cartésiennes après une reprise.
virtual FaceDirectionMng faceDirection(Integer idir)=0
Liste des faces dans la direction dir (0, 1 ou 2)
virtual void renumberItemsUniqueId(const CartesianMeshRenumberingInfo &v)=0
Renumérote les uniqueId() des entités.
virtual IMesh * mesh() const =0
Maillage associé à ce maillage cartésien.
virtual ICartesianMeshPatch * patch(Int32 index) const =0
Retourne le index-ième patch du maillage.
virtual CellDirectionMng cellDirection(Integer idir)=0
Liste des mailles dans la direction dir (0, 1 ou 2)
virtual void refinePatch2D(Real2 position, Real2 length)=0
Raffine en 2D un bloc du maillage cartésien.
virtual void refinePatch3D(Real3 position, Real3 length)=0
Raffine en 3D un bloc du maillage cartésien.
virtual CartesianMeshPatchListView patches() const =0
Vue sur la liste des patchs.
virtual CartesianPatch amrPatch(Int32 index) const =0
Retourne le index-ième patch du maillage.
virtual NodeDirectionMng nodeDirection(Integer idir)=0
Liste des noeuds dans la direction dir (0, 1 ou 2)
virtual void coarseZone3D(Real3 position, Real3 length)=0
Dé-raffine en 3D un bloc du maillage cartésien.
virtual void coarseZone2D(Real2 position, Real2 length)=0
Dé-raffine en 2D un bloc du maillage cartésien.
virtual NodeDirectionMng nodeDirection(eMeshDirection dir)=0
Liste des noeuds dans la direction dir.
virtual void computeDirections()=0
Calcule les infos pour les accès par direction.
virtual Int32 nbPatch() const =0
Nombre de patchs du maillage.
virtual void checkValid() const =0
Effectue des vérifications sur la validité de l'instance.
virtual Integer reduceNbGhostLayers(Integer level, Integer target_nb_ghost_layers)=0
Méthode permettant de supprimer une ou plusieurs couches de mailles fantômes sur un niveau de raffine...
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe de compatibilité pour contenir un MeshHandle ou un IMesh*.
Definition MeshHandle.h:194
Infos sur les noeuds d'une direction spécifique X,Y ou Z d'un maillage structuré.
Classe gérant un vecteur de réel de dimension 2.
Definition Real2.h:121
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Interface du gestionnaire de traces.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshDirection
Type de la direction pour un maillage structuré