def Discharge(self, FlowPath, **kwargs): if FlowPath.key_down == 'A': # Pressure in compressor lower than the discharge line # Valve is closed - no flow return 0.0 else: #try: if not hasattr(self, 'valve_model') or self.valve_model == '1DOF': FlowPath.A = self.discharge_valve.A() mdot = flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) elif self.valve_model == 'VibrationModeModel': #mdot = self.discharge_valve.mdot A1 = self.discharge_valve.A_1() mdot1 = flow_models.IsentropicNozzle(A1, FlowPath.State_up, FlowPath.State_down) A2 = self.discharge_valve.A_2() mdot2 = flow_models.IsentropicNozzle(A2, FlowPath.State_up, FlowPath.State_down) mdot = mdot1 + mdot2 return mdot
def PistonLeakage(self, FlowPath, **kwargs): try: FlowPath.A=self.delta_gap*self.piston_diameter*pi mdot=flow_models.IsentropicNozzle(FlowPath.A,FlowPath.State_up,FlowPath.State_down) return mdot except ZeroDivisionError: return 0.0
def Inlet(self, FlowPath, **kwargs): try: FlowPath.A=0.01**2/4*pi mdot=flow_models.IsentropicNozzle(FlowPath.A,FlowPath.State_up,FlowPath.State_down) return mdot except ZeroDivisionError: return 0.0
def DA_D(self, FlowPath, X_d=1.0, **kwargs): FlowPath.A = X_d * scroll_geo.Area_s_sa(2 * pi - self.beta, self.geo) try: return flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) except ZeroDivisionError: return 0.0
def Discharge(self, FlowPath): if pi <= self.theta <= 7 * pi / 4: FlowPath.A = pi * 0.006**2 / 4 * (1 - cos(4 * self.theta)) / 2 mdot = flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) else: FlowPath.A = 0.0 mdot = 0 return mdot
def Suction(self, FlowPath): if 0 <= self.theta <= pi / 4: FlowPath.A = pi * 0.006**2 / 4 * (1 - cos(8 * self.theta)) / 2 mdot = flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) else: FlowPath.A = 0.0 mdot = 0 return mdot
def S_to_SS(self, FlowPath, **kwargs): if self.__before_discharge1__: FlowPath.A = 0.0 else: FlowPath.A = scroll_geo.Area_d_dd(2 * pi - self.beta, self.geo) try: mdot = flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) return mdot except ZeroDivisionError: return 0.0
def Suction(self,FlowPath,**kwargs): if FlowPath.key_up=='A': ## pressure in compressor higher than the inlet line ## valve is closed - no flow return 0.0 else: try: FlowPath.A=self.suction_valve.A() #FlowPath.A=self.A_suction mdot=flow_models.IsentropicNozzle(FlowPath.A,FlowPath.State_up,FlowPath.State_down) return mdot except ZeroDivisionError: return 0.0
def Discharge(self,FlowPath,**kwargs): if FlowPath.key_down=='A': ## pressure in compressor lower than the discharge line ## valve is closed - no flow return 0.0 else: try: FlowPath.A=self.discharge_valve.A() # FlowPath.A=self.A_discharge mdot=flow_models.IsentropicNozzle(FlowPath.A,FlowPath.State_up,FlowPath.State_down) return mdot except ZeroDivisionError: return 0.0
def Suction(self, FlowPath, **kwargs): if FlowPath.key_up == 'A': #Pressure in compressor higher than the inlet line #Valve is closed - no flow return 0.0 else: if not hasattr(self, 'valve_model') or self.valve_model == '1DOF': FlowPath.A = self.suction_valve.A() mdot = flow_models.IsentropicNozzle(FlowPath.A, FlowPath.State_up, FlowPath.State_down) elif self.valve_model == 'VibrationModeModel': A1 = self.suction_valve.A_1() mdot1 = flow_models.IsentropicNozzle(A1, FlowPath.State_up, FlowPath.State_down) A2 = self.suction_valve.A_2() mdot2 = flow_models.IsentropicNozzle(A2, FlowPath.State_up, FlowPath.State_down) mdot = mdot1 + mdot2 return mdot