    

 ## On this page

  

 

 # sysc::SurfaceMesh Class Reference

 Last update: 17.07.2025 

Provide a surface mesh access class. [More...](classsysc_1_1SurfaceMesh.xhtml#details)

`#include <<a class="el" href="SurfaceMesh_8hpp_source.xhtml">SurfaceMesh.hpp</a>>`

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

<a id="ae8dbea460cf8d1076a09229dc8b84c8c" name="ae8dbea460cf8d1076a09229dc8b84c8c"></a> **SurfaceMesh** ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [FaceData](structsysc_1_1FaceData.xhtml) faces) Constructor.   
 <a id="ac8acf16ad4e8f6c4788bf81a284af87d" name="ac8acf16ad4e8f6c4788bf81a284af87d"></a> **SurfaceMesh** (const [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;)=default Provide a copy-constructor.   
 <a id="a6ce8618c7363d5c62ad8df814d37e484" name="a6ce8618c7363d5c62ad8df814d37e484"></a> **SurfaceMesh** ([SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;&amp;)=default Provide a move-constructor.   
 <a id="ae18eff97aefb42316e863bf2b0ec8b25" name="ae18eff97aefb42316e863bf2b0ec8b25"></a>[SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp; **operator=** (const [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;)=default Provide a copy-assign operator.   
 <a id="ae3797ab22396f3abeb6e599a9fd05b31" name="ae3797ab22396f3abeb6e599a9fd05b31"></a>[SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp; **operator=** ([SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;&amp;)=default Provide a move-assign operator.   
 <a id="a7355d25d6a0781aaf2e6c522d0559735" name="a7355d25d6a0781aaf2e6c522d0559735"></a>const [NodeData](structsysc_1_1NodeData.xhtml) &amp; **getNodeData** () const noexcept Get node data.   
 <a id="aef926cfcfcfd2b5f7be919c816745337" name="aef926cfcfcfd2b5f7be919c816745337"></a>const [FaceData](structsysc_1_1FaceData.xhtml) &amp; **getFaceData** () const noexcept Get face data.   
 <a id="a79ad7197266d3814f477f7326e6dc04a" name="a79ad7197266d3814f477f7326e6dc04a"></a>std::size\_t **getNumNodes** () const Provide a method to get the number of nodes for this mesh.   
 <a id="a0f3aa7623beead3c2925dcc89f451360" name="a0f3aa7623beead3c2925dcc89f451360"></a>std::size\_t **getNumElems** () const Provide a method to get the number of elements for this mesh.   
 <a id="a9d34d5c3fa3c6d87f12e94642fadeb91" name="a9d34d5c3fa3c6d87f12e94642fadeb91"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) **getNodeIds** () const Provide a method to access node ids array.   
 <a id="a9e5add5718e83f6144004bacc2650d14" name="a9e5add5718e83f6144004bacc2650d14"></a>[OutputVectorData](classsysc_1_1OutputVectorData.xhtml) **getNodeCoords** () const Provide a method to access node coordinates array.   
 <a id="aa4e1d85cc62dc422100a8f6c9180eead" name="aa4e1d85cc62dc422100a8f6c9180eead"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) **getElemTypes** () const Provide a method to access element types array.   
 <a id="a477d04741fd375efcc702c785e0136dd" name="a477d04741fd375efcc702c785e0136dd"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) **getElemNodeCounts** () const Provide a method to access element node counts array.   
 <a id="a891d7359d0536c58984e1c521a367e86" name="a891d7359d0536c58984e1c521a367e86"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) **getElemNodeIds** () const Provide a method to access element node ids array.   
 <a id="ad86260da5f6d2980105280f5408cdad7" name="ad86260da5f6d2980105280f5408cdad7"></a>[FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) **getFaceCellConnectivity** () const noexcept Return face-to-cell connectivity data.   
 void [setSide0](classsysc_1_1SurfaceMesh.xhtml#a08e683009bed220d25e4848b24d92a39) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;regionName) Set side 0 region. [More...](classsysc_1_1SurfaceMesh.xhtml#a08e683009bed220d25e4848b24d92a39)  
 void [setSide1](classsysc_1_1SurfaceMesh.xhtml#a15fb1ea02b021107f995e50ec4b35237) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;regionName) Set side 1 region. [More...](classsysc_1_1SurfaceMesh.xhtml#a15fb1ea02b021107f995e50ec4b35237)  
 <a id="a504afae8d069ededcc257e430b66d635" name="a504afae8d069ededcc257e430b66d635"></a>bool **hasSide0** () const noexcept Returns whether side 0 region is set.   
 <a id="a73d353dd486f22a5e17b11fcab360df7" name="a73d353dd486f22a5e17b11fcab360df7"></a>bool **hasSide1** () const noexcept Returns whether side 1 region is set.   
 <a id="a62577f866c16065c3b948a960f08d06e" name="a62577f866c16065c3b948a960f08d06e"></a>const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; **getSide0** () const Get side 0 region.   
 <a id="a050a5d12be25ca97bf456c5b0e9ace0a" name="a050a5d12be25ca97bf456c5b0e9ace0a"></a>const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; **getSide1** () const Get side 1 region.   
 [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) [checkMeshValidity](classsysc_1_1SurfaceMesh.xhtml#a786a6cbbf2ab08214207b4fe38f0f013) () const Provide a method to perform simple mesh validity checks. [More...](classsysc_1_1SurfaceMesh.xhtml#a786a6cbbf2ab08214207b4fe38f0f013)  
 <a id="a76a9ff65458582744b60e5eb7bbcd13a" name="a76a9ff65458582744b60e5eb7bbcd13a"></a> **SurfaceMesh** ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [ElementTypeData](structsysc_1_1ElementTypeData.xhtml) elemTypes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) elemNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) elemNodeIds, [FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) faceCellConnectivity) Construct the surface mesh object.   
 <a id="a87991fd2bb3260b835c6872d860e4f74" name="a87991fd2bb3260b835c6872d860e4f74"></a> **SurfaceMesh** ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [ElementTypeData](structsysc_1_1ElementTypeData.xhtml) elementTypes, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) elementNodeIds) Construct the surface mesh object.   
 <a id="a1f062afae5b75dfce4d4a60c6e3a60d0" name="a1f062afae5b75dfce4d4a60c6e3a60d0"></a> **SurfaceMesh** ([NodeData](structsysc_1_1NodeData.xhtml) meshNodes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) faceNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) faceNodeIds) Construct the surface mesh object.   
 <a id="a39dd2b26100e08bd41e00a9d9373bd3a" name="a39dd2b26100e08bd41e00a9d9373bd3a"></a> **SurfaceMesh** ([NodeData](structsysc_1_1NodeData.xhtml) meshNodes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) faceNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) faceNodeIds, [FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) faceCellConnectivity) Construct the surface mesh object.   
 <a id="a90c944bfd9d09536be22b607f8c84abd" name="a90c944bfd9d09536be22b607f8c84abd"></a> **SurfaceMesh** ([OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) nodeIds, [OutputVectorData](classsysc_1_1OutputVectorData.xhtml) nodeCoords, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeCounts, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeIds) <a id="a1f4417e620f5c79b8c855c203978be84" name="a1f4417e620f5c79b8c855c203978be84"></a> **SurfaceMesh** ([OutputVectorData](classsysc_1_1OutputVectorData.xhtml) nodeCoords, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeCounts, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeIds) ## <a id="pub-attribs" name="pub-attribs"></a>Public Attributes

