![]() |
v0.14.0 |
Mesh refinement interface. More...
#include <src/interfaces/MeshRefinement.hpp>
Classes | |
struct | SetParent |
Public Member Functions | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
MeshRefinement (const MoFEM::Core &core) | |
virtual | ~MeshRefinement ()=default |
MoFEMErrorCode | addVerticesInTheMiddleOfEdges (const EntityHandle meshset, const BitRefLevel &bit, const bool recursive=false, int verb=QUIET, EntityHandle start_v=0) |
make vertices in the middle of edges in meshset and add them to refinement levels defined by bit More... | |
MoFEMErrorCode | addVerticesInTheMiddleOfEdges (const Range &edges, const BitRefLevel &bit, int verb=QUIET, EntityHandle start_v=0) |
make vertices in the middle of edges in meshset and add them to Refinement levels defined by bit More... | |
MoFEMErrorCode | refineTets (const EntityHandle meshset, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TET in the meshset More... | |
MoFEMErrorCode | refineTets (const Range &tets, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TET in the meshset More... | |
MoFEMErrorCode | refineTetsHangingNodes (const Range &tets, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TET in the meshset More... | |
MoFEMErrorCode | refineTetsHangingNodes (const EntityHandle meshset, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TET in the meshset More... | |
MoFEMErrorCode | refinePrisms (const EntityHandle meshset, const BitRefLevel &bit, int verb=QUIET) |
refine PRISM in the meshset More... | |
MoFEMErrorCode | refineMeshset (const EntityHandle meshset, const BitRefLevel &bit, const bool recursive=false, int verb=QUIET) |
refine meshset, i.e. add child of refined entities to meshset More... | |
MoFEMErrorCode | refineTris (const EntityHandle meshset, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine triangles in the meshset More... | |
MoFEMErrorCode | refineTris (const Range &tris, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TRI in the meshset More... | |
MoFEMErrorCode | refineTrisHangingNodes (const EntityHandle meshset, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TRI in the meshset More... | |
MoFEMErrorCode | refineTrisHangingNodes (const Range &tris, const BitRefLevel &bit, int verb=QUIET, const bool debug=false) |
refine TRI in the meshset More... | |
![]() | |
virtual MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0 |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface refernce to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Public Attributes | |
MoFEM::Core & | cOre |
Private Types | |
using | SetEdgeBitsFun = boost::function< MoFEMErrorCode(moab::Interface &moab, RefEntity_multiIndex_view_by_ordered_parent_entity &ref_parent_ents_view, EntityHandle tet, BitRefEdges &parent_edges_bit, EntityHandle *edge_new_nodes, int *split_edges)> |
Functions setting edges for refinemnt on enetity level. More... | |
Private Member Functions | |
MoFEMErrorCode | refineTets (const Range &tets, const BitRefLevel &bit, SetEdgeBitsFun set_edge_bits, int verb, const bool debug) |
refine TET in the meshset More... | |
MoFEMErrorCode | refineTris (const Range &tris, const BitRefLevel &bit, SetEdgeBitsFun set_edge_bits, int verb, const bool debug) |
Additional Inherited Members | |
![]() | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. More... | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. More... | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. More... | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. More... | |
Mesh refinement interface.
Currently this class is abstraction to Core interface. In future should be outsourced as independent interface.
Not working on partitioned meshes
Need to be implemented as a stand alone interface not as a part of core structure which should be only basic database
If outsourced, class member functions should follow name convention
Spelling mistakes will be corrected with names fix to follow name convetion
Definition at line 26 of file MeshRefinement.hpp.
|
private |
Functions setting edges for refinemnt on enetity level.
Definition at line 195 of file MeshRefinement.hpp.
MoFEM::MeshRefinement::MeshRefinement | ( | const MoFEM::Core & | core | ) |
Definition at line 39 of file MeshRefinement.cpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::MeshRefinement::addVerticesInTheMiddleOfEdges | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
const bool | recursive = false , |
||
int | verb = QUIET , |
||
EntityHandle | start_v = 0 |
||
) |
make vertices in the middle of edges in meshset and add them to refinement levels defined by bit
Takes entities fromm meshsets and queried recursively (get entities from meshsets in meshsets, usually have to be used for CUBIT meshset). If meshset does not contain any edges, get entities in dimension 3 and get edge adjacencies.
EntityHandle | meshset |
BitRefLevel | bitLevel |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves if true. |
Definition at line 42 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::addVerticesInTheMiddleOfEdges | ( | const Range & | edges, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
EntityHandle | start_v = 0 |
||
) |
make vertices in the middle of edges in meshset and add them to Refinement levels defined by bit
Takes entities from meshsets and queried recursively (get entities from meshsets in meshsets, usually have to be used for CUBIT meshset). If meshset does not contain any edges, get entities in dimension 3 and get edge adjacencies.
Range | consisting edges for refine |
BitRefLevel | bitLevel |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves if true. |
Definition at line 96 of file MeshRefinement.cpp.
|
virtual |
Implements MoFEM::UnknownInterface.
Definition at line 33 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineMeshset | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
const bool | recursive = false , |
||
int | verb = QUIET |
||
) |
refine meshset, i.e. add child of refined entities to meshset
EntityHandle | meshset where to save the child refined entities |
BitRefLevel | bitLevel |
recursive | If true, meshsets containing meshsets are queried recursively. Returns the contents of meshsets, but not the meshsets themselves if true. |
Definition at line 897 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refinePrisms | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
int | verb = QUIET |
||
) |
refine PRISM in the meshset
EntityHandle | meshset |
BitRefLevel | bitLevel |
Definition at line 715 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTets | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TET in the meshset
EntityHandle | meshset |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 190 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTets | ( | const Range & | tets, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TET in the meshset
Range | of tets to refine |
BitRefLevel | bitLevel |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 237 of file MeshRefinement.cpp.
|
private |
refine TET in the meshset
Range | of tets to refine |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 318 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTetsHangingNodes | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TET in the meshset
Range | of tets to refine |
BitRefLevel | bitLevel |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 306 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTetsHangingNodes | ( | const Range & | tets, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TET in the meshset
Range | of tets to refine |
BitRefLevel | bitLevel |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 269 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTris | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine triangles in the meshset
EntityHandle | meshset |
BitRefLevel | bitLevel |
verb | verbosity level |
Definition at line 914 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTris | ( | const Range & | tris, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TRI in the meshset
meshset | of entities to refine |
BitRefLevel | bit level of created entities |
verb | verbosity level |
Definition at line 926 of file MeshRefinement.cpp.
|
private |
Definition at line 1007 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTrisHangingNodes | ( | const EntityHandle | meshset, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TRI in the meshset
Range | of entities to refine |
BitRefLevel | bit level of created entities |
verb | verbosity level |
Definition at line 995 of file MeshRefinement.cpp.
MoFEMErrorCode MoFEM::MeshRefinement::refineTrisHangingNodes | ( | const Range & | tris, |
const BitRefLevel & | bit, | ||
int | verb = QUIET , |
||
const bool | debug = false |
||
) |
refine TRI in the meshset
Range | of entities to refine |
BitRefLevel | bit level of created entities |
verb | verbosity level |
Definition at line 957 of file MeshRefinement.cpp.
MoFEM::Core& MoFEM::MeshRefinement::cOre |
Definition at line 31 of file MeshRefinement.hpp.