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')
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')
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()