h2lib 13.2.702__py3-none-win_amd64.whl → 13.2.901__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 +161 -73
- h2lib/_version.py +3 -3
- h2lib/distributed_sections.py +66 -13
- h2lib/dll_wrapper.py +13 -10
- h2lib/h2lib_signatures.py +116 -181
- {h2lib-13.2.702.dist-info → h2lib-13.2.901.dist-info}/METADATA +2 -2
- h2lib-13.2.901.dist-info/RECORD +11 -0
- h2lib-13.2.702.dist-info/RECORD +0 -11
- {h2lib-13.2.702.dist-info → h2lib-13.2.901.dist-info}/WHEEL +0 -0
- {h2lib-13.2.702.dist-info → h2lib-13.2.901.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,14 @@ 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_force_and_moment(self, link_type, link_id, nsec, frc, mom, mainbody_coo_nr, check_stop=True):
|
132
|
+
'''subroutine get_distributed_section_force_and_moment(link_type, link_id, nsec, frc, mom, mainbody_coo_nr) bind(C, name="get_distributed_section_force_and_moment")
|
133
|
+
integer*8, intent(in) :: link_type, link_id, nsec, mainbody_coo_nr
|
134
|
+
real(c_double), intent(out) :: frc(nsec,3), mom(nsec,3)
|
135
|
+
end subroutine'''
|
136
|
+
return self.get_lib_function('get_distributed_section_force_and_moment')(link_type, link_id, nsec, frc, mom, mainbody_coo_nr, check_stop=check_stop)
|
137
|
+
|
138
|
+
def _get_distributed_section_position_orientation(self, link_type, link_id, nsec, sec_pos, sec_ori, mainbody_coo_nr, check_stop=True):
|
168
139
|
'''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
140
|
integer*8, intent(in) :: link_type, link_id, nsec, mainbody_coo_nr
|
170
141
|
real(c_double), intent(out) :: sec_pos(nsec,3)
|
@@ -172,28 +143,28 @@ end subroutine'''
|
|
172
143
|
end subroutine'''
|
173
144
|
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
145
|
|
175
|
-
def
|
146
|
+
def _get_distributed_sections(self, link_type, link_id, mainbody_nr, nsec, check_stop=True):
|
176
147
|
'''subroutine get_distributed_sections(link_type, link_id, mainbody_nr, nsec) bind(C, name="get_distributed_sections")
|
177
148
|
integer*8, intent(in) :: link_type, link_id
|
178
149
|
integer*8, intent(out) :: nsec, mainbody_nr
|
179
150
|
end subroutine'''
|
180
151
|
return self.get_lib_function('get_distributed_sections')(link_type, link_id, mainbody_nr, nsec, check_stop=check_stop)
|
181
152
|
|
182
|
-
def
|
153
|
+
def _get_induction_axisymmetric(self, rotor, induction, check_stop=True):
|
183
154
|
'''subroutine get_induction_axisymmetric(rotor, induction) bind(C, name="get_induction_axisymmetric")
|
184
155
|
integer*8, intent(in) :: rotor
|
185
156
|
real(c_double),intent(out) :: induction(rotors_gl%rotor(rotor)%dyn_induc%bem%nrad)
|
186
157
|
end subroutine'''
|
187
158
|
return self.get_lib_function('get_induction_axisymmetric')(rotor, induction, check_stop=check_stop)
|
188
159
|
|
189
|
-
def
|
160
|
+
def _get_induction_polargrid(self, rotor, induction, check_stop=True):
|
190
161
|
'''subroutine get_induction_polargrid(rotor, induction) bind(C, name="get_induction_polargrid")
|
191
162
|
integer*8, intent(in) :: rotor
|
192
163
|
real(c_double),intent(out) :: induction(rotors_gl%rotor(rotor)%dyn_induc%bem%nazi, rotors_gl%rotor(rotor)%dyn_induc%bem%nrad)
|
193
164
|
end subroutine'''
|
194
165
|
return self.get_lib_function('get_induction_polargrid')(rotor, induction, check_stop=check_stop)
|
195
166
|
|
196
|
-
def
|
167
|
+
def _get_induction_rotoravg(self, rotor, induction, check_stop=True):
|
197
168
|
'''subroutine get_induction_rotoravg(rotor, induction) bind(C, name="get_induction_rotoravg")
|
198
169
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_induction_rotoravg
|
199
170
|
integer*8, intent(in) :: rotor
|
@@ -201,14 +172,29 @@ end subroutine'''
|
|
201
172
|
end subroutine'''
|
202
173
|
return self.get_lib_function('get_induction_rotoravg')(rotor, induction, check_stop=check_stop)
|
203
174
|
|
204
|
-
def
|
175
|
+
def _get_mainbody_name(self, mainbody_nr, mainbody_name, check_stop=True):
|
205
176
|
'''subroutine get_mainbody_name(mainbody_nr, mainbody_name) bind(C, name="get_mainbody_name")
|
206
177
|
integer*8 :: mainbody_nr
|
207
|
-
character(kind=c_char, len=1), intent(
|
178
|
+
character(kind=c_char, len=1), intent(out) :: mainbody_name(256)
|
208
179
|
end subroutine'''
|
209
180
|
return self.get_lib_function('get_mainbody_name')(mainbody_nr, mainbody_name, check_stop=check_stop)
|
210
181
|
|
211
|
-
def
|
182
|
+
def _get_mainbody_nnodes(self, mainbody_nr, restype, check_stop=True):
|
183
|
+
'''function get_mainbody_nnodes(mainbody_nr) bind(C, name="get_mainbody_nnodes")
|
184
|
+
!dec$ attributes dllexport :: get_mainbody_nnodes
|
185
|
+
integer*8, intent(in) :: mainbody_nr
|
186
|
+
integer*8 :: get_mainbody_nnodes
|
187
|
+
end function'''
|
188
|
+
return self.get_lib_function('get_mainbody_nnodes')(mainbody_nr, restype=restype, check_stop=check_stop)
|
189
|
+
|
190
|
+
def _get_mainbody_nodes_state(self, mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state, check_stop=True):
|
191
|
+
'''subroutine get_mainbody_nodes_state(mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state) bind(C, name="get_mainbody_nodes_state")
|
192
|
+
integer*8, intent(in) :: mainbody_nr, state, nnodes, mainbody_coo_nr
|
193
|
+
real(c_double), intent(out) :: nodes_state(nnodes,3)
|
194
|
+
end subroutine'''
|
195
|
+
return self.get_lib_function('get_mainbody_nodes_state')(mainbody_nr, state, nnodes, mainbody_coo_nr, nodes_state, check_stop=check_stop)
|
196
|
+
|
197
|
+
def _get_mainbody_position_orientation(self, mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr, check_stop=True):
|
212
198
|
'''subroutine get_mainbody_position_orientation(mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr) bind(C, name="get_mainbody_position_orientation")
|
213
199
|
integer*8, intent(in) :: mainbody_nr, mainbody_coo_nr
|
214
200
|
real(c_double), intent(out) :: mbdy_pos(3)
|
@@ -216,7 +202,7 @@ end subroutine'''
|
|
216
202
|
end subroutine'''
|
217
203
|
return self.get_lib_function('get_mainbody_position_orientation')(mainbody_nr, mbdy_pos, mbdy_ori, mainbody_coo_nr, check_stop=check_stop)
|
218
204
|
|
219
|
-
def
|
205
|
+
def _get_nSections(self, rotor, blade, restype, check_stop=True):
|
220
206
|
'''function get_nSections(rotor, blade) bind(C, name="get_nSections")
|
221
207
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nSections
|
222
208
|
integer*8, intent(in) :: rotor, blade
|
@@ -224,7 +210,7 @@ end subroutine'''
|
|
224
210
|
end function'''
|
225
211
|
return self.get_lib_function('get_nSections')(rotor, blade, restype=restype, check_stop=check_stop)
|
226
212
|
|
227
|
-
def
|
213
|
+
def _get_nblades(self, rotor, restype, check_stop=True):
|
228
214
|
'''function get_nblades(rotor) bind(C, name="get_nblades")
|
229
215
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nblades
|
230
216
|
integer*8, intent(in) :: rotor
|
@@ -232,14 +218,14 @@ end subroutine'''
|
|
232
218
|
end function'''
|
233
219
|
return self.get_lib_function('get_nblades')(rotor, restype=restype, check_stop=check_stop)
|
234
220
|
|
235
|
-
def
|
221
|
+
def _get_nrotors(self, restype, check_stop=True):
|
236
222
|
'''function get_nrotors() bind(C, name="get_nrotors")
|
237
223
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_nrotors
|
238
224
|
integer*8 :: get_nrotors
|
239
225
|
end function'''
|
240
226
|
return self.get_lib_function('get_nrotors')(restype=restype, check_stop=check_stop)
|
241
227
|
|
242
|
-
def
|
228
|
+
def _get_number_of_bodies_and_constraints(self, nbdy, ncst, error_code, check_stop=True):
|
243
229
|
'''subroutine get_number_of_bodies_and_constraints(nbdy, ncst, error_code) &
|
244
230
|
integer(kind=8), intent(out) :: nbdy
|
245
231
|
integer(kind=8), intent(out) :: ncst
|
@@ -247,7 +233,7 @@ end subroutine'''
|
|
247
233
|
end subroutine'''
|
248
234
|
return self.get_lib_function('get_number_of_bodies_and_constraints')(nbdy, ncst, error_code, check_stop=check_stop)
|
249
235
|
|
250
|
-
def
|
236
|
+
def _get_number_of_elements(self, nbdy, nelem, error_code, check_stop=True):
|
251
237
|
'''subroutine get_number_of_elements(nbdy, nelem, error_code) &
|
252
238
|
integer(kind=8), intent(in) :: nbdy
|
253
239
|
integer(kind=8), dimension(nbdy), intent(out) :: nelem
|
@@ -255,14 +241,14 @@ end subroutine'''
|
|
255
241
|
end subroutine'''
|
256
242
|
return self.get_lib_function('get_number_of_elements')(nbdy, nelem, error_code, check_stop=check_stop)
|
257
243
|
|
258
|
-
def
|
244
|
+
def _get_number_of_mainbodies(self, restype, check_stop=True):
|
259
245
|
'''function get_number_of_mainbodies() bind(C, name="get_number_of_mainbodies")
|
260
246
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_number_of_mainbodies
|
261
247
|
integer*8 :: get_number_of_mainbodies
|
262
248
|
end function'''
|
263
249
|
return self.get_lib_function('get_number_of_mainbodies')(restype=restype, check_stop=check_stop)
|
264
250
|
|
265
|
-
def
|
251
|
+
def _get_rotor_avg_wsp(self, coo, rotor, wsp, check_stop=True):
|
266
252
|
'''subroutine get_rotor_avg_wsp(coo, rotor, wsp) bind(C, name="get_rotor_avg_wsp")
|
267
253
|
integer*8, intent(in) :: rotor
|
268
254
|
integer*8, intent(in) :: coo ! 1: global, 2: rotor
|
@@ -270,7 +256,7 @@ end subroutine'''
|
|
270
256
|
end subroutine'''
|
271
257
|
return self.get_lib_function('get_rotor_avg_wsp')(coo, rotor, wsp, check_stop=check_stop)
|
272
258
|
|
273
|
-
def
|
259
|
+
def _get_rotor_orientation(self, rotor, yaw, tilt, azi, check_stop=True):
|
274
260
|
'''subroutine get_rotor_orientation(rotor, yaw, tilt, azi) bind(C, name="get_rotor_orientation")
|
275
261
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_rotor_orientation
|
276
262
|
integer*8, intent(in) :: rotor
|
@@ -278,7 +264,7 @@ end subroutine'''
|
|
278
264
|
end subroutine'''
|
279
265
|
return self.get_lib_function('get_rotor_orientation')(rotor, yaw, tilt, azi, check_stop=check_stop)
|
280
266
|
|
281
|
-
def
|
267
|
+
def _get_rotor_position(self, rotor, position, check_stop=True):
|
282
268
|
'''subroutine get_rotor_position(rotor, position) bind(C, name="get_rotor_position")
|
283
269
|
!DEC$ ATTRIBUTES DLLEXPORT :: get_rotor_position
|
284
270
|
integer*8, intent(in) :: rotor
|
@@ -289,14 +275,14 @@ end subroutine'''
|
|
289
275
|
end subroutine'''
|
290
276
|
return self.get_lib_function('get_rotor_position')(rotor, position, check_stop=check_stop)
|
291
277
|
|
292
|
-
def
|
278
|
+
def _get_sensor_info(self, id, name, unit, desc, check_stop=True):
|
293
279
|
'''subroutine get_sensor_info(id, name, unit, desc) bind(C, name="get_sensor_info")
|
294
280
|
integer*8, intent(in) :: id
|
295
281
|
character(kind=c_char, len=1), intent(out) :: name(30), unit(10), desc(512)
|
296
282
|
end subroutine'''
|
297
283
|
return self.get_lib_function('get_sensor_info')(id, name, unit, desc, check_stop=check_stop)
|
298
284
|
|
299
|
-
def
|
285
|
+
def _get_sensor_values(self, ids, values, n, check_stop=True):
|
300
286
|
'''subroutine get_sensor_values(ids, values, n) bind(C, name="get_sensor_values")
|
301
287
|
integer*8, intent(in) :: n
|
302
288
|
integer*8, intent(in) :: ids(n)
|
@@ -304,20 +290,7 @@ end subroutine'''
|
|
304
290
|
end subroutine'''
|
305
291
|
return self.get_lib_function('get_sensor_values')(ids, values, n, check_stop=check_stop)
|
306
292
|
|
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):
|
293
|
+
def _get_system_eigval_eigvec_with_damping(self, n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=True):
|
321
294
|
'''subroutine get_system_eigval_eigvec_with_damping(n_modes, ny, eigenvalues, eigenvectors, error_code) &
|
322
295
|
integer(kind=4), intent(in) :: n_modes
|
323
296
|
integer(kind=4), intent(in) :: ny
|
@@ -327,7 +300,7 @@ integer(kind=8), intent(out) :: error_code
|
|
327
300
|
end subroutine'''
|
328
301
|
return self.get_lib_function('get_system_eigval_eigvec_with_damping')(n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=check_stop)
|
329
302
|
|
330
|
-
def
|
303
|
+
def _get_system_eigval_eigvec_without_damping(self, n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=True):
|
331
304
|
'''subroutine get_system_eigval_eigvec_without_damping(n_modes, ny, eigenvalues, eigenvectors, error_code) &
|
332
305
|
integer(kind=4), intent(in) :: n_modes
|
333
306
|
integer(kind=4), intent(in) :: ny
|
@@ -337,7 +310,7 @@ integer(kind=8), intent(out) :: error_code
|
|
337
310
|
end subroutine'''
|
338
311
|
return self.get_lib_function('get_system_eigval_eigvec_without_damping')(n_modes, ny, eigenvalues, eigenvectors, error_code, check_stop=check_stop)
|
339
312
|
|
340
|
-
def
|
313
|
+
def _get_system_matrices(self, n_tdofs, n_rdofs, M, C, K, R, error_code, check_stop=True):
|
341
314
|
'''subroutine get_system_matrices(n_tdofs, n_rdofs, M, C, K, R, error_code) &
|
342
315
|
integer(kind=4), intent(in) :: n_tdofs
|
343
316
|
integer(kind=4), intent(in) :: n_rdofs
|
@@ -349,12 +322,12 @@ integer(kind=8), intent(out) :: error_code
|
|
349
322
|
end subroutine'''
|
350
323
|
return self.get_lib_function('get_system_matrices')(n_tdofs, n_rdofs, M, C, K, R, error_code, check_stop=check_stop)
|
351
324
|
|
352
|
-
def
|
325
|
+
def _get_time(self, time, check_stop=True):
|
353
326
|
'''subroutine
|
354
327
|
subroutine'''
|
355
328
|
return self.get_lib_function('get_time')(time, check_stop=check_stop)
|
356
329
|
|
357
|
-
def
|
330
|
+
def _get_timoshenko_location(self, ibdy, ielem, l, r1, r12, tes, error_code, check_stop=True):
|
358
331
|
'''subroutine get_timoshenko_location(ibdy, ielem, l, r1, r12, tes, error_code) &
|
359
332
|
integer(kind=8), intent(in) :: ibdy
|
360
333
|
integer(kind=8), intent(in) :: ielem
|
@@ -366,19 +339,19 @@ subroutine'''
|
|
366
339
|
end subroutine'''
|
367
340
|
return self.get_lib_function('get_timoshenko_location')(ibdy, ielem, l, r1, r12, tes, error_code, check_stop=check_stop)
|
368
341
|
|
369
|
-
def
|
342
|
+
def _get_version(self, s, check_stop=True):
|
370
343
|
'''subroutine get_version(s) BIND(C, NAME='get_version')
|
371
344
|
character(kind=c_char, len=1), intent(inout) :: s(255)
|
372
345
|
end subroutine'''
|
373
346
|
return self.get_lib_function('get_version')(s, check_stop=check_stop)
|
374
347
|
|
375
|
-
def
|
348
|
+
def _init(self, check_stop=True):
|
376
349
|
'''subroutine init() bind(C, name="init")
|
377
350
|
!DEC$ ATTRIBUTES DLLEXPORT :: init
|
378
351
|
end subroutine'''
|
379
352
|
return self.get_lib_function('init')(check_stop=check_stop)
|
380
353
|
|
381
|
-
def
|
354
|
+
def _init_AD(self, rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h, check_stop=True):
|
382
355
|
'''subroutine init_AD(rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h) bind(C, name="init_AD")
|
383
356
|
integer*8, intent(in) :: rotor
|
384
357
|
integer*8, intent(in) :: tiploss_method
|
@@ -386,42 +359,38 @@ end subroutine'''
|
|
386
359
|
end subroutine'''
|
387
360
|
return self.get_lib_function('init_AD')(rotor, tiploss_method, tiploss2_shen_c2, tiploss2_shen_h, check_stop=check_stop)
|
388
361
|
|
389
|
-
def
|
362
|
+
def _init_AL(self, rotor, epsilon_smearing, check_stop=True):
|
390
363
|
'''subroutine init_AL(rotor, epsilon_smearing) bind(C, name="init_AL")
|
391
364
|
real(c_double), intent(in) :: epsilon_smearing
|
392
365
|
integer*8, intent(in) :: rotor
|
393
366
|
end subroutine'''
|
394
367
|
return self.get_lib_function('init_AL')(rotor, epsilon_smearing, check_stop=check_stop)
|
395
368
|
|
396
|
-
def
|
369
|
+
def _init_windfield(self, Nxyz, dxyz, box_offset_yz, transport_speed, check_stop=True):
|
397
370
|
'''subroutine init_windfield(Nxyz, dxyz, box_offset_yz, transport_speed) bind(C, name="init_windfield")
|
398
371
|
integer*8, dimension(3), intent(in) :: Nxyz
|
399
372
|
real*8 :: transport_speed
|
400
373
|
end subroutine'''
|
401
374
|
return self.get_lib_function('init_windfield')(Nxyz, dxyz, box_offset_yz, transport_speed, check_stop=check_stop)
|
402
375
|
|
403
|
-
def
|
376
|
+
def _initialize_distributed_sections(self, check_stop=True):
|
404
377
|
'''subroutine initialize_distributed_sections() bind(C, name="initialize_distributed_sections")
|
405
378
|
!DEC$ ATTRIBUTES DLLEXPORT :: initialize_distributed_sections
|
406
|
-
type (
|
407
|
-
type (
|
408
|
-
|
409
|
-
type (body_type),dimension(:),pointer :: b_vec
|
410
|
-
type (TBodySectionLink), pointer :: bsl
|
411
|
-
Type (Tmain_body_input),pointer :: mbdy
|
412
|
-
integer :: nnodes
|
379
|
+
type (Tseclink), dimension(:), pointer :: seclinks
|
380
|
+
type (Tbaselink) :: baselink
|
381
|
+
type (body_type), dimension(:), pointer :: b_vec
|
413
382
|
integer :: i
|
414
383
|
end subroutine'''
|
415
384
|
return self.get_lib_function('initialize_distributed_sections')(check_stop=check_stop)
|
416
385
|
|
417
|
-
def
|
386
|
+
def _linearize(self, n_tdofs, n_rdofs, check_stop=True):
|
418
387
|
'''subroutine linearize(n_tdofs, n_rdofs) bind(C, name="linearize")
|
419
388
|
integer(kind=8), intent(out) :: n_tdofs
|
420
389
|
integer(kind=8), intent(out) :: n_rdofs
|
421
390
|
end subroutine'''
|
422
391
|
return self.get_lib_function('linearize')(n_tdofs, n_rdofs, check_stop=check_stop)
|
423
392
|
|
424
|
-
def
|
393
|
+
def _loop(self, N, restype, check_stop=True):
|
425
394
|
'''function loop(N) bind(C, Name='loop')
|
426
395
|
!DEC$ ATTRIBUTES DLLEXPORT :: loop
|
427
396
|
integer*8, intent(in) :: N
|
@@ -430,35 +399,13 @@ end subroutine'''
|
|
430
399
|
end function'''
|
431
400
|
return self.get_lib_function('loop')(N, restype=restype, check_stop=check_stop)
|
432
401
|
|
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):
|
402
|
+
def _read_input(self, htc_path, check_stop=True):
|
450
403
|
'''subroutine read_input(htc_path) bind(C, name="read_input")
|
451
404
|
character(kind=c_char, len=1), intent(in) :: htc_path(1024)
|
452
405
|
end subroutine'''
|
453
406
|
return self.get_lib_function('read_input')(htc_path, check_stop=check_stop)
|
454
407
|
|
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):
|
408
|
+
def _run(self, time, restype, check_stop=True):
|
462
409
|
'''function run(time) bind(C, name='run')
|
463
410
|
!DEC$ ATTRIBUTES DLLEXPORT :: run
|
464
411
|
real(c_double), intent(in) :: time
|
@@ -466,41 +413,34 @@ end subroutine'''
|
|
466
413
|
end function'''
|
467
414
|
return self.get_lib_function('run')(time, restype=restype, check_stop=check_stop)
|
468
415
|
|
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):
|
416
|
+
def _set_aerosections_windspeed(self, rotor, uvw, check_stop=True):
|
476
417
|
'''subroutine set_aerosections_windspeed(rotor, uvw) bind(C, name="set_aerosections_windspeed")
|
477
418
|
integer*8, intent(in) :: rotor
|
478
419
|
real(c_double),intent(in) :: uvw(rotors_gl%rotor(rotor)%nbld, rotors_gl%rotor(rotor)%blade(1)%nsec, 3)
|
479
420
|
end subroutine'''
|
480
421
|
return self.get_lib_function('set_aerosections_windspeed')(rotor, uvw, check_stop=check_stop)
|
481
422
|
|
482
|
-
def
|
483
|
-
'''subroutine
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
logical(kind=c_bool),
|
488
|
-
logical(kind=c_bool),
|
489
|
-
|
490
|
-
|
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.
|
423
|
+
def _set_cx_def(self, mainbody_nr, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code, check_stop=True):
|
424
|
+
'''subroutine set_cx_def(mainbody_nr, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code) bind(C, name="set_cx_def")
|
425
|
+
integer(kind=8), intent(in ) :: mainbody_nr
|
426
|
+
integer(kind=4), intent(in ) :: nsec, n_cols
|
427
|
+
real(kind=c_double), dimension(nsec, n_cols), intent(in ) :: cx_def
|
428
|
+
logical(kind=c_bool), intent(in ) :: twist_in_deg
|
429
|
+
logical(kind=c_bool), intent(in ) :: check_length
|
430
|
+
logical, intent(in ) :: update_structure
|
431
|
+
integer(kind=8), intent( out) :: error_code
|
493
432
|
end subroutine'''
|
494
|
-
return self.get_lib_function('
|
433
|
+
return self.get_lib_function('set_cx_def')(mainbody_nr, nsec, n_cols, cx_def, twist_in_deg, check_length, update_structure, error_code, check_stop=check_stop)
|
495
434
|
|
496
|
-
def
|
497
|
-
'''subroutine set_distributed_section_force_and_moment(link_type, link_id, nsec,
|
435
|
+
def _set_distributed_section_force_and_moment(self, link_type, link_id, nsec, frc, mom, mainbody_coo_nr, check_stop=True):
|
436
|
+
'''subroutine set_distributed_section_force_and_moment(link_type, link_id, nsec, frc, mom, mainbody_coo_nr) bind(C, name="set_distributed_section_force_and_moment")
|
498
437
|
integer*8, intent(in) :: link_type, link_id, nsec
|
499
|
-
|
438
|
+
integer*8, intent(in) :: mainbody_coo_nr ! -1: section, 0: global, >0: mainbody nr
|
439
|
+
real(c_double), intent(inout) :: frc(nsec,3), mom(nsec,3)
|
500
440
|
end subroutine'''
|
501
|
-
return self.get_lib_function('set_distributed_section_force_and_moment')(link_type, link_id, nsec,
|
441
|
+
return self.get_lib_function('set_distributed_section_force_and_moment')(link_type, link_id, nsec, frc, mom, mainbody_coo_nr, check_stop=check_stop)
|
502
442
|
|
503
|
-
def
|
443
|
+
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
444
|
'''subroutine set_orientation_base(main_body_name, n_rows, mbdy_eulerang_table, angles_in_deg, reset_orientation, mbdy_ini_rotvec_d1, error_code) &
|
505
445
|
character(kind=c_char, len=1), dimension(256), intent(in) :: main_body_name
|
506
446
|
integer(kind=4), intent(in) :: n_rows
|
@@ -512,7 +452,7 @@ integer(kind=8), intent(out) :: error_code ! Error code.
|
|
512
452
|
end subroutine'''
|
513
453
|
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
454
|
|
515
|
-
def
|
455
|
+
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
456
|
'''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
457
|
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
458
|
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 +473,84 @@ real*8, dimension(3) :: eulerang ! Euler angles associated to 1 r
|
|
533
473
|
end subroutine'''
|
534
474
|
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
475
|
|
536
|
-
def
|
476
|
+
def _set_st(self, mainbody_nr, n_rows, n_cols, st, update_structure, error_code, check_stop=True):
|
477
|
+
'''subroutine set_st(mainbody_nr, n_rows, n_cols, st, update_structure, error_code) bind(C, name="set_st")
|
478
|
+
integer(kind=8), intent(in ) :: mainbody_nr
|
479
|
+
integer(kind=4), intent(in ) :: n_rows
|
480
|
+
integer(kind=4), intent(in ) :: n_cols
|
481
|
+
real(kind=c_double), dimension(n_rows, n_cols), intent(in ) :: st
|
482
|
+
logical, intent(in ) :: update_structure
|
483
|
+
integer(kind=8), intent( out) :: error_code
|
484
|
+
type(Tmain_body_input), pointer :: main_body ! The main body whose st we want to update.
|
485
|
+
end subroutine'''
|
486
|
+
return self.get_lib_function('set_st')(mainbody_nr, n_rows, n_cols, st, update_structure, error_code, check_stop=check_stop)
|
487
|
+
|
488
|
+
def _set_variable_sensor_value(self, id, value, check_stop=True):
|
537
489
|
'''subroutine set_variable_sensor_value(id, value) bind(C, name="set_variable_sensor_value")
|
538
490
|
integer*8, intent(in) :: id
|
539
491
|
real(c_double) :: value
|
540
492
|
end subroutine'''
|
541
493
|
return self.get_lib_function('set_variable_sensor_value')(id, value, check_stop=check_stop)
|
542
494
|
|
543
|
-
def
|
495
|
+
def _set_windfield(self, uvw, box_offset_x, time, check_stop=True):
|
544
496
|
'''subroutine set_windfield(uvw, box_offset_x, time) bind(C, name="set_windfield")
|
545
497
|
real*4, intent(in) :: uvw(3, gwsd%TMOD%buffer_points_x,gwsd%TMOD%buffer_points_y,gwsd%TMOD%buffer_points_z)
|
546
498
|
real*8, intent(in):: box_offset_x, time
|
547
499
|
end subroutine'''
|
548
500
|
return self.get_lib_function('set_windfield')(uvw, box_offset_x, time, check_stop=check_stop)
|
549
501
|
|
550
|
-
def
|
502
|
+
def _solver_static_delete(self, check_stop=True):
|
551
503
|
'''subroutine solver_static_delete() &
|
552
504
|
!DEC$ ATTRIBUTES DLLEXPORT :: solver_static_delete
|
553
505
|
end subroutine'''
|
554
506
|
return self.get_lib_function('solver_static_delete')(check_stop=check_stop)
|
555
507
|
|
556
|
-
def
|
508
|
+
def _solver_static_init(self, check_stop=True):
|
557
509
|
'''subroutine solver_static_init() &
|
558
510
|
!DEC$ ATTRIBUTES DLLEXPORT :: solver_static_init
|
559
511
|
end subroutine'''
|
560
512
|
return self.get_lib_function('solver_static_init')(check_stop=check_stop)
|
561
513
|
|
562
|
-
def
|
514
|
+
def _solver_static_run(self, reset_structure, error_code, check_stop=True):
|
563
515
|
'''subroutine solver_static_run(reset_structure, error_code) bind(C, name="solver_static_run")
|
564
516
|
logical(c_bool), intent(in) :: reset_structure
|
565
517
|
integer(8), intent(out) :: error_code
|
566
518
|
end subroutine'''
|
567
519
|
return self.get_lib_function('solver_static_run')(reset_structure, error_code, check_stop=check_stop)
|
568
520
|
|
569
|
-
def
|
521
|
+
def _solver_static_solve(self, error_code, check_stop=True):
|
570
522
|
'''subroutine solver_static_solve(error_code) &
|
571
523
|
integer*8, intent(out) :: error_code
|
572
524
|
end subroutine'''
|
573
525
|
return self.get_lib_function('solver_static_solve')(error_code, check_stop=check_stop)
|
574
526
|
|
575
|
-
def
|
527
|
+
def _solver_static_update(self, error_code, check_stop=True):
|
576
528
|
'''subroutine solver_static_update(error_code) &
|
577
529
|
integer*8, intent(out) :: error_code
|
578
530
|
end subroutine'''
|
579
531
|
return self.get_lib_function('solver_static_update')(error_code, check_stop=check_stop)
|
580
532
|
|
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):
|
533
|
+
def _step(self, restype, check_stop=True):
|
588
534
|
'''function step() bind(C, name='step')
|
589
535
|
!DEC$ ATTRIBUTES DLLEXPORT :: step
|
590
536
|
real(c_double) :: step
|
591
537
|
end function'''
|
592
538
|
return self.get_lib_function('step')(restype=restype, check_stop=check_stop)
|
593
539
|
|
594
|
-
def
|
540
|
+
def _stop_on_error(self, flag, check_stop=True):
|
595
541
|
'''subroutine stop_on_error(flag) bind(C, name="stop_on_error")
|
596
542
|
logical(c_bool), intent(in) :: flag
|
597
543
|
end subroutine'''
|
598
544
|
return self.get_lib_function('stop_on_error')(flag, check_stop=check_stop)
|
599
545
|
|
600
|
-
def
|
546
|
+
def _structure_reset(self, check_stop=True):
|
601
547
|
'''subroutine structure_reset() bind(C, name="structure_reset")
|
602
548
|
!DEC$ ATTRIBUTES DLLEXPORT :: structure_reset
|
603
549
|
integer*4 :: i, j
|
604
550
|
end subroutine'''
|
605
551
|
return self.get_lib_function('structure_reset')(check_stop=check_stop)
|
606
552
|
|
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):
|
553
|
+
def _work(self, time, restype, check_stop=True):
|
619
554
|
'''function work(time) bind(C, Name='work')
|
620
555
|
!DEC$ ATTRIBUTES DLLEXPORT :: work
|
621
556
|
real(c_double), intent(in) :: time
|
@@ -624,7 +559,7 @@ end subroutine'''
|
|
624
559
|
end function'''
|
625
560
|
return self.get_lib_function('work')(time, restype=restype, check_stop=check_stop)
|
626
561
|
|
627
|
-
def
|
562
|
+
def _write_output(self, check_stop=True):
|
628
563
|
'''subroutine write_output() bind(C, name="write_output")
|
629
564
|
!DEC$ ATTRIBUTES DLLEXPORT :: write_output
|
630
565
|
integer :: nr, dummy=1
|