v0.14.0
Loading...
Searching...
No Matches
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
14namespace MoFEM {
15
16// TETS
17void tet_type_6(moab::Interface &moab, const EntityHandle *conn,
18 const EntityHandle *edge_new_nodes,
19 EntityHandle *new_tets_conn);
20int tet_type_5(moab::Interface &moab, const EntityHandle *conn,
21 const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
22int tet_type_4(const EntityHandle *conn, const int *split_edges,
23 const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
24int tet_type_3(const EntityHandle *conn, const int *split_edges,
25 const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
26int tet_type_2(const EntityHandle *conn, const int *split_edges,
27 const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn);
28void tet_type_1(const EntityHandle *conn, const int split_edge,
29 const EntityHandle edge_new_node, EntityHandle *new_tets_conn);
30
31// TRIS
32
33MoFEMErrorCode tri_type_1(const EntityHandle *conn, const int split_edge,
34 const EntityHandle edge_new_node,
35 EntityHandle *new_tris_conn);
36
37MoFEMErrorCode 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__
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
std::bitset< BITREFEDGES_SIZE > BitRefEdges
Definition: Types.hpp:34
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
int tet_type_3(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
void tet_type_6(moab::Interface &moab, const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
MoFEMErrorCode tri_type_2(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tris_conn)
MoFEMErrorCode quad_split_all_edges(const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_quad_conn)
MoFEMErrorCode prism_type_2(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
MoFEMErrorCode tri_type_1(const EntityHandle *conn, const int split_edge, const EntityHandle edge_new_node, EntityHandle *new_tris_conn)
MoFEMErrorCode prism_type_3(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
MoFEMErrorCode tri_type_3(const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tris_conn)
MoFEMErrorCode prism_type_1(const EntityHandle *conn, const BitRefEdges split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_prism_conn)
int tet_type_2(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
int tet_type_5(moab::Interface &moab, const EntityHandle *conn, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
int tet_type_4(const EntityHandle *conn, const int *split_edges, const EntityHandle *edge_new_nodes, EntityHandle *new_tets_conn)
void tet_type_1(const EntityHandle *conn, const int split_edge, const EntityHandle edge_new_node, EntityHandle *new_tets_conn)