    

 ## On this page

  

 

 # SystemCoupling

 Last update: 17.07.2025 

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

<a id="l00002" name="l00002"></a> 2\* Copyright 2023 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/CouplingInterface.hpp"

<a id="l00011" name="l00011"></a> 11\#include "SystemCouplingParticipant/FunctionTypes.hpp"

<a id="l00012" name="l00012"></a> 12\#include "SystemCouplingParticipant/Region.hpp"

<a id="l00013" name="l00013"></a> 13 

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

<a id="l00015" name="l00015"></a> 15\#include &lt;string&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="l00044" name="l00044"></a>[ 44](classsysc_1_1SystemCoupling.xhtml)class SYSTEM_COUPLING_PARTICIPANT_DLL [SystemCoupling](classsysc_1_1SystemCoupling.xhtml) {

<a id="l00045" name="l00045"></a> 45public:

<a id="l00056" name="l00056"></a>[ 56](classsysc_1_1SystemCoupling.xhtml#aa85c07a47dbf3cccce8049e8c8fe86cc) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#aa85c07a47dbf3cccce8049e8c8fe86cc)();

<a id="l00057" name="l00057"></a> 57 

<a id="l00067" name="l00067"></a>[ 67](classsysc_1_1SystemCoupling.xhtml#a0381ca6fb1dcf81258ada4e95c354ab9) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a0381ca6fb1dcf81258ada4e95c354ab9)(std::size_t mpiCommunicator);

<a id="l00068" name="l00068"></a> 68 

<a id="l00076" name="l00076"></a>[ 76](classsysc_1_1SystemCoupling.xhtml#a9f7e98bb312a412ae7bc81f0a49afa1a) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a9f7e98bb312a412ae7bc81f0a49afa1a)(

<a id="l00077" name="l00077"></a> 77 const [ParticipantInfo](structsysc_1_1ParticipantInfo.xhtml)&amp; participantInfo);

<a id="l00078" name="l00078"></a> 78 

<a id="l00088" name="l00088"></a>[ 88](classsysc_1_1SystemCoupling.xhtml#a28570e0829c5d0c2177d1b25b55b2da0) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a28570e0829c5d0c2177d1b25b55b2da0)(

<a id="l00089" name="l00089"></a> 89 const [ParticipantInfo](structsysc_1_1ParticipantInfo.xhtml)&amp; participantInfo, std::size_t mpiCommunicator);

<a id="l00090" name="l00090"></a> 90 

<a id="l00115" name="l00115"></a>[ 115](classsysc_1_1SystemCoupling.xhtml#a072c72997a85450479b102c3575c1c4f) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a072c72997a85450479b102c3575c1c4f)(

<a id="l00116" name="l00116"></a> 116 const std::string&amp; scHost,

<a id="l00117" name="l00117"></a> 117 const unsigned short scPort,

<a id="l00118" name="l00118"></a> 118 const std::string&amp; participantName,

<a id="l00119" name="l00119"></a> 119 const std::string&amp; buildInformation = "Unknown");

<a id="l00120" name="l00120"></a> 120 

<a id="l00143" name="l00143"></a>[ 143](classsysc_1_1SystemCoupling.xhtml#aca2f3a90d56d6e186a1aae119ce57495) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#aca2f3a90d56d6e186a1aae119ce57495)(

<a id="l00144" name="l00144"></a> 144 const std::string&amp; scHost,

<a id="l00145" name="l00145"></a> 145 const unsigned short scPort,

<a id="l00146" name="l00146"></a> 146 const std::string&amp; participantName,

<a id="l00147" name="l00147"></a> 147 const std::size_t mpiCommunicator,

<a id="l00148" name="l00148"></a> 148 const std::string&amp; buildInformation);

<a id="l00149" name="l00149"></a> 149 

<a id="l00150" name="l00150"></a> 150 // \\brief Provide a destructor for SystemCoupling object.

<a id="l00151" name="l00151"></a> 151 [~SystemCoupling](classsysc_1_1SystemCoupling.xhtml)();

<a id="l00152" name="l00152"></a> 152 

<a id="l00165" name="l00165"></a>[ 165](classsysc_1_1SystemCoupling.xhtml#a204a3a8145961af7bc28d2cfd58a4358) void [completeSetup](classsysc_1_1SystemCoupling.xhtml#a204a3a8145961af7bc28d2cfd58a4358)(const [sysc::SetupInfo](structsysc_1_1SetupInfo.xhtml)&amp; setupInfo);

<a id="l00166" name="l00166"></a> 166 

<a id="l00178" name="l00178"></a>[ 178](classsysc_1_1SystemCoupling.xhtml#ab47a6eaf83eae538e17290a5c2582b8e) void [initializeAnalysis](classsysc_1_1SystemCoupling.xhtml#ab47a6eaf83eae538e17290a5c2582b8e)();

<a id="l00179" name="l00179"></a> 179 

<a id="l00190" name="l00190"></a>[ 190](classsysc_1_1SystemCoupling.xhtml#a6ab306d83db2610887c8fb18c554eba6) [sysc::TimeStep](structsysc_1_1TimeStep.xhtml) [getCurrentTimeStep](classsysc_1_1SystemCoupling.xhtml#a6ab306d83db2610887c8fb18c554eba6)();

<a id="l00191" name="l00191"></a> 191 

<a id="l00198" name="l00198"></a>[ 198](classsysc_1_1SystemCoupling.xhtml#a0cb8cd28d752af2cfd0b4d27511ea306) bool [doIteration](classsysc_1_1SystemCoupling.xhtml#a0cb8cd28d752af2cfd0b4d27511ea306)();

<a id="l00199" name="l00199"></a> 199 

<a id="l00216" name="l00216"></a>[ 216](classsysc_1_1SystemCoupling.xhtml#a285a15756651ef5027191ca69dfab7e0) bool [doTimeStep](classsysc_1_1SystemCoupling.xhtml#a285a15756651ef5027191ca69dfab7e0)();

<a id="l00217" name="l00217"></a> 217 

<a id="l00237" name="l00237"></a>[ 237](classsysc_1_1SystemCoupling.xhtml#a9c768f6965f14e8ab3308c7df4144da7) void [updateInputs](classsysc_1_1SystemCoupling.xhtml#a9c768f6965f14e8ab3308c7df4144da7)();

<a id="l00238" name="l00238"></a> 238 

<a id="l00249" name="l00249"></a>[ 249](classsysc_1_1SystemCoupling.xhtml#a468e5e084477cdaca2adee6c50edf7e9) void [updateOutputs](classsysc_1_1SystemCoupling.xhtml#a468e5e084477cdaca2adee6c50edf7e9)([ConvergenceStatus](group__SystemCouplingParticipantAPIs.xhtml#ga0b8801743579159eb41cf07d8372a734) status);

<a id="l00250" name="l00250"></a> 250 

<a id="l00254" name="l00254"></a>[ 254](classsysc_1_1SystemCoupling.xhtml#a4f15e4d02257cde7717b9fffae806311) void [disconnect](classsysc_1_1SystemCoupling.xhtml#a4f15e4d02257cde7717b9fffae806311)();

<a id="l00255" name="l00255"></a> 255 

<a id="l00257" name="l00257"></a>[ 257](classsysc_1_1SystemCoupling.xhtml#a9d5c081a6a43f86de3aef366d6527730) void [fatalError](classsysc_1_1SystemCoupling.xhtml#a9d5c081a6a43f86de3aef366d6527730)(const std::string&amp; errorMessage);

<a id="l00258" name="l00258"></a> 258 

<a id="l00273" name="l00273"></a>[ 273](classsysc_1_1SystemCoupling.xhtml#afd8d4beebb3a46d80c9f9fcddc385db2) void [addRegion](classsysc_1_1SystemCoupling.xhtml#afd8d4beebb3a46d80c9f9fcddc385db2)(const [Region](classsysc_1_1Region.xhtml)&amp; region);

<a id="l00274" name="l00274"></a> 274 

<a id="l00295" name="l00295"></a>[ 295](classsysc_1_1SystemCoupling.xhtml#ae4c93f4502c9df950fddddab3aab5eec) void [addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae4c93f4502c9df950fddddab3aab5eec)(const [CouplingInterface](classsysc_1_1CouplingInterface.xhtml)&amp; couplingInterface);

<a id="l00296" name="l00296"></a> 296 

<a id="l00321" name="l00321"></a>[ 321](classsysc_1_1SystemCoupling.xhtml#ae1f7fe88e678c07cde61acff8742b608) void [addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae1f7fe88e678c07cde61acff8742b608)(

<a id="l00322" name="l00322"></a> 322 const [CouplingInterface](classsysc_1_1CouplingInterface.xhtml)&amp; couplingInterface,

<a id="l00323" name="l00323"></a> 323 bool autoGenerateTransfers);

<a id="l00324" name="l00324"></a> 324 

<a id="l00331" name="l00331"></a>[ 331](classsysc_1_1SystemCoupling.xhtml#afa62b0864a1c2d99d6ddca9bd7111ffe) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#afa62b0864a1c2d99d6ddca9bd7111ffe)([InputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7dd9c918ef6adb34c5e7832dfb077cf2)* const dataAccess);

<a id="l00332" name="l00332"></a> 332 

<a id="l00341" name="l00341"></a>[ 341](classsysc_1_1SystemCoupling.xhtml#a76e7a0a0df2bb39824c48fd9ab96b0ca) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a76e7a0a0df2bb39824c48fd9ab96b0ca)(

<a id="l00342" name="l00342"></a> 342 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00343" name="l00343"></a> 343 [InputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga31d70598dce8c2bef6ec3f0c167ab271)* const dataAccess);

<a id="l00344" name="l00344"></a> 344 

<a id="l00351" name="l00351"></a>[ 351](classsysc_1_1SystemCoupling.xhtml#a2e23606ee1a491fe0c2ba5f05ce0ee57) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a2e23606ee1a491fe0c2ba5f05ce0ee57)([InputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gab7625786f580e802bcae651a9e6b8ab6)* const dataAccess);

<a id="l00352" name="l00352"></a> 352 

<a id="l00361" name="l00361"></a>[ 361](classsysc_1_1SystemCoupling.xhtml#a6e75ee51746af2186e32f1297923a6e7) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a6e75ee51746af2186e32f1297923a6e7)(

<a id="l00362" name="l00362"></a> 362 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00363" name="l00363"></a> 363 [InputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga12662b1595f7ffd8429f9e6d6cdcf4e5)* const dataAccess);

<a id="l00364" name="l00364"></a> 364 

<a id="l00371" name="l00371"></a>[ 371](classsysc_1_1SystemCoupling.xhtml#a314683b79ffddf7b82863c7d313b432d) void [registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a314683b79ffddf7b82863c7d313b432d)([OutputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf919dd1650fbc5b6cede63027640a40f)* const dataAccess);

<a id="l00372" name="l00372"></a> 372 

<a id="l00381" name="l00381"></a>[ 381](classsysc_1_1SystemCoupling.xhtml#af101b406937d56e6e088aed31a935ea3) void [registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#af101b406937d56e6e088aed31a935ea3)(

<a id="l00382" name="l00382"></a> 382 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00383" name="l00383"></a> 383 [OutputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga0198dfa2f53816088cfc3c0f94b33fb5)* const dataAccess);

<a id="l00384" name="l00384"></a> 384 

<a id="l00391" name="l00391"></a>[ 391](classsysc_1_1SystemCoupling.xhtml#a304e501223c4c100625f7d599ef95a20) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a304e501223c4c100625f7d599ef95a20)([OutputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3af176d8520259b81f0460e1299e04b6)* const dataAccess);

<a id="l00392" name="l00392"></a> 392 

<a id="l00401" name="l00401"></a>[ 401](classsysc_1_1SystemCoupling.xhtml#a21ee710a21628b3d10a2bc8b1e2aba94) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a21ee710a21628b3d10a2bc8b1e2aba94)(

<a id="l00402" name="l00402"></a> 402 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00403" name="l00403"></a> 403 [OutputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga816b3979bcee14cdb92a88c0621a8e1e)* const dataAccess);

<a id="l00404" name="l00404"></a> 404 

<a id="l00411" name="l00411"></a>[ 411](classsysc_1_1SystemCoupling.xhtml#ad34d0e99d563866302168a500fc25f87) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#ad34d0e99d563866302168a500fc25f87)(

<a id="l00412" name="l00412"></a> 412 [InputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gac45104dcb153caae0c4edac26e46351e)* const dataAccess);

<a id="l00413" name="l00413"></a> 413 

<a id="l00422" name="l00422"></a>[ 422](classsysc_1_1SystemCoupling.xhtml#a680da341bf7ac88ec2915d8b8829d4fe) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a680da341bf7ac88ec2915d8b8829d4fe)(

<a id="l00423" name="l00423"></a> 423 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00424" name="l00424"></a> 424 [InputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga90ec216c6ff3f8ada5d0b0b4ea362b15)* const dataAccess);

<a id="l00425" name="l00425"></a> 425 

<a id="l00432" name="l00432"></a>[ 432](classsysc_1_1SystemCoupling.xhtml#ad01282a8ac2f02ce29ec04c4658bf17e) void [registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#ad01282a8ac2f02ce29ec04c4658bf17e)(

<a id="l00433" name="l00433"></a> 433 [InputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga0cc318418bce4c3aa356f91798e962e7)* const dataAccess);

<a id="l00434" name="l00434"></a> 434 

<a id="l00443" name="l00443"></a>[ 443](classsysc_1_1SystemCoupling.xhtml#a16dea92d21d3ca877ca8bfd81e18e94e) void [registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a16dea92d21d3ca877ca8bfd81e18e94e)(

<a id="l00444" name="l00444"></a> 444 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00445" name="l00445"></a> 445 [InputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaf213c1ae6a1bff131c598f99ad9320b4)* const dataAccess);

<a id="l00446" name="l00446"></a> 446 

<a id="l00453" name="l00453"></a>[ 453](classsysc_1_1SystemCoupling.xhtml#a24670b63201163eac7c03db3a0c15ff4) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a24670b63201163eac7c03db3a0c15ff4)(

<a id="l00454" name="l00454"></a> 454 [OutputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaeb662bc24c2d2c6f4248f038eee43e74)* const dataAccess);

<a id="l00455" name="l00455"></a> 455 

<a id="l00464" name="l00464"></a>[ 464](classsysc_1_1SystemCoupling.xhtml#a8c245c51f9126744d65249e6a2312b99) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a8c245c51f9126744d65249e6a2312b99)(

<a id="l00465" name="l00465"></a> 465 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00466" name="l00466"></a> 466 [OutputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga74e6e9bec4808c21fab845daa661b50c)* const dataAccess);

<a id="l00467" name="l00467"></a> 467 

<a id="l00474" name="l00474"></a>[ 474](classsysc_1_1SystemCoupling.xhtml#ab15cbb6e23e6c09faa099e59864c08d6) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#ab15cbb6e23e6c09faa099e59864c08d6)(

<a id="l00475" name="l00475"></a> 475 [OutputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaec1b87f8104f48c01859a46d280894db)* const dataAccess);

<a id="l00476" name="l00476"></a> 476 

<a id="l00485" name="l00485"></a>[ 485](classsysc_1_1SystemCoupling.xhtml#a3dca2396c7258c1a4ddd1be4fee2fd42) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a3dca2396c7258c1a4ddd1be4fee2fd42)(

<a id="l00486" name="l00486"></a> 486 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00487" name="l00487"></a> 487 [OutputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaa3871403c3c169499a051ce8cc88d9a7)* const dataAccess);

<a id="l00488" name="l00488"></a> 488 

<a id="l00495" name="l00495"></a>[ 495](classsysc_1_1SystemCoupling.xhtml#a9ccb1119e5f06b68f429564c9424e7ad) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a9ccb1119e5f06b68f429564c9424e7ad)([SurfaceMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga31a21ade99a36c30fdc24d33c6d5c9aa)* const meshAccess);

<a id="l00496" name="l00496"></a> 496 

<a id="l00505" name="l00505"></a>[ 505](classsysc_1_1SystemCoupling.xhtml#a4eb30212ad009f243ca04a58134f83ea) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a4eb30212ad009f243ca04a58134f83ea)(

<a id="l00506" name="l00506"></a> 506 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00507" name="l00507"></a> 507 [SurfaceMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaefc47d665f38f4380346fb9c29b9c8ff)* const meshAccess);

<a id="l00508" name="l00508"></a> 508 

<a id="l00509" name="l00509"></a> 509 void registerZoneCountAccess(

<a id="l00510" name="l00510"></a> 510 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00511" name="l00511"></a> 511 [ZoneCountAccess](group__SystemCouplingParticipantAPIs.xhtml#ga67496d998ace1dd2796a5a96f6356483)* const zoneCountAccess);

<a id="l00512" name="l00512"></a> 512 

<a id="l00513" name="l00513"></a> 513 void registerSurfaceMeshAccess(

<a id="l00514" name="l00514"></a> 514 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00515" name="l00515"></a> 515 [SurfaceMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga78db51b86b998102a74753c41118d0de)* const dataAccess);

<a id="l00516" name="l00516"></a> 516 

<a id="l00517" name="l00517"></a> 517 void registerVolumeMeshAccess(

<a id="l00518" name="l00518"></a> 518 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00519" name="l00519"></a> 519 [VolumeMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf8cf8d3d04cd46c0841bd0d1fdb54158)* const dataAccess);

<a id="l00520" name="l00520"></a> 520 

<a id="l00521" name="l00521"></a> 521 void registerInputScalarDataAccess(

<a id="l00522" name="l00522"></a> 522 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00523" name="l00523"></a> 523 [InputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3b4a0b9036a3be955d417a16c6acb695)* const dataAccess);

<a id="l00524" name="l00524"></a> 524 

<a id="l00525" name="l00525"></a> 525 void registerOutputScalarDataAccess(

<a id="l00526" name="l00526"></a> 526 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00527" name="l00527"></a> 527 [OutputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaad003be96e3cd29fc18e0d2a27889db4)* const dataAccess);

<a id="l00528" name="l00528"></a> 528 

<a id="l00529" name="l00529"></a> 529 void registerInputVectorDataAccess(

<a id="l00530" name="l00530"></a> 530 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00531" name="l00531"></a> 531 [InputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga59cfd8bf053c1492e4c0a6b4c0109ef6)* const dataAccess);

<a id="l00532" name="l00532"></a> 532 

<a id="l00533" name="l00533"></a> 533 void registerOutputVectorDataAccess(

<a id="l00534" name="l00534"></a> 534 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00535" name="l00535"></a> 535 [OutputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga46429473df8e53efff6e5d967897a291)* const dataAccess);

<a id="l00536" name="l00536"></a> 536 

<a id="l00543" name="l00543"></a>[ 543](classsysc_1_1SystemCoupling.xhtml#a37c591107d6b76d87a5dd7c6f0199c51) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a37c591107d6b76d87a5dd7c6f0199c51)([VolumeMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7a37f14608ada16bb16d44c498325fff)* const meshAccess);

<a id="l00544" name="l00544"></a> 544 

<a id="l00553" name="l00553"></a>[ 553](classsysc_1_1SystemCoupling.xhtml#a77a36ef05a78ae9020fc2ac63c49dd4a) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a77a36ef05a78ae9020fc2ac63c49dd4a)(

<a id="l00554" name="l00554"></a> 554 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00555" name="l00555"></a> 555 [VolumeMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga6c3e4e3f977efd6284430b6f8e918ce1)* const meshAccess);

<a id="l00556" name="l00556"></a> 556 

<a id="l00563" name="l00563"></a>[ 563](classsysc_1_1SystemCoupling.xhtml#a081e92271343f5e8f274a26bb8a53250) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a081e92271343f5e8f274a26bb8a53250)([PointCloudAccess](group__SystemCouplingParticipantAPIs.xhtml#ga1651bb5df846358dfae0401b4a51331d)* const pointCloudAccess);

<a id="l00564" name="l00564"></a> 564 

<a id="l00574" name="l00574"></a>[ 574](classsysc_1_1SystemCoupling.xhtml#a0211f151640719613160e422104bacab) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a0211f151640719613160e422104bacab)(

<a id="l00575" name="l00575"></a> 575 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00576" name="l00576"></a> 576 [PointCloudAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga1ec70c59d86f6f43cc865c72e4a9d76e)* const pointCloudAccess);

<a id="l00577" name="l00577"></a> 577 

<a id="l00587" name="l00587"></a>[ 587](classsysc_1_1SystemCoupling.xhtml#ae348c4f9962a2ebb4b9ca1a28db9e6fb) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#ae348c4f9962a2ebb4b9ca1a28db9e6fb)(

<a id="l00588" name="l00588"></a> 588 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a id="l00589" name="l00589"></a> 589 [PointCloudMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga2108977976cabe1b6207eb8bc58175f4)* const pointCloudAccess);

<a id="l00590" name="l00590"></a> 590 

<a id="l00598" name="l00598"></a>[ 598](classsysc_1_1SystemCoupling.xhtml#abc975e2b015e026587123609dcf51d49) void [registerRestartPointCreation](classsysc_1_1SystemCoupling.xhtml#abc975e2b015e026587123609dcf51d49)([RestartPointCreation](group__SystemCouplingParticipantAPIs.xhtml#ga94caa804f294a50dad34a53274255657)* const restartPointCreation);

<a id="l00599" name="l00599"></a> 599 

<a id="l00611" name="l00611"></a>[ 611](classsysc_1_1SystemCoupling.xhtml#a3d0f96215b1b4609d46e0772c3e3578b) bool [writeSetupFile](classsysc_1_1SystemCoupling.xhtml#a3d0f96215b1b4609d46e0772c3e3578b)(const [SetupFileInfo](structsysc_1_1SetupFileInfo.xhtml)&amp; setupFileInfo) const;

<a id="l00612" name="l00612"></a> 612 

<a id="l00614" name="l00614"></a>[ 614](classsysc_1_1SystemCoupling.xhtml#ac9b3de74b577b71eccf44c901ba0d225) void [writeResults](classsysc_1_1SystemCoupling.xhtml#ac9b3de74b577b71eccf44c901ba0d225)(const [ResultsInfo](structsysc_1_1ResultsInfo.xhtml)&amp; resultsInfo) const;

<a id="l00615" name="l00615"></a> 615 

<a id="l00621" name="l00621"></a>[ 621](classsysc_1_1SystemCoupling.xhtml#af1cac0616352ad6998eefad0593c8ffb) std::size_t [getNumRegions](classsysc_1_1SystemCoupling.xhtml#af1cac0616352ad6998eefad0593c8ffb)() const;

<a id="l00622" name="l00622"></a> 622 

<a id="l00630" name="l00630"></a>[ 630](classsysc_1_1SystemCoupling.xhtml#a2428cf1cc5e4ba5b689a868225e93b8d) const [Region](classsysc_1_1Region.xhtml)&amp; [getAddedRegion](classsysc_1_1SystemCoupling.xhtml#a2428cf1cc5e4ba5b689a868225e93b8d)(std::size_t index) const;

<a id="l00631" name="l00631"></a> 631 

<a id="l00633" name="l00633"></a>[ 633](classsysc_1_1SystemCoupling.xhtml#ace4a88af60a1aa93a68fa4b071592413) [SolutionControl](structsysc_1_1SolutionControl.xhtml) [getSolutionControl](classsysc_1_1SystemCoupling.xhtml#ace4a88af60a1aa93a68fa4b071592413)() const;

<a id="l00634" name="l00634"></a> 634 

<a id="l00640" name="l00640"></a>[ 640](classsysc_1_1SystemCoupling.xhtml#a83c9856515b950fa453f36a29c3dd0ca) std::size_t [getNumCouplingInterfaces](classsysc_1_1SystemCoupling.xhtml#a83c9856515b950fa453f36a29c3dd0ca)() const;

<a id="l00641" name="l00641"></a> 641 

<a id="l00649" name="l00649"></a>[ 649](classsysc_1_1SystemCoupling.xhtml#adeff9bb5d808302c5e44bc26468a5aec) const [CouplingInterface](classsysc_1_1CouplingInterface.xhtml)&amp; [getAddedCouplingInterface](classsysc_1_1SystemCoupling.xhtml#adeff9bb5d808302c5e44bc26468a5aec)(std::size_t index) const;

<a id="l00650" name="l00650"></a> 650 

<a id="l00651" name="l00651"></a> 651 /\* Deprecated functions \*/

<a id="l00652" name="l00652"></a> 652 

<a id="l00655" name="l00655"></a>[ 655](classsysc_1_1SystemCoupling.xhtml#a6d389ee7e0740e0348919cd3b7d956f7) void [completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#a6d389ee7e0740e0348919cd3b7d956f7)();

<a id="l00656" name="l00656"></a> 656 

<a id="l00659" name="l00659"></a>[ 659](classsysc_1_1SystemCoupling.xhtml#a683c376ebe3565f5703383e2e440c865) void [completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#a683c376ebe3565f5703383e2e440c865)(const [sysc::AnalysisType](group__SystemCouplingParticipantAPIs.xhtml#gaffd523474fbd708f481a712f1841a967) analysisType);

<a id="l00660" name="l00660"></a> 660 

<a id="l00662" name="l00662"></a>[ 662](classsysc_1_1SystemCoupling.xhtml#a556d8d89c5dfc9857f8a40345cbfeb90) void [registerInputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a556d8d89c5dfc9857f8a40345cbfeb90)([InputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7ce277f24bb678ccd0ec7f39251200f0)* const dataAccess);

<a id="l00663" name="l00663"></a> 663 

<a id="l00665" name="l00665"></a>[ 665](classsysc_1_1SystemCoupling.xhtml#a749d605a6642a6b5c094bde1e66109f1) void [registerInputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#a749d605a6642a6b5c094bde1e66109f1)([InputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga9bfe55c4fdafe8658ce95c0b57e901ce)* const dataAccess);

<a id="l00666" name="l00666"></a> 666 

<a id="l00668" name="l00668"></a>[ 668](classsysc_1_1SystemCoupling.xhtml#a62a1b77e76a3b5bc24cbb9990dfae9bd) void [registerOutputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a62a1b77e76a3b5bc24cbb9990dfae9bd)([OutputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga127e5c305dc15bfe07e874cdfb998cbd)* const dataAccess);

<a id="l00669" name="l00669"></a> 669 

<a id="l00671" name="l00671"></a>[ 671](classsysc_1_1SystemCoupling.xhtml#adb7212327ce9526fdd4af583b8e5b831) void [registerOutputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#adb7212327ce9526fdd4af583b8e5b831)([OutputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gaa211cd44ea78c50179a2d4e1d9beaf4d)* const dataAccess);

<a id="l00672" name="l00672"></a> 672 

<a id="l00674" name="l00674"></a>[ 674](classsysc_1_1SystemCoupling.xhtml#a8c7d2613f81b8d9a5bd81db9dcbae8fd) [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) [checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#a8c7d2613f81b8d9a5bd81db9dcbae8fd)(const [Region](classsysc_1_1Region.xhtml)&amp; region);

<a id="l00675" name="l00675"></a> 675 

<a id="l00677" name="l00677"></a>[ 677](classsysc_1_1SystemCoupling.xhtml#ac6a85f6aae44d330b8042dc9296bd59b) [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) [checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#ac6a85f6aae44d330b8042dc9296bd59b)(const std::string&amp; regionName);

<a id="l00678" name="l00678"></a> 678 

<a id="l00680" name="l00680"></a>[ 680](classsysc_1_1SystemCoupling.xhtml#aadef536f9be563c752beca8ea2c07ca4) const [Region](classsysc_1_1Region.xhtml)&amp; [getRegion](classsysc_1_1SystemCoupling.xhtml#aadef536f9be563c752beca8ea2c07ca4)(std::size_t index) const;

<a id="l00681" name="l00681"></a> 681 

<a id="l00683" name="l00683"></a>[ 683](classsysc_1_1SystemCoupling.xhtml#a692355d68459adf3eddfaef350bf0c9c) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a692355d68459adf3eddfaef350bf0c9c)(const [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;) = delete;

<a id="l00684" name="l00684"></a> 684 

<a id="l00686" name="l00686"></a>[ 686](classsysc_1_1SystemCoupling.xhtml#a8d869edcfaaace05684e095add7d733b) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a8d869edcfaaace05684e095add7d733b)([SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;&amp;) = default;

<a id="l00687" name="l00687"></a> 687 

<a id="l00689" name="l00689"></a>[ 689](classsysc_1_1SystemCoupling.xhtml#aaa079f08b735808222d3c74d30e81982) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp; [operator=](classsysc_1_1SystemCoupling.xhtml#aaa079f08b735808222d3c74d30e81982)(const [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;) = delete;

<a id="l00690" name="l00690"></a> 690 

<a id="l00692" name="l00692"></a>[ 692](classsysc_1_1SystemCoupling.xhtml#a498fa28f49b45536cab4c27e8cef5cf0) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp; [operator=](classsysc_1_1SystemCoupling.xhtml#a498fa28f49b45536cab4c27e8cef5cf0)([SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;&amp;) = default;

<a id="l00693" name="l00693"></a> 693};

<a id="l00694" name="l00694"></a> 694 

<a id="l00697" name="l00697"></a> 697} // namespace sysc

[sysc::CouplingInterface](classsysc_1_1CouplingInterface.xhtml)

Provide a class for a coupling interface.

**Definition:** [CouplingInterface.hpp:28](CouplingInterface_8hpp_source.xhtml#l00028)



[sysc::Region](classsysc_1_1Region.xhtml)

Provide a class for a System Coupling region.

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



[sysc::SystemCoupling](classsysc_1_1SystemCoupling.xhtml)

Provide the main class for interacting with the System Coupling participant library.

**Definition:** [SystemCoupling.hpp:44](SystemCoupling_8hpp_source.xhtml#l00044)



[sysc::SystemCoupling::registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a0211f151640719613160e422104bacab)

void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudAccessWithPointer *const pointCloudAccess)

Provide a function to register point cloud access.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a0381ca6fb1dcf81258ada4e95c354ab9)

SystemCoupling(std::size_t mpiCommunicator)

Provide a constructor for the SystemCoupling class for non-cosimulation mode with a custom MPI commun...



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a072c72997a85450479b102c3575c1c4f)

SystemCoupling(const std::string &amp;scHost, const unsigned short scPort, const std::string &amp;participantName, const std::string &amp;buildInformation="Unknown")

Provide a constructor for the SystemCoupling class for cosimulation mode.



[sysc::SystemCoupling::registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a081e92271343f5e8f274a26bb8a53250)

void registerPointCloudAccess(PointCloudAccess *const pointCloudAccess)

Provide a function to register point cloud access.



[sysc::SystemCoupling::doIteration](classsysc_1_1SystemCoupling.xhtml#a0cb8cd28d752af2cfd0b4d27511ea306)

bool doIteration()

Provide a function to check whether to do a coupling iteration.



[sysc::SystemCoupling::registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a16dea92d21d3ca877ca8bfd81e18e94e)

void registerInputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexVectorDataAccessWithPointer *const dataAccess)

Provide a function to register input complex vector data access.



[sysc::SystemCoupling::completeSetup](classsysc_1_1SystemCoupling.xhtml#a204a3a8145961af7bc28d2cfd58a4358)

void completeSetup(const sysc::SetupInfo &amp;setupInfo)

Provide a function to notify System Coupling that setup can be completed.



[sysc::SystemCoupling::registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a21ee710a21628b3d10a2bc8b1e2aba94)

void registerOutputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputVectorDataAccessWithPointer *const dataAccess)

Provide a function to register output vector data access.



[sysc::SystemCoupling::getAddedRegion](classsysc_1_1SystemCoupling.xhtml#a2428cf1cc5e4ba5b689a868225e93b8d)

const Region &amp; getAddedRegion(std::size_t index) const

Provide a function to return region information.



[sysc::SystemCoupling::registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a24670b63201163eac7c03db3a0c15ff4)

void registerOutputComplexScalarDataAccess(OutputComplexScalarDataAccess *const dataAccess)

Provide a function to register output complex scalar data access.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a28570e0829c5d0c2177d1b25b55b2da0)

SystemCoupling(const ParticipantInfo &amp;participantInfo, std::size_t mpiCommunicator)

Provide a constructor for the SystemCoupling class with an mpiCommunicator object set to non default.



[sysc::SystemCoupling::doTimeStep](classsysc_1_1SystemCoupling.xhtml#a285a15756651ef5027191ca69dfab7e0)

bool doTimeStep()

Provide a function to check whether to do a coupling time step.



[sysc::SystemCoupling::registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a2e23606ee1a491fe0c2ba5f05ce0ee57)

void registerInputVectorDataAccess(InputVectorDataAccess *const dataAccess)

Provide a function to register input vector data access.



[sysc::SystemCoupling::registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a304e501223c4c100625f7d599ef95a20)

void registerOutputVectorDataAccess(OutputVectorDataAccess *const dataAccess)

Provide a function to register output vector data access.



[sysc::SystemCoupling::registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a314683b79ffddf7b82863c7d313b432d)

void registerOutputScalarDataAccess(OutputScalarDataAccess *const dataAccess)

Provide a function to register output scalar data access.



[sysc::SystemCoupling::registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a37c591107d6b76d87a5dd7c6f0199c51)

void registerVolumeMeshAccess(VolumeMeshAccess *const meshAccess)

Provide a function to register volume mesh access.



[sysc::SystemCoupling::writeSetupFile](classsysc_1_1SystemCoupling.xhtml#a3d0f96215b1b4609d46e0772c3e3578b)

bool writeSetupFile(const SetupFileInfo &amp;setupFileInfo) const

Provide a function to write the setup file.



[sysc::SystemCoupling::registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a3dca2396c7258c1a4ddd1be4fee2fd42)

void registerOutputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexVectorDataAccessWithPointer *const dataAccess)

Provide a function to register output complex vector data access.



[sysc::SystemCoupling::updateOutputs](classsysc_1_1SystemCoupling.xhtml#a468e5e084477cdaca2adee6c50edf7e9)

void updateOutputs(ConvergenceStatus status)

Provide a function to update the participants output variables.



[sysc::SystemCoupling::operator=](classsysc_1_1SystemCoupling.xhtml#a498fa28f49b45536cab4c27e8cef5cf0)

SystemCoupling &amp; operator=(SystemCoupling &amp;&amp;)=default

Provide the move-assign operator.



[sysc::SystemCoupling::registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a4eb30212ad009f243ca04a58134f83ea)

void registerSurfaceMeshAccess(OpaqueDataAccess opaqueDataAccess, SurfaceMeshAccessWithPointer *const meshAccess)

Provide a function to register surface mesh access.



[sysc::SystemCoupling::disconnect](classsysc_1_1SystemCoupling.xhtml#a4f15e4d02257cde7717b9fffae806311)

void disconnect()

Provide a function to end the analysis and disconnect from System Coupling.



[sysc::SystemCoupling::registerInputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a556d8d89c5dfc9857f8a40345cbfeb90)

void registerInputScalarVariableAccess(InputScalarVariableAccess *const dataAccess)

Deprecated - do not use.



[sysc::SystemCoupling::registerOutputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a62a1b77e76a3b5bc24cbb9990dfae9bd)

void registerOutputScalarVariableAccess(OutputScalarVariableAccess *const dataAccess)

Deprecated - do not use.



[sysc::SystemCoupling::registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a680da341bf7ac88ec2915d8b8829d4fe)

void registerInputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexScalarDataAccessWithPointer *const dataAccess)

Provide a function to register input complex scalar data access.



[sysc::SystemCoupling::completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#a683c376ebe3565f5703383e2e440c865)

void completeCouplingSetup(const sysc::AnalysisType analysisType)

This function will be deprecated. Use completeSetup() instead.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a692355d68459adf3eddfaef350bf0c9c)

SystemCoupling(const SystemCoupling &amp;)=delete

Delete the copy-constructor.



[sysc::SystemCoupling::getCurrentTimeStep](classsysc_1_1SystemCoupling.xhtml#a6ab306d83db2610887c8fb18c554eba6)

sysc::TimeStep getCurrentTimeStep()

Provide a function to get current time step.



[sysc::SystemCoupling::completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#a6d389ee7e0740e0348919cd3b7d956f7)

void completeCouplingSetup()

This function will be deprecated. Use completeSetup() instead.



[sysc::SystemCoupling::registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a6e75ee51746af2186e32f1297923a6e7)

void registerInputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputVectorDataAccessWithPointer *const dataAccess)

Provide a function to register input vector data access.



[sysc::SystemCoupling::registerInputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#a749d605a6642a6b5c094bde1e66109f1)

void registerInputVectorVariableAccess(InputVectorVariableAccess *const dataAccess)

Deprecated - do not use.



[sysc::SystemCoupling::registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a76e7a0a0df2bb39824c48fd9ab96b0ca)

void registerInputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputScalarDataAccessWithPointer *const dataAccess)

Provide a function to register input scalar data access.



[sysc::SystemCoupling::registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a77a36ef05a78ae9020fc2ac63c49dd4a)

void registerVolumeMeshAccess(OpaqueDataAccess opaqueDataAccess, VolumeMeshAccessWithPointer *const meshAccess)

Provide a function to register volume mesh access.



[sysc::SystemCoupling::getNumCouplingInterfaces](classsysc_1_1SystemCoupling.xhtml#a83c9856515b950fa453f36a29c3dd0ca)

std::size_t getNumCouplingInterfaces() const

Provide a function to return the number of coupling interfaces.



[sysc::SystemCoupling::registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a8c245c51f9126744d65249e6a2312b99)

void registerOutputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexScalarDataAccessWithPointer *const dataAccess)

Provide a function to register output complex scalar data access.



[sysc::SystemCoupling::checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#a8c7d2613f81b8d9a5bd81db9dcbae8fd)

MeshValidityStatus checkMeshValidity(const Region &amp;region)

Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a8d869edcfaaace05684e095add7d733b)

SystemCoupling(SystemCoupling &amp;&amp;)=default

Provide the move-constructor.



[sysc::SystemCoupling::updateInputs](classsysc_1_1SystemCoupling.xhtml#a9c768f6965f14e8ab3308c7df4144da7)

void updateInputs()

Provide a function to update the participants input variables.



[sysc::SystemCoupling::registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a9ccb1119e5f06b68f429564c9424e7ad)

void registerSurfaceMeshAccess(SurfaceMeshAccess *const meshAccess)

Provide a function to register surface mesh access.



[sysc::SystemCoupling::fatalError](classsysc_1_1SystemCoupling.xhtml#a9d5c081a6a43f86de3aef366d6527730)

void fatalError(const std::string &amp;errorMessage)

Provide a function to notify System Coupling about a fatal error.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a9f7e98bb312a412ae7bc81f0a49afa1a)

SystemCoupling(const ParticipantInfo &amp;participantInfo)

Provide a constructor for the SystemCoupling class with a custom struct representing the default inpu...



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#aa85c07a47dbf3cccce8049e8c8fe86cc)

SystemCoupling()

Provide a (default) constructor for the SystemCoupling class for non-cosimulation mode.



[sysc::SystemCoupling::operator=](classsysc_1_1SystemCoupling.xhtml#aaa079f08b735808222d3c74d30e81982)

SystemCoupling &amp; operator=(const SystemCoupling &amp;)=delete

Delete the copy-assign operator.



[sysc::SystemCoupling::getRegion](classsysc_1_1SystemCoupling.xhtml#aadef536f9be563c752beca8ea2c07ca4)

const Region &amp; getRegion(std::size_t index) const

Deprecated. Use getAddedRegion() instead.



[sysc::SystemCoupling::registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#ab15cbb6e23e6c09faa099e59864c08d6)

void registerOutputComplexVectorDataAccess(OutputComplexVectorDataAccess *const dataAccess)

Provide a function to register output complex vector data access.



[sysc::SystemCoupling::initializeAnalysis](classsysc_1_1SystemCoupling.xhtml#ab47a6eaf83eae538e17290a5c2582b8e)

void initializeAnalysis()

Provide a function to notify System Coupling that analysis initialization can be completed.



[sysc::SystemCoupling::registerRestartPointCreation](classsysc_1_1SystemCoupling.xhtml#abc975e2b015e026587123609dcf51d49)

void registerRestartPointCreation(RestartPointCreation *const restartPointCreation)

Provide a function to register a restart point creation callback.



[sysc::SystemCoupling::checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#ac6a85f6aae44d330b8042dc9296bd59b)

MeshValidityStatus checkMeshValidity(const std::string &amp;regionName)

Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.



[sysc::SystemCoupling::writeResults](classsysc_1_1SystemCoupling.xhtml#ac9b3de74b577b71eccf44c901ba0d225)

void writeResults(const ResultsInfo &amp;resultsInfo) const

Write results to a file.



[sysc::SystemCoupling::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#aca2f3a90d56d6e186a1aae119ce57495)

SystemCoupling(const std::string &amp;scHost, const unsigned short scPort, const std::string &amp;participantName, const std::size_t mpiCommunicator, const std::string &amp;buildInformation)

Provide a constructor for the SystemCoupling class for cosimulation mode with a custom MPI communicat...



[sysc::SystemCoupling::getSolutionControl](classsysc_1_1SystemCoupling.xhtml#ace4a88af60a1aa93a68fa4b071592413)

SolutionControl getSolutionControl() const

Get solution control.



[sysc::SystemCoupling::registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#ad01282a8ac2f02ce29ec04c4658bf17e)

void registerInputComplexVectorDataAccess(InputComplexVectorDataAccess *const dataAccess)

Provide a function to register input complex vector data access.



[sysc::SystemCoupling::registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#ad34d0e99d563866302168a500fc25f87)

void registerInputComplexScalarDataAccess(InputComplexScalarDataAccess *const dataAccess)

Provide a function to register input complex scalar data access.



[sysc::SystemCoupling::registerOutputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#adb7212327ce9526fdd4af583b8e5b831)

void registerOutputVectorVariableAccess(OutputVectorVariableAccess *const dataAccess)

Deprecated - do not use.



[sysc::SystemCoupling::getAddedCouplingInterface](classsysc_1_1SystemCoupling.xhtml#adeff9bb5d808302c5e44bc26468a5aec)

const CouplingInterface &amp; getAddedCouplingInterface(std::size_t index) const

Provide a function to return coupling interface.



[sysc::SystemCoupling::addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae1f7fe88e678c07cde61acff8742b608)

void addCouplingInterface(const CouplingInterface &amp;couplingInterface, bool autoGenerateTransfers)

Provide a function to add a coupling interface.



[sysc::SystemCoupling::registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#ae348c4f9962a2ebb4b9ca1a28db9e6fb)

void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudMultiZoneAccess *const pointCloudAccess)

Provide a function to register point cloud access.



[sysc::SystemCoupling::addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae4c93f4502c9df950fddddab3aab5eec)

void addCouplingInterface(const CouplingInterface &amp;couplingInterface)

Provide a function to add a coupling interface.



[sysc::SystemCoupling::registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#af101b406937d56e6e088aed31a935ea3)

void registerOutputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputScalarDataAccessWithPointer *const dataAccess)

Provide a function to register output scalar data access.



[sysc::SystemCoupling::getNumRegions](classsysc_1_1SystemCoupling.xhtml#af1cac0616352ad6998eefad0593c8ffb)

std::size_t getNumRegions() const

Provide a function to return the number of regions.



[sysc::SystemCoupling::registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#afa62b0864a1c2d99d6ddca9bd7111ffe)

void registerInputScalarDataAccess(InputScalarDataAccess *const dataAccess)

Provide a function to register input scalar data access.



[sysc::SystemCoupling::addRegion](classsysc_1_1SystemCoupling.xhtml#afd8d4beebb3a46d80c9f9fcddc385db2)

void addRegion(const Region &amp;region)

Provide a function to add a region that could be used in a coupled analysis.



[sysc::OutputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga0198dfa2f53816088cfc3c0f94b33fb5)

OutputScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) OutputScalarDataAccessWithPointer

Provide function prototype for access to output scalar data.

**Definition:** [FunctionTypes.hpp:87](FunctionTypes_8hpp_source.xhtml#l00086)



[sysc::ConvergenceStatus](group__SystemCouplingParticipantAPIs.xhtml#ga0b8801743579159eb41cf07d8372a734)

ConvergenceStatus

Provide enum for participant's solver convergence status.

**Definition:** [CommonTypes.hpp:25](CommonTypes_8hpp_source.xhtml#l00025)



[sysc::InputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga0cc318418bce4c3aa356f91798e962e7)

InputComplexVectorData(const RegionName &amp;, const VariableName &amp;) InputComplexVectorDataAccess

Provide function prototype for access to input complex vector data.

**Definition:** [FunctionTypes.hpp:134](FunctionTypes_8hpp_source.xhtml#l00133)



[sysc::InputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga12662b1595f7ffd8429f9e6d6cdcf4e5)

InputVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) InputVectorDataAccessWithPointer

Provide function prototype for access to input vector data.

**Definition:** [FunctionTypes.hpp:68](FunctionTypes_8hpp_source.xhtml#l00067)



[sysc::OutputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga127e5c305dc15bfe07e874cdfb998cbd)

OutputScalarData OutputScalarVariableAccess(const std::string &amp;, const std::string &amp;)

This alias will be deprecated - use OutputScalarDataAccess instead.

**Definition:** [FunctionTypes.hpp:317](FunctionTypes_8hpp_source.xhtml#l00317)



[sysc::PointCloudAccess](group__SystemCouplingParticipantAPIs.xhtml#ga1651bb5df846358dfae0401b4a51331d)

PointCloud(const RegionName &amp;) PointCloudAccess

Provide alias for function that provides access to point cloud.

**Definition:** [FunctionTypes.hpp:225](FunctionTypes_8hpp_source.xhtml#l00225)



[sysc::PointCloudAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga1ec70c59d86f6f43cc865c72e4a9d76e)

PointCloud(OpaqueDataAccess, const RegionName &amp;) PointCloudAccessWithPointer

Provide alias for function that provides access to point cloud.

**Definition:** [FunctionTypes.hpp:234](FunctionTypes_8hpp_source.xhtml#l00233)



[sysc::PointCloudMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga2108977976cabe1b6207eb8bc58175f4)

PointCloud(OpaqueDataAccess, const RegionName &amp;, std::uint16_t zoneIndex) PointCloudMultiZoneAccess

Provide alias for function that provides access to point cloud.

**Definition:** [FunctionTypes.hpp:274](FunctionTypes_8hpp_source.xhtml#l00271)



[sysc::OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80)

void * OpaqueDataAccess

**Definition:** [CommonTypes.hpp:220](CommonTypes_8hpp_source.xhtml#l00220)



[sysc::SurfaceMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga31a21ade99a36c30fdc24d33c6d5c9aa)

SurfaceMesh(const RegionName &amp;) SurfaceMeshAccess

Provide alias for function that provides access to surface mesh.

**Definition:** [FunctionTypes.hpp:190](FunctionTypes_8hpp_source.xhtml#l00190)



[sysc::InputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga31d70598dce8c2bef6ec3f0c167ab271)

InputScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) InputScalarDataAccessWithPointer

Provide function prototype for access to input scalar data.

**Definition:** [FunctionTypes.hpp:49](FunctionTypes_8hpp_source.xhtml#l00048)



[sysc::OutputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3af176d8520259b81f0460e1299e04b6)

OutputVectorData(const RegionName &amp;, const VariableName &amp;) OutputVectorDataAccess

Provide function prototype for access to output vector data.

**Definition:** [FunctionTypes.hpp:96](FunctionTypes_8hpp_source.xhtml#l00095)



[sysc::InputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3b4a0b9036a3be955d417a16c6acb695)

InputScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;, std::uint16_t zoneIndex) InputScalarDataMultiZoneAccess

Function prototype to get the input scalar data, given region name and zone index.

**Definition:** [FunctionTypes.hpp:282](FunctionTypes_8hpp_source.xhtml#l00278)



[sysc::OutputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga46429473df8e53efff6e5d967897a291)

OutputVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;, std::uint16_t zoneIndex) OutputVectorDataMultiZoneAccess

Function prototype to get the input vector data, given region name and zone index.

**Definition:** [FunctionTypes.hpp:306](FunctionTypes_8hpp_source.xhtml#l00302)



[sysc::InputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga59cfd8bf053c1492e4c0a6b4c0109ef6)

InputVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;, std::uint16_t zoneIndex) InputVectorDataMultiZoneAccess

Function prototype to get the input vector data, given region name and zone index.

**Definition:** [FunctionTypes.hpp:298](FunctionTypes_8hpp_source.xhtml#l00294)



[sysc::ZoneCountAccess](group__SystemCouplingParticipantAPIs.xhtml#ga67496d998ace1dd2796a5a96f6356483)

std::uint16_t(OpaqueDataAccess, const RegionName &amp;) ZoneCountAccess

Function prototype to get the number of zones for a given region.

**Definition:** [FunctionTypes.hpp:247](FunctionTypes_8hpp_source.xhtml#l00247)



[sysc::VolumeMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga6c3e4e3f977efd6284430b6f8e918ce1)

VolumeMesh(OpaqueDataAccess, const RegionName &amp;) VolumeMeshAccessWithPointer

Provide alias for function that provides access to volume mesh.

**Definition:** [FunctionTypes.hpp:218](FunctionTypes_8hpp_source.xhtml#l00217)



[sysc::OutputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga74e6e9bec4808c21fab845daa661b50c)

OutputComplexScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) OutputComplexScalarDataAccessWithPointer

Provide function prototype for access to output complex scalar data.

**Definition:** [FunctionTypes.hpp:163](FunctionTypes_8hpp_source.xhtml#l00162)



[sysc::SurfaceMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga78db51b86b998102a74753c41118d0de)

SurfaceMesh(OpaqueDataAccess, const RegionName &amp;, std::uint16_t zoneIndex) SurfaceMeshMultiZoneAccess

Function prototype to get the mesh zone, given region name and zone index.

**Definition:** [FunctionTypes.hpp:255](FunctionTypes_8hpp_source.xhtml#l00254)



[sysc::VolumeMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7a37f14608ada16bb16d44c498325fff)

VolumeMesh(const RegionName &amp;) VolumeMeshAccess

Provide alias for function that provides access to volume mesh.

**Definition:** [FunctionTypes.hpp:208](FunctionTypes_8hpp_source.xhtml#l00208)



[sysc::InputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7ce277f24bb678ccd0ec7f39251200f0)

InputScalarData InputScalarVariableAccess(const std::string &amp;, const std::string &amp;)

This alias will be deprecated - use InputScalarDataAccess instead.

**Definition:** [FunctionTypes.hpp:311](FunctionTypes_8hpp_source.xhtml#l00311)



[sysc::InputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7dd9c918ef6adb34c5e7832dfb077cf2)

InputScalarData(const RegionName &amp;, const VariableName &amp;) InputScalarDataAccess

Provide function prototype for access to input scalar data.

**Definition:** [FunctionTypes.hpp:39](FunctionTypes_8hpp_source.xhtml#l00038)



[sysc::OutputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga816b3979bcee14cdb92a88c0621a8e1e)

OutputVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) OutputVectorDataAccessWithPointer

Provide function prototype for access to output vector data.

**Definition:** [FunctionTypes.hpp:106](FunctionTypes_8hpp_source.xhtml#l00105)



[sysc::InputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga90ec216c6ff3f8ada5d0b0b4ea362b15)

InputComplexScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) InputComplexScalarDataAccessWithPointer

Provide function prototype for access to input complex scalar data.

**Definition:** [FunctionTypes.hpp:125](FunctionTypes_8hpp_source.xhtml#l00124)



[sysc::RestartPointCreation](group__SystemCouplingParticipantAPIs.xhtml#ga94caa804f294a50dad34a53274255657)

RestartPoint(void) RestartPointCreation

Provide an alias for function prototype that creates restart points.

**Definition:** [FunctionTypes.hpp:241](FunctionTypes_8hpp_source.xhtml#l00241)



[sysc::InputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga9bfe55c4fdafe8658ce95c0b57e901ce)

InputVectorData InputVectorVariableAccess(const std::string &amp;, const std::string &amp;)

This alias will be deprecated - use InputVectorDataAccess instead.

**Definition:** [FunctionTypes.hpp:314](FunctionTypes_8hpp_source.xhtml#l00314)



[sysc::OutputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gaa211cd44ea78c50179a2d4e1d9beaf4d)

OutputVectorData OutputVectorVariableAccess(const std::string &amp;, const std::string &amp;)

This alias will be deprecated - use OutputVectorDataAccess instead.

**Definition:** [FunctionTypes.hpp:320](FunctionTypes_8hpp_source.xhtml#l00320)



[sysc::OutputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaa3871403c3c169499a051ce8cc88d9a7)

OutputComplexVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) OutputComplexVectorDataAccessWithPointer

Provide function prototype for access to output complex vector data.

**Definition:** [FunctionTypes.hpp:182](FunctionTypes_8hpp_source.xhtml#l00181)



[sysc::OutputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaad003be96e3cd29fc18e0d2a27889db4)

OutputScalarData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;, std::uint16_t zoneIndex) OutputScalarDataMultiZoneAccess

Function prototype to get the output scalar data, given region name and zone index.

**Definition:** [FunctionTypes.hpp:290](FunctionTypes_8hpp_source.xhtml#l00286)



[sysc::InputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gab7625786f580e802bcae651a9e6b8ab6)

InputVectorData(const RegionName &amp;, const VariableName &amp;) InputVectorDataAccess

Provide function prototype for access to input vector data.

**Definition:** [FunctionTypes.hpp:58](FunctionTypes_8hpp_source.xhtml#l00057)



[sysc::InputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gac45104dcb153caae0c4edac26e46351e)

InputComplexScalarData(const RegionName &amp;, const VariableName &amp;) InputComplexScalarDataAccess

Provide function prototype for access to input complex scalar data.

**Definition:** [FunctionTypes.hpp:115](FunctionTypes_8hpp_source.xhtml#l00114)



[sysc::OutputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaeb662bc24c2d2c6f4248f038eee43e74)

OutputComplexScalarData(const RegionName &amp;, const VariableName &amp;) OutputComplexScalarDataAccess

Provide function prototype for access to output complex scalar data.

**Definition:** [FunctionTypes.hpp:153](FunctionTypes_8hpp_source.xhtml#l00152)



[sysc::OutputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaec1b87f8104f48c01859a46d280894db)

OutputComplexVectorData(const RegionName &amp;, const VariableName &amp;) OutputComplexVectorDataAccess

Provide function prototype for access to output complex vector data.

**Definition:** [FunctionTypes.hpp:172](FunctionTypes_8hpp_source.xhtml#l00171)



[sysc::SurfaceMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaefc47d665f38f4380346fb9c29b9c8ff)

SurfaceMesh(OpaqueDataAccess, const RegionName &amp;) SurfaceMeshAccessWithPointer

Provide alias for function that provides access to surface mesh.

**Definition:** [FunctionTypes.hpp:200](FunctionTypes_8hpp_source.xhtml#l00199)



[sysc::InputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaf213c1ae6a1bff131c598f99ad9320b4)

InputComplexVectorData(OpaqueDataAccess, const RegionName &amp;, const VariableName &amp;) InputComplexVectorDataAccessWithPointer

Provide function prototype for access to input complex vector data.

**Definition:** [FunctionTypes.hpp:144](FunctionTypes_8hpp_source.xhtml#l00143)



[sysc::VolumeMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf8cf8d3d04cd46c0841bd0d1fdb54158)

VolumeMesh(OpaqueDataAccess, const RegionName &amp;, std::uint16_t zoneIndex) VolumeMeshMultiZoneAccess

Function prototype to get the mesh zone, given region name and zone index.

**Definition:** [FunctionTypes.hpp:264](FunctionTypes_8hpp_source.xhtml#l00263)



[sysc::OutputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf919dd1650fbc5b6cede63027640a40f)

OutputScalarData(const RegionName &amp;, const VariableName &amp;) OutputScalarDataAccess

Provide function prototype for access to output scalar data.

**Definition:** [FunctionTypes.hpp:77](FunctionTypes_8hpp_source.xhtml#l00076)



[sysc::AnalysisType](group__SystemCouplingParticipantAPIs.xhtml#gaffd523474fbd708f481a712f1841a967)

AnalysisType

Provide an enum for coupled analysis type.

**Definition:** [CommonSettings.hpp:18](CommonSettings_8hpp_source.xhtml#l00018)



[sysc::MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml)

Provide a struct that contains information about mesh validity.

**Definition:** [CommonTypes.hpp:191](CommonTypes_8hpp_source.xhtml#l00191)



[sysc::ParticipantInfo](structsysc_1_1ParticipantInfo.xhtml)

provide a structure for the participant information needed to connect to a System Coupling object

**Definition:** [CommonTypes.hpp:249](CommonTypes_8hpp_source.xhtml#l00249)



[sysc::ResultsInfo](structsysc_1_1ResultsInfo.xhtml)

Provide a structure for writing System Coupling results files.

**Definition:** [CommonTypes.hpp:156](CommonTypes_8hpp_source.xhtml#l00156)



[sysc::SetupFileInfo](structsysc_1_1SetupFileInfo.xhtml)

Provide a structure for writing System Coupling setup files.

**Definition:** [CommonTypes.hpp:121](CommonTypes_8hpp_source.xhtml#l00121)



[sysc::SetupInfo](structsysc_1_1SetupInfo.xhtml)

Provide a structure for System Coupling setup information.

**Definition:** [CommonTypes.hpp:74](CommonTypes_8hpp_source.xhtml#l00074)



[sysc::SolutionControl](structsysc_1_1SolutionControl.xhtml)

Provide a structure containing solution control.

**Definition:** [CommonTypes.hpp:68](CommonTypes_8hpp_source.xhtml#l00068)



[sysc::TimeStep](structsysc_1_1TimeStep.xhtml)

Provide a struct for time step.

**Definition:** [CommonTypes.hpp:40](CommonTypes_8hpp_source.xhtml#l00040)