    

 ## On this page

  

 

 # SystemCoupling

 Last update: 17.07.2025 

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

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

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

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

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

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

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

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

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

<a id="l00010" name="l00010"></a> 10\#include "SystemCouplingParticipant/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\#include "SystemCouplingParticipant/Parameter.hpp"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00166" 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 id="l00167" name="l00167"></a> 167 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00274" 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 id="l00275" name="l00275"></a> 275 

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

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

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

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

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

<a id="l00340" name="l00340"></a> 340 

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

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

<a id="l00367" name="l00367"></a> 367 bool autoGenerateTransfers);

<a id="l00368" name="l00368"></a> 368 

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

<a id="l00376" name="l00376"></a> 376 

<a id="l00383" name="l00383"></a>[ 383](classsysc_1_1SystemCoupling.xhtml#aca0700c21a60e92e3b67c0e50a575133) void [setParameterValue](classsysc_1_1SystemCoupling.xhtml#aca0700c21a60e92e3b67c0e50a575133)(

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

<a id="l00385" name="l00385"></a> 385 double value);

<a id="l00386" name="l00386"></a> 386 

<a id="l00393" name="l00393"></a>[ 393](classsysc_1_1SystemCoupling.xhtml#a60439772708be217b06f07f8554d5abd) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a60439772708be217b06f07f8554d5abd)([InputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga88faa9caadb9f89ef2f465085093961f)* dataAccess);

<a id="l00394" name="l00394"></a> 394 

<a id="l00403" name="l00403"></a>[ 403](classsysc_1_1SystemCoupling.xhtml#a61c7be7c0e7ab939f27b49b015fbd8d0) void [registerInputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a61c7be7c0e7ab939f27b49b015fbd8d0)(

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

<a id="l00405" name="l00405"></a> 405 [InputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga7aebda691f791bc067ce644f3335ec51)* dataAccess);

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

<a id="l00413" name="l00413"></a>[ 413](classsysc_1_1SystemCoupling.xhtml#aac58f07f6eaa259959f39eefa3a48275) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#aac58f07f6eaa259959f39eefa3a48275)([InputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaa3a77dd5932907b2027244ab5beb3695)* dataAccess);

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

<a id="l00423" name="l00423"></a>[ 423](classsysc_1_1SystemCoupling.xhtml#a3c27f87e2afbd4fc4cd1a3936af119a4) void [registerInputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a3c27f87e2afbd4fc4cd1a3936af119a4)(

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

<a id="l00425" name="l00425"></a> 425 [InputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaee02967775ba550055d38c3579ed5b36)* dataAccess);

<a id="l00426" name="l00426"></a> 426 

<a id="l00433" name="l00433"></a>[ 433](classsysc_1_1SystemCoupling.xhtml#adeacbc3dfb240c3f389d344337839458) void [registerOutputScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#adeacbc3dfb240c3f389d344337839458)([OutputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga6150f44005caeded6200c2b98dc53cef)* dataAccess);

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

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

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

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

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

<a id="l00453" name="l00453"></a>[ 453](classsysc_1_1SystemCoupling.xhtml#abb613dba476f0873e7d59585acb7d981) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#abb613dba476f0873e7d59585acb7d981)([OutputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaadcc300a7640f75b943f30a15f85089c)* dataAccess);

<a id="l00454" name="l00454"></a> 454 

<a id="l00463" name="l00463"></a>[ 463](classsysc_1_1SystemCoupling.xhtml#aedc414935e27b77ce784e7f1c5fc6a75) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#aedc414935e27b77ce784e7f1c5fc6a75)(

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

<a id="l00465" name="l00465"></a> 465 [OutputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga60886cecd39cc32ceedb285bd4084803)* dataAccess);

<a id="l00466" name="l00466"></a> 466 

<a id="l00473" name="l00473"></a>[ 473](classsysc_1_1SystemCoupling.xhtml#ae65892603ab7d6f24d3a1cbc80af7edb) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#ae65892603ab7d6f24d3a1cbc80af7edb)(

<a id="l00474" name="l00474"></a> 474 [InputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga708013358bf00f27601dde31ff58b6e9)* dataAccess);

<a id="l00475" name="l00475"></a> 475 

<a id="l00484" name="l00484"></a>[ 484](classsysc_1_1SystemCoupling.xhtml#a878ad16bd59726553ee0a3de9d2bca06) void [registerInputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a878ad16bd59726553ee0a3de9d2bca06)(

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

<a id="l00486" name="l00486"></a> 486 [InputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga3c9eb0fa515f7ae910fbe2e0cd163e16)* dataAccess);

<a id="l00487" name="l00487"></a> 487 

<a id="l00494" name="l00494"></a>[ 494](classsysc_1_1SystemCoupling.xhtml#a58064b5079b01898a6951e366ea86331) void [registerInputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a58064b5079b01898a6951e366ea86331)(

<a id="l00495" name="l00495"></a> 495 [InputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga91180ca8de6730f4642c0ff9b4a7cb54)* dataAccess);

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

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

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

<a id="l00507" name="l00507"></a> 507 [InputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga9e38e3cd15119683d4a1a5b314b80df8)* dataAccess);

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

<a id="l00515" name="l00515"></a>[ 515](classsysc_1_1SystemCoupling.xhtml#a6e31333c6867d5214565215c5de97ba2) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a6e31333c6867d5214565215c5de97ba2)(

<a id="l00516" name="l00516"></a> 516 [OutputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga7174b8f2d783a5b6307445f58c1a197a)* dataAccess);

<a id="l00517" name="l00517"></a> 517 

<a id="l00526" name="l00526"></a>[ 526](classsysc_1_1SystemCoupling.xhtml#a09a5b550343939ded20c225c4cd7c980) void [registerOutputComplexScalarDataAccess](classsysc_1_1SystemCoupling.xhtml#a09a5b550343939ded20c225c4cd7c980)(

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

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

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

<a id="l00536" name="l00536"></a>[ 536](classsysc_1_1SystemCoupling.xhtml#a6ccb2d4f3fe8a866648ffa1f310bc78f) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a6ccb2d4f3fe8a866648ffa1f310bc78f)(

<a id="l00537" name="l00537"></a> 537 [OutputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gab8704721c5ff968837c46d31f733eae7)* dataAccess);

<a id="l00538" name="l00538"></a> 538 

<a id="l00547" name="l00547"></a>[ 547](classsysc_1_1SystemCoupling.xhtml#a85be3c843ee3b5e71f5e54fff61468aa) void [registerOutputComplexVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a85be3c843ee3b5e71f5e54fff61468aa)(

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

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

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

<a id="l00557" name="l00557"></a>[ 557](classsysc_1_1SystemCoupling.xhtml#afb819aa4b19aa15dc552d73803352fb4) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#afb819aa4b19aa15dc552d73803352fb4)([SurfaceMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga20560636d14cb9091077bf32da18122d)* meshAccess);

<a id="l00558" name="l00558"></a> 558 

<a id="l00567" name="l00567"></a>[ 567](classsysc_1_1SystemCoupling.xhtml#a183340630be801da193518a69e183cd1) void [registerSurfaceMeshAccess](classsysc_1_1SystemCoupling.xhtml#a183340630be801da193518a69e183cd1)(

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

<a id="l00569" name="l00569"></a> 569 [SurfaceMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga5c5ff28896203a2f4d1d52b86e97a2fc)* meshAccess);

<a id="l00570" name="l00570"></a> 570 

<a id="l00571" name="l00571"></a> 571 void registerZoneCountAccess(

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

<a id="l00573" name="l00573"></a> 573 [ZoneCountAccess](group__SystemCouplingParticipantAPIs.xhtml#ga06e123a795bd9a1fcfb9d265fa41c03c)* zoneCountAccess);

<a id="l00574" name="l00574"></a> 574 

<a id="l00575" name="l00575"></a> 575 void registerSurfaceMeshAccess(

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

<a id="l00577" name="l00577"></a> 577 [SurfaceMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga49df81b768fa6ca78aa043801b8500b6)* dataAccess);

<a id="l00578" name="l00578"></a> 578 

<a id="l00579" name="l00579"></a> 579 void registerVolumeMeshAccess(

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

<a id="l00581" name="l00581"></a> 581 [VolumeMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga2d841a7268d03d17854589de965ba566)* dataAccess);

<a id="l00582" name="l00582"></a> 582 

<a id="l00583" name="l00583"></a> 583 void registerInputScalarDataAccess(

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

<a id="l00585" name="l00585"></a> 585 [InputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gadf27ddb479fac7526bde872990e0dced)* dataAccess);

<a id="l00586" name="l00586"></a> 586 

<a id="l00587" name="l00587"></a> 587 void registerOutputScalarDataAccess(

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

<a id="l00589" name="l00589"></a> 589 [OutputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga21b6f5e23d943c5c7c9516f5697f5412)* dataAccess);

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

<a id="l00591" name="l00591"></a> 591 void registerInputVectorDataAccess(

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

<a id="l00593" name="l00593"></a> 593 [InputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga65e53939afbfb8002d58e3562ec781c6)* dataAccess);

<a id="l00594" name="l00594"></a> 594 

<a id="l00603" name="l00603"></a>[ 603](classsysc_1_1SystemCoupling.xhtml#a76d36b21f00f091187e875e5dfb6f6d6) void [registerOutputVectorDataAccess](classsysc_1_1SystemCoupling.xhtml#a76d36b21f00f091187e875e5dfb6f6d6)(

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

<a id="l00605" name="l00605"></a> 605 [OutputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaecb624302a983c473dc368df828af07c)* dataAccess);

<a id="l00606" name="l00606"></a> 606 

<a id="l00613" name="l00613"></a>[ 613](classsysc_1_1SystemCoupling.xhtml#a692aa29e269337e50d3b134f4628b7c0) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#a692aa29e269337e50d3b134f4628b7c0)([VolumeMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#gab2403193e3c26aecb55c948ab023ea0e)* meshAccess);

<a id="l00614" name="l00614"></a> 614 

<a id="l00623" name="l00623"></a>[ 623](classsysc_1_1SystemCoupling.xhtml#ad6950fb23d3f98f17f023c29555743b8) void [registerVolumeMeshAccess](classsysc_1_1SystemCoupling.xhtml#ad6950fb23d3f98f17f023c29555743b8)(

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

<a id="l00625" name="l00625"></a> 625 [VolumeMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga1cfd8d9e43ab57d1baea0b6e556d5c8e)* meshAccess);

<a id="l00626" name="l00626"></a> 626 

<a id="l00633" name="l00633"></a>[ 633](classsysc_1_1SystemCoupling.xhtml#a05632386db24345a895d5b504c52af5e) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a05632386db24345a895d5b504c52af5e)([PointCloudAccess](group__SystemCouplingParticipantAPIs.xhtml#ga4982690226c3e65a4f34c246b8c9efab)* pointCloudAccess);

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

<a id="l00644" name="l00644"></a>[ 644](classsysc_1_1SystemCoupling.xhtml#a71eeb76fc93f4d9b8618d70ef5f66493) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a71eeb76fc93f4d9b8618d70ef5f66493)(

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

<a id="l00646" name="l00646"></a> 646 [PointCloudAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga5fe46152d97709b3c4816b78cec17b19)* pointCloudAccess);

<a id="l00647" name="l00647"></a> 647 

<a id="l00657" name="l00657"></a>[ 657](classsysc_1_1SystemCoupling.xhtml#a1e24a3be97eb868486fd6477f26356fd) void [registerPointCloudAccess](classsysc_1_1SystemCoupling.xhtml#a1e24a3be97eb868486fd6477f26356fd)(

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

<a id="l00659" name="l00659"></a> 659 [PointCloudMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaead62a21fca5bebc5d525af3b314614a)* pointCloudAccess);

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

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

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

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

<a id="l00682" name="l00682"></a> 682 

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

<a id="l00685" name="l00685"></a> 685 

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

<a id="l00692" name="l00692"></a> 692 

<a id="l00700" name="l00700"></a>[ 700](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="l00701" name="l00701"></a> 701 

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

<a id="l00704" name="l00704"></a> 704 

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

<a id="l00711" name="l00711"></a> 711 

<a id="l00719" name="l00719"></a>[ 719](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="l00720" name="l00720"></a> 720 

<a id="l00728" name="l00728"></a>[ 728](classsysc_1_1SystemCoupling.xhtml#a1eaafa32f8c23985bee42ac04675301c) const [Parameter](classsysc_1_1Parameter.xhtml)&amp; [getInputParameter](classsysc_1_1SystemCoupling.xhtml#a1eaafa32f8c23985bee42ac04675301c)(std::size_t index) const;

<a id="l00729" name="l00729"></a> 729 

<a id="l00737" name="l00737"></a>[ 737](classsysc_1_1SystemCoupling.xhtml#a82fdf98fdb6e44c8f3a1145d5c436440) const [Parameter](classsysc_1_1Parameter.xhtml)&amp; [getOutputParameter](classsysc_1_1SystemCoupling.xhtml#a82fdf98fdb6e44c8f3a1145d5c436440)(std::size_t index) const;

<a id="l00738" name="l00738"></a> 738 

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

<a id="l00745" name="l00745"></a> 745 

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

<a id="l00752" name="l00752"></a> 752 

<a id="l00753" name="l00753"></a> 753 /\* Deprecated functions \*/

<a id="l00754" name="l00754"></a> 754 

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

<a id="l00758" name="l00758"></a> 758 

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

<a id="l00762" name="l00762"></a> 762 

<a id="l00764" name="l00764"></a>[ 764](classsysc_1_1SystemCoupling.xhtml#a7f6ec98123d0c18a6fce5c51d9af5e28) void [registerInputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a7f6ec98123d0c18a6fce5c51d9af5e28)([InputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#ga42fdaa9b44a04687caeb31b59fec2407)* dataAccess);

<a id="l00765" name="l00765"></a> 765 

<a id="l00767" name="l00767"></a>[ 767](classsysc_1_1SystemCoupling.xhtml#a742d335b9842d2574d4522834154c3c7) void [registerInputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#a742d335b9842d2574d4522834154c3c7)([InputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gac5c27c7ff1bfef23b6e26ca4e1e20cc8)* dataAccess);

<a id="l00768" name="l00768"></a> 768 

<a id="l00770" name="l00770"></a>[ 770](classsysc_1_1SystemCoupling.xhtml#a215a0a89ded36ecab1c4720c7c581b5e) void [registerOutputScalarVariableAccess](classsysc_1_1SystemCoupling.xhtml#a215a0a89ded36ecab1c4720c7c581b5e)([OutputScalarVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gab07a85938d44b2e2603abd5ed23b0b4a)* dataAccess);

<a id="l00771" name="l00771"></a> 771 

<a id="l00773" name="l00773"></a>[ 773](classsysc_1_1SystemCoupling.xhtml#ab63d037d8a7545bd6b5a6f2b3e91c30f) void [registerOutputVectorVariableAccess](classsysc_1_1SystemCoupling.xhtml#ab63d037d8a7545bd6b5a6f2b3e91c30f)([OutputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gab271290d308f0ed8243df67c084795c7)* dataAccess);

<a id="l00774" name="l00774"></a> 774 

<a id="l00776" name="l00776"></a>[ 776](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="l00777" name="l00777"></a> 777 

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

<a id="l00780" name="l00780"></a> 780 

<a id="l00782" name="l00782"></a>[ 782](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="l00783" name="l00783"></a> 783 

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

<a id="l00786" name="l00786"></a> 786 

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

<a id="l00789" name="l00789"></a> 789 

<a id="l00791" name="l00791"></a>[ 791](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="l00792" name="l00792"></a> 792 

<a id="l00794" name="l00794"></a>[ 794](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="l00795" name="l00795"></a> 795};



<a id="l00796" name="l00796"></a> 796 

<a id="l00799" name="l00799"></a> 799} // 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::Parameter](classsysc_1_1Parameter.xhtml)

Provide a class for a System Coupling parameter.

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



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

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

Provide a function to return input parameter information.



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

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

Provide a function to return region information.



[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::operator=](classsysc_1_1SystemCoupling.xhtml#a498fa28f49b45536cab4c27e8cef5cf0)

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

Provide the move-assign operator.



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

void registerOutputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputVectorDataMultiZoneAccess *dataAccess)

Provide a function to register output vector data access.



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

void registerInputScalarVariableAccess(InputScalarVariableAccess *dataAccess)

Deprecated - do not use.



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

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

Provide a function to return output parameter information.



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

void registerInputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexScalarDataAccessWithPointer *dataAccess)

Provide a function to register input 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::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::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::getRegion](classsysc_1_1SystemCoupling.xhtml#aadef536f9be563c752beca8ea2c07ca4)

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

Deprecated. Use getAddedRegion() instead.



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

void registerOutputScalarDataAccess(OutputScalarDataAccess *dataAccess)

Provide a function to register output scalar data access.



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

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::ConvergenceStatus](group__SystemCouplingParticipantAPIs.xhtml#ga0b8801743579159eb41cf07d8372a734)

ConvergenceStatus

Provide enum for participant's solver convergence status.

**Definition** [CommonTypes.hpp:26](CommonTypes_8hpp_source.xhtml#l00026)



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

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::SurfaceMeshAccess](group__SystemCouplingParticipantAPIs.xhtml#ga20560636d14cb9091077bf32da18122d)

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::OutputScalarDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga21b6f5e23d943c5c7c9516f5697f5412)

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::OpaqueDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga23b9971b358756814178dd1cb3c0bc80)

void * OpaqueDataAccess

**Definition** [CommonTypes.hpp:228](CommonTypes_8hpp_source.xhtml#l00228)



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

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::InputComplexScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga3c9eb0fa515f7ae910fbe2e0cd163e16)

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

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

This alias will be deprecated - use InputScalarDataAccess instead.

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



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

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::PointCloudAccess](group__SystemCouplingParticipantAPIs.xhtml#ga4982690226c3e65a4f34c246b8c9efab)

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::SurfaceMeshMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga49df81b768fa6ca78aa043801b8500b6)

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::SurfaceMeshAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga5c5ff28896203a2f4d1d52b86e97a2fc)

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::PointCloudAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga5fe46152d97709b3c4816b78cec17b19)

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::OutputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga60886cecd39cc32ceedb285bd4084803)

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::OutputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga6150f44005caeded6200c2b98dc53cef)

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::InputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#ga65e53939afbfb8002d58e3562ec781c6)

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::OutputComplexVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga6a27b5d229a5dc6fa47757a2025520c5)

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::InputComplexScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga708013358bf00f27601dde31ff58b6e9)

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#ga7174b8f2d783a5b6307445f58c1a197a)

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::InputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#ga7aebda691f791bc067ce644f3335ec51)

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::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::InputScalarDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga88faa9caadb9f89ef2f465085093961f)

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::InputComplexVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#ga91180ca8de6730f4642c0ff9b4a7cb54)

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::ParameterName](group__SystemCouplingParticipantAPIs.xhtml#ga9cadba4f4e91a46ad88e42877c682d46)

std::string ParameterName

**Definition** [CommonTypes.hpp:236](CommonTypes_8hpp_source.xhtml#l00236)



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

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::InputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaa3a77dd5932907b2027244ab5beb3695)

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::OutputVectorDataAccess](group__SystemCouplingParticipantAPIs.xhtml#gaadcc300a7640f75b943f30a15f85089c)

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

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

This alias will be deprecated - use OutputScalarDataAccess instead.

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



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

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::OutputVectorVariableAccess](group__SystemCouplingParticipantAPIs.xhtml#gab271290d308f0ed8243df67c084795c7)

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

This alias will be deprecated - use OutputVectorDataAccess instead.

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



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

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

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

This alias will be deprecated - use InputVectorDataAccess instead.

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



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

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::PointCloudMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaead62a21fca5bebc5d525af3b314614a)

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::OutputVectorDataMultiZoneAccess](group__SystemCouplingParticipantAPIs.xhtml#gaecb624302a983c473dc368df828af07c)

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::InputVectorDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaee02967775ba550055d38c3579ed5b36)

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::OutputScalarDataAccessWithPointer](group__SystemCouplingParticipantAPIs.xhtml#gaf120edc186d323dc3fb469df4fc84ec2)

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::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:199](CommonTypes_8hpp_source.xhtml#l00199)



[sysc::ParticipantInfo](structsysc_1_1ParticipantInfo.xhtml)

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

**Definition** [CommonTypes.hpp:258](CommonTypes_8hpp_source.xhtml#l00258)



[sysc::ResultsInfo](structsysc_1_1ResultsInfo.xhtml)

Provide a structure for writing System Coupling results files.

**Definition** [CommonTypes.hpp:164](CommonTypes_8hpp_source.xhtml#l00164)



[sysc::SetupFileInfo](structsysc_1_1SetupFileInfo.xhtml)

Provide a structure for writing System Coupling setup files.

**Definition** [CommonTypes.hpp:129](CommonTypes_8hpp_source.xhtml#l00129)



[sysc::SetupInfo](structsysc_1_1SetupInfo.xhtml)

Provide a structure for System Coupling setup information.

**Definition** [CommonTypes.hpp:63](CommonTypes_8hpp_source.xhtml#l00063)



[sysc::SolutionControl](structsysc_1_1SolutionControl.xhtml)

Provide a structure containing solution control.

**Definition** [CommonTypes.hpp:57](CommonTypes_8hpp_source.xhtml#l00057)



[sysc::TimeStep](structsysc_1_1TimeStep.xhtml)

Provide a struct for time step.

**Definition** [CommonTypes.hpp:41](CommonTypes_8hpp_source.xhtml#l00041)