Skip to main content

System Coupling C library 2024 R1

syscSystemCoupling

Last update: 17.07.2025
1/*
2* Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
3*/
4
5#pragma once
6
7#include "SystemCouplingParticipant/LibraryType.hpp"
8
9#include "SystemCouplingParticipant/syscCommonTypes.h"
10#include "SystemCouplingParticipant/syscCouplingInterface.h"
11#include "SystemCouplingParticipant/syscFunctionTypes.h"
12#include "SystemCouplingParticipant/syscLegacyInterfaces.h"
13#include "SystemCouplingParticipant/syscPointCloud.h"
14#include "SystemCouplingParticipant/syscRegion.h"
15#include "SystemCouplingParticipant/syscVariable.h"
16#include "SystemCouplingParticipant/syscVolumeMesh.h"
17#include "SystemCouplingParticipant/syscSurfaceMesh.h"
18
19#include <stddef.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
49SyscError syscStartStandaloneParallel(const size_t mpiCommunicator);
50
73 const char* scHost,
74 const unsigned short scPort,
75 const char* participantName,
76 const char* buildInformation);
77
91 const char* scHost,
92 const unsigned short scPort,
93 const char* participantName,
94 const size_t communicator,
95 const char* buildInformation);
96
109 SyscParticipantInfo participantInfo);
110
126 SyscParticipantInfo participantInfo,
127 const size_t communicator);
128
143 const SyscRegion region);
144
161 const SyscCouplingInterface couplingInterface);
162
179 const SyscCouplingInterface couplingInterface,
180 int autoGenerateDataTransfers);
181
196
205 SyscInputScalarDataAccess dataAccess);
206
218 SyscOpaqueDataAccess opaqueDataAccess,
220
229 SyscOpaqueDataAccess opaqueDataAccess,
231
240 SyscInputVectorDataAccess dataAccess);
241
253 SyscOpaqueDataAccess opaqueDataAccess,
255
264 SyscOpaqueDataAccess opaqueDataAccess,
266
275 SyscOutputScalarDataAccess dataAccess);
276
288 SyscOpaqueDataAccess opaqueDataAccess,
290
299 SyscOpaqueDataAccess opaqueDataAccess,
301
310 SyscOutputVectorDataAccess dataAccess);
311
323 SyscOpaqueDataAccess opaqueDataAccess,
325
334 SyscOpaqueDataAccess opaqueDataAccess,
336
346
358 SyscOpaqueDataAccess opaqueDataAccess,
360
370
382 SyscOpaqueDataAccess opaqueDataAccess,
384
394
406 SyscOpaqueDataAccess opaqueDataAccess,
408
418
430 SyscOpaqueDataAccess opaqueDataAccess,
432
441
453 SyscOpaqueDataAccess opaqueDataAccess,
455
467 SyscOpaqueDataAccess opaqueDataAccess,
469
478
490 SyscOpaqueDataAccess opaqueDataAccess,
492
504 SyscOpaqueDataAccess opaqueDataAccess,
506
515
527 SyscOpaqueDataAccess opaqueDataAccess,
528 SyscPointCloudAccessWithPointer pointCloudAccess);
529
541 SyscOpaqueDataAccess opaqueDataAccess,
542 SyscPointCloudMultiZoneAccess pointCloudAccess);
543
549 SyscOpaqueDataAccess opaqueDataAccess,
550 SyscZoneCountAccess zoneCountAccess);
551
561 SyscRestartPointCreation restartPointCreation);
562
575
584
603
616
637
647
654
657void syscFatalError(const char* errorMessage);
658
678
692int syscWriteSetupFile(const SyscSetupFileInfo setupFileInfo);
693
697
705
716
720
728
729
730SyscCouplingInterface syscGetAddedCouplingInterface(size_t index);
731
734#ifdef __cplusplus
735}
736#endif
void syscFatalError(const char *errorMessage)
Provide a function to notify System Coupling about a fatal error.
SyscError syscRegisterSurfMeshAccess(SyscSurfMeshAccess meshAccess)
Provide a function to register surface mesh access.
SyscError syscRegisterInputScalarDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscInputScalarDataAccessWithPointer dataAccess)
Provide a function to register input scalar data access.
SyscError syscRegisterInputScalarDataAccess(SyscInputScalarDataAccess dataAccess)
Provide a function to register input scalar data access.
SyscError syscDisconnect()
Provide a function to end the analysis and disconnect from System Coupling.
SyscConvergenceStatus
Provide enum for participant's solver convergence status.
SyscError syscConnect(const char *scHost, const unsigned short scPort, const char *participantName, const char *buildInformation)
Provide a function to establish connection to System Coupling.
SyscOutputComplexScalarData(* SyscOutputComplexScalarDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to output complex scalar data.
void * SyscOpaqueDataAccess
SyscOutputComplexVectorData(* SyscOutputComplexVectorDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to output complex vector data with opaque pointer.
SyscError syscRegisterOutputComplexScalarDataAccess(SyscOutputComplexScalarDataAccess dataAccess)
Provide a function to register output complex scalar data access.
SyscError syscRegisterOutputComplexVectorDataAccess(SyscOutputComplexVectorDataAccess dataAccess)
Provide a function to register output complex vector data access.
SyscOutputVectorData(* SyscOutputVectorDataMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone output vector data.
SyscError syscRegisterInputComplexScalarDataAccess(SyscInputComplexScalarDataAccess dataAccess)
Provide a function to register input complex scalar data access.
SyscError syscRegisterVolumeMeshAccess(SyscVolumeMeshAccess meshAccess)
Provide a function to register volume mesh access.
SyscError syscRegisterOutputScalarDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputScalarDataAccessWithPointer dataAccess)
Provide a function to register output scalar data access.
SyscError syscRegisterRestartPointCreation(SyscRestartPointCreation restartPointCreation)
Provide a function to register restart point creation callback.
SyscError syscRegisterSurfaceMeshMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscSurfaceMeshMultiZoneAccess meshAccess)
Provide a function to register surface mesh multi-zone access.
SyscError syscRegisterInputVectorDataAccess(SyscInputVectorDataAccess dataAccess)
Provide a function to register input vector data access.
SyscError syscUpdateOutputs(const enum SyscConvergenceStatus convStatus)
Provide a function to update the participants output variables.
SyscError syscRegisterVolumeMeshAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscVolumeMeshAccessWithPointer meshAccess)
Provide a function to register volume mesh access.
SyscError syscAddRegion(const SyscRegion region)
Provide a function to add a region that could be used in a coupled analysis.
SyscError syscCheckSurfaceMeshValidity(SyscSurfaceMesh mesh)
Provide a function to perform simple mesh validity checks.
SyscError syscRegisterInputVectorDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscInputVectorDataAccessWithPointer dataAccess)
Provide a function to register input vector data access.
SyscSolutionControl syscGetSolutionControl()
Get solution control.
SyscError syscAddCouplingInterface(const SyscCouplingInterface couplingInterface)
Provide a function to add a coupling interface.
SyscError syscRegisterInputComplexScalarDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscInputComplexScalarDataAccessWithPointer dataAccess)
Provide a function to register input complex scalar data access.
size_t syscGetNumRegions()
Provide a function to return the number of added regions.
SyscError syscRegisterOutputComplexScalarDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputComplexScalarDataAccessWithPointer dataAccess)
Provide a function to register output complex scalar data access.
SyscOutputComplexVectorData(* SyscOutputComplexVectorDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to output complex vector data.
SyscError syscConnectParallel(const char *scHost, const unsigned short scPort, const char *participantName, const size_t communicator, const char *buildInformation)
Provide a function to establish connection to System Coupling in parallel.
SyscInputComplexVectorData(* SyscInputComplexVectorDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to input complex vector data with opaque pointer.
SyscError syscRegisterInputScalarDataMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscInputScalarDataMultiZoneAccess dataAccess)
Provide a function to register input scalar data multi-zone access.
SyscError syscRegisterOutputScalarDataAccess(SyscOutputScalarDataAccess dataAccess)
Provide a function to register output scalar data access.
SyscOutputComplexScalarData(* SyscOutputComplexScalarDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to output complex scalar data with opaque pointer.
SyscSurfaceMesh(* SyscSurfMeshAccess)(const char *regionName)
Provide function prototype for access to surface mesh.
SyscRegion syscGetAddedRegion(size_t index)
Provide a function to return added region given the region index.
SyscOutputScalarData(* SyscOutputScalarDataMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone output scalar data.
SyscError syscRegisterPointCloudMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscPointCloudMultiZoneAccess pointCloudAccess)
Provide a function to register point cloud multi-zone access.
SyscError syscRegisterOutputScalarDataMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputScalarDataMultiZoneAccess dataAccess)
Provide a function to register output scalar data multi-zone access.
SyscInputComplexScalarData(* SyscInputComplexScalarDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to input complex scalar data with opaque pointer.
const char *(* SyscRestartPointCreation)()
Provide function prototype for creating restart points.
SyscError syscCompleteSetup(const SyscSetupInfo setupInfo)
Provide a function to notify System Coupling that setup can be completed.
SyscError syscUpdateInputs()
Provide a function to update the participants input variables.
SyscInputScalarData(* SyscInputScalarDataMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone input scalar data.
SyscError syscRegisterOutputComplexVectorDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputComplexVectorDataAccessWithPointer dataAccess)
Provide a function to register output complex vector data access.
SyscError syscStartStandaloneParallel(const size_t mpiCommunicator)
Provide a function to start standalone mode in parallel.
size_t syscGetNumCouplingInterfaces()
Provide a function to return the number of added coupling interfaces.
SyscInputVectorData(* SyscInputVectorDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to input vector data.
SyscError syscConnectUseStruct(SyscParticipantInfo participantInfo)
Provide a function to establish connection to System Coupling in serial using a C structure.
SyscError syscRegisterOutputVectorDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputVectorDataAccessWithPointer dataAccess)
Provide a function to register output vector data access.
SyscSurfaceMesh(* SyscSurfaceMeshMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone surface mesh.
SyscError syscInitializeAnalysis()
Provide a function to notify System Coupling that analysis initialization can be completed.
SyscError syscRegisterOutputVectorDataAccess(SyscOutputVectorDataAccess dataAccess)
Provide a function to register output vector data access.
uint16_t(* SyscZoneCountAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName)
Provide function prototype for access to zone count.
SyscInputScalarData(* SyscInputScalarDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to input scalar data.
SyscOutputVectorData(* SyscOutputVectorDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to output vector data with opaque pointer.
SyscOutputScalarData(* SyscOutputScalarDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to output scalar data with opaque pointer.
SyscInputComplexScalarData(* SyscInputComplexScalarDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to input complex scalar data.
SyscError syscRegisterVolumeMeshMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscVolumeMeshMultiZoneAccess meshAccess)
Provide a function to register volume mesh multi-zone access.
SyscOutputScalarData(* SyscOutputScalarDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to output scalar data.
SyscPointCloud(* SyscPointCloudMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone point cloud.
SyscError syscConnectParallelUseStruct(SyscParticipantInfo participantInfo, const size_t communicator)
Provide a function to establish connection to System Coupling in parellel using a C structure.
SyscTimeStep syscGetCurrentTimeStep()
Provide a function to get current time step.
SyscInputComplexVectorData(* SyscInputComplexVectorDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to input complex vector data.
SyscVolumeMesh(* SyscVolumeMeshAccess)(const char *regionName)
Provide function prototype for access to volume mesh.
SyscInputScalarData(* SyscInputScalarDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to input scalar data with opaque pointer.
SyscError syscRegisterZoneCountAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscZoneCountAccess zoneCountAccess)
Provide a function to register zone count access.
int syscWriteSetupFile(const SyscSetupFileInfo setupFileInfo)
Provide a function to write the setup file.
SyscError syscRegisterOutputVectorDataMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscOutputVectorDataMultiZoneAccess dataAccess)
Provide a function to register output vector data multi-zone access.
SyscError syscRegisterInputVectorDataMultiZoneAccess(SyscOpaqueDataAccess opaqueDataAccess, SyscInputVectorDataMultiZoneAccess dataAccess)
Provide a function to register input vector data multi-zone access.
SyscVolumeMesh(* SyscVolumeMeshAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName)
Provide function prototype for access to volume mesh with opaque pointer.
SyscError syscRegisterSurfaceMeshAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscSurfaceMeshAccessWithPointer meshAccess)
Provide a function to register surface mesh access.
SyscError syscRegisterPointCloudAccess(SyscPointCloudAccess pointCloudAccess)
Provide a function to register point cloud access.
SyscError syscAddCouplingInterfaceA(const SyscCouplingInterface couplingInterface, int autoGenerateDataTransfers)
Provide a function to add a coupling interface.
SyscError syscRegisterInputComplexVectorDataAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscInputComplexVectorDataAccessWithPointer dataAccess)
Provide a function to register input complex vector data access.
SyscInputVectorData(* SyscInputVectorDataMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone input vector data.
SyscInputVectorData(* SyscInputVectorDataAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, const char *variableName)
Provide function prototype for access to input vector data with opaque pointer.
SyscPointCloud(* SyscPointCloudAccess)(const char *regionName)
Provide function prototype for access to point cloud.
SyscOutputVectorData(* SyscOutputVectorDataAccess)(const char *regionName, const char *variableName)
Provide function prototype for access to output vector data.
int syscDoIteration()
Provide a function to check whether to do a coupling iteration.
SyscError syscRegisterPointCloudAccessWithPointer(SyscOpaqueDataAccess opaqueDataAccess, SyscPointCloudAccessWithPointer pointCloudAccess)
Provide a function to register point cloud access.
SyscError syscRegisterInputComplexVectorDataAccess(SyscInputComplexVectorDataAccess dataAccess)
Provide a function to register input complex vector data access.
SyscVolumeMesh(* SyscVolumeMeshMultiZoneAccess)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName, uint16_t zoneIndex)
Provide function prototype for access to multi-zone volume mesh.
int syscDoTimeStep()
Provide a function to check whether to do a coupling time step.
SyscPointCloud(* SyscPointCloudAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName)
Provide function prototype for access to point cloud with an opaque pointer.
SyscError syscWriteResults(const SyscResultsInfo resultsInfo)
Write results to a file.
SyscSurfaceMesh(* SyscSurfaceMeshAccessWithPointer)(SyscOpaqueDataAccess opaqueDataAccess, const char *regionName)
Provide function prototype for access to surface mesh with opaque pointer.
Provide a struct for a coupling interface.
Provide a struct for detecting errors from the interface calls.
Provide a structure to provide connection info to System Coupling.
Provide a struct for a System Coupling region.
Definition syscRegion.h:42
Provide a structure for writing results files.
Provide a structure for writing System Coupling setup files.
Provide a structure for System Coupling setup information.
Provide a structure containing solution control.
Provide a surface mesh access struct.
Provide a struct for time step.

Connect with Ansys