    

 ## On this page

  

 

 # Region

 Last update: 17.07.2025 

<a id="l00001" name="l00001"></a> 1/\*

<a id="l00002" name="l00002"></a> 2\* Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00003" name="l00003"></a> 3\*/

<a id="l00004" name="l00004"></a> 4 

<a id="l00005" name="l00005"></a> 5\#pragma once

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7\#include "SystemCouplingParticipant/LibraryType.hpp"

<a id="l00008" name="l00008"></a> 8 

<a id="l00009" name="l00009"></a> 9\#include "SystemCouplingParticipant/CommonTypes.hpp"

<a id="l00010" name="l00010"></a> 10\#include "SystemCouplingParticipant/Variable.hpp"

<a id="l00011" name="l00011"></a> 11 

<a id="l00012" name="l00012"></a> 12\#include &lt;cstddef&gt;

<a id="l00013" name="l00013"></a> 13\#include &lt;map&gt;

<a id="l00014" name="l00014"></a> 14\#include &lt;string&gt;

<a id="l00015" name="l00015"></a> 15\#include &lt;vector&gt;

<a id="l00016" name="l00016"></a> 16 

<a id="l00017" name="l00017"></a> 17namespace sysc {

<a id="l00018" name="l00018"></a> 18 

<a id="l00030" name="l00030"></a>[ 30](classsysc_1_1Region.xhtml)class SYSTEM_COUPLING_PARTICIPANT_DLL [Region](classsysc_1_1Region.xhtml) {

<a id="l00031" name="l00031"></a> 31public:

<a id="l00043" name="l00043"></a>[ 43](classsysc_1_1Region.xhtml#a9a3643efd6eb393f07a5e0db931dc71d) [Region](classsysc_1_1Region.xhtml#a9a3643efd6eb393f07a5e0db931dc71d)(const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; name);

<a id="l00044" name="l00044"></a> 44 

<a id="l00055" name="l00055"></a>[ 55](classsysc_1_1Region.xhtml#a2252ae93ab73cff96e3ba621d9e29171) [Region](classsysc_1_1Region.xhtml#a2252ae93ab73cff96e3ba621d9e29171)(

<a id="l00056" name="l00056"></a> 56 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; name,

<a id="l00057" name="l00057"></a> 57 enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology);

<a id="l00058" name="l00058"></a> 58 

<a id="l00068" name="l00068"></a>[ 68](classsysc_1_1Region.xhtml#ae497ce9374217eaf46630abc28cb8ccf) [Region](classsysc_1_1Region.xhtml#ae497ce9374217eaf46630abc28cb8ccf)(

<a id="l00069" name="l00069"></a> 69 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; name,

<a id="l00070" name="l00070"></a> 70 enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology,

<a id="l00071" name="l00071"></a> 71 const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f)&amp; displayName);

<a id="l00072" name="l00072"></a> 72 

<a id="l00083" name="l00083"></a>[ 83](classsysc_1_1Region.xhtml#a1ef115d09f9dc1c7a1670727b41f9509) [Region](classsysc_1_1Region.xhtml#a1ef115d09f9dc1c7a1670727b41f9509)(

<a id="l00084" name="l00084"></a> 84 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; name,

<a id="l00085" name="l00085"></a> 85 enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology,

<a id="l00086" name="l00086"></a> 86 enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) regionDiscretizationType);

<a id="l00087" name="l00087"></a> 87 

<a id="l00096" name="l00096"></a>[ 96](classsysc_1_1Region.xhtml#ac7b2a140a74fb4a6b857336316b4dd48) [Region](classsysc_1_1Region.xhtml#ac7b2a140a74fb4a6b857336316b4dd48)(

<a id="l00097" name="l00097"></a> 97 const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; name,

<a id="l00098" name="l00098"></a> 98 enum [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) topology,

<a id="l00099" name="l00099"></a> 99 const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f)&amp; displayName,

<a id="l00100" name="l00100"></a> 100 enum [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) regionDiscretizationType);

<a id="l00101" name="l00101"></a> 101 

