New Devices
[owSlave2.git] / stest / fdiff.py
1 import math\r
2 #Bezeichnungen:\r
3 #r = relative Luftfeuchte\r
4 #T = Temperatur in C\r
5 #TK = Temperatur in Kelvin (TK = T + 273.15)\r
6 #TD = Taupunkttemperatur in C\r
7 #DD = Dampfdruck in hPa\r
8 #SDD = Saettigungsdampfdruck in hPa\r
9 \r
10 #Parameter:\r
11 #a = 7.5, b = 237.3 fuer T >= 0\r
12 #a = 7.6, b = 240.7 fuer T < 0 ueber Wasser (Taupunkt)\r
13 #a = 9.5, b = 265.5 fuer T < 0 ueber Eis (Frostpunkt)\r
14 \r
15 Rs = 8314.3 #J/(kmol*K) (universelle Gaskonstante)\r
16 mw = 18.016 #kg/kmol (Molekulargewicht des Wasserdampfes)\r
17 #AF = absolute Feuchte in g Wasserdampf pro m3 Luft\r
18 \r
19 #Formeln:\r
20 \r
21 #    SDD(T) = 6.1078 * 10^((a*T)/(b+T))\r
22 #    DD(r,T) = r/100 * SDD(T)\r
23 #    r(T,TD) = 100 * SDD(TD) / SDD(T)\r
24 #    TD(r,T) = b*v/(a-v) mit v(r,T) = log10(DD(r,T)/6.1078)\r
25 #    AF(r,TK) = 10^5 * mw/R* * DD(r,T)/TK; AF(TD,TK) = 10^5 * mw/R* * SDD(TD)/TK\r
26 \r
27 \r
28 a=7.5\r
29 b=237.3\r
30 \r
31 #a=r/100.0*SDD(T)/(T+273.15)*mw/Rs*10000\r
32 #r=a*100/(SDD(T)/(T+273.15)*mw/Rs*10000)\r
33 \r
34 def SDD(T):\r
35         return 6.1078 * 10**((a*T)/(b+T))\r
36 \r
37 #def DD(r,T):\r
38 #       return r/100 * SDD(T)\r
39 \r
40 #def _r(T,TD):\r
41 #       return 100 * SDD(TD) / SDD(T)\r
42 \r
43 #def _v(r,T):\r
44 #       return math.log10(DD(r,T)/6.1078)\r
45         \r
46 #def TD(r,T):\r
47 #       return b*v/(a-_v(r,T))  \r
48 \r
49         \r
50 #def AF(r,T):\r
51 #       return 10000 * mw/Rs * DD(r,T)/(T+273.15) #; AF(TD,TK) = 10^5 * mw/R* * SDD(TD)/TK\r
52 \r
53 def AF1(r,T):\r
54         return r/100.0*SDD(T)/(T+273.15)*mw/Rs*10000\r
55 \r
56 def RF1(a,T):\r
57         return a*100/(SDD(T)/(T+273.15)*mw/Rs*10000)    \r
58 #print(0.5*SDD(20)/(20+273.15)*mw/Rs*10000)\r
59 d=[]\r
60 for i in range(11):\r
61         s=""\r
62         r=[]\r
63         for j in range(6):\r
64                 r.append((i*10)-RF1(AF1(i*10,j*10),j*10+0.5))\r
65                 s=s+"%0.2f\t" % (r[len(r)-1])\r
66         print(s)\r
67         d.append(r)\r
68         \r
69 for i in range(11):\r
70         s=""\r
71         for j in range(5):\r
72                 s=s+"%0.4f\t" % (d[i][j]-d[i][j+1])\r
73         print(s)\r
74                 \r