File: adjust_ch4_t.py

package info (click to toggle)
rocketcea 1.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 39,944 kB
  • sloc: fortran: 23,152; python: 9,235; pascal: 370; makefile: 168; sh: 9
file content (42 lines) | stat: -rw-r--r-- 1,483 bytes parent folder | download
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
from engcoolprop.ec_fluid import EC_Fluid  # <== pip install EngCoolProp 
from rocketcea.blends import makeCardForNewTemperature
from rocketcea.cea_obj import CEA_Obj, fuelCards

# ======= use EngCoolProp to calculate dT and dH ========
fl = EC_Fluid(symbol="CH4" )
fl.setProps(P=14.7, Q=0) # Set T and all liquid
fl.printTPD() # Print state point at given T,P

ox = EC_Fluid(symbol="O2" )
ox.setProps(P=20.0, Q=0) # Set T and all liquid
ox.printTPD() # Print state point at given T,P

fl2 = EC_Fluid(symbol="CH4" )
fl2.setProps(T=ox.T, Q=0) # Set T and all liquid
fl2.printTPD() # Print state point at given T,P

dT = fl2.T-fl.T
dH = fl2.H-fl.H

print ('\nCH4 dT=%g degR, dH=%g BTU/lbm'%(dT, dH))

# ======== Build a new adjusted CEA card for the subcooled CH4 ==========
CpAve = abs(dH / dT)
card_name = makeCardForNewTemperature( ceaName='CH4', newTdegR=fl2.T, CpAve=CpAve, MolWt=16.04 )
print('')
print( 'New Name = ' + card_name )
print( '\n'.join(fuelCards[card_name]) )
print('')
print( 'Standard CH4')
print( '\n'.join(fuelCards['CH4']) )

C = CEA_Obj( oxName='LOX', fuelName='CH4')
C2 = CEA_Obj( oxName='LOX', fuelName=card_name)

IspVac,  Cstar,  Tc  =  C.get_IvacCstrTc(Pc=3600, MR=3.8, eps=200)
IspVac2, Cstar2, Tc2 = C2.get_IvacCstrTc(Pc=3600, MR=3.8, eps=200)
print('')
print('       Both NBP    Common Temp')
print('IspVac  %6.1f     %6.1f sec'%(IspVac, IspVac2))
print('Cstar   %6.1f     %6.1f ft/sec'%(Cstar, Cstar2))
print('Tcomb   %6.1f     %6.1f degR'%(Tc, Tc2))