BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_FEM_Domain.hpp
Go to the documentation of this file.
1
/*
2
* BELFEM -- The Berkeley Lab Finite Element Framework
3
* Copyright (c) 2026, The Regents of the University of California,
4
* through Lawrence Berkeley National Laboratory (subject to receipt of any required
5
* approvals from the U.S. Dept. of Energy). All rights reserved.
6
*
7
* Developers: Christian Messe, Gregory Giard
8
*
9
* See the top-level LICENSE file for the complete license and disclaimer.
10
*/
11
12
#ifndef CL_FEM_DOMAIN_HPP
13
#define CL_FEM_DOMAIN_HPP
14
15
#include "
typedefs.hpp
"
16
#include "
cl_Input_Section.hpp
"
17
#include "
cl_Vector.hpp
"
18
#include "
en_DomainType.hpp
"
19
20
namespace
belfem
21
{
22
namespace
fem
23
{
24
class
Domain
25
{
26
DomainType
mType ;
27
28
Vector< id_t >
mGroupIDs ;
29
30
// if the group ids are used as terminal to
31
// a thin shell, the next string is not empty. Otherwise it is
32
string
mThinShellLabel ;
33
34
string
mLabel ;
35
36
string
mMaterialLabel ;
37
38
bool
mIsBlock = true ;
39
bool
mIsSideSet = false ;
40
41
public
:
42
43
Domain
(
const
input::Section
* aSection );
44
45
~Domain
() =
default
;
46
47
bool
48
is_block
()
const
;
49
50
bool
51
is_sideset
()
const
;
52
53
DomainType
54
type
()
const
;
55
56
const
Vector< id_t >
&
57
group_ids
()
const
;
58
59
const
string
&
60
material
()
const
;
61
62
private
:
63
70
void
71
read_groups(
const
input::Section
* aSection,
72
bool
aUseBlocks =
true
,
73
bool
aAllowSigns =
false
);
74
75
};
76
77
inline
DomainType
78
Domain::type
()
const
79
{
80
return
mType ;
81
}
82
83
inline
bool
84
Domain::is_block
()
const
85
{
86
return
mIsBlock ;
87
}
88
89
inline
bool
90
Domain::is_sideset
()
const
91
{
92
return
mIsSideSet ;
93
}
94
95
inline
const
Vector< id_t >
&
96
Domain::group_ids
()
const
97
{
98
return
mGroupIDs ;
99
}
100
101
inline
const
string
&
102
Domain::material
()
const
103
{
104
return
mMaterialLabel ;
105
}
106
107
108
}
109
}
110
#endif
//CL_FEM_DOMAIN_HPP
cl_Input_Section.hpp
cl_Vector.hpp
belfem::Vector< id_t >
belfem::fem::Domain::~Domain
~Domain()=default
belfem::fem::Domain::is_sideset
bool is_sideset() const
Definition
cl_FEM_Domain.hpp:90
belfem::fem::Domain::material
const string & material() const
Definition
cl_FEM_Domain.hpp:102
belfem::fem::Domain::type
DomainType type() const
Definition
cl_FEM_Domain.hpp:78
belfem::fem::Domain::is_block
bool is_block() const
Definition
cl_FEM_Domain.hpp:84
belfem::fem::Domain::group_ids
const Vector< id_t > & group_ids() const
Definition
cl_FEM_Domain.hpp:96
belfem::fem::Domain::Domain
Domain(const input::Section *aSection)
Definition
cl_FEM_Domain.cpp:22
belfem::input::Section
One hierarchical section of a configuration file.
Definition
cl_Input_Section.hpp:34
en_DomainType.hpp
belfem::fem
Definition
cl_IFB_LINE3.hpp:21
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::DomainType
DomainType
Definition
en_DomainType.hpp:20
typedefs.hpp
src
fem
kernel
cl_FEM_Domain.hpp
Generated by
1.18.0