Esempio n. 1
0
#Intermediates
Vin[1:4] = [m.Intermediate(Vout[i]) for i in range(3)]
Vevap = [m.Intermediate(evap_c[i] * A[i]) for i in range(4)]

#Equations
m.Equations(
    [V[i].dt() == Vin[i] - Vout[i] - Vevap[i] - Vuse[i] for i in range(4)])
m.Equations([1000 * V[i] == h[i] * A[i] for i in range(4)])
m.Equations([Vout[i]**2 == c[i]**2 * h[i] for i in range(4)])

#Set to simulation mode
m.options.imode = 4

#Solve
m.solve()
m.GUI()

#%% Plot results
# time = [x * 12 for x in m.time]

# # plot results
# plt.figure(1)
#
# plt.subplot(311)
# plt.plot(time,h[0],'r-')
# plt.plot(time,h[1],'b--')
# plt.ylabel('Level (m)')
# plt.legend(['Jordanelle Reservoir','Deer Creek Reservoir'])
#
# plt.subplot(312)
# plt.plot(time,h[3],'g-')
Esempio n. 2
0
r21 = m.Intermediate(gamma / (1 - nu) * J2)
r22 = m.Intermediate(gamma / (1 - eta) * Iv2)
r23 = m.Intermediate(sigma * R1)
r24 = m.Intermediate(sigma * R2)
r25 = m.Intermediate(sigma * R)
r26 = m.Intermediate(sigmaV * V)

# Equations
m.Equation(N.dt() == (0))
m.Equation(S.dt() == ((1.0 * r1) + (-1.0 * r3) + (-1.0 * r13) + (-1.0 * r14) +
                      (1.0 * r23) + (1.0 * r24) + (1.0 * r25) + (1.0 * r26)))
m.Equation(I1.dt() == ((-1.0 * r5) + (1.0 * r13) + (-1.0 * r16)))
m.Equation(I2.dt() == ((-1.0 * r6) + (1.0 * r14) + (-1.0 * r17)))
m.Equation(R1.dt() == ((-1.0 * r8) + (1.0 * r16) + (-1.0 * r19) +
                       (-1.0 * r23)))
m.Equation(R2.dt() == ((-1.0 * r9) + (1.0 * r17) + (-1.0 * r18) +
                       (-1.0 * r24)))
m.Equation(V.dt() == ((1.0 * r2) + (-1.0 * r4) + (-1.0 * r15) + (-1.0 * r26)))
m.Equation(Iv2.dt() == ((-1.0 * r7) + (1.0 * r15) + (-1.0 * r22)))
m.Equation(J2.dt() == ((-1.0 * r11) + (1.0 * r19) + (-1.0 * r21)))
m.Equation(J1.dt() == ((-1.0 * r10) + (1.0 * r18) + (-1.0 * r20)))
m.Equation(R.dt() == ((-1.0 * r12) + (1.0 * r20) + (1.0 * r21) + (1.0 * r22) +
                      (-1.0 * r25)))

# Global Options
m.options.CV_TYPE = 0
m.options.COLDSTART = 1
m.options.IMODE = 7
m.GUI = True

m.solve()