![]() |
OGS
|
A subdomain mesh.
Definition at line 28 of file NodePartitionedMesh.h.
#include <NodePartitionedMesh.h>
Public Member Functions | |
NodePartitionedMesh (const Mesh &mesh) | |
NodePartitionedMesh (const std::string &name, const std::vector< Node * > &nodes, const std::vector< std::size_t > &glb_node_ids, const std::vector< Element * > &elements, Properties properties, const std::size_t n_global_nodes, const std::size_t n_active_base_nodes, const std::size_t n_active_nodes) | |
Constructor. More... | |
std::size_t | getNumberOfGlobalNodes () const |
Get the number of all nodes of the global mesh. More... | |
std::size_t | getGlobalNodeID (const std::size_t node_id) const |
Get the global node ID of a node with its local ID. More... | |
std::size_t | getNumberOfActiveBaseNodes () const |
Get the number of the active nodes of the partition for linear elements. More... | |
std::size_t | getNumberOfActiveNodes () const |
Get the number of all active nodes of the partition. More... | |
bool | isGhostNode (const std::size_t node_id) const |
Check whether a node with ID of node_id is a ghost node. More... | |
std::size_t | getLargestActiveNodeID () const |
std::size_t | getMaximumNConnectedNodesToNode () const |
Get the maximum number of connected nodes to node. More... | |
bool | isForSingleThread () const |
![]() | |
Mesh (std::string name, std::vector< Node * > nodes, std::vector< Element * > elements, Properties const &properties=Properties()) | |
Mesh (const Mesh &mesh) | |
Copy constructor. More... | |
virtual | ~Mesh () |
Destructor. More... | |
void | addElement (Element *elem) |
Add an element to the mesh. More... | |
unsigned | getDimension () const |
Returns the dimension of the mesh (determined by the maximum dimension over all elements). More... | |
const Node * | getNode (std::size_t idx) const |
Get the node with the given index. More... | |
const Element * | getElement (std::size_t idx) const |
Get the element with the given index. More... | |
double | getMinEdgeLength () const |
Get the minimum edge length over all elements of the mesh. More... | |
double | getMaxEdgeLength () const |
Get the maximum edge length over all elements of the mesh. More... | |
std::size_t | getNumberOfElements () const |
Get the number of elements. More... | |
std::size_t | getNumberOfNodes () const |
Get the number of nodes. More... | |
const std::string | getName () const |
Get name of the mesh. More... | |
std::vector< Node * > const & | getNodes () const |
Get the nodes-vector for the mesh. More... | |
std::vector< Element * > const & | getElements () const |
Get the element-vector for the mesh. More... | |
void | resetElementIDs () |
Resets the IDs of all mesh-elements to their position in the element vector. More... | |
void | resetNodeIDs () |
Resets the IDs of all mesh-nodes to their position in the node vector. More... | |
void | setName (const std::string &name) |
Changes the name of the mesh. More... | |
std::size_t | getID () const |
Get id of the mesh. More... | |
std::size_t | getNumberOfBaseNodes () const |
Get the number of base nodes. More... | |
bool | hasNonlinearElement () const |
Check if the mesh contains any nonlinear element. More... | |
std::vector< Element const * > const & | getElementsConnectedToNode (std::size_t node_id) const |
std::vector< Element const * > const & | getElementsConnectedToNode (Node const &node) const |
Properties & | getProperties () |
Properties const & | getProperties () const |
bool | isAxiallySymmetric () const |
void | setAxiallySymmetric (bool is_axial_symmetric) |
Private Attributes | |
std::vector< std::size_t > | _global_node_ids |
Global IDs of nodes of a partition. More... | |
std::size_t | _n_global_nodes |
Number of all nodes of the global mesh. More... | |
std::size_t | _n_active_base_nodes |
Number of the active nodes for linear interpolations. More... | |
std::size_t | _n_active_nodes |
Number of the all active nodes. More... | |
const bool | _is_single_thread |
Additional Inherited Members | |
![]() | |
void | calcEdgeLengthRange () |
Set the minimum and maximum length over the edges of the mesh. More... | |
void | setDimension () |
Sets the dimension of the mesh. More... | |
void | setElementNeighbors () |
![]() | |
std::size_t const | _id |
unsigned | _mesh_dimension |
std::pair< double, double > | _edge_length |
The minimal and maximal edge length over all elements in the mesh. More... | |
std::pair< double, double > | _node_distance |
The minimal and maximal distance of nodes within an element over all elements in the mesh. More... | |
std::string | _name |
std::vector< Node * > | _nodes |
std::vector< Element * > | _elements |
Properties | _properties |
std::vector< std::vector< Element const * > > | _elements_connected_to_nodes |
bool | _is_axially_symmetric = false |
|
inlineexplicit |
Definition at line 34 of file NodePartitionedMesh.h.
References _global_node_ids, and MeshLib::Mesh::_nodes.
|
inline |
Constructor.
name | Name assigned to the mesh. |
nodes | Vector for nodes, which storage looks like: ||–active base nodes–|–ghost base nodes–| –active extra nodes–|–ghost extra nodes–|| (extra nodes: nodes for high order interpolations) |
glb_node_ids | Global IDs of nodes of a partition. |
elements | Vector for elements. Ghost elements are stored after regular (non-ghost) elements. |
properties | Mesh property. |
n_global_nodes | Number of all nodes of the global mesh. |
n_active_base_nodes | Number of the active base nodes. |
n_active_nodes | Number of all active nodes. |
Definition at line 63 of file NodePartitionedMesh.h.
|
inline |
Get the global node ID of a node with its local ID.
Definition at line 83 of file NodePartitionedMesh.h.
References _global_node_ids.
Referenced by NumLib::MeshComponentMap::createParallelMeshComponentMap().
|
inline |
Get the largest ID of active nodes for higher order elements in a partition.
Definition at line 114 of file NodePartitionedMesh.h.
References _n_active_base_nodes, _n_active_nodes, and MeshLib::Mesh::getNumberOfBaseNodes().
Referenced by isGhostNode().
|
inline |
Get the maximum number of connected nodes to node.
Definition at line 121 of file NodePartitionedMesh.h.
References MeshLib::calculateNodesConnectedByElements().
|
inline |
Get the number of the active nodes of the partition for linear elements.
Definition at line 89 of file NodePartitionedMesh.h.
References _n_active_base_nodes.
|
inline |
Get the number of all active nodes of the partition.
Definition at line 95 of file NodePartitionedMesh.h.
References _n_active_nodes.
|
inline |
Get the number of all nodes of the global mesh.
Definition at line 81 of file NodePartitionedMesh.h.
References _n_global_nodes.
Referenced by NumLib::MeshComponentMap::createParallelMeshComponentMap().
|
inline |
Definition at line 134 of file NodePartitionedMesh.h.
References _is_single_thread.
Referenced by NumLib::MeshComponentMap::MeshComponentMap().
|
inline |
Check whether a node with ID of node_id is a ghost node.
Definition at line 97 of file NodePartitionedMesh.h.
References _n_active_base_nodes, MeshLib::Mesh::_nodes, MeshLib::Mesh::getElementsConnectedToNode(), getLargestActiveNodeID(), and MeshLib::isBaseNode().
Referenced by ProcessLib::addProcessDataToMesh(), and NumLib::MeshComponentMap::createParallelMeshComponentMap().
|
private |
Global IDs of nodes of a partition.
Definition at line 138 of file NodePartitionedMesh.h.
Referenced by NodePartitionedMesh(), and getGlobalNodeID().
|
private |
Definition at line 149 of file NodePartitionedMesh.h.
Referenced by isForSingleThread().
|
private |
Number of the active nodes for linear interpolations.
Definition at line 144 of file NodePartitionedMesh.h.
Referenced by getLargestActiveNodeID(), getNumberOfActiveBaseNodes(), and isGhostNode().
|
private |
Number of the all active nodes.
Definition at line 147 of file NodePartitionedMesh.h.
Referenced by getLargestActiveNodeID(), and getNumberOfActiveNodes().
|
private |
Number of all nodes of the global mesh.
Definition at line 141 of file NodePartitionedMesh.h.
Referenced by getNumberOfGlobalNodes().