Skip to main content

System Coupling Fortran library 2024 R1

syscCommonTypesF

Last update: 17.07.2025
1module fortran
2!
3! Copyright 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) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
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! ****** Parameters for dimension *************************************
114!
115integer(kind=8), parameter :: syscd2 = 2
116integer(kind=8), parameter :: syscd3 = 3
117!
118! *********************************************************************
119!
122 integer(kind=8) :: timestepnumber
123 real(kind=8) :: starttime
124 real(kind=8) :: timestepsize
125end type sysctimestepf
126!
127! ****** Parameters for return codes **********************************
128!
129integer(kind=4), parameter :: syscstatusok = 0
130integer(kind=4), parameter :: syscstatuserror = 1
131!
135 integer(kind=4) :: retcode
137 character(len=SyscStrLen) :: message
138end type syscerrorf
139!
140! ****** Provide parameters for supported primitive types *************
141!
142integer(kind=4), parameter :: syscreal4 = 0
143integer(kind=4), parameter :: syscreal8 = 1
144integer(kind=4), parameter :: syscint4 = 2
145integer(kind=4), parameter :: syscint8 = 3
146!
147! *********************************************************************
159! *********************************************************************
161 integer(kind=8) :: analysistype
162 logical(kind=8) :: restartssupported
163 integer(kind=8) :: dimension
164end type syscsetupinfof
165!
166!**********************************************************************
168!**********************************************************************
169!
171!
172!**********************************************************************
179!**********************************************************************
180function syscgetsetupinfof() result(ret)
181!
182 import :: syscsetupinfof
183 type(syscsetupinfof) :: ret
184!
185!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
186!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF
187!DIR$ ENDIF
188!
189end function syscgetsetupinfof
190!
191!**********************************************************************
199!**********************************************************************
200function syscgetsetupinfof_a(analysisType) result(ret)
201!
202 import :: syscsetupinfof
203 integer(kind=4), intent(in) :: analysistype
204 type(syscsetupinfof) :: ret
205!
206!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
207!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF_A
208!DIR$ ENDIF
209!
210end function syscgetsetupinfof_a
211!
212!**********************************************************************
219!**********************************************************************
220function syscgetsetupinfof_ar(analysisType, &
221 restartsSupported) result(ret)
222!
223 import :: syscsetupinfof
224 integer(kind=4), intent(in) :: analysistype
225 logical, intent(in) :: restartssupported
226 type(syscsetupinfof) :: ret
227!
228!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
229!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF_AR
230!DIR$ ENDIF
231!
232 end function syscgetsetupinfof_ar
233!
234!**********************************************************************
242!**********************************************************************
243function syscgetsetupinfof_ard(analysisType, &
244 restartsSupported, dimension) result(ret)
245!
246 import :: syscsetupinfof
247 integer(kind=4), intent(in) :: analysistype
248 logical, intent(in) :: restartssupported
249 integer(kind=8), intent(in) :: dimension
250 type(syscsetupinfof) :: ret
251!
252!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
253!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupInfoF_ARD
254!DIR$ ENDIF
255!
256 end function syscgetsetupinfof_ard
257!
258end interface syscgetsetupinfof
259!
260! *********************************************************************
273! *********************************************************************
275 character(len=SyscFilePathLen) :: setupfilename
276 logical :: restartssupported
277end type syscsetupfileinfof
278!
279!**********************************************************************
282!**********************************************************************
283!
285!
286!**********************************************************************
294!**********************************************************************
295function syscgetsetupfileinfof(setupFileName) result(ret)
296!
297 import :: syscsetupfileinfof
298 character(len=*), intent(in) :: setupfilename
299 type(syscsetupfileinfof) :: ret
300!
301!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
302!DIR$ ATTRIBUTES DLLIMPORT :: syscGetSetupFileInfoF
303!DIR$ ENDIF
304!
305end function syscgetsetupfileinfof
306!
307end interface syscgetsetupfileinfof
308!
309! *********************************************************************
311! *********************************************************************
313 character(len=SyscFilePathLen) :: basefilename
314end type syscresultsinfof
315!
316!**********************************************************************
319!**********************************************************************
320!
322!
323!**********************************************************************
329!**********************************************************************
330function syscgetresultsinfof(baseFileName) result(ret)
331 import :: syscresultsinfof
332 character(len=*), intent(in) :: basefilename
333 type(syscresultsinfof) :: ret
334!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
335!DIR$ ATTRIBUTES DLLIMPORT :: syscGetResultsInfoF
336!DIR$ ENDIF
337end function syscgetresultsinfof
338!
339end interface syscgetresultsinfof
340!
341
342end 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