Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from scipy.integrate import odeint
- import matplotlib.pyplot as plt
- # Vuotavaan säiliöön sataa vetta
- # tutkitaan säiliön vedenpinnan korkeuden h riippuvuus ajasta t
- # funktio palauttaa derivaatan dh/dt
- # Juhani Kaukoranta 25.2.2022
- def model(h,t):
- L= 0.001 # sataa 0.001 m^3/s = 1 litra/s
- A1 = 1.0 # lieriösailiön poikkileikkaus 1 m^2
- A2 = 0.0001 # pohja-aukon ala 1 cm^2=0.0001 m^2
- g = 9.81 # putouskiihtyvyys 9.81 m/s^2
- dhdt = L/A1 - A2/A1 * np.sqrt(2*g*h) # pinnan nousunopeus h'(t) = L/A1...
- return dhdt
- h0 = 7.0 # pinnan alkukorkeus hetkellä t=0
- t = np.linspace(0,36000) # aikaväli 0 - 10 tuntia
- # ratkaistaan ODE
- h = odeint(model,h0,t)
- # plottaa korkeuden h riippuvuus ajasta t
- plt.plot(t,h)
- plt.xlabel('aika t (s)')
- plt.ylabel('vedenpinnan korkeus h (m)')
- plt.title('säiliön vedenpinnan riippuvuus ajasta')
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement