Skip to main content

System Coupling C++ library 2025 R1

CommonTypes

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/CommonSettings.hpp"
8 #include "SystemCouplingParticipant/ElementTypes.hpp"
9 #include "SystemCouplingParticipant/NonFatalError.hpp"
10 
11 #include <string>
12 #include <utility>
13 
14 namespace sysc {
15 
28  Diverging = -1,
29  NotYetConverged = 0,
30  Converged = 1,
31  Complete = 2,
32  NotEvaluated = 3
33 };
34 
36 enum class DataType {
37  Real = 0,
38  Complex = 1
39 };
40 
42 struct TimeStep {
43  int timeStepNumber{0};
44  double startTime{0.0};
45  double timeStepSize{0.0};
48  TimeStep() = default;
49 
55 };
56 
61 };
62 
64 struct SetupInfo {
65  /* \brief Provide a constructor for SetupInfo. */
66  SetupInfo() = default;
67 
76 
85  bool restartsSupported) :
88 
98  bool restartsSupported,
99  enum Dimension dimension) :
102  dimension(dimension){};
103 
114  bool restartsSupported,
115  enum Dimension dimension,
121 
124  bool restartsSupported{false};
125  Dimension dimension{Dimension::D3};
126  TimeIntegration timeIntegration{TimeIntegration::Implicit};
127 };
128 
131  std::string setupFileName;
140  restartsSupported(false){};
141 
150  setupFileName(std::move(setupFileName)),
151  restartsSupported(false){};
152 
160  setupFileName(std::move(setupFileName)),
162 };
163 
165 struct ResultsInfo {
166  std::string baseFileName;
169  ResultsInfo(std::string baseFileName) :
170  baseFileName(std::move(baseFileName)){};
171 };
172 
174 enum Topology {
175  Surface = 2,
176  Volume = 3
177 };
178 
181  bool isValid;
182  std::string message;
184  /* \brief Provide a default constructor for ValidityStatus */
185  ValidityStatus() :
186  isValid(true){};
187 
194  ValidityStatus(bool isValid, std::string message) :
195  isValid(isValid),
196  message(std::move(message)){};
197 };
198 
201  bool isInvalid;
202  std::string message;
204  /* \brief Provide a default constructor for MeshValidityStatus */
206  isInvalid(false){};
207 
214  MeshValidityStatus(bool isInvalid, std::string message) :
216  message(std::move(message)){};
217 };
218 
221  Float = 0,
222  Double = 1,
223  Int32 = 2,
224  Int64 = 3,
226  UnsignedInt64 = 5
227 };
228 
229 using OpaqueDataAccess = void*;
231 using RegionName = std::string;
232 using VariableName = std::string;
233 using CouplingInterfaceName = std::string;
234 using RestartPoint = std::string;
235 using TargetDataLocation = std::string;
236 using DisplayName = std::string;
237 using AttributeName = std::string;
238 using ParameterName = std::string;
261  std::string scHost;
262  unsigned short scPort{0};
263  std::string participantName;
264  bool isCosimulation{false};
265  std::string buildInformation;
266  std::string transcriptFilename;
267 
269  ParticipantInfo() = default;
270 
273  std::string scHost,
274  unsigned short scPort,
275  std::string participantName) :
276  scHost(std::move(scHost)),
277  scPort(scPort),
278  participantName(std::move(participantName)),
279  isCosimulation(true)
280  {
281  }
282 
285  std::string scHost,
286  unsigned short scPort,
287  std::string participantName,
288  std::string buildInformation) :
289  scHost(std::move(scHost)),
290  scPort(scPort),
291  participantName(std::move(participantName)),
292  isCosimulation(true),
293  buildInformation(std::move(buildInformation))
294  {
295  }
296 
299  std::string scHost,
300  unsigned short scPort,
301  std::string participantName,
302  std::string buildInformation,
303  std::string transcriptFilename) :
304  scHost(std::move(scHost)),
305  scPort(scPort),
306  participantName(std::move(participantName)),
307  isCosimulation(true),
308  buildInformation(std::move(buildInformation)),
309  transcriptFilename(std::move(transcriptFilename))
310  {
311  }
312 };
313 
314 } // namespace sysc
ConvergenceStatus
Provide enum for participant's solver convergence status.
Definition: CommonTypes.hpp:27
void * OpaqueDataAccess
std::string TargetDataLocation
Dimension
Provide an enum for participant dimension.
std::string VariableName
std::string DisplayName
std::string CouplingInterfaceName
DataType
Provide enum for variable data types.
Definition: CommonTypes.hpp:36
std::string ParameterName
TimeIntegration
Provide an enum for time integration.
PrimitiveType
Provide enum for supported primitive types.
std::string RegionName
std::string AttributeName
Topology
Provide enum for region topologies.
std::string RestartPoint
AnalysisType
Provide an enum for coupled analysis type.
@ UnsignedInt64
@ UnsignedInt16
Provide a struct that contains information about mesh validity.
MeshValidityStatus(bool isInvalid, std::string message)
Provide a non-default constructor for MeshValidityStatus.
provide a structure for the participant information needed to connect to a System Coupling object
ParticipantInfo()=default
Provide a default constructor.
ParticipantInfo(std::string scHost, unsigned short scPort, std::string participantName, std::string buildInformation, std::string transcriptFilename)
Provide a non-default constructor.
ParticipantInfo(std::string scHost, unsigned short scPort, std::string participantName)
Provide a non-default constructor.
ParticipantInfo(std::string scHost, unsigned short scPort, std::string participantName, std::string buildInformation)
Provide a non-default constructor.
Provide a structure for writing System Coupling results files.
ResultsInfo(std::string baseFileName)
Create results file info struct, given a base file name.
std::string baseFileName
Provide a structure for writing System Coupling setup files.
std::string setupFileName
SetupFileInfo(std::string setupFileName)
Provide a non-default constructor for SetupFileInfo.
SetupFileInfo()
Provide a default constructor for SetupFileInfo.
SetupFileInfo(std::string setupFileName, bool restartsSupported)
Provide a non-default constructor for SetupFileInfo.
Provide a structure for System Coupling setup information.
Definition: CommonTypes.hpp:64
SetupInfo(enum AnalysisType analysisType, bool restartsSupported, enum Dimension dimension)
Provide a constructor for SetupInfo.
Definition: CommonTypes.hpp:96
TimeIntegration timeIntegration
SetupInfo(enum AnalysisType analysisType, bool restartsSupported, enum Dimension dimension, enum TimeIntegration timeIntegration)
Provide a constructor for SetupInfo.
SetupInfo(enum AnalysisType analysisType)
Provide a constructor for SetupInfo.
Definition: CommonTypes.hpp:73
AnalysisType analysisType
Dimension dimension
SetupInfo(enum AnalysisType analysisType, bool restartsSupported)
Provide a constructor for SetupInfo.
Definition: CommonTypes.hpp:83
Provide a structure containing solution control.
Definition: CommonTypes.hpp:58
Provide a struct for time step.
Definition: CommonTypes.hpp:42
double timeStepSize
Definition: CommonTypes.hpp:45
TimeStep()=default
Provide a default constructor for TimeStep.
TimeStep(int timeStepNumber, double startTime, double timeStepSize)
Provide a non-default constructor for TimeStep.
Definition: CommonTypes.hpp:51
Provide a struct that contains information about validity.
ValidityStatus(bool isValid, std::string message)
Provide a non-default constructor for ValidityStatus.

Connect with Ansys