SystemCoupling
Last update: 17.07.2025Provide a class for a coupling interface.
Definition: CouplingInterface.hpp:28
Provide the main class for interacting with the System Coupling participant library.
Definition: SystemCoupling.hpp:44
void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudAccessWithPointer *const pointCloudAccess)
Provide a function to register point cloud access.
SystemCoupling(std::size_t mpiCommunicator)
Provide a constructor for the SystemCoupling class for non-cosimulation mode with a custom MPI commun...
SystemCoupling(const std::string &scHost, const unsigned short scPort, const std::string &participantName, const std::string &buildInformation="Unknown")
Provide a constructor for the SystemCoupling class for cosimulation mode.
void registerPointCloudAccess(PointCloudAccess *const pointCloudAccess)
Provide a function to register point cloud access.
bool doIteration()
Provide a function to check whether to do a coupling iteration.
void registerInputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexVectorDataAccessWithPointer *const dataAccess)
Provide a function to register input complex vector data access.
void completeSetup(const sysc::SetupInfo &setupInfo)
Provide a function to notify System Coupling that setup can be completed.
void registerOutputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputVectorDataAccessWithPointer *const dataAccess)
Provide a function to register output vector data access.
const Region & getAddedRegion(std::size_t index) const
Provide a function to return region information.
void registerOutputComplexScalarDataAccess(OutputComplexScalarDataAccess *const dataAccess)
Provide a function to register output complex scalar data access.
SystemCoupling(const ParticipantInfo &participantInfo, std::size_t mpiCommunicator)
Provide a constructor for the SystemCoupling class with an mpiCommunicator object set to non default.
bool doTimeStep()
Provide a function to check whether to do a coupling time step.
void registerInputVectorDataAccess(InputVectorDataAccess *const dataAccess)
Provide a function to register input vector data access.
void registerOutputVectorDataAccess(OutputVectorDataAccess *const dataAccess)
Provide a function to register output vector data access.
void registerOutputScalarDataAccess(OutputScalarDataAccess *const dataAccess)
Provide a function to register output scalar data access.
void registerVolumeMeshAccess(VolumeMeshAccess *const meshAccess)
Provide a function to register volume mesh access.
bool writeSetupFile(const SetupFileInfo &setupFileInfo) const
Provide a function to write the setup file.
void registerOutputComplexVectorDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexVectorDataAccessWithPointer *const dataAccess)
Provide a function to register output complex vector data access.
void updateOutputs(ConvergenceStatus status)
Provide a function to update the participants output variables.
SystemCoupling & operator=(SystemCoupling &&)=default
Provide the move-assign operator.
void registerSurfaceMeshAccess(OpaqueDataAccess opaqueDataAccess, SurfaceMeshAccessWithPointer *const meshAccess)
Provide a function to register surface mesh access.
void disconnect()
Provide a function to end the analysis and disconnect from System Coupling.
void registerInputScalarVariableAccess(InputScalarVariableAccess *const dataAccess)
Deprecated - do not use.
void registerOutputScalarVariableAccess(OutputScalarVariableAccess *const dataAccess)
Deprecated - do not use.
void registerInputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputComplexScalarDataAccessWithPointer *const dataAccess)
Provide a function to register input complex scalar data access.
void completeCouplingSetup(const sysc::AnalysisType analysisType)
This function will be deprecated. Use completeSetup() instead.
SystemCoupling(const SystemCoupling &)=delete
Delete the copy-constructor.
sysc::TimeStep getCurrentTimeStep()
Provide a function to get current time step.
void completeCouplingSetup()
This function will be deprecated. Use completeSetup() instead.
void registerInputVectorDataAccess(OpaqueDataAccess opaqueDataAccess, InputVectorDataAccessWithPointer *const dataAccess)
Provide a function to register input vector data access.
void registerInputVectorVariableAccess(InputVectorVariableAccess *const dataAccess)
Deprecated - do not use.
void registerInputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, InputScalarDataAccessWithPointer *const dataAccess)
Provide a function to register input scalar data access.
void registerVolumeMeshAccess(OpaqueDataAccess opaqueDataAccess, VolumeMeshAccessWithPointer *const meshAccess)
Provide a function to register volume mesh access.
std::size_t getNumCouplingInterfaces() const
Provide a function to return the number of coupling interfaces.
void registerOutputComplexScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputComplexScalarDataAccessWithPointer *const dataAccess)
Provide a function to register output complex scalar data access.
MeshValidityStatus checkMeshValidity(const Region ®ion)
Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.
SystemCoupling(SystemCoupling &&)=default
Provide the move-constructor.
void updateInputs()
Provide a function to update the participants input variables.
void registerSurfaceMeshAccess(SurfaceMeshAccess *const meshAccess)
Provide a function to register surface mesh access.
void fatalError(const std::string &errorMessage)
Provide a function to notify System Coupling about a fatal error.
SystemCoupling(const ParticipantInfo &participantInfo)
Provide a constructor for the SystemCoupling class with a custom struct representing the default inpu...
SystemCoupling()
Provide a (default) constructor for the SystemCoupling class for non-cosimulation mode.
SystemCoupling & operator=(const SystemCoupling &)=delete
Delete the copy-assign operator.
const Region & getRegion(std::size_t index) const
Deprecated. Use getAddedRegion() instead.
void registerOutputComplexVectorDataAccess(OutputComplexVectorDataAccess *const dataAccess)
Provide a function to register output complex vector data access.
void initializeAnalysis()
Provide a function to notify System Coupling that analysis initialization can be completed.
void registerRestartPointCreation(RestartPointCreation *const restartPointCreation)
Provide a function to register a restart point creation callback.
MeshValidityStatus checkMeshValidity(const std::string ®ionName)
Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.
void writeResults(const ResultsInfo &resultsInfo) const
Write results to a file.
SystemCoupling(const std::string &scHost, const unsigned short scPort, const std::string &participantName, const std::size_t mpiCommunicator, const std::string &buildInformation)
Provide a constructor for the SystemCoupling class for cosimulation mode with a custom MPI communicat...
SolutionControl getSolutionControl() const
Get solution control.
void registerInputComplexVectorDataAccess(InputComplexVectorDataAccess *const dataAccess)
Provide a function to register input complex vector data access.
void registerInputComplexScalarDataAccess(InputComplexScalarDataAccess *const dataAccess)
Provide a function to register input complex scalar data access.
void registerOutputVectorVariableAccess(OutputVectorVariableAccess *const dataAccess)
Deprecated - do not use.
const CouplingInterface & getAddedCouplingInterface(std::size_t index) const
Provide a function to return coupling interface.
void addCouplingInterface(const CouplingInterface &couplingInterface, bool autoGenerateTransfers)
Provide a function to add a coupling interface.
void registerPointCloudAccess(OpaqueDataAccess opaqueDataAccess, PointCloudMultiZoneAccess *const pointCloudAccess)
Provide a function to register point cloud access.
void addCouplingInterface(const CouplingInterface &couplingInterface)
Provide a function to add a coupling interface.
void registerOutputScalarDataAccess(OpaqueDataAccess opaqueDataAccess, OutputScalarDataAccessWithPointer *const dataAccess)
Provide a function to register output scalar data access.
std::size_t getNumRegions() const
Provide a function to return the number of regions.
void registerInputScalarDataAccess(InputScalarDataAccess *const dataAccess)
Provide a function to register input scalar data access.
void addRegion(const Region ®ion)
Provide a function to add a region that could be used in a coupled analysis.
OutputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &) OutputScalarDataAccessWithPointer
Provide function prototype for access to output scalar data.
Definition: FunctionTypes.hpp:87
ConvergenceStatus
Provide enum for participant's solver convergence status.
Definition: CommonTypes.hpp:25
InputComplexVectorData(const RegionName &, const VariableName &) InputComplexVectorDataAccess
Provide function prototype for access to input complex vector data.
Definition: FunctionTypes.hpp:134
InputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &) InputVectorDataAccessWithPointer
Provide function prototype for access to input vector data.
Definition: FunctionTypes.hpp:68
OutputScalarData OutputScalarVariableAccess(const std::string &, const std::string &)
This alias will be deprecated - use OutputScalarDataAccess instead.
Definition: FunctionTypes.hpp:317
PointCloud(const RegionName &) PointCloudAccess
Provide alias for function that provides access to point cloud.
Definition: FunctionTypes.hpp:225
PointCloud(OpaqueDataAccess, const RegionName &) PointCloudAccessWithPointer
Provide alias for function that provides access to point cloud.
Definition: FunctionTypes.hpp:234
PointCloud(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex) PointCloudMultiZoneAccess
Provide alias for function that provides access to point cloud.
Definition: FunctionTypes.hpp:274
SurfaceMesh(const RegionName &) SurfaceMeshAccess
Provide alias for function that provides access to surface mesh.
Definition: FunctionTypes.hpp:190
InputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &) InputScalarDataAccessWithPointer
Provide function prototype for access to input scalar data.
Definition: FunctionTypes.hpp:49
OutputVectorData(const RegionName &, const VariableName &) OutputVectorDataAccess
Provide function prototype for access to output vector data.
Definition: FunctionTypes.hpp:96
InputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex) InputScalarDataMultiZoneAccess
Function prototype to get the input scalar data, given region name and zone index.
Definition: FunctionTypes.hpp:282
OutputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex) OutputVectorDataMultiZoneAccess
Function prototype to get the input vector data, given region name and zone index.
Definition: FunctionTypes.hpp:306
InputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex) InputVectorDataMultiZoneAccess
Function prototype to get the input vector data, given region name and zone index.
Definition: FunctionTypes.hpp:298
std::uint16_t(OpaqueDataAccess, const RegionName &) ZoneCountAccess
Function prototype to get the number of zones for a given region.
Definition: FunctionTypes.hpp:247
VolumeMesh(OpaqueDataAccess, const RegionName &) VolumeMeshAccessWithPointer
Provide alias for function that provides access to volume mesh.
Definition: FunctionTypes.hpp:218
OutputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &) OutputComplexScalarDataAccessWithPointer
Provide function prototype for access to output complex scalar data.
Definition: FunctionTypes.hpp:163
SurfaceMesh(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex) SurfaceMeshMultiZoneAccess
Function prototype to get the mesh zone, given region name and zone index.
Definition: FunctionTypes.hpp:255
VolumeMesh(const RegionName &) VolumeMeshAccess
Provide alias for function that provides access to volume mesh.
Definition: FunctionTypes.hpp:208
InputScalarData InputScalarVariableAccess(const std::string &, const std::string &)
This alias will be deprecated - use InputScalarDataAccess instead.
Definition: FunctionTypes.hpp:311
InputScalarData(const RegionName &, const VariableName &) InputScalarDataAccess
Provide function prototype for access to input scalar data.
Definition: FunctionTypes.hpp:39
OutputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &) OutputVectorDataAccessWithPointer
Provide function prototype for access to output vector data.
Definition: FunctionTypes.hpp:106
InputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &) InputComplexScalarDataAccessWithPointer
Provide function prototype for access to input complex scalar data.
Definition: FunctionTypes.hpp:125
RestartPoint(void) RestartPointCreation
Provide an alias for function prototype that creates restart points.
Definition: FunctionTypes.hpp:241
InputVectorData InputVectorVariableAccess(const std::string &, const std::string &)
This alias will be deprecated - use InputVectorDataAccess instead.
Definition: FunctionTypes.hpp:314
OutputVectorData OutputVectorVariableAccess(const std::string &, const std::string &)
This alias will be deprecated - use OutputVectorDataAccess instead.
Definition: FunctionTypes.hpp:320
OutputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &) OutputComplexVectorDataAccessWithPointer
Provide function prototype for access to output complex vector data.
Definition: FunctionTypes.hpp:182
OutputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex) OutputScalarDataMultiZoneAccess
Function prototype to get the output scalar data, given region name and zone index.
Definition: FunctionTypes.hpp:290
InputVectorData(const RegionName &, const VariableName &) InputVectorDataAccess
Provide function prototype for access to input vector data.
Definition: FunctionTypes.hpp:58
InputComplexScalarData(const RegionName &, const VariableName &) InputComplexScalarDataAccess
Provide function prototype for access to input complex scalar data.
Definition: FunctionTypes.hpp:115
OutputComplexScalarData(const RegionName &, const VariableName &) OutputComplexScalarDataAccess
Provide function prototype for access to output complex scalar data.
Definition: FunctionTypes.hpp:153
OutputComplexVectorData(const RegionName &, const VariableName &) OutputComplexVectorDataAccess
Provide function prototype for access to output complex vector data.
Definition: FunctionTypes.hpp:172
SurfaceMesh(OpaqueDataAccess, const RegionName &) SurfaceMeshAccessWithPointer
Provide alias for function that provides access to surface mesh.
Definition: FunctionTypes.hpp:200
InputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &) InputComplexVectorDataAccessWithPointer
Provide function prototype for access to input complex vector data.
Definition: FunctionTypes.hpp:144
VolumeMesh(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex) VolumeMeshMultiZoneAccess
Function prototype to get the mesh zone, given region name and zone index.
Definition: FunctionTypes.hpp:264
OutputScalarData(const RegionName &, const VariableName &) OutputScalarDataAccess
Provide function prototype for access to output scalar data.
Definition: FunctionTypes.hpp:77
Provide a struct that contains information about mesh validity.
Definition: CommonTypes.hpp:191
provide a structure for the participant information needed to connect to a System Coupling object
Definition: CommonTypes.hpp:249
Provide a structure for writing System Coupling results files.
Definition: CommonTypes.hpp:156
Provide a structure for writing System Coupling setup files.
Definition: CommonTypes.hpp:121
Provide a structure for System Coupling setup information.
Definition: CommonTypes.hpp:74