Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshPartitionConstraint.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 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
/* IMeshPartitionConstraint.h (C) 2000-2017 */
9
/* */
10
/* Interface d'une contrainte de partitionnement d'un maillage. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_IMESHPARTITIONCONSTRAINT_H
13
#define ARCANE_IMESHPARTITIONCONSTRAINT_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/ArcaneTypes.h"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
ARCANE_BEGIN_NAMESPACE
23
24
/*---------------------------------------------------------------------------*/
25
/*---------------------------------------------------------------------------*/
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
/*!
30
* \brief Interface d'une contrainte de partitionnement d'un maillage.
31
*
32
* Les instances de cette interface sont gérées par un
33
* IMeshPartitionConstraintMng.
34
*/
35
class
IMeshPartitionConstraint
36
{
37
public
:
38
39
virtual
~IMeshPartitionConstraint
() {}
//<! Libère les ressources
40
41
public
:
42
43
/*!
44
* \brief Ajoute un ensemble de contraintes sur les mailles.
45
*
46
* Ajoute dans le tableau \a linked_cells un ensemble de couples de
47
* uniqueId() de mailles qui doivent rester dans la même partition.
48
* Par exemple, si les mailles 25 et 23 doivent rester connectées, il
49
* suffit d'appeler:
50
\code
51
linked_cells.add(23);
52
linked_cells.add(25);
53
\endcode
54
*
55
* Il faut toujours ajouter des couples de uniqueId(), en répétant
56
* éventuellement les mailles. Par exemple, si on souhaite
57
* que les mailles 35, 37 et 39,il faut faire comme suit:
58
\code
59
linked_cells.add(35);
60
linked_cells.add(37);
61
linked_cells.add(35);
62
linked_cells.add(39);
63
\endcode
64
Le tableau \a linked_cells doit avoir une taille multiple de 2.
65
Le tableau \a linked owners indique pour chaque couple à quel sous-domaine
66
il doit appartenir.
67
68
TODO: Supprimer \a linked_owners
69
70
\warning : chaque paire doit commencer par la cellule d'uid le plus petit.
71
Le "owner" indicate for every couple that correspond to the first cell.
72
*/
73
virtual
void
addLinkedCells
(
Int64Array
& linked_cells,
Int32Array
& linked_owners) =0;
74
};
75
76
/*---------------------------------------------------------------------------*/
77
/*---------------------------------------------------------------------------*/
78
79
ARCANE_END_NAMESPACE
80
81
/*---------------------------------------------------------------------------*/
82
/*---------------------------------------------------------------------------*/
83
84
#endif
Arcane::IMeshPartitionConstraint
Interface d'une contrainte de partitionnement d'un maillage.
Definition
IMeshPartitionConstraint.h:36
Arcane::IMeshPartitionConstraint::addLinkedCells
virtual void addLinkedCells(Int64Array &linked_cells, Int32Array &linked_owners)=0
Ajoute un ensemble de contraintes sur les mailles.
Arccore::Array
Classe de base des vecteurs 1D de données.
Definition
arccore/src/collections/arccore/collections/Array.h:988
arcane
core
IMeshPartitionConstraint.h
Généré le Lundi 18 Novembre 2024 02:56:48 pour Arcane par
1.9.8