-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinterp_air.py
75 lines (61 loc) · 2.25 KB
/
interp_air.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
from utility import interp, pr
cols = ['rho', 'cp', 'mu', 'nu', 'k', 'alpha', 'Pr']
exponent = [0, 0, 7, 6, 3, 6, 0]
data = """100,3.5562,1.032,71.1,2.00,9.34,2.54,0.786
150,2.3364,1.012,103.4,4.426,13.8,5.84,0.758
200,1.7458,1.007,132.5,7.590,18.1,10.3,0.737
250,1.3947,1.006,159.6,11.44,22.3,15.9,0.720
300,1.1614,1.007,184.6,15.89,26.3,22.5,0.707
350,0.9950,1.009,208.2,20.92,30.0,29.9,0.700
400,0.8711,1.014,230.1,26.41,33.8,38.3,0.690
450,0.7740,1.021,250.7,32.39,37.3,47.2,0.686
500,0.6964,1.030,270.1,38.79,40.7,56.7,0.684
550,0.6329,1.040,288.4,45.57,43.9,66.7,0.683
600,0.5804,1.051,305.8,52.69,46.9,76.9,0.685
650,0.5356,1.063,322.5,60.21,49.7,87.3,0.690
700,0.4975,1.075,338.8,68.10,52.4,98.0,0.695
750,0.4643,1.087,354.6,76.37,54.9,109,0.702
800,0.4354,1.099,369.8,84.93,57.3,120,0.709
850,0.4097,1.110,384.3,93.80,59.6,131,0.716
900,0.3868,1.121,398.1,102.9,62.0,143,0.720
950,0.3666,1.131,411.3,112.2,64.3,155,0.723
1000,0.3482,1.141,424.4,121.9,66.7,168,0.726
1100,0.3166,1.159,449.0,141.8,71.5,195,0.728
1200,0.2902,1.175,473.0,162.9,76.3,224,0.728
1300,0.2679,1.189,496.0,185.1,82,257,0.719
1400,0.2488,1.207,530,213,91,303,0.703
1500,0.2322,1.230,557,240,100,350,0.685
1600,0.2177,1.248,584,268,106,390,0.688
1700,0.2049,1.267,611,298,113,435,0.685
1800,0.1935,1.286,637,329,120,482,0.683
1900,0.1833,1.307,663,362,128,534,0.677
2000,0.1741,1.337,689,396,137,589,0.672
2100,0.1658,1.372,715,431,147,646,0.667
2200,0.1582,1.417,740,468,160,714,0.655
2300,0.1513,1.478,766,506,175,783,0.647
2400,0.1448,1.558,792,547,196,869,0.630
2500,0.1389,1.665,818,589,222,960,0.613
3000,0.1135,2.726,955,841,486,1570,0.536"""
def parse(data):
res = [line.split(',') for line in data.split('\n')]
return [[float(e) for e in line] for line in res]
getfloat = lambda msg: float(input(msg))
T1 = getfloat('Temp 1:')
T2 = getfloat('Temp 2:')
T = getfloat('Temp interp:')
data1, data2 = None, None
data = parse(data)
for l in data:
if l[0] == T1:
data1 = l[1:]
elif l[0] == T2:
data2 = l[1:]
del data
if data1 is None or data2 is None:
print('T1 or T2 not in data')
exit()
interpdata = []
for i in range(len(cols)):
val = interp(T, T1, T2, data1[i], data2[i])
interpdata.append(val * 10 ** (-exponent[i]))
pr(dict(zip(cols, interpdata)))