Advertisement
jukaukor

sailion_vedenpinnan_korkeys.py

Jan 25th, 2022
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. import numpy as np
  2. from scipy.integrate import odeint
  3. import matplotlib.pyplot as plt
  4. # Vuotavaan säiliöön sataa vetta
  5. # tutkitaan säiliön vedenpinnan korkeuden h riippuvuus ajasta t
  6. # funktio palauttaa derivaatan dh/dt
  7. # Juhani Kaukoranta 25.2.2022
  8. def model(h,t):
  9. L= 0.001 # sataa 0.001 m^3/s = 1 litra/s
  10. A1 = 1.0 # lieriösailiön poikkileikkaus 1 m^2
  11. A2 = 0.0001 # pohja-aukon ala 1 cm^2=0.0001 m^2
  12. g = 9.81 # putouskiihtyvyys 9.81 m/s^2
  13. dhdt = L/A1 - A2/A1 * np.sqrt(2*g*h) # pinnan nousunopeus h'(t) = L/A1...
  14. return dhdt
  15.  
  16. h0 = 7.0 # pinnan alkukorkeus hetkellä t=0
  17. t = np.linspace(0,36000) # aikaväli 0 - 10 tuntia
  18. # ratkaistaan ODE
  19. h = odeint(model,h0,t)
  20. # plottaa korkeuden h riippuvuus ajasta t
  21. plt.plot(t,h)
  22. plt.xlabel('aika t (s)')
  23. plt.ylabel('vedenpinnan korkeus h (m)')
  24. plt.title('säiliön vedenpinnan riippuvuus ajasta')
  25. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement