Example #1
0
    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)
Example #2
0
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  )
Example #3
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)
Example #4
0
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'))
Example #5
0
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()
Example #6
0
    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)
Example #7
0
"""
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()

Example #8
0
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)
Example #9
0
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)