BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_IwgFactory.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 BELFEM_CL_IWGFACTORY_HPP
13
#define BELFEM_CL_IWGFACTORY_HPP
14
15
#include "
cl_IWG.hpp
"
16
#include "
en_IWGs.hpp
"
17
18
namespace
belfem
19
{
20
class
Mesh
;
21
namespace
fem
22
{
29
class
IwgFactory
30
{
31
//------------------------------------------------------------------------------
32
protected
:
33
//------------------------------------------------------------------------------
34
35
Mesh
*
mMesh
= nullptr ;
36
const
uint
mNumberOfDimensions
;
37
Vector< id_t >
mAllBlockIDs
;
38
39
//------------------------------------------------------------------------------
40
public
:
41
//------------------------------------------------------------------------------
42
43
IwgFactory
(
Mesh
& aMesh ) ;
44
45
IwgFactory
(
Mesh
* aMesh ) ;
46
47
//------------------------------------------------------------------------------
48
49
virtual
~IwgFactory
() = default ;
50
51
//------------------------------------------------------------------------------
52
53
IWG
*
54
create_iwg
(
const
IwgType
aType,
const
ModelDimensionality
aDimensionality=
ModelDimensionality::TwoD
)
const
;
55
56
//------------------------------------------------------------------------------
57
58
const
Vector< id_t >
&
59
all_block_ids
();
60
61
//------------------------------------------------------------------------------
62
private
:
63
//------------------------------------------------------------------------------
64
65
void
66
populate_block_ids();
67
68
//------------------------------------------------------------------------------
69
};
70
//------------------------------------------------------------------------------
71
72
inline
const
Vector< id_t >
&
73
IwgFactory::all_block_ids
()
74
{
75
return
mAllBlockIDs
;
76
}
77
78
//------------------------------------------------------------------------------
79
}
80
}
81
#endif
//BELFEM_CL_IWGFACTORY_HPP
cl_IWG.hpp
belfem::Mesh
Top-level container for all mesh entities.
Definition
cl_Mesh.hpp:60
belfem::Vector< id_t >
belfem::fem::IWG
Prototype for Integrator of Weak Form Governing Equation.
Definition
cl_IWG.hpp:81
belfem::fem::IwgFactory::~IwgFactory
virtual ~IwgFactory()=default
belfem::fem::IwgFactory::mAllBlockIDs
Vector< id_t > mAllBlockIDs
Definition
cl_IwgFactory.hpp:37
belfem::fem::IwgFactory::mMesh
Mesh * mMesh
Definition
cl_IwgFactory.hpp:35
belfem::fem::IwgFactory::IwgFactory
IwgFactory(Mesh &aMesh)
Definition
cl_IwgFactory.cpp:25
belfem::fem::IwgFactory::all_block_ids
const Vector< id_t > & all_block_ids()
Definition
cl_IwgFactory.hpp:73
belfem::fem::IwgFactory::create_iwg
IWG * create_iwg(const IwgType aType, const ModelDimensionality aDimensionality=ModelDimensionality::TwoD) const
Definition
cl_IwgFactory.cpp:44
belfem::fem::IwgFactory::mNumberOfDimensions
const uint mNumberOfDimensions
Definition
cl_IwgFactory.hpp:36
en_IWGs.hpp
belfem::fem
Definition
cl_IFB_LINE3.hpp:21
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::IwgType
IwgType
Definition
en_IWGs.hpp:64
belfem::uint
unsigned int uint
Definition
typedefs.hpp:30
belfem::ModelDimensionality
ModelDimensionality
Definition
en_IWGs.hpp:20
belfem::ModelDimensionality::TwoD
@ TwoD
Definition
en_IWGs.hpp:21
src
fem
iwg
cl_IwgFactory.hpp
Generated by
1.18.0