v0.14.0
EntityRefine.hpp
Go to the documentation of this file.
1 /* \file EntityRefine.hpp
2  * --------------------------------------------------------------
3  * \brief Tetrahedral refinement algorithm
4  *
5  * It is based on \cite ruprecht1998scheme
6  *
7  * \todo tet Refinement should be rewritten, with better error control, and more
8  * clear refinement patterns.
9  */
10 
11 #ifndef __ENTITYREFINE_HPP__
12 #define __ENTITYREFINE_HPP__
13 
14 namespace MoFEM {
15 
16 // TETS
17 void tet_type_6(moab::Interface &moab, const EntityHandle *conn,
18  const EntityHandle *edge_new_nodes,
19  EntityHandle *new_tets_conn);
20 int tet_type_5(moab::Interface &moab, const EntityHandle *conn,
21  const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
22 int tet_type_4(const EntityHandle *conn, const int *split_edges,
23  const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
24 int tet_type_3(const EntityHandle *conn, const int *split_edges,
25  const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
26 int tet_type_2(const EntityHandle *conn, const int *split_edges,
27  const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
28 void tet_type_1(const EntityHandle *conn, const int split_edge,
29  const EntityHandle edge_new_node, EntityHandle *new_tets_conn);
30 
31 // TRIS
32 
33 MoFEMErrorCode tri_type_1(const EntityHandle *conn, const int split_edge,
34  const EntityHandle edge_new_node,
35  EntityHandle *new_tris_conn);
36 
37 MoFEMErrorCode tri_type_2(const EntityHandle *conn, const int *split_edges,
38  const EntityHandle *edge_new_nodes,
39  EntityHandle *new_tris_conn);
40 
42  const EntityHandle *edge_new_nodes,
43  EntityHandle *new_tris_conn);
44 
45 // PRISM
47  const BitRefEdges split_edges,
48  const EntityHandle *edge_new_nodes,
49  EntityHandle *new_prism_conn);
51  const BitRefEdges split_edges,
52  const EntityHandle *edge_new_nodes,
53  EntityHandle *new_prism_conn);
55  const BitRefEdges split_edges,
56  const EntityHandle *edge_new_nodes,
57  EntityHandle *new_prism_conn);
58 
59 // Quad
61  const EntityHandle *edge_new_nodes,
62  EntityHandle *new_quad_conn);
63 
64 } // namespace MoFEM
65 
66 #endif //__ENTITYREFINE_HPP__
EntityHandle
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::quad_split_all_edges
MoFEMErrorCode quad_split_all_edges(const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_quad_conn)
MoFEM::tet_type_2
int tet_type_2(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:988
MoFEM::prism_type_2
MoFEMErrorCode prism_type_2(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
Definition: EntityRefine.cpp:1266
MoFEM::prism_type_1
MoFEMErrorCode prism_type_1(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
Definition: EntityRefine.cpp:1230
MoFEM::tri_type_3
MoFEMErrorCode tri_type_3(const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tris_conn)
Definition: EntityRefine.cpp:1111
MoFEM::Interface
DeprecatedCoreInterface Interface
Definition: Interface.hpp:1975
MoFEM::tet_type_3
int tet_type_3(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:565
MoFEM::tet_type_5
int tet_type_5(moab::Interface &moab, const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:133
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
MoFEM::tri_type_2
MoFEMErrorCode tri_type_2(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tris_conn)
Definition: EntityRefine.cpp:1177
MoFEM::Types::BitRefEdges
std::bitset< BITREFEDGES_SIZE > BitRefEdges
Definition: Types.hpp:34
MoFEM::tet_type_4
int tet_type_4(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:239
MoFEM::prism_type_3
MoFEMErrorCode prism_type_3(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
Definition: EntityRefine.cpp:1339
MoFEM::tet_type_1
void tet_type_1(const EntityHandle *conn, const int split_edge, const EntityHandle edge_new_node, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:1096
MoFEM::tet_type_6
void tet_type_6(moab::Interface &moab, const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
Definition: EntityRefine.cpp:31
MoFEM::tri_type_1
MoFEMErrorCode tri_type_1(const EntityHandle *conn, const int split_edge, const EntityHandle edge_new_node, EntityHandle *new_tris_conn)
Definition: EntityRefine.cpp:1137