Skip to main content

System Coupling C++ library 2024 R2

sysc::SurfaceMesh Class Reference

Last update: 17.07.2025

Provide a surface mesh access class. More...

#include <SurfaceMesh.hpp>

Public Member Functions

 SurfaceMesh (NodeData nodes, FaceData faces)
 Constructor.
 
 SurfaceMesh (const SurfaceMesh &)=default
 Provide a copy-constructor.
 
 SurfaceMesh (SurfaceMesh &&)=default
 Provide a move-constructor.
 
SurfaceMeshoperator= (const SurfaceMesh &)=default
 Provide a copy-assign operator.
 
SurfaceMeshoperator= (SurfaceMesh &&)=default
 Provide a move-assign operator.
 
const NodeDatagetNodeData () const noexcept
 Get node data.
 
const FaceDatagetFaceData () const noexcept
 Get face data.
 
std::size_t getNumNodes () const
 Provide a method to get the number of nodes for this mesh.
 
std::size_t getNumElems () const
 Provide a method to get the number of elements for this mesh.
 
OutputIntegerData getNodeIds () const
 Provide a method to access node ids array.
 
OutputVectorData getNodeCoords () const
 Provide a method to access node coordinates array.
 
OutputIntegerData getElemTypes () const
 Provide a method to access element types array.
 
OutputIntegerData getElemNodeCounts () const
 Provide a method to access element node counts array.
 
OutputIntegerData getElemNodeIds () const
 Provide a method to access element node ids array.
 
FaceCellConnectivityData getFaceCellConnectivity () const noexcept
 Return face-to-cell connectivity data.
 
void setSide0 (const RegionName &regionName)
 Set side 0 region.
 
void setSide1 (const RegionName &regionName)
 Set side 1 region.
 
bool hasSide0 () const noexcept
 Returns whether side 0 region is set.
 
bool hasSide1 () const noexcept
 Returns whether side 1 region is set.
 
const RegionNamegetSide0 () const
 Get side 0 region.
 
const RegionNamegetSide1 () const
 Get side 1 region.
 
MeshValidityStatus checkMeshValidity () const
 Provide a method to perform simple mesh validity checks.
 
 SurfaceMesh (NodeData nodes, ElementTypeData elemTypes, ElementNodeCountData elemNodeCounts, ElementNodeConnectivityData elemNodeIds, FaceCellConnectivityData faceCellConnectivity)
 Construct the surface mesh object.
 
 SurfaceMesh (NodeData nodes, ElementTypeData elementTypes, ElementNodeConnectivityData elementNodeIds)
 Construct the surface mesh object.
 
 SurfaceMesh (NodeData meshNodes, ElementNodeCountData faceNodeCounts, ElementNodeConnectivityData faceNodeIds)
 Construct the surface mesh object.
 
 SurfaceMesh (NodeData meshNodes, ElementNodeCountData faceNodeCounts, ElementNodeConnectivityData faceNodeIds, FaceCellConnectivityData faceCellConnectivity)
 Construct the surface mesh object.
 
 SurfaceMesh (OutputIntegerData nodeIds, OutputVectorData nodeCoords, OutputIntegerData elemNodeCounts, OutputIntegerData elemNodeIds)
 
 SurfaceMesh (OutputVectorData nodeCoords, OutputIntegerData elemNodeCounts, OutputIntegerData elemNodeIds)
 

Public Attributes

std::int64_t connectivityStamp {0}
 Mesh connectivity stamp. Update whenever re-meshing happens.
 
std::int64_t coordinatesStamp {0}
 Nodal coordinates stamp. Update whenever nodal coordinates get updated.
 
std::int64_t partitioningStamp {0}
 Partitioning stamp. Update whenever the mesh is re-partitioned.
 

Detailed Description

Provide a surface mesh access class.

Provides read-only access to the surface mesh for a given region.

Definition at line 27 of file SurfaceMesh.hpp.

Member Function Documentation

◆ checkMeshValidity()

MeshValidityStatus sysc::SurfaceMesh::checkMeshValidity ( ) const

Provide a method to perform simple mesh validity checks.

See SystemCoupling::checkMeshValidity for more details.

◆ setSide0()

void sysc::SurfaceMesh::setSide0 ( const RegionName regionName)

Set side 0 region.

If this region is not a surface mesh region, then a run-time error will be thrown.

If the provided side 0 region is not a volume mesh region, then a run-time error will be thrown.

◆ setSide1()

void sysc::SurfaceMesh::setSide1 ( const RegionName regionName)

Set side 1 region.

If this region is not a surface mesh region, then a run-time error will be thrown.

If the provided side 0 region is not a volume mesh region, then a run-time error will be thrown.

Member Data Documentation

◆ connectivityStamp

std::int64_t sysc::SurfaceMesh::connectivityStamp {0}

Mesh connectivity stamp. Update whenever re-meshing happens.

Definition at line 30 of file SurfaceMesh.hpp.

30{0};

◆ coordinatesStamp

std::int64_t sysc::SurfaceMesh::coordinatesStamp {0}

Nodal coordinates stamp. Update whenever nodal coordinates get updated.

Definition at line 33 of file SurfaceMesh.hpp.

33{0};

◆ partitioningStamp

std::int64_t sysc::SurfaceMesh::partitioningStamp {0}

Partitioning stamp. Update whenever the mesh is re-partitioned.

Definition at line 36 of file SurfaceMesh.hpp.

36{0};

Connect with Ansys