h2lib 13.2.801__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 CHANGED
Binary file
h2lib/_h2lib.py CHANGED
@@ -703,15 +703,16 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
703
703
  return H2LibSignatures._set_windfield(self, uvw, np.float64(box_offset_x), np.float64(time))
704
704
 
705
705
  def set_c2_def(
706
- self, main_body_name, c2_def, twist_in_deg=True, check_length=True, update_structure=True
706
+ self, main_body_nr, c2_def, twist_in_deg=True, check_length=True, update_structure=True
707
707
  ):
708
708
  """
709
709
  Set `c2_def` or `cx_def` for the specified main body.
710
710
 
711
711
  Parameters
712
712
  ----------
713
- main_body_name : str
714
- Name of main body that must be updated.
713
+ main_body_nr : int
714
+ Number of main body that must be updated.
715
+ The mapping between main body name and number can be obtained with `get_mainbody_name_dict`.
715
716
  c2_def : (:, 4) or (:, 5) ndarray
716
717
  New c2_def/cx_def. It is an array with at least 2 rows and 4 columns for x, y, z and twist.
717
718
  Optionally, the 5th column can be used for dx (default is 0.)
@@ -747,7 +748,7 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
747
748
  error_code = -1
748
749
  error_code = H2LibSignatures._set_cx_def(
749
750
  self,
750
- main_body_name,
751
+ main_body_nr,
751
752
  c2_def.shape[0],
752
753
  c2_def.shape[1],
753
754
  np.asfortranarray(c2_def, dtype=np.float64),
@@ -762,15 +763,16 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
762
763
  raise _ERROR_CODES[error_code]
763
764
 
764
765
  def set_st(
765
- self, main_body_name, st, update_structure=True
766
+ self, main_body_nr, st, update_structure=True
766
767
  ):
767
768
  """
768
769
  Set STructural data for the specified main body.
769
770
 
770
771
  Parameters
771
772
  ----------
772
- main_body_name : str
773
- Name of main body that must be updated.
773
+ main_body_nr : int
774
+ Number of main body that must be updated.
775
+ The mapping between main body name and number can be obtained with `get_mainbody_name_dict`.
774
776
  st : (:, :) ndarray
775
777
  New ST. It is an array with an arbitrary number of rows and 19 or 30 columns.
776
778
  Both the classical Timoshenko and the FPM model are supported.
@@ -797,7 +799,7 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
797
799
  error_code = -1
798
800
  error_code = H2LibSignatures._set_st(
799
801
  self,
800
- main_body_name,
802
+ main_body_nr,
801
803
  st.shape[0],
802
804
  st.shape[1],
803
805
  np.asfortranarray(st, dtype=np.float64),
@@ -805,7 +807,7 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
805
807
  error_code,
806
808
  check_stop=False,
807
809
  )[0][-1]
808
-
810
+ self.initialize_distributed_sections()
809
811
  if error_code > 0:
810
812
  raise _ERROR_CODES[error_code]
811
813
 
@@ -1185,12 +1187,12 @@ class H2LibThread(DLLWrapper, H2Lib_DistributedSections, H2LibSignatures):
1185
1187
  def get_mainbody_name_dict(self):
1186
1188
  s = " " * 256
1187
1189
  return {H2LibSignatures._get_mainbody_name(self, mainbody_nr=int(i), mainbody_name=s)[0][1].strip(): i
1188
- for i in np.arange(self.get_no_mainbodies()) + 1}
1190
+ for i in np.arange(1, self.get_no_mainbodies() + 1)}
1189
1191
 
1190
1192
  def get_mainbody_position_orientation(self, mainbody_nr, mainbody_coo_nr=0):
1191
1193
  mbdy_pos = np.zeros(3, dtype=np.float64, order="F")
1192
1194
  mbdy_tbg = np.zeros((3, 3), dtype=np.float64, order="F")
