https://mooseframework.inl.gov
Classes | Namespaces | Functions
MooseMeshElementConversionUtils.h File Reference

Go to the source code of this file.

Classes

struct  MooseMeshElementConversionUtils::BCTupleKeyComp
 

Namespaces

 MooseMeshElementConversionUtils
 

Functions

void MooseMeshElementConversionUtils::hexElemSplitter (ReplicatedMesh &mesh, const std::vector< libMesh::BoundaryInfo::BCTuple > &bdry_side_list, const dof_id_type elem_id, std::vector< dof_id_type > &converted_elems_ids)
 Split a HEX8 element into six TET4 elements. More...
 
void MooseMeshElementConversionUtils::pyramidElemSplitter (ReplicatedMesh &mesh, const std::vector< libMesh::BoundaryInfo::BCTuple > &bdry_side_list, const dof_id_type elem_id, std::vector< dof_id_type > &converted_elems_ids)
 Split a PYRAMID5 element into two TET4 elements. More...
 
void MooseMeshElementConversionUtils::prismElemSplitter (ReplicatedMesh &mesh, const std::vector< libMesh::BoundaryInfo::BCTuple > &bdry_side_list, const dof_id_type elem_id, std::vector< dof_id_type > &converted_elems_ids)
 Split a PRISM6 element into three TET4 elements. More...
 
void MooseMeshElementConversionUtils::nodeRotationHEX8 (const unsigned int min_id_index, const unsigned int sec_min_pos, std::vector< unsigned int > &face_rotation, std::vector< unsigned int > &node_rotation)
 Rotate a HEX8 element's nodes to ensure that the node with the minimum id is the first node; and the node among its three neighboring nodes with the minimum id is the second node. More...
 
std::vector< unsigned intMooseMeshElementConversionUtils::neighborNodeIndicesHEX8 (unsigned int min_id_index)
 Calculate the indices (within the element nodes) of the three neighboring nodes of a node in a HEX8 element. More...
 
void MooseMeshElementConversionUtils::hexNodesToTetNodesDeterminer (std::vector< const Node *> &hex_nodes, std::vector< std::vector< unsigned int >> &rotated_tet_face_indices, std::vector< std::vector< const Node *>> &tet_nodes_list)
 For a vector of rotated nodes that can form a HEX8 element, create a vector of four-node sets that can form TET4 elements to replace the original HEX8 element. More...
 
std::vector< bool > MooseMeshElementConversionUtils::quadFaceDiagonalDirectionsHex (const std::vector< const Node *> &hex_nodes)
 For a HEX8 element, determine the direction of the diagonal line of each face that involves the node with the minimum id of that face. More...
 
bool MooseMeshElementConversionUtils::quadFaceDiagonalDirection (const std::vector< const Node *> &quad_nodes)
 For a QUAD4 element, determine the direction of the diagonal line that involves the node with the minimum id of that element. More...
 
std::vector< std::vector< unsigned int > > MooseMeshElementConversionUtils::tetNodesForHex (const std::vector< bool > diagonal_directions, std::vector< std::vector< unsigned int >> &tet_face_indices)
 Creates sets of four nodes indices that can form TET4 elements to replace the original HEX8 element. More...
 
void MooseMeshElementConversionUtils::nodeRotationPRISM6 (unsigned int min_id_index, std::vector< unsigned int > &face_rotation, std::vector< unsigned int > &node_rotation)
 Rotate a PRISM6 element nodes to ensure that the node with the minimum id is the first node. More...
 
void MooseMeshElementConversionUtils::prismNodesToTetNodesDeterminer (std::vector< const Node *> &prism_nodes, std::vector< std::vector< unsigned int >> &rotated_tet_face_indices, std::vector< std::vector< const Node *>> &tet_nodes_list)
 For a rotated nodes that can form a PRISM6 element, create a series of four-node set that can form TET4 elements to replace the original PRISM6 element. More...
 
std::vector< std::vector< unsigned int > > MooseMeshElementConversionUtils::tetNodesForPrism (const bool diagonal_direction, std::vector< std::vector< unsigned int >> &tet_face_indices)
 Creates sets of four nodes indices that can form TET4 elements to replace the original PRISM6 element. More...
 
void MooseMeshElementConversionUtils::nodeRotationPYRAMID5 (unsigned int min_id_index, std::vector< unsigned int > &face_rotation, std::vector< unsigned int > &node_rotation)
 Rotate a PYRAMID5 element nodes to ensure that the node with the minimum id is the first node for the bottom face. More...
 
void MooseMeshElementConversionUtils::pyramidNodesToTetNodesDeterminer (std::vector< const Node *> &pyramid_nodes, std::vector< std::vector< unsigned int >> &rotated_tet_face_indices, std::vector< std::vector< const Node *>> &tet_nodes_list)
 For a rotated nodes that can form a PYRAMID5 element, create a series of four-node set that can form TET4 elements to replace the original PYRAMID5 element. More...
 
void MooseMeshElementConversionUtils::convert3DMeshToAllTet4 (ReplicatedMesh &mesh, const std::vector< std::pair< dof_id_type, bool >> &elems_to_process, std::vector< dof_id_type > &converted_elems_ids_to_track, const subdomain_id_type block_id_to_remove, const bool delete_block_to_remove)
 Convert all the elements in a 3D mesh, consisting of only linear elements, into TET4 elements. More...
 
void MooseMeshElementConversionUtils::convert3DMeshToAllTet4 (ReplicatedMesh &mesh)
 Convert all the elements in a 3D mesh consisting of only linear elements into TET4 elements. More...
 
void MooseMeshElementConversionUtils::elementBoundaryInfoCollector (const std::vector< libMesh::BoundaryInfo::BCTuple > &bdry_side_list, const dof_id_type elem_id, const unsigned short n_elem_sides, std::vector< std::vector< boundary_id_type >> &elem_side_list)
 Collect the boundary information of the given element in a mesh. More...