std::int64\_t [connectivityStamp](classsysc_1_1SurfaceMesh.xhtml#aa0399097b006a460acab8136f5b546c8) {0} Mesh connectivity stamp. Update whenever re-meshing happens. [More...](classsysc_1_1SurfaceMesh.xhtml#aa0399097b006a460acab8136f5b546c8)  
 std::int64\_t [coordinatesStamp](classsysc_1_1SurfaceMesh.xhtml#a26e8d40282423e06168eb558359e6b4f) {0} Nodal coordinates stamp. Update whenever nodal coordinates get updated. [More...](classsysc_1_1SurfaceMesh.xhtml#a26e8d40282423e06168eb558359e6b4f)  
 std::int64\_t [partitioningStamp](classsysc_1_1SurfaceMesh.xhtml#a5a697ca4a8e2276ddd7fcb5a63cae622) {0} Partitioning stamp. Update whenever the mesh is re-partitioned. [More...](classsysc_1_1SurfaceMesh.xhtml#a5a697ca4a8e2276ddd7fcb5a63cae622)  
 <a id="details" name="details"></a>## Detailed Description

Provide a surface mesh access class.

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

Definition at line [27](SurfaceMesh_8hpp_source.xhtml#l00027) of file [SurfaceMesh.hpp](SurfaceMesh_8hpp_source.xhtml).



## Member Function Documentation

<a id="a786a6cbbf2ab08214207b4fe38f0f013" name="a786a6cbbf2ab08214207b4fe38f0f013"></a>## [◆ ](#a786a6cbbf2ab08214207b4fe38f0f013)checkMeshValidity()

 [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) sysc::SurfaceMesh::checkMeshValidity  ( )  const

Provide a method to perform simple mesh validity checks.

See [SystemCoupling::checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#a8c7d2613f81b8d9a5bd81db9dcbae8fd "Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.") for more details.





<a id="a08e683009bed220d25e4848b24d92a39" name="a08e683009bed220d25e4848b24d92a39"></a>## [◆ ](#a08e683009bed220d25e4848b24d92a39)setSide0()

 void sysc::SurfaceMesh::setSide0  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *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.





<a id="a15fb1ea02b021107f995e50ec4b35237" name="a15fb1ea02b021107f995e50ec4b35237"></a>## [◆ ](#a15fb1ea02b021107f995e50ec4b35237)setSide1()

 void sysc::SurfaceMesh::setSide1  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *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

<a id="aa0399097b006a460acab8136f5b546c8" name="aa0399097b006a460acab8136f5b546c8"></a>## [◆ ](#aa0399097b006a460acab8136f5b546c8)connectivityStamp

 std::int64\_t sysc::SurfaceMesh::connectivityStamp {0}

Mesh connectivity stamp. Update whenever re-meshing happens.

Definition at line [30](SurfaceMesh_8hpp_source.xhtml#l00030) of file [SurfaceMesh.hpp](SurfaceMesh_8hpp_source.xhtml).





<a id="a26e8d40282423e06168eb558359e6b4f" name="a26e8d40282423e06168eb558359e6b4f"></a>## [◆ ](#a26e8d40282423e06168eb558359e6b4f)coordinatesStamp

 std::int64\_t sysc::SurfaceMesh::coordinatesStamp {0}

Nodal coordinates stamp. Update whenever nodal coordinates get updated.

Definition at line [33](SurfaceMesh_8hpp_source.xhtml#l00033) of file [SurfaceMesh.hpp](SurfaceMesh_8hpp_source.xhtml).





<a id="a5a697ca4a8e2276ddd7fcb5a63cae622" name="a5a697ca4a8e2276ddd7fcb5a63cae622"></a>## [◆ ](#a5a697ca4a8e2276ddd7fcb5a63cae622)partitioningStamp

 std::int64\_t sysc::SurfaceMesh::partitioningStamp {0}

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

Definition at line [36](SurfaceMesh_8hpp_source.xhtml#l00036) of file [SurfaceMesh.hpp](SurfaceMesh_8hpp_source.xhtml).