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: Mathias Fr?h. <fro...@us...> - 2004-04-29 07:11:10
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24320 Modified Files: Makefile.am Log Message: Fix automake build system Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.am,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -r1.29 -r1.30 *** Makefile.am 25 Apr 2004 12:02:16 -0000 1.29 --- Makefile.am 29 Apr 2004 07:10:30 -0000 1.30 *************** *** 1,54 **** ! SUBDIRS = filtersjb ! EXTRA_DIST = Makefile.solo ! noinst_LIBRARIES = libJSBSim.a ! libJSBSim_a_SOURCES = \ ! FGAerodynamics.cpp FGAerodynamics.h \ ! FGAircraft.cpp FGAircraft.h \ ! FGAtmosphere.cpp FGAtmosphere.h \ ! FGAuxiliary.cpp FGAuxiliary.h \ ! FGCoefficient.cpp FGCoefficient.h \ ! FGColumnVector3.cpp FGColumnVector3.h \ ! FGConfigFile.cpp FGConfigFile.h \ ! FGDefs.h \ ! FGElectric.cpp FGElectric.h \ ! FGFCS.cpp FGFCS.h \ ! FGFDMExec.cpp FGFDMExec.h \ ! FGFactorGroup.cpp FGFactorGroup.h \ ! FGForce.cpp FGForce.h \ ! FGGroundReactions.cpp FGGroundReactions.h \ ! FGInertial.cpp FGInertial.h \ ! FGInitialCondition.cpp FGInitialCondition.h \ ! FGJSBBase.cpp FGJSBBase.h \ ! FGLGear.cpp FGLGear.h \ ! FGMassBalance.cpp FGMassBalance.h \ ! FGMatrix33.cpp FGMatrix33.h \ ! FGModel.cpp FGModel.h \ ! FGNozzle.cpp FGNozzle.h \ ! FGOutput.cpp FGOutput.h \ ! FGPiston.cpp FGPiston.h \ ! FGPropagate.cpp FGPropagate.h \ ! FGPropeller.cpp FGPropeller.h \ ! FGPropulsion.cpp FGPropulsion.h \ ! FGQuaternion.cpp FGQuaternion.h \ ! FGRotor.cpp FGRotor.h \ ! FGRocket.cpp FGRocket.h \ ! FGScript.cpp FGScript.h \ ! FGState.cpp FGState.h \ ! FGTable.cpp FGTable.h \ ! FGThruster.cpp FGThruster.h \ ! FGTrim.cpp FGTrim.h \ ! FGTrimAxis.cpp FGTrimAxis.h \ ! FGEngine.cpp FGEngine.h \ ! FGTank.cpp FGTank.h \ ! FGfdmSocket.cpp FGfdmSocket.h \ ! FGPropertyManager.cpp FGPropertyManager.h \ ! FGSimTurbine.cpp FGSimTurbine.h \ ! JSBSim.cxx JSBSim.hxx ! # noinst_PROGRAMS = testJSBsim ! INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src --- 1,100 ---- ! SUBDIRS = filtersjb simgear ! INCLUDES = -I$(top_srcdir) ! bin_PROGRAMS = JSBSim ! JSBSim_SOURCES = JSBSim.cpp + JSBSim_LDADD = \ + $(top_builddir)/libJSBSim.a \ + $(top_builddir)/filtersjb/libFCSComponents.a \ + $(top_builddir)/simgear/props/libProperties.a \ + -lm ! noinst_LIBRARIES = libJSBSim.a ! libJSBSim_a_SOURCES = \ ! FGAerodynamics.cpp \ ! FGAircraft.cpp \ ! FGAtmosphere.cpp \ ! FGAuxiliary.cpp \ ! FGCoefficient.cpp \ ! FGColumnVector3.cpp \ ! FGConfigFile.cpp \ ! FGElectric.cpp \ ! FGFCS.cpp \ ! FGFDMExec.cpp \ ! FGFactorGroup.cpp \ ! FGForce.cpp \ ! FGGroundReactions.cpp \ ! FGInertial.cpp \ ! FGInitialCondition.cpp \ ! FGJSBBase.cpp \ ! FGLGear.cpp \ ! FGMassBalance.cpp \ ! FGMatrix33.cpp \ ! FGModel.cpp \ ! FGNozzle.cpp \ ! FGOutput.cpp \ ! FGPiston.cpp \ ! FGPropagate.cpp \ ! FGPropeller.cpp \ ! FGPropulsion.cpp \ ! FGQuaternion.cpp \ ! FGRotor.cpp \ ! FGRocket.cpp \ ! FGScript.cpp \ ! FGState.cpp \ ! FGTable.cpp \ ! FGThruster.cpp \ ! FGTrim.cpp \ ! FGTrimAxis.cpp \ ! FGEngine.cpp \ ! FGTank.cpp \ ! FGfdmSocket.cpp \ ! FGPropertyManager.cpp \ ! FGSimTurbine.cpp ! ! noinst_HEADERS = \ ! FGAerodynamics.h \ ! FGAircraft.h \ ! FGAtmosphere.h \ ! FGAuxiliary.h \ ! FGCoefficient.h \ ! FGColumnVector3.h \ ! FGConfigFile.h \ ! FGElectric.h \ ! FGFCS.h \ ! FGFDMExec.h \ ! FGFactorGroup.h \ ! FGForce.h \ ! FGGroundReactions.h \ ! FGInertial.h \ ! FGInitialCondition.h \ ! FGJSBBase.h \ ! FGLGear.h \ ! FGMassBalance.h \ ! FGMatrix33.h \ ! FGModel.h \ ! FGNozzle.h \ ! FGOutput.h \ ! FGPiston.h \ ! FGPropagate.h \ ! FGPropeller.h \ ! FGPropulsion.h \ ! FGQuaternion.h \ ! FGRotor.h \ ! FGRocket.h \ ! FGScript.h \ ! FGState.h \ ! FGTable.h \ ! FGThruster.h \ ! FGTrim.h \ ! FGTrimAxis.h \ ! FGEngine.h \ ! FGTank.h \ ! FGfdmSocket.h \ ! FGPropertyManager.h \ ! FGSimTurbine.h \ ! JSBSim.hxx |
From: Mathias Fr?h. <fro...@us...> - 2004-04-29 07:11:10
|
Update of /cvsroot/jsbsim/JSBSim/filtersjb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24320/filtersjb Modified Files: Makefile.am Log Message: Fix automake build system Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/filtersjb/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** Makefile.am 10 Jul 2003 12:32:48 -0000 1.7 --- Makefile.am 29 Apr 2004 07:10:30 -0000 1.8 *************** *** 1,23 **** INCLUDES = -I$(top_srcdir) ! lib_LIBRARIES = libFCSComponents.a libFCSComponents_a_SOURCES = \ FGDeadBand.cpp \ - FGDeadBand.h \ FGFCSComponent.cpp \ - FGFCSComponent.h \ FGFilter.cpp \ - FGFilter.h \ FGKinemat.cpp \ - FGKinemat.h \ FGGain.cpp \ - FGGain.h \ FGGradient.cpp \ - FGGradient.h \ FGSummer.cpp \ - FGSummer.h \ FGSwitch.cpp \ FGSwitch.h \ - FGCondition.cpp \ FGCondition.h --- 1,25 ---- INCLUDES = -I$(top_srcdir) ! noinst_LIBRARIES = libFCSComponents.a libFCSComponents_a_SOURCES = \ FGDeadBand.cpp \ FGFCSComponent.cpp \ FGFilter.cpp \ FGKinemat.cpp \ FGGain.cpp \ FGGradient.cpp \ FGSummer.cpp \ FGSwitch.cpp \ + FGCondition.cpp + + noinst_HEADERS = \ + FGDeadBand.h \ + FGFCSComponent.h \ + FGFilter.h \ + FGKinemat.h \ + FGGain.h \ + FGGradient.h \ + FGSummer.h \ FGSwitch.h \ FGCondition.h |
From: Mathias Fr?h. <fro...@us...> - 2004-04-29 07:10:55
|
Update of /cvsroot/jsbsim/JSBSim/simgear In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24320/simgear Modified Files: Makefile.am Log Message: Fix automake build system Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/simgear/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** Makefile.am 3 Jun 2003 09:53:54 -0000 1.3 --- Makefile.am 29 Apr 2004 07:10:30 -0000 1.4 *************** *** 1,4 **** SUBDIRS = props ! EXTRA_DIST = compiler.h ! --- 1,3 ---- SUBDIRS = props ! noinst_HEADERS = compiler.h |
From: Mathias Fr?h. <fro...@us...> - 2004-04-29 07:10:55
|
Update of /cvsroot/jsbsim/JSBSim/simgear/props In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24320/simgear/props Modified Files: Makefile.am Log Message: Fix automake build system Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/simgear/props/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Makefile.am 3 Jun 2003 10:00:13 -0000 1.1 --- Makefile.am 29 Apr 2004 07:10:47 -0000 1.2 *************** *** 1,5 **** ! lib_LIBRARIES = libProperties.a INCLUDES = -I../ ! libProperties_a_SOURCES = props.cxx props.hxx --- 1,8 ---- ! noinst_LIBRARIES = libProperties.a INCLUDES = -I../ ! libProperties_a_SOURCES = props.cxx ! ! noinst_HEADERS = props.hxx ! |
From: Mathias Fr?h. <fro...@us...> - 2004-04-29 07:00:29
|
Update of /cvsroot/jsbsim/JSBSim/utilities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22367/utilities Removed Files: Makefile Log Message: Remove autogenerated file from repository. --- Makefile DELETED --- |
From: Mathias Fr?h. <fro...@us...> - 2004-04-27 20:32:29
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29789 Modified Files: Tag: FROHLICH FGDefaultTimestep.cpp FGDefaultTimestep.h FGPropagate.cpp Makefile.am Added Files: Tag: FROHLICH FGGauss2.cpp FGGauss2.h Log Message: The third working horse. This one is the energy preserving timestepper. It works that well that I use it for every 'not on ground' operation for now. --- NEW FILE --- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Module: FGGauss2.cpp Author: Mathias Froehlich Date started: 04/24/2004 ----- Copyright (C) 2004 Mathias Froehlich (Mat...@we...) -------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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. Further information about the GNU General Public License can also be found on the world wide web at http://www.gnu.org. HISTORY ------------------------------------------------------------------------------- 04/24/2004 MF Created %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" #include "FGGauss2.h" #include "FGNewtonSolve.h" #include "FGFDMExec.h" #include "FGAuxiliary.h" #include "FGVehicleState.h" namespace JSBSim { static const char *IdSrc = "$Id: FGGauss2.cpp,v 1.1.2.1 2004/04/27 20:32:04 frohlich Exp $"; static const char *IdHdr = ID_GAUSS2; // The coefficients of the Runge-Kutta tableau. // The exact values are just above the numerical values ... // Runge kutta matrix... // 1/4 const double FGGauss2::a11 = 0.25; // 1/4 - sqrt(3)/6 const double FGGauss2::a12 = -0.0386751345948129; // 1/4 - sqrt(3)/6 const double FGGauss2::a21 = 0.538675134594813; // 1/4 const double FGGauss2::a22 = 0.25; // The discrete times // 1/2 - sqrt(3)/6 const double FGGauss2::c1 = 0.21132486540518711775; // 1/2 + sqrt(3)/6 const double FGGauss2::c2 = 0.78867513459481288225; // The weights const double FGGauss2::b1 = 0.5; const double FGGauss2::b2 = 0.5; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS IMPLEMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ FGGauss2::FGGauss2(FGFDMExec* fdmex) : FGTimestep(fdmex) { mSteps = mFailed = 0; mCollocationPolynomialValid = false; } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FGGauss2::~FGGauss2() { } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% double FGGauss2::ErrorNorm2(const FGVehicleState& ref, const FGVehicleState& diff) const { const double loctol = 1e-4; const double ortol = 1e-4; const double velatol = 1e-4; const double velrtol = 1e-3; const double avelatol = 1e-5; const double avelrtol = 1e-4; double en = 0.0; en += FGTimestep::ErrorNorm2( loctol, ref.GetLocation(), diff.GetLocation() ); en += FGTimestep::ErrorNorm2( ortol, diff.GetOrientation() ); en += FGTimestep::ErrorNorm2( velatol, velrtol, ref.GetUVW(), diff.GetUVW() ); en += FGTimestep::ErrorNorm2( avelatol, avelrtol, ref.GetPQR(), diff.GetPQR() ); return en; } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bool FGGauss2::Integrate(Time tEnd, Time& t, FGVehicleState& state) { // Do the actual timesteps. // Cycle as long as required to reach tEnd. while ( !ReachedTEnd( tEnd, t ) ) { // Cut the timestep if required. double h = ClipStepsizeToTEnd( tEnd, t, GetStepsize() ); // Often used values. double c1h = c1*h; double c2h = c2*h; // We assume that the problem is nonstiff. // This is a sensible assumption since this symmetric integrator is not // stiffly accurate anyway. // If it is not stiff, we solve the nonlinear equation // with fixpoint iteration. // The GNI papers suggest this anyway. // An initial guess for the fixpoint iteration. // Note that the polynomial coefficients p1 and p2 are set to zero at the // first step past a reset. FGVehicleState y1 = state; FGVehicleState y2 = state; if (mCollocationPolynomialValid) { y1 += c1h*p1 + (c1h*c1h)*p2; y2 += c2h*p1 + (c2h*c2h)*p2; } // Solve the implicit equation bool converged = false; int maxit = 10; do { // Compute new approximations to the state derivatives FGVehicleState f1 = ComputeStateDeriv( t+c1h, y1 ); FGVehicleState f2 = ComputeStateDeriv( t+c2h, y2 ); // Compute new approximations to the state FGVehicleState y1new = state + (h*a11)*f1 + (h*a12)*f2; FGVehicleState y2new = state + (h*a21)*f1 + (h*a22)*f2; // Check if the increment is small enough ... double err = max( ErrorNorm2( y1, y1-y1new ), ErrorNorm2( y2, y2-y2new ) ); converged = err < 1.0; // Use the new approximation y1 = y1new; y2 = y2new; } while (!converged && 0 <= --maxit); if (converged) { // Compute new approximations to the state derivatives FGVehicleState f1 = ComputeStateDeriv( t+c1h, y1 ); FGVehicleState f2 = ComputeStateDeriv( t+c2h, y2 ); // Update the solution state += (h*b1)*f1 + (h*b2)*f2; // Compute the collocation polynomial. // Is used for a predictor of the next fixpoint iterate start guess. p2 = (0.5/(c1h-c2h))*(f1 - f2); p1 = f2 + (2.0*c1h)*p2; mCollocationPolynomialValid = true; } else { // If we cannot solve the nonlinear equation, do an explicit euler step ++mFailed; mCollocationPolynomialValid = false; state += h*ComputeStateDeriv( t, state ); } // Increment the simulation time ... t += h; // Renormalize the quaternion and the location state.Normalize(); ++mSteps; } return true; } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bool FGGauss2::Reset() { // Tell that we cannot use the collocation polynomial for a first // guess of the solution to the nonliner system. mCollocationPolynomialValid = false; } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } // namespace JSBSim --- NEW FILE --- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Header: FGGauss2.h Author: Mathias Froehlich Date started: 04/24/2004 ----- Copyright (C) 2004 Mathias Froehlich (Mat...@we...) -------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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. Further information about the GNU General Public License can also be found on the world wide web at http://www.gnu.org. HISTORY ------------------------------------------------------------------------------- 04/24/2004 MF Created %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SENTRY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #ifndef FGGAUSS2_H #define FGGAUSS2_H /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #define ID_GAUSS2 "$Id: FGGauss2.h,v 1.1.2.1 2004/04/27 20:32:04 frohlich Exp $" namespace JSBSim { /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FORWARD DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ class FGFDMExec; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DOCUMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ /** This class implements the 4th order 2 stage implicit Gauss Collocation method. It is energy preserving if it is run with constant stepsize. The method is not well suited for stiff problems as we have it on ground, but it works fawlessly well in air and in orbit. @see E. Hairer, S. P. Norsett and G. Wanner, "Solving Ordinary Differential Equations I", 2nd edition, Springer-Verlag, 1991 @see E. Hairer and G. Wanner, "Solving Ordinary Differential Equations II", 2nd edition, Springer-Verlag, 1996 @see E. Hairer, Ch. Lubich and G. Wanner, "Geometric Numerical Integration. Structure-Preserving Algorithms for Ordinary Differential Equations", Springer-Verlag, 2002 @see E. Hairer and M. Hairer, "GniCodes - Matlab Programs for Geometric Numerical Integration" http://www.unige.ch/math/folks/hairer/preprints/gnicodes.html To appear in: Frontiers in Numerical Analysis (Durham 2002), Springer, Berlin, 2003 @see L. F. Shampine, I. Gladwell and S. Thompson, "Solving ODEs with MATLAB" @author Mathias Froehlich @version $Id: FGGauss2.h,v 1.1.2.1 2004/04/27 20:32:04 frohlich Exp $ */ /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ class FGGauss2 : virtual public FGTimestep { public: FGGauss2(FGFDMExec* fdmex); virtual ~FGGauss2(); /** Do timestepping. Perform the actual timesteps ... */ virtual bool Integrate(Time tEnd, Time& t, FGVehicleState& state); /** Reset integration. */ virtual bool Reset(); private: double ErrorNorm2(const FGVehicleState& ref, const FGVehicleState& diff) const; int mFailed; int mSteps; // Coefficients of the collocation polynomial. FGVehicleState p1, p2; bool mCollocationPolynomialValid; // Runge kutta matrix... static const double a11, a12, a21, a22; // The descrete times static const double c1, c2; // The weights static const double b1, b2; }; } // namespace JSBSim //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #endif Index: FGDefaultTimestep.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGDefaultTimestep.cpp,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -r1.1.2.2 -r1.1.2.3 *** FGDefaultTimestep.cpp 26 Apr 2004 10:48:54 -0000 1.1.2.2 --- FGDefaultTimestep.cpp 27 Apr 2004 20:32:04 -0000 1.1.2.3 *************** *** 33,37 **** #include "FGTimestep.h" ! #include "FGMcFarland.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" --- 33,37 ---- #include "FGTimestep.h" ! #include "FGGauss2.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" *************** *** 49,53 **** FGDefaultTimestep::FGDefaultTimestep(FGFDMExec* fdmex) ! : FGTimestep(fdmex), FGMcFarland(fdmex), FGImplicitEuler(fdmex) { mOnGroundCount = 0; --- 49,53 ---- FGDefaultTimestep::FGDefaultTimestep(FGFDMExec* fdmex) ! : FGTimestep(fdmex), FGGauss2(fdmex), FGImplicitEuler(fdmex) { mOnGroundCount = 0; *************** *** 84,88 **** if (mOnGroundCount) { PutMessage( "FGDefaultTimestep: Switching to \'in air\' timestepping method" ); ! FGMcFarland::Reset(); mOnGroundCount = 0; } --- 84,88 ---- if (mOnGroundCount) { PutMessage( "FGDefaultTimestep: Switching to \'in air\' timestepping method" ); ! FGGauss2::Reset(); mOnGroundCount = 0; } *************** *** 90,94 **** // Do the real work. ! return FGMcFarland::Integrate(tEnd, t, state); } } --- 90,94 ---- // Do the real work. ! return FGGauss2::Integrate(tEnd, t, state); } } *************** *** 99,103 **** { // Just to be shure that everything is reset, tell it both ... ! bool ret = FGMcFarland::Reset(); ret = ret && FGImplicitEuler::Reset(); return ret; --- 99,103 ---- { // Just to be shure that everything is reset, tell it both ... ! bool ret = FGGauss2::Reset(); ret = ret && FGImplicitEuler::Reset(); return ret; Index: FGDefaultTimestep.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGDefaultTimestep.h,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -r1.1.2.1 -r1.1.2.2 *** FGDefaultTimestep.h 25 Apr 2004 12:56:01 -0000 1.1.2.1 --- FGDefaultTimestep.h 27 Apr 2004 20:32:04 -0000 1.1.2.2 *************** *** 39,43 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" ! #include "FGMcFarland.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" --- 39,43 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" ! #include "FGGauss2.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" *************** *** 87,91 **** CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGDefaultTimestep : public FGMcFarland, public FGImplicitEuler { public: /// Standard constructor. --- 87,92 ---- CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGDefaultTimestep ! : public FGGauss2, public FGImplicitEuler { public: /// Standard constructor. Index: FGPropagate.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropagate.cpp,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -C2 -r1.1.2.8 -r1.1.2.9 *** FGPropagate.cpp 27 Apr 2004 09:26:21 -0000 1.1.2.8 --- FGPropagate.cpp 27 Apr 2004 20:32:04 -0000 1.1.2.9 *************** *** 48,51 **** --- 48,52 ---- #include "FGMcFarland.h" #include "FGDopri5.h" + #include "FGGauss2.h" #include "FGDefaultTimestep.h" #include "FGPropertyManager.h" *************** *** 72,75 **** --- 73,77 ---- // mTimestep = new FGDopri5( FDMExec ); mTimestep = new FGDefaultTimestep( FDMExec ); + // mTimestep = new FGGauss2( FDMExec ); bind(); Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.am,v retrieving revision 1.23.2.15 retrieving revision 1.23.2.16 diff -C2 -r1.23.2.15 -r1.23.2.16 *** Makefile.am 25 Apr 2004 12:56:02 -0000 1.23.2.15 --- Makefile.am 27 Apr 2004 20:32:04 -0000 1.23.2.16 *************** *** 64,67 **** --- 64,69 ---- FGForce.cpp \ FGForce.h \ + FGGauss2.cpp \ + FGGauss2.h \ FGGroundReactions.cpp \ FGGroundReactions.h \ |
From: Jon S. B. <jb...@us...> - 2004-04-27 11:37:57
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8760 Modified Files: FGInitialCondition.cpp FGInitialCondition.h Log Message: Mathais' changes to make some functions const Index: FGInitialCondition.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGInitialCondition.cpp,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -r1.62 -r1.63 *** FGInitialCondition.cpp 17 Apr 2004 21:21:26 -0000 1.62 --- FGInitialCondition.cpp 27 Apr 2004 11:37:48 -0000 1.63 *************** *** 267,271 **** //****************************************************************************** ! double FGInitialCondition::GetUBodyFpsIC(void) { if(lastSpeedSet == setvg ) return u; --- 267,271 ---- //****************************************************************************** ! double FGInitialCondition::GetUBodyFpsIC(void) const { if(lastSpeedSet == setvg ) return u; *************** *** 276,280 **** //****************************************************************************** ! double FGInitialCondition::GetVBodyFpsIC(void) { if( lastSpeedSet == setvg ) return v; --- 276,280 ---- //****************************************************************************** ! double FGInitialCondition::GetVBodyFpsIC(void) const { if( lastSpeedSet == setvg ) return v; *************** *** 286,290 **** //****************************************************************************** ! double FGInitialCondition::GetWBodyFpsIC(void) { if( lastSpeedSet == setvg ) return w; --- 286,290 ---- //****************************************************************************** ! double FGInitialCondition::GetWBodyFpsIC(void) const { if( lastSpeedSet == setvg ) return w; Index: FGInitialCondition.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGInitialCondition.h,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -r1.45 -r1.46 *** FGInitialCondition.h 12 Apr 2004 04:07:36 -0000 1.45 --- FGInitialCondition.h 27 Apr 2004 11:37:48 -0000 1.46 *************** *** 219,225 **** double GetWindDirDegIC(void); inline double GetClimbRateFpsIC(void) const { return hdot; } ! double GetUBodyFpsIC(void); ! double GetVBodyFpsIC(void); ! double GetWBodyFpsIC(void); double GetPRadpsIC() const { return p; } double GetQRadpsIC() const { return q; } --- 219,225 ---- double GetWindDirDegIC(void); inline double GetClimbRateFpsIC(void) const { return hdot; } ! double GetUBodyFpsIC(void) const; ! double GetVBodyFpsIC(void) const; ! double GetWBodyFpsIC(void) const; double GetPRadpsIC() const { return p; } double GetQRadpsIC() const { return q; } |
From: Mathias Fr?h. <fro...@us...> - 2004-04-27 09:26:30
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16699 Modified Files: Tag: FROHLICH FGPropagate.cpp FGInitialCondition.h FGInitialCondition.cpp Log Message: Constify a set of definitly const functions and avoid ugly cast to nonconst pointer. Index: FGPropagate.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropagate.cpp,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -C2 -r1.1.2.7 -r1.1.2.8 *** FGPropagate.cpp 25 Apr 2004 12:56:02 -0000 1.1.2.7 --- FGPropagate.cpp 27 Apr 2004 09:26:21 -0000 1.1.2.8 *************** *** 114,122 **** // Set the velocities in the instantaneus body frame ! ///FIXME: TEMPORARY HACK until initial conditions are based on FGVehicleState ! FGInitialCondition *ic = (FGInitialCondition *)FGIC; ! FGColumnVector3 newUVW( ic->GetUBodyFpsIC(), ! ic->GetVBodyFpsIC(), ! ic->GetWBodyFpsIC() ); mState.SetUVW( newUVW ); --- 114,120 ---- // Set the velocities in the instantaneus body frame ! FGColumnVector3 newUVW( FGIC->GetUBodyFpsIC(), ! FGIC->GetVBodyFpsIC(), ! FGIC->GetWBodyFpsIC() ); mState.SetUVW( newUVW ); Index: FGInitialCondition.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGInitialCondition.h,v retrieving revision 1.43.2.3 retrieving revision 1.43.2.4 diff -C2 -r1.43.2.3 -r1.43.2.4 *** FGInitialCondition.h 14 Apr 2004 18:10:34 -0000 1.43.2.3 --- FGInitialCondition.h 27 Apr 2004 09:26:21 -0000 1.43.2.4 *************** *** 219,225 **** double GetWindDirDegIC(void); inline double GetClimbRateFpsIC(void) const { return hdot; } ! double GetUBodyFpsIC(void); ! double GetVBodyFpsIC(void); ! double GetWBodyFpsIC(void); double GetPRadpsIC() const { return p; } double GetQRadpsIC() const { return q; } --- 219,225 ---- double GetWindDirDegIC(void); inline double GetClimbRateFpsIC(void) const { return hdot; } ! double GetUBodyFpsIC(void) const; ! double GetVBodyFpsIC(void) const; ! double GetWBodyFpsIC(void) const; double GetPRadpsIC() const { return p; } double GetQRadpsIC() const { return q; } Index: FGInitialCondition.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGInitialCondition.cpp,v retrieving revision 1.56.2.6 retrieving revision 1.56.2.7 diff -C2 -r1.56.2.6 -r1.56.2.7 *** FGInitialCondition.cpp 14 Apr 2004 20:11:26 -0000 1.56.2.6 --- FGInitialCondition.cpp 27 Apr 2004 09:26:22 -0000 1.56.2.7 *************** *** 265,269 **** //****************************************************************************** ! double FGInitialCondition::GetUBodyFpsIC(void) { if(lastSpeedSet == setvg ) return u; --- 265,269 ---- //****************************************************************************** ! double FGInitialCondition::GetUBodyFpsIC(void) const { if(lastSpeedSet == setvg ) return u; *************** *** 274,278 **** //****************************************************************************** ! double FGInitialCondition::GetVBodyFpsIC(void) { if( lastSpeedSet == setvg ) return v; --- 274,278 ---- //****************************************************************************** ! double FGInitialCondition::GetVBodyFpsIC(void) const { if( lastSpeedSet == setvg ) return v; *************** *** 284,288 **** //****************************************************************************** ! double FGInitialCondition::GetWBodyFpsIC(void) { if( lastSpeedSet == setvg ) return w; --- 284,288 ---- //****************************************************************************** ! double FGInitialCondition::GetWBodyFpsIC(void) const { if( lastSpeedSet == setvg ) return w; |
From: David C. <dp...@us...> - 2004-04-26 16:40:05
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20666 Modified Files: FGEngine.cpp Log Message: Fix fuel burn calculation Index: FGEngine.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGEngine.cpp,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -r1.62 -r1.63 *** FGEngine.cpp 18 Apr 2004 11:40:48 -0000 1.62 --- FGEngine.cpp 26 Apr 2004 16:39:57 -0000 1.63 *************** *** 126,132 **** Tank = Propulsion->GetTank(SourceTanks[i]); if (Tank->GetType() == FGTank::ttFUEL) { ! Fshortage += Tank->Reduce(CalcFuelNeed()/Propulsion->GetnumSelectedFuelTanks()); } else { ! Oshortage += Tank->Reduce(CalcOxidizerNeed()/Propulsion->GetnumSelectedOxiTanks()); } } --- 126,132 ---- Tank = Propulsion->GetTank(SourceTanks[i]); if (Tank->GetType() == FGTank::ttFUEL) { ! Fshortage += Tank->Reduce(CalcFuelNeed()/SourceTanks.size()); } else { ! Oshortage += Tank->Reduce(CalcOxidizerNeed()/SourceTanks.size()); } } |
From: Mathias Fr?h. <fro...@us...> - 2004-04-26 11:49:57
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23698 Modified Files: Tag: FROHLICH FGImplicitEuler.cpp Log Message: Guard my messages with an #ifdef ... Index: FGImplicitEuler.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGImplicitEuler.cpp,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -r1.1.2.4 -r1.1.2.5 *** FGImplicitEuler.cpp 25 Apr 2004 12:30:22 -0000 1.1.2.4 --- FGImplicitEuler.cpp 26 Apr 2004 11:49:48 -0000 1.1.2.5 *************** *** 142,146 **** } ! #if 1 if (mSteps%60 == 0) { cout << "NewStep: " --- 142,146 ---- } ! #ifdef TIMESTEP_DEBUG if (mSteps%60 == 0) { cout << "NewStep: " *************** *** 215,219 **** --- 215,221 ---- } else { // If we cannot get that converged, do an explicit euler step + #ifdef TIMESTEP_DEBUG cout << "ExplicitEuler ... " << endl; + #endif ++mFailed; *************** *** 233,236 **** --- 235,239 ---- + #ifdef TIMESTEP_DEBUG if (mSteps%60 == 0) { cout << "Step " << mSteps *************** *** 243,246 **** --- 246,250 ---- << endl; } + #endif return true; |
From: Mathias Fr?h. <fro...@us...> - 2004-04-26 10:49:08
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11012 Modified Files: Tag: FROHLICH FGDefaultTimestep.cpp Makefile.solo makemake.pl Log Message: Fix some warnings and fix the build system using the perl script ... Index: FGDefaultTimestep.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGDefaultTimestep.cpp,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -r1.1.2.1 -r1.1.2.2 *** FGDefaultTimestep.cpp 25 Apr 2004 12:56:01 -0000 1.1.2.1 --- FGDefaultTimestep.cpp 26 Apr 2004 10:48:54 -0000 1.1.2.2 *************** *** 28,32 **** 04/22/2004 MF Created ! /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ --- 28,32 ---- 04/22/2004 MF Created ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ *************** *** 49,53 **** FGDefaultTimestep::FGDefaultTimestep(FGFDMExec* fdmex) ! : FGMcFarland(fdmex), FGImplicitEuler(fdmex), FGTimestep(fdmex) { mOnGroundCount = 0; --- 49,53 ---- FGDefaultTimestep::FGDefaultTimestep(FGFDMExec* fdmex) ! : FGTimestep(fdmex), FGMcFarland(fdmex), FGImplicitEuler(fdmex) { mOnGroundCount = 0; *************** *** 99,104 **** { // Just to be shure that everything is reset, tell it both ... ! FGMcFarland::Reset(); ! FGImplicitEuler::Reset(); } --- 99,105 ---- { // Just to be shure that everything is reset, tell it both ... ! bool ret = FGMcFarland::Reset(); ! ret = ret && FGImplicitEuler::Reset(); ! return ret; } Index: Makefile.solo =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.solo,v retrieving revision 1.53.2.11 retrieving revision 1.53.2.12 diff -C2 -r1.53.2.11 -r1.53.2.12 *** Makefile.solo 25 Apr 2004 09:16:22 -0000 1.53.2.11 --- Makefile.solo 26 Apr 2004 10:48:56 -0000 1.53.2.12 *************** *** 3,7 **** LINKDIR= -Lfiltersjb/ -Lsimgear/props/ JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\ ! FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFarland.o FGSymMatrix33.o\ FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\ FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\ --- 3,10 ---- LINKDIR= -Lfiltersjb/ -Lsimgear/props/ JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\ ! FGModel.o FGOutput.o FGState.o FGPropagate.o FGSymMatrix33.o\ ! FGDefaultTimestep.o FGExplicitEuler.o FGMcFarland.o FGImplicitEuler.o FGDopri5.o\ ! FGJacobianMatrix.o\ ! FGLocation.o FGVehicleVelocity.o FGVehiclePosition.o FGVehicleState.o\ FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\ FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\ *************** *** 89,92 **** --- 92,102 ---- $(CC) $(INCLUDES) $(CCOPTS) -oFGConfigFile.o -c FGConfigFile.cpp + FGDefaultTimestep.o: FGDefaultTimestep.cpp FGTimestep.h FGModel.h \ + FGJSBBase.h FGPropertyManager.h simgear/props/props.hxx \ + FGColumnVector3.h FGLocation.h FGQuaternion.h FGMatrix33.h \ + FGVehiclePosition.h FGVehicleVelocity.h FGVehicleState.h \ + FGJacobianMatrix.h FGMcFarland.h FGImplicitEuler.h FGDefaultTimestep.h + $(CC) $(INCLUDES) $(CCOPTS) -oFGDefaultTimestep.o -c FGDefaultTimestep.cpp + FGDopri5.o: FGDopri5.cpp FGTimestep.h FGModel.h FGJSBBase.h \ FGPropertyManager.h simgear/props/props.hxx FGColumnVector3.h \ *************** *** 320,324 **** FGfdmSocket.h FGGroundReactions.h FGPropulsion.h FGEngine.h FGTank.h \ FGThruster.h FGForce.h FGExplicitEuler.h FGImplicitEuler.h \ ! FGMcFarland.h FGDopri5.h $(CC) $(INCLUDES) $(CCOPTS) -oFGPropagate.o -c FGPropagate.cpp --- 330,334 ---- FGfdmSocket.h FGGroundReactions.h FGPropulsion.h FGEngine.h FGTank.h \ FGThruster.h FGForce.h FGExplicitEuler.h FGImplicitEuler.h \ ! FGMcFarland.h FGDopri5.h FGDefaultTimestep.h $(CC) $(INCLUDES) $(CCOPTS) -oFGPropagate.o -c FGPropagate.cpp Index: makemake.pl =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/makemake.pl,v retrieving revision 1.17.2.6 retrieving revision 1.17.2.7 diff -C2 -r1.17.2.6 -r1.17.2.7 *** makemake.pl 25 Apr 2004 09:16:23 -0000 1.17.2.6 --- makemake.pl 26 Apr 2004 10:48:57 -0000 1.17.2.7 *************** *** 10,14 **** # print "JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\\\n"; ! print "FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFarland.o FGSymMatrix33.o\\\n"; print "FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\\\n"; print "FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\\\n"; --- 10,17 ---- # print "JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\\\n"; ! print "FGModel.o FGOutput.o FGState.o FGPropagate.o FGSymMatrix33.o\\\n"; ! print "FGDefaultTimestep.o FGExplicitEuler.o FGMcFarland.o FGImplicitEuler.o FGDopri5.o\\\n"; ! print "FGJacobianMatrix.o\\\n"; ! print "FGLocation.o FGVehicleVelocity.o FGVehiclePosition.o FGVehicleState.o\\\n"; print "FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\\\n"; print "FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\\\n"; |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 20:11:03
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16015 Modified Files: Tag: FROHLICH FGImplicitEuler.cpp Log Message: Little tweaks. Index: FGImplicitEuler.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGImplicitEuler.cpp,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -r1.1.2.3 -r1.1.2.4 *** FGImplicitEuler.cpp 23 Apr 2004 11:59:10 -0000 1.1.2.3 --- FGImplicitEuler.cpp 25 Apr 2004 12:30:22 -0000 1.1.2.4 *************** *** 115,123 **** double FGImplicitEuler::ErrorNorm2(const FGVehicleState& ref, const FGVehicleState& diff) const { ! double en ! = FGTimestep::ErrorNorm2( 1e-4, ref.GetLocation(), diff.GetLocation() ); ! en += FGTimestep::ErrorNorm2( 1e-4, diff.GetOrientation() ); ! en += FGTimestep::ErrorNorm2( 1e-3, 1e-4, ref.GetUVW(), diff.GetUVW() ); ! en += FGTimestep::ErrorNorm2( 1e-5, 1e-4, ref.GetPQR(), diff.GetPQR() ); return en; } --- 115,130 ---- double FGImplicitEuler::ErrorNorm2(const FGVehicleState& ref, const FGVehicleState& diff) const { ! const double loctol = 1e-4; ! const double ortol = 1e-4; ! const double velatol = 1e-6; ! const double velrtol = 1e-5; ! const double avelatol = 1e-6; ! const double avelrtol = 1e-5; ! ! double en = 0.0; ! en += FGTimestep::ErrorNorm2( loctol, ref.GetLocation(), diff.GetLocation() ); ! en += FGTimestep::ErrorNorm2( ortol, diff.GetOrientation() ); ! en += FGTimestep::ErrorNorm2( velatol, velrtol, ref.GetUVW(), diff.GetUVW() ); ! en += FGTimestep::ErrorNorm2( avelatol, avelrtol, ref.GetPQR(), diff.GetPQR() ); return en; } |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 19:17:39
|
Update of /cvsroot/jsbsim/JSBSim/atmosphere In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8779/atmosphere Modified Files: Tag: FROHLICH FGMSIS.cpp Log Message: Merge changes from HEAD. Index: FGMSIS.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/atmosphere/FGMSIS.cpp,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.4 diff -C2 -r1.2.2.3 -r1.2.2.4 *** FGMSIS.cpp 4 Apr 2004 09:27:50 -0000 1.2.2.3 --- FGMSIS.cpp 25 Apr 2004 09:16:23 -0000 1.2.2.4 *************** *** 154,165 **** // get sea-level values Calculate(Auxiliary->GetDayOfYear(), ! Auxiliary->GetSecondsInDay(), ! 0.0, ! Position->GetLatitude() * radtodeg, ! Position->GetLongitude() * radtodeg); ! SLtemperature = output.t[1] * 1.8; ! SLdensity = output.d[5] * 1.940321; ! SLpressure = 1716.488 * SLdensity * SLtemperature; ! SLsoundspeed = sqrt(2403.0832 * SLtemperature); rSLtemperature = 1.0/SLtemperature; rSLpressure = 1.0/SLpressure; --- 154,165 ---- // get sea-level values Calculate(Auxiliary->GetDayOfYear(), ! Auxiliary->GetSecondsInDay(), ! 0.0, ! Propagate->GetState().GetLocationDeg(), ! Propagate->GetState().GetLocationDeg()); ! SLtemperature = output.t[1] * 1.8; ! SLdensity = output.d[5] * 1.940321; ! SLpressure = 1716.488 * SLdensity * SLtemperature; ! SLsoundspeed = sqrt(2403.0832 * SLtemperature); rSLtemperature = 1.0/SLtemperature; rSLpressure = 1.0/SLpressure; *************** *** 169,180 **** // get at-altitude values Calculate(Auxiliary->GetDayOfYear(), ! Auxiliary->GetSecondsInDay(), ! Position->Geth(), ! Position->GetLatitude() * radtodeg, ! Position->GetLongitude() * radtodeg); ! intTemperature = output.t[1] * 1.8; ! intDensity = output.d[5] * 1.940321; ! intPressure = 1716.488 * intDensity * intTemperature; ! soundspeed = sqrt(2403.0832 * intTemperature); //cout << "T=" << intTemperature << " D=" << intDensity << " P="; //cout << intPressure << " a=" << soundspeed << endl; --- 169,180 ---- // get at-altitude values Calculate(Auxiliary->GetDayOfYear(), ! Auxiliary->GetSecondsInDay(), ! Auxiliary->Geth(), ! Propagate->GetState().GetLocationDeg(), ! Propagate->GetState().GetLocationDeg()); ! intTemperature = output.t[1] * 1.8; ! intDensity = output.d[5] * 1.940321; ! intPressure = 1716.488 * intDensity * intTemperature; ! soundspeed = sqrt(2403.0832 * intTemperature); //cout << "T=" << intTemperature << " D=" << intDensity << " P="; //cout << intPressure << " a=" << soundspeed << endl; |
From: Jon S. B. <jb...@us...> - 2004-04-25 19:17:11
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv434/scripts Modified Files: plotfile.xml Log Message: More integration changes from Mathias, EOM is now using explicit euler integration Index: plotfile.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/scripts/plotfile.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** plotfile.xml 31 Mar 2004 12:12:32 -0000 1.2 --- plotfile.xml 25 Apr 2004 14:02:01 -0000 1.3 *************** *** 4,17 **** <!--This plot normally shows a straight line; need to fix it up so it is more descriptive. It might be nice to even do a 3D plot of flight path.--> <title>Ground Track</title> ! <label axis="x">Longitude (rad)</label> ! <label axis="y">Latitude (rad)</label> <scale> ! <min axis="x">2.0</min> ! <min axis="y">0.0</min> ! <max axis="x">3.0</max> ! <max axis="y">1.0</max> </scale> ! <parameter axis="x">Longitude</parameter> ! <parameter axis="y">Latitude</parameter> </plot> <plot> --- 4,17 ---- <!--This plot normally shows a straight line; need to fix it up so it is more descriptive. It might be nice to even do a 3D plot of flight path.--> <title>Ground Track</title> ! <label axis="x">Longitude (deg)</label> ! <label axis="y">Latitude (deg)</label> <scale> ! <min axis="x">121.5</min> ! <min axis="y">46.5</min> ! <max axis="x">122.5</max> ! <max axis="y">47.5</max> </scale> ! <parameter axis="x">Longitude (Deg)</parameter> ! <parameter axis="y">Latitude (Deg)</parameter> </plot> <plot> |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 19:11:32
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11005 Modified Files: Makefile.am Log Message: Remove remaining reference to FGTurbine.[cpp,h]. Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.am,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** Makefile.am 24 Apr 2004 17:12:59 -0000 1.28 --- Makefile.am 25 Apr 2004 12:02:16 -0000 1.29 *************** *** 45,49 **** FGTank.cpp FGTank.h \ FGfdmSocket.cpp FGfdmSocket.h \ - FGTurbine.cpp FGTurbine.h \ FGPropertyManager.cpp FGPropertyManager.h \ FGSimTurbine.cpp FGSimTurbine.h \ --- 45,48 ---- |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 19:10:06
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8779/scripts Modified Files: Tag: FROHLICH B747-1.xml Log Message: Merge changes from HEAD. Index: B747-1.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/scripts/B747-1.xml,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -r1.2 -r1.2.2.1 *** B747-1.xml 12 Nov 2003 03:25:45 -0000 1.2 --- B747-1.xml 25 Apr 2004 09:16:23 -0000 1.2.2.1 *************** *** 1,55 **** ! <?xml version="1.0"?> ! <runscript name="B747-400 takeoff run"> ! <!-- ! This run is for testing B747-400 runs ! --> ! ! <use aircraft="B747"> ! <use initialize="reset00"> ! <run start="0.0" end="140" dt="0.00833333"> ! <when> ! <parameter name="sim-time-sec" comparison="ge" value="0.25"> ! <parameter name="sim-time-sec" comparison="le" value="1.00"> ! <set name="propulsion/active_engine" type="FG_VALUE" value="-1" action="FG_STEP" persistent="false"> ! <set name="fcs/throttle-cmd-norm[0]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[1]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[2]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[3]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="propulsion/starter_cmd" type="FG_VALUE" value="1" action="FG_STEP" persistent="false" tc ="1.00"> ! </when> ! ! <when> ! <parameter name="propulsion/n2" comparison="ge" value="15"> ! <set name="fcs/throttle-cmd-norm[0]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[1]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[2]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[3]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="propulsion/cutoff_cmd" type="FG_VALUE" value="0" action="FG_STEP" persistent="false" tc ="1.00"> ! </when> ! ! <when> <!-- Set the Elevator to takeoff --> ! <parameter name="aero/qbar-psf" comparison="ge" value="17.0"> ! <parameter name="position/h-sl-ft" comparison="le" value="2000"> ! <set name="fcs/elevator-cmd-norm" type="FG_VALUE" value="-0.5" action="FG_RAMP" persistent="false" tc ="2.0"> ! </when> ! <!-- ! <when> ! <parameter name="position/h-sl-ft" comparison="ge" value="2000"> ! <parameter name="attitude/theta-rad" comparison="ge" value="0.30"> ! <set name="fcs/elevator-cmd-norm" type="FG_DELTA" value="0.06" action="FG_EXP" persistent="true" tc ="12.0"> ! </when> ! ! <when> ! <parameter name="position/h-sl-ft" comparison="le" value="2000"> ! <parameter name="attitude/theta-rad" comparison="le" value="0.25"> ! <set name="fcs/elevator-cmd-norm" type="FG_DELTA" value="-0.06" action="FG_EXP" persistent="true" tc ="12.0"> ! </when> ! ! <when> ! <parameter name="position/h-sl-ft" comparison="ge" value="2000"> ! <set name="fcs/elevator-cmd-norm" type="FG_VALUE" value="0.00" action="FG_EXP" persistent="false" tc ="1.0"> ! </when> ! --> ! </run> ! ! </runscript> --- 1,55 ---- ! <?xml version="1.0"?> ! <runscript name="B747-400 takeoff run"> ! <!-- ! This run is for testing B747-400 runs ! --> ! ! <use aircraft="B747"> ! <use initialize="reset00"> ! <run start="0.0" end="140" dt="0.00833333"> ! <when> ! <parameter name="sim-time-sec" comparison="ge" value="0.25"> ! <parameter name="sim-time-sec" comparison="le" value="1.00"> ! <set name="propulsion/active_engine" type="FG_VALUE" value="-1" action="FG_STEP" persistent="false"> ! <set name="fcs/throttle-cmd-norm[0]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[1]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[2]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="fcs/throttle-cmd-norm[3]" type="FG_VALUE" value="0.3" action="FG_RAMP" persistent="false" tc ="2.0"> ! <set name="propulsion/starter_cmd" type="FG_VALUE" value="1" action="FG_STEP" persistent="false" tc ="1.00"> ! </when> ! ! <when> ! <parameter name="propulsion/n2" comparison="ge" value="15"> ! <set name="fcs/throttle-cmd-norm[0]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[1]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[2]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="fcs/throttle-cmd-norm[3]" type="FG_VALUE" value="1.0" action="FG_RAMP" persistent="false" tc ="0.05"> ! <set name="propulsion/cutoff_cmd" type="FG_VALUE" value="0" action="FG_STEP" persistent="false" tc ="1.00"> ! </when> ! ! <when> <!-- Set the Elevator to takeoff --> ! <parameter name="aero/qbar-psf" comparison="ge" value="17.0"> ! <parameter name="position/h-sl-ft" comparison="le" value="2000"> ! <set name="fcs/elevator-cmd-norm" type="FG_VALUE" value="-0.5" action="FG_RAMP" persistent="false" tc ="2.0"> ! </when> ! <!-- ! <when> ! <parameter name="position/h-sl-ft" comparison="ge" value="2000"> ! <parameter name="attitude/theta-rad" comparison="ge" value="0.30"> ! <set name="fcs/elevator-cmd-norm" type="FG_DELTA" value="0.06" action="FG_EXP" persistent="true" tc ="12.0"> ! </when> ! ! <when> ! <parameter name="position/h-sl-ft" comparison="le" value="2000"> ! <parameter name="attitude/theta-rad" comparison="le" value="0.25"> ! <set name="fcs/elevator-cmd-norm" type="FG_DELTA" value="-0.06" action="FG_EXP" persistent="true" tc ="12.0"> ! </when> ! ! <when> ! <parameter name="position/h-sl-ft" comparison="ge" value="2000"> ! <set name="fcs/elevator-cmd-norm" type="FG_VALUE" value="0.00" action="FG_EXP" persistent="false" tc ="1.0"> ! </when> ! --> ! </run> ! ! </runscript> |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 19:10:05
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/B747 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8779/aircraft/B747 Modified Files: Tag: FROHLICH reset00.xml Log Message: Merge changes from HEAD. Index: reset00.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/B747/reset00.xml,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -r1.3 -r1.3.2.1 *** reset00.xml 11 Nov 2003 00:54:25 -0000 1.3 --- reset00.xml 25 Apr 2004 09:16:23 -0000 1.3.2.1 *************** *** 1,16 **** ! <?xml version="1.0"?> ! <initialize name="reset00"> ! <!-- ! This file sets up the aircraft to start off ! from the runway in preparation for takeoff. ! --> ! UBODY 0.0 ! VBODY 0.0 ! WBODY 0.0 ! LATITUDE 47.0 ! LONGITUDE 122.0 ! PHI 0.0 ! THETA 0.0 ! PSI 150.0 ! ALTITUDE 19.0 ! </initialize> --- 1,16 ---- ! <?xml version="1.0"?> ! <initialize name="reset00"> ! <!-- ! This file sets up the aircraft to start off ! from the runway in preparation for takeoff. ! --> ! UBODY 0.0 ! VBODY 0.0 ! WBODY 0.0 ! LATITUDE 47.0 ! LONGITUDE 122.0 ! PHI 0.0 ! THETA 0.0 ! PSI 150.0 ! ALTITUDE 19.0 ! </initialize> |
From: David C. <dp...@us...> - 2004-04-25 15:12:42
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23616 Modified Files: JSBSim.cxx Log Message: Added EPR reporting Index: JSBSim.cxx =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.cxx,v retrieving revision 1.170 retrieving revision 1.171 diff -C2 -r1.170 -r1.171 *** JSBSim.cxx 24 Apr 2004 17:12:59 -0000 1.170 --- JSBSim.cxx 25 Apr 2004 13:09:24 -0000 1.171 *************** *** 644,647 **** --- 644,648 ---- node->setBoolValue("reversed", eng->GetReversed()); node->setBoolValue("cutoff", eng->GetCutoff()); + node->setDoubleValue("epr", eng->GetEPR()); globals->get_controls()->set_reverser(i, eng->GetReversed() ); globals->get_controls()->set_cutoff(i, eng->GetCutoff() ); |
From: Jon S. B. <jb...@us...> - 2004-04-25 14:05:40
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv434 Modified Files: FGPropagate.cpp FGPropagate.h FGState.h Log Message: More integration changes from Mathias, EOM is now using explicit euler integration Index: FGPropagate.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropagate.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** FGPropagate.cpp 24 Apr 2004 17:12:58 -0000 1.9 --- FGPropagate.cpp 25 Apr 2004 14:02:00 -0000 1.10 *************** *** 98,113 **** Name = "FGPropagate"; - vUVWdot.InitMatrix(); - vUVWdot_prev[0].InitMatrix(); - vUVWdot_prev[1].InitMatrix(); - vUVWdot_prev[2].InitMatrix(); - vUVWdot_prev[3].InitMatrix(); - - vPQRdot.InitMatrix(); - vPQRdot_prev[0].InitMatrix(); - vPQRdot_prev[1].InitMatrix(); - vPQRdot_prev[2].InitMatrix(); - vPQRdot_prev[3].InitMatrix(); - hoverbmac = hoverbcg = 0.0; bind(); --- 98,101 ---- *************** *** 145,185 **** bool FGPropagate::Run(void) { ! double DistanceAGL; ! if (!FGModel::Run()) { ! double dt = State->Getdt()*rate; ! const FGColumnVector3& vMoments = Aircraft->GetMoments(); ! // Propagate body rotational rates based on body moments ! vPQRdot = MassBalance->GetJinv()*(vMoments - vPQR*(MassBalance->GetJ()*vPQR)); ! vPQR += State->Integrate(FGState::TRAPZ, dt, vPQRdot, vPQRdot_prev); ! // Propagate quaternion orientation based on body rotational rates ! FGQuaternion vQtrndot = vQtrn.GetQDot( vPQR ); ! vQtrn += State->Integrate(FGState::TRAPZ, dt, vQtrndot, vQtrndot_prev); ! // Propagate body frame velocity based on aircraft accelerations ! vUVWdot = vUVW*vPQR + Aircraft->GetBodyAccel(); ! vUVW += State->Integrate(FGState::TRAPZ, dt, vUVWdot, vUVWdot_prev); ! // Convert local frame velocity vector based on body frame velocity ! vVel = vQtrn.GetTInv() * vUVW; ! // Propagate globe ("map") location based on local frame velocity ! vLocationDot = toGlobe(vVel); ! vLocation += State->Integrate(FGState::TRAPZ, dt, vLocationDot, vLocationDot_prev); ! DistanceAGL = vLocation(eRad) - RunwayRadius; // Geocentric ! b = Aircraft->GetWingSpan(); ! hoverbcg = DistanceAGL/b; ! vMac = vQtrn.GetTInv()*MassBalance->StructuralToBody(Aircraft->GetXYZrp()); ! hoverbmac = (DistanceAGL + vMac(3)) / b; ! return false; ! } else { ! return true; ! } } --- 133,194 ---- bool FGPropagate::Run(void) { ! // Fast return if we have nothing to do ... ! if (FGModel::Run()) return true; ! // The 'stepsize' ! double dt = State->Getdt()*rate; ! // Get current forces and moments. ! const FGColumnVector3& vForces = Aircraft->GetForces(); ! const FGColumnVector3& vMoments = Aircraft->GetMoments(); ! // Get the mass and inertia values. ! double mass = MassBalance->GetMass(); ! const FGMatrix33& J = MassBalance->GetJ(); ! const FGMatrix33& Jinv = MassBalance->GetJinv(); ! // First compute the time derivatives of the vehicles' state values. ! // Compute the body rotational accelerations based on the current body moments ! vPQRdot = Jinv*(vMoments - vPQR*(J*vPQR)); ! // Compute the body frame accelerations based on the current body forces ! vUVWdot = vUVW*vPQR + vForces/mass; ! // Compute the quaternion orientation derivative on the current ! // body rotational rates ! FGQuaternion vQtrndot = vQtrn.GetQDot( vPQR ); ! // Convert local frame velocity vector based on body frame velocity ! vVel = vQtrn.GetTInv() * vUVW; ! // Convert to globe ("map") location derivative based on current ! // local frame velocity ! vLocationDot = toGlobe(vVel); ! // Now do propagation. ! // This is for now done with a simple explicit euler scheme. ! // That means use the current state values and their current derivatives. ! // Based on these values compute an approximatioin to the state values at the ! // time (now + dt). ! ! // Propagate the velocities ! vPQR += dt*vPQRdot; ! vUVW += dt*vUVWdot; ! ! // Propagate the positions ! vQtrn += dt*vQtrndot; ! vLocation += dt*vLocationDot; ! ! // Recompute some derived values ... ! double DistanceAGL = vLocation(eRad) - RunwayRadius; // Geocentric ! ! b = Aircraft->GetWingSpan(); ! hoverbcg = DistanceAGL/b; ! ! FGColumnVector3 vMac = vQtrn.GetTInv()*MassBalance->StructuralToBody(Aircraft->GetXYZrp()); ! hoverbmac = (DistanceAGL + vMac(3)) / b; ! ! return false; } Index: FGPropagate.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropagate.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** FGPropagate.h 24 Apr 2004 17:12:58 -0000 1.9 --- FGPropagate.h 25 Apr 2004 14:02:01 -0000 1.10 *************** *** 100,107 **** double GetEuler(int axis) const { return vQtrn.GetEuler()(axis); } double Gethdot(void) const { return vLocationDot(eRad); } - // double GetLatitude(void) const { return vLocation(eLat); } - // double GetLatitudeDot(void) const { return vLocationDot(eLat); } - // double GetLongitude(void) const { return vLocation(eLong); } - // double GetLongitudeDot(void) const { return vLocationDot(eLong); } /** Returns the "constant" RunwayRadius. --- 100,103 ---- *************** *** 144,149 **** void SetvVel(const FGColumnVector3& v) { vVel = v; } - // void SetLatitude(double tt) { vLocation(eLat) = tt; } - // void SetLongitude(double tt) { vLocation(eLong) = tt; } void SetLocation(int idx, double val) { vLocation(idx) = val; } void Seth(double tt); --- 140,143 ---- *************** *** 161,176 **** private: FGColumnVector3 vVel; - FGColumnVector3 vMac; FGColumnVector3 vLocation; FGColumnVector3 vLocationDot; - FGColumnVector3 vLocationDot_prev[4]; FGColumnVector3 vPQR; FGColumnVector3 vPQRdot; - FGColumnVector3 vPQRdot_prev[4]; FGColumnVector3 vUVW; FGColumnVector3 vUVWdot; - FGColumnVector3 vUVWdot_prev[4]; FGQuaternion vQtrn; - FGQuaternion vQtrndot_prev[4]; double dt; --- 155,165 ---- Index: FGState.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGState.h,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -r1.80 -r1.81 *** FGState.h 17 Apr 2004 21:21:26 -0000 1.80 --- FGState.h 25 Apr 2004 14:02:01 -0000 1.81 *************** *** 177,273 **** } - /** Integrates the quaternion. - Given the supplied rotational rate vector and integration rate, the quaternion - is integrated. The quaternion is later used to update the transformation - matrices. - @param vPQR the body rotational rate column vector. - @param rate the integration rate in seconds. - */ - void IntegrateQuat(FGColumnVector3 vPQR, int rate); - - // ======================================= General Purpose INTEGRATOR - - enum iType {AB4, AB3, AB2, AM3, AM4, EULER, TRAPZ}; - - /** Multi-method integrator. - @param type Type of intergation scheme to use. Can be one of: - <ul> - <li>AB4 - Adams-Bashforth, fourth order</li> - <li>AB3 - Adams-Bashforth, third order</li> - <li>AB2 - Adams-Bashforth, second order</li> - <li>AM3 - Adams Moulton, third order</li> - <li>AM4 - Adams Moulton, fourth order</li> - <li>EULER - Euler</li> - <li>TRAPZ - Trapezoidal</li> - </ul> - @param delta_t the integration time step in seconds - @param vTDeriv a reference to the current value of the time derivative of - the quantity being integrated (i.e. if vUVW is being integrated - vTDeriv is the current value of vUVWdot) - @param vLastArray an array of previously calculated and saved values of - the quantity being integrated (i.e. if vUVW is being integrated - vLastArray[0] is the past value of vUVWdot, vLastArray[1] is the value of - vUVWdot prior to that, etc.) - @return the current, incremental value of the item integrated to add to the - previous value. */ - - template <class T> T Integrate(iType type, double delta_t, T& vTDeriv, T *vLastArray) - { - T vResult; - - switch (type) { - case AB4: - vResult = (delta_t/24.0)*( 55.0 * vLastArray[0] - - 59.0 * vLastArray[1] - + 37.0 * vLastArray[2] - - 9.0 * vLastArray[3] ); - vLastArray[3] = vLastArray[2]; - vLastArray[2] = vLastArray[1]; - vLastArray[1] = vLastArray[0]; - vLastArray[0] = vTDeriv; - break; - case AB3: - vResult = (delta_t/12.0)*( 23.0 * vLastArray[0] - - 16.0 * vLastArray[1] - + 5.0 * vLastArray[2] ); - vLastArray[2] = vLastArray[1]; - vLastArray[1] = vLastArray[0]; - vLastArray[0] = vTDeriv; - break; - case AB2: - vResult = (delta_t/2.0)*( 3.0 * vLastArray[0] - vLastArray[1] ); - vLastArray[1] = vLastArray[0]; - vLastArray[0] = vTDeriv; - break; - case AM4: - vResult = (delta_t/24.0)*( 9.0 * vTDeriv - + 19.0 * vLastArray[0] - - 5.0 * vLastArray[1] - + 1.0 * vLastArray[2] ); - vLastArray[2] = vLastArray[1]; - vLastArray[1] = vLastArray[0]; - vLastArray[0] = vTDeriv; - break; - case AM3: - vResult = (delta_t/12.0)*( 5.0 * vTDeriv - + 8.0 * vLastArray[0] - - 1.0 * vLastArray[1] ); - vLastArray[1] = vLastArray[0]; - vLastArray[0] = vTDeriv; - break; - case EULER: - vResult = delta_t * vTDeriv; - break; - case TRAPZ: - vResult = (delta_t*0.5) * (vTDeriv + vLastArray[0]); - vLastArray[0] = vTDeriv; - break; - } - - return vResult; - } - - // ======================================= - /** Calculates and returns the stability-to-body axis transformation matrix. @return a reference to the stability-to-body transformation matrix. --- 177,180 ---- |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 13:01:20
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20984 Modified Files: Tag: FROHLICH FGDopri5.h FGExplicitEuler.h FGImplicitEuler.h FGMcFarland.h FGPropagate.cpp FGTimestep.cpp FGTimestep.h Makefile.am Added Files: Tag: FROHLICH FGDefaultTimestep.cpp FGDefaultTimestep.h Log Message: Implement a timestepping plugin which switches between an 'on ground' and an 'in air' method. --- NEW FILE --- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Module: FGDefaultTimestep.h Author: Mathias Froehlich Date started: 04/22/2004 ----- Copyright (C) 2004 Mathias Froehlich (Mat...@we...) -------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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. Further information about the GNU General Public License can also be found on the world wide web at http://www.gnu.org. HISTORY ------------------------------------------------------------------------------- 04/22/2004 MF Created /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" #include "FGMcFarland.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" #include "FGDefaultTimestep.h" namespace JSBSim { static const char *IdSrc = "$Id: FGDefaultTimestep.cpp,v 1.1.2.1 2004/04/25 12:56:01 frohlich Exp $"; static const char *IdHdr = ID_DEFAULTTIMESTEP; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS IMPLEMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ FGDefaultTimestep::FGDefaultTimestep(FGFDMExec* fdmex) : FGMcFarland(fdmex), FGImplicitEuler(fdmex), FGTimestep(fdmex) { mOnGroundCount = 0; mInAirCount = 0; } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FGDefaultTimestep::~FGDefaultTimestep() { } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bool FGDefaultTimestep::Integrate(Time tEnd, Time& t, FGVehicleState& state) { // Check if we are near the ground. // To prevent from continously switching between those // two methods integrate at least 100 steps with the on ground method. if (NearGround(state) || (mOnGroundCount < 100 && 0 < mOnGroundCount)) { // Check if we just switched to this one. if (mInAirCount) { PutMessage( "FGDefaultTimestep: Switching to \'on ground\' timestepping method" ); FGImplicitEuler::Reset(); mInAirCount = 0; } ++mOnGroundCount; // Do the real work. return FGImplicitEuler::Integrate(tEnd, t, state); } else { // Check if we just switched to this one. if (mOnGroundCount) { PutMessage( "FGDefaultTimestep: Switching to \'in air\' timestepping method" ); FGMcFarland::Reset(); mOnGroundCount = 0; } ++mInAirCount; // Do the real work. return FGMcFarland::Integrate(tEnd, t, state); } } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bool FGDefaultTimestep::Reset() { // Just to be shure that everything is reset, tell it both ... FGMcFarland::Reset(); FGImplicitEuler::Reset(); } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } // namespace JSBSim --- NEW FILE --- /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Header: FGDefaultTimestep.h Author: Mathias Froehlich Date started: 04/22/2004 ----- Copyright (C) 2004 Mathias Froehlich (Mat...@we...) -------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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. Further information about the GNU General Public License can also be found on the world wide web at http://www.gnu.org. HISTORY ------------------------------------------------------------------------------- 04/22/2004 MF Created %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SENTRY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #ifndef FGDEFAULTTIMESTEP_H #define FGDEFAULTTIMESTEP_H /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGTimestep.h" #include "FGMcFarland.h" #include "FGImplicitEuler.h" #include "FGVehicleState.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #define ID_DEFAULTTIMESTEP "$Id: FGDefaultTimestep.h,v 1.1.2.1 2004/04/25 12:56:01 frohlich Exp $" namespace JSBSim { /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FORWARD DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ class FGFDMExec; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DOCUMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ /** This class implements a frame timestepping plugin which switches between a timestepping algorithm which works well on ground and one better suited for in air operations. @see Richard E. McFarland, "A Standard Kinematic AC for Flight Simulation at NASA-Ames", NASA CR-2497, January 1975 @see E. Hairer, S. P. Norsett and G. Wanner, "Solving Ordinary Differential Equations I", 2nd edition, Springer-Verlag, 1991 @see E. Hairer and G. Wanner, "Solving Ordinary Differential Equations II", 2nd edition, Springer-Verlag, 1996 @see E. Hairer, Ch. Lubich and G. Wanner, "Geometric Numerical Integration. Structure-Preserving Algorithms for Ordinary Differential Equations", Springer-Verlag, 2002 @see L. F. Shampine, I. Gladwell and S. Thompson, "Solving ODEs with MATLAB" @author Mathias Froehlich @version $Id: FGDefaultTimestep.h,v 1.1.2.1 2004/04/25 12:56:01 frohlich Exp $ */ /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ class FGDefaultTimestep : public FGMcFarland, public FGImplicitEuler { public: /// Standard constructor. FGDefaultTimestep(FGFDMExec* fdmex); /// Standard destructor. ~FGDefaultTimestep(); /// Do timestepping. virtual bool Integrate(Time tEnd, Time& t, FGVehicleState& state); /// Reset integration. virtual bool Reset(); private: int mOnGroundCount; int mInAirCount; }; } // namespace JSBSim //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #endif Index: FGDopri5.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGDopri5.h,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -r1.1.2.2 -r1.1.2.3 *** FGDopri5.h 23 Apr 2004 11:59:10 -0000 1.1.2.2 --- FGDopri5.h 25 Apr 2004 12:56:01 -0000 1.1.2.3 *************** *** 84,88 **** CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGDopri5 : public FGTimestep { public: FGDopri5(FGFDMExec* fdmex); --- 84,88 ---- CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGDopri5 : virtual public FGTimestep { public: FGDopri5(FGFDMExec* fdmex); Index: FGExplicitEuler.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGExplicitEuler.h,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -r1.1.2.2 -r1.1.2.3 *** FGExplicitEuler.h 23 Apr 2004 11:59:10 -0000 1.1.2.2 --- FGExplicitEuler.h 25 Apr 2004 12:56:01 -0000 1.1.2.3 *************** *** 81,85 **** CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGExplicitEuler : public FGTimestep { public: /** Initializer. --- 81,85 ---- CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGExplicitEuler : virtual public FGTimestep { public: /** Initializer. Index: FGImplicitEuler.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGImplicitEuler.h,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -r1.1.2.3 -r1.1.2.4 *** FGImplicitEuler.h 23 Apr 2004 11:59:10 -0000 1.1.2.3 --- FGImplicitEuler.h 25 Apr 2004 12:56:01 -0000 1.1.2.4 *************** *** 82,86 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGImplicitEuler : public FGTimestep { public: FGImplicitEuler(FGFDMExec* fdmex); --- 82,86 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGImplicitEuler : virtual public FGTimestep { public: FGImplicitEuler(FGFDMExec* fdmex); Index: FGMcFarland.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGMcFarland.h,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -r1.1.2.2 -r1.1.2.3 *** FGMcFarland.h 23 Apr 2004 11:59:10 -0000 1.1.2.2 --- FGMcFarland.h 25 Apr 2004 12:56:01 -0000 1.1.2.3 *************** *** 84,88 **** CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGMcFarland : public FGTimestep { public: FGMcFarland(FGFDMExec* fdmex); --- 84,88 ---- CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! class FGMcFarland : virtual public FGTimestep { public: FGMcFarland(FGFDMExec* fdmex); Index: FGPropagate.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropagate.cpp,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -C2 -r1.1.2.6 -r1.1.2.7 *** FGPropagate.cpp 23 Apr 2004 11:59:10 -0000 1.1.2.6 --- FGPropagate.cpp 25 Apr 2004 12:56:02 -0000 1.1.2.7 *************** *** 48,51 **** --- 48,52 ---- #include "FGMcFarland.h" #include "FGDopri5.h" + #include "FGDefaultTimestep.h" #include "FGPropertyManager.h" *************** *** 67,73 **** // mTimestep = 0; // mTimestep = new FGExplicitEuler( FDMExec ); ! mTimestep = new FGImplicitEuler( FDMExec ); // mTimestep = new FGMcFarland( FDMExec ); // mTimestep = new FGDopri5( FDMExec ); bind(); --- 68,75 ---- // mTimestep = 0; // mTimestep = new FGExplicitEuler( FDMExec ); ! // mTimestep = new FGImplicitEuler( FDMExec ); // mTimestep = new FGMcFarland( FDMExec ); // mTimestep = new FGDopri5( FDMExec ); + mTimestep = new FGDefaultTimestep( FDMExec ); bind(); Index: FGTimestep.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGTimestep.cpp,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -C2 -r1.1.2.7 -r1.1.2.8 *** FGTimestep.cpp 23 Apr 2004 11:59:10 -0000 1.1.2.7 --- FGTimestep.cpp 25 Apr 2004 12:56:02 -0000 1.1.2.8 *************** *** 85,88 **** --- 85,96 ---- //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + bool FGTimestep::NearGround( const FGVehicleState& state ) const + { + double agl = mFDMEx->GetAuxiliary()->GetDistanceAGL( state ); + return agl < 100.0; + } + + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + FGVehicleVelocity FGTimestep::ComputeVelocityDeriv( Time, const FGVehicleState& state ) const Index: FGTimestep.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Attic/FGTimestep.h,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -C2 -r1.1.2.8 -r1.1.2.9 *** FGTimestep.h 23 Apr 2004 11:59:10 -0000 1.1.2.8 --- FGTimestep.h 25 Apr 2004 12:56:02 -0000 1.1.2.9 *************** *** 117,120 **** --- 117,122 ---- virtual bool Reset(void) { return true; } + bool NearGround( const FGVehicleState& ) const; + // Something which ends in the equations of motion class. FGVehicleState ComputeStateDeriv( Time, const FGVehicleState& ) const; Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.am,v retrieving revision 1.23.2.14 retrieving revision 1.23.2.15 diff -C2 -r1.23.2.14 -r1.23.2.15 *** Makefile.am 25 Apr 2004 09:16:22 -0000 1.23.2.14 --- Makefile.am 25 Apr 2004 12:56:02 -0000 1.23.2.15 *************** *** 44,47 **** --- 44,49 ---- FGConfigFile.cpp \ FGConfigFile.h \ + FGDefaultTimestep.cpp \ + FGDefaultTimestep.h \ FGDopri5.cpp \ FGDopri5.h \ |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 12:37:33
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16301 Modified Files: Tag: FROHLICH FGLGear.cpp Log Message: Add a bit more sideforce at very slow speeds. Index: FGLGear.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGLGear.cpp,v retrieving revision 1.96.2.11 retrieving revision 1.96.2.12 diff -C2 -r1.96.2.11 -r1.96.2.12 *** FGLGear.cpp 20 Apr 2004 10:19:45 -0000 1.96.2.11 --- FGLGear.cpp 25 Apr 2004 12:32:10 -0000 1.96.2.12 *************** *** 457,460 **** --- 457,466 ---- 40.0, dynamicFCoeff*sign(curGearVals.WheelSlip)); + // Little hack to better fix the aircraft on ground at little speeds ... + double groundspeed = state.GetGroundSpeed(); + FCoeff = interpolate( fabs(groundspeed), + 0.0, FCoeff + staticFCoeff*SideWhlVel, + 1.0, FCoeff ); + // Compute the vertical force on the wheel using square-law damping (per comment // in paper AIAA-2000-4303 - see header prologue comments). We might consider |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 10:01:55
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15105 Modified Files: Tag: FROHLICH JSBSim.cxx Log Message: Make it compile from within Flightgear with the actual merges. Index: JSBSim.cxx =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.cxx,v retrieving revision 1.153.2.17 retrieving revision 1.153.2.18 diff -C2 -r1.153.2.17 -r1.153.2.18 *** JSBSim.cxx 25 Apr 2004 09:16:22 -0000 1.153.2.17 --- JSBSim.cxx 25 Apr 2004 09:54:05 -0000 1.153.2.18 *************** *** 296,302 **** FGColumnVector3 localVel = state.GetLocalVel(); SG_LOG(SG_FLIGHT,SG_INFO, " Vn,Ve,Vd= " ! << localVel( FGJSBBase::eNorth ) << ", " ! << localVel( FGJSBBase::eEast ) << ", " ! << localVel( FGJSBBase::eDown ) << " ft/s"); } break; --- 296,302 ---- FGColumnVector3 localVel = state.GetLocalVel(); SG_LOG(SG_FLIGHT,SG_INFO, " Vn,Ve,Vd= " ! << localVel( eNorth ) << ", " ! << localVel( eEast ) << ", " ! << localVel( eDown ) << " ft/s"); } break; *************** *** 542,553 **** const FGColumnVector3 localVel = state.GetLocalVel(); ! _set_Velocities_Local( localVel( FGJSBBase::eNorth ), ! localVel( FGJSBBase::eEast ), ! localVel( FGJSBBase::eDown ) ); // Make the HUD work ... ! _set_Velocities_Ground( localVel( FGJSBBase::eNorth ), ! localVel( FGJSBBase::eEast ), ! -localVel( FGJSBBase::eDown ) ); --- 542,553 ---- const FGColumnVector3 localVel = state.GetLocalVel(); ! _set_Velocities_Local( localVel( eNorth ), ! localVel( eEast ), ! localVel( eDown ) ); // Make the HUD work ... ! _set_Velocities_Ground( localVel( eNorth ), ! localVel( eEast ), ! -localVel( eDown ) ); *************** *** 583,589 **** const FGColumnVector3 euler = state.GetEuler(); ! _set_Euler_Angles( euler( FGJSBBase::ePhi ), ! euler( FGJSBBase::eTht ), ! euler( FGJSBBase::ePsi ) ); _set_Alpha( Auxiliary->Getalpha() ); --- 583,587 ---- const FGColumnVector3 euler = state.GetEuler(); ! _set_Euler_Angles( euler( ePhi ), euler( eTht ), euler( ePsi ) ); _set_Alpha( Auxiliary->Getalpha() ); |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 09:21:44
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8779 Modified Files: Tag: FROHLICH FGAircraft.cpp FGAuxiliary.cpp FGAuxiliary.h FGInertial.cpp FGJSBBase.h FGModel.cpp FGOutput.cpp FGPropulsion.cpp FGState.cpp JSBSim.cxx Makefile.am Makefile.solo makemake.pl Removed Files: Tag: FROHLICH FGTurbine.cpp FGTurbine.h Log Message: Merge changes from HEAD. Index: FGAuxiliary.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGAuxiliary.cpp,v retrieving revision 1.39.2.18 retrieving revision 1.39.2.19 diff -C2 -r1.39.2.18 -r1.39.2.19 *** FGAuxiliary.cpp 20 Apr 2004 10:16:57 -0000 1.39.2.18 --- FGAuxiliary.cpp 25 Apr 2004 09:16:20 -0000 1.39.2.19 *************** *** 90,94 **** // Temporary code, will resolve to something neater later ... ! SeaLevelRadius = RunwayRadius = fdmex->GetInertial()->RefRadius(); bind(); --- 90,94 ---- // Temporary code, will resolve to something neater later ... ! seaLevelRadius = groundRadius = fdmex->GetInertial()->RefRadius(); bind(); *************** *** 215,219 **** FGColumnVector3 macBody = MassBalance->StructuralToBody(Aircraft->GetXYZrp()); ! hoverbmac = (state.GetRadiusFromBody( macBody ) - RunwayRadius)/b; if (Vt > 0) { --- 215,219 ---- FGColumnVector3 macBody = MassBalance->StructuralToBody(Aircraft->GetXYZrp()); ! hoverbmac = (state.GetRadiusFromBody( macBody ) - groundRadius)/b; if (Vt > 0) { Index: FGAuxiliary.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGAuxiliary.h,v retrieving revision 1.34.2.14 retrieving revision 1.34.2.15 diff -C2 -r1.34.2.14 -r1.34.2.15 *** FGAuxiliary.h 20 Apr 2004 10:16:57 -0000 1.34.2.14 --- FGAuxiliary.h 25 Apr 2004 09:16:20 -0000 1.34.2.15 *************** *** 113,116 **** --- 113,117 ---- @param Executive a pointer to the parent executive object */ FGAuxiliary(FGFDMExec* Executive); + /// Destructor ~FGAuxiliary(); *************** *** 120,214 **** bool Run(void); ! // Use FGInitialCondition to set these speeds ! inline double GetVcalibratedFPS(void) const { return vcas; } ! inline double GetVcalibratedKTS(void) const { return vcas*fpstokts; } ! inline double GetVequivalentFPS(void) const { return veas; } ! inline double GetVequivalentKTS(void) const { return veas*fpstokts; } ! inline double GetTotalTemperature(void) const { return tat; } ! inline double GetTAT_C(void) const { return tatc; } // total pressure above is freestream total pressure for subsonic only // for supersonic it is the 1D total pressure behind a normal shock ! inline double GetTotalPressure(void) const { return pt; } - inline FGColumnVector3& GetPilotAccel(void) { return vPilotAccel; } - inline double GetPilotAccel(int idx) const { return vPilotAccel(idx); } - FGColumnVector3 GetNpilot(void) const { return vPilotAccelN; } - double GetNpilot(int idx) const { return vPilotAccelN(idx); } - inline FGColumnVector3& GetAeroPQR(void) {return vAeroPQR;} - inline double GetAeroPQR(int axis) const {return vAeroPQR(axis);} - - inline FGColumnVector3& GetAeroUVW (void) { return vAeroUVW; } - inline double GetAeroUVW (int idx) const { return vAeroUVW(idx); } - - double Getalpha(void) const { return alpha; } - double Getbeta (void) const { return beta; } - inline double GetMagBeta(void) const { return fabs(beta); } - double Getqbar (void) const { return qbar; } - double GetqbarUW (void) const { return qbarUW; } - double GetqbarUV (void) const { return qbarUV; } - inline double GetVt (void) const { return Vt; } - inline double GetVground(void) const { return Propagate->GetState().GetGroundSpeed(); } - double GetMach (void) const { return Mach; } - inline double GetMachU(void) const { return MachU; } - double Getadot (void) const { return adot; } - double Getbdot (void) const { return bdot; } void SetAeroUVW(FGColumnVector3 tt) { vAeroUVW = tt; } ! inline void Setalpha(double tt) { alpha = tt; } ! inline void Setbeta (double tt) { beta = tt; } ! inline void Setqbar (double tt) { qbar = tt; } ! inline void SetqbarUW (double tt) { qbarUW = tt; } ! inline void SetqbarUV (double tt) { qbarUV = tt; } ! inline void SetVt (double tt) { Vt = tt; } ! inline void SetMach (double tt) { Mach=tt; } ! inline void Setadot (double tt) { adot = tt; } ! inline void Setbdot (double tt) { bdot = tt; } ! ! inline void SetAB(double t1, double t2) { alpha=t1; beta=t2; } ! inline double GetEarthPositionAngle(void) const { return earthPosAngle; } ! ! inline double GetGamma(void) const { return gamma; } ! inline void SetGamma(double tt) { gamma = tt; } ! inline double GetGroundTrack(void) const { return Propagate->GetState().GetGroundTrack(); } ! ! inline void SetDayOfYear(int doy) { day_of_year = doy; } ! inline int GetDayOfYear(void) const { return day_of_year; } ! inline void SetSecondsInDay(double sid) { seconds_in_day = sid; } ! inline double GetSecondsInDay(void) const { return seconds_in_day; } ! double GetHeadWind(void); ! double GetCrossWind(void); double Geth(void) const { // FIXME UGLY ! return Propagate->GetState().GetRadius() - SeaLevelRadius; } double GetDistanceAGL(void) const { // FIXME UGLY ! return Propagate->GetState().GetRadius() - RunwayRadius; } double Geth(const FGVehicleState& state) const { // FIXME UGLY ! return state.GetRadius() - SeaLevelRadius; } double GetDistanceAGL(const FGVehicleState& state) const { // FIXME UGLY ! return state.GetRadius() - RunwayRadius; } double GetDistanceAGL(const FGVehicleState& state, const FGColumnVector3& bvec) const { // FIXME UGLY ! return state.GetRadiusFromBody( bvec ) - RunwayRadius; } ! double GetSeaLevelRadius(void) const { return SeaLevelRadius; } ! double GetRunwayRadius(void) const { return RunwayRadius; } ! void SetRunwayRadius(double tt) { RunwayRadius = tt; } ! void SetSeaLevelRadius(double tt) { SeaLevelRadius = tt;} double GethVRP(void) const { --- 121,222 ---- bool Run(void); ! // GET functions ! // Atmospheric parameters GET functions ! double GetVcalibratedFPS(void) const { return vcas; } ! double GetVcalibratedKTS(void) const { return vcas*fpstokts; } ! double GetVequivalentFPS(void) const { return veas; } ! double GetVequivalentKTS(void) const { return veas*fpstokts; } // total pressure above is freestream total pressure for subsonic only // for supersonic it is the 1D total pressure behind a normal shock ! double GetTotalPressure(void) const { return pt; } ! double GetTotalTemperature(void) const { return tat; } ! double GetTAT_C(void) const { return tatc; } ! ! double GetPilotAccel(int idx) const { return vPilotAccel(idx); } ! double GetNpilot(int idx) const { return vPilotAccelN(idx); } ! double GetAeroPQR(int axis) const { return vAeroPQR(axis); } ! ! const FGColumnVector3& GetPilotAccel (void) const { return vPilotAccel; } ! const FGColumnVector3& GetNpilot (void) const { return vPilotAccelN; } ! const FGColumnVector3& GetAeroPQR (void) const { return vAeroPQR; } ! const FGColumnVector3& GetAeroUVW (void) const { return vAeroUVW; } ! ! double GetAeroUVW (int idx) const { return vAeroUVW(idx); } ! double Getalpha (void) const { return alpha; } ! double Getbeta (void) const { return beta; } ! double Getadot (void) const { return adot; } ! double Getbdot (void) const { return bdot; } ! double GetMagBeta (void) const { return fabs(beta); } ! double Getqbar (void) const { return qbar; } ! double GetqbarUW (void) const { return qbarUW; } ! double GetqbarUV (void) const { return qbarUV; } ! double GetVt (void) const { return Vt; } ! double GetVground (void) const { return Propagate->GetState().GetGroundSpeed(); } ! double GetMach (void) const { return Mach; } ! double GetMachU (void) const { return MachU; } ! ! double GetGamma(void) const { return gamma; } ! double GetGroundTrack(void) const { ! return Propagate->GetState().GetGroundTrack(); ! } ! double GetEarthPositionAngle(void) const { return earthPosAngle; } ! ! double GetHeadWind(void); ! double GetCrossWind(void); void SetAeroUVW(FGColumnVector3 tt) { vAeroUVW = tt; } ! void Setalpha (double tt) { alpha = tt; } ! void Setbeta (double tt) { beta = tt; } ! void Setqbar (double tt) { qbar = tt; } ! void SetqbarUW (double tt) { qbarUW = tt; } ! void SetqbarUV (double tt) { qbarUV = tt; } ! void SetVt (double tt) { Vt = tt; } ! void SetMach (double tt) { Mach=tt; } ! void Setadot (double tt) { adot = tt; } ! void Setbdot (double tt) { bdot = tt; } ! ! void SetAB (double t1, double t2) { alpha=t1; beta=t2; } ! void SetGamma (double tt) { gamma = tt; } ! // Time routines, SET and GET functions ! ! void SetDayOfYear (int doy) { day_of_year = doy; } ! void SetSecondsInDay (double sid) { seconds_in_day = sid; } ! ! int GetDayOfYear (void) const { return day_of_year; } ! double GetSecondsInDay (void) const { return seconds_in_day; } double Geth(void) const { // FIXME UGLY ! return Propagate->GetState().GetRadius() - seaLevelRadius; } double GetDistanceAGL(void) const { // FIXME UGLY ! return Propagate->GetState().GetRadius() - groundRadius; } double Geth(const FGVehicleState& state) const { // FIXME UGLY ! return state.GetRadius() - seaLevelRadius; } double GetDistanceAGL(const FGVehicleState& state) const { // FIXME UGLY ! return state.GetRadius() - groundRadius; } double GetDistanceAGL(const FGVehicleState& state, const FGColumnVector3& bvec) const { // FIXME UGLY ! return state.GetRadiusFromBody( bvec ) - groundRadius; } ! double GetSeaLevelRadius(void) const { return seaLevelRadius; } ! double GetRunwayRadius(void) const { return groundRadius; } ! void SetRunwayRadius(double tt) { groundRadius = tt; } ! void SetSeaLevelRadius(double tt) { seaLevelRadius = tt;} double GethVRP(void) const { *************** *** 218,221 **** --- 226,231 ---- double GetLongitudeVRP(void) const { return mVRPPos.GetLongitude(); } + const FGLocation& GetLocationVRP(void) const { return mVRPPos; } + double GetHOverBCG(void) const { return hoverbcg; } double GetHOverBMAC(void) const { return hoverbmac; } *************** *** 234,245 **** double rhosl, rho, p, psl, pt, tat, sat, tatc; - double gamma; double hoverbcg,hoverbmac; - double RunwayRadius; - double SeaLevelRadius; - - // Don't add a getter for pt! - FGColumnVector3 vPilotAccel; FGColumnVector3 vPilotAccelN; --- 244,249 ---- *************** *** 256,265 **** double alpha, beta; double adot,bdot; ! ! double earthPosAngle; ! int day_of_year; // GMT day, 1 .. 366 double seconds_in_day; // seconds since current GMT day began FGLocation mVRPPos; void Debug(int from); --- 260,271 ---- double alpha, beta; double adot,bdot; ! double gamma; double seconds_in_day; // seconds since current GMT day began + int day_of_year; // GMT day, 1 .. 366 FGLocation mVRPPos; + double earthPosAngle; + double seaLevelRadius; // radius of sea level, in ft. + double groundRadius; // radius of runway, in ft. void Debug(int from); *************** *** 270,272 **** //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #endif - --- 276,277 ---- Index: FGJSBBase.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGJSBBase.h,v retrieving revision 1.46.2.4 retrieving revision 1.46.2.5 diff -C2 -r1.46.2.4 -r1.46.2.5 *** FGJSBBase.h 8 Mar 2004 16:02:58 -0000 1.46.2.4 --- FGJSBBase.h 25 Apr 2004 09:16:21 -0000 1.46.2.5 *************** *** 130,153 **** } Message; - ///@name JSBSim Enums. - //@{ - /// Moments L, M, N - enum {eL = 1, eM, eN }; - /// Rates P, Q, R - enum {eP = 1, eQ, eR }; - /// Velocities U, V, W - enum {eU = 1, eV, eW }; - /// Positions X, Y, Z - enum {eX = 1, eY, eZ }; - /// Euler angles Phi, Theta, Psi - enum {ePhi = 1, eTht, ePsi }; - /// Stability axis forces, Drag, Side force, Lift - enum {eDrag = 1, eSide, eLift }; - /// Local frame orientation Roll, Pitch, Yaw - enum {eRoll = 1, ePitch, eYaw }; - /// Local frame position North, East, Down - enum {eNorth = 1, eEast, eDown }; - //@} - ///@name JSBSim console output highlighting terms. //@{ --- 130,133 ---- *************** *** 209,213 **** //@} string GetVersion(void) {return JSBSim_version;} ! void disableHighLighting(void); --- 189,193 ---- //@} string GetVersion(void) {return JSBSim_version;} ! void disableHighLighting(void); *************** *** 223,227 **** protected: static Message localMsg; ! static std::queue <Message*> Messages; --- 203,207 ---- protected: static Message localMsg; ! static std::queue <Message*> Messages; *************** *** 231,235 **** static unsigned int messageId; - public: static const double radtodeg; static const double degtorad; --- 211,214 ---- *************** *** 248,251 **** --- 227,250 ---- static const string JSBSim_version; }; + + /// Moments L, M, N + enum {eL = 1, eM, eN }; + /// Rates P, Q, R + enum {eP = 1, eQ, eR }; + /// Velocities U, V, W + enum {eU = 1, eV, eW }; + /// Positions X, Y, Z + enum {eX = 1, eY, eZ }; + /// Euler angles Phi, Theta, Psi + enum {ePhi = 1, eTht, ePsi }; + /// Stability axis forces, Drag, Side force, Lift + enum {eDrag = 1, eSide, eLift }; + /// Local frame orientation Roll, Pitch, Yaw + enum {eRoll = 1, ePitch, eYaw }; + /// Local frame position North, East, Down + enum {eNorth = 1, eEast, eDown }; + /// Locations Radius, Latitude, Longitude + enum {eLat = 1, eLong, eRad }; + } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Index: FGModel.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGModel.cpp,v retrieving revision 1.25.2.4 retrieving revision 1.25.2.5 diff -C2 -r1.25.2.4 -r1.25.2.5 *** FGModel.cpp 18 Apr 2004 11:35:07 -0000 1.25.2.4 --- FGModel.cpp 25 Apr 2004 09:16:21 -0000 1.25.2.5 *************** *** 28,32 **** FUNCTIONAL DESCRIPTION -------------------------------------------------------------------------------- ! This base class for the FGAero, FGPropagation, etc. classes defines methods common to all models. --- 28,32 ---- FUNCTIONAL DESCRIPTION -------------------------------------------------------------------------------- ! This base class for the FGAerodynamics, FGPropagate, etc. classes defines methods common to all models. Index: FGOutput.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGOutput.cpp,v retrieving revision 1.67.2.11 retrieving revision 1.67.2.12 diff -C2 -r1.67.2.11 -r1.67.2.12 *** FGOutput.cpp 18 Apr 2004 11:35:07 -0000 1.67.2.11 --- FGOutput.cpp 25 Apr 2004 09:16:21 -0000 1.67.2.12 *************** *** 213,218 **** outstream << "Alpha, "; outstream << "Beta, "; ! outstream << "Latitude, "; ! outstream << "Longitude, "; outstream << "Distance AGL, "; outstream << "Runway Radius"; --- 213,218 ---- outstream << "Alpha, "; outstream << "Beta, "; ! outstream << "Latitude (Deg), "; ! outstream << "Longitude (Deg), "; outstream << "Distance AGL, "; outstream << "Runway Radius"; *************** *** 303,308 **** outstream << Auxiliary->Getalpha() << ", "; outstream << Auxiliary->Getbeta() << ", "; ! outstream << state.GetLatitude() << ", "; ! outstream << state.GetLongitude() << ", "; outstream << Auxiliary->GetDistanceAGL() << ", "; outstream << Auxiliary->GetRunwayRadius(); --- 303,308 ---- outstream << Auxiliary->Getalpha() << ", "; outstream << Auxiliary->Getbeta() << ", "; ! outstream << state.GetLatitudeDeg() << ", "; ! outstream << state.GetLongitudeDeg() << ", "; outstream << Auxiliary->GetDistanceAGL() << ", "; outstream << Auxiliary->GetRunwayRadius(); *************** *** 375,380 **** socket->Append("Fy"); socket->Append("Fz"); ! socket->Append("Latitude"); ! socket->Append("Longitude"); socket->Append("QBar"); socket->Append("Alpha"); --- 375,380 ---- socket->Append("Fy"); socket->Append("Fz"); ! socket->Append("Latitude (Deg)"); ! socket->Append("Longitude (Deg)"); socket->Append("QBar"); socket->Append("Alpha"); *************** *** 420,425 **** socket->Append(Aircraft->GetForces(eY)); socket->Append(Aircraft->GetForces(eZ)); ! socket->Append(state.GetLatitude()); ! socket->Append(state.GetLongitude()); socket->Append(Auxiliary->Getqbar()); socket->Append(Auxiliary->Getalpha()); --- 420,425 ---- socket->Append(Aircraft->GetForces(eY)); socket->Append(Aircraft->GetForces(eZ)); ! socket->Append(state.GetLatitudeDeg()); ! socket->Append(state.GetLongitudeDeg()); socket->Append(Auxiliary->Getqbar()); socket->Append(Auxiliary->Getalpha()); Index: FGPropulsion.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGPropulsion.cpp,v retrieving revision 1.88.2.10 retrieving revision 1.88.2.11 diff -C2 -r1.88.2.10 -r1.88.2.11 *** FGPropulsion.cpp 9 Apr 2004 12:44:37 -0000 1.88.2.10 --- FGPropulsion.cpp 25 Apr 2004 09:16:21 -0000 1.88.2.11 *************** *** 56,60 **** #include "FGRocket.h" #include "FGSimTurbine.h" - #include "FGTurbine.h" #include "FGPropeller.h" #include "FGNozzle.h" --- 56,59 ---- *************** *** 237,241 **** Cfg_ptr = 0; FGConfigFile Local_cfg(localpath + engineFileName + ".xml"); ! FGConfigFile Eng_cfg(fullpath + engineFileName + ".xml"); if (Local_cfg.IsOpen()) { Cfg_ptr = &Local_cfg; --- 236,240 ---- Cfg_ptr = 0; FGConfigFile Local_cfg(localpath + engineFileName + ".xml"); ! FGConfigFile Eng_cfg(fullpath + engineFileName + ".xml"); if (Local_cfg.IsOpen()) { Cfg_ptr = &Local_cfg; *************** *** 243,247 **** + engineFileName + ".xml"<< endl; } else { ! if (Eng_cfg.IsOpen()) { Cfg_ptr = &Eng_cfg; if (debug_lvl > 0) cout << "\n Reading engine from file: " << fullpath --- 242,246 ---- + engineFileName + ".xml"<< endl; } else { ! if (Eng_cfg.IsOpen()) { Cfg_ptr = &Eng_cfg; if (debug_lvl > 0) cout << "\n Reading engine from file: " << fullpath *************** *** 261,266 **** } else if (engType == "FG_PISTON") { Engines.push_back(new FGPiston(FDMExec, Cfg_ptr)); - } else if (engType == "FG_TURBINE") { - Engines.push_back(new FGTurbine(FDMExec, Cfg_ptr)); } else if (engType == "FG_SIMTURBINE") { Engines.push_back(new FGSimTurbine(FDMExec, Cfg_ptr)); --- 260,263 ---- *************** *** 338,342 **** + thrusterFileName + ".xml"<< endl; } else { ! if (Thruster_cfg.IsOpen()) { Cfg_ptr = &Thruster_cfg; if (debug_lvl > 0) cout << "\n Reading thruster from file: " << fullpath --- 335,339 ---- + thrusterFileName + ".xml"<< endl; } else { ! if (Thruster_cfg.IsOpen()) { Cfg_ptr = &Thruster_cfg; if (debug_lvl > 0) cout << "\n Reading thruster from file: " << fullpath Index: JSBSim.cxx =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/JSBSim.cxx,v retrieving revision 1.153.2.16 retrieving revision 1.153.2.17 diff -C2 -r1.153.2.16 -r1.153.2.17 *** JSBSim.cxx 15 Apr 2004 20:14:30 -0000 1.153.2.16 --- JSBSim.cxx 25 Apr 2004 09:16:22 -0000 1.153.2.17 *************** *** 330,338 **** << state.GetEulerPsiDeg() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Latitude: " ! << state.GetLatitude() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Longitude: " ! << state.GetLongitude() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Altitude: " ! << Auxiliary->Geth() << " feet" ); SG_LOG( SG_FLIGHT, SG_INFO, " loaded initial conditions" ); --- 330,338 ---- << state.GetEulerPsiDeg() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Latitude: " ! << state.GetLatitudeDeg() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Longitude: " ! << state.GetLongitudeDeg() << " deg" ); SG_LOG( SG_FLIGHT, SG_INFO, " Altitude: " ! << Auxiliary->Geth() << " feet" ); SG_LOG( SG_FLIGHT, SG_INFO, " loaded initial conditions" ); Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.am,v retrieving revision 1.23.2.13 retrieving revision 1.23.2.14 diff -C2 -r1.23.2.13 -r1.23.2.14 *** Makefile.am 18 Apr 2004 10:34:16 -0000 1.23.2.13 --- Makefile.am 25 Apr 2004 09:16:22 -0000 1.23.2.14 *************** *** 125,130 **** FGTrim.cpp \ FGTrim.h \ - FGTurbine.cpp \ - FGTurbine.h \ FGSimTurbine.cpp \ FGSimTurbine.h \ --- 125,128 ---- Index: Makefile.solo =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/Makefile.solo,v retrieving revision 1.53.2.10 retrieving revision 1.53.2.11 diff -C2 -r1.53.2.10 -r1.53.2.11 *** Makefile.solo 18 Apr 2004 11:35:07 -0000 1.53.2.10 --- Makefile.solo 25 Apr 2004 09:16:22 -0000 1.53.2.11 *************** *** 3,15 **** LINKDIR= -Lfiltersjb/ -Lsimgear/props/ JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\ ! FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFaland.o FGSymMatrix33.o\ FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\ FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\ ! FGTurbine.o FGPiston.o FGForce.o FGThruster.o FGEngine.o\ FGTable.o FGPropeller.o FGNozzle.o FGAerodynamics.o FGMassBalance.o FGInertial.o\ FGFactorGroup.o FGColumnVector3.o FGGroundReactions.o FGScript.o\ FGJSBBase.o FGPropertyManager.o FGSimTurbine.o FGElectric.o FGQuaternion.o ! JSBSim_sources = FG*.cpp FG*.h JSBSim.cpp *.?xx filtersjb/*.cpp filtersjb/*.h simgear/props/*.?xx\ Makefile.* aircraft/*/*.xml engine/*.xml scripts/*.xml *ake* */*ake* */*/*ake* --- 3,15 ---- LINKDIR= -Lfiltersjb/ -Lsimgear/props/ JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\ ! FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFarland.o FGSymMatrix33.o\ FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\ FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\ ! FGPiston.o FGForce.o FGThruster.o FGEngine.o\ FGTable.o FGPropeller.o FGNozzle.o FGAerodynamics.o FGMassBalance.o FGInertial.o\ FGFactorGroup.o FGColumnVector3.o FGGroundReactions.o FGScript.o\ FGJSBBase.o FGPropertyManager.o FGSimTurbine.o FGElectric.o FGQuaternion.o ! JSBSim_sources = FG*.cpp FG*.h JSBSim.cpp *.?xx filtersjb/*.cpp filtersjb/*.h simgear/props/*.?xx control/*.xml\ Makefile.* aircraft/*/*.xml engine/*.xml scripts/*.xml *ake* */*ake* */*/*ake* *************** *** 38,48 **** FGPropertyManager.h simgear/props/props.hxx FGConfigFile.h \ FGColumnVector3.h FGMassBalance.h FGInertial.h FGSymMatrix33.h \ ! FGGroundReactions.h FGLGear.h FGFDMExec.h FGTrim.h FGTrimAxis.h \ ! FGInitialCondition.h FGMatrix33.h FGPropagate.h FGLocation.h \ ! FGQuaternion.h FGVehiclePosition.h FGVehicleVelocity.h FGVehicleState.h \ ! FGTimestep.h FGJacobianMatrix.h FGAuxiliary.h FGFCS.h \ ! filtersjb/FGFCSComponent.h FGState.h FGAtmosphere.h FGAerodynamics.h \ ! FGCoefficient.h FGTable.h FGOutput.h FGfdmSocket.h FGPropulsion.h \ ! FGEngine.h FGTank.h FGThruster.h FGForce.h $(CC) $(INCLUDES) $(CCOPTS) -oFGAircraft.o -c FGAircraft.cpp --- 38,48 ---- FGPropertyManager.h simgear/props/props.hxx FGConfigFile.h \ FGColumnVector3.h FGMassBalance.h FGInertial.h FGSymMatrix33.h \ ! FGAerodynamics.h FGCoefficient.h FGTable.h FGState.h \ ! FGInitialCondition.h FGFDMExec.h FGTrim.h FGTrimAxis.h FGPropagate.h \ ! FGLocation.h FGQuaternion.h FGMatrix33.h FGVehiclePosition.h \ ! FGVehicleVelocity.h FGVehicleState.h FGTimestep.h FGJacobianMatrix.h \ ! FGAtmosphere.h FGFCS.h filtersjb/FGFCSComponent.h FGLGear.h \ ! FGAuxiliary.h FGOutput.h FGfdmSocket.h FGGroundReactions.h \ ! FGPropulsion.h FGEngine.h FGTank.h FGThruster.h FGForce.h $(CC) $(INCLUDES) $(CCOPTS) -oFGAircraft.o -c FGAircraft.cpp *************** *** 263,268 **** FGPropertyManager.h simgear/props/props.hxx FGColumnVector3.h \ FGLocation.h FGQuaternion.h FGMatrix33.h FGVehiclePosition.h \ ! FGVehicleVelocity.h FGVehicleState.h FGJacobianMatrix.h FGMcFarland.h \ ! FGExplicitEuler.h $(CC) $(INCLUDES) $(CCOPTS) -oFGMcFarland.o -c FGMcFarland.cpp --- 263,267 ---- FGPropertyManager.h simgear/props/props.hxx FGColumnVector3.h \ FGLocation.h FGQuaternion.h FGMatrix33.h FGVehiclePosition.h \ ! FGVehicleVelocity.h FGVehicleState.h FGJacobianMatrix.h FGMcFarland.h $(CC) $(INCLUDES) $(CCOPTS) -oFGMcFarland.o -c FGMcFarland.cpp *************** *** 349,354 **** FGAuxiliary.h FGMassBalance.h FGInertial.h FGAerodynamics.h \ FGCoefficient.h FGTable.h FGOutput.h FGfdmSocket.h FGGroundReactions.h \ ! FGTank.h FGThruster.h FGForce.h FGRocket.h FGSimTurbine.h FGTurbine.h \ ! FGPropeller.h FGNozzle.h FGPiston.h FGElectric.h $(CC) $(INCLUDES) $(CCOPTS) -oFGPropulsion.o -c FGPropulsion.cpp --- 348,353 ---- FGAuxiliary.h FGMassBalance.h FGInertial.h FGAerodynamics.h \ FGCoefficient.h FGTable.h FGOutput.h FGfdmSocket.h FGGroundReactions.h \ ! FGTank.h FGThruster.h FGForce.h FGRocket.h FGSimTurbine.h FGPropeller.h \ ! FGNozzle.h FGPiston.h FGElectric.h $(CC) $(INCLUDES) $(CCOPTS) -oFGPropulsion.o -c FGPropulsion.cpp *************** *** 437,441 **** FGLocation.h FGQuaternion.h FGVehiclePosition.h FGVehicleVelocity.h \ FGVehicleState.h FGTimestep.h FGJacobianMatrix.h FGSymMatrix33.h \ ! FGAircraft.h FGConfigFile.h FGAuxiliary.h FGMassBalance.h FGInertial.h $(CC) $(INCLUDES) $(CCOPTS) -oFGTimestep.o -c FGTimestep.cpp --- 436,444 ---- FGLocation.h FGQuaternion.h FGVehiclePosition.h FGVehicleVelocity.h \ FGVehicleState.h FGTimestep.h FGJacobianMatrix.h FGSymMatrix33.h \ ! FGAircraft.h FGConfigFile.h FGAuxiliary.h FGMassBalance.h FGInertial.h \ ! FGGroundReactions.h FGLGear.h FGFCS.h filtersjb/FGFCSComponent.h \ ! FGState.h FGAtmosphere.h FGAerodynamics.h FGCoefficient.h FGTable.h \ ! FGOutput.h FGfdmSocket.h FGPropulsion.h FGEngine.h FGTank.h \ ! FGThruster.h FGForce.h $(CC) $(INCLUDES) $(CCOPTS) -oFGTimestep.o -c FGTimestep.cpp *************** *** 464,479 **** $(CC) $(INCLUDES) $(CCOPTS) -oFGTrimAxis.o -c FGTrimAxis.cpp - FGTurbine.o: FGTurbine.cpp FGTurbine.h FGEngine.h FGJSBBase.h \ - FGPropertyManager.h simgear/props/props.hxx FGState.h \ - FGInitialCondition.h FGFDMExec.h FGModel.h FGTrim.h FGTrimAxis.h \ - FGPropagate.h FGColumnVector3.h FGLocation.h FGQuaternion.h \ - FGMatrix33.h FGVehiclePosition.h FGVehicleVelocity.h FGVehicleState.h \ - FGTimestep.h FGJacobianMatrix.h FGAtmosphere.h FGFCS.h \ - filtersjb/FGFCSComponent.h FGLGear.h FGConfigFile.h FGAircraft.h \ - FGAuxiliary.h FGMassBalance.h FGInertial.h FGSymMatrix33.h \ - FGAerodynamics.h FGCoefficient.h FGTable.h FGOutput.h FGfdmSocket.h \ - FGGroundReactions.h FGPropulsion.h FGTank.h FGThruster.h FGForce.h - $(CC) $(INCLUDES) $(CCOPTS) -oFGTurbine.o -c FGTurbine.cpp - FGVehiclePosition.o: FGVehiclePosition.cpp FGPropertyManager.h \ simgear/props/props.hxx FGVehiclePosition.h FGJSBBase.h \ --- 467,470 ---- Index: makemake.pl =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/makemake.pl,v retrieving revision 1.17.2.5 retrieving revision 1.17.2.6 diff -C2 -r1.17.2.5 -r1.17.2.6 *** makemake.pl 9 Apr 2004 12:44:39 -0000 1.17.2.5 --- makemake.pl 25 Apr 2004 09:16:23 -0000 1.17.2.6 *************** *** 10,22 **** # print "JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\\\n"; ! print "FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFaland.o FGSymMatrix33.o\\\n"; print "FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\\\n"; print "FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\\\n"; ! print "FGTurbine.o FGPiston.o FGForce.o FGThruster.o FGEngine.o\\\n"; print "FGTable.o FGPropeller.o FGNozzle.o FGAerodynamics.o FGMassBalance.o FGInertial.o\\\n"; print "FGFactorGroup.o FGColumnVector3.o FGGroundReactions.o FGScript.o\\\n"; print "FGJSBBase.o FGPropertyManager.o FGSimTurbine.o FGElectric.o FGQuaternion.o\n\n"; # ! print "JSBSim_sources = FG*.cpp FG*.h JSBSim.cpp *.?xx filtersjb/*.cpp filtersjb/*.h simgear/props/*.?xx\\\n"; print "Makefile.* aircraft/*/*.xml engine/*.xml scripts/*.xml *ake* */*ake* */*/*ake*\n\n"; # --- 10,22 ---- # print "JSBSim_objects = FGAircraft.o FGAtmosphere.o FGCoefficient.o FGFCS.o FGFDMExec.o\\\n"; ! print "FGModel.o FGOutput.o FGState.o FGPropagate.o FGExplicitEuler.o FGMcFarland.o FGSymMatrix33.o\\\n"; print "FGTank.o FGTimestep.o FGAuxiliary.o FGfdmSocket.o FGTrim.o FGTrimAxis.o\\\n"; print "FGConfigFile.o FGInitialCondition.o FGLGear.o FGMatrix33.o FGPropulsion.o FGRocket.o\\\n"; ! print "FGPiston.o FGForce.o FGThruster.o FGEngine.o\\\n"; print "FGTable.o FGPropeller.o FGNozzle.o FGAerodynamics.o FGMassBalance.o FGInertial.o\\\n"; print "FGFactorGroup.o FGColumnVector3.o FGGroundReactions.o FGScript.o\\\n"; print "FGJSBBase.o FGPropertyManager.o FGSimTurbine.o FGElectric.o FGQuaternion.o\n\n"; # ! print "JSBSim_sources = FG*.cpp FG*.h JSBSim.cpp *.?xx filtersjb/*.cpp filtersjb/*.h simgear/props/*.?xx control/*.xml\\\n"; print "Makefile.* aircraft/*/*.xml engine/*.xml scripts/*.xml *ake* */*ake* */*/*ake*\n\n"; # --- FGTurbine.cpp DELETED --- --- FGTurbine.h DELETED --- |
From: Mathias Fr?h. <fro...@us...> - 2004-04-25 09:20:51
|
Update of /cvsroot/jsbsim/JSBSim/engine In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8779/engine Modified Files: Tag: FROHLICH GE-CF6-80C2-B1F.xml Log Message: Merge changes from HEAD. Index: GE-CF6-80C2-B1F.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/engine/GE-CF6-80C2-B1F.xml,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -r1.1.2.1 -r1.1.2.2 *** GE-CF6-80C2-B1F.xml 18 Mar 2004 19:53:37 -0000 1.1.2.1 --- GE-CF6-80C2-B1F.xml 25 Apr 2004 09:16:23 -0000 1.1.2.2 *************** *** 1,94 **** ! <?xml version="1.0"?> ! <!-- ! File: GE-CF6-80C2-B1F.xml ! Author: Jon Berndt, based on output from ! Aero-Matic v 0.7, by David Culp ! ! Inputs: ! name: GE-CF6-80C2-B1F ! type: turbine ! thrust: 58000.0 lb ! augmented? no ! injected? yes ! ! Additional Information: ! ! [Source: http://www.bh.com/companions/034074152X/appendices/data-b/table-3/default.htm] ! ! Number of shafts: 2 ! Compressor: 1 + 4LP ! 14HP ! Turbine: 2HP, 5LP ! Cost: $6.10 million ! ! Length: 14.00 ft. ! Fan diameter: 8.84 ft. ! Weight: 9,500 lbs. ! ! Flat rating: 32 degrees C ! Pressure ratio (TO): 29.90 ! Mass flow (lb/sec, TO): 1,765 (lb/sec) ! TSFC (TO): 0.32 ! --> ! ! <FG_SIMTURBINE NAME="GE-CF6-80C2-B1F"> ! MILTHRUST 58000.0 ! MAXTHRUST 58000.0 ! BYPASSRATIO 5.15 ! TSFC 0.564 ! ATSFC 0.0 ! IDLEN1 30.0 ! IDLEN2 60.0 ! MAXN1 100.0 ! MAXN2 100.0 ! AUGMENTED 0 ! AUGMETHOD 1 ! INJECTED 1 ! ! <TABLE NAME="IdleThrust" TYPE="TABLE"> ! Idle_power_thrust_factor ! 6 ! 7 ! velocities/mach-norm ! position/h-sl-ft ! none ! -10000 0 10000 20000 30000 40000 50000 ! 0.0 0.0430 0.0488 0.0528 0.0694 0.0899 0.1183 0.1467 ! 0.2 0.0500 0.0501 0.0335 0.0544 0.0797 0.1049 0.1342 ! 0.4 0.0040 0.0047 0.0020 0.0272 0.0595 0.0891 0.1203 ! 0.6 0.0 0.0 0.0 0.0 0.0276 0.0718 0.1073 ! 0.8 0.0 0.0 0.0 0.0 0.0474 0.0868 0.0900 ! 1.0 0.0 0.0 0.0 0.0 0.0 0.0552 0.0800 ! </TABLE> ! ! <TABLE NAME="MilThrust" TYPE="TABLE"> ! Military_power_thrust_factor ! 8 ! 7 ! velocities/mach-norm ! position/h-sl-ft ! none ! -10000 0 10000 20000 30000 40000 50000 ! 0.0 1.2600 1.0000 0.7400 0.5340 0.3720 0.2410 0.1490 ! 0.2 1.1710 0.9340 0.6970 0.5060 0.3550 0.2310 0.1430 ! 0.4 1.1500 0.9210 0.6920 0.5060 0.3570 0.2330 0.1450 ! 0.6 1.1810 0.9510 0.7210 0.5320 0.3780 0.2480 0.1540 ! 0.8 1.2580 1.0200 0.7820 0.5820 0.4170 0.2750 0.1700 ! 1.0 1.3690 1.1200 0.8710 0.6510 0.4750 0.3150 0.1950 ! 1.2 1.4850 1.2300 0.9750 0.7440 0.5450 0.3640 0.2250 ! 1.4 1.5941 1.3400 1.0860 0.8450 0.6280 0.4240 0.2630 ! </TABLE> ! ! <TABLE NAME="WaterFactor" TYPE="TABLE"> ! Water_injection_factor ! 2 ! 2 ! velocities/mach-norm ! position/h-sl-ft ! none ! 0 50000 ! 0.0 1.2000 1.2000 ! 1.0 1.2000 1.2000 ! </TABLE> ! ! </FG_SIMTURBINE> --- 1,94 ---- ! <?xml version="1.0"?> ! <!-- ! File: GE-CF6-80C2-B1F.xml ! Author: Jon Berndt, based on output from ! Aero-Matic v 0.7, by David Culp ! ! Inputs: ! name: GE-CF6-80C2-B1F ! type: turbine ! thrust: 58000.0 lb ! augmented? no ! injected? yes ! ! Additional Information: ! ! [Source: http://www.bh.com/companions/034074152X/appendices/data-b/table-3/default.htm] ! ! Number of shafts: 2 ! Compressor: 1 + 4LP ! 14HP ! Turbine: 2HP, 5LP ! Cost: $6.10 million ! ! Length: 14.00 ft. ! Fan diameter: 8.84 ft. ! Weight: 9,500 lbs. ! ! Flat rating: 32 degrees C ! Pressure ratio (TO): 29.90 ! Mass flow (lb/sec, TO): 1,765 (lb/sec) ! TSFC (TO): 0.32 ! --> ! ! <FG_SIMTURBINE NAME="GE-CF6-80C2-B1F"> ! MILTHRUST 58000.0 ! MAXTHRUST 58000.0 ! BYPASSRATIO 5.15 ! TSFC 0.564 ! ATSFC 0.0 ! IDLEN1 30.0 ! IDLEN2 60.0 ! MAXN1 100.0 ! MAXN2 100.0 ! AUGMENTED 0 ! AUGMETHOD 1 ! INJECTED 1 ! ! <TABLE NAME="IdleThrust" TYPE="TABLE"> ! Idle_power_thrust_factor ! 6 ! 7 ! velocities/mach-norm ! position/h-sl-ft ! none ! -10000 0 10000 20000 30000 40000 50000 ! 0.0 0.0430 0.0488 0.0528 0.0694 0.0899 0.1183 0.1467 ! 0.2 0.0500 0.0501 0.0335 0.0544 0.0797 0.1049 0.1342 ! 0.4 0.0040 0.0047 0.0020 0.0272 0.0595 0.0891 0.1203 ! 0.6 0.0 0.0 0.0 0.0 0.0276 0.0718 0.1073 ! 0.8 0.0 0.0 0.0 0.0 0.0474 0.0868 0.0900 ! 1.0 0.0 0.0 0.0 0.0 0.0 0.0552 0.0800 ! </TABLE> ! ! <TABLE NAME="MilThrust" TYPE="TABLE"> ! Military_power_thrust_factor ! 8 ! 7 ! velocities/mach-norm ! position/h-sl-ft ! none ! -10000 0 10000 20000 30000 40000 50000 ! 0.0 1.2600 1.0000 0.7400 0.5340 0.3720 0.2410 0.1490 ! 0.2 1.1710 0.9340 0.6970 0.5060 0.3550 0.2310 0.1430 ! 0.4 1.1500 0.9210 0.6920 0.5060 0.3570 0.2330 0.1450 ! 0.6 1.1810 0.9510 0.7210 0.5320 0.3780 0.2480 0.1540 ! 0.8 1.2580 1.0200 0.7820 0.5820 0.4170 0.2750 0.1700 ! 1.0 1.3690 1.1200 0.8710 0.6510 0.4750 0.3150 0.1950 ! 1.2 1.4850 1.2300 0.9750 0.7440 0.5450 0.3640 0.2250 ! 1.4 1.5941 1.3400 1.0860 0.8450 0.6280 0.4240 0.2630 ! </TABLE> ! ! <TABLE NAME="WaterFactor" TYPE="TABLE"> ! Water_injection_factor ! 2 ! 2 ! velocities/mach-norm ! position/h-sl-ft ! none ! 0 50000 ! 0.0 1.2000 1.2000 ! 1.0 1.2000 1.2000 ! </TABLE> ! ! </FG_SIMTURBINE> |
From: Jon S. B. <jb...@us...> - 2004-04-25 00:51:27
|
Update of /cvsroot/jsbsim/JSBSim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26933 Modified Files: FGAtmosphere.cpp Log Message: David wins the prize for finding the one remaining extraneous include of FGPropagate.h <grin> Index: FGAtmosphere.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/FGAtmosphere.cpp,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -r1.63 -r1.64 *** FGAtmosphere.cpp 17 Apr 2004 21:21:26 -0000 1.63 --- FGAtmosphere.cpp 25 Apr 2004 00:51:19 -0000 1.64 *************** *** 55,59 **** #include "FGInertial.h" #include "FGPropertyManager.h" - #include "FGPropagate.h" namespace JSBSim { --- 55,58 ---- |