Arcane  v3.16.8.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IPrimaryMesh.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/* IPrimaryMesh.h (C) 2000-2025 */
9/* */
10/* Interface de la géométrie d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IPRIMARYMESH_H
13#define ARCANE_CORE_IPRIMARYMESH_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
20#include "arcane/core/IMesh.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31class IParallelMng;
33class XmlNode;
34class IMeshUtilities;
35class IMeshModifier;
36class Properties;
37
38/*---------------------------------------------------------------------------*/
39/*---------------------------------------------------------------------------*/
40//INFO: La doc complete est dans Mesh.dox
42: public IMesh
43{
44 public:
45
46 virtual ~IPrimaryMesh() {} //<! Libère les ressources
47
48 public:
49
52
63 virtual void setDimension(Integer dim) =0;
64
67 virtual void reloadMesh() =0;
68
69 //NOTE: Documentation complète de cette méthode dans Mesh.dox
71 virtual void allocateCells(Integer nb_cell,Int64ConstArrayView cells_infos,bool one_alloc=true) =0;
72
81 virtual void endAllocate() =0;
82
98 virtual void deallocate() =0;
99
105 virtual IMeshInitialAllocator* initialAllocator() { return nullptr; }
106
107 public:
108
120
122 virtual void exchangeItems() =0;
123
124 public:
125
137 virtual void setOwnersFromCells() =0;
138
143 virtual void setMeshPartInfo(const MeshPartInfo& mpi) =0;
144};
145
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148
149} // End namespace Arcane
150
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
153
154#endif
Déclarations des types généraux de Arcane.
Déclarations de types sur les entités.
Interface d'allocation des entités du maillage.
Interface de modification du maillage.
Interface d'une classe proposant des fonctions utilitaires sur maillage.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un échangeur de particules.
virtual VariableNodeReal3 & nodesCoordinates()=0
Coordonnées des noeuds.
virtual void setOwnersFromCells()=0
Positionne les propriétaires des entités à partir du propriétaire des mailles.
virtual void setMeshPartInfo(const MeshPartInfo &mpi)=0
Positionne les informations de partitionnement.
virtual IMeshInitialAllocator * initialAllocator()
Allocateur initial spécifique.
virtual void exchangeItems()=0
Change les sous-domaines propriétaires des entités.
virtual void endAllocate()=0
Indique une fin d'allocation de mailles.
virtual void allocateCells(Integer nb_cell, Int64ConstArrayView cells_infos, bool one_alloc=true)=0
Allocation d'un maillage.
virtual void reloadMesh()=0
Recharge le maillage à partir des variables protégées.
virtual void setDimension(Integer dim)=0
Positionne la dimension du maillage (1D, 2D ou 3D).
virtual void deallocate()=0
Désalloue le maillage.
virtual VariableItemInt32 & itemsNewOwner(eItemKind kind)=0
Variable contenant l'identifiant du sous-domaine propriétaire.
Informations un maillage partitionné.
Liste de propriétés.
Definition Properties.h:64
Noeud d'un arbre DOM.
Definition XmlNode.h:51
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Grandeur au noeud de type coordonnées.
ItemVariableScalarRefT< Int32 > VariableItemInt32
Grandeur de type entier 32 bits.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:567
eItemKind
Genre d'entité de maillage.