<a id="l00123" name="l00123"></a>[ 123](classsysc_1_1Region.xhtml#a018cbfef9eee8c3d2cd3b20084783390) void [addInputVariable](classsysc_1_1Region.xhtml#a018cbfef9eee8c3d2cd3b20084783390)(const [Variable](classsysc_1_1Variable.xhtml)&amp; variable);

<a id="l00124" name="l00124"></a> 124 

<a id="l00147" name="l00147"></a>[ 147](classsysc_1_1Region.xhtml#a96143a5b4d943e47d335d74fa1f827be) void [addOutputVariable](classsysc_1_1Region.xhtml#a96143a5b4d943e47d335d74fa1f827be)(const [Variable](classsysc_1_1Variable.xhtml)&amp; variable);

<a id="l00148" name="l00148"></a> 148 

<a id="l00154" name="l00154"></a>[ 154](classsysc_1_1Region.xhtml#aa388e994e2e4392035b92f1090bd5b5f) const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)&amp; [getName](classsysc_1_1Region.xhtml#aa388e994e2e4392035b92f1090bd5b5f)() const noexcept;

<a id="l00155" name="l00155"></a> 155 

<a id="l00161" name="l00161"></a>[ 161](classsysc_1_1Region.xhtml#a55d078aeaec8518bbe4468e41a053c1c) [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) getTopology() const noexcept;

<a id="l00162" name="l00162"></a> 162 

<a id="l00168" name="l00168"></a>[ 168](classsysc_1_1Region.xhtml#a540f90127c8c96d04b7ed4eeaaa25ef0) const [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f)&amp; getDisplayName() const noexcept;

<a id="l00169" name="l00169"></a> 169 

<a id="l00175" name="l00175"></a>[ 175](classsysc_1_1Region.xhtml#a25fc09a4236bf1cefbac4e5ff4b9736b) [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) getRegionDiscretizationType() const noexcept;

<a id="l00176" name="l00176"></a> 176 

<a id="l00183" name="l00183"></a>[ 183](classsysc_1_1Region.xhtml#a5d6cb2b4910d0c45b8a0143015d4646c) const [Variable](classsysc_1_1Variable.xhtml)&amp; getInputVariable(const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266)&amp; name) const;

<a id="l00184" name="l00184"></a> 184 

<a id="l00191" name="l00191"></a>[ 191](classsysc_1_1Region.xhtml#affb8d00a64339c0c65e7db9c7d1d2797) const [Variable](classsysc_1_1Variable.xhtml)&amp; getOutputVariable(const [VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266)&amp; name) const;

<a id="l00192" name="l00192"></a> 192 

<a id="l00194" name="l00194"></a>[ 194](classsysc_1_1Region.xhtml#ada5d320ba7226a798ac5683fd878035a) std::size\_t getNumOutputVariables() const noexcept;

<a id="l00195" name="l00195"></a> 195 

<a id="l00197" name="l00197"></a>[ 197](classsysc_1_1Region.xhtml#ac7632c3c0b045c7baf3aef7aaa7a4c86) std::size\_t getNumInputVariables() const noexcept;

<a id="l00198" name="l00198"></a> 198 

<a id="l00200" name="l00200"></a>[ 200](classsysc_1_1Region.xhtml#a732fe2faeab2833bfa77380703e0da79) const [Variable](classsysc_1_1Variable.xhtml)&amp; getOutputVariable(std::size\_t index) const;

<a id="l00201" name="l00201"></a> 201 

<a id="l00203" name="l00203"></a>[ 203](classsysc_1_1Region.xhtml#ac65f50843c983cb16e166af21c2268af) const [Variable](classsysc_1_1Variable.xhtml)&amp; getInputVariable(std::size\_t index) const;

<a id="l00204" name="l00204"></a> 204 

<a id="l00205" name="l00205"></a> 205private:

<a id="l00206" name="l00206"></a> 206 [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) m_name;

<a id="l00207" name="l00207"></a> 207 [Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39) m_topology;

<a id="l00208" name="l00208"></a> 208 [RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4) m_regionDiscretizationType;

<a id="l00209" name="l00209"></a> 209 [DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f) m_displayName;

<a id="l00210" name="l00210"></a> 210 

<a id="l00211" name="l00211"></a> 211 std::vector&lt;[Region](classsysc_1_1Region.xhtml)&gt; m_side0Regions;

<a id="l00212" name="l00212"></a> 212 std::vector&lt;[Region](classsysc_1_1Region.xhtml)&gt; m_side1Regions;

<a id="l00213" name="l00213"></a> 213 

<a id="l00214" name="l00214"></a> 214 std::vector&lt;[Variable](classsysc_1_1Variable.xhtml)&gt; m_inputVariables;

<a id="l00215" name="l00215"></a> 215 std::map&lt;[VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266), std::size\_t&gt; m_inputVarNameToIndex;

<a id="l00216" name="l00216"></a> 216 

<a id="l00217" name="l00217"></a> 217 std::vector&lt;[Variable](classsysc_1_1Variable.xhtml)&gt; m_outputVariables;

<a id="l00218" name="l00218"></a> 218 std::map&lt;[VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266), std::size\_t&gt; m_outputVarNameToIndex;

<a id="l00219" name="l00219"></a> 219};



<a id="l00220" name="l00220"></a> 220 

<a id="l00221" name="l00221"></a> 221} // namespace sysc

[sysc::Region](classsysc_1_1Region.xhtml)

Provide a class for a System Coupling region.

**Definition** [Region.hpp:30](Region_8hpp_source.xhtml#l00030)



[sysc::Region::addInputVariable](classsysc_1_1Region.xhtml#a018cbfef9eee8c3d2cd3b20084783390)

void addInputVariable(const Variable &amp;variable)

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



[sysc::Region::Region](classsysc_1_1Region.xhtml#a1ef115d09f9dc1c7a1670727b41f9509)

Region(const RegionName &amp;name, enum Topology topology, enum RegionDiscretizationType regionDiscretizationType)

Create region to be used in a coupled analysis.



[sysc::Region::Region](classsysc_1_1Region.xhtml#a2252ae93ab73cff96e3ba621d9e29171)

Region(const RegionName &amp;name, enum Topology topology)

Create region to be used in a coupled analysis.



[sysc::Region::addOutputVariable](classsysc_1_1Region.xhtml#a96143a5b4d943e47d335d74fa1f827be)

void addOutputVariable(const Variable &amp;variable)

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



[sysc::Region::Region](classsysc_1_1Region.xhtml#a9a3643efd6eb393f07a5e0db931dc71d)

Region(const RegionName &amp;name)

Create region to be used in a coupled analysis.



[sysc::Region::getName](classsysc_1_1Region.xhtml#aa388e994e2e4392035b92f1090bd5b5f)

const RegionName &amp; getName() const noexcept

Get the region's name.



[sysc::Region::Region](classsysc_1_1Region.xhtml#ac7b2a140a74fb4a6b857336316b4dd48)

Region(const RegionName &amp;name, enum Topology topology, const DisplayName &amp;displayName, enum RegionDiscretizationType regionDiscretizationType)

Create region to be used in a coupled analysis.



[sysc::Region::Region](classsysc_1_1Region.xhtml#ae497ce9374217eaf46630abc28cb8ccf)

Region(const RegionName &amp;name, enum Topology topology, const DisplayName &amp;displayName)

Create region to be used in a coupled analysis.



[sysc::Variable](classsysc_1_1Variable.xhtml)

Provide a class for a System Coupling variable.

**Definition** [Variable.hpp:21](Variable_8hpp_source.xhtml#l00021)



[sysc::VariableName](group__SystemCouplingParticipantAPIs.xhtml#ga500337cdc8405b3e819ca3623bb44266)

std::string VariableName

**Definition** [CommonTypes.hpp:212](CommonTypes_8hpp_source.xhtml#l00212)



[sysc::RegionDiscretizationType](group__SystemCouplingParticipantAPIs.xhtml#ga59080d26b5838a6c678ee5f0d6ff63a4)

RegionDiscretizationType

Provide enum for region discretization types.

**Definition** [CommonSettings.hpp:36](CommonSettings_8hpp_source.xhtml#l00036)



[sysc::DisplayName](group__SystemCouplingParticipantAPIs.xhtml#ga708d69b0e949d6a42b6a0d7885eed90f)

std::string DisplayName

**Definition** [CommonTypes.hpp:215](CommonTypes_8hpp_source.xhtml#l00215)



[sysc::RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d)

std::string RegionName

**Definition** [CommonTypes.hpp:211](CommonTypes_8hpp_source.xhtml#l00211)



[sysc::Topology](group__SystemCouplingParticipantAPIs.xhtml#gadbbc75f28fce0c9b5b31fa64bb8b1e39)

Topology

Provide enum for region topologies.

**Definition** [CommonTypes.hpp:154](CommonTypes_8hpp_source.xhtml#l00154)