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 &