|
From: Erik H. <eh...@us...> - 2015-10-24 11:51:16
|
Update of /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10827/Systems Modified Files: Propulsion.cpp Propulsion.h Log Message: Fix LBS_TO_KG and add a proper estimation of psfc Index: Propulsion.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/Propulsion.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** Propulsion.cpp 23 Oct 2015 14:18:10 -0000 1.15 --- Propulsion.cpp 24 Oct 2015 11:51:13 -0000 1.16 *************** *** 615,618 **** --- 615,619 ---- TurbopropEngine::TurbopropEngine(Aeromatic *a, Propulsion *p) : Engine(a, p), _max_rpm(2700.0f), + _oapr(15.0f), _itt(800.0f), _psfc(0.66f), *************** *** 622,631 **** _inputs.push_back(new Param("Engine Power", 0, _power, _aircraft->_metric, POWER)); _inputs.push_back(new Param("Maximum Engine RPM", 0, _max_rpm)); _inputs.push_back(new Param("Inlet Turbine Temperature", Aeromatic::_estimate, _itt)); _thruster = new Propeller(this); } ! // http://www.aerocompinc.com/ftp/literature/walter601.pdf ! // http://www.smartcockpit.com/docs/Fokker_50-Power_Plant.pdf std::string TurbopropEngine::engine() { --- 623,642 ---- _inputs.push_back(new Param("Engine Power", 0, _power, _aircraft->_metric, POWER)); _inputs.push_back(new Param("Maximum Engine RPM", 0, _max_rpm)); + _inputs.push_back(new Param("Overall pressure ratio", Aeromatic::_estimate, _oapr)); _inputs.push_back(new Param("Inlet Turbine Temperature", Aeromatic::_estimate, _itt)); _thruster = new Propeller(this); } ! // http://www.fzt.haw-hamburg.de/pers/Scholz/Airport2030/Airport2030_PUB_ICAS_12-09-23.pdf ! // ! // _power is in kW for the following computations: ! // _oapr = overall pressure ratio at static sea level ! // Ttet = turbine entry temperature at static sea level in Kelvin ! // ! // mass_eng = 0.246f * _power; ! // eng_length = 0.1068f * powf(_power, 0.4094f); ! // eng_diameter = 0.1159f * powf(_power, 0.2483f); ! // psfc = 2.56*10e-4 - logf(_power * _oapr * Ttet)*10e-5; ! std::string TurbopropEngine::engine() { *************** *** 638,641 **** --- 649,659 ---- float psfc = 0.5f; + // calculate psfc in KG/SEC/KW + float Ttet = _itt + 274.15f; // in Kelvin + psfc = 2.56e-4f - logf(_power*HP_TO_KW * _oapr * Ttet)*1e-5f; + + // Convert psfc to LBS/HR/HP + psfc *= 5918.3525f; + // estimate thrust if given power in HP float thrust = _power * 2.24f; Index: Propulsion.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/Propulsion.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Propulsion.h 23 Oct 2015 12:33:29 -0000 1.5 --- Propulsion.h 24 Oct 2015 11:51:13 -0000 1.6 *************** *** 91,94 **** --- 91,95 ---- public: float _max_rpm; + float _oapr; float _itt; float _psfc; |