Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IMeshArea.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* IMeshArea.h (C) 2000-2025 */
9/* */
10/* Interface of a mesh area. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHAREA_H
13#define ARCANE_CORE_IMESHAREA_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29/*!
30 * \ingroup Mesh
31 *
32 * \brief Interface of a mesh area.
33 *
34 * A mesh area is a subset of the mesh defined by
35 * a list of cells and nodes.
36 */
37class ARCANE_CORE_EXPORT IMeshArea
38{
39 public:
40
41 virtual ~IMeshArea() = default; //!< Releases resources
42
43 public:
44
45 //! Number of mesh nodes
46 virtual Integer nbNode() = 0;
47
48 //! Number of mesh cells
49 virtual Integer nbCell() = 0;
50
51 public:
52
53 //! Associated sub-domain
54 virtual ISubDomain* subDomain() = 0;
55
56 //! Associated trace manager
57 virtual ITraceMng* traceMng() = 0;
58
59 //! Mesh to which the area belongs
60 virtual IMesh* mesh() = 0;
61
62 public:
63
64 //! Group of all nodes
65 virtual NodeGroup allNodes() = 0;
66
67 //! Group of all cells
68 virtual CellGroup allCells() = 0;
69
70 //! Group of all nodes belonging to the domain
71 virtual NodeGroup ownNodes() = 0;
72
73 //! Group of all cells belonging to the domain
74 virtual CellGroup ownCells() = 0;
75};
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80} // namespace Arcane
81
82/*---------------------------------------------------------------------------*/
83/*---------------------------------------------------------------------------*/
84
85#endif
Declarations of Arcane's general types.
Declarations of types on entities.
Interface of a mesh area.
Definition IMeshArea.h:38
virtual NodeGroup ownNodes()=0
Group of all nodes belonging to the domain.
virtual CellGroup allCells()=0
Group of all cells.
virtual ITraceMng * traceMng()=0
Associated trace manager.
virtual NodeGroup allNodes()=0
Group of all nodes.
virtual ISubDomain * subDomain()=0
Associated sub-domain.
virtual Integer nbCell()=0
Number of mesh cells.
virtual CellGroup ownCells()=0
Group of all cells belonging to the domain.
virtual IMesh * mesh()=0
Mesh to which the area belongs.
virtual ~IMeshArea()=default
Releases resources.
virtual Integer nbNode()=0
Number of mesh nodes.
Interface of the subdomain manager.
Definition ISubDomain.h:75
ItemGroupT< Cell > CellGroup
Group of cells.
Definition ItemTypes.h:184
ItemGroupT< Node > NodeGroup
Group of nodes.
Definition ItemTypes.h:168
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.