Arcane  v3.14.10.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-2023 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-2023 */
9/* */
10/* Interface de la géométrie d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IPRIMARYMESH_H
13#define ARCANE_IPRIMARYMESH_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/ItemTypes.h"
19#include "arcane/VariableTypedef.h"
20#include "arcane/IMesh.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31class IParallelMng;
32class IParticleExchanger;
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
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
Interface d'allocation des entités du maillage.
virtual VariableNodeReal3 & nodesCoordinates()=0
Coordonnées des noeuds.
virtual void allocateCells(Integer nb_cell, Int64ConstArrayView cells_infos, bool one_alloc=true)=0
Allocation d'un maillage.
virtual void exchangeItems()=0
Change les sous-domaines propriétaires des entités.
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 endAllocate()=0
Indique une fin d'allocation de mailles.
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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Informations un maillage partitionné.
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.