Skip to main content

System Coupling C library 2024 R1

Release notes for 2024 R1

Last update: 17.07.2025

2D Vector APIs

This change applies to C++, C, Fortran, and Python APIs.

C++

sysc::OutputVectorData and sysc::InputVectorData supports constructing both compact and split 2D vector data.

For example, the following new constructor function can used to create compact 2D vector data by passing sysc::Dimension::D2 to the dimension parameter.

sysc::OutputVectorData (const double* data, std::size_t size, Dimension dimension);
sysc::InputVectorData (double* data, std::size_t size, Dimension dimension);

The following new constructor function has been added to create split 2D vector data, accepting two data pointers or arrays.

sysc::OutputVectorData (const double* data1, const double* data2);
sysc::InputVectorData (double* data1, double* data2);

Note for sysc::OutputComplexVector and sysc::InputComplexVectorData, only 2D compact complex and compact vector formats are supported for now, and the new constructor below has been added to create 2D complex vector data by passing sysc::Dimension::D2 to the dimension parameter.

OutputComplexVectorData(const double* dataComplex, std::size_t size, Dimension dimension);
InputComplexVectorData(double* dataComplex, std::size_t size, Dimension dimension);

C

For C, helper functions have been added for creating 2D vector data.

For compact 2D vector data (pass SyscD2 to dimension):

const double *const data,
size_t dataSize,
enum SyscDimension dimension);
SyscOutputVectorData syscGetOutputVectorDataCompactDoubleDim(const double *const data, size_t dataSize, enum SyscDimension dimension)
Create an output vector data access struct with compact storage based on dimension.
SyscDimension
Provide enum for system coupling dimension.
Create an output vector data access struct.

For split 2D vector data:

const double *const data0,
const double *const data1,
size_t dataSize);
SyscOutputVectorData syscGetOutput2DVectorDataSplitDouble(const double *const data0, const double *const data1, size_t dataSize)
Create a 2D output vector data access struct with split storage.

For 2D compact complex and compact vector data (pass SyscD2 to dimension):

double *const data,
size_t dataSize,
enum SyscDimension dimension);
SyscInputComplexVectorData syscGetInputCompactComplexCompactVectorDataDoubleDim(double *const data, size_t dataSize, enum SyscDimension dimension)
Create a complex input vector data access struct based on dimension.
Struct for input complex vector data.

Fortran

For fortran, helper functions have been added for creating 2D vector data.

For compact 2D vector data (pass SyscD2 to dimension):

function syscgetoutputvectordatacompactdimf(&
data, dataSize, dimension) result (ret)

For split 2D vector data:

function syscgetoutput2dvectordatasplitf(&
data0, data1, dataSize) result (ret)

For 2D compact complex and compact vector data (pass SyscD2 to dimension):

function syscgetoutputcompactcomplexcompactvectordatadimf(&
data, dataSize, dimension) result (ret)

Python

For python, new constructors have been added for creating 2D vector data.

For compact 2D vector data:

py2DVector=sysc.OutputVectorData(data0=data,dimension=sysc.Dimension_D2)

For split 2D vector data:

py2DVector=sysc.OutputVectorData(data0=data0, data1=data1)

For 2D compact complex and compact vector data:

py2DComplexVector=sysc.OutputComplexVectorData(data1=complexData,dimension=sysc.Dimension_D2)

New APIs for create system coupling SetupInfo

C++

The following new constructor has been added for creating sysc::SetupInfo with specifying participant dimension:

SetupInfo(
enum AnalysisType analysisType,
bool restartsSupported,
enum Dimension dimension);

C

A help function has been added for creating SyscSetupInfo with specifying participant dimension:

enum SyscAnalysisType analysisType,
int restartsSupported,
enum SyscDimension dimension);
SyscAnalysisType
Provide an enum for coupled analysis type.
SyscSetupInfo syscGetSetupInfoARD(enum SyscAnalysisType analysisType, int restartsSupported, enum SyscDimension dimension)
Create a setup info struct.
Provide a structure for System Coupling setup information.

Fortran

A help function has been added for creating SyscSetupInfo with specifying participant dimension:

function syscgetsetupinfof_ard(analysisType, &
restartsSupported, dimension) result(ret)

Python

A new constructor has been added for sysc.SetupInfo with specifying participant dimension:

pySetupInfo=sysc.SetupInfo(sysc.Steady,False,sysc.Dimension_D2)

Connect with Ansys