def test_check_FFC_Isp_values(self): """test check FFC Isp values""" geomObj = Geometry(Rthrt=1, CR=2.5, eps=62.5, pcentBell=75, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=3.10, LchmMin=2.0, LchamberInp=None) effObj = Efficiencies() effObj.set_const( 'ERE', 0.98) # don't know injector details so set effERE=0.98 # It's an ablative chamber, so some FFC (fuel film cooling) is required... guess about 10% C = CoreStream(geomObj=geomObj, effObj=effObj, pcentFFC=10.0, Pamb=0.001, oxName='N2O4', fuelName='A50', MRcore=1.6, Pc=100) C.reset_attr('Pc', 100) self.assertAlmostEqual(C('IspDel'), 325.64723, places=2) self.assertAlmostEqual(C('IspODE'), 338.9201, places=2) self.assertAlmostEqual(C('IspODF'), 320.4940, places=2)
import webbrowser import os from rocketisp.rocket_isp import RocketThruster from rocketisp.geometry import Geometry from rocketisp.stream_tubes import CoreStream from rocketisp.efficiencies import Efficiencies # create basic Geometry. # Use "place-holder" of 1 inch for throat radius... correct later with "scale_Rt_to_Thrust" geomObj = Geometry(Rthrt=1, CR=2.5, eps=62.5, pcentBell=72.3, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=3.10, LchmMin=2.0, LchamberInp=None) effObj = Efficiencies() effObj.set_const('ERE', 0.98) # don't know injector details so set effERE=0.98 # It's an ablative chamber, so some FFC (fuel film cooling) is required... guess about 15% core = CoreStream( geomObj=geomObj, effObj=effObj, pcentFFC=15.0, oxName='N2O4', fuelName='A50', MRcore=1.6, Pc=100 ) R = RocketThruster(name='Apollo SPS',coreObj=core) # scale geometry to give 20,500 lbf of thrust for current conditions R.scale_Rt_to_Thrust( 20500 , Pamb=0.0 ) # figure out best mixture ratio to run the engine. R.set_mr_to_max_ispdel() # re-scale geometry to give 20,500 lbf of thrust after MR change R.scale_Rt_to_Thrust( 20500 , Pamb=0.0 )
import os from rocketisp.rocket_isp import RocketThruster from rocketisp.geometry import Geometry from rocketisp.stream_tubes import CoreStream from rocketisp.efficiencies import Efficiencies from rocketisp.examples.compare_vals import compare_header, compare geomObj = Geometry(Rthrt=3, CR=2.5, eps=55, pcentBell=80, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=3.10, LchmMin=2.0, LchamberInp=None) effObj = Efficiencies() effObj.set_const('ERE', 0.97 ) core = CoreStream( geomObj=geomObj, effObj=effObj, oxName='N2O4', fuelName='MMH', MRcore=1.65, Pc=125, pcentFFC=4.5 ) R = RocketThruster(name='Shuttle OMS',coreObj=core, injObj=None) R.scale_Rt_to_Thrust( 6000 , Pamb=0.0 ) R.set_MRthruster( MRthruster=1.65 ) R.scale_Rt_to_Thrust( 6000 , Pamb=0.0 ) compare_header() compare('Fvacuum',6000, core('FvacTotal')) compare('Isp Vacuum', 313.2, core('IspDel')) compare('Engine Length', 77, geomObj('Ltotal')) compare('Nozzle ID', 43.09, geomObj('Rexit')*2)
sys.path.insert(0, os.path.abspath("../../")) # needed to find rocketisp development version from rocketisp.rocket_isp import RocketThruster from rocketisp.geometry import Geometry from rocketisp.stream_tubes import CoreStream from rocketisp.efficiencies import Efficiencies from rocketisp.examples.compare_vals import compare_header, compare geomObj = Geometry(Rthrt=Rthrt, CR=(5.131/2.4724)**2, eps=eps, pcentBell=70, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=2.4842/2, LchmMin=2.0, LchamberInp=15.0) effObj = Efficiencies() effObj.set_const('ERE', 0.9892 ) core = CoreStream( geomObj, effObj, oxName='LOX', fuelName='LH2', MRcore=MRcore, Pc=Pc, CdThroat=CdThroat) R = RocketThruster(name='RL10',coreObj=core, injObj=None, calc_CdThroat=False, noz_regen_eps=eps) R.scale_Rt_to_Thrust( Fvac, Pamb=0.0 , use_scipy=False ) compare_header() compare('Fvacuum',Fvac, core('FvacTotal')) compare('Isp Vacuum', Isp, core('IspDel')) compare('Cstar ODE', cstarODE, core('cstarODE')) print() compare('Fuel Flow Rate', wdotFuel, core('wdotFlCore'))
sys.path.insert(0, os.path.abspath("../../")) # needed to find rocketisp development version from rocketisp.rocket_isp import RocketThruster from rocketisp.geometry import Geometry from rocketisp.stream_tubes import CoreStream from rocketisp.efficiencies import Efficiencies from rocketisp.examples.compare_vals import compare_header, compare geomObj = Geometry(Rthrt=Rthrt, CR=CR, eps=eps, pcentBell=70, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=2.4842/2, LchmMin=2.0, LchamberInp=Lcham) effObj = Efficiencies() effObj.set_const('ERE', cstarEff ) core = CoreStream( geomObj, effObj, oxName='LOX', fuelName='LH2', MRcore=MRcore, Pc=Pc) R = RocketThruster(name='RLIOA-3-3',coreObj=core, injObj=None, noz_regen_eps=eps) #R.scale_Rt_to_Thrust( Fvac, Pamb=0.0 , use_scipy=False ) compare_header() compare('Fvacuum',Fvac, core('FvacTotal')) compare('Isp Vacuum', Isp, core('IspDel')) compare('Cstar ODE', cstarODE, core('cstarODE')) compare('Efficiency Cf/Noz', effCfODE, effObj('Noz')) print()
from rocketisp.efficiencies import Efficiencies geomObj = Geometry(Rthrt=5.868 / 2, CR=2.5, eps=150, pcentBell=80, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=3.10, LchmMin=2.0, LchamberInp=16) effObj = Efficiencies() effObj.set_const('Mix', 0.997329) effObj.set_const('Em', 0.99644) effObj.set_const('Kin', 0.975011) effObj.set_const('BL', 0.9795) effObj.set_const('Div', 0.994775) core = CoreStream(geomObj, effObj, oxName='N2O4', fuelName='MMH', MRcore=1.85, Pc=150, CdThroat=0.995, Pamb=14.7, pcentFFC=14.0, ko=0.035)
""" model the XLR-134 """ from rocketisp.rocket_isp import RocketThruster from rocketisp.geometry import Geometry from rocketisp.stream_tubes import CoreStream from rocketisp.efficiencies import Efficiencies geomObj = Geometry(Rthrt=1, CR=3.0, eps=767.9, pcentBell=80, RupThroat=1.5, RdwnThroat=1.0, RchmConv=1.0, cham_conv_deg=30, LchmOvrDt=3.10, LchmMin=2.0, LchamberInp=None) effObj = Efficiencies() effObj.set_const('ERE', (490.45-8.6)/490.45) core = CoreStream( geomObj, effObj, oxName='LOX', fuelName='LH2', MRcore=6.0, Pc=510 ) R = RocketThruster(name='xlr134',coreObj=core, injObj=None) R.scale_Rt_to_Thrust( 500 , Pamb=0.0 , use_scipy=False ) R.summ_print()
dpFuelInp = 200 geomObj = Geometry(Rthrt=Rt, CR=CR, eps=eps, pcentBell=pcentBell, RupThroat=0.5, RdwnThroat=1.0, RchmConv=0.5, cham_conv_deg=30, LchmOvrDt=3, LchmMin=2.0, LchamberInp=Lcham) effObj = Efficiencies() effObj.set_const('ERE', 0.975) effObj.set_const('Noz', 0.933177) # Huzel based on frozen Isp core = CoreStream(geomObj, effObj, oxName=oxName, fuelName=fuelName, MRcore=MR, Pc=Pc, Pamb=14.7, CdThroat=1.0, adjCstarODE=0.978196, adjIspIdeal=1.0084418978404621) C = RocketThruster(name='Huzel A-1', coreObj=core, calc_CdThroat=False)
dpFuelInp = 25 geomObj = Geometry(Rthrt=Rt, CR=CR, eps=eps, pcentBell=pcentBell, RupThroat=0.5, RdwnThroat=1.0, RchmConv=0.5, cham_conv_deg=30, LchmOvrDt=3, LchmMin=2.0, LchamberInp=Lcham) effObj = Efficiencies() effObj.set_const('ERE', 0.98) effObj.set_const('Noz', 0.946901) core = CoreStream(geomObj, effObj, oxName=oxName, fuelName=fuelName, MRcore=MR, Pc=Pc, Pamb=14.7, CdThroat=1.0, adjCstarODE=0.975554, adjIspIdeal=1.01214) C = RocketThruster(name='Huzel A-4', coreObj=core, calc_CdThroat=False)