Arcane  v4.1.1.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-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/* CartesianMeshAMRMng.h (C) 2000-2025 */
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
40class ARCANE_CARTESIANMESH_EXPORT CartesianMeshAMRMng
41{
42 public:
43
47 explicit CartesianMeshAMRMng(ICartesianMesh* cmesh);
48
49 public:
50
56 Int32 nbPatch() const;
57
65 CartesianPatch amrPatch(Int32 index) const;
66
71
84 void refineZone(const AMRZonePosition& position) const;
85
104 void coarseZone(const AMRZonePosition& position) const;
105
142 void adaptMesh() const;
143
156 void clearRefineRelatedFlags() const;
157
158 void enableOverlapLayer(bool enable) const;
159
176 Integer reduceNbGhostLayers(Integer level, Integer target_nb_ghost_layers) const;
177
190 void mergePatches() const;
191
205 void createSubLevel() const;
206
207 private:
208
209 ICartesianMesh* m_cmesh;
210};
211
212/*---------------------------------------------------------------------------*/
213/*---------------------------------------------------------------------------*/
214
215} // End namespace Arcane
216
217/*---------------------------------------------------------------------------*/
218/*---------------------------------------------------------------------------*/
219
220#endif //ARCANE_CARTESIANMESH_CARTESIANMESHAMRMNG_H
Déclarations de types sur les entités.
Classe permettant de définir une zone d'un maillage.
void coarseZone(const AMRZonePosition &position) const
Dé-raffine un bloc du maillage cartésien.
CartesianMeshPatchListView patches() const
Vue sur la liste des patchs.
void adaptMesh() const
Méthode permettant d'adapter le raffinement du maillage selon les mailles à raffiner.
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.
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...
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.