    

 ## On this page

  

 

 # sysc::Region Class Reference

 Last update: 17.07.2025 

Provide a class for a System Coupling region. [More...](classsysc_1_1Region.xhtml#details)

`#include <<a class="el" href="Region_8hpp_source.xhtml">Region.hpp</a>>`

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

 [Region](classsysc_1_1Region.xhtml#a9a3643efd6eb393f07a5e0db931dc71d) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;name) Create region to be used in a coupled analysis.   
  [Region](classsysc_1_1Region.xhtml#a2252ae93ab73cff96e3ba621d9e29171) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;name, enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology) Create region to be used in a coupled analysis.   
  [Region](classsysc_1_1Region.xhtml#ae497ce9374217eaf46630abc28cb8ccf) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;name, enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology, const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp;displayName) Create region to be used in a coupled analysis.   
  [Region](classsysc_1_1Region.xhtml#a1ef115d09f9dc1c7a1670727b41f9509) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;name, enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology, enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) regionDiscretizationType) Create region to be used in a coupled analysis.   
  [Region](classsysc_1_1Region.xhtml#ac7b2a140a74fb4a6b857336316b4dd48) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;name, enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology, const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp;displayName, enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) regionDiscretizationType) Create region to be used in a coupled analysis.   
 void [addInputVariable](classsysc_1_1Region.xhtml#a018cbfef9eee8c3d2cd3b20084783390) (const [Variable](classsysc_1_1Variable.xhtml) &amp;variable) Provide a method to add an input variable to the region.   
 void [addOutputVariable](classsysc_1_1Region.xhtml#a96143a5b4d943e47d335d74fa1f827be) (const [Variable](classsysc_1_1Variable.xhtml) &amp;variable) Provide a method to add an output variable to the region.   
 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; [getName](classsysc_1_1Region.xhtml#aa388e994e2e4392035b92f1090bd5b5f) () const noexcept Get the region's name.   
 [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) [getTopology](classsysc_1_1Region.xhtml#a55d078aeaec8518bbe4468e41a053c1c) () const noexcept Get the region's topology.   
 const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp; [getDisplayName](classsysc_1_1Region.xhtml#a540f90127c8c96d04b7ed4eeaaa25ef0) () const noexcept Get the region's display name.   
 [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) [getRegionDiscretizationType](classsysc_1_1Region.xhtml#a25fc09a4236bf1cefbac4e5ff4b9736b) () const noexcept Get the region's mesh type.   
 const [Variable](classsysc_1_1Variable.xhtml) &amp; [getInputVariable](classsysc_1_1Region.xhtml#a5d6cb2b4910d0c45b8a0143015d4646c) (const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266) &amp;name) const Get the region's input variable by name.   
 const [Variable](classsysc_1_1Variable.xhtml) &amp; [getOutputVariable](classsysc_1_1Region.xhtml#affb8d00a64339c0c65e7db9c7d1d2797) (const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266) &amp;name) const Get the region's output variable by name.   
 <a id="ada5d320ba7226a798ac5683fd878035a" name="ada5d320ba7226a798ac5683fd878035a"></a>std::size\_t **getNumOutputVariables** () const noexcept Provide a method to get number of output variables for this region.   
 <a id="ac7632c3c0b045c7baf3aef7aaa7a4c86" name="ac7632c3c0b045c7baf3aef7aaa7a4c86"></a>std::size\_t **getNumInputVariables** () const noexcept Provide a method to get number of input variables for this region.   
 <a id="a732fe2faeab2833bfa77380703e0da79" name="a732fe2faeab2833bfa77380703e0da79"></a>const [Variable](classsysc_1_1Variable.xhtml) &amp; **getOutputVariable** (std::size\_t index) const Get the region's output variable by index.   
 <a id="ac65f50843c983cb16e166af21c2268af" name="ac65f50843c983cb16e166af21c2268af"></a>const [Variable](classsysc_1_1Variable.xhtml) &amp; **getInputVariable** (std::size\_t index) const Get the region's input variable by index.   
 <a id="details" name="details"></a>## Detailed Description

Provide a class for a System Coupling region.

Participant can declare which regions can be used in the coupled analysis. Each region can declare its input variables and output variables. Input variables represent physical quantities whose values the participant expects System Coupling to provide. Output variables represent physical quantities whose values System Coupling expects the participant to provide.

Definition at line [30](Region_8hpp_source.xhtml#l00030) of file [Region.hpp](Region_8hpp_source.xhtml).



## Constructor &amp; Destructor Documentation

<a id="a9a3643efd6eb393f07a5e0db931dc71d" name="a9a3643efd6eb393f07a5e0db931dc71d"></a>## [◆ ](#a9a3643efd6eb393f07a5e0db931dc71d)Region() \[1/5\]

 sysc::Region::Region  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *name*) 

Create region to be used in a coupled analysis.

Parameters name- Unique name for this region.Display name will default to the same as name.

Topology will default to surface.

[Region](classsysc_1_1Region.xhtml "Provide a class for a System Coupling region.") mesh type will default to mesh.





<a id="a2252ae93ab73cff96e3ba621d9e29171" name="a2252ae93ab73cff96e3ba621d9e29171"></a>## [◆ ](#a2252ae93ab73cff96e3ba621d9e29171)Region() \[2/5\]

 sysc::Region::Region  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *name*,    enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39)  *topology*   ) 

Create region to be used in a coupled analysis.

Parameters name- Unique name for this region. topology- region topology.Display name will default to the same as name.

[Region](classsysc_1_1Region.xhtml "Provide a class for a System Coupling region.") mesh type will default to mesh.





<a id="ae497ce9374217eaf46630abc28cb8ccf" name="ae497ce9374217eaf46630abc28cb8ccf"></a>## [◆ ](#ae497ce9374217eaf46630abc28cb8ccf)Region() \[3/5\]

 sysc::Region::Region  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *name*,    enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39)  *topology*,    const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp;  *displayName*   ) 

Create region to be used in a coupled analysis.

Parameters name- Unique name for this region. topology- region topology. displayName- region display name.Mesh type will default to mesh.





<a id="a1ef115d09f9dc1c7a1670727b41f9509" name="a1ef115d09f9dc1c7a1670727b41f9509"></a>## [◆ ](#a1ef115d09f9dc1c7a1670727b41f9509)Region() \[4/5\]

 sysc::Region::Region  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *name*,    enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39)  *topology*,    enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4)  *regionDiscretizationType*   ) 

Create region to be used in a coupled analysis.

Parameters name- Unique name for this region. topology- region topology. regionDiscretizationType- region discretization type.Display name will default to the same as name.





<a id="ac7b2a140a74fb4a6b857336316b4dd48" name="ac7b2a140a74fb4a6b857336316b4dd48"></a>## [◆ ](#ac7b2a140a74fb4a6b857336316b4dd48)Region() \[5/5\]

 sysc::Region::Region  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *name*,    enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39)  *topology*,    const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp;  *displayName*,    enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4)  *regionDiscretizationType*   ) 

Create region to be used in a coupled analysis.

Parameters name- Unique name for this region. topology- region topology. displayName- region display name. regionDiscretizationType- region mesh type. 



## Member Function Documentation

<a id="a018cbfef9eee8c3d2cd3b20084783390" name="a018cbfef9eee8c3d2cd3b20084783390"></a>## [◆ ](#a018cbfef9eee8c3d2cd3b20084783390)addInputVariable()

 void sysc::Region::addInputVariable  ( const [Variable](classsysc_1_1Variable.xhtml) &amp;  *variable*) 

Provide a method to add an input variable to the region.

If this variable has already been added to the region as an input variable, then this call will have no effect.

If a different variable with the same name has already been added to the region as an input variable, then a runtime error will be thrown.

If a variable with the same name has already been added to the region as an output variable, then a runtime error will be thrown.

If the variable name contains invalid characters, a runtime error will be thrown.

If the region discretization type is point cloud, then the location of the variable added to this region is insignificant.

Parameters variable[Variable](classsysc_1_1Variable.xhtml "Provide a class for a System Coupling variable.") whose values are provided by System Coupling and consumed by the participant. 



<a id="a96143a5b4d943e47d335d74fa1f827be" name="a96143a5b4d943e47d335d74fa1f827be"></a>## [◆ ](#a96143a5b4d943e47d335d74fa1f827be)addOutputVariable()

 void sysc::Region::addOutputVariable  ( const [Variable](classsysc_1_1Variable.xhtml) &amp;  *variable*) 

Provide a method to add an output variable to the region.

If this variable has already been added to the region as an output variable, then this call will have no effect.

If a different variable with the same name has already been added to the region as an output variable, then a runtime error will be thrown.

If a variable with the same name has already been added to the region as an input variable, then a runtime error will be thrown.

If the variable name contains invalid characters, a runtime error will be thrown.

If the region discretization type is point cloud, then the location of the variable added to this region is insignificant.

Parameters variable[Variable](classsysc_1_1Variable.xhtml "Provide a class for a System Coupling variable.") whose values are provided by the participant and consumed by System Coupling. 



<a id="a540f90127c8c96d04b7ed4eeaaa25ef0" name="a540f90127c8c96d04b7ed4eeaaa25ef0"></a>## [◆ ](#a540f90127c8c96d04b7ed4eeaaa25ef0)getDisplayName()

 const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) &amp; sysc::Region::getDisplayName  ( )  const  noexcept 

Get the region's display name.

ReturnsReturn value is the display name of this region. 



<a id="a5d6cb2b4910d0c45b8a0143015d4646c" name="a5d6cb2b4910d0c45b8a0143015d4646c"></a>## [◆ ](#a5d6cb2b4910d0c45b8a0143015d4646c)getInputVariable()

 const [Variable](classsysc_1_1Variable.xhtml) &amp; sysc::Region::getInputVariable  ( const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266) &amp;  *name*)  const

Get the region's input variable by name.

Parameters nameName of the desired input variable. ReturnsReturn is the [Variable](classsysc_1_1Variable.xhtml "Provide a class for a System Coupling variable.") object that was requested. 



<a id="aa388e994e2e4392035b92f1090bd5b5f" name="aa388e994e2e4392035b92f1090bd5b5f"></a>## [◆ ](#aa388e994e2e4392035b92f1090bd5b5f)getName()

 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; sysc::Region::getName  ( )  const  noexcept 

Get the region's name.

ReturnsReturn value is the region's unique name (string). 



<a id="affb8d00a64339c0c65e7db9c7d1d2797" name="affb8d00a64339c0c65e7db9c7d1d2797"></a>## [◆ ](#affb8d00a64339c0c65e7db9c7d1d2797)getOutputVariable()

 const [Variable](classsysc_1_1Variable.xhtml) &amp; sysc::Region::getOutputVariable  ( const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266) &amp;  *name*)  const

Get the region's output variable by name.

Parameters nameName of the desired output variable. ReturnsReturn is the [Variable](classsysc_1_1Variable.xhtml "Provide a class for a System Coupling variable.") object that was requested. 



<a id="a25fc09a4236bf1cefbac4e5ff4b9736b" name="a25fc09a4236bf1cefbac4e5ff4b9736b"></a>## [◆ ](#a25fc09a4236bf1cefbac4e5ff4b9736b)getRegionDiscretizationType()

 [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) sysc::Region::getRegionDiscretizationType  ( )  const  noexcept 

Get the region's mesh type.

ReturnsReturn value is the mesh type of this region. 



<a id="a55d078aeaec8518bbe4468e41a053c1c" name="a55d078aeaec8518bbe4468e41a053c1c"></a>## [◆ ](#a55d078aeaec8518bbe4468e41a053c1c)getTopology()

 [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) sysc::Region::getTopology  ( )  const  noexcept 

Get the region's topology.

ReturnsReturn value is the topology of this region.