    

 ## On this page

  

 

 # SystemCoupling

 Last update: 17.07.2025 

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

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

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

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

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

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

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

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

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

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

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

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

<a name="l00013"></a> 13 \#include "SystemCouplingParticipant/Parameter.hpp"

<a name="l00014"></a> 14 

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

<a name="l00016"></a> 16 \#include &lt;string&gt;

<a name="l00017"></a> 17 

<a name="l00018"></a> 18 namespace sysc {

<a name="l00019"></a> 19 

<a name="l00045"></a>[ 45](classsysc_1_1SystemCoupling.xhtml) class SYSTEM_COUPLING_PARTICIPANT_DLL [SystemCoupling](classsysc_1_1SystemCoupling.xhtml) {

<a name="l00046"></a> 46 public:

<a name="l00057"></a>[ 57](classsysc_1_1SystemCoupling.xhtml#aa85c07a47dbf3cccce8049e8c8fe86cc) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#aa85c07a47dbf3cccce8049e8c8fe86cc)();

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

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

<a name="l00069"></a> 69 

<a name="l00077"></a>[ 77](classsysc_1_1SystemCoupling.xhtml#a9f7e98bb312a412ae7bc81f0a49afa1a) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a9f7e98bb312a412ae7bc81f0a49afa1a)(

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

<a name="l00079"></a> 79 

<a name="l00089"></a>[ 89](classsysc_1_1SystemCoupling.xhtml#a28570e0829c5d0c2177d1b25b55b2da0) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a28570e0829c5d0c2177d1b25b55b2da0)(

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

<a name="l00091"></a> 91 

<a name="l00116"></a>[ 116](classsysc_1_1SystemCoupling.xhtml#a68a64fa8efe499cc189979d44624d0f7) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a68a64fa8efe499cc189979d44624d0f7)(

<a name="l00117"></a> 117 const std::string&amp; scHost,

<a name="l00118"></a> 118 unsigned short scPort,

<a name="l00119"></a> 119 const std::string&amp; participantName,

<a name="l00120"></a> 120 const std::string&amp; buildInformation = "Unknown");

<a name="l00121"></a> 121 

<a name="l00144"></a>[ 144](classsysc_1_1SystemCoupling.xhtml#a197f13843de7afcd2f84b85eaffa11ad) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a197f13843de7afcd2f84b85eaffa11ad)(

<a name="l00145"></a> 145 const std::string&amp; scHost,

<a name="l00146"></a> 146 unsigned short scPort,

<a name="l00147"></a> 147 const std::string&amp; participantName,

<a name="l00148"></a> 148 std::size_t mpiCommunicator,

<a name="l00149"></a> 149 const std::string&amp; buildInformation);

<a name="l00150"></a> 150 

<a name="l00151"></a> 151 // \\brief Provide a destructor for SystemCoupling object.

<a name="l00152"></a> 152 ~[SystemCoupling](classsysc_1_1SystemCoupling.xhtml)();

<a name="l00153"></a> 153 

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

<a name="l00167"></a> 167 

<a name="l00179"></a>[ 179](classsysc_1_1SystemCoupling.xhtml#ab47a6eaf83eae538e17290a5c2582b8e) void [initializeAnalysis](classsysc_1_1SystemCoupling.xhtml#ab47a6eaf83eae538e17290a5c2582b8e)();

<a name="l00180"></a> 180 

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

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

<a name="l00199"></a>[ 199](classsysc_1_1SystemCoupling.xhtml#a0cb8cd28d752af2cfd0b4d27511ea306) bool [doIteration](classsysc_1_1SystemCoupling.xhtml#a0cb8cd28d752af2cfd0b4d27511ea306)();

<a name="l00200"></a> 200 

<a name="l00217"></a>[ 217](classsysc_1_1SystemCoupling.xhtml#a285a15756651ef5027191ca69dfab7e0) bool [doTimeStep](classsysc_1_1SystemCoupling.xhtml#a285a15756651ef5027191ca69dfab7e0)();

<a name="l00218"></a> 218 

<a name="l00238"></a>[ 238](classsysc_1_1SystemCoupling.xhtml#a9c768f6965f14e8ab3308c7df4144da7) void [updateInputs](classsysc_1_1SystemCoupling.xhtml#a9c768f6965f14e8ab3308c7df4144da7)();

<a name="l00239"></a> 239 

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

<a name="l00251"></a> 251 

<a name="l00255"></a>[ 255](classsysc_1_1SystemCoupling.xhtml#a4f15e4d02257cde7717b9fffae806311) void [disconnect](classsysc_1_1SystemCoupling.xhtml#a4f15e4d02257cde7717b9fffae806311)();

<a name="l00256"></a> 256 

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

<a name="l00259"></a> 259 

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

<a name="l00275"></a> 275 

<a name="l00295"></a>[ 295](classsysc_1_1SystemCoupling.xhtml#a141ea7f0524e5e8dc7e051408477e9cb) void [addInputParameter](classsysc_1_1SystemCoupling.xhtml#a141ea7f0524e5e8dc7e051408477e9cb)([Parameter](classsysc_1_1Parameter.xhtml) parameter);

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

<a name="l00317"></a>[ 317](classsysc_1_1SystemCoupling.xhtml#aefc367f59f86420aaaa425d7d24b071c) void [addOutputParameter](classsysc_1_1SystemCoupling.xhtml#aefc367f59f86420aaaa425d7d24b071c)([Parameter](classsysc_1_1Parameter.xhtml) parameter);

<a name="l00318"></a> 318 

<a name="l00336"></a>[ 336](classsysc_1_1SystemCoupling.xhtml#ab298f64d5d97a11f59650605c062d38a) void [addRealAttribute](classsysc_1_1SystemCoupling.xhtml#ab298f64d5d97a11f59650605c062d38a)(const [RealAttribute](classsysc_1_1RealAttribute.xhtml)&amp; realAttribute);

<a name="l00337"></a> 337 

<a name="l00355"></a>[ 355](classsysc_1_1SystemCoupling.xhtml#a85e574ea482ec764a16b7ee64beda3de) void [addIntegerAttribute](classsysc_1_1SystemCoupling.xhtml#a85e574ea482ec764a16b7ee64beda3de)(const [IntegerAttribute](classsysc_1_1IntegerAttribute.xhtml)&amp; integerAttribute);

<a name="l00356"></a> 356 

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

<a name="l00378"></a> 378 

<a name="l00403"></a>[ 403](classsysc_1_1SystemCoupling.xhtml#ae1f7fe88e678c07cde61acff8742b608) void [addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae1f7fe88e678c07cde61acff8742b608)(

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

<a name="l00405"></a> 405 bool autoGenerateTransfers);

<a name="l00406"></a> 406 

<a name="l00413"></a>[ 413](classsysc_1_1SystemCoupling.xhtml#aefb34bf071d430de2dd4f1be1dc74e84) double [getParameterValue](classsysc_1_1SystemCoupling.xhtml#aefb34bf071d430de2dd4f1be1dc74e84)(const [ParameterName](group__SystemCouplingParticipantAPIs.xhtml#ga9cadba4f4e91a46ad88e42877c682d46)&amp; parameterName);

<a name="l00414"></a> 414 

<a name="l00421"></a>[ 421](classsysc_1_1SystemCoupling.xhtml#aca0700c21a60e92e3b67c0e50a575133) void [setParameterValue](classsysc_1_1SystemCoupling.xhtml#aca0700c21a60e92e3b67c0e50a575133)(

<a name="l00422"></a> 422 const [ParameterName](group__SystemCouplingParticipantAPIs.xhtml#ga9cadba4f4e91a46ad88e42877c682d46)&amp; parameterName,

<a name="l00423"></a> 423 double value);

<a name="l00424"></a> 424 

<a name="l00431"></a>[ 431](classsysc_1_1SystemCoupling.xhtml#a8ec3e49911120cd590ec285456de40ac) double [getRealAttributeValue](classsysc_1_1SystemCoupling.xhtml#a8ec3e49911120cd590ec285456de40ac)(const [AttributeName](group__SystemCouplingParticipantAPIs.xhtml#gadb06eacf4ed0787d18e8ddbf0612c83c)&amp; attributeName);

<a name="l00432"></a> 432 

<a name="l00439"></a>[ 439](classsysc_1_1SystemCoupling.xhtml#a4c59f4d91ed51f811b9a8af91129250e) int64_t [getIntegerAttributeValue](classsysc_1_1SystemCoupling.xhtml#a4c59f4d91ed51f811b9a8af91129250e)(const [AttributeName](group__SystemCouplingParticipantAPIs.xhtml#gadb06eacf4ed0787d18e8ddbf0612c83c)&amp; attributeName);

<a name="l00440"></a> 440 

<a name="l00447"></a>[ 447](classsysc_1_1SystemCoupling.xhtml#a60439772708be217b06f07f8554d5abd) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a60439772708be217b06f07f8554d5abd)([InputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7dd9c918ef6adb34c5e7832dfb077cf2)* dataAccess);

<a name="l00448"></a> 448 

<a name="l00457"></a>[ 457](classsysc_1_1SystemCoupling.xhtml#a61c7be7c0e7ab939f27b49b015fbd8d0) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a61c7be7c0e7ab939f27b49b015fbd8d0)(

<a name="l00458"></a> 458 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00459"></a> 459 [InputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga31d70598dce8c2bef6ec3f0c167ab271)* dataAccess);

<a name="l00460"></a> 460 

<a name="l00467"></a>[ 467](classsysc_1_1SystemCoupling.xhtml#aac58f07f6eaa259959f39eefa3a48275) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#aac58f07f6eaa259959f39eefa3a48275)([InputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gab7625786f580e802bcae651a9e6b8ab6)* dataAccess);

<a name="l00468"></a> 468 

<a name="l00477"></a>[ 477](classsysc_1_1SystemCoupling.xhtml#a3c27f87e2afbd4fc4cd1a3936af119a4) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a3c27f87e2afbd4fc4cd1a3936af119a4)(

<a name="l00478"></a> 478 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00479"></a> 479 [InputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga12662b1595f7ffd8429f9e6d6cdcf4e5)* dataAccess);

<a name="l00480"></a> 480 

<a name="l00487"></a>[ 487](classsysc_1_1SystemCoupling.xhtml#adeacbc3dfb240c3f389d344337839458) void [registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#adeacbc3dfb240c3f389d344337839458)([OutputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf919dd1650fbc5b6cede63027640a40f)* dataAccess);

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

<a name="l00497"></a>[ 497](classsysc_1_1SystemCoupling.xhtml#ada68571b9d10213009b97e4701cba62a) void [registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#ada68571b9d10213009b97e4701cba62a)(

<a name="l00498"></a> 498 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00499"></a> 499 [OutputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga0198dfa2f53816088cfc3c0f94b33fb5)* dataAccess);

<a name="l00500"></a> 500 

<a name="l00507"></a>[ 507](classsysc_1_1SystemCoupling.xhtml#abb613dba476f0873e7d59585acb7d981) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#abb613dba476f0873e7d59585acb7d981)([OutputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3af176d8520259b81f0460e1299e04b6)* dataAccess);

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

<a name="l00517"></a>[ 517](classsysc_1_1SystemCoupling.xhtml#aedc414935e27b77ce784e7f1c5fc6a75) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#aedc414935e27b77ce784e7f1c5fc6a75)(

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

<a name="l00519"></a> 519 [OutputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga816b3979bcee14cdb92a88c0621a8e1e)* dataAccess);

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

<a name="l00527"></a>[ 527](classsysc_1_1SystemCoupling.xhtml#ae65892603ab7d6f24d3a1cbc80af7edb) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#ae65892603ab7d6f24d3a1cbc80af7edb)(

<a name="l00528"></a> 528 [InputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gac45104dcb153caae0c4edac26e46351e)* dataAccess);

<a name="l00529"></a> 529 

<a name="l00538"></a>[ 538](classsysc_1_1SystemCoupling.xhtml#a878ad16bd59726553ee0a3de9d2bca06) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a878ad16bd59726553ee0a3de9d2bca06)(

<a name="l00539"></a> 539 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00540"></a> 540 [InputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga90ec216c6ff3f8ada5d0b0b4ea362b15)* dataAccess);

<a name="l00541"></a> 541 

<a name="l00548"></a>[ 548](classsysc_1_1SystemCoupling.xhtml#a58064b5079b01898a6951e366ea86331) void [registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a58064b5079b01898a6951e366ea86331)(

<a name="l00549"></a> 549 [InputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga0cc318418bce4c3aa356f91798e962e7)* dataAccess);

<a name="l00550"></a> 550 

<a name="l00559"></a>[ 559](classsysc_1_1SystemCoupling.xhtml#abdd59a061b86ef7cef6301652d98ec65) void [registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#abdd59a061b86ef7cef6301652d98ec65)(

<a name="l00560"></a> 560 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00561"></a> 561 [InputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaf213c1ae6a1bff131c598f99ad9320b4)* dataAccess);

<a name="l00562"></a> 562 

<a name="l00569"></a>[ 569](classsysc_1_1SystemCoupling.xhtml#a6e31333c6867d5214565215c5de97ba2) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a6e31333c6867d5214565215c5de97ba2)(

<a name="l00570"></a> 570 [OutputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaeb662bc24c2d2c6f4248f038eee43e74)* dataAccess);

<a name="l00571"></a> 571 

<a name="l00580"></a>[ 580](classsysc_1_1SystemCoupling.xhtml#a09a5b550343939ded20c225c4cd7c980) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a09a5b550343939ded20c225c4cd7c980)(

<a name="l00581"></a> 581 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00582"></a> 582 [OutputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga74e6e9bec4808c21fab845daa661b50c)* dataAccess);

<a name="l00583"></a> 583 

<a name="l00590"></a>[ 590](classsysc_1_1SystemCoupling.xhtml#a6ccb2d4f3fe8a866648ffa1f310bc78f) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a6ccb2d4f3fe8a866648ffa1f310bc78f)(

<a name="l00591"></a> 591 [OutputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaec1b87f8104f48c01859a46d280894db)* dataAccess);

<a name="l00592"></a> 592 

<a name="l00601"></a>[ 601](classsysc_1_1SystemCoupling.xhtml#a85be3c843ee3b5e71f5e54fff61468aa) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a85be3c843ee3b5e71f5e54fff61468aa)(

<a name="l00602"></a> 602 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00603"></a> 603 [OutputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaa3871403c3c169499a051ce8cc88d9a7)* dataAccess);

<a name="l00604"></a> 604 

<a name="l00611"></a>[ 611](classsysc_1_1SystemCoupling.xhtml#afb819aa4b19aa15dc552d73803352fb4) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#afb819aa4b19aa15dc552d73803352fb4)([SurfaceMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga31a21ade99a36c30fdc24d33c6d5c9aa)* meshAccess);

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

<a name="l00621"></a>[ 621](classsysc_1_1SystemCoupling.xhtml#a183340630be801da193518a69e183cd1) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a183340630be801da193518a69e183cd1)(

<a name="l00622"></a> 622 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00623"></a> 623 [SurfaceMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaefc47d665f38f4380346fb9c29b9c8ff)* meshAccess);

<a name="l00624"></a> 624 

<a name="l00625"></a> 625 void registerZoneCountAccess(

<a name="l00626"></a> 626 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00627"></a> 627 [ZoneCountAccess](group__SystemCouplingParticipantAPIs.xhtml#ga67496d998ace1dd2796a5a96f6356483)* zoneCountAccess);

<a name="l00628"></a> 628 

<a name="l00629"></a> 629 void registerSurfaceMeshAccess(

<a name="l00630"></a> 630 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00631"></a> 631 [SurfaceMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga78db51b86b998102a74753c41118d0de)* dataAccess);

<a name="l00632"></a> 632 

<a name="l00633"></a> 633 void registerVolumeMeshAccess(

<a name="l00634"></a> 634 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00635"></a> 635 [VolumeMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaf8cf8d3d04cd46c0841bd0d1fdb54158)* dataAccess);

<a name="l00636"></a> 636 

<a name="l00637"></a> 637 void registerInputScalarDataAccess(

<a name="l00638"></a> 638 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00639"></a> 639 [InputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga3b4a0b9036a3be955d417a16c6acb695)* dataAccess);

<a name="l00640"></a> 640 

<a name="l00641"></a> 641 void registerOutputScalarDataAccess(

<a name="l00642"></a> 642 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00643"></a> 643 [OutputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaad003be96e3cd29fc18e0d2a27889db4)* dataAccess);

<a name="l00644"></a> 644 

<a name="l00645"></a> 645 void registerInputVectorDataAccess(

<a name="l00646"></a> 646 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00647"></a> 647 [InputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga59cfd8bf053c1492e4c0a6b4c0109ef6)* dataAccess);

<a name="l00648"></a> 648 

<a name="l00657"></a>[ 657](classsysc_1_1SystemCoupling.xhtml#a76d36b21f00f091187e875e5dfb6f6d6) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a76d36b21f00f091187e875e5dfb6f6d6)(

<a name="l00658"></a> 658 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00659"></a> 659 [OutputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga46429473df8e53efff6e5d967897a291)* dataAccess);

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

<a name="l00667"></a>[ 667](classsysc_1_1SystemCoupling.xhtml#a692aa29e269337e50d3b134f4628b7c0) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a692aa29e269337e50d3b134f4628b7c0)([VolumeMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7a37f14608ada16bb16d44c498325fff)* meshAccess);

<a name="l00668"></a> 668 

<a name="l00677"></a>[ 677](classsysc_1_1SystemCoupling.xhtml#ad6950fb23d3f98f17f023c29555743b8) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#ad6950fb23d3f98f17f023c29555743b8)(

<a name="l00678"></a> 678 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00679"></a> 679 [VolumeMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga6c3e4e3f977efd6284430b6f8e918ce1)* meshAccess);

<a name="l00680"></a> 680 

<a name="l00687"></a>[ 687](classsysc_1_1SystemCoupling.xhtml#a05632386db24345a895d5b504c52af5e) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a05632386db24345a895d5b504c52af5e)([PointCloudAccess](group__SystemCouplingParticipantAPIs.xhtml#ga1651bb5df846358dfae0401b4a51331d)* pointCloudAccess);

<a name="l00688"></a> 688 

<a name="l00698"></a>[ 698](classsysc_1_1SystemCoupling.xhtml#a71eeb76fc93f4d9b8618d70ef5f66493) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a71eeb76fc93f4d9b8618d70ef5f66493)(

<a name="l00699"></a> 699 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00700"></a> 700 [PointCloudAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga1ec70c59d86f6f43cc865c72e4a9d76e)* pointCloudAccess);

<a name="l00701"></a> 701 

<a name="l00711"></a>[ 711](classsysc_1_1SystemCoupling.xhtml#a1e24a3be97eb868486fd6477f26356fd) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a1e24a3be97eb868486fd6477f26356fd)(

<a name="l00712"></a> 712 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00713"></a> 713 [PointCloudMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga2108977976cabe1b6207eb8bc58175f4)* pointCloudAccess);

<a name="l00714"></a> 714 

<a name="l00722"></a>[ 722](classsysc_1_1SystemCoupling.xhtml#aaae2fc4f2cee448f97e69fae2510c1ce) void [registerRestartPointCreation](classsysc_1_1SystemCoupling.xhtml#aaae2fc4f2cee448f97e69fae2510c1ce)([RestartPointCreation](group__SystemCouplingParticipantAPIs.xhtml#ga871467e0179633e71b13d4a1904ad732)* restartPointCreation);

<a name="l00723"></a> 723 

<a name="l00731"></a>[ 731](classsysc_1_1SystemCoupling.xhtml#a16f160af31ea38f0a502ff1f746b957b) void [registerTargetDataCreation](classsysc_1_1SystemCoupling.xhtml#a16f160af31ea38f0a502ff1f746b957b)([TargetDataCreation](group__SystemCouplingParticipantAPIs.xhtml#ga23c842f309f11150deb4dda666115091)* targetDataCreation);

<a name="l00732"></a> 732 

<a name="l00740"></a>[ 740](classsysc_1_1SystemCoupling.xhtml#a753caed2214ab353ae9a377e55c3c2d8) void [registerTargetDataCreation](classsysc_1_1SystemCoupling.xhtml#a753caed2214ab353ae9a377e55c3c2d8)(

<a name="l00741"></a> 741 [OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80) opaqueDataAccess,

<a name="l00742"></a> 742 [TargetDataCreationWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga62d0a9b9a904f4345ff12f30b052e278)* targetDataCreation);

<a name="l00743"></a> 743 

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

<a name="l00756"></a> 756 

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

<a name="l00759"></a> 759 

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

<a name="l00766"></a> 766 

<a name="l00774"></a>[ 774](classsysc_1_1SystemCoupling.xhtml#adb354cb78a277f08c87b59f97bcdd453) const [Region](classsysc_1_1Region.xhtml)&amp; [getAddedRegion](classsysc_1_1SystemCoupling.xhtml#adb354cb78a277f08c87b59f97bcdd453)(std::size_t index) const;

<a name="l00775"></a> 775 

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

<a name="l00778"></a> 778 

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

<a name="l00785"></a> 785 

<a name="l00793"></a>[ 793](classsysc_1_1SystemCoupling.xhtml#a8aab50ac4eedd188745852bb0cc94f6d) const [CouplingInterface](classsysc_1_1CouplingInterface.xhtml)&amp; [getAddedCouplingInterface](classsysc_1_1SystemCoupling.xhtml#a8aab50ac4eedd188745852bb0cc94f6d)(std::size_t index) const;

<a name="l00794"></a> 794 

<a name="l00802"></a>[ 802](classsysc_1_1SystemCoupling.xhtml#aff74fa8017356c93a1ea5677a29103e5) const [Parameter](classsysc_1_1Parameter.xhtml)&amp; [getInputParameter](classsysc_1_1SystemCoupling.xhtml#aff74fa8017356c93a1ea5677a29103e5)(std::size_t index) const;

<a name="l00803"></a> 803 

<a name="l00811"></a>[ 811](classsysc_1_1SystemCoupling.xhtml#acd9357a14b747921037daa0c24c9bc1b) const [Parameter](classsysc_1_1Parameter.xhtml)&amp; [getOutputParameter](classsysc_1_1SystemCoupling.xhtml#acd9357a14b747921037daa0c24c9bc1b)(std::size_t index) const;

<a name="l00812"></a> 812 

<a name="l00818"></a>[ 818](classsysc_1_1SystemCoupling.xhtml#a5043b933c85893f89b72c967922e0397) std::size_t [getNumInputParameters](classsysc_1_1SystemCoupling.xhtml#a5043b933c85893f89b72c967922e0397)() const;

<a name="l00819"></a> 819 

<a name="l00825"></a>[ 825](classsysc_1_1SystemCoupling.xhtml#a6b0bc9b6b4c6155f573c94376e37ba8d) std::size_t [getNumOutputParameters](classsysc_1_1SystemCoupling.xhtml#a6b0bc9b6b4c6155f573c94376e37ba8d)() const;

<a name="l00826"></a> 826 

<a name="l00832"></a>[ 832](classsysc_1_1SystemCoupling.xhtml#a7d91d3013cc5c826f91d42f6e8f5c6d8) std::size_t [getNumRealAttributes](classsysc_1_1SystemCoupling.xhtml#a7d91d3013cc5c826f91d42f6e8f5c6d8)() const;

<a name="l00833"></a> 833 

<a name="l00839"></a>[ 839](classsysc_1_1SystemCoupling.xhtml#aeeb32be00caa7d33c4ddd9b28f80a3a0) std::size_t [getNumIntegerAttributes](classsysc_1_1SystemCoupling.xhtml#aeeb32be00caa7d33c4ddd9b28f80a3a0)() const;

<a name="l00840"></a> 840 

<a name="l00848"></a>[ 848](classsysc_1_1SystemCoupling.xhtml#adac66a89bdba3cc298631045b659fba1) const [RealAttribute](classsysc_1_1RealAttribute.xhtml)&amp; [getRealAttribute](classsysc_1_1SystemCoupling.xhtml#adac66a89bdba3cc298631045b659fba1)(std::size_t index) const;

<a name="l00849"></a> 849 

<a name="l00857"></a>[ 857](classsysc_1_1SystemCoupling.xhtml#a47057e45b7637d4709138c5f64d7e0d4) const [IntegerAttribute](classsysc_1_1IntegerAttribute.xhtml)&amp; [getIntegerAttribute](classsysc_1_1SystemCoupling.xhtml#a47057e45b7637d4709138c5f64d7e0d4)(std::size_t index) const;

<a name="l00858"></a> 858 

<a name="l00859"></a> 859 /\* Deprecated functions \*/

<a name="l00860"></a> 860 

<a name="l00863"></a>[ 863](classsysc_1_1SystemCoupling.xhtml#a6d389ee7e0740e0348919cd3b7d956f7) void [completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#a6d389ee7e0740e0348919cd3b7d956f7)();

<a name="l00864"></a> 864 

<a name="l00867"></a>[ 867](classsysc_1_1SystemCoupling.xhtml#ae07c136aa42d636df179cc7352065430) void [completeCouplingSetup](classsysc_1_1SystemCoupling.xhtml#ae07c136aa42d636df179cc7352065430)([sysc::AnalysisType](group__SystemCouplingParticipantAPIs.xhtml#gaffd523474fbd708f481a712f1841a967) analysisType);

<a name="l00868"></a> 868 

<a name="l00870"></a>[ 870](classsysc_1_1SystemCoupling.xhtml#a7f6ec98123d0c18a6fce5c51d9af5e28) void [registerInputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a7f6ec98123d0c18a6fce5c51d9af5e28)([InputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gabfe4908649fe177d889ed488b090fdea)* dataAccess);

<a name="l00871"></a> 871 

<a name="l00873"></a>[ 873](classsysc_1_1SystemCoupling.xhtml#a742d335b9842d2574d4522834154c3c7) void [registerInputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#a742d335b9842d2574d4522834154c3c7)([InputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga9b14545ae1ed82c6d1471c1672ca5247)* dataAccess);

<a name="l00874"></a> 874 

<a name="l00876"></a>[ 876](classsysc_1_1SystemCoupling.xhtml#a215a0a89ded36ecab1c4720c7c581b5e) void [registerOutputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a215a0a89ded36ecab1c4720c7c581b5e)([OutputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga81e8c19ed24a2ea0433af309188710a6)* dataAccess);

<a name="l00877"></a> 877 

<a name="l00879"></a>[ 879](classsysc_1_1SystemCoupling.xhtml#ab63d037d8a7545bd6b5a6f2b3e91c30f) void [registerOutputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#ab63d037d8a7545bd6b5a6f2b3e91c30f)([OutputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga4684b116da21b415e4e63ae927ba12ae)* dataAccess);

<a name="l00880"></a> 880 

<a name="l00882"></a>[ 882](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 name="l00883"></a> 883 

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

<a name="l00886"></a> 886 

<a name="l00888"></a>[ 888](classsysc_1_1SystemCoupling.xhtml#ab70a16b544c86e9681e9946f2ce3ec53) const [Region](classsysc_1_1Region.xhtml)&amp; [getRegion](classsysc_1_1SystemCoupling.xhtml#ab70a16b544c86e9681e9946f2ce3ec53)(std::size_t index) const;

<a name="l00889"></a> 889 

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

<a name="l00892"></a> 892 

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

<a name="l00895"></a> 895 

<a name="l00897"></a>[ 897](classsysc_1_1SystemCoupling.xhtml#af9e2480d475df72014f4b565f97d8c70) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp; [operator=](classsysc_1_1SystemCoupling.xhtml#af9e2480d475df72014f4b565f97d8c70)(const [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;) = delete;

<a name="l00898"></a> 898 

<a name="l00900"></a>[ 900](classsysc_1_1SystemCoupling.xhtml#a11c5ccef62c2719e4d0af87796311914) [SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp; [operator=](classsysc_1_1SystemCoupling.xhtml#a11c5ccef62c2719e4d0af87796311914)([SystemCoupling](classsysc_1_1SystemCoupling.xhtml)&amp;&amp;) = default;

<a name="l00901"></a> 901 };

<a name="l00902"></a> 902 

<a name="l00905"></a> 905 } // 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::IntegerAttribute](classsysc_1_1IntegerAttribute.xhtml)

Provide a class for an integer-valued attribute.

**Definition:** [Attribute.hpp:82](Attribute_8hpp_source.xhtml#l00082)



[sysc::Parameter](classsysc_1_1Parameter.xhtml)

Provide a class for a System Coupling parameter.

**Definition:** [Parameter.hpp:18](Parameter_8hpp_source.xhtml#l00018)



[sysc::RealAttribute](classsysc_1_1RealAttribute.xhtml)

Provide a class for a real-valued attribute.

**Definition:** [Attribute.hpp:23](Attribute_8hpp_source.xhtml#l00023)



[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:45](SystemCoupling_8hpp_source.xhtml#l00045)



[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::registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a05632386db24345a895d5b504c52af5e)

void registerPointCloudAccess(PointCloudAccess *pointCloudAccess)

Provide a function to register point cloud access.



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

void registerOutputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexScalarDataAccessWithPointer *dataAccess)

Provide a function to register output complex scalar data access.



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

bool doIteration()

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



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

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

Provide the move-assign operator.



[sysc::SystemCoupling::addInputParameter](classsysc_1_1SystemCoupling.xhtml#a141ea7f0524e5e8dc7e051408477e9cb)

void addInputParameter(Parameter parameter)

Provide a method to add an input parameter that could be used in a coupled analysis.



[sysc::SystemCoupling::registerTargetDataCreation](classsysc_1_1SystemCoupling.xhtml#a16f160af31ea38f0a502ff1f746b957b)

void registerTargetDataCreation(TargetDataCreation *targetDataCreation)

Provide a function to register a target data creation callback.



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

void registerSurfaceMeshAccess(OpaqueDataAccess opaqueDataAccess, SurfaceMeshAccessWithPointer *meshAccess)

Provide a function to register surface mesh access.



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

SystemCoupling(const std::string &amp;scHost, unsigned short scPort, const std::string &amp;participantName, 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::registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a1e24a3be97eb868486fd6477f26356fd)

void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudMultiZoneAccess *pointCloudAccess)

Provide a function to register point cloud 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::registerOutputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a215a0a89ded36ecab1c4720c7c581b5e)

void registerOutputScalarVariableAccess(OutputScalarVariableAccess *dataAccess)

Deprecated - do not use.



[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#a3c27f87e2afbd4fc4cd1a3936af119a4)

void registerInputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputVectorDataAccessWithPointer *dataAccess)

Provide a function to register input vector data 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::updateOutputs](classsysc_1_1SystemCoupling.xhtml#a468e5e084477cdaca2adee6c50edf7e9)

void updateOutputs(ConvergenceStatus status)

Provide a function to update the participants output variables.



[sysc::SystemCoupling::getIntegerAttribute](classsysc_1_1SystemCoupling.xhtml#a47057e45b7637d4709138c5f64d7e0d4)

const IntegerAttribute &amp; getIntegerAttribute(std::size_t index) const

Provide a function to return integer attribute information.



[sysc::SystemCoupling::getIntegerAttributeValue](classsysc_1_1SystemCoupling.xhtml#a4c59f4d91ed51f811b9a8af91129250e)

int64_t getIntegerAttributeValue(const AttributeName &amp;attributeName)

Provide a function to get an IntegerAttribute value.



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

void disconnect()

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



[sysc::SystemCoupling::getNumInputParameters](classsysc_1_1SystemCoupling.xhtml#a5043b933c85893f89b72c967922e0397)

std::size_t getNumInputParameters() const

Provide a function to return the number of input parameters.



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

void registerInputComplexVectorDataAccess(InputComplexVectorDataAccess *dataAccess)

Provide a function to register input complex vector data access.



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

void registerInputScalarDataAccess(InputScalarDataAccess *dataAccess)

Provide a function to register input scalar data access.



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

void registerInputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputScalarDataAccessWithPointer *dataAccess)

Provide a function to register input scalar data access.



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

SystemCoupling(const std::string &amp;scHost, 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::SystemCoupling](classsysc_1_1SystemCoupling.xhtml#a692355d68459adf3eddfaef350bf0c9c)

SystemCoupling(const SystemCoupling &amp;)=delete

Delete the copy-constructor.



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

void registerVolumeMeshAccess(VolumeMeshAccess *meshAccess)

Provide a function to register volume mesh access.



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

sysc::TimeStep getCurrentTimeStep()

Provide a function to get current time step.



[sysc::SystemCoupling::getNumOutputParameters](classsysc_1_1SystemCoupling.xhtml#a6b0bc9b6b4c6155f573c94376e37ba8d)

std::size_t getNumOutputParameters() const

Provide a function to return the number of output parameters.



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

void registerOutputComplexVectorDataAccess(OutputComplexVectorDataAccess *dataAccess)

Provide a function to register output complex vector data access.



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

void completeCouplingSetup()

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



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

void registerOutputComplexScalarDataAccess(OutputComplexScalarDataAccess *dataAccess)

Provide a function to register output complex scalar data access.



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

void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudAccessWithPointer *pointCloudAccess)

Provide a function to register point cloud access.



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

void registerInputVectorVariableAccess(InputVectorVariableAccess *dataAccess)

Deprecated - do not use.



[sysc::SystemCoupling::registerTargetDataCreation](classsysc_1_1SystemCoupling.xhtml#a753caed2214ab353ae9a377e55c3c2d8)

void registerTargetDataCreation(OpaqueDataAccess opaqueDataAccess, TargetDataCreationWithPointer *targetDataCreation)

Provide a function to register a target data creation callback.



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

void registerOutputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputVectorDataMultiZoneAccess *dataAccess)

Provide a function to register output vector data access.



[sysc::SystemCoupling::getNumRealAttributes](classsysc_1_1SystemCoupling.xhtml#a7d91d3013cc5c826f91d42f6e8f5c6d8)

std::size_t getNumRealAttributes() const

Provide a function to return the number of real attributes.



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

void registerInputScalarVariableAccess(InputScalarVariableAccess *dataAccess)

Deprecated - do not use.



[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::registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a85be3c843ee3b5e71f5e54fff61468aa)

void registerOutputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexVectorDataAccessWithPointer *dataAccess)

Provide a function to register output complex vector data access.



[sysc::SystemCoupling::addIntegerAttribute](classsysc_1_1SystemCoupling.xhtml#a85e574ea482ec764a16b7ee64beda3de)

void addIntegerAttribute(const IntegerAttribute &amp;integerAttribute)

Provide a method to add an integer attribute that could be used in a coupled analysis.



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

void registerInputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexScalarDataAccessWithPointer *dataAccess)

Provide a function to register input complex scalar data access.



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

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

Provide a function to return coupling interface.



[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::getRealAttributeValue](classsysc_1_1SystemCoupling.xhtml#a8ec3e49911120cd590ec285456de40ac)

double getRealAttributeValue(const AttributeName &amp;attributeName)

Provide a function to get a RealAttribute value.



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

void updateInputs()

Provide a function to update the participants input variables.



[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::registerRestartPointCreation](classsysc_1_1SystemCoupling.xhtml#aaae2fc4f2cee448f97e69fae2510c1ce)

void registerRestartPointCreation(RestartPointCreation *restartPointCreation)

Provide a function to register a restart point creation callback.



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

void registerInputVectorDataAccess(InputVectorDataAccess *dataAccess)

Provide a function to register input vector data access.



[sysc::SystemCoupling::addRealAttribute](classsysc_1_1SystemCoupling.xhtml#ab298f64d5d97a11f59650605c062d38a)

void addRealAttribute(const RealAttribute &amp;realAttribute)

Provide a method to add a real attribute that could be used in a coupled analysis.



[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::registerOutputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#ab63d037d8a7545bd6b5a6f2b3e91c30f)

void registerOutputVectorVariableAccess(OutputVectorVariableAccess *dataAccess)

Deprecated - do not use.



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

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

Deprecated. Use getAddedRegion() instead.



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

void registerOutputVectorDataAccess(OutputVectorDataAccess *dataAccess)

Provide a function to register output vector data access.



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

void registerInputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexVectorDataAccessWithPointer *dataAccess)

Provide a function to register input complex vector data access.



[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::setParameterValue](classsysc_1_1SystemCoupling.xhtml#aca0700c21a60e92e3b67c0e50a575133)

void setParameterValue(const ParameterName &amp;parameterName, double value)

Provide a function to set a Parameter value.



[sysc::SystemCoupling::getOutputParameter](classsysc_1_1SystemCoupling.xhtml#acd9357a14b747921037daa0c24c9bc1b)

const Parameter &amp; getOutputParameter(std::size_t index) const

Provide a function to return output parameter information.



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

SolutionControl getSolutionControl() const

Get solution control.



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

void registerVolumeMeshAccess(OpaqueDataAccess opaqueDataAccess, VolumeMeshAccessWithPointer *meshAccess)

Provide a function to register volume mesh access.



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

void registerOutputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputScalarDataAccessWithPointer *dataAccess)

Provide a function to register output scalar data access.



[sysc::SystemCoupling::getRealAttribute](classsysc_1_1SystemCoupling.xhtml#adac66a89bdba3cc298631045b659fba1)

const RealAttribute &amp; getRealAttribute(std::size_t index) const

Provide a function to return real attribute information.



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

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

Provide a function to return region information.



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

void registerOutputScalarDataAccess(OutputScalarDataAccess *dataAccess)

Provide a function to register output scalar data access.



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

void completeCouplingSetup(sysc::AnalysisType analysisType)

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



[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::addCouplingInterface](classsysc_1_1SystemCoupling.xhtml#ae4c93f4502c9df950fddddab3aab5eec)

void addCouplingInterface(const CouplingInterface &amp;couplingInterface)

Provide a function to add a coupling interface.



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

void registerInputComplexScalarDataAccess(InputComplexScalarDataAccess *dataAccess)

Provide a function to register input complex scalar data access.



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

void registerOutputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputVectorDataAccessWithPointer *dataAccess)

Provide a function to register output vector data access.



[sysc::SystemCoupling::getNumIntegerAttributes](classsysc_1_1SystemCoupling.xhtml#aeeb32be00caa7d33c4ddd9b28f80a3a0)

std::size_t getNumIntegerAttributes() const

Provide a function to return the number of integer attributes.



[sysc::SystemCoupling::getParameterValue](classsysc_1_1SystemCoupling.xhtml#aefb34bf071d430de2dd4f1be1dc74e84)

double getParameterValue(const ParameterName &amp;parameterName)

Provide a function to get a Parameter value.



[sysc::SystemCoupling::addOutputParameter](classsysc_1_1SystemCoupling.xhtml#aefc367f59f86420aaaa425d7d24b071c)

void addOutputParameter(Parameter parameter)

Provide a method to add an output parameter that could be used in a coupled analysis.



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

std::size_t getNumRegions() const

Provide a function to return the number of regions.



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

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

Delete the copy-assign operator.



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

void registerSurfaceMeshAccess(SurfaceMeshAccess *meshAccess)

Provide a function to register surface mesh 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::SystemCoupling::getInputParameter](classsysc_1_1SystemCoupling.xhtml#aff74fa8017356c93a1ea5677a29103e5)

const Parameter &amp; getInputParameter(std::size_t index) const

Provide a function to return input parameter information.



[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:27](CommonTypes_8hpp_source.xhtml#l00027)



[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::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:290](FunctionTypes_8hpp_source.xhtml#l00287)



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

void * OpaqueDataAccess

**Definition:** [CommonTypes.hpp:229](CommonTypes_8hpp_source.xhtml#l00229)



[sysc::TargetDataCreation](group__SystemCouplingParticipantAPIs.xhtml#ga23c842f309f11150deb4dda666115091)

TargetDataLocation(bool) TargetDataCreation

Provide an alias for function prototype that write target data.

**Definition:** [FunctionTypes.hpp:249](FunctionTypes_8hpp_source.xhtml#l00249)



[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:298](FunctionTypes_8hpp_source.xhtml#l00294)



[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:322](FunctionTypes_8hpp_source.xhtml#l00318)



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

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

This alias will be deprecated - use OutputVectorDataAccess instead.

**Definition:** [FunctionTypes.hpp:336](FunctionTypes_8hpp_source.xhtml#l00336)



[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:314](FunctionTypes_8hpp_source.xhtml#l00310)



[sysc::TargetDataCreationWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga62d0a9b9a904f4345ff12f30b052e278)

TargetDataLocation(OpaqueDataAccess, bool) TargetDataCreationWithPointer

Provide an alias for function prototype that write target data.

**Definition:** [FunctionTypes.hpp:257](FunctionTypes_8hpp_source.xhtml#l00257)



[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:263](FunctionTypes_8hpp_source.xhtml#l00263)



[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:271](FunctionTypes_8hpp_source.xhtml#l00270)



[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::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::OutputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga81e8c19ed24a2ea0433af309188710a6)

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

This alias will be deprecated - use OutputScalarDataAccess instead.

**Definition:** [FunctionTypes.hpp:333](FunctionTypes_8hpp_source.xhtml#l00333)



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

RestartPoint() RestartPointCreation

Provide an alias for function prototype that creates restart points.

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



[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::InputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga9b14545ae1ed82c6d1471c1672ca5247)

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

This alias will be deprecated - use InputVectorDataAccess instead.

**Definition:** [FunctionTypes.hpp:330](FunctionTypes_8hpp_source.xhtml#l00330)



[sysc::ParameterName](group__SystemCouplingParticipantAPIs.xhtml#ga9cadba4f4e91a46ad88e42877c682d46)

std::string ParameterName

**Definition:** [CommonTypes.hpp:238](CommonTypes_8hpp_source.xhtml#l00238)



[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:306](FunctionTypes_8hpp_source.xhtml#l00302)



[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::InputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gabfe4908649fe177d889ed488b090fdea)

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

This alias will be deprecated - use InputScalarDataAccess instead.

**Definition:** [FunctionTypes.hpp:327](FunctionTypes_8hpp_source.xhtml#l00327)



[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::AttributeName](group__SystemCouplingParticipantAPIs.xhtml#gadb06eacf4ed0787d18e8ddbf0612c83c)

std::string AttributeName

**Definition:** [CommonTypes.hpp:237](CommonTypes_8hpp_source.xhtml#l00237)



[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:280](FunctionTypes_8hpp_source.xhtml#l00279)



[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:14](CommonSettings_8hpp_source.xhtml#l00014)



[sysc::MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml)

Provide a struct that contains information about mesh validity.

**Definition:** [CommonTypes.hpp:200](CommonTypes_8hpp_source.xhtml#l00200)



[sysc::ParticipantInfo](structsysc_1_1ParticipantInfo.xhtml)

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

**Definition:** [CommonTypes.hpp:260](CommonTypes_8hpp_source.xhtml#l00260)



[sysc::ResultsInfo](structsysc_1_1ResultsInfo.xhtml)

Provide a structure for writing System Coupling results files.

**Definition:** [CommonTypes.hpp:165](CommonTypes_8hpp_source.xhtml#l00165)



[sysc::SetupFileInfo](structsysc_1_1SetupFileInfo.xhtml)

Provide a structure for writing System Coupling setup files.

**Definition:** [CommonTypes.hpp:130](CommonTypes_8hpp_source.xhtml#l00130)



[sysc::SetupInfo](structsysc_1_1SetupInfo.xhtml)

Provide a structure for System Coupling setup information.

**Definition:** [CommonTypes.hpp:64](CommonTypes_8hpp_source.xhtml#l00064)



[sysc::SolutionControl](structsysc_1_1SolutionControl.xhtml)

Provide a structure containing solution control.

**Definition:** [CommonTypes.hpp:58](CommonTypes_8hpp_source.xhtml#l00058)



[sysc::TimeStep](structsysc_1_1TimeStep.xhtml)

Provide a struct for time step.

**Definition:** [CommonTypes.hpp:42](CommonTypes_8hpp_source.xhtml#l00042)