You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(64) |
May
(260) |
Jun
(65) |
Jul
(28) |
Aug
(13) |
Sep
(46) |
Oct
(55) |
Nov
(25) |
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(97) |
Feb
(13) |
Mar
(90) |
Apr
(25) |
May
(97) |
Jun
(124) |
Jul
(39) |
Aug
(16) |
Sep
(62) |
Oct
(13) |
Nov
(32) |
Dec
(258) |
2006 |
Jan
(87) |
Feb
(67) |
Mar
(27) |
Apr
(19) |
May
(42) |
Jun
(12) |
Jul
(31) |
Aug
(51) |
Sep
(7) |
Oct
(4) |
Nov
(27) |
Dec
(6) |
2007 |
Jan
(23) |
Feb
(41) |
Mar
(6) |
Apr
(14) |
May
(31) |
Jun
(6) |
Jul
(9) |
Aug
(13) |
Sep
(41) |
Oct
(26) |
Nov
(13) |
Dec
(11) |
2008 |
Jan
(75) |
Feb
(24) |
Mar
(32) |
Apr
(103) |
May
(49) |
Jun
(15) |
Jul
(45) |
Aug
(61) |
Sep
(6) |
Oct
(12) |
Nov
(18) |
Dec
(32) |
2009 |
Jan
(77) |
Feb
(33) |
Mar
(33) |
Apr
(19) |
May
(52) |
Jun
(43) |
Jul
(14) |
Aug
(80) |
Sep
(32) |
Oct
(81) |
Nov
(20) |
Dec
(12) |
2010 |
Jan
(15) |
Feb
(50) |
Mar
(28) |
Apr
(49) |
May
(12) |
Jun
(19) |
Jul
(78) |
Aug
(49) |
Sep
(52) |
Oct
(22) |
Nov
(108) |
Dec
(33) |
2011 |
Jan
(47) |
Feb
(3) |
Mar
(7) |
Apr
(3) |
May
(7) |
Jun
(43) |
Jul
(80) |
Aug
(55) |
Sep
(34) |
Oct
(33) |
Nov
(33) |
Dec
(20) |
2012 |
Jan
(16) |
Feb
(18) |
Mar
(29) |
Apr
(26) |
May
(4) |
Jun
(5) |
Jul
(13) |
Aug
(14) |
Sep
(47) |
Oct
(29) |
Nov
(19) |
Dec
(66) |
2013 |
Jan
(55) |
Feb
(46) |
Mar
|
Apr
(1) |
May
|
Jun
(32) |
Jul
|
Aug
(1) |
Sep
(40) |
Oct
(3) |
Nov
(43) |
Dec
(26) |
2014 |
Jan
(63) |
Feb
(30) |
Mar
(2) |
Apr
(3) |
May
(51) |
Jun
(18) |
Jul
(4) |
Aug
(6) |
Sep
(10) |
Oct
|
Nov
(17) |
Dec
(3) |
2015 |
Jan
(13) |
Feb
(36) |
Mar
(12) |
Apr
(37) |
May
(8) |
Jun
|
Jul
(29) |
Aug
(23) |
Sep
(55) |
Oct
(82) |
Nov
(57) |
Dec
(72) |
2016 |
Jan
(61) |
Feb
(6) |
Mar
(1) |
Apr
(18) |
May
(59) |
Jun
(42) |
Jul
(24) |
Aug
(20) |
Sep
(6) |
Oct
|
Nov
(8) |
Dec
(1) |
2017 |
Jan
(2) |
Feb
(20) |
Mar
(14) |
Apr
(4) |
May
(9) |
Jun
(7) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bertrand <bco...@us...> - 2017-02-25 14:20:49
|
Update of /cvsroot/jsbsim/JSBSim/src/simgear/io/iostreams In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24573/src/simgear/io/iostreams Log Message: Directory /cvsroot/jsbsim/JSBSim/src/simgear/io/iostreams added to the repository |
From: Bertrand <bco...@us...> - 2017-02-25 14:20:10
|
Update of /cvsroot/jsbsim/JSBSim/src/simgear/io In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24542/src/simgear/io Log Message: Directory /cvsroot/jsbsim/JSBSim/src/simgear/io added to the repository |
From: Bertrand <bco...@us...> - 2017-02-21 21:14:16
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29979/src/models Modified Files: FGLGear.cpp Log Message: Patch from R. Harrison: Expose landing gear x and y positions to properties; mainly for debugging to allow easier tuning of landing gear. Index: FGLGear.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGLGear.cpp,v retrieving revision 1.124 retrieving revision 1.125 diff -C2 -r1.124 -r1.125 *** FGLGear.cpp 25 Jun 2016 17:48:02 -0000 1.124 --- FGLGear.cpp 21 Feb 2017 21:14:13 -0000 1.125 *************** *** 785,791 **** property_name = base_property_name + "/WOW"; PropertyManager->Tie( property_name.c_str(), &WOW ); property_name = base_property_name + "/z-position"; PropertyManager->Tie( property_name.c_str(), (FGForce*)this, ! &FGForce::GetLocationZ, &FGForce::SetLocationZ); property_name = base_property_name + "/compression-ft"; PropertyManager->Tie( property_name.c_str(), &compressLength ); --- 785,797 ---- property_name = base_property_name + "/WOW"; PropertyManager->Tie( property_name.c_str(), &WOW ); + property_name = base_property_name + "/x-position"; + PropertyManager->Tie( property_name.c_str(), (FGForce*)this, + &FGForce::GetLocationX, &FGForce::SetLocationX); + property_name = base_property_name + "/y-position"; + PropertyManager->Tie( property_name.c_str(), (FGForce*)this, + &FGForce::GetLocationY, &FGForce::SetLocationY); property_name = base_property_name + "/z-position"; PropertyManager->Tie( property_name.c_str(), (FGForce*)this, ! &FGForce::GetLocationZ, &FGForce::SetLocationZ); property_name = base_property_name + "/compression-ft"; PropertyManager->Tie( property_name.c_str(), &compressLength ); |
From: Bertrand <bco...@us...> - 2017-02-21 21:07:07
|
Update of /cvsroot/jsbsim/JSBSim/src/models/propulsion In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29588/src/models/propulsion Modified Files: FGTank.h FGTank.cpp Log Message: Expose tank positions (X,Y,Z) to be set via properties; this allows better modelling of variable geometry. Index: FGTank.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/propulsion/FGTank.h,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** FGTank.h 9 Dec 2015 04:28:18 -0000 1.31 --- FGTank.h 21 Feb 2017 21:07:04 -0000 1.32 *************** *** 284,287 **** --- 284,294 ---- double GetIzz(void) const {return Izz;} + inline double GetLocationX(void) const { return vXYZ(eX); } + inline double GetLocationY(void) const { return vXYZ(eY); } + inline double GetLocationZ(void) const { return vXYZ(eZ); } + inline void SetLocationX(double x) { vXYZ(eX) = x; } + inline void SetLocationY(double y) { vXYZ(eY) = y; } + inline void SetLocationZ(double z) { vXYZ(eZ) = z; } + double GetStandpipe(void) const {return Standpipe;} Index: FGTank.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/propulsion/FGTank.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -r1.45 -r1.46 *** FGTank.cpp 5 May 2016 17:23:10 -0000 1.45 --- FGTank.cpp 21 Feb 2017 21:07:04 -0000 1.46 *************** *** 466,469 **** --- 466,477 ---- property_name = base_property_name + "/local-izz-slug_ft2"; PropertyManager->Tie( property_name.c_str(), (FGTank*)this, &FGTank::GetIzz); + + property_name = base_property_name + "/x-position"; + PropertyManager->Tie(property_name.c_str(), (FGTank*)this, &FGTank::GetLocationX, &FGTank::SetLocationX); + property_name = base_property_name + "/y-position"; + PropertyManager->Tie(property_name.c_str(), (FGTank*)this, &FGTank::GetLocationY, &FGTank::SetLocationY); + property_name = base_property_name + "/z-position"; + PropertyManager->Tie(property_name.c_str(), (FGTank*)this, &FGTank::GetLocationZ, &FGTank::SetLocationZ); + } |
From: Erik H. <eh...@us...> - 2017-01-22 09:46:52
|
Update of /cvsroot/jsbsim/JSBSim/src/input_output In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8202/input_output Modified Files: FGInputSocket.cpp Log Message: martymac: Fix build with Clang 4.0.0. Those patches fix errors related to ordered comparisons between pointers and integers, such as the ones related here on FreeBSD : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216203 Index: FGInputSocket.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/input_output/FGInputSocket.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** FGInputSocket.cpp 15 Feb 2015 12:04:32 -0000 1.1 --- FGInputSocket.cpp 22 Jan 2017 09:46:48 -0000 1.2 *************** *** 193,197 **** socket->Reply("Must be in HOLD to search properties\n"); } ! } else if (node > 0) { ostringstream buf; buf << argument << " = " << setw(12) << setprecision(6) << node->getDoubleValue() << endl; --- 193,197 ---- socket->Reply("Must be in HOLD to search properties\n"); } ! } else { ostringstream buf; buf << argument << " = " << setw(12) << setprecision(6) << node->getDoubleValue() << endl; |
From: Erik H. <eh...@us...> - 2017-01-22 09:46:51
|
Update of /cvsroot/jsbsim/JSBSim/src In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8202 Modified Files: FGFDMExec.cpp Log Message: martymac: Fix build with Clang 4.0.0. Those patches fix errors related to ordered comparisons between pointers and integers, such as the ones related here on FreeBSD : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216203 Index: FGFDMExec.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/FGFDMExec.cpp,v retrieving revision 1.191 retrieving revision 1.192 diff -C2 -r1.191 -r1.192 *** FGFDMExec.cpp 16 May 2016 18:19:57 -0000 1.191 --- FGFDMExec.cpp 22 Jan 2017 09:46:48 -0000 1.192 *************** *** 212,216 **** SetGroundCallback(0); ! if (FDMctr > 0) (*FDMctr)--; Debug(1); --- 212,216 ---- SetGroundCallback(0); ! if (FDMctr != 0) (*FDMctr)--; Debug(1); |
From: Erik H. <eh...@us...> - 2016-12-21 08:08:36
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18510 Modified Files: FGMassBalance.h Log Message: Add a missing break statement Index: FGMassBalance.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGMassBalance.h,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -r1.37 -r1.38 *** FGMassBalance.h 26 Mar 2016 18:54:27 -0000 1.37 --- FGMassBalance.h 21 Dec 2016 08:08:32 -0000 1.38 *************** *** 237,240 **** --- 237,241 ---- mPMInertia(2,2) = mPMInertia(1,1); mPMInertia(3,3) = mPMInertia(1,1); + break; case esBall: mPMInertia(1,1) = (Weight/(slugtolb*5))*Radius*Radius*2; // (2mr^2)/5 |
From: Erik H. <eh...@us...> - 2016-11-29 17:38:51
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7528/Systems Added Files: Conventional Controls.xml Flaps.xml Landing Gear.xml Propulsion.xml Log Message: Split up systems files, add a proper turbine engine and small modifcations to the FDM ***** Bogus filespec: Conventional --- NEW FILE --- --- NEW FILE --- <?xml version="1.0"?> <system name="Flaps"> <channel name="Flaps"> <kinematic name="Flaps Control"> <input>fcs/flap-cmd-norm</input> <traverse> <setting> <position> 0 </position> <time> 0 </time> </setting> <setting> <position>10</position> <time>4</time> </setting> <setting> <position>20</position> <time>2</time> </setting> <setting> <position>30</position> <time>2</time> </setting> <setting> <position>40</position> <time>2</time> </setting> </traverse> <output>fcs/flap-pos-deg</output> </kinematic> <aerosurface_scale name="Flap Normalization"> <input>fcs/flap-pos-deg</input> <domain> <min> 0 </min> <max> 40 </max> </domain> <range> <min> 0 </min> <max> 1 </max> </range> <output>fcs/flap-pos-norm</output> </aerosurface_scale> </channel> </system> ***** Bogus filespec: Landing --- NEW FILE --- --- NEW FILE --- <?xml version="1.0"?> <system name="Propulsion"> <channel name="Thruster"> <summer name="Thrust Coefficient Left"> <input>propulsion/engine[0]/thrust-coefficient</input> <output>systems/propulsion/thrust-coefficient-left</output> </summer> <summer name="Thrust Coefficient Right"> <input>propulsion/engine[1]/thrust-coefficient</input> <output>systems/propulsion/thrust-coefficient-right</output> </summer> <summer name="Thrust Coefficient Left-Right"> <input>systems/propulsion/thrust-coefficient-left</input> <input>-systems/propulsion/thrust-coefficient-right</input> <output>systems/propulsion/thrust-coefficient-left-right</output> </summer> <summer name="Thrust Coefficient"> <input>systems/propulsion/thrust-coefficient-left</input> <input>systems/propulsion/thrust-coefficient-right</input> <output>systems/propulsion/thrust-coefficient</output> </summer> </channel> </system> |
From: Erik H. <eh...@us...> - 2016-11-29 17:38:51
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Engines In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7528/Engines Added Files: PT6A-27.xml Propeller.xml Log Message: Split up systems files, add a proper turbine engine and small modifcations to the FDM --- NEW FILE --- <?xml version="1.0"?> <!-- File: PT6A-27.xml Author: AeromatiC++ v 3.3.1 See: http://wiki.flightgear.org/JSBSim_Engines#FGTurboprop Inputs: name: PT6A-27 type: Turboprop Engine power: 680.0 hp inlet temperature: 994.0 degrees C overall pressure ratio: 6.3:1 Outputs: psfc: 0.615 lbs/hr/hp engine weight: 368.9 lbs engine length: 5.1 ft engine diameter: 1.9 ft --> <turboprop_engine name="PT6A-27"> <milthrust unit="LBS"> 1523.2 </milthrust> <idlen1> 60.0 </idlen1> <maxn1> 100.0 </maxn1> <maxpower unit="HP"> 680.0 </maxpower> <psfc unit="LBS/HR/HP"> 0.615 </psfc> <n1idle_max_delay> 1 </n1idle_max_delay> <maxstartingtime> 20 </maxstartingtime> <startern1> 20 </startern1> <ielumaxtorque unit="FT*LB"> 1629.3 </ielumaxtorque> <itt_delay> 0.05 </itt_delay> <betarangeend> 64 </betarangeend> <reversemaxpower> 60 </reversemaxpower> <function name="EnginePowerVC"> <table> <description> Engine power, function of airspeed and pressure </description> <independentVar lookup="row">atmosphere/P-psf</independentVar> <independentVar lookup="column">velocities/ve-kts</independentVar> <tableData> 0 50 100 150 200 250 300 350 503 0.357 0.380 0.400 0.425 0.457 0.486 0.517 0.550 1048 0.586 0.589 0.600 0.621 0.650 0.686 0.724 0.764 1328 0.707 0.721 0.731 0.757 0.786 0.821 0.858 0.896 1496 0.779 0.786 0.808 0.821 0.857 0.900 0.945 0.993 1684 0.850 0.857 0.874 0.900 0.943 0.979 1.016 1.055 1896 0.914 0.929 0.946 0.971 1 1.057 1.117 1.181 2135 1 1.011 1.029 1.043 1.083 1.150 1.221 1.297 2213 1.029 1.043 1.057 1.079 1.114 1.171 1.231 1.294 </tableData> </table> </function> <table name="EnginePowerRPM_N1" type="internal"> <description> Engine Power, function of RPM and N1 </description> <tableData> 0 5 60 86 94 95 96 97 98 99 100 101 0.0 0.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 853.7 0.0 0.5 32.0 183.1 320.3 347.8 384.4 421.0 457.6 485.0 530.8 567.5 1278.2 0.0 0.5 27.5 210.5 366.1 393.5 430.2 462.2 503.3 540.0 585.8 622.3 1705.1 0.0 0.5 4.6 219.6 402.7 434.7 466.8 503.3 544.5 576.6 622.3 658.9 2131.9 0.0 0.1 0.1 205.9 411.9 453.0 480.5 517.1 558.3 594.9 640.6 681.8 2345.4 0.0 0.1 0.1 187.6 402.7 439.3 471.3 512.5 553.7 590.3 636.1 680.0 </tableData> </table> <table name="ITT_N1" type="internal"> <description> Inter-Turbine Temperature ITT [deg C] depending on N1 and engine run (0=off / 1=running) </description> <tableData> 0 1 0 0 0 15 144.1 144.1 60 258.4 749.5 96 388.7 980.1 100 403.6 1083.5 </tableData> </table> <table name="CombustionEfficiency_N1" type="internal"> <description>Dependency of fuel efficiency coefficient on N1 (and RPM)</description> <tableData> 90 0.1221 91.2 0.2834 92.2 0.5336 93.4 0.7188 94.1 0.7741 95.2 0.8471 96.5 0.9001 100 1 </tableData> </table> </turboprop_engine> --- NEW FILE --- <?xml version="1.0"?> <!-- Generated by Aero-Matic v 3.3.1 See: http://wiki.flightgear.org/JSBSim_Thrusters#FGPropeller Inputs: horsepower: 680 max engine rpm: 37500 prop diameter (ft): 8 prop chord (ft): 0.76 pitch: variable at 45 inch Outputs: max prop rpm: 2345.38 gear ratio: 15.9889 Cp0: 0.0803575 Ct0: 0.187233 static thrust (lbs): 2786.61 --> <propeller version="1.01" name="P7646314-0152"> <ixx> 25.1034 </ixx> <diameter unit="IN"> 94 </diameter> <numblades> 4 </numblades> <gearratio> 15.9889 </gearratio> <cp_factor> 4 </cp_factor> <ct_factor> 4 </ct_factor> <!-- set to match the number of blades --> <minpitch> 12 </minpitch> <maxpitch> 45 </maxpitch> <minrpm> 1993.57 </minrpm> <maxrpm> 2345.38 </maxrpm> <!-- thrust coefficient as a function of advance ratio and blade angle --> <table name="C_THRUST" type="internal"> <tableData> -15 0 15 30 45 60 0.00 0.0492 0.1132 0.1773 0.2413 0.3054 0.3694 0.05 0.0431 0.1068 0.1704 0.2337 0.2967 0.3596 0.10 0.0371 0.1006 0.1638 0.2264 0.2886 0.3503 0.15 0.0311 0.0946 0.1574 0.2195 0.2808 0.3415 0.20 0.0253 0.0887 0.1513 0.2129 0.2735 0.3332 0.25 0.0194 0.0830 0.1454 0.2066 0.2666 0.3254 0.30 0.0136 0.0774 0.1397 0.2005 0.2600 0.3180 0.35 0.0079 0.0718 0.1342 0.1948 0.2537 0.3110 0.40 0.0021 0.0664 0.1288 0.1893 0.2478 0.3044 0.45 -0.0037 0.0610 0.1236 0.1840 0.2421 0.2981 0.50 -0.0095 0.0557 0.1185 0.1789 0.2368 0.2922 0.55 -0.0154 0.0505 0.1136 0.1740 0.2316 0.2866 0.60 -0.0212 0.0453 0.1088 0.1693 0.2268 0.2813 0.65 -0.0272 0.0401 0.1041 0.1648 0.2221 0.2762 0.70 -0.0331 0.0349 0.0994 0.1604 0.2177 0.2715 0.75 -0.0392 0.0298 0.0949 0.1561 0.2135 0.2670 0.80 -0.0453 0.0247 0.0904 0.1520 0.2094 0.2627 0.85 -0.0515 0.0195 0.0860 0.1481 0.2056 0.2586 0.90 -0.0578 0.0144 0.0817 0.1442 0.2019 0.2548 0.95 -0.0642 0.0092 0.0774 0.1404 0.1983 0.2511 1.00 -0.0706 0.0040 0.0731 0.1368 0.1949 0.2476 1.05 -0.0772 -0.0012 0.0689 0.1332 0.1917 0.2443 1.10 -0.0839 -0.0065 0.0647 0.1297 0.1885 0.2412 1.15 -0.0907 -0.0118 0.0605 0.1263 0.1855 0.2382 1.20 -0.0976 -0.0171 0.0564 0.1230 0.1826 0.2353 1.25 -0.1047 -0.0225 0.0522 0.1197 0.1798 0.2326 1.30 -0.1118 -0.0280 0.0481 0.1165 0.1771 0.2300 1.35 -0.1191 -0.0335 0.0440 0.1133 0.1745 0.2276 1.40 -0.1265 -0.0391 0.0398 0.1102 0.1720 0.2252 1.50 -0.1418 -0.0504 0.0315 0.1040 0.1671 0.2208 1.60 -0.1576 -0.0620 0.0232 0.0981 0.1626 0.2168 1.70 -0.1739 -0.0739 0.0148 0.0922 0.1583 0.2131 1.80 -0.1909 -0.0862 0.0062 0.0864 0.1542 0.2097 1.90 -0.2084 -0.0987 -0.0024 0.0806 0.1502 0.2065 2.00 -0.2266 -0.1116 -0.0112 0.0749 0.1465 0.2036 2.10 -0.2454 -0.1249 -0.0201 0.0692 0.1429 0.2009 2.20 -0.2648 -0.1386 -0.0291 0.0635 0.1393 0.1984 2.30 -0.2848 -0.1526 -0.0384 0.0578 0.1359 0.1960 2.40 -0.3055 -0.1670 -0.0478 0.0521 0.1326 0.1938 </tableData> </table> <!-- power coefficient as a function of advance ratio and blade angle --> <table name="C_POWER" type="internal"> <tableData> -15 0 15 30 45 60 0.00 0.0065 0.0313 0.0786 0.1483 0.2405 0.3553 0.05 0.0076 0.0339 0.0828 0.1541 0.2479 0.3643 0.10 0.0082 0.0361 0.0866 0.1596 0.2550 0.3730 0.15 0.0083 0.0379 0.0900 0.1647 0.2619 0.3816 0.20 0.0080 0.0392 0.0931 0.1695 0.2685 0.3900 0.25 0.0072 0.0402 0.0957 0.1740 0.2748 0.3983 0.30 0.0060 0.0407 0.0981 0.1782 0.2810 0.4066 0.35 0.0043 0.0408 0.1001 0.1821 0.2870 0.4147 0.40 0.0022 0.0405 0.1017 0.1858 0.2928 0.4227 0.45 -0.0004 0.0398 0.1031 0.1893 0.2985 0.4308 0.50 -0.0035 0.0387 0.1041 0.1925 0.3041 0.4388 0.55 -0.0070 0.0372 0.1047 0.1955 0.3095 0.4468 0.60 -0.0110 0.0353 0.1051 0.1982 0.3148 0.4547 0.65 -0.0156 0.0330 0.1051 0.2008 0.3200 0.4627 0.70 -0.0206 0.0303 0.1048 0.2031 0.3251 0.4708 0.75 -0.0261 0.0271 0.1042 0.2052 0.3301 0.4788 0.80 -0.0321 0.0236 0.1033 0.2071 0.3350 0.4869 0.85 -0.0386 0.0196 0.1021 0.2088 0.3398 0.4951 0.90 -0.0457 0.0152 0.1005 0.2103 0.3445 0.5033 0.95 -0.0533 0.0103 0.0986 0.2116 0.3492 0.5115 1.00 -0.0614 0.0050 0.0964 0.2126 0.3538 0.5198 1.05 -0.0701 -0.0007 0.0938 0.2135 0.3583 0.5282 1.10 -0.0794 -0.0069 0.0909 0.2141 0.3627 0.5367 1.15 -0.0892 -0.0136 0.0877 0.2146 0.3671 0.5452 1.20 -0.0996 -0.0207 0.0841 0.2148 0.3714 0.5538 1.25 -0.1106 -0.0282 0.0802 0.2148 0.3756 0.5625 1.30 -0.1221 -0.0363 0.0759 0.2146 0.3797 0.5712 1.35 -0.1343 -0.0449 0.0713 0.2142 0.3838 0.5800 1.40 -0.1471 -0.0539 0.0663 0.2135 0.3877 0.5889 1.50 -0.1746 -0.0735 0.0553 0.2116 0.3955 0.6070 1.60 -0.2046 -0.0950 0.0427 0.2087 0.4029 0.6253 1.70 -0.2372 -0.1187 0.0287 0.2049 0.4100 0.6439 1.80 -0.2726 -0.1445 0.0130 0.2001 0.4167 0.6628 1.90 -0.3106 -0.1725 -0.0042 0.1943 0.4230 0.6820 2.00 -0.3514 -0.2027 -0.0230 0.1875 0.4290 0.7014 2.10 -0.3950 -0.2351 -0.0435 0.1797 0.4346 0.7211 2.20 -0.4416 -0.2698 -0.0657 0.1708 0.4397 0.7410 2.30 -0.4910 -0.3069 -0.0896 0.1609 0.4444 0.7611 2.40 -0.5434 -0.3463 -0.1152 0.1498 0.4487 0.7815 </tableData> </table> <!-- thrust effects of helical tip Mach --> <table name="CT_MACH" type="internal"> <tableData> 0.85 1.0 1.05 0.8 </tableData> </table> <!-- power-required effects of helical tip Mach --> <table name="CP_MACH" type="internal"> <tableData> 0.85 1.0 1.05 1.8 2.00 1.4 </tableData> </table> </propeller> |
From: Erik H. <eh...@us...> - 2016-11-29 17:38:51
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/DHC6 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7528 Modified Files: DHC6.xml Log Message: Split up systems files, add a proper turbine engine and small modifcations to the FDM Index: DHC6.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/DHC6/DHC6.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** DHC6.xml 8 Dec 2015 13:31:48 -0000 1.23 --- DHC6.xml 29 Nov 2016 17:38:48 -0000 1.24 *************** *** 5,8 **** --- 5,46 ---- xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + <!-- + File: dhc6.xml + Inputs: + name: dhc6 + type: Multi-engine Glider, Small Commuter + stall speed: 74.00kts + max weight: 12500.00 lb + length: 51.75 ft + wing: + span: 65.00 ft + area: 422.50 sq-ft + mean chord: 6.47 ft + aspect ratio: 10.10:1 + taper ratio: 0.99:1 + incidence: 2.50 degrees + dihedral: 3.00 degrees + sweep: 0.00 degrees + + no. engines: 2 + engine type: Turboprop Engine + engine layout: wings + + gear type: tricycle + steering type: steering + retractable?: no + + Outputs: + wing loading: 29.59 lb/sq-ft + - thickness ratio: 17.25% + payload: 3331.50 lbs + CL-alpha: 5.81 per radian + CL-0: 0.33 + CL-max: 1.60 + CD-0: 0.02 + K: 0.04 + Mcrit: 0.72 + --> + <fileheader> <author> Erik Hofman </author> *************** *** 139,143 **** <feed>0</feed> <feed>1</feed> ! <thruster file="direct"> <location unit="IN"> <x> 142.4 </x> --- 177,181 ---- <feed>0</feed> <feed>1</feed> ! <thruster file="Propeller"> <location unit="IN"> <x> 142.4 </x> *************** *** 165,169 **** <feed>1</feed> <feed>0</feed> ! <thruster file="direct"> <location unit="IN"> <x> 142.4 </x> --- 203,207 ---- <feed>1</feed> <feed>0</feed> ! <thruster file="Propeller"> <location unit="IN"> <x> 142.4 </x> *************** *** 197,332 **** </tank> </propulsion> <flight_control name="FCS: DHC-6 Twin Otter"> - <channel name="Pitch"> - <summer name="fcs/pitch-trim-sum"> - <input>fcs/elevator-cmd-norm</input> - <input>fcs/pitch-trim-cmd-norm</input> - <clipto> - <min>-1</min> - <max>1</max> - </clipto> - </summer> - - <aerosurface_scale name="fcs/elevator-control"> - <input>fcs/pitch-trim-sum</input> - <range> - <min>-0.454</min> - <max>0.244</max> - </range> - <output>fcs/elevator-pos-rad</output> - </aerosurface_scale> - </channel> - <channel name="Roll"> - <summer name="fcs/roll-trim-sum"> - <input>fcs/aileron-cmd-norm</input> - <input>fcs/roll-trim-cmd-norm</input> - <clipto> - <min>-1</min> - <max>1</max> - </clipto> - </summer> - - <aerosurface_scale name="fcs/left-aileron-control"> - <input>fcs/roll-trim-sum</input> - <range> - <min>-0.28</min> - <max>0.33</max> - </range> - <output>fcs/left-aileron-pos-rad</output> - </aerosurface_scale> - - <aerosurface_scale name="fcs/right-aileron-control"> - <input>-fcs/roll-trim-sum</input> - <range> - <min>-0.28</min> - <max>0.33</max> - </range> - <output>fcs/right-aileron-pos-rad</output> - </aerosurface_scale> - </channel> - <channel name="Yaw"> - <summer name="fcs/rudder-command-sum"> - <input>fcs/rudder-cmd-norm</input> - <input>fcs/yaw-trim-cmd-norm</input> - <clipto> - <min>-1</min> - <max>1</max> - </clipto> - </summer> - - <aerosurface_scale name="fcs/rudder-control"> - <input>fcs/rudder-command-sum</input> - <range> - <min>-0.28</min> - <max>0.28</max> - </range> - <output>fcs/rudder-pos-rad</output> - </aerosurface_scale> - </channel> - <channel name="Flaps"> - <kinematic name="fcs/flaps-control"> - <input>fcs/flap-cmd-norm</input> - <traverse> - <setting> - <position>0</position> - <time>0</time> - </setting> - <setting> - <position>10</position> - <time>4</time> - </setting> - <setting> - <position>20</position> - <time>2</time> - </setting> - <setting> - <position>30</position> - <time>2</time> - </setting> - <setting> - <position>40</position> - <time>2</time> - </setting> - </traverse> - <output>fcs/flap-pos-deg</output> - </kinematic> - - <aerosurface_scale name="fcs/flap-position-normalizer"> - <input>fcs/flap-pos-deg</input> - <domain> - <min>0</min> <!-- Flaps actual minimum position --> - <max>40</max> <!-- Flaps actual maximum position --> - </domain> - <range> - <min>0</min> <!-- Flaps normalized minimum position --> - <max>1</max> <!-- Flaps normalized maximum position --> - </range> - <output>fcs/flap-pos-norm</output> - </aerosurface_scale> - - </channel> - <channel name="Speedbrake"> - <kinematic name="fcs/speedbrake-control"> - <input>fcs/speedbrake-cmd-norm</input> - <traverse> - <setting> - <position>0</position> - <time>0</time> - </setting> - <setting> - <position>1</position> - <time>1</time> - </setting> - </traverse> - <output>fcs/speedbrake-pos-norm</output> - </kinematic> - </channel> - <channel name="Thrust"> - <summer name="fcs/engine-thrust-lbs"> - <input>propulsion/engine[0]/thrust-coefficient</input> - <input>propulsion/engine[1]/thrust-coefficient</input> - <output>fcs/engine-thrust-coefficient</output> - </summer> - </channel> </flight_control> --- 235,245 ---- </tank> </propulsion> + + <system file="Propulsion.xml"/> + <system file="Conventional Controls.xml"/> + <system file="Landing Gear.xml"/> + <system file="Flaps.xml"/> + <flight_control name="FCS: DHC-6 Twin Otter"> </flight_control> *************** *** 753,757 **** <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> ! <property>fcs/engine-thrust-coefficient</property> <table> <independentVar lookup="row">aero/alpha-rad</independentVar> --- 666,670 ---- <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> ! <property>systems/propulsion/thrust-coefficient</property> <table> <independentVar lookup="row">aero/alpha-rad</independentVar> |
From: Erik H. <eh...@us...> - 2016-11-29 17:37:11
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Engines In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7457/Engines Log Message: Directory /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Engines added to the repository |
From: Erik H. <eh...@us...> - 2016-11-29 17:37:11
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7457/Systems Log Message: Directory /cvsroot/jsbsim/JSBSim/aircraft/DHC6/Systems added to the repository |
From: Erik H. <eh...@us...> - 2016-11-24 09:59:37
|
Update of /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv318/Systems Modified Files: Controls.cpp Flaps.cpp LandingGear.cpp Log Message: Set the unit of wing_incidence to DEG, Fix the naming of wing root chord and always add fcs/gear-no-wow Index: Controls.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/Controls.cpp,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -r1.49 -r1.50 *** Controls.cpp 3 Sep 2016 09:45:56 -0000 1.49 --- Controls.cpp 24 Nov 2016 09:59:34 -0000 1.50 *************** *** 339,342 **** --- 339,343 ---- float dcgx = -(cg_loc[X] - _aircraft->_aero_rp[X])*INCH_TO_FEET; + // fuselage component: L = fuselage length, D = fuselage max. diameter. float dwf = L/_aircraft->_aero_rp[X]; float Kf = 0.033f + 0.538f*dwf + 1.5f*dwf*dwf; Index: Flaps.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/Flaps.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** Flaps.cpp 27 Nov 2015 10:23:53 -0000 1.8 --- Flaps.cpp 24 Nov 2016 09:59:34 -0000 1.9 *************** *** 123,126 **** --- 123,148 ---- return file.str(); } + + #if 0 + std::string Flaps:pitch() + { + float dCLflaps = _dCLflaps_t[_aircraft->_atype][_aircraft->_engines]; + + file.precision(4); + file << std::fixed << std::showpoint; + file << " <function name=\"aero/moment/Pitch_flap\">" << std::endl; + file << " <description>Pitch moment due to flaps</description>" << std::endl; + file << " <product>" << std::endl; + file << " <property>aero/qbar-psf</property>" << std::endl; + file << " <property>metrics/Sw-sqft</property>" << std::endl; + file << " <property>metrics/cbarw-ft</property>" << std::endl; + file << " <property>fcs/flap-pos-deg</property>" << std::endl; + file << " <value> " << -0.327f*(_K*dCLflaps/30.0f) << " </value>" << std::endl; + file << " </product>" << std::endl; + file << " </function>\n" << std::endl; + + return file.str(); + } + #endif // ---------------------------------------------------------------------------- Index: LandingGear.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/LandingGear.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** LandingGear.cpp 6 Jul 2016 08:00:40 -0000 1.14 --- LandingGear.cpp 24 Nov 2016 09:59:34 -0000 1.15 *************** *** 226,239 **** std::stringstream file; if (_retractable) { - file << " <channel name=\"" + _description[_subtype] + "\">" << std::endl; - file << " <switch name=\"fcs/gear-no-wow\">" << std::endl; - file << " <default value=\"1\"/>" << std::endl; - file << " <test logic=\"AND\" value=\"0\">" << std::endl; - file << " gear/unit[1]/WOW eq 1" << std::endl; - file << " gear/unit[2]/WOW eq 1" << std::endl; - file << " </test>" << std::endl; - file << " </switch>" << std::endl; file << std::endl; file << " <kinematic name=\"" + _description[_subtype] + " Control\">" << std::endl; --- 226,240 ---- std::stringstream file; + file << " <channel name=\"" + _description[_subtype] + "\">" << std::endl; + file << " <switch name=\"fcs/gear-no-wow\">" << std::endl; + file << " <default value=\"1\"/>" << std::endl; + file << " <test logic=\"AND\" value=\"0\">" << std::endl; + file << " gear/unit[1]/WOW eq 1" << std::endl; + file << " gear/unit[2]/WOW eq 1" << std::endl; + file << " </test>" << std::endl; + file << " </switch>" << std::endl; + if (_retractable) { file << std::endl; file << " <kinematic name=\"" + _description[_subtype] + " Control\">" << std::endl; *************** *** 251,256 **** file << " <output>gear/gear-pos-norm</output>" << std::endl; file << " </kinematic>" << std::endl; - file << " </channel>" << std::endl; } return file.str(); --- 252,257 ---- file << " <output>gear/gear-pos-norm</output>" << std::endl; file << " </kinematic>" << std::endl; } + file << " </channel>" << std::endl; return file.str(); |
From: Erik H. <eh...@us...> - 2016-11-24 09:59:37
|
Update of /cvsroot/jsbsim/JSBSim/utils/aeromatic++ In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv318 Modified Files: Aircraft.cpp version Log Message: Set the unit of wing_incidence to DEG, Fix the naming of wing root chord and always add fcs/gear-no-wow Index: Aircraft.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Aircraft.cpp,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -r1.76 -r1.77 *** Aircraft.cpp 3 Sep 2016 09:45:56 -0000 1.76 --- Aircraft.cpp 24 Nov 2016 09:59:34 -0000 1.77 *************** *** 148,152 **** _geometry.push_back(new Param("Wing aspect ratio", _estimate, _wing.aspect)); _geometry.push_back(new Param("Wing taper ratio", _estimate, _wing.taper)); ! _geometry.push_back(new Param("Wing mean chord", _estimate, _wing.chord_mean, _metric, LENGTH)); _geometry.push_back(new Param("Wing incidence", _estimate, _wing.incidence)); _geometry.push_back(new Param("Wing dihedral", _estimate, _wing.dihedral)); --- 148,152 ---- _geometry.push_back(new Param("Wing aspect ratio", _estimate, _wing.aspect)); _geometry.push_back(new Param("Wing taper ratio", _estimate, _wing.taper)); ! _geometry.push_back(new Param("Wing root chord", _estimate, _wing.chord_mean, _metric, LENGTH)); _geometry.push_back(new Param("Wing incidence", _estimate, _wing.incidence)); _geometry.push_back(new Param("Wing dihedral", _estimate, _wing.dihedral)); *************** *** 272,275 **** --- 272,276 ---- { float TR = _wing.taper; + _wing.chord_mean = 2.0f*_wing.chord_mean*(1.0f+TR-(TR/(1.0f+TR)))/3.0f; _user_wing_data++; *************** *** 422,437 **** } - //***** CG LOCATION *********************************** - - _cg_loc[X] = (_length - _htail.arm) * FEET_TO_INCH; - _cg_loc[Y] = 0; - _cg_loc[Z] = -(_length / 40.0f) * FEET_TO_INCH; - - //***** AERO REFERENCE POINT ************************** - - _aero_rp[X] = _cg_loc[X]; - _aero_rp[Y] = 0; - _aero_rp[Z] = 0; - //***** PILOT EYEPOINT ********************************* --- 423,426 ---- *************** *** 443,446 **** --- 432,460 ---- eyept_loc[Z] = _eyept_loc[Z]; + //***** AERO REFERENCE POINT ************************** + + _aero_rp[X] = (_length - _htail.arm) * FEET_TO_INCH; + _aero_rp[Y] = 0; + _aero_rp[Z] = 0; + + //***** CG LOCATION *********************************** + #if 0 + // http://www.rcgroups.com/forums/showatt.php?attachmentid=1651636 + float TR = _wing.taper; + float Sw = _wing.area; + float cbar = _wing.chord_mean; + float Sh = _htail.area; + float L = _htail.arm; + + float R = 3.0f*cbar/(2.0f*(1.0f+TR-(TR/(1.0f+TR)))); + float T = R * TR; + float P = L*Sh/(3.0f*Sw) - ((R*R + R*T + T*T)/(R+T))/15.0f; + _cg_loc[X] = _aero_rp[X] + P * FEET_TO_INCH; + #else + _cg_loc[X] = _aero_rp[X]; + #endif + _cg_loc[Y] = 0; + _cg_loc[Z] = -(_length / 40.0f) * FEET_TO_INCH; + //***** PAYLOAD *************************************** *************** *** 602,606 **** file << " <wingarea unit=\"FT2\"> " << std::setw(8) << _wing.area << " </wingarea>" << std::endl; file << " <wingspan unit=\"FT\" > " << std::setw(8) << _wing.span << " </wingspan>" << std::endl; ! file << " <wing_incidence> " << std::setw(8) << _wing.incidence << " </wing_incidence>" << std::endl; file << " <chord unit=\"FT\" > " << std::setw(8) << _wing.chord_mean << " </chord>" << std::endl; file << " <htailarea unit=\"FT2\"> " << std::setw(8) << _htail.area << " </htailarea>" << std::endl; --- 616,620 ---- file << " <wingarea unit=\"FT2\"> " << std::setw(8) << _wing.area << " </wingarea>" << std::endl; file << " <wingspan unit=\"FT\" > " << std::setw(8) << _wing.span << " </wingspan>" << std::endl; ! file << " <wing_incidence unit=\"DEG\"> " << std::setw(2) << _wing.incidence << " </wing_incidence>" << std::endl; file << " <chord unit=\"FT\" > " << std::setw(8) << _wing.chord_mean << " </chord>" << std::endl; file << " <htailarea unit=\"FT2\"> " << std::setw(8) << _htail.area << " </htailarea>" << std::endl; Index: version =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/version,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** version 3 Sep 2016 09:45:56 -0000 1.22 --- version 24 Nov 2016 09:59:34 -0000 1.23 *************** *** 1 **** ! 3.3.8 --- 1 ---- ! 3.3.9 |
From: Erik H. <eh...@us...> - 2016-11-01 08:33:31
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/f16 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6974 Modified Files: f16.xml Log Message: Better pitch stability Index: f16.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/f16/f16.xml,v retrieving revision 1.94 retrieving revision 1.95 diff -C2 -r1.94 -r1.95 *** f16.xml 3 Sep 2016 13:13:59 -0000 1.94 --- f16.xml 1 Nov 2016 08:33:28 -0000 1.95 *************** *** 552,560 **** <independentVar>aero/alpha-rad</independentVar> <tableData> ! -0.5236 0.0 ! -0.5 0.11 ! 0.0 1.0 ! 0.5 0.11 ! 0.5236 0.0 </tableData> </table> --- 552,560 ---- <independentVar>aero/alpha-rad</independentVar> <tableData> ! -0.5236 0.0 ! -0.5 0.11 ! 0.0 1.0 ! 0.5 0.11 ! 0.5236 0.0 </tableData> </table> *************** *** 587,593 **** <input>fcs/elevator-scheduler</input> <input>fcs/pitch-rate-norm</input> ! <input>fcs/g-load-norm</input> </summer> ! <!-- - Make sure the PID controller is only active when the aircraft --- 587,593 ---- <input>fcs/elevator-scheduler</input> <input>fcs/pitch-rate-norm</input> ! <input>-fcs/g-load-norm</input> </summer> ! <!-- - Make sure the PID controller is only active when the aircraft *************** *** 605,611 **** <trigger>fcs/elevator-pid-trigger</trigger> <input>fcs/pitch-trim-error</input> ! <kp> 0.94737 </kp> ! <ki> 0.00050 </ki> ! <kd> 0.000 </kd> <clipto> <min>-1</min> --- 605,611 ---- <trigger>fcs/elevator-pid-trigger</trigger> <input>fcs/pitch-trim-error</input> ! <kp> 0.3000 </kp> ! <ki> 0.0250 </ki> ! <kd> 0.0000 </kd> <clipto> <min>-1</min> |
From: Bertrand <bco...@us...> - 2016-09-25 12:02:40
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/ball In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv4702/aircraft/ball Modified Files: reset00_v2.xml Log Message: Updated the initial velocity such that the ball keeps its circular orbit within a small fraction of a foot (instead of several feet previously) Index: reset00_v2.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/ball/reset00_v2.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** reset00_v2.xml 18 Feb 2012 19:11:37 -0000 1.5 --- reset00_v2.xml 25 Sep 2016 12:02:36 -0000 1.6 *************** *** 15,20 **** <velocity unit="FT/SEC" frame="BODY"> ! <!--x> 23869.9759596 </x--> <!-- For use with standard grav model --> ! <x> 23889.142721 </x> <!-- For use with WGS84 grav model --> </velocity> --- 15,20 ---- <velocity unit="FT/SEC" frame="BODY"> ! <!--x> 23869.978340 </x--> <!-- For use with standard grav model --> ! <x> 23889.145167 </x> <!-- For use with WGS84 grav model --> </velocity> |
From: Bertrand <bco...@us...> - 2016-09-11 11:31:03
|
Update of /cvsroot/jsbsim/JSBSim/src/initialization In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6575/src/initialization Modified Files: FGInitialCondition.cpp Log Message: Refactored code with the new method SetGeodLatitudeRadIC(). Also updated the comment for ComputeGeodAltitude(): it gives correct results as long as the altitude ASL is specified. However the routine will need further work for the case where the altitude AGL was specified. Index: FGInitialCondition.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/initialization/FGInitialCondition.cpp,v retrieving revision 1.112 retrieving revision 1.113 diff -C2 -r1.112 -r1.113 *** FGInitialCondition.cpp 28 Aug 2016 12:13:09 -0000 1.112 --- FGInitialCondition.cpp 11 Sep 2016 11:31:00 -0000 1.113 *************** *** 710,717 **** position.SetAltitudeASL(alt); ! if (lastLatitudeSet == setgeod) { ! double h = ComputeGeodAltitude(geodLatitude); ! position.SetPositionGeodetic(position.GetLongitude(), geodLatitude, h); ! } soundSpeed = Atmosphere->GetSoundSpeed(altitudeASL); --- 710,717 ---- position.SetAltitudeASL(alt); ! // The call to SetAltitudeASL has most likely modified the geodetic latitude ! // so we need to restore it to its initial value. ! if (lastLatitudeSet == setgeod) ! SetGeodLatitudeRadIC(geodLatitude); soundSpeed = Atmosphere->GetSoundSpeed(altitudeASL); *************** *** 932,945 **** //****************************************************************************** ! // Given an altitude above the sea level (or a position radius which is the ! // same) and a geodetic latitude, compute the geodetic altitude. It is assumed ! // that the terrain is a sphere and that the elevation is uniform all over the ! // Earth. Would that assumption fail, the computation below would need to be ! // adapted since the position radius would depend on the terrain elevation which ! // depends itself on the latitude. // ! // This is an acceptable trade off because this routine is only used by ! // standalone JSBSim which uses FGDefaultGroundCallback which assumes that the ! // Earth is a sphere. double FGInitialCondition::ComputeGeodAltitude(double geodLatitude) --- 932,940 ---- //****************************************************************************** ! // Given an altitude above the mean sea level (or a position radius which is the ! // same) and a geodetic latitude, compute the geodetic altitude. // ! // TODO: extend the routine to the case where lastAltitudeSet is equal to ! // setagl. double FGInitialCondition::ComputeGeodAltitude(double geodLatitude) *************** *** 979,987 **** string lat_type = latitude_el->GetAttributeValue("type"); ! if (lat_type == "geod" || lat_type == "geodetic") { ! double h = ComputeGeodAltitude(latitude); ! position.SetPositionGeodetic(position.GetLongitude(), latitude, h); ! lastLatitudeSet = setgeod; ! } else { position.SetLatitude(latitude); --- 974,979 ---- string lat_type = latitude_el->GetAttributeValue("type"); ! if (lat_type == "geod" || lat_type == "geodetic") ! SetGeodLatitudeRadIC(latitude); else { position.SetLatitude(latitude); |
From: Bertrand <bco...@us...> - 2016-09-11 11:26:07
|
Update of /cvsroot/jsbsim/JSBSim/src/input_output In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6365/src/input_output Modified Files: FGXMLElement.cpp Log Message: Give more details in error messages that report angles out of range. Index: FGXMLElement.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/input_output/FGXMLElement.cpp,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** FGXMLElement.cpp 2 Jan 2016 15:23:50 -0000 1.55 --- FGXMLElement.cpp 11 Sep 2016 11:26:04 -0000 1.56 *************** *** 468,477 **** // Sanity check for angular values if ((supplied_units == "RAD") && (fabs(value) > 2 * M_PI)) { ! cerr << element->ReadFrom() << "The value " << value ! << " RAD is outside the range [ -2*M_PI RAD ; +2*M_PI RAD ]" << endl; } if ((supplied_units == "DEG") && (fabs(value) > 360.0)) { ! cerr << element->ReadFrom() << "The value " << value ! << " DEG is outside the range [ -360 DEG ; +360 DEG ]" << endl; } --- 468,479 ---- // Sanity check for angular values if ((supplied_units == "RAD") && (fabs(value) > 2 * M_PI)) { ! cerr << element->ReadFrom() << element->GetName() << " value " ! << value << " RAD is outside the range [ -2*M_PI RAD ; +2*M_PI RAD ]" ! << endl; } if ((supplied_units == "DEG") && (fabs(value) > 360.0)) { ! cerr << element->ReadFrom() << element->GetName() << " value " ! << value << " DEG is outside the range [ -360 DEG ; +360 DEG ]" ! << endl; } *************** *** 482,491 **** if ((target_units == "RAD") && (fabs(value) > 2 * M_PI)) { ! cerr << element->ReadFrom() << "The value " << value ! << " RAD is outside the range [ -2*M_PI RAD ; +2*M_PI RAD ]" << endl; } if ((target_units == "DEG") && (fabs(value) > 360.0)) { ! cerr << element->ReadFrom() << "The value " << value ! << " DEG is outside the range [ -360 DEG ; +360 DEG ]" << endl; } --- 484,495 ---- if ((target_units == "RAD") && (fabs(value) > 2 * M_PI)) { ! cerr << element->ReadFrom() << element->GetName() << " value " ! << value << " RAD is outside the range [ -2*M_PI RAD ; +2*M_PI RAD ]" ! << endl; } if ((target_units == "DEG") && (fabs(value) > 360.0)) { ! cerr << element->ReadFrom() << element->GetName() << " value " ! << value << " DEG is outside the range [ -360 DEG ; +360 DEG ]" ! << endl; } |
From: Erik H. <eh...@us...> - 2016-09-03 13:14:03
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/f16 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19699 Modified Files: f16.xml Log Message: Improve the text layout of the configuration file Index: f16.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/f16/f16.xml,v retrieving revision 1.93 retrieving revision 1.94 diff -C2 -r1.93 -r1.94 *** f16.xml 7 Apr 2015 07:56:42 -0000 1.93 --- f16.xml 3 Sep 2016 13:13:59 -0000 1.94 *************** *** 2,1952 **** <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config name="General Dynamics F-16A" version="2.0" release="PRODUCTION" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> ! <fileheader> ! <author> Erik Hofman </author> ! <filecreationdate> 2001-12-28 </filecreationdate> ! <version> $Revision$ </version> ! <license> [...3874 lines suppressed...] ! <property> position/h-sl-ft </property> ! <property> velocities/vc-kts </property> ! <property> fcs/throttle-cmd-norm </property> ! <property> fcs/elevator-cmd-norm </property> ! <property> fcs/pitch-trim-cmd-norm </property> ! <property> propulsion/total-fuel-lbs </property> ! <property> flight-path/gamma-rad </property> ! <property> accelerations/n-pilot-z-norm </property> ! <rates> ON </rates> ! <velocities> ON </velocities> ! <forces> ON </forces> ! <moments> ON </moments> ! <position> ON </position> ! <fcs> ON </fcs> ! <propulsion> OFF </propulsion> ! <aerosurfaces> ON </aerosurfaces> ! <fcs> ON </fcs> ! <ground_reactions> ON </ground_reactions> </output> --> |
From: Erik H. <eh...@us...> - 2016-09-03 09:46:00
|
Update of /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10827/Systems Modified Files: Controls.cpp Log Message: Fix a number of issues that arise when the minimum number of input parameters was provided. Especially when no stall speed was specified Index: Controls.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Systems/Controls.cpp,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -r1.48 -r1.49 *** Controls.cpp 20 Aug 2016 09:00:58 -0000 1.48 --- Controls.cpp 3 Sep 2016 09:45:56 -0000 1.49 *************** *** 113,117 **** float CL = W/Q/Sw; ! if (Vs) { // *** CLmax based on wing geometry and stall speed *** --- 113,117 ---- float CL = W/Q/Sw; ! if (Vs > 0.5f) { // *** CLmax based on wing geometry and stall speed *** *************** *** 150,154 **** float nh = _aircraft->_htail.efficiency; float Ee = _aircraft->_htail.flap_ratio; // elevator - float dcgx = -(cg_loc[X] - _aircraft->_aero_rp[X])*INCH_TO_FEET; float ch = cbarw*sqrtf(Sh/Sw); --- 150,153 ---- *************** *** 244,253 **** M2 = M*M; ! float dsdB = 0.0f; // ds/dB ! float CYbeta = -nv*(Sv/Sw)*CLav[0]*(1.0f+dsdB); ! float CYp_const = -(AR+cosf(sweep))/(AR+4*cosf(sweep))*tanf(sweep); float CL0 = _aircraft->_CL0; float CLalpha = _aircraft->_CLalpha[0]; float zw = -0.0f; // z-pos. wing: positive down --- 243,258 ---- M2 = M*M; ! float dsdB = -_aircraft->_vtail.de_da; // ds/dB ! float CYbeta = -nv*Sv/Sw*CLav[0]*(1.0f-dsdB); float CL0 = _aircraft->_CL0; + if (Vs > 0.5f) + { + CL0 = CLaw[0]*(iw - a0w)+(Sh/Sw)*nh*CLah[0]*(ih - E0); + _aircraft->_CL0 = CL0; + } + float CLalpha = _aircraft->_CLalpha[0]; + _aircraft->_CDalpha.at(0) = CLalpha*(2.0f*CL0)/(PI*AR*Ew); float zw = -0.0f; // z-pos. wing: positive down *************** *** 255,263 **** float Clbwf = 1.2f*sqrt(AR)*((zw+2.0f*D)/(bw*bw)); float Clbvt = -(zv/bw)*CLah[0]; - - CL0 = CLaw[0]*(iw - a0w)+(Sh/Sw)*nh*CLah[0]*(ih - E0); - _aircraft->_CDalpha.at(0) = CLalpha*(2.0f*CL0)/(PI*AR*Ew); - - _aircraft->_CL0 = CL0; for (int i=0; i<4; ++i) { --- 260,263 ---- *************** *** 265,270 **** { case 0: ! CL = 10.0f * _aircraft->_CLmax[0]; ! Vt = Vs; break; case 1: --- 265,278 ---- { case 0: ! if (Vs > 0.5f) ! { ! CL = 10.0f * _aircraft->_CLmax[0]; ! Vt = Vs; ! } ! else // No stall speed was specified ! { ! CL = CL0; ! Vt = sqrtf(W/(0.5f*rho*CL*Sw)); ! } break; case 1: *************** *** 288,297 **** _aircraft->_alpha.at(i) = alpha; ! float CLmin = CL0 + MIN_ALPHA*CLalpha; ! float CLmax = CL0 + std::max<float>(alpha,MAX_ALPHA)*CLalpha; ! ! _aircraft->_CYp.at(i) = -CL*CYp_const; _aircraft->_Cnp.at(i) = -CL/8.0f; float Cmin, Cmax; --- 296,312 ---- _aircraft->_alpha.at(i) = alpha; ! #if 0 ! float CYp_const = (AR+cosf(sweep))/(AR+4*cosf(sweep))*tanf(sweep); ! _aircraft->_CYp.at(i) = CL*CYp_const; _aircraft->_Cnp.at(i) = -CL/8.0f; + #else + float l0a = 4*Sw*CL/PI/bw; + float av = l0a*(PI/4.0f)*bv/Sv; + _aircraft->_CYp.at(i) = 8.0f/(3.0f*PI)*nv*(bv*Sv/(bw*Sw))*av; + _aircraft->_Cnp.at(i) = -lv*_aircraft->_CYp[i]/bw; + #endif + float CLmin = CL0 + MIN_ALPHA*CLalpha; + float CLmax = CL0 + std::max<float>(alpha,MAX_ALPHA)*CLalpha; float Cmin, Cmax; *************** *** 304,312 **** _aircraft->_Clbeta.at(i*2+1) = Cmax - Clbwf - alpha*Clbvt; ! float Clr_const = 2.0f*lv*lv/bw/bw*(CYbeta*alpha); Cmin = (CLmin/4.0f)-Clr_const; Cmax = (CLmax/4.0f)-Clr_const; _aircraft->_Clr.at(i*2) = Cmin; _aircraft->_Clr.at(i*2+1) = Cmax; } --- 319,329 ---- _aircraft->_Clbeta.at(i*2+1) = Cmax - Clbwf - alpha*Clbvt; ! float Clr_const = 2.0f*lv*zv/bw/bw*CYbeta; Cmin = (CLmin/4.0f)-Clr_const; Cmax = (CLmax/4.0f)-Clr_const; _aircraft->_Clr.at(i*2) = Cmin; _aircraft->_Clr.at(i*2+1) = Cmax; + + if (Vs <= 0.5f) break; } *************** *** 314,336 **** _aircraft->_CLadot = _aircraft->_CLq*deda; ! float CLhde = ((CLah[0]/PI)*(acosf(1.0f-2.0f*Ee)+2.0f*sqrtf(Ee-Ee*Ee))); ! _aircraft->_CLde = (CLhde*Sh/Sw)*2.0f/PI; // pitch if (_aircraft->_user_wing_data > 0) { ! // float dwf = L/_aircraft->_aero_rp[X]; ! // float Kf = 0.033f + 0.538f*dwf + 1.5f*dwf*dwf; ! // float Cmfus = Kf*D*D*L/Sw/cbarw/CLaw[0]; ! _aircraft->_Cmalpha = CLaw[0]*(dcgx/cbarw) - Vh*CLah[0]*(1.0f-deda); _aircraft->_Cmq = -_aircraft->_CLq*(lh/cbarw); _aircraft->_Cmadot = -_aircraft->_CLadot*(lh/cbarw); ! float Cmtde = CLah[0]/PI*(1.0f-Ee)*sqrtf(Ee-Ee*Ee); _aircraft->_Cmde = (Sh*ch/Sw/cbarw*Cmtde - lh*Sh*CLhde/cbarw/Sw); } // side ! float Cltdr = (CLav[0]/PI)*(acosf(1.0f-2.0f*Er)+2.0f*sqrtf(Er-Er*Er)); _aircraft->_CYbeta = CYbeta; _aircraft->_CYr = -2.0f*(lv/bw)*(CYbeta); --- 331,356 ---- _aircraft->_CLadot = _aircraft->_CLq*deda; ! float CLhde = ((CLah[0]/PI)*(acosf(1.0f-2.0f*Ee)+2.0f*sqrtf(Ee*(1.0f-Ee)))); ! _aircraft->_CLde = Sh*CLhde/Sw; // *2.0f/PI; // pitch if (_aircraft->_user_wing_data > 0) { ! float dcgx = -(cg_loc[X] - _aircraft->_aero_rp[X])*INCH_TO_FEET; ! ! float dwf = L/_aircraft->_aero_rp[X]; ! float Kf = 0.033f + 0.538f*dwf + 1.5f*dwf*dwf; ! float Cmaf = -Kf*D*D*L/Sw/cbarw/CLaw[0]; ! ! _aircraft->_Cmalpha = CLaw[0]*(dcgx/cbarw) - Vh*CLah[0]*(1.0f-deda) + Cmaf; _aircraft->_Cmq = -_aircraft->_CLq*(lh/cbarw); _aircraft->_Cmadot = -_aircraft->_CLadot*(lh/cbarw); ! float Cmtde = CLah[0]/PI*(1.0f-Ee)*sqrtf(Ee*(1.0f-Ee)); _aircraft->_Cmde = (Sh*ch/Sw/cbarw*Cmtde - lh*Sh*CLhde/cbarw/Sw); } // side ! float Cltdr = (CLav[0]/PI)*(acosf(1.0f-2.0f*Er)+2.0f*sqrtf(Er*(1.0f-Er))); _aircraft->_CYbeta = CYbeta; _aircraft->_CYr = -2.0f*(lv/bw)*(CYbeta); *************** *** 339,360 **** // roll float TRh = _aircraft->_htail.taper; ! // float TRv = _aircraft->_vtail.taper; _aircraft->_Clp = -(CLaw[0]/12.0f)*(1.0f+3.0f*TR)/(1.0f+TR) + (CLah[0]/12.0f)*(Sh/Sw)*(1.0f+3.0f*TRh)/(1.0f+TRh) ! + (CLav[0]/12.0f)*(Sv/Sw)*(1.0f+3.0f*TRh)/(1.0f+TRh); // yaw float k0 = 0.075f; ! float k1 = 1.0f+TC; // 1.256f; // correction factor for wing thickness ! _aircraft->_Cnbeta = nv*Vv*CLav[0]*(1.0-dsdB); ! _aircraft->_Cnr = -(k0*CL*CL + k1*CD0w) - 2.0f*nv*Vv*CLav[0]*(lv/bw); _aircraft->_Cndr = -Vv*Cltdr; - - #if 0 - printf("Cma: %f, Cmadot: %f, Cmq: %f, Cmde: %f\n", _aircraft->_Cmalpha, _aircraft->_Cmadot, _aircraft->_Cmq, _aircraft->_Cmde); - printf("CYbeta: %f, CYr: %f, CYp: %f, CYdr: %f\n", _aircraft->_CYbeta, _aircraft->_CYr, _aircraft->_CYp, _aircraft->_CYdr); - printf("Cnbeta: %f, Cnr: %f, Cnp: %f, Cndr: %f\n", _aircraft->_Cnbeta, _aircraft->_Cnr, _aircraft->_Cnp, _aircraft->_Cndr); - printf("Clbeta: %f, Clr: %f, Clp: %f\n", _aircraft->_Clbeta, _aircraft->_Clr, _aircraft->_Clp); - #endif } --- 359,373 ---- // roll float TRh = _aircraft->_htail.taper; ! float TRv = _aircraft->_vtail.taper; _aircraft->_Clp = -(CLaw[0]/12.0f)*(1.0f+3.0f*TR)/(1.0f+TR) + (CLah[0]/12.0f)*(Sh/Sw)*(1.0f+3.0f*TRh)/(1.0f+TRh) ! + (CLav[0]/12.0f)*(Sv/Sw)*(1.0f+3.0f*TRv)/(1.0f+TRv); // yaw float k0 = 0.075f; ! float k1 = 1.0f+TC; // correction factor for wing thickness ! _aircraft->_Cnbeta = nv*Vv*CLav[0]; // *(1.0f-dsdB); ! _aircraft->_Cnr = -2.0f*nv*Vv*CLav[0]*(lv/bw) - (k0*CL*CL + k1*CD0w); _aircraft->_Cndr = -Vv*Cltdr; } *************** *** 464,468 **** float AR = _aircraft->_wing.aspect; - // float sweep = _aircraft->_wing.sweep * DEG_TO_RAD; float Ew = _aircraft->_wing.efficiency; --- 477,480 ---- *************** *** 482,487 **** file << " <!-- Antennas, struts and wires are not taken into account -->" << std::endl; file << " <!-- CD for gear (fixed and retractable) is defined below -->" << std::endl; ! file << " <function name=\"aero/force/Drag_zero_lift\">" << std::endl; ! file << " <description>Drag at zero lift</description>" << std::endl; file << " <product>" << std::endl; file << " <property>aero/qbar-psf</property>" << std::endl; --- 494,499 ---- file << " <!-- Antennas, struts and wires are not taken into account -->" << std::endl; file << " <!-- CD for gear (fixed and retractable) is defined below -->" << std::endl; ! file << " <function name=\"aero/force/Drag_minimum\">" << std::endl; ! file << " <description>Minimum drag</description>" << std::endl; file << " <product>" << std::endl; file << " <property>aero/qbar-psf</property>" << std::endl; *************** *** 785,800 **** Cnr = _aircraft->_Cnr; ! file << std::setprecision(4) << std::fixed << std::showpoint; ! file << " <!-- Stall initiator -->" << std::endl; ! file << " <function name=\"aero/moment/Yaw_alpha\">" << std::endl; ! file << " <description>Yaw moment due to alpha</description>" << std::endl; ! file << " <product>" << std::endl; ! file << " <property>aero/qbar-psf</property>" << std::endl; ! file << " <property>metrics/Sw-sqft</property>" << std::endl; ! file << " <property>metrics/bw-ft</property>" << std::endl; ! file << " <property>aero/alpha-rad</property>" << std::endl; ! file << " <property>fcs/gear-no-wow</property>" << std::endl; ! file << " <table>" << std::endl; file << " <independentVar lookup=\"row\">aero/beta-rad</independentVar>" << std::endl; file << " <independentVar lookup=\"column\">aero/Re</independentVar>" << std::endl; --- 797,814 ---- Cnr = _aircraft->_Cnr; ! if (_aircraft->_Re[1] != 0.0f) ! { ! file << std::setprecision(4) << std::fixed << std::showpoint; ! file << " <!-- Stall initiator -->" << std::endl; ! file << " <function name=\"aero/moment/Yaw_alpha\">" << std::endl; ! file << " <description>Yaw moment due to alpha</description>" << std::endl; ! file << " <product>" << std::endl; ! file << " <property>aero/qbar-psf</property>" << std::endl; ! file << " <property>metrics/Sw-sqft</property>" << std::endl; ! file << " <property>metrics/bw-ft</property>" << std::endl; ! file << " <property>aero/alpha-rad</property>" << std::endl; ! file << " <property>fcs/gear-no-wow</property>" << std::endl; ! file << " <table>" << std::endl; file << " <independentVar lookup=\"row\">aero/beta-rad</independentVar>" << std::endl; file << " <independentVar lookup=\"column\">aero/Re</independentVar>" << std::endl; *************** *** 817,824 **** file << " </tableData>" << std::endl; file << " </table>" << std::endl; ! ! file << " </product>" << std::endl; ! file << " </function>" << std::endl; ! file << std::endl; file << " <function name=\"aero/moment/Yaw_beta\">" << std::endl; file << " <description>Yaw moment due to beta</description>" << std::endl; --- 831,838 ---- file << " </tableData>" << std::endl; file << " </table>" << std::endl; ! file << " </product>" << std::endl; ! file << " </function>" << std::endl; ! file << std::endl; ! } file << " <function name=\"aero/moment/Yaw_beta\">" << std::endl; file << " <description>Yaw moment due to beta</description>" << std::endl; *************** *** 1184,1188 **** file << std::fixed << std::showpoint; ! if (C.size() == 1) { file << " <value> " << (C[0]) << " </value>" << std::endl; } --- 1198,1202 ---- file << std::fixed << std::showpoint; ! if (C.size() == 1 || _aircraft->_Re[1] == 0.0f) { file << " <value> " << (C[0]) << " </value>" << std::endl; } |
Update of /cvsroot/jsbsim/JSBSim/utils/aeromatic++ In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10827 Modified Files: AeroJetTransport.cpp AeroPropTransport.cpp Aircraft.cpp Aircraft.h aeromatic.cpp version Log Message: Fix a number of issues that arise when the minimum number of input parameters was provided. Especially when no stall speed was specified Index: AeroJetTransport.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/AeroJetTransport.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** AeroJetTransport.cpp 19 Aug 2016 10:20:42 -0000 1.14 --- AeroJetTransport.cpp 3 Sep 2016 09:45:56 -0000 1.15 *************** *** 177,181 **** float const JetTransport::_fuselage_diameter_t[1][5] = { ! { 3.5f, 4.5f, 11.0f, 19.0f, 22.5f } }; --- 177,181 ---- float const JetTransport::_fuselage_diameter_t[1][5] = { ! { 3.5f, 4.5f, 10.0f, 19.0f, 22.5f } }; Index: AeroPropTransport.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/AeroPropTransport.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** AeroPropTransport.cpp 19 Aug 2016 10:20:42 -0000 1.13 --- AeroPropTransport.cpp 3 Sep 2016 09:45:56 -0000 1.14 *************** *** 176,180 **** float const PropTransport::_fuselage_diameter_t[1][5] = { ! { 4.5f, 5.75f, 10.0f, 11.0f, 12.0f } }; --- 176,180 ---- float const PropTransport::_fuselage_diameter_t[1][5] = { ! { 4.5f, 7.4f, 9.0f, 11.0f, 12.0f } }; Index: Aircraft.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Aircraft.cpp,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -r1.75 -r1.76 *** Aircraft.cpp 20 Aug 2016 09:00:58 -0000 1.75 --- Aircraft.cpp 3 Sep 2016 09:45:56 -0000 1.76 *************** *** 66,69 **** --- 66,94 ---- } + const char* + Aircraft::get_verbose_description(int no_engines) + { + static char desc[1024]; + int num = _subclasses.size(); + std::string rv; + + if (no_engines < 0 || num == 0) { + rv = _description; + if (num) rv += " ("; + } + + if (num) + { + for (int i=0; i<num; i++) { + rv += _subclasses[i]; + if (i < (num-1)) rv += ", "; + } + if (no_engines < 0) rv += ')'; + } + + snprintf(desc, 1024, "%s", rv.c_str()); + return desc; + } + Aeromatic::Aeromatic() : Aircraft(), _atype(LIGHT), *************** *** 136,148 **** _aircraft[0] = new Light(this); ! param->add_option(_aircraft[0]->get_description()); _aircraft[1] = new Performance(this); ! param->add_option(_aircraft[1]->get_description()); _aircraft[2] = new Fighter(this); ! param->add_option(_aircraft[2]->get_description()); _aircraft[3] = new JetTransport(this); ! param->add_option(_aircraft[3]->get_description()); _aircraft[4] = new PropTransport(this); ! param->add_option(_aircraft[4]->get_description()); Aircraft::_aircraft = this; --- 161,173 ---- _aircraft[0] = new Light(this); ! param->add_option(_aircraft[0]->get_verbose_description()); _aircraft[1] = new Performance(this); ! param->add_option(_aircraft[1]->get_verbose_description()); _aircraft[2] = new Fighter(this); ! param->add_option(_aircraft[2]->get_verbose_description()); _aircraft[3] = new JetTransport(this); ! param->add_option(_aircraft[3]->get_verbose_description()); _aircraft[4] = new PropTransport(this); ! param->add_option(_aircraft[4]->get_verbose_description()); Aircraft::_aircraft = this; *************** *** 279,285 **** // float Ws = _stall_weight; float Vs = _stall_speed * KNOTS_TO_FPS; ! float sweep = _wing.sweep * DEG_TO_RAD; ! float TC = 0.051f * _wing.area * powf(cosf(sweep), 5.0f)/Vs; ! _wing.thickness = TC * _wing.chord_mean; } --- 304,316 ---- // float Ws = _stall_weight; float Vs = _stall_speed * KNOTS_TO_FPS; ! if (Vs > 0) ! { ! float sweep = _wing.sweep * DEG_TO_RAD; ! float TC = 0.051f * _wing.area * powf(cosf(sweep), 5.0f)/Vs; ! _wing.thickness = TC * _wing.chord_mean; ! } ! else { ! _wing.thickness = 0.15f * _wing.chord_mean; ! } } *************** *** 515,541 **** file << " name: " << _name << std::endl; file << " type: "; ! switch(_atype) ! { ! case LIGHT: ! if (_no_engines == 0) { ! file << "glider" << std::endl; ! } else { ! file << "light commuter with " << _no_engines << " engines" << std::endl; ! } ! break; ! case PERFORMANCE: ! file << "WWII fighter, subsonic sport, aerobatic" << std::endl; ! break; ! case FIGHTER: ! file << _no_engines << " engine transonic/supersonic fighter" << std::endl; ! break; ! case JET_TRANSPORT: ! file << _no_engines << " engine transonic transport" << std::endl; ! break; ! case PROP_TRANSPORT: ! file << "multi-engine prop transport" << std::endl; ! break; } - file << " stall speed: " << _stall_speed << "kts" << std::endl; file << " max weight: " << _max_weight << " lb" << std::endl; file << " length: " << _length << " ft" << std::endl; --- 546,559 ---- file << " name: " << _name << std::endl; file << " type: "; ! if (_no_engines == 0) file << "No engine "; ! else if (_no_engines == 1) file << "Single engine "; ! else file << "Multi-engine "; ! file << _aircraft[_atype]->get_verbose_description(_no_engines) << std::endl; ! file << " stall speed: "; ! if (_stall_speed > 0.5f) { ! file << _stall_speed << "kts" << std::endl; ! } else { ! file << "unspecified" << std::endl; } file << " max weight: " << _max_weight << " lb" << std::endl; file << " length: " << _length << " ft" << std::endl; Index: Aircraft.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/Aircraft.h,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** Aircraft.h 18 Aug 2016 12:52:40 -0000 1.28 --- Aircraft.h 3 Sep 2016 09:45:56 -0000 1.29 *************** *** 49,52 **** --- 49,54 ---- }; + const char* get_verbose_description(int no_engines = -1); + const std::vector<std::string> get_subclasses() { return _subclasses; Index: aeromatic.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/aeromatic.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** aeromatic.cpp 20 Aug 2016 08:04:10 -0000 1.10 --- aeromatic.cpp 3 Sep 2016 09:45:56 -0000 1.11 *************** *** 83,87 **** getline(in, input); ! if (!input.empty()) { if (input == "?" || input == "h" || input == "help") --- 83,87 ---- getline(in, input); ! if (!input.empty() && input[0] != ' ') { if (input == "?" || input == "h" || input == "help") *************** *** 90,94 **** getline(in, input); } ! if (!input.empty()) { param->set(input); } --- 90,94 ---- getline(in, input); } ! if (!input.empty() && input[0] != ' ') { param->set(input); } Index: version =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/utils/aeromatic++/version,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** version 20 Aug 2016 08:04:10 -0000 1.21 --- version 3 Sep 2016 09:45:56 -0000 1.22 *************** *** 1 **** ! 3.3.7 --- 1 ---- ! 3.3.8 |
From: Bertrand <bco...@us...> - 2016-08-28 12:17:06
|
Update of /cvsroot/jsbsim/JSBSim/tests In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv970/tests Modified Files: TestInitialConditions.py Log Message: Added a new test that checks that the initial geodetic latitude can be set via the property ic/lat-geod-deg Index: TestInitialConditions.py =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/tests/TestInitialConditions.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** TestInitialConditions.py 26 Jun 2016 20:29:31 -0000 1.11 --- TestInitialConditions.py 28 Aug 2016 12:17:02 -0000 1.12 *************** *** 21,25 **** # ! import os import xml.etree.ElementTree as et import pandas as pd --- 21,25 ---- # ! import os, math import xml.etree.ElementTree as et import pandas as pd *************** *** 309,311 **** --- 309,335 ---- del fdm + def test_set_initial_geodetic_latitude(self): + script_path = self.sandbox.path_to_jsbsim_file('scripts', + '737_cruise.xml') + output_file = self.sandbox.path_to_jsbsim_file('tests', 'output.xml') + fdm = CreateFDM(self.sandbox) + fdm.load_script(script_path) + fdm.set_output_directive(output_file) + + alt = fdm['ic/h-sl-ft'] + glat = fdm['ic/lat-geod-deg'] - 30. + fdm['ic/lat-geod-deg'] = glat + fdm.run_ic() + + self.assertAlmostEqual(fdm['ic/h-sl-ft'], alt) + self.assertAlmostEqual(fdm['ic/lat-geod-deg'], glat) + self.assertAlmostEqual(fdm['ic/lat-geod-rad'], glat*math.pi/180.) + self.assertAlmostEqual(fdm['position/lat-geod-deg'], glat) + + # Sanity check: make sure that the time step 0.0 has been copied in the + # CSV file. + ref = pd.read_csv('output.csv') + self.assertEqual(ref['Time'][0], 0.0) + self.assertAlmostEqual(ref['Latitude Geodetic (deg)'][0], glat) + RunTest(TestInitialConditions) |
From: Bertrand <bco...@us...> - 2016-08-28 12:13:12
|
Update of /cvsroot/jsbsim/JSBSim/src/initialization In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv779/src/initialization Modified Files: FGInitialCondition.h FGInitialCondition.cpp Log Message: Added new methods to set the initial geodetic latitude as is needed by FlightGear. Index: FGInitialCondition.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/initialization/FGInitialCondition.h,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -r1.46 -r1.47 *** FGInitialCondition.h 3 Jul 2016 17:20:55 -0000 1.46 --- FGInitialCondition.h 28 Aug 2016 12:13:09 -0000 1.47 *************** *** 312,315 **** --- 312,322 ---- void SetLatitudeDegIC(double lat) { SetLatitudeRadIC(lat*degtorad); } + /** Sets the initial geodetic latitude. + This method modifies the geodetic altitude in order to keep the altitude + above sea level unchanged. + @param glat Initial geodetic latitude in degrees */ + void SetGeodLatitudeDegIC(double glat) + { SetGeodLatitudeRadIC(glat*degtorad); } + /** Sets the initial longitude. @param lon Initial longitude in degrees */ *************** *** 370,373 **** --- 377,385 ---- double GetLatitudeDegIC(void) const { return position.GetLatitudeDeg(); } + /** Gets the initial geodetic latitude. + @return Initial geodetic latitude in degrees */ + double GetGeodLatitudeDegIC(void) const + { return position.GetGeodLatitudeDeg(); } + /** Gets the initial longitude. @return Initial longitude in degrees */ *************** *** 593,596 **** --- 605,614 ---- void SetLatitudeRadIC(double lat); + /** Sets the initial geodetic latitude. + This method modifies the geodetic altitude in order to keep the altitude + above sea level unchanged. + @param glat Initial geodetic latitude in radians */ + void SetGeodLatitudeRadIC(double glat); + /** Sets the initial longitude. @param lon Initial longitude in radians */ *************** *** 623,626 **** --- 641,649 ---- double GetLatitudeRadIC(void) const { return position.GetLatitude(); } + /** Gets the initial geodetic latitude. + @return Initial geodetic latitude in radians */ + double GetGeodLatitudeRadIC(void) const + { return position.GetGeodLatitudeRad(); } + /** Gets the initial longitude. @return Initial longitude in radians */ Index: FGInitialCondition.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/initialization/FGInitialCondition.cpp,v retrieving revision 1.111 retrieving revision 1.112 diff -C2 -r1.111 -r1.112 *** FGInitialCondition.cpp 3 Jul 2016 17:20:55 -0000 1.111 --- FGInitialCondition.cpp 28 Aug 2016 12:13:09 -0000 1.112 *************** *** 740,743 **** --- 740,754 ---- //****************************************************************************** + void FGInitialCondition::SetGeodLatitudeRadIC(double geodLatitude) + { + double h = ComputeGeodAltitude(geodLatitude); + double lon = position.GetLongitude(); + + position.SetPositionGeodetic(lon, geodLatitude, h); + lastLatitudeSet = setgeod; + } + + //****************************************************************************** + void FGInitialCondition::SetLatitudeRadIC(double lat) { *************** *** 1481,1488 **** &FGInitialCondition::SetRRadpsIC, true); ! PropertyManager->Tie("ic/lat-geod-rad", &position, ! &FGLocation::GetGeodLatitudeRad); ! PropertyManager->Tie("ic/lat-geod-deg", &position, ! &FGLocation::GetGeodLatitudeDeg); PropertyManager->Tie("ic/geod-alt-ft", &position, &FGLocation::GetGeodAltitude); --- 1492,1503 ---- &FGInitialCondition::SetRRadpsIC, true); ! PropertyManager->Tie("ic/lat-geod-rad", this, ! &FGInitialCondition::GetGeodLatitudeRadIC, ! &FGInitialCondition::SetGeodLatitudeRadIC, ! true); ! PropertyManager->Tie("ic/lat-geod-deg", this, ! &FGInitialCondition::GetGeodLatitudeDegIC, ! &FGInitialCondition::SetGeodLatitudeDegIC, ! true); PropertyManager->Tie("ic/geod-alt-ft", &position, &FGLocation::GetGeodAltitude); |
From: Erik H. <eh...@us...> - 2016-08-26 09:46:21
|
Update of /cvsroot/jsbsim/JSBSim In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23000 Modified Files: JSBSim.vcproj JSBSim.vcxproj Log Message: Also add propertyObject.hxx Index: JSBSim.vcproj =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.vcproj,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** JSBSim.vcproj 26 Aug 2016 09:37:16 -0000 1.26 --- JSBSim.vcproj 26 Aug 2016 09:46:18 -0000 1.27 *************** *** 553,556 **** --- 553,560 ---- > </File> + <File + RelativePath=".\src\simgear\props\propertyObject.hxx" + > + </File> <File RelativePath=".\src\simgear\props\props.hxx" Index: JSBSim.vcxproj =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.vcxproj,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** JSBSim.vcxproj 26 Aug 2016 09:30:44 -0000 1.16 --- JSBSim.vcxproj 26 Aug 2016 09:46:18 -0000 1.17 *************** *** 487,490 **** --- 487,491 ---- <ClInclude Include="src\simgear\xml\nametab.h" /> <ClInclude Include="src\input_output\net_fdm.hxx" /> + <ClInclude Include="src\simgear\props\propertyObject.hxx" /> <ClInclude Include="src\simgear\props\props.hxx" /> <ClInclude Include="src\simgear\props\SGReferenced.hxx" /> |
From: Erik H. <eh...@us...> - 2016-08-26 09:37:19
|
Update of /cvsroot/jsbsim/JSBSim In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22579 Modified Files: JSBSim.vcproj Log Message: Also add propertyObject.cxx to the MSVC8 project file Index: JSBSim.vcproj =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.vcproj,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** JSBSim.vcproj 7 Sep 2011 02:37:04 -0000 1.25 --- JSBSim.vcproj 26 Aug 2016 09:37:16 -0000 1.26 *************** *** 913,916 **** --- 913,920 ---- > </File> + <File + RelativePath=".\src\simgear\props\propertyObject.cxx" + > + </File> <File RelativePath=".\src\simgear\props\props.cxx" |