|
| Mesh () |
|
| Mesh (std::string name, std::vector< string > dim_names, std::vector< string > coord_vars) |
|
| Mesh (std::string name, size_t max_nodes_per_face, size_t max_faces_per_node, std::string node_dim_name, std::string face_dim_name, std::vector< std::string > coord_vars, std::string face_node_var, std::string node_face_var) |
|
| Mesh (std::string name, size_t max_nodes_per_face, size_t max_faces_per_node, std::string node_dim_name, std::string face_dim_name, std::string layers_dim_name, std::vector< std::string > coord_vars, std::string face_node_var, std::string node_face_var) |
|
| Mesh (std::string name, int max_nodes_per_face, int max_faces_per_node, std::string node_dim_name, std::string face_dim_name, std::vector< string > coord_vars) |
|
Mesh::Type | GetMeshType () const |
|
string | GetName () const |
| Get mesh name.
|
|
std::vector< string > | GetDimNames () const |
|
std::vector< string > | GetCoordVars () const |
|
void | SetCoordVars (std::vector< string > coord_vars) |
|
size_t | GetGeometryDim () const |
|
size_t | GetMaxNodesPerFace () const |
|
size_t | GetMaxFacesPerNode () const |
|
string | GetNodeDimName () const |
|
string | GetFaceDimName () const |
|
string | GetLayersDimName () const |
|
string | GetFaceNodeVar () const |
|
void | SetFaceNodeVar (std::string face_node_var) |
|
string | GetNodeFaceVar () const |
|
void | SetNodeFaceVar (std::string node_face_var) |
|
void | SetEdgeDimName (std::string edge_dim_name) |
|
std::string | GetEdgeDimName () const |
|
void | SetEdgeNodeVar (std::string edge_node_var) |
|
std::string | GetEdgeNodeVar () const |
|
void | SetFaceEdgeVar (std::string face_edge_var) |
|
std::string | GetFaceEdgeVar () const |
|
void | SetFaceFaceVar (std::string face_face_var) |
|
std::string | GetFaceFaceVar () const |
|
void | SetEdgeFaceVar (std::string edge_face_var) |
|
std::string | GetEdgeFaceVar () const |
|
size_t | GetTopologyDim () const |
|
Metadata describing a computational mesh.
- Version
- 3.1
This class describes the properties of a computational mesh upon which data variables are sampled. The class can represent both structured and unstructured grids. The design of the Mesh class is inspired by the capabilities of the UGRID conventions: UGRID
Towards that end we adopt some of UGRID's terminology:
Definitions
- node A point, a coordinate pair or triplet: the most basic element of the topology. Aka "vertext".
- edge A line bounded by two nodes.
- face A plane or surface enclosed by a set of edges. In a 2D horizontal application one may consider the word "polygon", but in the hierarchy of elements the word "face" is most common.
- volume A volume enclosed by a set of faces. Aka "cell".
- topology The topology defines the connectivity of the vertices and defines the elements.
- Parameters
-
[in] | name | A string containing the name of the mesh. |
[in] | coord_vars | A list of names of the coordinate variables, each specifying the X, Y, or Z spatial coordinates for the nodes in the mesh. If a coordinate variable for an X, Y, or Z axis is not specified the node's coordinate's for the missing axis are assumed to be zero. The dimensionality of the coordinate variable may be less than that of the dimensionality of the grid, in which case the coordinates along the unspecified dimension are assumed invariant. |
[in] | max_nodes_per_face | Specifies maximum number of nodes (or edges) a face of the mesh may have. |
[in] | max_faces_per_node | Specifies maximum number of faces that may share a node |
[in] | node_dim_name | A string containing the name of the dimension specifying the total number of nodes in the unstructured portion of the mesh; for layered-grid unstructured meshes node_dim_name specifies the number of nodes in a single layer |
[in] | face_dim_name | A string containing the name of the dimension specifying the total number of faces in the unstructured portion of the mesh; for layered-grid unstructured meshes face_dim_name specifies the number of faces in a single layer |
[in] | face_node_var | The name of a 2D Auxiliary variable (See DC:AuxVar) with integer type identifying for every face the indices of its corner nodes. The corner nodes should be specified in anticlockwise direction as viewed from above The connectivity array will be a matrix of size face_dim x max_nodes_per_face , where face_dim is the length of the dimension named by face_dim_name , and is the slowest varying of the two dimensions. If a face has less corner nodes max_nodes_per_face then the last node indices shall be equal to -1. Indecies start from zero. |
[in] | node_face_var | The name of a 2D Auxiliary variable (See DC:AuxVar) with integer type identifying for every node the indices of the faces that share the node. The faces should be specified in anticlockwise direction as viewed from above The connectivity array will be a matrix of size node_dim x max_faces_per_node , where node_dim is the length of the dimension named by node_dim_name , and is the slowest varying of the two dimensions. If a node has less faces then max_faces_per_node then the last face indices shall be equal to -1. Indecies start from zero. |
- Note
- The
node_face_var
is not defined by the UGRID conventions
Definition at line 310 of file DC.h.
size_t VAPoR::DC::Mesh::GetTopologyDim |
( |
| ) |
const |
Get topological dimension of the mesh
Return the number of topological dimensions for the mesh cells. Valid values are in the range 0..3, with, for example, 0 corresponding to points; 1 to lines; 2 to triangles, quadrilaterals, etc.; and 3 to hexahedron, tetrahedron, etc.
- See also
- GetGeometryDim()
void VAPoR::DC::Mesh::SetEdgeFaceVar |
( |
std::string |
edge_face_var | ) |
|
|
inline |
Set the name of optional edge-face connectivity index variable
The name of an optional 2D Auxiliary variable (See DC:AuxVar) with integer type. If specified, names an index variable identifying for every edge the indices of its adjacent faces. This connectivity array is thus a matrix of size edge_dim x 2, where edge_dim is the dimension length named by edge_dim_name
, and is the slowest varying of the two dimensions. It is intended to be used in combination with data defined on edges. The starting index is 0.
- See also
- SetEdgeDimName()
Definition at line 620 of file DC.h.
void VAPoR::DC::Mesh::SetFaceEdgeVar |
( |
std::string |
face_edge_var | ) |
|
|
inline |
Set the name of optional face edge connectivity index variable
The name of an optional 2D Auxiliary variable (See DC:AuxVar) with integer type. If specified, names an index variable identifying for every face the indices of its edges. The edges should be specified in anticlockwise direction as viewed from above. This connectivity array will be a matrix of size face_dim x max_faces_per_node, where face_dim is the dimension length named by face_dim_name
, and is the slowest varying of the two dimensions. If a face has less corners/edges than max_faces_per_node then the last edge indices shall be equal to -1. The starting index is 0.
Definition at line 563 of file DC.h.
void VAPoR::DC::Mesh::SetFaceFaceVar |
( |
std::string |
face_face_var | ) |
|
|
inline |
Set the name of optional face-face connectivity index variable
The name of an optional 2D Auxiliary variable (See DC:AuxVar) with integer type. If specified, names an index variable identifying for every face the indices of its adjacent faces. The faces should be specified in anticlockwise direction as viewed from above. This connectivity array will be a matrix of size face_dim x max_faces_per_node, where face_dim is the dimension length named by face_dim_name
, and is the slowest varying of the two dimensions. If a face has less corners/edges than max_faces_per_node then the last face indices shall be equal to -1. The starting index is 0.
Definition at line 592 of file DC.h.