import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
p0 = 101.3E3
h = 240 #skriv -10 for 10m under vand
rhosaltvand = 1027
g = 9.82
rholuft=1.293 #kg/m^3
if h >= 0:
p = p0 - h * rholuft*g
text = ('højde')
else:
p = p0 - h * g * rhosaltvand
text = ('dybde')
print('p i',np.abs(h),'m',text,', = ', p ,'Pa')
print('p i',np.abs(h),'m',text,', = ', p/1000 ,'kPa')
print('p i',np.abs(h),'m',text,', = ', p/100000 ,'bar')
print('p i',np.abs(h),'m',text,', = ', p/p0,'atm')
print('p i',np.abs(h),'m',text,', = ', p/100,'hPa')
print('p i',np.abs(h),'m',text,', = ', p/p0*760,'mmHg')
vanddybde = np.linspace(0,100,100)
lufthojde = np.linspace(0,500,100)
vandtryk = (p0 + vanddybde * g * rho)/p0
lufttryk = (p0 -lufthojde * rholuft*g)/p0
plt.figure(figsize=(7,3),dpi=100)
plt.subplot((121))
plt.plot(vanddybde,vandtryk)
plt.grid()
plt.xlabel('dybde i vand i m')
plt.ylabel('tryk i atm')
plt.subplot((122))
plt.plot(lufthojde,lufttryk)
plt.grid()
plt.xlabel('højde i luften i m')
Et lille program til at beregne trykket i en vaskesøjle og luftsøjle.
Læg mærke til at luftformlen er lineær og kun gælder få "små" højder.
Det er Parameteren " h = 240 "
som er den man skal ændre.
Grafen som er plottet til sidst plotter fra
0 til 100 m i dybden og
0 til 500 m i højden
Læg mærke til at alle variabler er arrays og ikke lister. Det gør at man kan erstatte h i
p = p0 - h * rholuft*g
med lufthøjde
lufttryk=(p0 -lufthojde * rholuft*g)/p0
uden at skulle "loope" sig igennem en liste.
Ved at gå fra lister til arrays giver man til gengæld afkald på fede liste funktioner som .append og a + b hvis man skal sætte lister sammen. En array a og en array b vil ved a + b give en ny array som indeholder summen af hvert element :-)