@@ -1264,7 +1264,6 @@ function con_nonlinprogeq!(
12641264 nΔU, nX̂ = nu* Hc, nx̂* Hp
12651265 f_threads = transcription. f_threads
12661266 Ts, p = model. Ts, model. p
1267- As, Cs_u = mpc. estim. As, mpc. estim. Cs_u
12681267 nk = get_nk (model, transcription)
12691268 D̂0 = mpc. D̂0
12701269 X̂0_Z̃ = @views Z̃[(nΔU+ 1 ): (nΔU+ nX̂)]
@@ -1281,19 +1280,18 @@ function con_nonlinprogeq!(
12811280 x̂0next = @views X̂0[(1 + nx̂* (j- 1 )): (nx̂* j)]
12821281 x̂0next_Z̃ = @views X̂0_Z̃[(1 + nx̂* (j- 1 )): (nx̂* j)]
12831282 ŝnext = @views geq[(1 + nx̂* (j- 1 )): (nx̂* j)]
1284- x0, xs = @views x̂0[1 : nx], x̂0[nx+ 1 : end ]
1283+ x0 = @views x̂0[1 : nx]
1284+ xsnext = @views x̂0next[nx+ 1 : end ]
12851285 x0next_Z̃, xsnext_Z̃ = @views x̂0next_Z̃[1 : nx], x̂0next_Z̃[nx+ 1 : end ]
12861286 sdnext, ssnext = @views ŝnext[1 : nx], ŝnext[nx+ 1 : end ]
12871287 k1, k2 = @views k0[1 : nx], k0[nx+ 1 : 2 * nx]
12881288 # ----------------- stochastic defects -----------------------------------------
1289- xsnext = @views x̂0next[nx+ 1 : end ]
1290- mul! (xsnext, As, xs)
1289+ fs! (x̂0next, mpc. estim, model, x̂0)
12911290 ssnext .= @. xsnext - xsnext_Z̃
12921291 # ----------------- deterministic defects --------------------------------------
12931292 u0 = @views U0[(1 + nu* (j- 1 )): (nu* j)]
12941293 û0 = @views Û0[(1 + nu* (j- 1 )): (nu* j)]
1295- mul! (û0, Cs_u, xs) # ys_u(k) = Cs_u*xs(k)
1296- û0 .+ = u0 # û0(k) = u0(k) + ys_u(k)
1294+ f̂_input! (û0, mpc. estim, model, x̂0, u0)
12971295 if f_threads || h < 1 || j < 2
12981296 # we need to recompute k1 with multi-threading, even with h==1, since the
12991297 # last iteration (j-1) may not be executed (iterations are re-orderable)
@@ -1307,8 +1305,7 @@ function con_nonlinprogeq!(
13071305 else
13081306 u0next = @views U0[(1 + nu* j): (nu* (j+ 1 ))]
13091307 û0next = @views Û0[(1 + nu* j): (nu* (j+ 1 ))]
1310- mul! (û0next, Cs_u, xsnext_Z̃) # ys_u(k+1) = Cs_u*xs(k+1)
1311- û0next .+ = u0next # û0(k+1) = u0(k+1) + ys_u(k+1)
1308+ f̂_input! (û0next, mpc. estim, model, x̂0next_Z̃, u0next)
13121309 end
13131310 model. f! (k2, x0next_Z̃, û0next, d̂0next, p)
13141311 sdnext .= @. x0 - x0next_Z̃ + 0.5 * Ts* (k1 + k2)
0 commit comments