1193
- return H2Lib_DistributedSections._get_mainbody_position_orientation(
1195
+ return H2LibSignatures._get_mainbody_position_orientation(
1194
1196
  self, int(mainbody_nr), mbdy_pos, mbdy_tbg, int(mainbody_coo_nr))[0][1:-1]
1195
1197
 
1196
1198
  def get_mainbody_nodes_state(self, mainbody_nr, state, mainbody_coo_nr=0):
h2lib/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # This file is autogenerated and should not be modified manually
2
- __version__ = '13.2.801'
3
- h2lib_version = '13.2.801'
4
- hawc2_version = '13.2.8'
2
+ __version__ = '13.2.901'
3
+ h2lib_version = '13.2.901'
4
+ hawc2_version = '13.2.9+4-gfd77867'
@@ -42,14 +42,13 @@ class H2Lib_DistributedSections(H2LibSignatures):
42
42
  add_distributed_sections and before first call to get_distributed_sections,
43
43
  get_distributed_section_position_orientation and set_distributed_section_force_and_moment
44
44
  """
45
- assert getattr(self, 'distributed_sections_initialized', False) is False
46
45
  mbdy_name_dict = self.get_mainbody_name_dict()
47
46
  assert mainbody_name in mbdy_name_dict, f"'{mainbody_name}' does not exist. Valid names are {list(mbdy_name_dict.keys())}."
48
47
  mbdy_nr = mbdy_name_dict[mainbody_name]
49
48
  nsec = len(section_relative_position)
50
49
  link_id = H2LibSignatures._add_distributed_sections(
51
50
  self,
52
- mainbody_nr=int(mbdy_nr),
51
+ mainbody_nr=mbdy_nr,
53
52
  nsec=nsec,
54
53
  sec_rel_pos=np.asfortranarray(section_relative_position, dtype=float),
55
54
  link_id=0)[0][-1]
@@ -67,7 +66,7 @@ class H2Lib_DistributedSections(H2LibSignatures):
67
66
 
68
67
  def get_distributed_sections(self, link_type: LinkType, link_id):
69
68
  """Return a DistributedSections link object (needed for get_distributed_section_position_orientation
70
- and set_distributed_section_force_and_moment).
69
+ get_distributed_section_force_and_moment and set_distributed_section_force_and_moment).
71
70
 
72
71
  To obtain the aerodynamic load sections at blade 3 (only rotor=1 can be accessed):
73
72
  h2.get_distributed_sections(LinkType.BLADE, 3)
@@ -76,12 +75,15 @@ class H2Lib_DistributedSections(H2LibSignatures):
76
75
  ----------
77
76
  link_type : LinkType
78
77
  Specifies the link type. See enum LinkType
79
- link_id : integer
78
+ link_id : int
80
79
  index of link. link_id=1 will reference the first added sections, e.g. blade1
81
80
  Returns
82
81
  -------
83
82
  DistributedSections object
84
83
  """
84
+ if link_type == LinkType.BODY:
85
+ err_msg = "Call initialize_distributed_sections before get_distributed_sections(link_type=LinkType.BODY,...)"
86
+ assert getattr(self, 'distributed_sections_initialized', False) is True, err_msg
85
87
  mbdy_nr, nsec = H2LibSignatures._get_distributed_sections(
86
88
  self, link_type.value, link_id, mainbody_nr=0, nsec=0)[0][2:]
87
89
  mbdy_name_dict = self.get_mainbody_name_dict()
@@ -90,8 +92,8 @@ class H2Lib_DistributedSections(H2LibSignatures):
90
92
 
91
93
  def get_distributed_section_position_orientation(self, ds: DistributedSections, mainbody_coo_nr=0):
92
94
  """Computes the position and orientation of a set of distributed sections.
