BELFEM 0.9.0
Berkeley Lab Finite Element Framework
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
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
21namespace belfem
22{
23 namespace mesh
24 {
25//-----------------------------------------------------------------------------
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
51
52//-----------------------------------------------------------------------------
53
54 void
56
57//-----------------------------------------------------------------------------
58
59 void
60 create_tree() ;
61
62//-----------------------------------------------------------------------------
63
64 void
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
81
82//-----------------------------------------------------------------------------
83 };
84 }
85}
86
87#endif //BELFEM_CL_BELTEDTREE_HPP
Cell is a wrapper around the standard vector.
Definition cl_Cell.hpp:42
Top-level container for all mesh entities.
Definition cl_Mesh.hpp:60
void create_tree()
Definition cl_BeltedTree.cpp:74
void create_TreeField(Mesh *tEdgeMesh, string tFieldName)
Definition cl_BeltedTree.cpp:311
void compute_cohomology()
Definition cl_BeltedTree.cpp:167
BeltedTree(Mesh *aMesh, SimplicialComplex *aSimplicialComplex, Cell< Chain * > a1HomologyGenerators)
Definition cl_BeltedTree.cpp:24
void select_belt_fasteners()
Definition cl_BeltedTree.cpp:54
void create_cohomologyField(Mesh *tMeshEdge)
Definition cl_BeltedTree.cpp:325
Cell< Cochain * > & get_cohomology()
Definition cl_BeltedTree.cpp:368
Simplicial complex reduction engine underlying the homology and cohomology computation.
Definition cl_SimplicialComplex.hpp:37
Definition cl_EF_EdgeFunction.hpp:17
USER GUIDES:
Definition cl_Capacitor.cpp:16