Skip to content

Commit 4e13458

Browse files
committed
Include rate coming down in ws and ti.
1 parent e7e9b4b commit 4e13458

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

whoc/design_tools/wake_steering_design.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,17 +186,31 @@ def apply_static_rate_limits(
186186
offsets_limited_rl[:, i, :, :] = offsets_limited_rl[:, i+1, :, :] + delta_yaw
187187
offsets_array = (offsets_limited_lr + offsets_limited_rl) / 2
188188

189-
# Apply ws rate limits (increasing ws)
189+
# Apply ws rate limits
190+
offsets_limited_lr = offsets_array.copy()
190191
for j in range(1, len(ws_array)):
191-
delta_yaw = offsets_array[:, :, j, :] - offsets_array[:, :, j-1, :]
192+
delta_yaw = offsets_limited_lr[:, :, j, :] - offsets_limited_lr[:, :, j-1, :]
193+
delta_yaw = np.clip(delta_yaw, -ws_rate_limit*ws_step, ws_rate_limit*ws_step)
194+
offsets_limited_lr[:, :, j, :] = offsets_limited_lr[:, :, j-1, :] + delta_yaw
195+
offsets_limited_rl = offsets_array.copy()
196+
for j in range(len(ws_array)-2, -1, -1):
197+
delta_yaw = offsets_limited_rl[:, :, j, :] - offsets_limited_rl[:, :, j+1, :]
192198
delta_yaw = np.clip(delta_yaw, -ws_rate_limit*ws_step, ws_rate_limit*ws_step)
193-
offsets_array[:, :, j, :] = offsets_array[:, :, j-1, :] + delta_yaw
199+
offsets_limited_rl[:, :, j, :] = offsets_limited_rl[:, :, j+1, :] + delta_yaw
200+
offsets_array = (offsets_limited_lr + offsets_limited_rl) / 2
194201

195-
# Apply ti rate limits (increasing ti)
202+
# Apply ti rate limits
203+
offsets_limited_lr = offsets_array.copy()
196204
for k in range(1, len(ti_array)):
197-
delta_yaw = offsets_array[:, :, :, k] - offsets_array[:, :, :, k-1]
205+
delta_yaw = offsets_limited_lr[:, :, :, k] - offsets_limited_lr[:, :, :, k-1]
206+
delta_yaw = np.clip(delta_yaw, -ti_rate_limit, ti_rate_limit)
207+
offsets_limited_lr[:, :, :, k] = offsets_limited_lr[:, :, :, k-1] + delta_yaw
208+
offsets_limited_rl = offsets_array.copy()
209+
for k in range(len(ti_array)-2, -1, -1):
210+
delta_yaw = offsets_limited_rl[:, :, :, k] - offsets_limited_rl[:, :, :, k+1]
198211
delta_yaw = np.clip(delta_yaw, -ti_rate_limit, ti_rate_limit)
199-
offsets_array[:, :, :, k] = offsets_array[:, :, :, k-1] + delta_yaw
212+
offsets_limited_rl[:, :, :, k] = offsets_limited_rl[:, :, :, k+1] + delta_yaw
213+
offsets_array = (offsets_limited_lr + offsets_limited_rl) / 2
200214

201215
# Flatten array back into 2D array for dataframe
202216
offsets_shape = offsets_array.shape

0 commit comments

Comments
 (0)