@@ -1416,13 +1416,13 @@ function con_nonlinprogeq!(
14161416 x0, xs = @views x̂0[1 : nx], x̂0[nx+ 1 : end ]
14171417 mul! (û0, Cs_u, xs)
14181418 û0 .+ = u0
1419- model. f! (k1, x0, û0, d0 , p)
1419+ model. f! (k1, x0, û0, d̂0 , p)
14201420 lastk2 = k1
14211421 end
14221422 # TODO : allow parallel for loop or threads?
14231423 for j= 1 : Hp
14241424 k0 = @views K0[(1 + nk* (j- 1 )): (nk* j)]
1425- d0next = @views D̂0[(1 + nd* (j- 1 )): (nd* j)]
1425+ d̂0next = @views D̂0[(1 + nd* (j- 1 )): (nd* j)]
14261426 x̂0next = @views X̂0[(1 + nx̂* (j- 1 )): (nx̂* j)]
14271427 x̂0next_Z̃ = @views X̂0_Z̃[(1 + nx̂* (j- 1 )): (nx̂* j)]
14281428 ŝnext = @views geq[(1 + nx̂* (j- 1 )): (nx̂* j)]
@@ -1440,33 +1440,33 @@ function con_nonlinprogeq!(
14401440 û0 = @views Û0[(1 + nu* (j- 1 )): (nu* j)]
14411441 mul! (û0, Cs_u, xs) # ys_u(k) = Cs_u*xs(k)
14421442 û0 .+ = u0 # û0(k) = u0(k) + ys_u(k)
1443- model. f! (k1, x0, û0, d0 , p)
1444- model. f! (k2, x0next_Z̃, û0, d0next , p)
1443+ model. f! (k1, x0, û0, d̂0 , p)
1444+ model. f! (k2, x0next_Z̃, û0, d̂0next , p)
14451445 else # piecewise linear manipulated inputs u:
14461446 k1 .= lastk2
14471447 j == Hp && break # special case, treated after the loop
14481448 u0next = @views U0[(1 + nu* j): (nu* (j+ 1 ))]
14491449 û0next = @views Û0[(1 + nu* j): (nu* (j+ 1 ))]
14501450 mul! (û0next, Cs_u, xsnext_Z̃) # ys_u(k+1) = Cs_u*xs(k+1)
14511451 û0next .+ = u0next # û0(k+1) = u0(k+1) + ys_u(k+1)
1452- model. f! (k2, x0next_Z̃, û0next, d0next , p)
1452+ model. f! (k2, x0next_Z̃, û0next, d̂0next , p)
14531453 lastk2 = k2
14541454 end
14551455 sdnext .= @. x0 - x0next_Z̃ + 0.5 * Ts* (k1 + k2)
14561456 x̂0 = x̂0next_Z̃ # using states in Z̃ for next iteration (allow parallel for)
1457- d̂0 = d0next
1457+ d̂0 = d̂0next
14581458 end
14591459 if ! iszero (h)
14601460 # j = Hp special case: u(k+Hp-1) = u(k+Hp) since Hc ≤ Hp implies Δu(k+Hp)=0
14611461 x̂0, x̂0next_Z̃ = @views X̂0_Z̃[end - 2 nx̂+ 1 : end - nx̂], X̂0_Z̃[end - nx̂+ 1 : end ]
14621462 k1, k2 = @views K0[end - 2 nx+ 1 : end - nx], K0[end - nx+ 1 : end ] # k1 already filled
1463- d0next = @views D̂0[end - nd+ 1 : end ]
1463+ d̂0next = @views D̂0[end - nd+ 1 : end ]
14641464 û0next, u0next = @views Û0[end - nu+ 1 : end ], U0[end - nu+ 1 : end ] # correspond to u(k+Hp-1)
14651465 x0, x0next_Z̃, xsnext_Z̃ = @views x̂0[1 : nx], x̂0next_Z̃[1 : nx], x̂0next_Z̃[nx+ 1 : end ]
14661466 sdnext = @views geq[end - nx̂+ 1 : end - nx̂+ nx] # ssnext already filled
14671467 mul! (û0next, Cs_u, xsnext_Z̃)
14681468 û0next .+ = u0next
1469- model. f! (k2, x0next_Z̃, û0next, d0next , p)
1469+ model. f! (k2, x0next_Z̃, û0next, d̂0next , p)
14701470 sdnext .= @. x0 - x0next_Z̃ + (Ts/ 2 )* (k1 + k2)
14711471 end
14721472 return geq
0 commit comments