/// <summary> /// 3.18 /// </summary> /// <param name="wing"></param> /// <returns></returns> public double Get_hi_nos(WingOrient wing) { double l_1 = wing.X + wing.Wing.X_b + 0.5 * wing.Wing.B_b; double l_shtr = l_1 / Body.D; return(0.6 + 0.4 * (1 - Math.Exp(-0.5 * l_shtr))); }
/// <summary> /// формула 5.39 /// </summary> /// <param name="wing"></param> /// <param name="mach"></param> /// <param name="mode">0 - alpha 1- delta</param> /// <returns></returns> public double Get_X_Fa_or_delta(WingOrient wing, double mach, int mode = 0) { var x_ak = wing.X + wing.Wing.X_ak; var b_ak = wing.Wing.B_ak; var x_graf = AeroGraphs.M2min1(mach) * wing.Wing.Lmb_k; var y_graf = wing.Wing.Etta_k; var z_graf = wing.Wing.Lmb_k * wing.Wing.GetTgHiM(0.5); var x_Fizkr_shtr = AeroGr.GetV("5_8", x_graf, y_graf, z_graf); var x_Fizkr = x_ak + b_ak * x_Fizkr_shtr; var d_shtr = wing.Wing.D / wing.Wing.L; var f_1 = AeroGr.GetV("5_11", d_shtr); f_1 *= 0.5 * wing.Wing.L_k; var x_Fdelta = x_Fizkr - f_1 * wing.Wing.GetTgHiM(0.5); var x_b = wing.X + wing.Wing.X_b; var b_b = wing.Wing.B_b; var x_Fb_shtr = x_Fizkr_shtr + 0.02 * wing.Wing.Lmb_k * wing.Wing.GetTgHiM(0.5); var f_Lhv = Get_F_Lhv(wing, mach); var f_1Lhv = Get_F_1Lhv(wing, mach); var x_Fif = x_b + b_b * x_Fb_shtr * f_Lhv * f_1Lhv; var k = mode == 0 ? Get_kaa(wing, mach, Aero_v, Aero_a) : Get_kd0(wing, mach, Aero_v, Aero_a); var K = mode == 0 ? Get_Kaa(wing, mach, Aero_v, Aero_a) : Get_kd0(wing, mach, Aero_v, Aero_a); return((x_Fizkr + (k - 1) * x_Fdelta + (K - k) * x_Fif) / K); }
public double Get_kd0_star(WingOrient wing) { double kaa_star = Get_kaa_star(wing); double Kaa_star = Get_Kaa_star(wing); return(kaa_star * kaa_star / Kaa_star); }
public double Get_kd0(WingOrient wing, double mach, double v, double a_m) { double kd0star = Get_kd0_star(wing); double hipc = Get_hi_pc_shtr(wing, mach, v, a_m); double him = Get_hi_M(mach); return(kd0star * hipc * him); }
public double Get_kaa(WingOrient wing, double mach, double v, double a_m) { double kaastar = Get_kaa_star(wing); double hipc = Get_hi_pc(wing, mach, v, a_m); double him = Get_hi_M(mach); double hinos = Get_hi_nos(wing); return(kaastar * hipc * him * hinos); }
public double Get_X_Fdelta(WingOrient wing, double mach) { var x_Fizkr = Get_X_Fizkr(wing, mach); var d_shtr = wing.Wing.D / wing.Wing.L; var f_1 = AeroGr.GetV("5_11", d_shtr); f_1 *= 0.5 * wing.Wing.L_k; return(x_Fizkr - f_1 * wing.Wing.GetTgHiM(0.5)); }
public double Get_Kd0(WingOrient wing, double mach, double v, double a_m) { double Kd0star = Get_Kd0_star(wing); double kd0star = Get_kd0_star(wing); double hipc = Get_hi_pc_shtr(wing, mach, v, a_m); double him = Get_hi_M(mach); double FLhv = Get_F_Lhv(wing, mach); return((kd0star + (Kd0star - kd0star) * FLhv) * hipc * him); }
/// <summary> /// ФОРМУЛА 3.16 /// </summary> /// <param name="wing">ЧЕ ЗА КРЫЛО</param> /// <param name="mach">мах</param> /// <param name="v">кинематич коэфф. вязкости воздуха</param> /// <param name="a_m">скорость звука</param> /// <returns></returns> public double Get_hi_pc(WingOrient wing, double mach, double v, double a_m) { double d_shtr = wing.Wing.D / wing.Wing.L; double l_1 = wing.X + wing.Wing.X_b + 0.5 * wing.Wing.B_b; //ф. 3.17 double delta_star_shtr = 0.093 * l_1 * (1 + 0.4 * mach + 0.147 * mach * mach - 0.006 * mach * mach * mach) / (Math.Pow(mach * a_m * l_1 / (v), 0.2) * Body.D); //ф. 3.16 return((1 - (2 * d_shtr * d_shtr * delta_star_shtr) / (1 - d_shtr * d_shtr)) * (1 - (d_shtr * (wing.Wing.Etta_k - 1) * delta_star_shtr) / ((1 - d_shtr) * (wing.Wing.Etta_k + 1)))); }
public double Get_X_Fif(WingOrient wing, double mach) { var x_b = wing.X + wing.Wing.X_b; var b_b = wing.Wing.B_b; var x_Fizkr = Get_X_Fizkr(wing, mach); var x_Fb_shtr = x_Fizkr + 0.02 * wing.Wing.Lmb_k * wing.Wing.GetTgHiM(0.5); var f_Lhv = Get_F_Lhv(wing, mach); var f_1Lhv = Get_F_1Lhv(wing, mach); return(x_b + b_b * x_Fb_shtr * f_Lhv * f_1Lhv); }
public double Get_X_Fizkr(WingOrient wing, double mach) { var x_ak = wing.X + wing.Wing.X_ak; var b_ak = wing.Wing.B_ak; var x_graf = AeroGraphs.M2min1(mach) * wing.Wing.Lmb_k; var y_graf = wing.Wing.Etta_k; var z_graf = wing.Wing.Lmb_k * wing.Wing.GetTgHiM(0.5); var x_Fizkr_shtr = AeroGr.GetV("5_8", x_graf, y_graf, z_graf); return(x_ak + b_ak * x_Fizkr_shtr); }
public double Get_Kaa(WingOrient wing, double mach, double v, double a_m) { double Kaastar = Get_Kaa_star(wing); double kaastar = Get_kaa_star(wing); double hipc = Get_hi_pc(wing, mach, v, a_m); double him = Get_hi_M(mach); double hinos = Get_hi_nos(wing); double FLhv = Get_F_Lhv(wing, mach); return((kaastar + (Kaastar - kaastar) * FLhv) * hipc * him * hinos); }
/// <summary> /// 3.57 /// </summary> /// <param name="wing"></param> /// <param name="mach"></param> /// <param name="v"></param> /// <param name="a_m"></param> /// <returns></returns> public double Get_hi_pc_shtr(WingOrient wing, double mach, double v, double a_m) { double d_shtr = wing.Wing.D / wing.Wing.L; double l_1 = wing.X + wing.Wing.X_b + 0.5 * wing.Wing.B_b; //ф. 3.17 double delta_star_shtr = 0.093 * l_1 * (1 + 0.4 * mach + 0.147 * mach * mach - 0.006 * mach * mach * mach) / (Math.Pow(mach * a_m * l_1 / (v), 0.2) * wing.Wing.D); var ex1 = (1.0 - d_shtr * (1 + delta_star_shtr)) / (1.0 - d_shtr); var ex2 = 1.0 - ((wing.Wing.Etta_k - 1) * d_shtr * (1 + delta_star_shtr)) / (wing.Wing.Etta_k + 1 - 2 * d_shtr); var ex3 = 1.0 - ((wing.Wing.Etta_k - 1) * d_shtr) / (wing.Wing.Etta_k + 1 - 2 * d_shtr); //ф. 3.57 return(ex1 * ex2 / ex3); }
public double Get_F_Lhv(WingOrient wing, double mach) { if (mach < 1.0) { return(1.0); } double d_shtr = Body.D / wing.Wing.L; double b_b_shtr = wing.Wing.B_b / (0.5 * Math.PI * Body.D * Math.Sqrt(mach * mach - 1)); double l_hv = Body.L - wing.X - wing.Wing.X_b - wing.Wing.B_b; double l_hv_shtr = l_hv / (0.5 * Math.PI * Body.D * Math.Sqrt(mach * mach - 1)); double c = (4 + 1 / wing.Wing.Etta_k) * (1 + 8 * d_shtr * d_shtr); double lapl1 = AeroGr.GetV("gauss", (b_b_shtr + l_hv_shtr) * Math.Sqrt(2 * c)); double lapl2 = AeroGr.GetV("gauss", l_hv_shtr * Math.Sqrt(2 * c)); return(1.0 - (Math.Sqrt(Math.PI) * (lapl1 - lapl2)) / (2 * b_b_shtr * Math.Sqrt(c))); }
/// <summary> /// формула 5.49 /// </summary> /// <param name="wing"></param> /// <param name="mach"></param> /// <returns></returns> public double Get_F_1Lhv(WingOrient wing, double mach) { if (mach < 1.0) { return(1.0); } double d_shtr = Body.D / wing.Wing.L; double b_b_shtr = wing.Wing.B_b / (0.5 * Math.PI * Body.D * Math.Sqrt(mach * mach - 1)); double l_hv = Body.L - wing.X - wing.Wing.X_b - wing.Wing.B_b; double l_hv_shtr = l_hv / (0.5 * Math.PI * Body.D * Math.Sqrt(mach * mach - 1)); double c = (4 + 1 / wing.Wing.Etta_k) * (1 + 8 * d_shtr * d_shtr); var expr1 = (Math.Exp(-c * l_hv_shtr * l_hv_shtr) - Math.Exp(-c * (b_b_shtr + l_hv_shtr) * (b_b_shtr + l_hv_shtr))) / (c * b_b_shtr * b_b_shtr); double lapl1 = AeroGr.GetV("gauss", l_hv_shtr * Math.Sqrt(2 * c)); var expr2 = Math.Sqrt(Math.PI) * lapl1 / (b_b_shtr * Math.Sqrt(c)); return(1.0 - expr1 + expr2); }
public double Get_Kaa_star(WingOrient wing) { double d_shtr = Body.D / wing.Wing.L; return(1.0 + 3 * d_shtr - d_shtr * (1 - d_shtr) / wing.Wing.Etta_k); }
public double Get_Kd0_star(WingOrient wing) { return(Get_kaa_star(wing)); }
public double Get_kaa_star(WingOrient wing) { double d_shtr = Body.D / wing.Wing.L; return((1 + 0.41 * d_shtr) * (1 + 0.41 * d_shtr) * (1 + 3 * d_shtr - d_shtr * (1 - d_shtr) / wing.Wing.Etta_k) / ((1 + d_shtr) * (1 + d_shtr))); }
public double Get_hi_pc(WingOrient wing, double mach) { return(Get_hi_pc(wing, mach, 1.51E-5, 340.3)); }
public double Get_n(WingOrient wing, double mach) { var k_sh = AeroGr.GetV("k_shel", mach); return(k_sh * Math.Cos(wing.Hi_rulei * AeroGraphs.PIdiv180)); }