BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_BeltedTree.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
#include "
cl_SimplicialComplex.hpp
"
13
#include "
cl_Chain.hpp
"
14
#include "
cl_Cochain.hpp
"
15
#include "
cl_Edge.hpp
"
16
#include "
cl_Element.hpp
"
17
18
#ifndef BELFEM_CL_BELTEDTREE_HPP
19
#define BELFEM_CL_BELTEDTREE_HPP
20
21
namespace
belfem
22
{
23
namespace
mesh
24
{
25
//-----------------------------------------------------------------------------
26
class
BeltedTree
27
{
28
Cell< Chain * >
m1HomologyGenerators ;
29
30
Cell< Cochain * >
m1CohomologyGenerators ;
31
32
Cell < Edge * > mBeltFasteners ;
33
34
Cell < index_t > mTree ;
35
36
SimplicialComplex
* mSimplicialComplex ;
37
38
Mesh
* mMesh ;
39
40
//-----------------------------------------------------------------------------
41
public
:
42
//-----------------------------------------------------------------------------
43
44
BeltedTree
(
Mesh
* aMesh,
45
SimplicialComplex
* aSimplicialComplex,
46
Cell< Chain * >
a1HomologyGenerators) ;
47
48
//-----------------------------------------------------------------------------
49
50
~BeltedTree
();
51
52
//-----------------------------------------------------------------------------
53
54
void
55
select_belt_fasteners
() ;
56
57
//-----------------------------------------------------------------------------
58
59
void
60
create_tree
() ;
61
62
//-----------------------------------------------------------------------------
63
64
void
65
compute_cohomology
() ;
66
67
//-----------------------------------------------------------------------------
68
69
void
70
create_TreeField
(
Mesh
* tEdgeMesh ,
string
tFieldName) ;
71
72
//-----------------------------------------------------------------------------
73
74
void
75
create_cohomologyField
(
Mesh
* tMeshEdge ) ;
76
77
//-----------------------------------------------------------------------------
78
79
Cell< Cochain * >
&
80
get_cohomology
();
81
82
//-----------------------------------------------------------------------------
83
};
84
}
85
}
86
87
#endif
//BELFEM_CL_BELTEDTREE_HPP
cl_Chain.hpp
cl_Cochain.hpp
cl_Edge.hpp
cl_Element.hpp
cl_SimplicialComplex.hpp
belfem::Cell
Cell is a wrapper around the standard vector.
Definition
cl_Cell.hpp:42
belfem::Mesh
Top-level container for all mesh entities.
Definition
cl_Mesh.hpp:60
belfem::mesh::BeltedTree::create_tree
void create_tree()
Definition
cl_BeltedTree.cpp:74
belfem::mesh::BeltedTree::create_TreeField
void create_TreeField(Mesh *tEdgeMesh, string tFieldName)
Definition
cl_BeltedTree.cpp:311
belfem::mesh::BeltedTree::compute_cohomology
void compute_cohomology()
Definition
cl_BeltedTree.cpp:167
belfem::mesh::BeltedTree::BeltedTree
BeltedTree(Mesh *aMesh, SimplicialComplex *aSimplicialComplex, Cell< Chain * > a1HomologyGenerators)
Definition
cl_BeltedTree.cpp:24
belfem::mesh::BeltedTree::select_belt_fasteners
void select_belt_fasteners()
Definition
cl_BeltedTree.cpp:54
belfem::mesh::BeltedTree::create_cohomologyField
void create_cohomologyField(Mesh *tMeshEdge)
Definition
cl_BeltedTree.cpp:325
belfem::mesh::BeltedTree::get_cohomology
Cell< Cochain * > & get_cohomology()
Definition
cl_BeltedTree.cpp:368
belfem::mesh::SimplicialComplex
Simplicial complex reduction engine underlying the homology and cohomology computation.
Definition
cl_SimplicialComplex.hpp:37
belfem::mesh
Definition
cl_EF_EdgeFunction.hpp:17
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
src
homology
cl_BeltedTree.hpp
Generated by
1.18.0