h2lib 13.2.702__py3-none-win_amd64.whl → 13.2.801__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- h2lib/HAWC2Lib.dll +0 -0
- h2lib/_h2lib.py +155 -69
- h2lib/_version.py +3 -3
- h2lib/distributed_sections.py +27 -9
- h2lib/h2lib_signatures.py +105 -172
- {h2lib-13.2.702.dist-info → h2lib-13.2.801.dist-info}/METADATA +2 -2
- h2lib-13.2.801.dist-info/RECORD +11 -0
- h2lib-13.2.702.dist-info/RECORD +0 -11
- {h2lib-13.2.702.dist-info → h2lib-13.2.801.dist-info}/WHEEL +0 -0
- {h2lib-13.2.702.dist-info → h2lib-13.2.801.dist-info}/top_level.txt +0 -0
h2lib/h2lib_signatures.py
CHANGED
@@ -4,7 +4,7 @@ from h2lib.dll_wrapper import DLLWrapper
|
|
4
4
|
|
5
5
|
|
6
6
|
class H2LibSignatures():
|
7
|
-
def
|
7
|
+
def _add_distributed_sections(self, mainbody_nr, nsec, sec_rel_pos, link_id, check_stop=True):
|
8
8
|
'''subroutine add_distributed_sections(mainbody_nr, nsec, sec_rel_pos, link_id) bind(C, name="add_distributed_sections")
|
9
9
|
integer*8, intent(in) :: mainbody_nr, nsec
|
10
10
|
integer*8, intent(out) :: link_id
|
@@ -12,14 +12,14 @@ class H2LibSignatures():
|
|
12
12
|
end subroutine'''
|
13
13
|
return self.get_lib_function('add_distributed_sections')(mainbody_nr, nsec, sec_rel_pos, link_id, check_stop=check_stop)
|
14
14
|
|
15
|
-
def
|
15
|
+
def _add_sensor(self, sensor_line, index_start, index_stop, check_stop=True):
|
16
16
|
'''subroutine add_sensor(sensor_line, index_start, index_stop) bind(C, name="add_sensor")
|
17
17
|
integer*8 :: index_start, index_stop
|
18
18
|
character(kind=c_char, len=1), intent(in) :: sensor_line(1024)
|
19
19
|
end subroutine'''
|
20
20
|
return self.get_lib_function('add_sensor')(sensor_line, index_start, index_stop, check_stop=check_stop)
|
21
21
|
|
22
|
-
def
|
22
|
+
def _body_output_element(self, ibdy, ielem, mass, stiffness, damping, error_code, check_stop=True):
|
23
23
|
'''subroutine body_output_element(ibdy, ielem, mass, stiffness, damping, error_code) &
|
24
24
|
integer(kind=4), intent(in) :: ibdy
|
25
25
|
integer(kind=4), intent(in) :: ielem
|
@@ -30,7 +30,7 @@ class H2LibSignatures():
|
|
30
30
|
end subroutine'''
|
31
31
|
return self.get_lib_function('body_output_element')(ibdy, ielem, mass, stiffness, damping, error_code, check_stop=check_stop)
|
32
32
|
|
33
|
-
def
|
33
|
+
def _body_output_mass(self, ibdy, body_mass, body_inertia, cog_global_frame, cog_body_frame, error_code, check_stop=True):
|
34
34
|
'''subroutine body_output_mass(ibdy, body_mass, body_inertia, cog_global_frame, cog_body_frame, error_code) &
|
35
35
|
integer(kind=4), intent(in) :: ibdy
|
36
36
|
real(kind=c_double), intent(out) :: body_mass
|
@@ -41,7 +41,7 @@ end subroutine'''
|
|
41
41
|
end subroutine'''
|
42
42
|
return self.get_lib_function('body_output_mass')(ibdy, body_mass, body_inertia, cog_global_frame, cog_body_frame, error_code, check_stop=check_stop)
|
43
43
|
|
44
|
-
def
|
44
|
+
def _check_convergence(self, bconv, resq, resg, resd, check_stop=True):
|
45
45
|
'''subroutine check_convergence(bconv, resq, resg, resd) bind(C, name='check_convergence')
|
46
46
|
logical(kind=c_bool), intent(out) :: bconv
|
47
47
|
real(c_double), intent(out) :: resq
|
@@ -50,7 +50,7 @@ end subroutine'''
|
|
50
50
|
end subroutine'''
|
51
51
|
return self.get_lib_function('check_convergence')(bconv, resq, resg, resd, check_stop=check_stop)
|
52
52
|
|
53
|
-
def
|
53
|
+
def _do_system_eigenanalysis(self, include_damping, n_modes, natural_frequencies, damping_ratios, error_code, check_stop=True):
|
54
54
|
'''subroutine do_system_eigenanalysis(include_damping, n_modes, natural_frequencies, damping_ratios, error_code) &
|
55
55
|
logical(kind=c_bool), intent(in) :: include_damping
|
56
56
|
integer(kind=4), intent(in) :: n_modes
|
@@ -60,35 +60,7 @@ integer(kind=8), intent(out) :: error_code
|
|
60
60
|
end subroutine'''
|
61
61
|
return self.get_lib_function('do_system_eigenanalysis')(include_damping, n_modes, natural_frequencies, damping_ratios, error_code, check_stop=check_stop)
|
62
62
|
|
63
|
-
def
|
64
|
-
'''subroutine echo_version() BIND(C, NAME='echo_version')
|
65
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: echo_version
|
66
|
-
!GCC$ ATTRIBUTES DLLEXPORT :: echo_version
|
67
|
-
type (tbuildinfo) :: b
|
68
|
-
end subroutine'''
|
69
|
-
return self.get_lib_function('echo_version')(check_stop=check_stop)
|
70
|
-
|
71
|
-
def extern_write_log(self, c_msg, n, dll_name, error, warning, check_stop=True):
|
72
|
-
'''subroutine extern_write_log(c_msg, n, dll_name, error, warning) bind(C, name="extern_write_log")
|
73
|
-
integer, intent(in) :: n
|
74
|
-
character(kind=c_char, len=1), intent(in) :: c_msg(n)
|
75
|
-
character(kind=c_char), intent(in) :: dll_name(50)
|
76
|
-
logical(kind=c_bool), intent(in), optional :: error, warning
|
77
|
-
character(kind=c_char, len=1), intent(in) :: c_msg(n_msg)
|
78
|
-
integer, intent(in) :: n_msg
|
79
|
-
character(kind=c_char), intent(in) :: dll_name(50)
|
80
|
-
character(len=50) :: n
|
81
|
-
logical(kind=c_bool), intent(in), optional :: error, warning
|
82
|
-
end subroutine'''
|
83
|
-
return self.get_lib_function('extern_write_log')(c_msg, n, dll_name, error, warning, check_stop=check_stop)
|
84
|
-
|
85
|
-
def fail(self, str_arr, check_stop=True):
|
86
|
-
'''subroutine fail(str_arr) bind(C, name='fail')
|
87
|
-
character(kind=c_char, len=1), intent(inout) :: str_arr(255)
|
88
|
-
end subroutine'''
|
89
|
-
return self.get_lib_function('fail')(str_arr, check_stop=check_stop)
|
90
|
-
|
91
|
-
def finalize(self, check_stop=True):
|
63
|
+
def _finalize(self, check_stop=True):
|
92
64
|
'''SUBROUTINE finalize() bind(C, name="finalize")
|
93
65
|
!DEC$ ATTRIBUTES DLLEXPORT :: finalize
|
94
66
|
integer:: i
|
@@ -96,43 +68,35 @@ end subroutine'''
|
|
96
68
|
END SUBROUTINE'''
|
97
69
|
return self.get_lib_function('finalize')(check_stop=check_stop)
|
98
70
|
|
99
|
-
def
|
100
|
-
'''function getSquare(val) result(valSquared) BIND(C, NAME='getSquare')
|
101
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: getSquare
|
102
|
-
real(RK), intent(in) :: val
|
103
|
-
real(RK) :: valSquared
|
104
|
-
end function'''
|
105
|
-
return self.get_lib_function('getSquare')(val, restype=restype, check_stop=check_stop)
|
106
|
-
|
107
|
-
def getState(self, restype, check_stop=True):
|
71
|
+
def _getState(self, restype, check_stop=True):
|
108
72
|
'''function getState() result(val) BIND(C, NAME='getState')
|
109
73
|
!DEC$ ATTRIBUTES DLLEXPORT :: getState
|
110
74
|
integer :: val
|
111
75
|
end function'''
|
112
76
|
return self.get_lib_function('getState')(restype=restype, check_stop=check_stop)
|
113
77
|
|
114
|
-
def
|
78
|
+
def _get_aerosections_forces(self, rotor, Fxyz, check_stop=True):
|
115
79
|
'''subroutine get_aerosections_forces(rotor, Fxyz) bind(C, name='get_aerosections_forces')
|
116
80
|
integer*8, intent(in) :: rotor
|
117
81
|
real(c_double),intent(out)::Fxyz(rotors_gl%rotor(rotor)%nbld, rotors_gl%rotor(rotor)%blade(1)%nsec, 3)
|
118
82
|
end subroutine'''
|
119
83
|
return self.get_lib_function('get_aerosections_forces')(rotor, Fxyz, check_stop=check_stop)
|
120
84
|
|
121
|
-
def
|
85
|
+
def _get_aerosections_moments(self, rotor, Mxyz, check_stop=True):
|
122
86
|
'''subroutine get_aerosections_moments(rotor, Mxyz) bind(C, name='get_aerosections_moments')
|
123
87
|
integer*8, intent(in) :: rotor
|
124
88
|
real(c_double),intent(out):: Mxyz(rotors_gl%rotor(rotor)%nbld, rotors_gl%rotor(rotor)%blade(1)%nsec, 3)
|
125
89
|
end subroutine'''
|
126
90
|
return self.get_lib_function('get_aerosections_moments')(rotor, Mxyz, check_stop=check_stop)
|
127
91
|
|
128
|
-
def
|
92
|
+
def _get_aerosections_position(self, rotor, position, check_stop=True):
|
129
93
|
'''subroutine get_aerosections_position(rotor, position) bind(C, name="get_aerosections_position")
|
130
94
|
integer*8, intent(in) :: rotor
|
131
95
|
real(c_double),intent(out) :: position(rotors_gl%rotor(rotor)%nbld, rotors_gl%rotor(rotor)%blade(1)%nsec, 3)
|
132
96
|
end subroutine'''
|
133
97
|
return self.get_lib_function('get_aerosections_position')(rotor, position, check_stop=check_stop)
|
134
98
|
|
135
|
-
def
|
99
|
+
def _get_bem_grid(self, rotor, azi, rad, check_stop=True):
|
136
100
|
'''subroutine get_bem_grid(rotor, azi, rad) bind(C, name="get_bem_grid")
|
137
101
|
integer*8, intent(in) :: rotor
|
138
102
|
real(c_double), intent(out) :: azi(rotors_gl%rotor(rotor)%dyn_induc%bem%nazi)
|
@@ -140,14 +104,14 @@ END SUBROUTINE'''
|
|
140
104
|
end subroutine'''
|
141
105
|
return self.get_lib_function('get_bem_grid')(rotor, azi, rad, check_stop=check_stop)
|
142
106
|
|
143
|
-
def
|
107
|
+
def _get_bem_grid_dim(self, rotor, nazi, nrad, check_stop=True):
|
144
108
|
'''subroutine get_bem_grid_dim(rotor, nazi, nrad) bind(C, name="get_bem_grid_dim")
|
145
109
|
integer*8, intent(in) :: rotor
|
146
110
|
integer*8, intent(out) :: nazi, nrad
|
147
111
|
end subroutine'''
|
148
112
|
return self.get_lib_function('get_bem_grid_dim')(rotor, nazi, nrad, check_stop=check_stop)
|
149
113
|
|
150
|
-
def
|
114
|
+
def _get_body_rotation_tensor(self, ibdy, amat, error_code, check_stop=True):
|
151
115
|
'''subroutine get_body_rotation_tensor(ibdy, amat, error_code) &
|
152
116
|
integer(kind=8), intent(in) :: ibdy
|
153
117
|
real(kind=c_double), dimension(3, 3), intent(out) :: amat
|
@@ -155,7 +119,7 @@ END SUBROUTINE'''
|
|
155
119
|
end subroutine'''
|
156
120
|
return self.get_lib_function('get_body_rotation_tensor')(ibdy, amat, error_code, check_stop=check_stop)
|
157
121
|
|
158
|
-
def
|
122
|
+
def _get_diameter(self, rotor, restype, check_stop=True):
|
159
123
|
'''function get_diameter(rotor) bind(C, name="get_diameter")
|
160
124
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_diameter
|
161
125
|
integer*8, intent(in) :: rotor
|
@@ -164,7 +128,7 @@ end subroutine'''
|
|
164
128
|
end function'''
|
165
129
|
return self.get_lib_function('get_diameter')(rotor, restype=restype, check_stop=check_stop)
|
166
130
|
|
167
|
-
def
|
131
|
+
def _get_distributed_section_position_orientation(self, link_type, link_id, nsec, sec_pos, sec_ori, mainbody_coo_nr, check_stop=True):
|
168
132
|
'''subroutine get_distributed_section_position_orientation(link_type, link_id, nsec, sec_pos, sec_ori, mainbody_coo_nr) bind(C, name="get_distributed_section_position_orientation")
|
169
133
|
integer*8, intent(in) :: link_type, link_id, nsec, mainbody_coo_nr
|
170
134
|
real(c_double), intent(out) :: sec_pos(nsec,3)
|
@@ -172,28 +136,28 @@ end subroutine'''
|
|
172
136
|
end subroutine'''
|
173
137
|
return self.get_lib_function('get_distributed_section_position_orientation')(link_type, link_id, nsec, sec_pos, sec_ori, mainbody_coo_nr, check_stop=check_stop)
|
174
138
|
|
175
|
-
def
|
139
|
+
def _get_distributed_sections(self, link_type, link_id, mainbody_nr, nsec, check_stop=True):
|
176
140
|
'''subroutine get_distributed_sections(link_type, link_id, mainbody_nr, nsec) bind(C, name="get_distributed_sections")
|
177
141
|
integer*8, intent(in) :: link_type, link_id
|
178
142
|
integer*8, intent(out) :: nsec, mainbody_nr
|
179
143
|
end subroutine'''
|
180
144
|
return self.get_lib_function('get_distributed_sections')(link_type, link_id, mainbody_nr, nsec, check_stop=check_stop)
|
181
145
|
|
182
|
-
def
|
146
|
+
def _get_induction_axisymmetric(self, rotor, induction, check_stop=True):
|
183
147
|
'''subroutine get_induction_axisymmetric(rotor, induction) bind(C, name="get_induction_axisymmetric")
|
184
148
|
integer*8, intent(in) :: rotor
|
185
149
|
real(c_double),intent(out) :: induction(rotors_gl%rotor(rotor)%dyn_induc%bem%nrad)
|
186
150
|
end subroutine'''
|
187
151
|
return self.get_lib_function('get_induction_axisymmetric')(rotor, induction, check_stop=check_stop)
|
188
152
|
|
189
|
-
def
|
153
|
+
def _get_induction_polargrid(self, rotor, induction, check_stop=True):
|
190
154
|
'''subroutine get_induction_polargrid(rotor, induction) bind(C, name="get_induction_polargrid")
|
191
155
|
integer*8, intent(in) :: rotor
|
192
156
|
real(c_double),intent(out) :: induction(rotors_gl%rotor(rotor)%dyn_induc%bem%nazi, rotors_gl%rotor(rotor)%dyn_induc%bem%nrad)
|
193
157
|
end subroutine'''
|
194
158
|
return self.get_lib_function('get_induction_polargrid')(rotor, induction, check_stop=check_stop)
|
195
159
|
|
196
|
-
def
|
160
|
+
def _get_induction_rotoravg(self, rotor, induction, check_stop=True):
|
197
161
|
'''subroutine get_induction_rotoravg(rotor, induction) bind(C, name="get_induction_rotoravg")
|
198
162
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_induction_rotoravg
|
199
163
|
integer*8, intent(in) :: rotor
|
@@ -201,14 +165,29 @@ end subroutine'''
|
|
201
165
|
end subroutine'''
|
202
166
|
return self.get_lib_function('get_induction_rotoravg')(rotor, induction, check_stop=check_stop)
|
203
167
|
|
204
|
-
def
|
168
|
+
def _get_mainbody_name(self, mainbody_nr, mainbody_name, check_stop=True):
|
205
169
|
'''subroutine get_mainbody_name(mainbody_nr, mainbody_name) bind(C, name="get_mainbody_name")
|
206
170
|
integer*8 :: mainbody_nr
|
207
171
|
character(kind=c_char, len=1), intent(inout) :: mainbody_name(256)
|
208
172
|
end subroutine'''
|
209
173
|
return self.get_lib_function('get_mainbody_name')(mainbody_nr, mainbody_name, check_stop=check_stop)
|
210
174
|
|
211
|
-
def
|
175
|
+
def _get_mainbody_nnodes(self, mainbody_nr, restype, check_stop=True):
|
176
|
+
'''function get_mainbody_nnodes(mainbody_nr) bind(C, name="get_mainbody_nnodes")
|
177
|
+
!dec$ attributes dllexport :: get_mainbody_nnodes
|
178
|
+
integer*8, intent(in) :: mainbody_nr
|
179
|
+
integer*8 :: get_mainbody_nnodes
|
180
|
+
end function'''
|
181
|
+
return self.get_lib_function('get_mainbody_nnodes')(mainbody_nr, restype=restype, check_stop=check_stop)
|
182
|
+
|
183
|
+
def _get_mainbody_nodes_state(self, mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state, check_stop=True):
|
184
|
+
'''subroutine get_mainbody_nodes_state(mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state) bind(C, name="get_mainbody_nodes_state")
|
185
|
+
integer*8, intent(in) :: mainbody_nr, state, nnodes, mainbody_coo_nr
|
186
|
+
real(c_double), intent(out) :: nodes_state(nnodes,3)
|
187
|
+
end subroutine'''
|
188
|
+
return self.get_lib_function('get_mainbody_nodes_state')(mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state, check_stop=check_stop)
|
189
|
+
|
190
|
+
def _get_mainbody_position_orientation(self, mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr, check_stop=True):
|
212
191
|
'''subroutine get_mainbody_position_orientation(mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr) bind(C, name="get_mainbody_position_orientation")
|
213
192
|
integer*8, intent(in) :: mainbody_nr, mainbody_coo_nr
|
214
193
|
real(c_double), intent(out) :: mbdy_pos(3)
|
@@ -216,7 +195,7 @@ end subroutine'''
|
|
216
195
|
end subroutine'''
|
217
196
|
return self.get_lib_function('get_mainbody_position_orientation')(mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr, check_stop=check_stop)
|
218
197
|
|
219
|
-
def
|
198
|
+
def _get_nSections(self, rotor, blade, restype, check_stop=True):
|
220
199
|
'''function get_nSections(rotor, blade) bind(C, name="get_nSections")
|
221
200
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nSections
|
222
201
|
integer*8, intent(in) :: rotor, blade
|
@@ -224,7 +203,7 @@ end subroutine'''
|
|
224
203
|
end function'''
|
225
204
|
return self.get_lib_function('get_nSections')(rotor, blade, restype=restype, check_stop=check_stop)
|
226
205
|
|
227
|
-
def
|
206
|
+
def _get_nblades(self, rotor, restype, check_stop=True):
|
228
207
|
'''function get_nblades(rotor) bind(C, name="get_nblades")
|
229
208
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nblades
|
230
209
|
integer*8, intent(in) :: rotor
|
@@ -232,14 +211,14 @@ end subroutine'''
|
|
232
211
|
end function'''
|
233
212
|
return self.get_lib_function('get_nblades')(rotor, restype=restype, check_stop=check_stop)
|
234
213
|
|
235
|
-
def
|
214
|
+
def _get_nrotors(self, restype, check_stop=True):
|
236
215
|
'''function get_nrotors() bind(C, name="get_nrotors")
|
237
216
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nrotors
|
238
217
|
integer*8 :: get_nrotors
|
239
218
|
end function'''
|
240
219
|
return self.get_lib_function('get_nrotors')(restype=restype, check_stop=check_stop)
|
241
220
|
|
242
|
-
def
|
221
|
+
def _get_number_of_bodies_and_constraints(self, nbdy, ncst, error_code, check_stop=True):
|
243
222
|
'''subroutine get_number_of_bodies_and_constraints(nbdy, ncst, error_code) &
|
244
223
|
integer(kind=8), intent(out) :: nbdy
|
245
224
|
integer(kind=8), intent(out) :: ncst
|
@@ -247,7 +226,7 @@ end subroutine'''
|
|
247
226
|
end subroutine'''
|
248
227
|
return self.get_lib_function('get_number_of_bodies_and_constraints')(nbdy, ncst, error_code, check_stop=check_stop)
|
249
228
|
|
250
|
-
def
|
229
|
+
def _get_number_of_elements(self, nbdy, nelem, error_code, check_stop=True):
|
251
230
|
'''subroutine get_number_of_elements(nbdy, nelem, error_code) &
|
252
231
|
integer(kind=8), intent(in) :: nbdy
|
253
232
|
integer(kind=8), dimension(nbdy), intent(out) :: nelem
|
@@ -255,14 +234,14 @@ end subroutine'''
|
|
255
234
|
end subroutine'''
|
256
235
|
return self.get_lib_function('get_number_of_elements')(nbdy, nelem, error_code, check_stop=check_stop)
|
257
236
|
|
258
|
-
def
|
237
|
+
def _get_number_of_mainbodies(self, restype, check_stop=True):
|
259
238
|
'''function get_number_of_mainbodies() bind(C, name="get_number_of_mainbodies")
|
260
239
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_number_of_mainbodies
|
261
240
|
integer*8 :: get_number_of_mainbodies
|
262
241
|
end function'''
|
263
242
|
return self.get_lib_function('get_number_of_mainbodies')(restype=restype, check_stop=check_stop)
|
264
243
|
|
265
|
-
def
|
244
|
+
def _get_rotor_avg_wsp(self, coo, rotor, wsp, check_stop=True):
|
266
245
|
'''subroutine get_rotor_avg_wsp(coo, rotor, wsp) bind(C, name="get_rotor_avg_wsp")
|
267
246
|
integer*8, intent(in) :: rotor
|
268
247
|
integer*8, intent(in) :: coo ! 1: global, 2: rotor
|
@@ -270,7 +249,7 @@ end subroutine'''
|
|
270
249
|
end subroutine'''
|
271
250
|
return self.get_lib_function('get_rotor_avg_wsp')(coo, rotor, wsp, check_stop=check_stop)
|
272
251
|
|
273
|
-
def
|
252
|
+
def _get_rotor_orientation(self, rotor, yaw, tilt, azi, check_stop=True):
|
274
253
|
'''subroutine get_rotor_orientation(rotor, yaw, tilt, azi) bind(C, name="get_rotor_orientation")
|
275
254
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_rotor_orientation
|
276
255
|
integer*8, intent(in) :: rotor
|
@@ -278,7 +257,7 @@ end subroutine'''
|
|
278
257
|
end subroutine'''
|
279
258
|
return self.get_lib_function('get_rotor_orientation')(rotor, yaw, tilt, azi, check_stop=check_stop)
|
280
259
|
|
281
|
-
def
|
260
|
+
def _get_rotor_position(self, rotor, position, check_stop=True):
|
282
261
|
'''subroutine get_rotor_position(rotor, position) bind(C, name="get_rotor_position")
|
283
262
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_rotor_position
|
284
263
|
integer*8, intent(in) :: rotor
|
@@ -289,14 +268,14 @@ end subroutine'''
|
|
289
268
|
end subroutine'''
|
290
269
|
return self.get_lib_function('get_rotor_position')(rotor, position, check_stop=check_stop)
|
291
270
|
|
292
|
-
def
|
271
|
+
def _get_sensor_info(self, id, name, unit, desc, check_stop=True):
|
293
272
|
'''subroutine get_sensor_info(id, name, unit, desc) bind(C, name="get_sensor_info")
|
294
273
|
integer*8, intent(in) :: id
|
295
274
|
character(kind=c_char, len=1), intent(out) :: name(30), unit(10), desc(512)
|
296
275
|
end subroutine'''
|
297
276
|
return self.get_lib_function('get_sensor_info')(id, name, unit, desc, check_stop=check_stop)
|
298
277
|
|
299
|
-
def
|
278
|
+
def _get_sensor_values(self, ids, values, n, check_stop=True):
|
300
279
|
'''subroutine get_sensor_values(ids, values, n) bind(C, name="get_sensor_values")
|
301
280
|
integer*8, intent(in) :: n
|
302
281
|
integer*8, intent(in) :: ids(n)
|
@@ -304,20 +283,7 @@ end subroutine'''
|
|
304
283
|
end subroutine'''
|
305
284
|
return self.get_lib_function('get_sensor_values')(ids, values, n, check_stop=check_stop)
|
306
285
|
|
307
|
-
def
|
308
|
-
'''subroutine get_stop_code(stop_code_) bind(C, name="get_stop_code")
|
309
|
-
integer*8, intent(out) :: stop_code_
|
310
|
-
end subroutine'''
|
311
|
-
return self.get_lib_function('get_stop_code')(stop_code_, check_stop=check_stop)
|
312
|
-
|
313
|
-
def get_stop_message(self, stop_message, check_stop=True):
|
314
|
-
'''subroutine get_stop_message(stop_message) bind(C, name="get_stop_message")
|
315
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: get_stop_message
|
316
|
-
character(kind=c_char, len=1), intent(inout) :: stop_message(1024)
|
317
|
-
end subroutine'''
|
318
|
-
return self.get_lib_function('get_stop_message')(stop_message, check_stop=check_stop)
|
319
|
-
|
320
|
-
def get_system_eigval_eigvec_with_damping(self, n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=True):
|
286
|
+
def _get_system_eigval_eigvec_with_damping(self, n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=True):
|
321
287
|
'''subroutine get_system_eigval_eigvec_with_damping(n_modes, ny, eigenvalues, eigenvectors, error_code) &
|
322
288
|
integer(kind=4), intent(in) :: n_modes
|
323
289
|
integer(kind=4), intent(in) :: ny
|
@@ -327,7 +293,7 @@ integer(kind=8), intent(out) :: error_code
|
|
327
293
|
end subroutine'''
|
328
294
|
return self.get_lib_function('get_system_eigval_eigvec_with_damping')(n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=check_stop)
|
329
295
|
|
330
|
-
def
|
296
|
+
def _get_system_eigval_eigvec_without_damping(self, n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=True):
|
331
297
|
'''subroutine get_system_eigval_eigvec_without_damping(n_modes, ny, eigenvalues, eigenvectors, error_code) &
|
332
298
|
integer(kind=4), intent(in) :: n_modes
|
333
299
|
integer(kind=4), intent(in) :: ny
|
@@ -337,7 +303,7 @@ integer(kind=8), intent(out) :: error_code
|
|
337
303
|
end subroutine'''
|
338
304
|
return self.get_lib_function('get_system_eigval_eigvec_without_damping')(n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=check_stop)
|
339
305
|
|
340
|
-
def
|
306
|
+
def _get_system_matrices(self, n_tdofs, n_rdofs, M, C, K, R, error_code, check_stop=True):
|
341
307
|
'''subroutine get_system_matrices(n_tdofs, n_rdofs, M, C, K, R, error_code) &
|
342
308
|
integer(kind=4), intent(in) :: n_tdofs
|
343
309
|
integer(kind=4), intent(in) :: n_rdofs
|
@@ -349,12 +315,12 @@ integer(kind=8), intent(out) :: error_code
|
|
349
315
|
end subroutine'''
|
350
316
|
return self.get_lib_function('get_system_matrices')(n_tdofs, n_rdofs, M, C, K, R, error_code, check_stop=check_stop)
|
351
317
|
|
352
|
-
def
|
318
|
+
def _get_time(self, time, check_stop=True):
|
353
319
|
'''subroutine
|
354
320
|
subroutine'''
|
355
321
|
return self.get_lib_function('get_time')(time, check_stop=check_stop)
|
356
322
|
|
357
|
-
def
|
323
|
+
def _get_timoshenko_location(self, ibdy, ielem, l, r1, r12, tes, error_code, check_stop=True):
|
358
324
|
'''subroutine get_timoshenko_location(ibdy, ielem, l, r1, r12, tes, error_code) &
|
359
325
|
integer(kind=8), intent(in) :: ibdy
|
360
326
|
integer(kind=8), intent(in) :: ielem
|
@@ -366,19 +332,19 @@ subroutine'''
|
|
366
332
|
end subroutine'''
|
367
333
|
return self.get_lib_function('get_timoshenko_location')(ibdy, ielem, l, r1, r12, tes, error_code, check_stop=check_stop)
|
368
334
|
|
369
|
-
def
|
335
|
+
def _get_version(self, s, check_stop=True):
|
370
336
|
'''subroutine get_version(s) BIND(C, NAME='get_version')
|
371
337
|
character(kind=c_char, len=1), intent(inout) :: s(255)
|
372
338
|
end subroutine'''
|
373
339
|
return self.get_lib_function('get_version')(s, check_stop=check_stop)
|
374
340
|
|
375
|
-
def
|
341
|
+
def _init(self, check_stop=True):
|
376
342
|
'''subroutine init() bind(C, name="init")
|
377
343
|
!DEC$ ATTRIBUTES DLLEXPORT :: init
|
378
344
|
end subroutine'''
|
379
345
|
return self.get_lib_function('init')(check_stop=check_stop)
|
380
346
|
|
381
|
-
def
|
347
|
+
def _init_AD(self, rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h, check_stop=True):
|
382
348
|
'''subroutine init_AD(rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h) bind(C, name="init_AD")
|
383
349
|
integer*8, intent(in) :: rotor
|
384
350
|
integer*8, intent(in) :: tiploss_method
|
@@ -386,21 +352,21 @@ end subroutine'''
|
|
386
352
|
end subroutine'''
|
387
353
|
return self.get_lib_function('init_AD')(rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h, check_stop=check_stop)
|
388
354
|
|
389
|
-
def
|
355
|
+
def _init_AL(self, rotor, epsilon_smearing, check_stop=True):
|
390
356
|
'''subroutine init_AL(rotor, epsilon_smearing) bind(C, name="init_AL")
|
391
357
|
real(c_double), intent(in) :: epsilon_smearing
|
392
358
|
integer*8, intent(in) :: rotor
|
393
359
|
end subroutine'''
|
394
360
|
return self.get_lib_function('init_AL')(rotor, epsilon_smearing, check_stop=check_stop)
|
395
361
|
|
396
|
-
def
|
362
|
+
def _init_windfield(self, Nxyz, dxyz, box_offset_yz, transport_speed, check_stop=True):
|
397
363
|
'''subroutine init_windfield(Nxyz, dxyz, box_offset_yz, transport_speed) bind(C, name="init_windfield")
|
398
364
|
integer*8, dimension(3), intent(in) :: Nxyz
|
399
365
|
real*8 :: transport_speed
|
400
366
|
end subroutine'''
|
401
367
|
return self.get_lib_function('init_windfield')(Nxyz, dxyz, box_offset_yz, transport_speed, check_stop=check_stop)
|
402
368
|
|
403
|
-
def
|
369
|
+
def _initialize_distributed_sections(self, check_stop=True):
|
404
370
|
'''subroutine initialize_distributed_sections() bind(C, name="initialize_distributed_sections")
|
405
371
|
!DEC$ ATTRIBUTES DLLEXPORT :: initialize_distributed_sections
|
406
372
|
type (TBodyLink), pointer :: bodylink
|
@@ -414,14 +380,14 @@ end subroutine'''
|
|
414
380
|
end subroutine'''
|
415
381
|
return self.get_lib_function('initialize_distributed_sections')(check_stop=check_stop)
|
416
382
|
|
417
|
-
def
|
383
|
+
def _linearize(self, n_tdofs, n_rdofs, check_stop=True):
|
418
384
|
'''subroutine linearize(n_tdofs, n_rdofs) bind(C, name="linearize")
|
419
385
|
integer(kind=8), intent(out) :: n_tdofs
|
420
386
|
integer(kind=8), intent(out) :: n_rdofs
|
421
387
|
end subroutine'''
|
422
388
|
return self.get_lib_function('linearize')(n_tdofs, n_rdofs, check_stop=check_stop)
|
423
389
|
|
424
|
-
def
|
390
|
+
def _loop(self, N, restype, check_stop=True):
|
425
391
|
'''function loop(N) bind(C, Name='loop')
|
426
392
|
!DEC$ ATTRIBUTES DLLEXPORT :: loop
|
427
393
|
integer*8, intent(in) :: N
|
@@ -430,35 +396,13 @@ end subroutine'''
|
|
430
396
|
end function'''
|
431
397
|
return self.get_lib_function('loop')(N, restype=restype, check_stop=check_stop)
|
432
398
|
|
433
|
-
def
|
434
|
-
'''function myfunction(int, dbl) bind(C, name='myfunction')
|
435
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: myfunction
|
436
|
-
integer*8, intent(in) :: int
|
437
|
-
real(c_double), intent(in) :: dbl
|
438
|
-
real(c_double) :: myfunction
|
439
|
-
end function'''
|
440
|
-
return self.get_lib_function('myfunction')(int, dbl, restype=restype, check_stop=check_stop)
|
441
|
-
|
442
|
-
def mysubroutine(self, str_arr, dbl_arr, check_stop=True):
|
443
|
-
'''subroutine mysubroutine(str_arr, dbl_arr) bind(C, name='mysubroutine')
|
444
|
-
character(kind=c_char, len=1), intent(inout) :: str_arr(20)
|
445
|
-
real(c_double), intent(inout), dimension(2) :: dbl_arr
|
446
|
-
end subroutine'''
|
447
|
-
return self.get_lib_function('mysubroutine')(str_arr, dbl_arr, check_stop=check_stop)
|
448
|
-
|
449
|
-
def read_input(self, htc_path, check_stop=True):
|
399
|
+
def _read_input(self, htc_path, check_stop=True):
|
450
400
|
'''subroutine read_input(htc_path) bind(C, name="read_input")
|
451
401
|
character(kind=c_char, len=1), intent(in) :: htc_path(1024)
|
452
402
|
end subroutine'''
|
453
403
|
return self.get_lib_function('read_input')(htc_path, check_stop=check_stop)
|
454
404
|
|
455
|
-
def
|
456
|
-
'''subroutine reset_stop_code_and_message() bind(C, name="reset_stop_code_and_message")
|
457
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: reset_stop_code_and_message
|
458
|
-
end subroutine'''
|
459
|
-
return self.get_lib_function('reset_stop_code_and_message')(check_stop=check_stop)
|
460
|
-
|
461
|
-
def run(self, time, restype, check_stop=True):
|
405
|
+
def _run(self, time, restype, check_stop=True):
|
462
406
|
'''function run(time) bind(C, name='run')
|
463
407
|
!DEC$ ATTRIBUTES DLLEXPORT :: run
|
464
408
|
real(c_double), intent(in) :: time
|
@@ -466,41 +410,34 @@ end subroutine'''
|
|
466
410
|
end function'''
|
467
411
|
return self.get_lib_function('run')(time, restype=restype, check_stop=check_stop)
|
468
412
|
|
469
|
-
def
|
470
|
-
'''subroutine setState(val) BIND(C, NAME='setState')
|
471
|
-
integer, intent(in) :: val
|
472
|
-
end subroutine'''
|
473
|
-
return self.get_lib_function('setState')(val, check_stop=check_stop)
|
474
|
-
|
475
|
-
def set_aerosections_windspeed(self, rotor, uvw, check_stop=True):
|
413
|
+
def _set_aerosections_windspeed(self, rotor, uvw, check_stop=True):
|
476
414
|
'''subroutine set_aerosections_windspeed(rotor, uvw) bind(C, name="set_aerosections_windspeed")
|
477
415
|
integer*8, intent(in) :: rotor
|
478
416
|
real(c_double),intent(in) :: uvw(rotors_gl%rotor(rotor)%nbld, rotors_gl%rotor(rotor)%blade(1)%nsec, 3)
|
479
417
|
end subroutine'''
|
480
418
|
return self.get_lib_function('set_aerosections_windspeed')(rotor, uvw, check_stop=check_stop)
|
481
419
|
|
482
|
-
def
|
483
|
-
'''subroutine
|
484
|
-
character(kind=c_char, len=1), dimension(256),
|
485
|
-
|
486
|
-
|
487
|
-
logical(kind=c_bool),
|
488
|
-
logical(kind=c_bool),
|
489
|
-
|
420
|
+
def _set_cx_def(self, main_body_name, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code, check_stop=True):
|
421
|
+
'''subroutine set_cx_def(main_body_name, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code) bind(C, name="set_cx_def")
|
422
|
+
character(kind=c_char, len=1), dimension(256), intent(in ) :: main_body_name
|
423
|
+
integer(kind=4), intent(in ) :: nsec, n_cols
|
424
|
+
real(kind=c_double), dimension(nsec, n_cols), intent(in ) :: cx_def
|
425
|
+
logical(kind=c_bool), intent(in ) :: twist_in_deg
|
426
|
+
logical(kind=c_bool), intent(in ) :: check_length
|
427
|
+
logical, intent(in ) :: update_structure
|
428
|
+
integer(kind=8), intent( out) :: error_code
|
490
429
|
character(kind=c_char, len=256) :: mbdy_name ! Same as main_body_name, but as string instead of an array of characters.
|
491
|
-
type(Tmain_body_input), pointer :: main_body ! The main body whose c2_def we want to update.
|
492
|
-
type(Tc2def_input), pointer :: c2def_input ! The c2_def of main_body.
|
493
430
|
end subroutine'''
|
494
|
-
return self.get_lib_function('
|
431
|
+
return self.get_lib_function('set_cx_def')(main_body_name, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code, check_stop=check_stop)
|
495
432
|
|
496
|
-
def
|
497
|
-
'''subroutine set_distributed_section_force_and_moment(link_type, link_id, nsec, frc_g, mom_g) bind(C, name="set_distributed_section_force_and_moment")
|
498
|
-
integer*8, intent(in) :: link_type, link_id, nsec
|
433
|
+
def _set_distributed_section_force_and_moment(self, link_type, link_id, nsec, frc_g, mom_g, mainbody_coo_nr, check_stop=True):
|
434
|
+
'''subroutine set_distributed_section_force_and_moment(link_type, link_id, nsec, frc_g, mom_g, mainbody_coo_nr) bind(C, name="set_distributed_section_force_and_moment")
|
435
|
+
integer*8, intent(in) :: link_type, link_id, nsec, mainbody_coo_nr
|
499
436
|
real(c_double), intent(in) :: frc_g(nsec,3), mom_g(nsec,3)
|
500
437
|
end subroutine'''
|
501
|
-
return self.get_lib_function('set_distributed_section_force_and_moment')(link_type, link_id, nsec, frc_g, mom_g, check_stop=check_stop)
|
438
|
+
return self.get_lib_function('set_distributed_section_force_and_moment')(link_type, link_id, nsec, frc_g, mom_g, mainbody_coo_nr, check_stop=check_stop)
|
502
439
|
|
503
|
-
def
|
440
|
+
def _set_orientation_base(self, main_body_name, n_rows, mbdy_eulerang_table, angles_in_deg, reset_orientation, mbdy_ini_rotvec_d1, error_code, check_stop=True):
|
504
441
|
'''subroutine set_orientation_base(main_body_name, n_rows, mbdy_eulerang_table, angles_in_deg, reset_orientation, mbdy_ini_rotvec_d1, error_code) &
|
505
442
|
character(kind=c_char, len=1), dimension(256), intent(in) :: main_body_name
|
506
443
|
integer(kind=4), intent(in) :: n_rows
|
@@ -512,7 +449,7 @@ integer(kind=8), intent(out) :: error_code ! Error code.
|
|
512
449
|
end subroutine'''
|
513
450
|
return self.get_lib_function('set_orientation_base')(main_body_name, n_rows, mbdy_eulerang_table, angles_in_deg, reset_orientation, mbdy_ini_rotvec_d1, error_code, check_stop=check_stop)
|
514
451
|
|
515
|
-
def
|
452
|
+
def _set_orientation_relative(self, main_body_1_name, node_1, main_body_2_name, node_2, n_rows, mbdy2_eulerang_table, angles_in_deg, reset_orientation, mbdy2_ini_rotvec_d1, error_code, check_stop=True):
|
516
453
|
'''subroutine set_orientation_relative(main_body_1_name, node_1, main_body_2_name, node_2, n_rows, mbdy2_eulerang_table, angles_in_deg, reset_orientation, mbdy2_ini_rotvec_d1, error_code) &
|
517
454
|
character(kind=c_char, len=1), dimension(256), intent(in ) :: main_body_1_name ! Defined as an array of length 1 characters because of bind.
|
518
455
|
character(kind=c_char, len=1), dimension(256), intent(in ) :: main_body_2_name ! Defined as an array of length 1 characters because of bind.
|
@@ -533,89 +470,85 @@ real*8, dimension(3) :: eulerang ! Euler angles associated to 1 r
|
|
533
470
|
end subroutine'''
|
534
471
|
return self.get_lib_function('set_orientation_relative')(main_body_1_name, node_1, main_body_2_name, node_2, n_rows, mbdy2_eulerang_table, angles_in_deg, reset_orientation, mbdy2_ini_rotvec_d1, error_code, check_stop=check_stop)
|
535
472
|
|
536
|
-
def
|
473
|
+
def _set_st(self, main_body_name, n_rows, n_cols, st, update_structure, error_code, check_stop=True):
|
474
|
+
'''subroutine set_st(main_body_name, n_rows, n_cols, st, update_structure, error_code) bind(C, name="set_st")
|
475
|
+
character(kind=c_char, len=1), dimension(256), intent(in ) :: main_body_name ! Defined as an array of length 1 characters because of bind.
|
476
|
+
integer(kind=4), intent(in ) :: n_rows
|
477
|
+
integer(kind=4), intent(in ) :: n_cols
|
478
|
+
real(kind=c_double), dimension(n_rows, n_cols), intent(in ) :: st
|
479
|
+
logical, intent(in ) :: update_structure
|
480
|
+
integer(kind=8), intent( out) :: error_code
|
481
|
+
character(kind=c_char, len=256) :: mbdy_name ! Same as main_body_name, but as string instead of an array of characters.
|
482
|
+
type(Tmain_body_input), pointer :: main_body ! The main body whose st we want to update.
|
483
|
+
end subroutine'''
|
484
|
+
return self.get_lib_function('set_st')(main_body_name, n_rows, n_cols, st, update_structure, error_code, check_stop=check_stop)
|
485
|
+
|
486
|
+
def _set_variable_sensor_value(self, id, value, check_stop=True):
|
537
487
|
'''subroutine set_variable_sensor_value(id, value) bind(C, name="set_variable_sensor_value")
|
538
488
|
integer*8, intent(in) :: id
|
539
489
|
real(c_double) :: value
|
540
490
|
end subroutine'''
|
541
491
|
return self.get_lib_function('set_variable_sensor_value')(id, value, check_stop=check_stop)
|
542
492
|
|
543
|
-
def
|
493
|
+
def _set_windfield(self, uvw, box_offset_x, time, check_stop=True):
|
544
494
|
'''subroutine set_windfield(uvw, box_offset_x, time) bind(C, name="set_windfield")
|
545
495
|
real*4, intent(in) :: uvw(3, gwsd%TMOD%buffer_points_x,gwsd%TMOD%buffer_points_y,gwsd%TMOD%buffer_points_z)
|
546
496
|
real*8, intent(in):: box_offset_x, time
|
547
497
|
end subroutine'''
|
548
498
|
return self.get_lib_function('set_windfield')(uvw, box_offset_x, time, check_stop=check_stop)
|
549
499
|
|
550
|
-
def
|
500
|
+
def _solver_static_delete(self, check_stop=True):
|
551
501
|
'''subroutine solver_static_delete() &
|
552
502
|
!DEC$ ATTRIBUTES DLLEXPORT :: solver_static_delete
|
553
503
|
end subroutine'''
|
554
504
|
return self.get_lib_function('solver_static_delete')(check_stop=check_stop)
|
555
505
|
|
556
|
-
def
|
506
|
+
def _solver_static_init(self, check_stop=True):
|
557
507
|
'''subroutine solver_static_init() &
|
558
508
|
!DEC$ ATTRIBUTES DLLEXPORT :: solver_static_init
|
559
509
|
end subroutine'''
|
560
510
|
return self.get_lib_function('solver_static_init')(check_stop=check_stop)
|
561
511
|
|
562
|
-
def
|
512
|
+
def _solver_static_run(self, reset_structure, error_code, check_stop=True):
|
563
513
|
'''subroutine solver_static_run(reset_structure, error_code) bind(C, name="solver_static_run")
|
564
514
|
logical(c_bool), intent(in) :: reset_structure
|
565
515
|
integer(8), intent(out) :: error_code
|
566
516
|
end subroutine'''
|
567
517
|
return self.get_lib_function('solver_static_run')(reset_structure, error_code, check_stop=check_stop)
|
568
518
|
|
569
|
-
def
|
519
|
+
def _solver_static_solve(self, error_code, check_stop=True):
|
570
520
|
'''subroutine solver_static_solve(error_code) &
|
571
521
|
integer*8, intent(out) :: error_code
|
572
522
|
end subroutine'''
|
573
523
|
return self.get_lib_function('solver_static_solve')(error_code, check_stop=check_stop)
|
574
524
|
|
575
|
-
def
|
525
|
+
def _solver_static_update(self, error_code, check_stop=True):
|
576
526
|
'''subroutine solver_static_update(error_code) &
|
577
527
|
integer*8, intent(out) :: error_code
|
578
528
|
end subroutine'''
|
579
529
|
return self.get_lib_function('solver_static_update')(error_code, check_stop=check_stop)
|
580
530
|
|
581
|
-
def
|
582
|
-
'''subroutine sqr2(val) BIND(C, NAME='sqr2')
|
583
|
-
integer, intent(inout) :: val
|
584
|
-
end subroutine'''
|
585
|
-
return self.get_lib_function('sqr2')(val, check_stop=check_stop)
|
586
|
-
|
587
|
-
def step(self, restype, check_stop=True):
|
531
|
+
def _step(self, restype, check_stop=True):
|
588
532
|
'''function step() bind(C, name='step')
|
589
533
|
!DEC$ ATTRIBUTES DLLEXPORT :: step
|
590
534
|
real(c_double) :: step
|
591
535
|
end function'''
|
592
536
|
return self.get_lib_function('step')(restype=restype, check_stop=check_stop)
|
593
537
|
|
594
|
-
def
|
538
|
+
def _stop_on_error(self, flag, check_stop=True):
|
595
539
|
'''subroutine stop_on_error(flag) bind(C, name="stop_on_error")
|
596
540
|
logical(c_bool), intent(in) :: flag
|
597
541
|
end subroutine'''
|
598
542
|
return self.get_lib_function('stop_on_error')(flag, check_stop=check_stop)
|
599
543
|
|
600
|
-
def
|
544
|
+
def _structure_reset(self, check_stop=True):
|
601
545
|
'''subroutine structure_reset() bind(C, name="structure_reset")
|
602
546
|
!DEC$ ATTRIBUTES DLLEXPORT :: structure_reset
|
603
547
|
integer*4 :: i, j
|
604
548
|
end subroutine'''
|
605
549
|
return self.get_lib_function('structure_reset')(check_stop=check_stop)
|
606
550
|
|
607
|
-
def
|
608
|
-
'''subroutine test_hdf5() BIND(C, NAME='test_hdf5')
|
609
|
-
!DEC$ ATTRIBUTES DLLEXPORT :: test_hdf5
|
610
|
-
INTEGER :: hdferr ! Error flag
|
611
|
-
CHARACTER(9) :: filename = 'test.hdf5'
|
612
|
-
INTEGER(HID_T) :: file_id ! File identifier
|
613
|
-
INTEGER(HID_T) :: H5_Create_file,H5_Open_file ! File identifier
|
614
|
-
type(c_ptr) :: x
|
615
|
-
end subroutine'''
|
616
|
-
return self.get_lib_function('test_hdf5')(check_stop=check_stop)
|
617
|
-
|
618
|
-
def work(self, time, restype, check_stop=True):
|
551
|
+
def _work(self, time, restype, check_stop=True):
|
619
552
|
'''function work(time) bind(C, Name='work')
|
620
553
|
!DEC$ ATTRIBUTES DLLEXPORT :: work
|
621
554
|
real(c_double), intent(in) :: time
|
@@ -624,7 +557,7 @@ end subroutine'''
|
|
624
557
|
end function'''
|
625
558
|
return self.get_lib_function('work')(time, restype=restype, check_stop=check_stop)
|
626
559
|
|
627
|
-
def
|
560
|
+
def _write_output(self, check_stop=True):
|
628
561
|
'''subroutine write_output() bind(C, name="write_output")
|
629
562
|
!DEC$ ATTRIBUTES DLLEXPORT :: write_output
|
630
563
|
integer :: nr, dummy=1
|