93
- Note, the distributed sections are located on the c2def (aeroload/blade sections have a chord/4 offset
94
- relative to c2def
95
+ Note, the distributed sections are located on the c2def (aeroload/blade sections have a twisted 1/4 chord offset
96
+ relative to c2def)
95
97
 
96
98
  Parameters
97
99
  ----------
@@ -110,11 +112,14 @@ class H2Lib_DistributedSections(H2LibSignatures):
110
112
  Orientation of section in specified coordinates.
111
113
  For mainbody_coo_nr=0, default, the orientation is in global coordinates, i.e. Tsg
112
114
  """
115
+ if ds.link_type == LinkType.BODY:
116
+ err_msg = "Call initialize_distributed_sections before get_distributed_section_position_orientation"
117
+ assert getattr(self, 'distributed_sections_initialized', False) is True, err_msg
113
118
  sec_pos = np.zeros((ds.nsec, 3), dtype=np.float64, order="F")
114
119
  sec_ori = np.zeros((ds.nsec, 3, 3), dtype=np.float64, order="F")
115
120
  return H2LibSignatures._get_distributed_section_position_orientation(
116
- self, int(ds.link_type.value), int(ds.link_id), int(ds.nsec), sec_pos, sec_ori,
117
- int(mainbody_coo_nr))[0][3:-1]
121
+ self, ds.link_type.value, ds.link_id, ds.nsec, sec_pos, sec_ori,
122
+ mainbody_coo_nr)[0][3:-1]
118
123
 
119
124
  def set_distributed_section_force_and_moment(self, ds: DistributedSections, sec_frc, sec_mom, mainbody_coo_nr=0):
120
125
  """Set forces and moments at distributed sections
@@ -133,15 +138,45 @@ class H2Lib_DistributedSections(H2LibSignatures):
133
138
  Otherwise the index of the mainbody in which coordinate system, the forces and moments are provided
134
139
  The index can be obtained from get_mainbody_name_dict
135
140
  """
136
- assert getattr(self, 'distributed_sections_initialized',
137
- False) is True, "Call initialize_distributed_sections before set_distributed_section_force_and_moment"
141
+ if ds.link_type == LinkType.BODY:
142
+ err_msg = "Call initialize_distributed_sections before set_distributed_section_force_and_moment"
143
+ assert getattr(self, 'distributed_sections_initialized', False) is True, err_msg
138
144
  sec_frc = np.asfortranarray(sec_frc, dtype=np.float64)
139
145
  sec_mom = np.asfortranarray(sec_mom, dtype=np.float64)
140
146
  assert sec_frc.shape == (ds.nsec, 3)
141
147
  assert sec_mom.shape == (ds.nsec, 3)
142
148
  return H2LibSignatures._set_distributed_section_force_and_moment(
143
149
  self, link_type=int(ds.link_type.value), link_id=int(ds.link_id), nsec=int(ds.nsec),
144
- frc_g=sec_frc, mom_g=sec_mom, mainbody_coo_nr=int(mainbody_coo_nr))
150
+ frc=sec_frc, mom=sec_mom, mainbody_coo_nr=int(mainbody_coo_nr))
151
+
152
+ def get_distributed_section_force_and_moment(self, ds: DistributedSections, mainbody_coo_nr=0):
153
+ """Set forces and moments at distributed sections
154
+
155
+ Parameters
156
+ ----------
157
+ ds : DistributedSections object
158
+ object returned by add_distributed_sections or get_distributed_sections
159
+ mainbody_coo_nr : int, optional
160
+ Specifies the coodinate system of the provided forces and moments.
161
+ If 0 (default), the forces and moments are in global coordinates
162
+ Otherwise the index of the mainbody in which coordinate system, the forces and moments are provided
163
+ The index can be obtained from get_mainbody_name_dict
164
+
165
+ Returns
166
+ -------
167
+ sec_frc : array_like
168
+ Section forces pr. length [N/m] in global coordinates, shape=(nsec,3)
169
+ sec_momc : array_like
170
+ Section moments pr. length [Nm/m] in global coordinates, shape=(nsec,3)
171
+ """
172
+ if ds.link_type == LinkType.BODY:
173
+ err_msg = "Call initialize_distributed_sections before get_distributed_section_force_and_moment"
174
+ assert getattr(self, 'distributed_sections_initialized', False) is True, err_msg
175
+ sec_frc = np.zeros((ds.nsec, 3), order='F', dtype=np.float64)
176
+ sec_mom = np.zeros((ds.nsec, 3), order='F', dtype=np.float64)
177
+ return H2LibSignatures._get_distributed_section_force_and_moment(
178
+ self, link_type=int(ds.link_type.value), link_id=int(ds.link_id), nsec=int(ds.nsec),
179
+ frc=sec_frc, mom=sec_mom, mainbody_coo_nr=int(mainbody_coo_nr))[0][3:5]
145
180
 
146
181
  def set_fsi_loads_h2lib(self, fx, fy, fz, mx, my, mz): # pragma: no cover
147
182
  """Temporary function needed to replicate results of the cpl coupling framework"""
h2lib/dll_wrapper.py CHANGED
@@ -17,8 +17,9 @@ import sys
17
17
  from pathlib import Path
18
18
  import atexit
19
19
 
20
- c_int_p = POINTER(ctypes.c_long)
21
- c_long_p = POINTER(ctypes.c_longlong)
20
+ c_int_p = POINTER(ctypes.c_int)
21
+ c_long_p = POINTER(ctypes.c_long)
22
+ c_longlong_p = POINTER(ctypes.c_longlong)
22
23
  c_double_p = POINTER(ctypes.c_double)
23
24
  c_float_p = POINTER(ctypes.c_float)
24
25
  c_bool_p = POINTER(ctypes.c_bool)
@@ -113,19 +114,21 @@ def wrap(self, f, *args, check_stop=True, **kwargs):
113
114
  for arg in args:
114
115
  if isinstance(arg, bool):
115
116
  c_args.append(c_bool_p(c_bool(arg)))
116
- elif isinstance(arg, int):
117
- c_args.append(c_long_p(c_longlong(arg)))
118
- elif isinstance(arg, float):
117
+ elif isinstance(arg, np.int32):
118
+ c_args.append(c_long_p(c_long(arg)))
119
+ elif isinstance(arg, (int, np.int64)):
120
+ c_args.append(c_longlong_p(c_longlong(arg)))
121
+ elif isinstance(arg, (float, np.float64)):
119
122
  c_args.append(c_double_p(c_double(arg)))
120
123
  elif isinstance(arg, str):
121
124
  c_args.append(c_char_p(arg.encode('cp1252')))
122
- # c_args.append(c_int_p(c_int(len(arg))))
125
+ # c_args.append(c_long_p(c_int(len(arg))))
123
126
 
124
127
  elif isinstance(arg, np.ndarray):
125
128
  if arg.dtype in [np.int32]:
126
- c_args.append(arg.ctypes.data_as(c_int_p))
127
- elif arg.dtype in [np.int64]:
128
129
  c_args.append(arg.ctypes.data_as(c_long_p))
130
+ elif arg.dtype in [np.int64]:
131
+ c_args.append(arg.ctypes.data_as(c_longlong_p))
129
132
  elif arg.dtype == np.float64:
130
133
  c_args.append(arg.ctypes.data_as(c_double_p))
131
134
  elif arg.dtype == np.float32:
@@ -158,7 +161,7 @@ def wrap(self, f, *args, check_stop=True, **kwargs):
158
161
  ret_args = []
159
162
  for arg in args:
160
163
  c_arg = c_args.pop(0)
161
- if isinstance(arg, (int, float, bool)):
164
+ if isinstance(arg, (int, float, bool, np.int64, np.float64)):
162
165
  ret_args.append(c_arg.contents.value)
163
166
  elif isinstance(arg, (str)):
164
167
  ret_args.append(c_arg.value.decode('cp1252'))
@@ -184,7 +187,7 @@ class DLLWrapper(object):
184
187
 
185
188
  def check_stop(self):
186
189
  stop_code = 0
187
- cstop_code = c_long_p(c_longlong(stop_code))
190
+ cstop_code = c_longlong_p(c_longlong(stop_code))
188
191
  getattr(self.lib, 'get_stop_code')(cstop_code)
189
192
  if cstop_code.contents.value:
190
193
  stop_msg = (" " * 1024).encode('cp1252')
h2lib/h2lib_signatures.py CHANGED
@@ -128,6 +128,13 @@ end subroutine'''
128
128
  end function'''
129
129
  return self.get_lib_function('get_diameter')(rotor, restype=restype, check_stop=check_stop)
130
130
 
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
+
131
138
  def _get_distributed_section_position_orientation(self, link_type, link_id, nsec, sec_pos, sec_ori, mainbody_coo_nr, check_stop=True):
132
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")
133
140
  integer*8, intent(in) :: link_type, link_id, nsec, mainbody_coo_nr
@@ -168,7 +175,7 @@ end subroutine'''
168
175
  def _get_mainbody_name(self, mainbody_nr, mainbody_name, check_stop=True):
169
176
  '''subroutine get_mainbody_name(mainbody_nr, mainbody_name) bind(C, name="get_mainbody_name")
170
177
  integer*8 :: mainbody_nr
171
- character(kind=c_char, len=1), intent(inout) :: mainbody_name(256)
178
+ character(kind=c_char, len=1), intent(out) :: mainbody_name(256)
172
179
  end subroutine'''
173
180
  return self.get_lib_function('get_mainbody_name')(mainbody_nr, mainbody_name, check_stop=check_stop)
174
181
 
@@ -369,13 +376,9 @@ end subroutine'''
369
376
  def _initialize_distributed_sections(self, check_stop=True):
370
377
  '''subroutine initialize_distributed_sections() bind(C, name="initialize_distributed_sections")
371
378
  !DEC$ ATTRIBUTES DLLEXPORT :: initialize_distributed_sections
372
- type (TBodyLink), pointer :: bodylink
373
- type (Tseclink),dimension(:),pointer :: seclinks
374
- Type (Tbaselink) :: baselink
375
- type (body_type),dimension(:),pointer :: b_vec
376
- type (TBodySectionLink), pointer :: bsl
377
- Type (Tmain_body_input),pointer :: mbdy
378
- integer :: nnodes
379
+ type (Tseclink), dimension(:), pointer :: seclinks
380
+ type (Tbaselink) :: baselink
381
+ type (body_type), dimension(:), pointer :: b_vec
379
382
  integer :: i
380
383
  end subroutine'''
381
384
  return self.get_lib_function('initialize_distributed_sections')(check_stop=check_stop)
@@ -417,25 +420,25 @@ end subroutine'''
417
420
  end subroutine'''
418
421
  return self.get_lib_function('set_aerosections_windspeed')(rotor, uvw, check_stop=check_stop)
419
422
 
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
+ 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
423
426
  integer(kind=4), intent(in ) :: nsec, n_cols
424
427
  real(kind=c_double), dimension(nsec, n_cols), intent(in ) :: cx_def
425
428
  logical(kind=c_bool), intent(in ) :: twist_in_deg
426
429
  logical(kind=c_bool), intent(in ) :: check_length
427
430
  logical, intent(in ) :: update_structure
428
431
  integer(kind=8), intent( out) :: error_code
429
- character(kind=c_char, len=256) :: mbdy_name ! Same as main_body_name, but as string instead of an array of characters.
430
432
  end subroutine'''
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)
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)
432
434
 
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
436
- real(c_double), intent(in) :: frc_g(nsec,3), mom_g(nsec,3)
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")
437
+ integer*8, intent(in) :: link_type, link_id, nsec
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)
437
440
  end subroutine'''
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)
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)
439
442
 
440
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):
441
444
  '''subroutine set_orientation_base(main_body_name, n_rows, mbdy_eulerang_table, angles_in_deg, reset_orientation, mbdy_ini_rotvec_d1, error_code) &
@@ -470,18 +473,17 @@ real*8, dimension(3) :: eulerang ! Euler angles associated to 1 r
470
473
  end subroutine'''
471
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)
472
475
 
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
+ 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
476
479
  integer(kind=4), intent(in ) :: n_rows
477
480
  integer(kind=4), intent(in ) :: n_cols
478
481
  real(kind=c_double), dimension(n_rows, n_cols), intent(in ) :: st
479
482
  logical, intent(in ) :: update_structure
480
483
  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
484
  type(Tmain_body_input), pointer :: main_body ! The main body whose st we want to update.
483
485
  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)
486
+ return self.get_lib_function('set_st')(mainbody_nr, n_rows, n_cols, st, update_structure, error_code, check_stop=check_stop)
485
487
 
486
488
  def _set_variable_sensor_value(self, id, value, check_stop=True):
487
489
  '''subroutine set_variable_sensor_value(id, value) bind(C, name="set_variable_sensor_value")
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: h2lib
3
- Version: 13.2.801
4
- Summary: Python interface to HAWC2 (13.2.8)
3
+ Version: 13.2.901
4
+ Summary: Python interface to HAWC2 (13.2.9+4-gfd77867)
5
5
  Download-URL:
6
6
  Author: Mads M. Pedersen, S.G.Horcas and N.G.Ramos
7
7
  Author-email: mmpe@dtu.dk
@@ -0,0 +1,11 @@
1
+ h2lib/HAWC2Lib.dll,sha256=ikv5Z1T3KgYencvMIh7vknsz4Rb0WCXUYHqHP4yB6Jw,30718976
2
+ h2lib/__init__.py,sha256=f3fO4I6IEFRM9LaV2O3w9Pioj3GPI8qRl7P5Tg5ONtE,528
3
+ h2lib/_h2lib.py,sha256=2NDc-5FA-osp5y_BXD87BRN09PdkCv8VURuJiuEEyDU,49792
4
+ h2lib/_version.py,sha256=p3Cb0KBOLOlD_MTrkXgOLGOeROFDdySdMsp1qgMgu18,157
5
+ h2lib/distributed_sections.py,sha256=y9Tvl245pFfnHDGWD83057YVyjvyO6RRRD194QHjZ0o,9850
6
+ h2lib/dll_wrapper.py,sha256=i-u5k5cLA-UCfpTXGC-PPTY8CUdKIPMGlc__ZaSbUO0,13637
7
+ h2lib/h2lib_signatures.py,sha256=--bcqEclI_lNz5D5So8NW7IROevMW9qpSzC_lf84KHE,34368
8
+ h2lib-13.2.901.dist-info/METADATA,sha256=zRiRPyHzx76ypnKCA-R38zosqXTxVJ-b_OrHb1A2sKU,860
9
+ h2lib-13.2.901.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
10
+ h2lib-13.2.901.dist-info/top_level.txt,sha256=y_a-tUqphEZQ_0nsWSMaSb21P8Lsd8hUxUdE9g2Dcbk,6
11
+ h2lib-13.2.901.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- h2lib/HAWC2Lib.dll,sha256=2Xgsvaxib95gRbLWp0geN6YlNjT3KwosWI2OnkQv2Wo,30709248
2
- h2lib/__init__.py,sha256=f3fO4I6IEFRM9LaV2O3w9Pioj3GPI8qRl7P5Tg5ONtE,528
3
- h2lib/_h2lib.py,sha256=6_tAMtWP7l-JnnQO0CEYQ3g2YJK6nH_3psQ6m_mAhN0,49549
4
- h2lib/_version.py,sha256=DQv5BXGD-oVxEOkppw-noN2BQMGFcm94JiVZ2azn0Ko,146
5
- h2lib/distributed_sections.py,sha256=9mOgT0UI_A5EiGqtUHV8TEXNexI-CK7rUji5XUqhyBM,7717
6
- h2lib/dll_wrapper.py,sha256=O_lGZ_w3FirjEn4FIE5OeZz30nwpufJB5sflVzf4Cc4,13446
7
- h2lib/h2lib_signatures.py,sha256=SlZRM5WjtZ6iZWLIsnytHwFvvo-ZBCpHtPD9ugB0XP8,34185
8
- h2lib-13.2.801.dist-info/METADATA,sha256=8mzje1p_knj3z3mL9qOItL4w2Q5re4UlplsDCno5fLE,849
9
- h2lib-13.2.801.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
10
- h2lib-13.2.801.dist-info/top_level.txt,sha256=y_a-tUqphEZQ_0nsWSMaSb21P8Lsd8hUxUdE9g2Dcbk,6
11
- h2lib-13.2.801.dist-info/RECORD,,