Arcane  v4.1.4.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
CartesianMeshAMRMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* CartesianMeshAMRMng.h (C) 2000-2026 */
9/* */
10/* Gestionnaire de l'AMR pour un maillage cartésien. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#ifndef ARCANE_CARTESIANMESH_CARTESIANMESHAMRMNG_H
15#define ARCANE_CARTESIANMESH_CARTESIANMESHAMRMNG_H
16
17/*---------------------------------------------------------------------------*/
18/*---------------------------------------------------------------------------*/
19
21
22#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
41class ARCANE_CARTESIANMESH_EXPORT CartesianMeshAMRMng
42{
43 public:
44
48 explicit CartesianMeshAMRMng(ICartesianMesh* cmesh);
49
50 public:
51
57 Int32 nbPatch() const;
58
66 CartesianPatch amrPatch(Int32 index) const;
67
72
85 void refineZone(const AMRZonePosition& position) const;
86
105 void coarseZone(const AMRZonePosition& position) const;
106
174 void beginAdaptMesh(Int32 max_nb_levels, Int32 level_to_refine_first);
175
235 void adaptLevel(Int32 level_to_adapt, bool do_fatal_if_useless = false) const;
236
261 void endAdaptMesh();
262
275 void clearRefineRelatedFlags() const;
276
289 void setOverlapLayerSizeTopLevel(Int32 new_size) const;
290
302 void disableOverlapLayer();
303
320 Integer reduceNbGhostLayers(Integer level, Integer target_nb_ghost_layers) const;
321
334 void mergePatches() const;
335
349 void createSubLevel() const;
350
351 private:
352
353 ICartesianMesh* m_cmesh;
354};
355
356/*---------------------------------------------------------------------------*/
357/*---------------------------------------------------------------------------*/
358
359} // End namespace Arcane
360
361/*---------------------------------------------------------------------------*/
362/*---------------------------------------------------------------------------*/
363
364#endif //ARCANE_CARTESIANMESH_CARTESIANMESHAMRMNG_H
Déclarations de types sur les entités.
Classe permettant de définir une zone d'un maillage.
void setOverlapLayerSizeTopLevel(Int32 new_size) const
Méthode permettant de modifier le nombre de couches de mailles de recouvrement sur le niveau de raffi...
void coarseZone(const AMRZonePosition &position) const
Dé-raffine un bloc du maillage cartésien.
CartesianMeshPatchListView patches() const
Vue sur la liste des patchs.
void mergePatches() const
Méthode permettant de fusionner les patchs qui peuvent l'être.
void clearRefineRelatedFlags() const
Méthode permettant de supprimer les flags liés au raffinement de toutes les mailles.
CartesianMeshAMRMng(ICartesianMesh *cmesh)
Constructeur.
Int32 nbPatch() const
Nombre de patchs du maillage.
void endAdaptMesh()
Méthode permettant de terminer le raffinement du maillage.
void disableOverlapLayer()
Méthode permettant de désactiver les couches de mailles de recouvrement (et de les détruire si présen...
Integer reduceNbGhostLayers(Integer level, Integer target_nb_ghost_layers) const
Méthode permettant de supprimer une ou plusieurs couches de mailles fantômes sur un niveau de raffine...
void adaptLevel(Int32 level_to_adapt, bool do_fatal_if_useless=false) const
Méthode permettant de créer un niveau de raffinement du maillage.
void beginAdaptMesh(Int32 max_nb_levels, Int32 level_to_refine_first)
Méthode permettant de commencer le raffinement du maillage.
CartesianPatch amrPatch(Int32 index) const
Retourne le index-ième patch du maillage.
void refineZone(const AMRZonePosition &position) const
Raffine un bloc du maillage cartésien.
void createSubLevel() const
Méthode permettant de créer un sous-niveau ("niveau -1").
Patch AMR d'un maillage cartésien.
Interface d'un maillage cartésien.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.