def test_integrate_work_balance_comp_turbine_ker_wcool(self): """Соврадение работы, определенной на разности входной и выходной энтальпий, заданной величине.""" work_fluid = KeroseneCombustionProducts() T_g_stag = self.comp_turbine_ker_wcool.T_g_stag T_t_stag = self.comp_turbine_ker_wcool.last.T_st_stag alpha = self.comp_turbine_ker_wcool.first.alpha_air_in c_p = work_fluid.c_p_av_int_func(T_g_stag, T_t_stag, alpha=alpha) L_t = c_p * (T_g_stag - T_t_stag) L_t_res = abs(L_t - self.comp_turbine_ker_wcool.L_t_cycle) / self.comp_turbine_ker_wcool.L_t_cycle self.assertAlmostEqual(L_t_res, 0, places=3)
def setUp(self): self.turbine = Turbine(TurbineType.WORK, T_g_stag=1400, p_g_stag=300e3, G_turbine=25, work_fluid=KeroseneCombustionProducts(), G_fuel=1, l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1150, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=True, precise_heat_drop=False, auto_set_rho=True, H01_init=120e3, c21_init=250, alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.turbine.compute_geometry() self.turbine.compute_stages_gas_dynamics() self.turbine.compute_integrate_turbine_parameters() self.stage_prof = StageProfiler( profiling_type=ProfilingType.ConstantCirculation, p0_stag=lambda r: self.turbine[0].p0_stag, T0_stag=lambda r: self.turbine[0].T0_stag, c0=lambda r: 100, alpha0=lambda r: np.radians([90])[0], c_p=self.turbine.c_p_gas, k=self.turbine.k_gas, D1_in=self.turbine.geom[0].D1 - self.turbine.geom[0].l1, D1_av=self.turbine.geom[0].D1, D1_out=self.turbine.geom[0].D1 + self.turbine.geom[0].l1, n=self.turbine.n, c1_av=self.turbine[0].c1, alpha1_av=self.turbine[0].alpha1, L_u_av=self.turbine[0].L_u, c2_a_av=self.turbine[0].c2_a, c2_u_av=self.turbine[0].c2_u, b_a_sa=self.turbine.geom[0].b_sa, b_a_rk=self.turbine.geom[0].b_rk, delta_a_sa=self.turbine.geom[0].delta_a_sa, delta_a_rk=self.turbine.geom[0].delta_a_rk, t_rel_av_sa=0.8, t_rel_av_rk=0.7, center=True, section_num=3, x0=0., y0=0., pnt_cnt=35, gamma1_k_rel_rk=lambda r_rel: 0.5, gamma1_rk=None, gamma1_sa=None, center_point_rk=lambda r_rel: 0.46 + 0.02 * r_rel, center_point_sa=lambda r_rel: 0.51 + 0.02 * r_rel)
def __init__(self, unit_arr: typing.List[Unit], relax_coef=1, precision=0.01, max_iter_number=50, cold_work_fluid: IdealGas=Air(), hot_work_fluid: IdealGas=KeroseneCombustionProducts()): self._connection_arr: typing.List[ConnectionSet] = [] self._unit_arr = unit_arr self.cold_work_fluid = cold_work_fluid self.hot_work_fluid = hot_work_fluid self.relax_coef = relax_coef self.precision = precision self.max_iter_number = max_iter_number self._iter_number = 0 self._residual_arr = []
def setUp(self): self.turbine = Turbine(TurbineType.WORK, T_g_stag=1450, p_g_stag=400e3, G_turbine=25, work_fluid=KeroseneCombustionProducts(), G_fuel=2.5, l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1050, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, precise_heat_drop=False, auto_set_rho=False, rho_list=[0.4, 0.20], H0_list=[235e3, 200e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.turbine.compute_geometry() self.turbine.compute_stages_gas_dynamics() self.turbine.compute_integrate_turbine_parameters() self.turbine_profiler = TurbineProfiler(turbine=self.turbine, p_in_stag=lambda r: self.turbine[0].p0_stag, T_in_stag=lambda r: self.turbine[0].T0_stag, c_in=lambda r: 90, alpha_in=lambda r: np.radians([90])[0], center=True) self.turbine_profiler[0].profiling_type = ProfilingType.ConstantAngle self.turbine_profiler[0].gamma1_k_rel_rk = lambda r_rel: 0.5 self.turbine_profiler[1].profiling_type = ProfilingType.ConstantAngle self.turbine_profiler[1].auto_sections_par = False self.turbine_profiler[1].rk_sections[0].gamma1_s = np.radians([15])[0] self.turbine_profiler[1].rk_sections[0].gamma1_k = np.radians([7])[0] self.turbine_profiler.compute_stage_profiles() stage_prof = self.turbine_profiler[0] lam_blade_arr = np.array([17, 19, 22, 24, 27, 29]) T_wall_arr = np.array([200, 600, 700, 800, 900, 1200]) + 273 lam_blade_int = interp1d(T_wall_arr, lam_blade_arr, bounds_error=False, fill_value='extrapolate') x_hole_rel = [-0.8, -0.5, -0.15, 0.1, 0.35, 0.6] self.theta = get_theta(0.5 * stage_prof.D1_in, 0.5 * stage_prof.D1_out, 0.5, 1.12) self.T_gas_stag = get_T_gas(self.theta, 650, self.turbine[0].T0_stag) self.G_cool0 = 0.018 self.g_cool0 = get_g_cool(self.theta, 2 * self.G_cool0 / (stage_prof.D1_out - stage_prof.D1_in)) self.film_blade = FilmBladeCooler(sections=stage_prof.sa_sections, channel_width=0.001, wall_thickness=0.001, D_in=stage_prof.D1_in, D_out=stage_prof.D1_out, T_wall_out_av_init=1123, lam_blade=lambda T: lam_blade_int(T).__float__(), x_hole_rel=x_hole_rel, hole_num=[20 for _ in x_hole_rel], d_hole=[0.5e-3 for _ in x_hole_rel], phi_hole=[0.9 for _ in x_hole_rel], mu_hole=[0.86 for _ in x_hole_rel], T_gas_stag=self.T_gas_stag, p_gas_stag=stage_prof.p0_stag, c_p_gas_av=stage_prof.c_p, lam_gas_in=stage_prof.lam_c0, lam_gas_out=stage_prof.lam_c1, work_fluid=type(self.turbine.work_fluid)(), T_cool0=650, p_cool_stag0=self.turbine.p_g_stag + 20e3, g_cool0=self.g_cool0, cool_fluid=Air())
def setUp(self): self.bs = BladeSection(angle1=np.radians([90])[0], angle2=np.radians([21])[0], delta1=np.radians([2])[0], delta2=np.radians([2])[0], b_a=0.07, r1=0.01 / 2, convex='left', pnt_count=30, s2=0.0003) self.bs.compute_profile() lam_blade_arr = np.array([19, 22, 24, 27]) T_wall_arr = np.array([600, 700, 800, 900]) + 273 lam_blade_int = interp1d(T_wall_arr, lam_blade_arr, bounds_error=False, fill_value='extrapolate') self.conv_cooler = SectorCooler(section=self.bs, height=67.6e-3, T_gas_stag=1223, G_gas=439, D_av=0.6476, wall_thickness=1.8e-3, T_wall_av=980, T_cool_fluid0=600, G_cool=0.144, lam_blade=lambda T: lam_blade_int(T).__float__(), cool_fluid=Air(), work_fluid=KeroseneCombustionProducts(), node_num=250, channel_width=0.001 ) mu_gas, lam_gas, Re_gas, Nu_gas, alpha_gas_av = GasBladeHeatExchange.get_alpha_gas_av(self.conv_cooler.section, self.conv_cooler.height, self.conv_cooler.T_gas_stag, self.conv_cooler.G_gas, self.conv_cooler.D_av, self.conv_cooler.work_fluid) self.ave_param = DeflectorAverageParamCalculator(self.conv_cooler.section, self.conv_cooler.height, self.conv_cooler.D_av, self.conv_cooler.wall_thickness, 1023, self.conv_cooler.T_cool_fluid0, self.conv_cooler.T_gas_stag, alpha_gas_av, self.conv_cooler.G_cool, self.conv_cooler.lam_blade, self.conv_cooler.cool_fluid ) self.x_hole1 = [-0.06, -0.04, -0.015, 0, 0.008, 0.015, 0.04] self.film1 = FilmCalculator(x_hole=self.x_hole1, hole_num=[15 for _ in self.x_hole1], d_hole=[0.001 for _ in self.x_hole1], phi_hole=[0.9 for _ in self.x_hole1], mu_hole=[0.85 for _ in self.x_hole1], T_gas_stag=self.conv_cooler.T_gas_stag, p_gas_stag=9.5e5, v_gas=lambda x: 100, c_p_gas_av=1150, work_fluid=KeroseneCombustionProducts(), alpha_gas=lambda x: 4500, T_cool=lambda x: 650, G_cool0=0.25, p_cool_stag0=10e5, c_p_cool_av=1100, cool_fluid=Air(), height=0.03) self.x_hole2 = [-0.015, 0.025] self.film2 = FilmCalculator(x_hole=self.x_hole2, hole_num=[15 for _ in self.x_hole2], d_hole=[0.001 for _ in self.x_hole2], phi_hole=[0.9 for _ in self.x_hole2], mu_hole=[0.85 for _ in self.x_hole2], T_gas_stag=self.conv_cooler.T_gas_stag, p_gas_stag=9.5e5, v_gas=lambda x: 100, c_p_gas_av=1150, work_fluid=KeroseneCombustionProducts(), alpha_gas=lambda x: 4500, T_cool=lambda x: 650, G_cool0=0.25, p_cool_stag0=10e5, c_p_cool_av=1100, cool_fluid=Air(), height=0.03) self.x_hole_rel = [-0.8, -0.6, -0.2, 0.2, 0.4, 0.7] self.film_cooler = FilmSectorCooler(section=self.bs, height=self.conv_cooler.height, channel_width=1e-3, wall_thickness=self.conv_cooler.wall_thickness, D_av=self.conv_cooler.D_av, lam_blade=lambda T: lam_blade_int(T).__float__(), T_wall_av=1000, x_hole_rel=self.x_hole_rel, hole_num=[15 for _ in self.x_hole_rel], d_hole=[1.5e-3 for _ in self.x_hole_rel], phi_hole=[0.9 for _ in self.x_hole_rel], mu_hole=[0.85 for _ in self.x_hole_rel], T_gas_stag=self.conv_cooler.T_gas_stag, p_gas_stag=9.5e5, G_gas=self.conv_cooler.G_gas, c_p_gas_av=1150, lam_gas_in=0.1, lam_gas_out=0.2, work_fluid=KeroseneCombustionProducts(), T_cool0=self.conv_cooler.T_cool_fluid0, p_cool_stag0=10e5, G_cool0=self.conv_cooler.G_cool, c_p_cool_av=1100, cool_fluid=Air(), node_num=250, g_cool0_s=0.6)
def setUp(self): self.comp_turb_2st = Turbine(TurbineType.WORK, T_g_stag=1400, p_g_stag=5.5e5, G_turbine=25, G_fuel=1, work_fluid=KeroseneCombustionProducts(), alpha_air=2.87, l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1200, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=True, auto_set_rho=True, precise_heat_drop=False, H01_init=150e3, c21_init=250, alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.comp_turb_2st.geom[0].g_cool = 0.004 self.comp_turb_2st.geom[1].g_cool = 0.003 self.comp_turb_2st.compute_geometry() self.comp_turb_2st.compute_stages_gas_dynamics() self.comp_turb_2st.compute_integrate_turbine_parameters() self.turb_profiler = TurbineProfiler( turbine=self.comp_turb_2st, p_in_stag=lambda r: self.comp_turb_2st[0].p0_stag, T_in_stag=lambda r: self.comp_turb_2st[0].T0_stag, c_in=lambda r: 100, alpha_in=lambda r: np.radians([90])[0], section_num=3, center=True ) self.turb_profiler[0].profiling_type = ProfilingType.ConstantAngle self.turb_profiler[1].profiling_type = ProfilingType.ConstantAngle self.turb_profiler.compute_stage_profiles() x_hole_rel = [-0.5, -0.25, 0., 0.2, 0.6] G_cool0 = 0.2 g_cool0 = G_cool0 * 2 / (self.turb_profiler[0].D1_out - self.turb_profiler[0].D1_in) self.cooler = get_sa_cooler( self.turb_profiler[0], channel_width=0.001, wall_thickness=0.001, T_wall_out_av_init=1000, lam_blade=lambda T: 24, x_hole_rel=x_hole_rel, hole_num=[35 for _ in x_hole_rel], d_hole=[0.5e-3 for _ in x_hole_rel], phi_hole=[0.98 for _ in x_hole_rel], mu_hole=[0.95 for _ in x_hole_rel], work_fluid=KeroseneCombustionProducts(), T_cool0=650, p_cool_stag0=0.99 * self.comp_turb_2st[0].p0_stag, g_cool0=lambda r: g_cool0, cool_fluid=Air(), cover_thickness=0, )
def setUp(self): self.turbine = Turbine(TurbineType.WORK, T_g_stag=1450, p_g_stag=400e3, G_turbine=25, work_fluid=KeroseneCombustionProducts(), G_fuel=1, l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1050, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, precise_heat_drop=False, auto_set_rho=False, rho_list=[0.4, 0.20], H0_list=[235e3, 200e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.turbine.compute_geometry() self.turbine.compute_stages_gas_dynamics() self.turbine.compute_integrate_turbine_parameters() def get_theta_gas(r_in, r_out, r_max_rel, theta_max): r_max = r_max_rel * (r_out - r_in) + r_in a = 3 * (r_out - r_in - theta_max * (r_out - r_in)) / ((r_out - r_max)**3 - (r_in - r_max)**3) return lambda r: a * (r - r_max)**2 + theta_max def get_T_gas(theta_gas, T_c_stag, T_gas_stag_av): return lambda r: T_c_stag + theta_gas(r) * (T_gas_stag_av - T_c_stag) # Внутренний радиус r_in = 0.5 * (self.turbine.geom[0].D1 - self.turbine.geom[0].l1) # Периферийный радиус r_out = 0.5 * (self.turbine.geom[0].D1 + self.turbine.geom[0].l1) # Относительное положение мксимума r_max_rel = 0.5 # Максимальная неравномерность theta_max = 1.1 # Температура после компрессора T_c_stag = 685 # Средняя температура газа T_gas_stag_av = self.turbine[0].T0_stag # Функция неравномерности theta_gas = get_theta_gas(r_in, r_out, r_max_rel, theta_max) # Функция температуры газа от радиуса T_g_stag = get_T_gas(theta_gas, T_c_stag, T_gas_stag_av) self.turbine_profiler = TurbineProfiler( turbine=self.turbine, p_in_stag=lambda r: self.turbine[0].p0_stag, T_in_stag=T_g_stag, c_in=lambda r: 90, alpha_in=lambda r: np.radians([90])[0], center=True) self.turbine_profiler[0].profiling_type = ProfilingType.ConstantAngle self.turbine_profiler[0].gamma1_k_rel_rk = lambda r_rel: 0.5 self.turbine_profiler[1].profiling_type = ProfilingType.ConstantAngle self.turbine_profiler[1].auto_sections_par = False self.turbine_profiler[1].rk_sections[0].gamma1_s = np.radians([15])[0] self.turbine_profiler[1].rk_sections[0].gamma1_k = np.radians([7])[0] self.turbine_profiler.compute_stage_profiles()
def __init__( self, x_hole: typing.List[float] = None, hole_num: typing.List[float] = None, d_hole: typing.List[float] = None, phi_hole: typing.List[float] = None, mu_hole: typing.List[float] = None, T_gas_stag=None, p_gas_stag=None, v_gas: typing.Callable[[float], float] = None, c_p_gas_av=None, work_fluid: IdealGas = KeroseneCombustionProducts(), alpha_gas: typing.Callable[[float], float] = None, T_cool: typing.Callable[[float], float] = None, G_cool0=None, p_cool_stag0=None, c_p_cool_av=None, cool_fluid: IdealGas = Air(), height=None, g_cool0_s=0.5, ): """ :param x_hole: Координаты рядов отверстий. :param hole_num: Число отверстий в рядах. :param d_hole: Диаметры отверстий в рядах. :param phi_hole: Коэффициенты скорости в рядах отверстий. :param mu_hole: Коэффициенты расхода в рядах отверстий. :param T_gas_stag: Температура торможения газа. :param p_gas_stag: Давление тороможения газа. :param v_gas: Распределение скорости газа по профилю. :param c_p_gas_av: Средняя теплоемкость газа :param work_fluid: Рабочее тело турбины. :param alpha_gas: Распределение коэффициента теплоотдачи со стророны газа. :param T_cool: Распределение температуры торможения охлаждающего воздуха вдоль профиля. :param G_cool0: Расход охлаждающего воздуха на входе в канал. :param p_cool_stag0: Полное давление охлаждающего воздуха на входе в канал. :param c_p_cool_av: Средняя теплоемкость охлаждающего воздуха. :param cool_fluid: Охлаждающее тело. :param height: Высота участка лопатки :param g_cool0_s: Относительный расход охлаждающего воздуха на входе в канал спинки. """ self.x_hole = np.array(x_hole) self.hole_num = np.array(hole_num) self.d_hole = np.array(d_hole) self.phi_hole = np.array(phi_hole) self.mu_hole = np.array(mu_hole) self._modify_hole_data() self.T_gas_stag = T_gas_stag self.p_gas_stag = p_gas_stag self.v_gas = v_gas self.c_p_gas_av = c_p_gas_av self.work_fluid = work_fluid self.alpha_gas = alpha_gas self.T_cool = T_cool self.p_cool_stag0 = p_cool_stag0 self.G_cool0 = G_cool0 self.c_p_cool_av = c_p_cool_av self.cool_fluid = cool_fluid self.height = height self.g_coo0_s = g_cool0_s self.k_gas_av = self.work_fluid.k_func(self.c_p_gas_av) self.k_cool_av = self.cool_fluid.k_func(self.c_p_cool_av) self.hole_step = np.zeros(self.x_hole.shape[0]) self.s = np.zeros(self.x_hole.shape[0]) self.T_cool_hole = np.zeros(self.x_hole.shape[0]) "Температура торможения охлаждающей среды у входа в отверстия" self.v_gas_hole = np.zeros(self.x_hole.shape[0]) "Скорость газа у отверстий" self.T_gas_hole = np.zeros(self.x_hole.shape[0]) "Статическая температура газа у отверстий" self.p_gas_hole = np.zeros(self.x_hole.shape[0]) "Статическое давление газа у отверстий" self.rho_gas_hole = np.zeros(self.x_hole.shape[0]) "Статичекая плотность газа у отверстий" self.v_cool_hole_out = np.zeros(self.x_hole.shape[0]) "Скорость истечения охлаждающей среды из отвестий" self.rho_cool_stag_hole = np.zeros(self.x_hole.shape[0]) "Плотность охлаждающей среды по параметрам торможения на входе в отверстия" self.rho_cool_hole_out = np.zeros(self.x_hole.shape[0]) "Статическая плотность охлаждающей среды на выходе из отверстия" self.m = np.zeros(self.x_hole.shape[0]) "Параметры вдува на отверстиях" self.Re_s = np.zeros(self.x_hole.shape[0]) "Число Рейнольдса по ширине щели на отверстиях" self.phi_temp = np.zeros(self.x_hole.shape[0]) "Температурный фактор на отверстиях" self.G_cool_hole = np.zeros(self.x_hole.shape[0]) "Расход охлаждающей среды в сечении канала перед отверстиями" self.dG_cool_hole = np.zeros(self.x_hole.shape[0]) "Расход охлаждающей среды перед отверстиями" self.film_eff_list = [] "Список функций эффективности пленок от каждого ряда отверстий"
def setUp(self): self.precision = 0.00001 self.comp_turbine_ker_wcool = Turbine( TurbineType.WORK, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=KeroseneCombustionProducts(), l1_D1_ratio=0.25, n=13e3, T_t_stag_cycle=1000, stage_number=3, eta_t_stag_cycle=0.90, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, auto_set_rho=True, precise_heat_drop=True, precision=self.precision, H0_list=[290e3, 290e3, 290e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0] ) self.comp_turbine_ker_wcool.compute_geometry() self.comp_turbine_ker_wcool.compute_stages_gas_dynamics() self.comp_turbine_ker_wcool.compute_integrate_turbine_parameters() self.comp_turbine_ngas_wcool = Turbine( TurbineType.WORK, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=NaturalGasCombustionProducts(), l1_D1_ratio=0.25, n=13e3, T_t_stag_cycle=1000, stage_number=3, eta_t_stag_cycle=0.90, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, auto_set_rho=True, precise_heat_drop=True, precision=self.precision, H0_list=[290e3, 290e3, 290e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0] ) self.comp_turbine_ngas_wcool.compute_geometry() self.comp_turbine_ngas_wcool.compute_stages_gas_dynamics() self.comp_turbine_ngas_wcool.compute_integrate_turbine_parameters() self.power_turbine_ngas_wcool = Turbine( TurbineType.PRESSURE, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=NaturalGasCombustionProducts(), l1_D1_ratio=0.25, n=13e3, T_t_stag_cycle=1000, stage_number=3, eta_t_stag_cycle=0.90, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, auto_set_rho=True, precise_heat_drop=True, precision=self.precision, H0_list=[290e3, 290e3, 290e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0] ) eta_t_res = 1 eta_t_stag_new = self.power_turbine_ngas_wcool.eta_t_stag_cycle self.precision_eta_t = 0.0001 while eta_t_res >= self.precision_eta_t: self.power_turbine_ngas_wcool.eta_t_stag_cycle = eta_t_stag_new self.power_turbine_ngas_wcool.compute_geometry() self.power_turbine_ngas_wcool.compute_stages_gas_dynamics() self.power_turbine_ngas_wcool.compute_integrate_turbine_parameters() eta_t_stag_new = self.power_turbine_ngas_wcool.eta_t_stag eta_t_stag_old = self.power_turbine_ngas_wcool.eta_t_stag_cycle eta_t_res = abs(eta_t_stag_old - eta_t_stag_new) / eta_t_stag_old self.comp_turbine_ngas_cool = Turbine( TurbineType.WORK, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=NaturalGasCombustionProducts(), l1_D1_ratio=0.25, n=13e3, T_t_stag_cycle=1000, stage_number=3, eta_t_stag_cycle=0.90, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, auto_set_rho=True, precise_heat_drop=True, precision=self.precision, H0_list=[290e3, 290e3, 290e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0] ) self.comp_turbine_ngas_cool.geom[0].g_cool = 0.05 self.comp_turbine_ngas_cool.geom[1].g_cool = 0.05 self.comp_turbine_ngas_cool.geom[2].g_cool = 0.01 self.comp_turbine_ngas_cool.compute_geometry() self.comp_turbine_ngas_cool.compute_stages_gas_dynamics() self.comp_turbine_ngas_cool.compute_integrate_turbine_parameters()
def setUp(self): self.precision = 0.0005 self.comp_turb_h0_auto = Turbine(TurbineType.WORK, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=KeroseneCombustionProducts(), l1_D1_ratio=0.25, n=13e3, T_t_stag_cycle=1100, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=True, auto_set_rho=True, precise_heat_drop=False, precision=self.precision, H01_init=150e3, c21_init=250, alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.comp_turb_h0_auto.geom[0].g_cool = 0.03 self.comp_turb_h0_auto.geom[0].g_lb = 0.00 self.comp_turb_h0_auto.geom[0].g_lk = 0.00 self.comp_turb_h0_auto.geom[0].g_ld = 0.00 self.comp_turb_h0_auto.geom[0].T_cool = 750 self.comp_turb_h0_auto.geom[1].g_cool = 0.03 self.comp_turb_h0_auto.compute_geometry() self.comp_turb_h0_auto.compute_stages_gas_dynamics() self.comp_turb_h0_auto.compute_integrate_turbine_parameters() self.comp_turb_h0_hand = Turbine(TurbineType.WORK, T_g_stag=1523, p_g_stag=16e5, G_turbine=40, G_fuel=0.8, work_fluid=NaturalGasCombustionProducts(), l1_D1_ratio=0.12, n=13e3, T_t_stag_cycle=1100, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=False, auto_set_rho=True, precise_heat_drop=False, H0_list=[160e3, 140e3], alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.comp_turb_h0_hand.compute_geometry() self.comp_turb_h0_hand.compute_stages_gas_dynamics() self.comp_turb_h0_hand.compute_integrate_turbine_parameters() self.comp_turb_rho_hand = Turbine(TurbineType.WORK, T_g_stag=1400, p_g_stag=5.5e5, G_turbine=25, G_fuel=1, work_fluid=KeroseneCombustionProducts(), l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1200, stage_number=2, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=True, auto_set_rho=False, precise_heat_drop=False, rho_list=[0.45, 0.4], H01_init=150e3, c21_init=250, alpha11=np.radians([17])[0], gamma_av=np.radians([4])[0], gamma_sum=np.radians([10])[0]) self.comp_turb_rho_hand.compute_geometry() self.comp_turb_rho_hand.compute_stages_gas_dynamics() self.comp_turb_rho_hand.compute_integrate_turbine_parameters() self.power_turb_h0_auto = Turbine(TurbineType.PRESSURE, T_g_stag=1400, p_g_stag=5.5e5, G_turbine=25, G_fuel=1, work_fluid=NaturalGasCombustionProducts(), l1_D1_ratio=0.25, n=15e3, T_t_stag_cycle=1200, stage_number=3, eta_t_stag_cycle=0.91, k_n=6.8, eta_m=0.99, auto_compute_heat_drop=True, auto_set_rho=True, precise_heat_drop=False, H01_init=150e3, c21_init=250, alpha11=np.radians([17])[0], gamma_in=np.radians([0])[0], gamma_out=np.radians([10])[0]) self.power_turb_h0_auto.compute_geometry() self.power_turb_h0_auto.compute_stages_gas_dynamics() self.power_turb_h0_auto.compute_integrate_turbine_parameters()
def setUp(self): self.precision = 0.001 self.heat_drop_stage = StageGasDynamics( T0_stag=1400, p0_stag=10e5, T0_stag_ad_t=1400, G_stage_in=30, G_turbine=29.5, G_fuel=0.7, work_fluid=KeroseneCombustionProducts(), rho=0.3, phi=0.97, psi=0.97, l1=0.06, l2=0.068, D1=0.3, D2=0.3, delta_r_rk=0.01, n=11e3, epsilon=1, g_lb=0, g_lk=0, g_ld=0, g_cool=0, precision=self.precision, H0=120e3 ) self.heat_drop_stage.compute() self.work_stage = StageGasDynamics( T0_stag=1400, p0_stag=10e5, T0_stag_ad_t=1400, G_stage_in=30, G_turbine=29.5, G_fuel=0.7, work_fluid=KeroseneCombustionProducts(), rho=0.3, phi=0.97, psi=0.97, l1=0.06, l2=0.068, D1=0.3, D2=0.3, delta_r_rk=0.01, n=11e3, epsilon=1, g_lb=0, g_lk=0, g_ld=0, g_cool=0, precision=self.precision, L_t=50e3, eta_t0=0.9 ) self.work_stage.compute() self.press_stage = StageGasDynamics( T0_stag=1400, p0_stag=10e5, T0_stag_ad_t=1400, G_stage_in=30, G_turbine=29.5, G_fuel=0.7, work_fluid=KeroseneCombustionProducts(), rho=0.3, phi=0.97, psi=0.97, l1=0.06, l2=0.068, D1=0.3, D2=0.3, delta_r_rk=0.01, n=11e3, epsilon=1, g_lb=0, g_lk=0, g_ld=0, g_cool=0, precision=self.precision, p2_stag=7.9e5 ) self.press_stage.compute()