BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_Element_Factory.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_ELEMENT_FACTORY_HPP
13
#define BELFEM_CL_ELEMENT_FACTORY_HPP
14
15
#include "
typedefs.hpp
"
16
#include "
Mesh_Enums.hpp
"
17
18
#include "
cl_Element.hpp
"
19
#include "
cl_Matrix.hpp
"
20
#include "
cl_ReferenceElement.hpp
"
21
22
namespace
belfem
23
{
24
namespace
mesh
25
{
26
class
ElementFactory
27
{
28
//------------------------------------------------------------------------------
29
public
:
30
//------------------------------------------------------------------------------
31
32
ElementFactory
() =
default
;
33
34
~ElementFactory
() =
default
;
35
36
//------------------------------------------------------------------------------
37
38
Element
*
39
create_element
(
40
const
ElementType
aType,
41
const
id_t
aID )
const
;
42
43
ReferenceElement
*
44
create_reference_element
(
45
const
ElementType
aType )
const
;
46
47
void
48
create_orientation_table
(
const
ElementType
aType,
Matrix< uint >
& aTable )
const
;
49
50
//------------------------------------------------------------------------------
51
private
:
52
53
void
54
create_unity_nodes(
const
ElementType
aType,
Matrix< real >
& aNodes )
const
;
55
56
57
};
58
}
59
}
60
#endif
//BELFEM_CL_ELEMENT_FACTORY_HPP
Mesh_Enums.hpp
cl_Element.hpp
cl_Matrix.hpp
cl_ReferenceElement.hpp
belfem::Matrix< uint >
belfem::mesh::ElementFactory::create_reference_element
ReferenceElement * create_reference_element(const ElementType aType) const
Definition
cl_Element_Factory.cpp:206
belfem::mesh::ElementFactory::create_orientation_table
void create_orientation_table(const ElementType aType, Matrix< uint > &aTable) const
Definition
cl_Element_Factory.cpp:693
belfem::mesh::ElementFactory::ElementFactory
ElementFactory()=default
belfem::mesh::ElementFactory::~ElementFactory
~ElementFactory()=default
belfem::mesh::ElementFactory::create_element
Element * create_element(const ElementType aType, const id_t aID) const
Definition
cl_Element_Factory.cpp:58
belfem::mesh::Element
Lagrange Element baseclass.
Definition
cl_Element.hpp:35
belfem::mesh::ReferenceElement
Definition
cl_ReferenceElement.hpp:27
belfem::mesh
Definition
cl_EF_EdgeFunction.hpp:17
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::id_t
unsigned int id_t
Definition
typedefs.hpp:41
belfem::ElementType
ElementType
Element types.
Definition
Mesh_Enums.hpp:27
typedefs.hpp
src
mesh
cl_Element_Factory.hpp
Generated by
1.18.0