Z válcové nádoby vytéká voda. Určete čas, za který dojde k vyprázdnění nádoby.
Zadané hodnoty:
V každém časovém okamžiku platí Bernoulliho rovnice...
In [14]:
from __future__ import division
from math import sqrt,pi
R=0.5 #m, Průměr nádoby
rho=1000 #kg/m3, Hustota vody
g=9.81 #m/s2, Gravitační zrychlení
Pv=200000 #Pa, Tlak v nádrži
Y1=1.5 #m, Výška hladniny naplněné nádrže
y=1 #m, Okamžitá výška hladiny
Pb=0 #Pa, Tlak na výtoku
YD=0.2 #m, Výška výtokového potrubí
d=0.02 #m, Průměr výtokového potrubí
Kp=250 #-, Ztrátový součinitel
print ("Průtok m = %.1f kg/s")%m_dot
print ("Celková doba vyprazdňování nádoby t = %.1f s -> tj. %.1f min")%(t,t/60)
Stanovíme si počet kroků ve kterých budeme postupně řešit kolik vody nám z nádrže vyteklo v každém kroce. V každém kroce uvažujeme konstantní výšku hladiny $y$. Ke snižování výšky hladiny $y$ dojde vždy při přechodu na další časový krok.
In [21]:
import numpy as np
n_kroku = 1000
y=np.linspace(Y1,0,n_kroku)
time=0
def m_dot(y):
return
print ("Celková hmotnost vody v nádrži: %.1f kg")%m_all
print ("Celkový čas vyprazdňování t = %f s")%time
print ("Průměrný průtok během vyprazdňování m = %.2f kg/s")%(m_all/time)
In [20]:
import matplotlib.pyplot as plt #Tisk grafů
%matplotlib inline
#tt = np.zeros(y.shape)
tt=np.array([])
m_t=np.array([])
for val in y:
tt=np.append(tt,xxxxx)
m_t=np.append(m_t,xxxxx)
plt.ylabel("$\dot m$ [kg/s]")
plt.xlabel("y [m]")
aa=plt.plot(y,m_t)
plt.show()
plt.ylabel("Cas [kg/s]")
aa=plt.plot(y, tt)