Professional Documents
Culture Documents
Chimenea de Equilibrio Metodo Runge Kutta
Chimenea de Equilibrio Metodo Runge Kutta
February 7, 2021
1
Q = np.zeros(n)
t[0] = t0
y[0] = y0
Q[0] = Q0
for i in range(n-1):
k1 = f(t[i],y[i],Q[i])
l1 = g(t[i],y[i],Q[i])
k2 = f(t[i]+dt/2,y[i]+k1*dt/2, Q[i] + l1*dt/2)
l2 = g(t[i]+dt/2,y[i]+k1*dt/2, Q[i] + l1*dt/2)
k3 = f(t[i]+dt/2,y[i]+k2*dt/2, Q[i] + l2*dt/2)
l3 = g(t[i]+dt/2,y[i]+k2*dt/2, Q[i] + l2*dt/2)
k4 = f(t[i]+dt,y[i]+k3*dt, Q[i] + l3*dt)
l4 = g(t[i]+dt,y[i]+k3*dt, Q[i] + l3*dt)
y[i+1] = y[i] + (k1 + 2*k2+2*k3+k4)*dt/6
Q[i+1] = Q[i] + (l1 + 2*l2+2*l3+l4)*dt/6
#return y, t
print(y,Q)
#return Q,t
#plt.plot(t,y)
#plt.plot(t,Q)
plt.figure(u'GRÃĄFICOS', figsize=(13,6), tight_layout=True)
plt.subplot(121)
plt.plot(t, y, 'co', markersize=2, label='ONDA')
plt.title('SOBREELEVACIÃŞN EN LA CHIMENEA')
plt.xlabel('TIEMPO')
plt.ylabel('ALTURA')
plt.grid(True)
plt.legend()
plt.subplot(122)
plt.plot(t, Q, color='red', linewidth=2, label='ONDA')
plt.title(u'CAUDAL EN LA TUBERIA')
plt.xlabel('TIEMPO')
plt.ylabel('CAUDAL')
plt.grid(True)
plt.legend()
plt.show()
2
yi=0 #ALTURA INICIAL
[1]: t=np.array([1,50,100,150,200,250,300,350,400])
for i in range(8):
QT=Q*(1-t[i+1]/t[8])
QCh=Q-QT
fff=lambda t,y,Q: (Q-QT)/Achimenea #FUNCION PARA LA ALTURA
aa=QT
ggg=lambda t,y,Q: gr*Atuberia/Ltuberia*(-y-Cc*Q*abs(Q)-CCh*QCh*abs(QCh));␣
,→#FUNCION PARA EL CAUDAL
---------------------------------------------------------------------------
<ipython-input-1-e7889ccfd4cd> in <module>
----> 1 t=np.array([1,50,100,150,200,250,300,350,400])
2 for i in range(8):
3 QT=Q*(1-t[i+1]/t[8])
4 QCh=Q-QT
5 fff=lambda t,y,Q: (Q-QT)/Achimenea #FUNCION PARA LA ALTURA
---------------------------------------------------------------------------
<ipython-input-2-7203f79e9e3b> in <module>
1 #APLICAMOS RUNGE KUTTA PARA LAS DOS ECUACIONES
----> 2 RUNGEKUTTA(fff,ggg, yi, Q, ti,tfi,dt)
[ ]: