Skip to main content

Class sysc::CouplingInterface

Definition: CouplingInterface.hpp (line 28)

Provide a class for a coupling interface.

Coupling interface can be used to set up the transfers of data between different regions within the same participant solver. Interface contains two sides and each side can contain one or more regions.

All regions on one side of the interface must have the same topology.

Members​

Private attributes​

Variable m_name​

Definition: CouplingInterface.hpp (line 101)

CouplingInterfaceName sysc::CouplingInterface::m_name

Type: CouplingInterfaceName

Variable m_sideOneRegions​

Definition: CouplingInterface.hpp (line 103)

std::vector`<Region>` sysc::CouplingInterface::m_sideOneRegions

Type: std::vector< Region >

Variable m_sideOneRegionsNameToIndex​

Definition: CouplingInterface.hpp (line 104)

std::map<RegionName, std::size_t> sysc::CouplingInterface::m_sideOneRegionsNameToIndex

Type: std::map< RegionName, std::size_t >

Variable m_sideTwoRegions​

Definition: CouplingInterface.hpp (line 106)

std::vector`<Region>` sysc::CouplingInterface::m_sideTwoRegions

Type: std::vector< Region >

Variable m_sideTwoRegionsNameToIndex​

Definition: CouplingInterface.hpp (line 107)

std::map<RegionName, std::size_t> sysc::CouplingInterface::m_sideTwoRegionsNameToIndex

Type: std::map< RegionName, std::size_t >

Variable m_dataTransfers​

Definition: CouplingInterface.hpp (line 109)

std::vector`<DataTransfer>` sysc::CouplingInterface::m_dataTransfers

Type: std::vector< DataTransfer >

Public functions​

Function CouplingInterface​

sysc::CouplingInterface::CouplingInterface(CouplingInterfaceName interfaceName)

Provide a constructor for the CouplingInterface class.

Parameters:

  • interfaceName: A unique name for the coupling interface.

Parameters:

Return type:

Function addSideOneRegion​

void sysc::CouplingInterface::addSideOneRegion(const Region &region)

Add region to side one of the interface.

If this region has already been added to the interface on side one, then this call will have no effect.

If a different region with the same name has already been added to the interface on side one, then a runtime error will be thrown.

If a region with the same name has already been added to the interface on side two, then a runtime error will be thrown.

If the region name contains invalid characters, a runtime error will be thrown.

Parameters:

  • region: Region to be added to side one of the interface.

Parameters:

Return type: void

Function addSideTwoRegion​

void sysc::CouplingInterface::addSideTwoRegion(const Region &region)

Add region to side two of the interface.

If this region has already been added to the interface on side two, then this call will have no effect.

If a different region with the same name has already been added to the interface on side two, then a runtime error will be thrown.

If a region with the same name has already been added to the interface on side one, then a runtime error will be thrown.

If the region name contains invalid characters, a runtime error will be thrown.

Parameters:

  • region: Region to be added to side one of the interface.

Parameters:

Return type: void

Function getName​

const CouplingInterfaceName& sysc::CouplingInterface::getName() const

Get coupling interface name.

Return type: const CouplingInterfaceName &

Function getNumSideOneRegions​

std::size_t sysc::CouplingInterface::getNumSideOneRegions() const

Get the number of regions on side one of the interface.

Return type: std::size_t

Function getNumSideTwoRegions​

std::size_t sysc::CouplingInterface::getNumSideTwoRegions() const

Get the number of regions on side two of the interface.

Return type: std::size_t

Function getSideOneRegion​

const Region& sysc::CouplingInterface::getSideOneRegion(std::size_t index) const

Get the region on side one, given an index.

Parameters:

  • std::size_t index

Return type: const Region &

Function getSideTwoRegion​

const Region& sysc::CouplingInterface::getSideTwoRegion(std::size_t index) const

Get the region on side two, given an index.

Parameters:

  • std::size_t index

Return type: const Region &

Function addDataTransfer​

void sysc::CouplingInterface::addDataTransfer(const DataTransfer &dataTransfer)

Add a data transfer.

Parameters:

Return type: void

Function getNumDataTransfers​

std::size_t sysc::CouplingInterface::getNumDataTransfers() const noexcept

Get the number of data transfers.

Return type: std::size_t

Function getDataTransfer​

const DataTransfer& sysc::CouplingInterface::getDataTransfer(std::size_t index) const

Get the data transfer, given an index.

Parameters:

  • std::size_t index

Return type: const DataTransfer &