Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IDoFFamily.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/* IDoFFamily.h (C) 2000-2022 */
9/* */
10/* Interface d'une famille de degrés de liberté (DoF). */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IDOFFAMILY_H
13#define ARCANE_IDOFFAMILY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/ItemTypes.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \ingroup Mesh
30 * \brief Interface d'une famille de DoF.
31 */
32class ARCANE_CORE_EXPORT IDoFFamily
33{
34 public:
35
36 virtual ~IDoFFamily() = default; //<! Libère les ressources
37
38 public:
39
40 virtual void build() = 0;
41
42 public:
43
44 //! Nom de la famille
45 virtual String name() const = 0;
46
47 //! Nom complet de la famille (avec celui du maillage)
48 virtual String fullName() const = 0;
49
50 //! Nombre d'entités
51 virtual Integer nbItem() const = 0;
52
53 //! Groupe de tous les DoF
54 virtual ItemGroup allItems() const = 0;
55
56 public:
57
58 //! En entree les uids des dofs et on recupere leurs lids
60
61 //! L'ajout de fantomes doit etre suivi d'un appel de computeSynchronizeInfos
63 Int32ConstArrayView owners) = 0;
64
65 virtual void removeDoFs(Int32ConstArrayView items_local_id) = 0;
66
67 /*!
68 * \sa IItemFamily::endUpdate().
69 */
70 virtual void endUpdate() = 0;
71
72 virtual IItemFamily* itemFamily() = 0;
73};
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78} // namespace Arcane
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83#endif
Interface d'une famille de DoF.
Definition IDoFFamily.h:33
virtual String fullName() const =0
Nom complet de la famille (avec celui du maillage)
virtual String name() const =0
Nom de la famille.
virtual Integer nbItem() const =0
Nombre d'entités.
virtual DoFVectorView addDoFs(Int64ConstArrayView dof_uids, Int32ArrayView dof_lids)=0
En entree les uids des dofs et on recupere leurs lids.
virtual ItemGroup allItems() const =0
Groupe de tous les DoF.
virtual void endUpdate()=0
virtual DoFVectorView addGhostDoFs(Int64ConstArrayView dof_uids, Int32ArrayView dof_lids, Int32ConstArrayView owners)=0
L'ajout de fantomes doit etre suivi d'un appel de computeSynchronizeInfos.
Interface d'une famille d'entités.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
ItemVectorViewT< DoF > DoFVectorView
Vue sur un vecteur de degre de liberte.
Definition ItemTypes.h:315
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-