Esempio n. 1
0
    def __init__(self):
        super(SteadyStateVacuum, self).__init__()

        des_vars = (('ram_recovery', 0.99), ('effDes', 0.8), ('duct_MN', 0.0),
                    ('duct_dPqP', 0.), ('nozzle_Cfg', 1.0),
                    ('nozzle_dPqP', 0.), ('shaft_Nmech', 10000.), ('inlet_MN',
                                                                   0.0),
                    ('comp_MN', 0.5), ('vehicle_mach', 0.8), ('Pa', 101.3e3, {
                        'units': 'Pa'
                    }))

        self.add('input_vars', IndepVarComp(des_vars))

        self.add('fl_start', FlowStart(thermo_data=janaf, elements=AIR_MIX))
        # internal flow
        self.add('comp', Compressor(thermo_data=janaf, elements=AIR_MIX))
        self.add('q', ExecComp('Prc = Pa/Ps'), promotes=['Prc', 'Pa'])
        self.add('q1',
                 ExecComp('m_dot = 3*(A_tube*L_pod)*(1/pod_period)'),
                 promotes=['m_dot', 'pod_period', 'A_tube', 'L_pod'])

        # connect components
        connect_flow(self, 'fl_start.Fl_O', 'comp.Fl_I')

        self.connect('input_vars.effDes', 'comp.map.effDes')
        self.connect('input_vars.comp_MN', 'comp.MN_target')
        self.connect('input_vars.shaft_Nmech', 'comp.Nmech')
        self.connect('input_vars.vehicle_mach', 'fl_start.MN_target')
        self.connect('input_vars.Pa', 'Pa')
        self.connect('Prc', 'comp.map.PRdes')
        self.connect('m_dot', 'fl_start.W')
        self.connect('fl_start.P', 'q.Ps')
Esempio n. 2
0
    def __init__(self):
        super(FlowPath, self).__init__()

        des_vars = (('ram_recovery', 0.99), ('effDes', 0.9), ('duct_MN', 0.65),
                    ('duct_dPqP', 0.), ('nozzle_Cfg', 1.0),
                    ('nozzle_dPqP', 0.), ('shaft_Nmech', 10000.),
                    ('inlet_MN', 0.6), ('comp_MN', 0.65))

        self.add('input_vars', IndepVarComp(des_vars))

        self.add('fl_start', FlowStart(thermo_data=janaf, elements=AIR_MIX))
        # internal flow
        self.add('inlet', Inlet(thermo_data=janaf, elements=AIR_MIX))
        self.add('comp', Compressor(thermo_data=janaf, elements=AIR_MIX))
        self.add('duct', Duct(thermo_data=janaf, elements=AIR_MIX))
        self.add('nozzle', Nozzle(thermo_data=janaf, elements=AIR_MIX))
        self.add('shaft', Shaft(1))

        # connect components
        connect_flow(self, 'fl_start.Fl_O', 'inlet.Fl_I')
        connect_flow(self, 'inlet.Fl_O', 'comp.Fl_I')
        connect_flow(self, 'comp.Fl_O', 'duct.Fl_I')
        connect_flow(self, 'duct.Fl_O', 'nozzle.Fl_I')

        self.connect('input_vars.ram_recovery', 'inlet.ram_recovery')
        self.connect('input_vars.effDes', 'comp.map.effDes')
        self.connect('input_vars.duct_MN', 'duct.MN_target')
        self.connect('input_vars.duct_dPqP', 'duct.dPqP')
        self.connect('input_vars.nozzle_Cfg', 'nozzle.Cfg')
        self.connect('input_vars.nozzle_dPqP', 'nozzle.dPqP')
        self.connect('input_vars.shaft_Nmech', 'shaft.Nmech')
        self.connect('input_vars.inlet_MN', 'inlet.MN_target')
        self.connect('input_vars.comp_MN', 'comp.MN_target')

        self.connect('comp.trq', 'shaft.trq_0')
        self.connect('shaft.Nmech', 'comp.Nmech')
Esempio n. 3
0
    params = (('P', 0.3, {'units': 'psi'}), ('T', 1500.0, {'units': 'degR'}),
              ('W', 1.0, {'units': 'lbm/s'}), ('Cp', 0.24, {'units': 'Btu/(lbm*degF)'}))
    dvars = (
        ('tube_area',3.9057),  #desc='Tube out diameter' #7.3ft
        ('tube_thickness',.05),
        ('length_tube',
         482803.),  #desc='Length of entire Hyperloop') #300 miles, 1584000ft
        ('num_pods',
         34.),  #desc='Number of Pods in the Tube at a given time') #
        ('temp_boundary', 340.),  #desc='Average Temperature of the tube') #
        ('temp_outside_ambient', 305.6
         )  #desc='Average Temperature of the outside air
    )
    #nozzle
    prob.root.add('des_vars', IndepVarComp(params))
    #bearings
    prob.root.add('des_vars2', IndepVarComp(params))
    #tube inputs
    prob.root.add('vars', IndepVarComp(dvars))

    prob.root.connect('des_vars.T', 'tt.nozzle_air_Tt')
    prob.root.connect('des_vars.W', 'tt.nozzle_air_W')

    prob.root.connect('vars.tube_area', 'tt.tube_area')
    prob.root.connect('vars.tube_thickness', 'tt.tube_thickness')
    prob.root.connect('vars.length_tube', 'tt.length_tube')
    prob.root.connect('vars.num_pods', 'tt.num_pods')
    prob.root.connect('vars.temp_outside_ambient','tt.tm.temp_outside_ambient')

    prob.setup()