X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FUIUCModel%2Fuiuc_engine.cpp;h=453b4e37fa71388ce440853844ce39510ab6825f;hb=70b4f38ebccbafea664ed2310eaf990bd2b9edd8;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..453b4e37f 100644 --- a/src/FDM/UIUCModel/uiuc_engine.cpp +++ b/src/FDM/UIUCModel/uiuc_engine.cpp @@ -65,24 +65,21 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA or view http://www.gnu.org/copyleft/gpl.html. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **********************************************************************/ #include #include "uiuc_engine.h" -#if !defined (SG_HAVE_NATIVE_SGI_COMPILERS) -SG_USING_STD(cerr); -#endif - void uiuc_engine() { stack command_list; 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 +91,7 @@ void uiuc_engine() Throttle_pct_input_dTArray, Throttle_pct_input_ntime, time); + pilot_throttle_no = true; } } @@ -121,6 +119,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 +131,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 +146,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;}