BELFEM 0.9.0
Berkeley Lab Finite Element Framework
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
18namespace belfem
19{
20 class Mesh ;
21 namespace fem
22 {
30 {
31//------------------------------------------------------------------------------
32 protected:
33//------------------------------------------------------------------------------
34
35 Mesh * mMesh = nullptr ;
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 > &
60
61//------------------------------------------------------------------------------
62 private:
63//------------------------------------------------------------------------------
64
65 void
66 populate_block_ids();
67
68//------------------------------------------------------------------------------
69 };
70//------------------------------------------------------------------------------
71
72 inline const Vector< id_t > &
74 {
75 return mAllBlockIDs ;
76 }
77
78//------------------------------------------------------------------------------
79 }
80}
81#endif //BELFEM_CL_IWGFACTORY_HPP
Top-level container for all mesh entities.
Definition cl_Mesh.hpp:60
Prototype for Integrator of Weak Form Governing Equation.
Definition cl_IWG.hpp:81
virtual ~IwgFactory()=default
Vector< id_t > mAllBlockIDs
Definition cl_IwgFactory.hpp:37
Mesh * mMesh
Definition cl_IwgFactory.hpp:35
IwgFactory(Mesh &aMesh)
Definition cl_IwgFactory.cpp:25
const Vector< id_t > & all_block_ids()
Definition cl_IwgFactory.hpp:73
IWG * create_iwg(const IwgType aType, const ModelDimensionality aDimensionality=ModelDimensionality::TwoD) const
Definition cl_IwgFactory.cpp:44
const uint mNumberOfDimensions
Definition cl_IwgFactory.hpp:36
Definition cl_IFB_LINE3.hpp:21
USER GUIDES:
Definition cl_Capacitor.cpp:16
IwgType
Definition en_IWGs.hpp:64
unsigned int uint
Definition typedefs.hpp:30
ModelDimensionality
Definition en_IWGs.hpp:20
@ TwoD
Definition en_IWGs.hpp:21