Skip to main content

System Coupling C++ library 2024 R2

CouplingInterface

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/DataTransfer.hpp"
10#include "SystemCouplingParticipant/Region.hpp"
11
12#include <string>
13#include <vector>
14
15namespace sysc {
16
28class SYSTEM_COUPLING_PARTICIPANT_DLL CouplingInterface {
29public:
36
54 void addSideOneRegion(const Region& region);
55
74 void addSideTwoRegion(const Region& region);
75
78
80 std::size_t getNumSideOneRegions() const;
81
83 std::size_t getNumSideTwoRegions() const;
84
86 const Region& getSideOneRegion(std::size_t index) const;
87
89 const Region& getSideTwoRegion(std::size_t index) const;
90
92 void addDataTransfer(const DataTransfer& dataTransfer);
93
95 std::size_t getNumDataTransfers() const noexcept;
96
98 const DataTransfer& getDataTransfer(std::size_t index) const;
99
100private:
102
103 std::vector<Region> m_sideOneRegions;
104 std::map<RegionName, std::size_t> m_sideOneRegionsNameToIndex;
105
106 std::vector<Region> m_sideTwoRegions;
107 std::map<RegionName, std::size_t> m_sideTwoRegionsNameToIndex;
108
109 std::vector<DataTransfer> m_dataTransfers;
110};
111
112} // namespace sysc
Provide a class for a coupling interface.
std::size_t getNumSideTwoRegions() const
Get the number of regions on side two of the interface.
const Region & getSideOneRegion(std::size_t index) const
Get the region on side one, given an index.
void addSideTwoRegion(const Region &region)
Add region to side two of the interface.
CouplingInterface(CouplingInterfaceName interfaceName)
Provide a constructor for the CouplingInterface class.
const Region & getSideTwoRegion(std::size_t index) const
Get the region on side two, given an index.
std::size_t getNumSideOneRegions() const
Get the number of regions on side one of the interface.
std::size_t getNumDataTransfers() const noexcept
Get the number of data transfers.
void addDataTransfer(const DataTransfer &dataTransfer)
Add a data transfer.
void addSideOneRegion(const Region &region)
Add region to side one of the interface.
const CouplingInterfaceName & getName() const
Get coupling interface name.
Provide a class for a data transfer.
Provide a class for a System Coupling region.
Definition Region.hpp:30
std::string CouplingInterfaceName
std::string RegionName

Connect with Ansys