    

 ## On this page

  

 

 # Release notes for 2024 R2

 Last update: 17.07.2025 

## New APIs for create system coupling SetupInfo

### C++

The following new constructor has been added for creating sysc::SetupInfo with specifying the time integration method for the participant:

SetupInfo(

 enum AnalysisType analysisType,

 bool restartsSupported,

 enum Dimension dimension,

 enum TimeIntegration timeIntegration);



### C

A helper function has been added for creating [SyscSetupInfo](structSyscSetupInfo.xhtml "Provide a structure for System Coupling setup information.") with specifying the time integration method for the participant:

[SyscSetupInfo](structSyscSetupInfo.xhtml) [syscGetSetupInfoARDT](group__SyscParticipantLibraryCAPI.xhtml#gaf3b03ee2974bbd198008e70e15dd1d1a)(

 enum [SyscAnalysisType](group__SyscParticipantLibraryCAPI.xhtml#ga7d5b3786948265c902f7231abe6d79b5) analysisType,

 int restartsSupported,

 enum [SyscDimension](group__SyscParticipantLibraryCAPI.xhtml#gac5a5f66ee72fd8015eab632a642cf26d) dimension,

 enum [SyscTimeIntegration](group__SyscParticipantLibraryCAPI.xhtml#gaedf008f34febb068e44cb21292dc167f) timeIntegration);

[SyscAnalysisType](group__SyscParticipantLibraryCAPI.xhtml#ga7d5b3786948265c902f7231abe6d79b5)

SyscAnalysisType

Provide an enum for coupled analysis type.

**Definition** [syscCommonTypes.h:118](syscCommonTypes_8h_source.xhtml#l00118)



[SyscDimension](group__SyscParticipantLibraryCAPI.xhtml#gac5a5f66ee72fd8015eab632a642cf26d)

SyscDimension

Provide enum for system coupling dimension.

**Definition** [syscCommonTypes.h:56](syscCommonTypes_8h_source.xhtml#l00056)



[SyscTimeIntegration](group__SyscParticipantLibraryCAPI.xhtml#gaedf008f34febb068e44cb21292dc167f)

SyscTimeIntegration

Provide an enum for time integration.

**Definition** [syscCommonTypes.h:62](syscCommonTypes_8h_source.xhtml#l00062)



[syscGetSetupInfoARDT](group__SyscParticipantLibraryCAPI.xhtml#gaf3b03ee2974bbd198008e70e15dd1d1a)

SyscSetupInfo syscGetSetupInfoARDT(enum SyscAnalysisType analysisType, int restartsSupported, enum SyscDimension dimension, enum SyscTimeIntegration timeIntegration)

Create a setup info struct.



[SyscSetupInfo](structSyscSetupInfo.xhtml)

Provide a structure for System Coupling setup information.

**Definition** [syscCommonTypes.h:172](syscCommonTypes_8h_source.xhtml#l00172)





### Fortran

A helper function has been added for creating [SyscSetupInfo](structSyscSetupInfo.xhtml "Provide a structure for System Coupling setup information.") with specifying the time integration method for the participant:

function syscgetsetupinfof_ardt(analysisType, &amp;

 restartsSupported, dimension, timeIntegration) result(ret)



### Python

A new constructor has been added for sysc.SetupInfo with specifying the time integration method for the participant:

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



# Release notes for 2024 R1

### 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):

[SyscOutputVectorData](structSyscOutputVectorData.xhtml) [syscGetOutputVectorDataCompactDoubleDim](group__SyscParticipantLibraryCAPI.xhtml#ga3ff75e8ebe2bf6e850544f378cb240c6)(

 const double *const data,

 size\_t dataSize,

 enum [SyscDimension](group__SyscParticipantLibraryCAPI.xhtml#gac5a5f66ee72fd8015eab632a642cf26d) dimension);

[syscGetOutputVectorDataCompactDoubleDim](group__SyscParticipantLibraryCAPI.xhtml#ga3ff75e8ebe2bf6e850544f378cb240c6)

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.



[SyscOutputVectorData](structSyscOutputVectorData.xhtml)

Create an output vector data access struct.

**Definition** [syscOutputVectorData.h:42](syscOutputVectorData_8h_source.xhtml#l00042)





For split 2D vector data:

[SyscOutputVectorData](structSyscOutputVectorData.xhtml) [syscGetOutput2DVectorDataSplitDouble](group__SyscParticipantLibraryCAPI.xhtml#gac737552145182f1de70e347531477a88)(

 const double *const data0,

 const double *const data1,

 size\_t dataSize);

[syscGetOutput2DVectorDataSplitDouble](group__SyscParticipantLibraryCAPI.xhtml#gac737552145182f1de70e347531477a88)

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):

[SyscInputComplexVectorData](structSyscInputComplexVectorData.xhtml) [syscGetInputCompactComplexCompactVectorDataDoubleDim](group__SyscParticipantLibraryCAPI.xhtml#ga93d5fd27a2899ea57f88958aa29506cd)(

 double *const data,

 size\_t dataSize,

 enum [SyscDimension](group__SyscParticipantLibraryCAPI.xhtml#gac5a5f66ee72fd8015eab632a642cf26d) dimension);

[syscGetInputCompactComplexCompactVectorDataDoubleDim](group__SyscParticipantLibraryCAPI.xhtml#ga93d5fd27a2899ea57f88958aa29506cd)

SyscInputComplexVectorData syscGetInputCompactComplexCompactVectorDataDoubleDim(double *const data, size_t dataSize, enum SyscDimension dimension)

Create a complex input vector data access struct based on dimension.



[SyscInputComplexVectorData](structSyscInputComplexVectorData.xhtml)

Struct for input complex vector data.

**Definition** [syscInputComplexVectorData.h:29](syscInputComplexVectorData_8h_source.xhtml#l00029)





#### Fortran

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

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

function syscgetoutputvectordatacompactdimf(&amp;

 data, dataSize, dimension) result (ret)



For split 2D vector data:

function syscgetoutput2dvectordatasplitf(&amp;

 data0, data1, dataSize) result (ret)



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

function syscgetoutputcompactcomplexcompactvectordatadimf(&amp;

 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 helper function has been added for creating [SyscSetupInfo](structSyscSetupInfo.xhtml "Provide a structure for System Coupling setup information.") with specifying participant dimension:

[SyscSetupInfo](structSyscSetupInfo.xhtml) [syscGetSetupInfoARD](group__SyscParticipantLibraryCAPI.xhtml#gae3a34c9ed638c50c65e1d87dabe66737)(

 enum [SyscAnalysisType](group__SyscParticipantLibraryCAPI.xhtml#ga7d5b3786948265c902f7231abe6d79b5) analysisType,

 int restartsSupported,

 enum [SyscDimension](group__SyscParticipantLibraryCAPI.xhtml#gac5a5f66ee72fd8015eab632a642cf26d) dimension);

[syscGetSetupInfoARD](group__SyscParticipantLibraryCAPI.xhtml#gae3a34c9ed638c50c65e1d87dabe66737)

SyscSetupInfo syscGetSetupInfoARD(enum SyscAnalysisType analysisType, int restartsSupported, enum SyscDimension dimension)

Create a setup info struct.





#### Fortran

A helper function has been added for creating [SyscSetupInfo](structSyscSetupInfo.xhtml "Provide a structure for System Coupling setup information.") with specifying participant dimension:

function syscgetsetupinfof_ard(analysisType, &amp;

 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)