Skip to main content

System Coupling Fortran library 2023 R2

syscCommonTypesF

Last update: 17.07.2025
1module fortran
2!
3! Copyright 2023 ANSYS, Inc.
4! Unauthorized use, distribution, or duplication is prohibited.
5!
6! Provide free-form Fortran interface for
7! System Coupling Participant Library.
8!
9! This interfaces file provides commonly-used types and parameters.
10!
11! ****** Parameter for string legth ***********************************
12!
13integer(kind=4), parameter :: SyscStrLen = 256
14integer(kind=4), parameter :: SyscFilePathLen = 4096
15!
16! ****** Parameters for variable mesh locations ***********************
17!
18integer(kind=4), parameter :: SyscNode = 0
19integer(kind=4), parameter :: SyscElement = 1
20!
21! ****** Parameters for variable tensor types *************************
22!
23integer(kind=4), parameter :: SyscScalar = 0
24integer(kind=4), parameter :: SyscVector = 1
25!
26! ****** Parameters for region topologies *****************************
27!
28integer(kind=4), parameter :: SyscSurface = 2
29integer(kind=4), parameter :: SyscVolume = 3
30!
31! ****** Parameters for region discretization types *******************
32!
33integer(kind=4), parameter :: SyscMeshRegion = 0
34integer(kind=4), parameter :: SyscPointCloudRegion = 1
35!
36! *********** Parameters for interface side ***************************
37!
38integer(kind=4), parameter :: SyscInterfaceSide_One = 1
39integer(kind=4), parameter :: SyscInterfaceSide_Two = 2
40!
41! *********************** Dimensionality ******************************
42!! \brief Provide a structure for dimensionality
44 real(kind=8) :: length
45 real(kind=8) :: time
46 real(kind=8) :: mass
47 real(kind=8) :: temperature
48 real(kind=8) :: amountofsubstance
49 real(kind=8) :: current
50 real(kind=8) :: luminousintensity
51 real(kind=8) :: angle
53!
54!**********************************************************************
56!**********************************************************************
57!
59!
60!**********************************************************************
64!**********************************************************************
65function syscgetdimensionalityf() result(ret)
66!
67 import :: syscdimensionalityf
68 type(syscdimensionalityf) :: ret
69!DIR$ IF DEFINED(_WIN32)
70!DIR$ ATTRIBUTES DLLIMPORT :: syscGetDimensionalityF
71!DIR$ ENDIF
72end function syscgetdimensionalityf
73!
74end interface syscgetdimensionalityf
75!
76! *********************************************************************
77! \brief Provide parameters for supported quantity types.
78!
79! Quantity type provides information about the physical meaning of
80! the variable. This can be useful for detecting validation errors
81! during the coupled analysis setup. If the variable does not match
82! any of the provided quantity types, quantity type can be set to
83! unspecified.
84!
85integer(kind=4), parameter :: syscunspecified = 0
86integer(kind=4), parameter :: syscforce = 1
87integer(kind=4), parameter :: syscincrementaldisplacement = 2
88integer(kind=4), parameter :: sysctemperature = 3
89integer(kind=4), parameter :: syscheatrate = 4
90integer(kind=4), parameter :: syscheattransfercoefficient = 5
91integer(kind=4), parameter :: syscconvectionreferencetemperature = 6
92integer(kind=4), parameter :: syscmodeshape = 7
93integer(kind=4), parameter :: syscelectricalconductivity = 8
94!
95! ****** Parameters for data type *************************************
96!
97integer(kind=4), parameter :: syscdatatype_real = 0
98integer(kind=4), parameter :: syscdatatype_complex = 1
99!
100! ****** Parameters for participant solver's convergence status *******
101!
102integer(kind=4), parameter :: syscdiverging = -1
103integer(kind=4), parameter :: syscnotyetconverged = 0
104integer(kind=4), parameter :: syscconverged = 1
105integer(kind=4), parameter :: sysccomplete = 2
106integer(kind=4), parameter :: syscnotevaluated = 3
107!
108! ****** Parameters for analysis types ********************************
109!
110integer(kind=4), parameter :: syscsteady = 0
111integer(kind=4), parameter :: sysctransient = 1
112!
113! *********************************************************************
114!
117 integer(kind=8) :: timestepnumber
118 real(kind=8) :: starttime
119 real(kind=8) :: timestepsize
120end type sysctimestepf
121!
122! ****** Parameters for return codes **********************************
123!
124integer(kind=4), parameter :: syscstatusok = 0
125integer(kind=4), parameter :: syscstatuserror = 1
126!
130 integer(kind=4) :: retcode
132 character(len=SyscStrLen) :: message
133end type syscerrorf
134!
135! ****** Provide parameters for supported primitive types *************
136!
137integer(kind=4), parameter :: syscreal4 = 0
138integer(kind=4), parameter :: syscreal8 = 1
139integer(kind=4), parameter :: syscint4 = 2
140integer(kind=4), parameter :: syscint8 = 3
141!
142! *********************************************************************
154! *********************************************************************
156 integer(kind=8) :: analysistype
157 logical(kind=8) :: restartssupported
158end type syscsetupinfof
159!
160!**********************************************************************
162!**********************************************************************
163!
165!
166!**********************************************************************
173!**********************************************************************
174function syscgetsetupinfof() result(ret)
175!
176 import :: syscsetupinfof
177 type(syscsetupinfof) :: ret
178!
179!DIR$ IF DEFINED(_WIN32)
180!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF
181!DIR$ ENDIF
182!
183end function syscgetsetupinfof
184!
185!**********************************************************************
193!**********************************************************************
194function syscgetsetupinfof_a(analysisType) result(ret)
195!
196 import :: syscsetupinfof
197 integer(kind=4), intent(in) :: analysistype
198 type(syscsetupinfof) :: ret
199!
200!DIR$ IF DEFINED(_WIN32)
201!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF_A
202!DIR$ ENDIF
203!
204end function syscgetsetupinfof_a
205!
206!**********************************************************************
213!**********************************************************************
214function syscgetsetupinfof_ar(analysisType, &
215 restartsSupported) result(ret)
216!
217 import :: syscsetupinfof
218 integer(kind=4), intent(in) :: analysistype
219 logical, intent(in) :: restartssupported
220 type(syscsetupinfof) :: ret
221!
222!DIR$ IF DEFINED(_WIN32)
223!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF_AR
224!DIR$ ENDIF
225!
226 end function syscgetsetupinfof_ar
227!
228end interface syscgetsetupinfof
229!
230! *********************************************************************
243! *********************************************************************
245 character(len=SyscFilePathLen) :: setupfilename
246 logical :: restartssupported
247end type syscsetupfileinfof
248!
249!**********************************************************************
252!**********************************************************************
253!
255!
256!**********************************************************************
264!**********************************************************************
265function syscgetsetupfileinfof(setupFileName) result(ret)
266!
267 import :: syscsetupfileinfof
268 character(len=*), intent(in) :: setupfilename
269 type(syscsetupfileinfof) :: ret
270!
271!DIR$ IF DEFINED(_WIN32)
272!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupFileInfoF
273!DIR$ ENDIF
274!
275end function syscgetsetupfileinfof
276!
277end interface syscgetsetupfileinfof
278!
279! *********************************************************************
281! *********************************************************************
283 character(len=SyscFilePathLen) :: basefilename
284end type syscresultsinfof
285!
286!**********************************************************************
289!**********************************************************************
290!
292!
293!**********************************************************************
299!**********************************************************************
300function syscgetresultsinfof(baseFileName) result(ret)
301 import :: syscresultsinfof
302 character(len=*), intent(in) :: basefilename
303 type(syscresultsinfof) :: ret
304!DIR$ IF DEFINED(_WIN32)
305!DIR$ ATTRIBUTES DLLIMPORT :: syscGetResultsInfoF
306!DIR$ ENDIF
307end function syscgetresultsinfof
308!
309end interface syscgetresultsinfof
310!
311
312end module fortran
Provide an interface to get dimensionality.
Provide an interface to get a System Coupling results info type.
Provide an interface to get a System Coupling setup file info type.
Provide an interface to get a setup info type.
Provide an error type returned by the Fortran interface calls.
Provide a type for writing results files.
Provide a type for writing System Coupling setup files.
Provide a type for System Coupling setup information.
Provide a time step type.

Connect with Ansys