X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FUIUCModel%2Fuiuc_engine.cpp;h=f36b9f85580ab11996afd975ee7138e775c915b2;hb=7b3c6c0ff76db9326a020ccdddbfb3361dd5dc95;hp=7375cdf3cc7dd9cc59aeea10796690bf58a1aca2;hpb=1784ad74b6de724606910d5605e4257a853d759d;p=flightgear.git diff --git a/src/FDM/UIUCModel/uiuc_engine.cpp b/src/FDM/UIUCModel/uiuc_engine.cpp index 7375cdf3c..f36b9f855 100644 --- a/src/FDM/UIUCModel/uiuc_engine.cpp +++ b/src/FDM/UIUCModel/uiuc_engine.cpp @@ -73,9 +73,7 @@ #include "uiuc_engine.h" -#if !defined (SG_HAVE_NATIVE_SGI_COMPILERS) SG_USING_STD(cerr); -#endif void uiuc_engine() { @@ -83,6 +81,8 @@ void uiuc_engine() string linetoken1; string linetoken2; + if (outside_control == false) + pilot_throttle_no = false; if (Throttle_pct_input) { double Throttle_pct_input_endTime = Throttle_pct_input_timeArray[Throttle_pct_input_ntime]; @@ -94,6 +94,7 @@ void uiuc_engine() Throttle_pct_input_dTArray, Throttle_pct_input_ntime, time); + pilot_throttle_no = true; } } @@ -121,6 +122,11 @@ void uiuc_engine() case simpleSingle_flag: { F_X_engine = Throttle[3] * simpleSingleMaxThrust; + F_Y_engine = 0.0; + F_Z_engine = 0.0; + M_l_engine = 0.0; + M_m_engine = 0.0; + M_n_engine = 0.0; break; } case simpleSingleModel_flag: @@ -128,7 +134,12 @@ void uiuc_engine() /* simple model based on Hepperle's equation * exponent dtdvvt was computed in uiuc_menu.cpp */ F_X_engine = Throttle[3] * t_v0 * (1 - pow((V_rel_wind/v_t0),dtdvvt)); - if (slipstream_effects) { + F_Y_engine = 0.0; + F_Z_engine = 0.0; + M_l_engine = 0.0; + M_m_engine = 0.0; + M_n_engine = 0.0; + if (b_slipstreamEffects) { tc = F_X_engine/(Dynamic_pressure * LS_PI * propDia * propDia / 4); w_induced = 0.5 * V_rel_wind * (-1 + pow((1+tc),.5)); eta_q = (2* w_induced + V_rel_wind)*(2* w_induced + V_rel_wind)/(V_rel_wind * V_rel_wind); @@ -138,6 +149,7 @@ void uiuc_engine() if (eta_q_Cm_q_fac) {eta_q_Cm_q *= eta_q * eta_q_Cm_q_fac;} if (eta_q_Cm_adot_fac) {eta_q_Cm_adot *= eta_q * eta_q_Cm_adot_fac;} if (eta_q_Cmfade_fac) {eta_q_Cmfade *= eta_q * eta_q_Cmfade_fac;} + if (eta_q_Cm_de_fac) {eta_q_Cm_de *= eta_q * eta_q_Cm_de_fac;} if (eta_q_Cl_beta_fac) {eta_q_Cl_beta *= eta_q * eta_q_Cl_beta_fac;} if (eta_q_Cl_p_fac) {eta_q_Cl_p *= eta_q * eta_q_Cl_p_fac;} if (eta_q_Cl_r_fac) {eta_q_Cl_r *= eta_q * eta_q_Cl_r_fac;}