BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_FEM_Bearing.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_FEM_BEARING_HPP
13#define BELFEM_CL_FEM_BEARING_HPP
14
15#include "typedefs.hpp"
16#include "cl_Cell.hpp"
17#include "cl_Node.hpp"
18#include "cl_FEM_Dof.hpp"
19
20namespace belfem
21{
22 namespace fem
23 {
24 class DofManagerBase;
25 class Field ;
26 class DofManager ;
27
28//------------------------------------------------------------------------------
29
30 class Bearing
31 {
32 DofManagerBase * mParent = nullptr;
33
34 const id_t mID;
35
36 mesh::Node * mNode = nullptr;
37
38 uint mNumDofs = 0 ;
39
40 Dof ** mDOFs = nullptr ;
41
42
43//------------------------------------------------------------------------------
44 public:
45//------------------------------------------------------------------------------
46
47 // constructor for empty bearing
48 Bearing( DofManagerBase * aParent );
49
50//------------------------------------------------------------------------------
51
52 Bearing( DofManager * aParent, const id_t aID, mesh::Node * aNode );
53
54//------------------------------------------------------------------------------
55
56 ~Bearing();
57
58//------------------------------------------------------------------------------
59
60 id_t
61 id() const;
62
63//------------------------------------------------------------------------------
64
66 node();
67
68//------------------------------------------------------------------------------
69
70 void
71 impose_dirichlet( const real aValue, const uint aDofType=0 );
72
73//------------------------------------------------------------------------------
74
75 void
76 allocate_dof_container( const index_t aNumDofs );
77
78//------------------------------------------------------------------------------
79
80 void
81 insert_dof( Dof * aDof, const index_t aIndex );
82
83//------------------------------------------------------------------------------
84
85 void
86 free();
87
88//------------------------------------------------------------------------------
89 };
90
91//------------------------------------------------------------------------------
92
93 inline id_t
95 {
96 return mID;
97 }
98
99//------------------------------------------------------------------------------
100
101 inline mesh::Node *
103 {
104 return mNode;
105 }
106
107//------------------------------------------------------------------------------
108 }
109}
110#endif //BELFEM_CL_FEM_BEARING_HPP
void insert_dof(Dof *aDof, const index_t aIndex)
Definition cl_FEM_Bearing.cpp:78
mesh::Node * node()
Definition cl_FEM_Bearing.hpp:102
Bearing(DofManagerBase *aParent)
Definition cl_FEM_Bearing.cpp:33
void free()
Definition cl_FEM_Bearing.cpp:203
void impose_dirichlet(const real aValue, const uint aDofType=0)
Definition cl_FEM_Bearing.cpp:94
void allocate_dof_container(const index_t aNumDofs)
Definition cl_FEM_Bearing.cpp:64
id_t id() const
Definition cl_FEM_Bearing.hpp:94
Definition cl_FEM_Dof.hpp:28
abstract interface of the dof manager as seen by the group classes and the IWG; DofManager is its onl...
Definition cl_FEM_DofManagerBase.hpp:44
this class creates the DOFs based on the passed equation object.
Definition cl_FEM_DofManager.hpp:55
Definition cl_IFB_LINE3.hpp:21
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
unsigned int id_t
Definition typedefs.hpp:41
uint32_t index_t
Definition typedefs.hpp:52
double real
Definition typedefs.hpp:36
Definition Node.py:1