1
0
Fork 0
Commit graph

797 commits

Author SHA1 Message Date
curt
0d87fad65c Shuffled location of ExternalNet.[ch]xx to it's own subdir.
Removed External.[ch]xx which is a duplicate of NullFDM.[ch]xx
--fdm=external is preserved but just maps to NullFDM.
2002-09-28 21:42:03 +00:00
curt
d2dbf0a8ee Moved the ExternalNet code to it's own subdirectory. The plan is also
place standalone FDM wrappers here as well so we can build FDM specific
executables that interface with FG via the ExternalNet interface.
2002-09-28 21:38:51 +00:00
curt
dc7103245a My understanding of plib's net libs has expanded slightly. A couple of
small mods here reflect that and allow the external network connection
to play better when other net connections (i.e. telnet) are activated.
2002-09-28 17:37:44 +00:00
curt
de667227c4 Minor formating tweaks. 2002-09-28 04:01:34 +00:00
curt
3a0f56a6e6 Removed some extraneous spaces that crept in some how. 2002-09-28 04:01:20 +00:00
curt
a677ddac5d Pass ground elevation at aircraft position to external FDM, not ground
elevation at view point.
2002-09-28 04:00:55 +00:00
curt
b81139dab3 Pass stall warning info in net_fdm.hxx 2002-09-27 21:20:28 +00:00
curt
c1417a0268 Pass velocities in local body axis. 2002-09-27 01:20:20 +00:00
curt
911e7dbfa8 For flaps power, fuel pump, and starter, send power state rather than switch
state.
2002-09-26 04:49:31 +00:00
curt
d53b005a41 Interchange state of fuel_pump (switches) and master switches (bat, alt,
and avionics.)
2002-09-25 22:08:43 +00:00
tony
04f7625c67 Fixes for flaps, gear, and reset. The c310 takeoff rotation problem seems to be fixed as well, though I don't understand why. 2002-09-25 11:04:20 +00:00
tony
ab242159a3 JSBSim updates. This update changes the file format, so an update of the base
package is required.
2002-09-24 12:54:43 +00:00
tony
743b4848cf Changed much inline code to non-inline. The inline code that remains in the header *must* be there to avoid linker errors. 2002-09-22 15:32:45 +00:00
tony
1ca94a72c0 Latest updates, including a thrust-only turbofan model. It should produce
realistic thrust (including time-dependent effects), but does not provide
N1, N2, EPR, etc.
2002-09-22 15:31:09 +00:00
curt
e2313bfb55 Michael Selig:
A bug lurked into our uiuc code.

There are two changes:
[1] Comment out the chunk of code as shown (compare w/ the old)
[2] Put back in the function call, and in that code change AlphaTail to Alpha.
2002-09-11 18:27:26 +00:00
curt
1784ad74b6 Updates from Rob Deters. 2002-09-11 16:45:47 +00:00
curt
93c9f8cbf4 Updates from Rob Deters. 2002-09-11 02:31:10 +00:00
curt
f8c24745b6 Initial revision 2002-09-10 01:13:59 +00:00
tony
83179a5daf Various clean-ups. 2002-09-05 13:55:16 +00:00
curt
e9dba2caa1 Removed dos line endings. 2002-09-03 13:27:45 +00:00
curt
9de48125cc Initial revision. 2002-09-03 00:50:01 +00:00
curt
9a5ec79e11 Updates to the UIUCModel code. This includes some big compile time
speedups to uiuc_menu.cpp.

(Note these were originally submitted before the cutoff date for new
features, but something was corrupted in the transfer so I granted a bit
of leeway in the schedule.)
2002-09-02 23:26:28 +00:00
tony
408c3d5dda Removed unused and improperly initialized constant. 2002-08-30 13:43:28 +00:00
tony
f8c1e8dc98 Fixed an oops. 2002-08-29 13:39:29 +00:00
tony
b2fe0cc682 Added FGTurbine.[ch]* 2002-08-29 13:27:43 +00:00
tony
3f459636fd New Turbine engine model framework 2002-08-29 13:26:49 +00:00
curt
5aaa533da9 Fix a compile error. 2002-08-28 16:58:57 +00:00
tony
b5d116dad7 Latest JSBSim updates. 2002-08-28 13:46:42 +00:00
curt
21db1e10b2 More tweaks to the automake/conf configuration scripts. 2002-08-28 03:34:31 +00:00
curt
050ba12fba Strip dos line endings. 2002-08-26 22:04:10 +00:00
curt
4f00d9a959 Tidy up the autoconf/automake configuration a bit.
- Removed some old cruft.

- Removed some support for older versions of automake which technically was
  correct, but caused the newer automakes to squawk warnings during an
  initial sanity check (which isn't done very intelligently.)

  NOTE: this fix is technically not correct for older version of automake.
  These older version use the variable "INCLUDES" internally and could have
  them already set to an important value.  That is why we were appending
  our values to them.  However, newer versions of automake don't set this
  value themselves so it is an error to append to a non-existant variable.
  We seem to "get away" with overwriting the value on older versions of
  automake, but if you have problems, consider upgrading to at least
  automake-1.5.
2002-08-25 19:40:04 +00:00
david
c3f4b63258 Remove dependency on acmodel.hxx out of flight.hxx (which is included
many places) and into the files that actually use it.
2002-08-07 01:30:21 +00:00
david
844a55c3d1 Latest JSBSim updates. 2002-08-05 20:13:34 +00:00
curt
f71e09be69 Remove call to function only in plib-cvs. 2002-08-05 18:29:25 +00:00
curt
dc28e74081 Convert several alert/info statements to debug. 2002-08-01 21:51:09 +00:00
curt
acdd550a2f Fixes so that we can read incoming broadcast packets (so we can have multiple
channels driven from one broadcast source.)
2002-07-31 23:24:55 +00:00
curt
94c44fc172 A couple fixes to the network fdm interface. 2002-07-30 04:37:16 +00:00
tony
f04d342f6a Member variable initialization fixes from Cameron Moore 2002-07-11 00:19:19 +00:00
tony
e0fa2db2c9 Fixed typo in SetGammaFallback() 2002-07-10 03:24:57 +00:00
curt
b17e1bb7c0 Update controls so we can specify each tank on/off individually. Also
updated the network interface files to add fuel tank selector information.
2002-07-05 19:04:04 +00:00
david
961804b03e Patch from Dave Luff to use dt properly in CHT calculation. 2002-07-03 04:13:28 +00:00
curt
a28b35f3f2 Fixes for IA-64 with Intel compiler. 2002-07-02 20:45:02 +00:00
david
0c4c182f1e Fixed an uninitialized variable reported by Frederic Bouvier; this
could cause the FDM occasionally to get caught in a very long loop.
2002-06-28 19:06:23 +00:00
david
a26ea45c43 Update from JSBSim - fix bugs reported by Gonzalo Peralta with CHT and
oil pressure.
2002-06-28 18:38:28 +00:00
david
343fb01972 Patch from Julian Foad:
Remove redundant class scope qualifiers.  (Should not be used within
class definition.)
2002-06-28 17:59:44 +00:00
andy
b162cf8707 Wrong units when interpreting <weight> tags. 2002-06-24 04:18:53 +00:00
andy
8199ece7dc Hack in an /accelerations/pilot-g property, for testing a new panel
instrument.  This needs to move somewhere permanent.

Also, remove a bogus fuel consumption setting that (1) was off by a factor
of 3600 (hours, not seconds) and (2) collided with identical code in FGFDM.
2002-06-20 04:11:19 +00:00
andy
9541e06a1e Finally fixed the flap drag issue. Drag modifications need to be based on
the amount of drag that the produced lift *would* have produced given an
unflapped air surface.  A nifty trick involving the assumption that AoA is
small works for this, and produces plausible results in the high AoA case
as well.

Also, trim for approach using the elevator-trim control, not elevator.
Just cosmetic for current planes, but future ones might have differing
implementations of trim.
2002-06-15 05:40:02 +00:00
andy
a682823ada Bugfix. The engine thrust is recalculated based on the current N1 value
(and not the throttle setting), but the recalculation left in a degeneracy
when the target/throttle setting was exactly zero.  Zero times a big number
is still zero.  Fixed to use real math, not theoretical math.
2002-06-12 08:23:05 +00:00
curt
a4e81f4ff0 Erik Hofman:
This patch solves an unknown reference to a function which showed up
when using no-inlining.
2002-06-11 16:32:12 +00:00
andy
df2b147ef5 Really simple command line airplane compiler. Basically a test program;
not integrated into the Makefile.am stuff.
2002-06-10 20:15:35 +00:00
andy
0cabedaa4f Use the density values from the environment subsystem, to properly handle
density variations due to humidity.
2002-06-10 08:47:29 +00:00
tony
9299767541 Oops. Previous versions caused compile errors 2002-06-08 03:20:37 +00:00
tony
0975a42f49 The external atmosphere fix. Really this time. 2002-06-08 03:15:05 +00:00
tony
00dcf9f507 JSBSim updates, including external atmosphere fix 2002-06-08 03:14:03 +00:00
curt
e2e640ef46 Set control surface positions when using an external network fdm.
Fetch all pending remote fdm network packets so there is not chance of
  getting behind.
Add support for driving control panel lights.
Working on better modeling KX 155 tuning behavior.
2002-06-05 05:22:42 +00:00
andy
2852f27bdc Uninitialized data problem. As it turns out, this never bit us because
the _chord member is only used uninitialized in circumstances where the
result is thrown away.  Still, bad practice.  Found with valgrind.
2002-06-04 07:23:34 +00:00
curt
11766afb6c Added flap_deflection so that remote fdm can pass back actual flap deflection
in order to drive the flap sound effects and animation.
2002-06-03 23:35:43 +00:00
andy
04e083083d Need to call recalc() on the RigidBody during solution, or else it
won't apply the right gross weight due to fuel differences.

When solving for zero force, do so in the global frame, not the
aircraft's.  In principle, this shouldn't matter (zero is zero in all
frames), but in practice this should help to avoid oscillations.
Calculating lift as force perpendicular to the ground (and not the
wing plane) is clearly the Right Thing, anyway.

Also added support for a /yasim/gross-weight-lbs property, which
should be generically useful.
2002-06-01 19:59:38 +00:00
andy
713920356b Property name typo. This resulted in all temperatures being 273K,
which is far too warm at altitude.  Thus, air density (and aircraft
performance) was too low for a given altitude.
2002-05-30 18:54:08 +00:00
david
25450e040a Patch from Melchior Franz:
The new dt/multiloop method requires new damping parameters.
2002-05-29 22:38:11 +00:00
andy
7e63c0f6e8 Modify solution heuristics. Do the cruise AoA and tail incidence only
when the lift/drag are really solid.  And defer the approach trim until
the all four of the other variables are perfect.  I believe this should
fix the solution failures under gcc 2.95.2.
2002-05-29 08:41:13 +00:00
andy
adeeed1a0e Oops. Stray checkin. Revert. 2002-05-29 07:09:41 +00:00
andy
f324ea9bad The incidence setting only works on a compiled object. If setIncidence
is called on a non-compiled object, make sure to re-set it after compilation.
2002-05-29 07:07:29 +00:00
david
8cf573ae51 JSBSim change:
Reverse sense of rudder surface position, for consistency with
ailerons and FlightGear controls.
2002-05-28 13:50:51 +00:00
andy
040c508aa8 We don't handle propellers turning backwards. This got clamped
implicitly in PropEngine by disallowing negative torques, but that was
removed at some point.  We really need the explosion protection here
at the source.
2002-05-23 19:47:19 +00:00
andy
6af60f7462 Yank the "castering" attribute and replace it with a ControlMap-enabled
control that can be set via the property system.  This allows implementation
of the DC-3 wheel lock.
2002-05-23 19:30:56 +00:00
andy
4d10297732 Oops, left debug code in the checkin. 2002-05-21 18:45:56 +00:00
andy
4535c84b99 Solve for the elevator control input during approach. It turns out that
the downforce from the tail due to elevator trim is a significant contribution
to total lift.
2002-05-21 07:40:46 +00:00
curt
b1674cb506 From: "Jim Wilson" <jimw@kelcomaine.com>
This is a new improved patch for the previous tile manager fixes.

Rather than building dependencies between FGlocation or the viewer or fdm with
tilemgr what I ended up doing was linking the pieces together in the Mainloop
in main.cxx.  You'll see what I mean...it's been commented fairly well.  More
than likely we should move that chunk somewhere...just not sure where yet.

The changes seem clean now. As I get more ideas there could be some further
improvement in organizing the update in tilemgr.  You'll note that I left an
override in there for the tilemgr::update() function to preserve earlier
functionality if someone needs it (e.g. usage independent of an fdm or
viewer), not to mention there are a few places in flightgear that call it
directly that have not been changed to the new interface (and may not need to be).

The code has been optimized to avoid duplicate traversals and seems to run
generally quite well.  Note that there can be a short delay reloading tiles
that have been dropped from static views.  We could call the tile scheduler on
a view switch, but it's not a big deal and at the moment I'd like to get this
in so people can try it and comment on it as it is.

Everything has been resycned with CVS tonight and I've included the
description submitted earlier (below).

Best,

Jim

Changes synced with CVS approx 20:30EDT 2002-05-09 (after this evenings updates).

Files:
http://www.spiderbark.com/fgfs/viewer-update-20020516.tar.gz
 or
http://www.spiderbark.com/fgfs/viewer-update-20020516.diffs.gz

Description:
In a nutshell, these patches begin to take what was one value for ground
elevation and calculate ground elevation values seperately for the FDM and the
viewer (eye position).  Several outstanding view related bugs have been fixed.

With the introduction of the new viewer code a lot of that Flight Gear code
broke related to use of a global variable called "scenery.cur_elev".

Therefore the ground_elevation and other associated items (like the current
tile bucket) is maintained per FDM instance and per View.  Each of these has a
"point" or location that can be identified.  See changes to FGLocation class
and main.cxx.

Most of the problems related to the new viewer in terms of sky, ground and
runway lights, and tower views are fixed.

There are four minor problems remaining.  1) The sun/moon spins when you pan
the "lookat" tower view only (view #3).  2) Under stress (esp. magic carpet
full speed with max visibility), there is a memory leak in the tile caching
that was not introduced with these changes.  3) I have not tested these
changes or made corrections to the ADA or External FDM interfaces.  4) The
change view function doesn't call the time/light update (not a problem unless
a tower is very far away).

Details:
FDM/flight.cxx, flight.hxx - FGInterface ties to FGAircraftModel so that it's
 location data can be accessed for runway (ground elevation under aircraft)
 elevation.

FDM/larsim.cxx, larcsim.hxx - gets runway elevation from FGInterface now.
Commented out function that is causing a namespace conflict, hasn't been
called with recent code anyway.

FDM/JSBSim/JSBSim.cxx, YASim/YASim.cxx - gets runway elevation from
FGInterface now.

Scenery/newcache.cxx, newcache.hxx - changed caching scheme to time based
(oldest tiles discard).

Scenery/tileentry.cxx, tileentry.hxx - added place to record time, changed
rendering to reference viewer altitude in order to fix a problem with ground
and runway lights.

Scenery/tilemgr.cxx, tilemgr.hxx - Modified update() to accept values for
multiple locations.   Refresh function added in  order to periodically make
the tiles current for a non-moving view (like a tower).

Main/fg_init.cxx - register event for making tiles current in a non-moving
view (like a tower).

Main/location.hxx - added support for current ground elevation data.

Main/main.cxx - added second tilemgr call for fdm, fixed places where viewer
position data was required for correct sky rendering.

Main/options.cxx - fixed segfault reported by Curtis when using --view-offset
command line parameter.

Main/viewer.cxx, viewer.hxx - removed fudging of view position. Fixed numerous
bugs that were causing eye and target values to get mixed up.
2002-05-17 17:25:28 +00:00
andy
4efbc97a4b Revert the recent changes to Atmosphere.cpp. They were actually in
the wrong place.  The Atmosphere::getStd*() calls are used by the
solver, and thus really need to return values for a "standard"
atmosphere.  Otherwise, an aircraft started up in Moscow will behave
differently than one initialized in Cairo. :)

The place where environmental pressure and temperature get inspected
at runtime is in YASim.cxx.  The changes there, happily, end up being
even smaller than the ones to Atmosphere.  This ends up replacing code
only, and removing some comments.
2002-05-16 07:49:22 +00:00
david
52c1cb2f7d Take the static temperature, static pressure, and density values from
an external source if requested by the
/environment/params/control-fdm-atmosphere property.
2002-05-15 12:10:48 +00:00
david
cade7aad70 Comment out set_Static_pressure, set_Static_temperature, and
set_Density; since JSBSim doesn't override the get_* methods from
FGInterface as well, the wrong values are always set anyway.

Take the static temperature, static pressure, and density values from
an external source if requested by the
/environment/params/control-fdm-atmosphere property.  This isn't
working properly yet for JSBSim because of interactions with the
trimming routine.
2002-05-15 12:06:33 +00:00
curt
47825dcbae Moved "scenery" from being declaried in scenery.cxx to being declared
in globals.hxx.
2002-05-14 05:22:52 +00:00
david
1fe50d4cd2 Removed configuration option --with-old-mouse and FG_OLD_MOUSE macro.
Removed configuration option --with-new-environment and
FG_NEW_ENVIRONMENT macro.

Added configuration option --with-weathercm and FG_WEATHERCM macro.

FGEnvironment is now the default; use --with-weathercm to get the old
weather.
2002-05-12 00:12:19 +00:00
david
e1c2a95f2f Fix maximum speed bug. 2002-05-11 21:09:53 +00:00
david
5a849b66e8 Major overhaul:
- changed FGSubsystem::update(int) to
  FGSubsystem::update(delta_time_sec); the argument is now delta time
  in seconds rather than milliseconds

- added FGSubsystem::suspend(), FGSubsystem::suspend(bool),
  FGSubsystem::resume(), and FGSubsystem::is_suspended(), all with
  default implementations; is_suspended takes account of the master
  freeze as well as the subsystem's individual suspended state

- the FDMs now use the delta time argument the same as the rest of
  FlightGear; formerly, main.cxx made a special case and passed a
  multiloop argument

- FDMs now calculate multiloop internally instead of relying on
  main.cxx

There are probably some problems -- I've done basic testing with the
major FDMs and subsystems, but we'll probably need a few weeks to
sniff out bugs.
2002-05-11 16:28:50 +00:00
david
56473dc28d Mac OS X fixes and MSVC warning fixes from Jonathan Polley. 2002-05-10 23:35:06 +00:00
david
907e2942bb Patch from Melchior Franz:
Due to jumpy joystick read-outs the UFO jitters a lot in turns.
This patch implements simple damping for aileron/elevator/throttle.
Furthermore it lets the UFO fly backwards if brake[0] is active
(by default associated with the joystick's fire button). After all,
everyone knows that UFO's can fly backwards!
2002-05-09 21:56:31 +00:00
david
5c799d1ba2 Patch from Melchior Franz:
It's cumbersome to use the MagicCarpet as 3D cursor, because everytime
you shoot over the target you have first to turn by 180 degrees and to
fly back.

This patch lets the magic carpet fly backwards if brake[0] is active,
which is by default associated with the joystick's fire button.
2002-05-09 21:56:07 +00:00
curt
37b665075f Robert Deters:
> I have attached some new additions to the UIUC code.  Most of the
> changes allow for the addition of apparent mass.  This is very
> useful with light aircraft and gliders.
2002-05-09 05:02:36 +00:00
david
93e0274eb8 Last rev was based on an old version and blew away recent changes.
Reverted to the current JSBSim CVS version of each.
2002-05-07 23:11:16 +00:00
tony
be71e0f555 Added stall hysteresis modeling, nose should fall through nicely in a stall now. 2002-05-04 17:38:06 +00:00
tony
4306cebe9e Norman Vine's speed optimizations 2002-05-03 13:56:09 +00:00
andy
7a9e2aba71 Fix dumb typo. Very embarassing, but oddly not fatal... 2002-05-01 01:17:33 +00:00
tony
4a854fcc3e JSBSim updates, including MSVC fixes from Bernie Bright 2002-04-30 13:42:26 +00:00
david
18e36a3302 UFO FDM patches from Jonathan Polley:
I have finished working the bugs out of my "Enhanced" version of the Magic
Carpet FDM.  The UFO FDM works the same as the Magic Carpet with the
following exceptions:

The aircraft's pitch is determined by the Elevator setting (with a pitch
rate of 45 degrees per second).
Climb is forward velocity * sin(pitch)
Speed is forward velocity * soc(pitch)

Roll is tied to the aileron (again, with a roll rate of 45 degrees per
second)
Turn rate is sin(roll) * 45 degrees.

Yes, this does mean that turning is quite a bit more sluggish than
climbing.

If you are wondering why a UFO FDM, it is because it's best that I not
replace the existing magic carpet and this FDM does behave like a UFO (it
hovers, can spin and pitch while hovering, and does not obey the laws of
physics ;)
2002-04-25 16:23:16 +00:00
david
473ea84621 JSBSim fix:
Corrected typo "flaps-pos-deg" to "flap-pos-deg".  JSBSim now reports
the normalized flap position to FlightGear, and the model animation
works again.
2002-04-19 12:15:46 +00:00
curt
e5abcd1ef1 Replaced spaces with <tab> since this is a makefile. 2002-04-16 20:42:58 +00:00
david
adcb4fc30e Latest JSBSim changes. 2002-04-16 13:15:29 +00:00
david
fa5a707128 JSBSim change:
Set an arbitrary cutoff (5RPM) where friction causes the propeller to
stop spinning.
2002-04-12 17:24:17 +00:00
david
f17a6479f7 Get rid of non-portable fmax call. 2002-04-11 19:09:15 +00:00
david
9156544566 Add support for /controls/parking-brake -- it effective overrides the
individual braking commands for the main gear.
2002-04-11 17:11:22 +00:00
curt
bef1e770bb Change constructor parameter order. 2002-04-11 05:39:56 +00:00
david
ba31d94379 Fixed reversed sign for nosewheel steering. 2002-04-11 00:14:10 +00:00
andy
4a2f192fb1 Change the idle MP to reduce idle power a bit. This is basically a
hack, and should be replaced with a sane idle model that has some
physical justification.
2002-04-09 04:55:16 +00:00
curt
cea3b2e4eb Added support for sending:
- Throttle control position
- Mixture control position
- Magneto/starter control position

Added support for receiving:
- Engine state (off, cranking, running)
- RPM
- Fuel Flow
- EGT
- Oil Temp
- Oil Pressure
- Fuel tank quantity
- Weight on wheels
2002-04-08 19:57:45 +00:00
david
d89c63ab32 JSBSim change:
Reduced the steering gain again, but still left it much higher than it
used to be.
2002-04-08 16:15:14 +00:00
tony
5fcabc9982 Converted FCS to use property tree internally, documentation updates. 2002-04-06 16:03:16 +00:00
david
04bc768e0a JSBSim fix:
Changed the steering gain from +/-0.1 to +/-1.0, so that the steering
angle for the nosewheel (when present) is the same as the rudder
deflection angle.  That's probably not exactly right, but it's much
better than we had before -- you can now steer the plane on the ground
reasonably during taxiing.
2002-04-05 16:55:30 +00:00
curt
5ff966e8de More platform/compiler compatibility fixes. 2002-04-04 20:41:15 +00:00
david
e78a4d3727 Commented out code setting view position offsets until we sort out
what is what.
2002-04-04 01:04:09 +00:00
curt
716aa4f7ea The previous version used a feature (language extension?) of gcc that
isn't supported by all other compilers.  Notably, MSVC and IRIX puked.
2002-04-03 00:57:06 +00:00
curt
2717dba826 I have attached revisions to the UIUC code. The revisions include the
ability to run a nonlinear model with flaps.  The files ls_model.c and
uiuc_aero.c were changed since we had some functions with the same
name.  The name changes doesn't affect the code, it just makes it a
little easier to read.  There are changes in LaRCsim.cxx so UIUC
models have engine sound.  Could you send me an email when you receive
this and/or when the changes make it to the CVS?  Thanks.

Also I noticed you have some outdated files that are no longer used in
the UIUCModel directory.  They are uiuc_initializemaps1.cpp,
uiuc_initializemaps2.cpp, uiuc_initializemaps3.cpp, and
uiuc_initializemaps4.cpp

Rob
2002-04-01 21:37:33 +00:00
curt
ca364c2cd9 Added support for rotational rates and body access (pilot relative)
accelerations.
2002-03-27 05:21:38 +00:00
david
bdca06f9ba Commented out cout statements that were not in the std namespace. 2002-03-26 13:44:21 +00:00
curt
0a035c7f36 Oops, in the latest property manager rewrite, a typo crept in on
somewhat of a global scale.  This commit should fix all these up.
2002-03-26 02:38:11 +00:00
tony
d2156b5649 Updates. Includes property tree additions and fixes. Also Jon's first cut at
multi-fdm capability.  Thanks also to Erik for pointing out a couple of typos.
2002-03-23 00:29:21 +00:00
tony
464c060171 Fix for flaps problem. 2002-03-23 00:27:16 +00:00
andy
e45cb5d0aa Found by inspection a bug in the generation of orientation matrices
for fuselage Surface objects.  If the fuselage wasn't aligned perpendicular
to the Y axis, the matrix wouldn't be orthonormal.  Since all of, perhaps,
three aircraft have ever been built this way, it's doubtful I would have
found this as a bug report. :)
2002-03-21 03:35:52 +00:00
tony
8b621f2b1e Fix for the flaps problem. 2002-03-21 02:26:22 +00:00
tony
86e5f091bc Irix fix. 2002-03-21 01:45:49 +00:00
david
d0d3b2bd7a Use !strcmp for all property string-value comparisons. 2002-03-20 22:15:22 +00:00
david
9dbb215b1d Added missing file from JSBSim CVS, with 'using namespace std;'
statement added for ANSI-conformant compilers.
2002-03-20 14:06:14 +00:00
tony
775094f9af Updates. 2002-03-20 12:45:39 +00:00
tony
317d794f5c First commit of properties code. JSBSim now has a basic property tree all
under /fdm/jsbsim
2002-03-20 12:45:02 +00:00
david
0cc3bed841 Major property-manager rewrite, using const char * throughout
interface instead of string.  This will result in a lot more
efficiency later, once I add in a simple hash table for caching
lookups, since it will avoid creating a lot of temporary string
objects.  The major considerations for users will be that they cannot
use

  node->getName() == "foo";

any more, and will have to use c_str() when setting a string value
from a C++ string.
2002-03-19 17:12:13 +00:00
andy
47b2307356 Oops, "one third from the edge" means "one SIXTH from the center". 2002-03-19 00:02:18 +00:00
curt
a2acc953ae Somewhere along the line in the recent changes some std::cout were
inclueded in some of the files. Irix doesn't have cout in the std class,
so I changed it to "cout" and included SG_USING_NAMESPACE(std) at the
beginning of the files.
And some minor warning cleanups.
2002-03-18 19:46:24 +00:00
david
d0eaafb1e1 Patches from Tony Peden to separate property XML I/O operations into a
separate header file.  This change will help integrate properties into
JSBSim.

Also, I (David Megginson) removed most of the SimGear include
statements from globals.hxx, reducing the amount of recompilation
every time SimGear changes.  This required making minor changes to a
lot of files that were depending on the side-effects of the inclusions
in globals.hxx.
2002-03-16 00:18:38 +00:00
andy
b933406818 Print an error message before terminating on parse errors. 2002-03-15 19:02:07 +00:00
curt
06bf5db80a Working on the start of a 'standard' <grin> remote FDM interface. This
is a work in progress and needs severe enhancement before it will be
useful.  It provides a UDP data channel that goes both ways between
flightgear and the fdm.  It also provides a TCP 'command' channel so
flightgear can 'reliably' send commands to the remote fdm (such as set
starting position, reset on ground, etc.)
2002-03-13 06:07:07 +00:00
andy
b9d1cad6f2 Export the gear compression to the property tree. 2002-03-04 07:57:43 +00:00
david
f75e1b4d7b Add fake control-surface positions for 3D model animation. 2002-03-04 01:28:17 +00:00
tony
173251885b Fixed gear position property. 2002-03-01 20:56:15 +00:00
tony
34072bbc42 Changed -pct properties to -norm 2002-03-01 12:38:37 +00:00
andy
ab381e5c01 Added a property output feature to ControlMap that allows arbitrary binding
and scaling of control values to properties.  Also added a time interpolation
feature that replaces the hacked-in "retract-time" feature for the gear in
a more general way (applicable to flaps, too!).  Incompatibly breaks
the XML syntax; get new files!
2002-03-01 06:47:28 +00:00
tony
03b9ecf039 Copy normalized control surface positions to property tree 2002-02-28 13:32:40 +00:00
tony
1ab43c8048 Add support for normalized control surface positions and right and left ailerons 2002-02-28 13:31:56 +00:00
tony
a073e35c7c Add support for normalized control surface positions 2002-02-28 13:30:25 +00:00
andy
5faea1c494 Wrong sense in the pilot acceleration coordinates (or maybe it's a panel
bug?  I'm not sure what points where anymore).
2002-02-27 08:24:37 +00:00
andy
df9069a224 Added a post-solver "initEngines()" call to return the engines to a sane
initial state.  No more starting up at cruise RPM.
2002-02-27 00:41:57 +00:00
andy
d3cca375dc Basically complete support for piston engine startup, including power loss
due to single-magneto operation.  Seems to work.
2002-02-27 00:18:57 +00:00
tony
51587dbe75 Trimming in turn now works 2002-02-26 22:28:41 +00:00
tony
998c2a9325 Output control positions to properties 2002-02-26 22:27:42 +00:00
curt
15fcd26c2f Removed JSBSim/tests 2002-02-25 00:07:05 +00:00
tony
eb5a3ceee5 Workaround for terrain altitude problem. Helps but doesn't work 100% 2002-02-24 21:56:38 +00:00
curt
3ca8643632 Removed orphaned 10520d engine modeling code. Thanks goes to Phil
Schubert for getting the ball rolling with engine modeling in
flightgear.  The existing engine modeling code is derived from
his initial efforts.
2002-02-24 21:41:02 +00:00
curt
f06a3e8289 Moved to tests subdirectory. 2002-02-24 21:01:11 +00:00
curt
1b6cde22dc Moved to JSBSim subdirectory. 2002-02-24 20:54:23 +00:00
curt
4cbfe4b724 Moved JSBSim.cxx and JSBSim.hxx into src/FDM/JSBSim subdirectory
(similar to how YASim is setup.)
2002-02-24 20:53:46 +00:00
david
eaf9fa7621 Added FGEnvironmentMgr to provide information on the environment in
different locations, and hitched it into FGGlobals.  FGEnvironmentMgr
has taken over as the subsystem, while FGEnvironment is simple the
information that it returns.  I've removed current_environment
completely -- everything now uses properties or goes through
FGGlobals.  FGGlobals itself has a couple of useful methods:

  const FGEnvironment * get_environment ();
  const FGEnvironment * get_environment (double lat, double lon, double alt);

The first one returns the environment data for the plane's current
position, while the second returns the environment data for any
arbitrary location.  Currently, they both return the same information,
but that will change soon.
2002-02-22 22:51:34 +00:00
tony
6c90295655 Adds flap cmd and pos to output 2002-02-22 13:27:19 +00:00
tony
ee9a81fd56 Added parameter for abs value of elevator, rudder, and aileron positions 2002-02-22 13:26:31 +00:00
andy
2f00a7970c Minor mixup. Engines that are off have a manifold pressure equal to
ambient, not to _rho0, which is the air density of the "calibration
environment" (typically sea level).
2002-02-20 07:15:12 +00:00
andy
764eb2a2e7 Automatically generate "contact" points for collision detection. Implemented
as extra (and invisible) gear objects.
2002-02-20 07:12:27 +00:00
andy
6b10d8b128 Scaling "idle" MP to 6 inches or so is all well and good, but not if
the engine continues to develop 20% power.  Rescale the output power
accordingly, so idling aircraft stay put.
2002-02-20 07:10:58 +00:00
andy
3f35de9507 Forgot to include the wind when computing airspeed. Big oops. 2002-02-20 07:09:21 +00:00
andy
4edfa14137 Support a "skid" property for non-rolling gear objects like tail skids. 2002-02-20 07:08:33 +00:00
david
ad79ee4897 Added minimal support for magnetos, so that engines can be shut off.
The starter isn't working yet, so the engine just springs to life.
2002-02-20 04:27:22 +00:00
david
b4a9d76215 Fixed runway-altitude problem that prevented starts at airports higher
than sea-level.
2002-02-20 00:20:13 +00:00
david
71f120e3be Initial take of new environment subsystem. Configure with
--use-new-environment to active it.
2002-02-19 15:16:08 +00:00
david
3b870192f4 First steps in a weather reorganization. Note especially that
properties have been renamed from wind-(north|east|down)-fps to
wind-from-(north|east|down)-fps, and the FDMs modified appropriately.
No other changes should be visible unless FG_OLD_WEATHER is defined.
2002-02-19 01:26:44 +00:00
david
e90cbeacc3 Corrected wind, so that properties give the FROM direction for all
FDMs, and the --wind option takes the direction *from* which the wind
is blowing.
2002-02-18 19:33:18 +00:00
david
6c978b02f8 Patches from Tony Peden:
Attached are patches for adding the command line options to set initial
glideslope and climb rate. This was really easy to do as all the pieces
were in place.  It works well with JSBSim because the trimming routine
finds the right throttle and elevator settings. It should work with
LaRCsim as well, but it has no trimming routine so there will be some
dynamics at startup.  I don't know what YASim will do.
2002-02-18 19:18:51 +00:00
david
93c69c4bc3 Changes from Tony Peden to fix reinit crashes (and eliminate the force
altitude function).
2002-02-17 21:05:27 +00:00
david
d1208f15b8 Latest JSBSim changes. 2002-02-17 21:04:44 +00:00
curt
dc85f0c634 Be more robust when FlightGear changes it's mind about the local ground
elevation.
2002-02-16 17:38:29 +00:00
curt
4f67824f09 - Removed redundant FG*:: qualifications from class members
- Fixed comparisons between signed and unsigned ints
2002-02-15 22:00:49 +00:00
david
7a3e749284 JSBSim fix for FreeBSD. 2002-02-13 23:57:49 +00:00
david
a0ec3ccc43 Ensure that initial engine settings are copied over. 2002-02-13 20:51:57 +00:00
david
304ff21697 Latest JSBSim fixes, including Dave Luff's mixture improvements for
the JSBSim piston-engine model.
2002-02-13 14:35:10 +00:00
curt
ca3d6fac8f Added .hpp files to Makefile.am so they will be automatically included
in the tarball distributions.
2002-02-12 23:44:15 +00:00
curt
de2b5f50e9 Fixes for the bug where LaRCsim gets no fuel and won't start,
and also a bug with the EGT being displayed at running values
when cranking without starting.
2002-02-08 17:27:38 +00:00
david
827e11ff81 JSBSim change from Dave Luff:
Attached is a fix to add a short period of cranking time required
before the engine fires.  I've also added a little hack to limit the
torque applied by the starter motor when the rpm is less than 10 in
order to avoid the rpm overshooting idle in the first time step when
the prop is producing very little resistance due to the low rpm.
2002-02-08 13:36:46 +00:00
david
057885ed62 Modified to use a relative path for aircraft_dir rather than an
absolute one.  The path should be relative to $FG_ROOT.
2002-02-08 13:21:28 +00:00
david
7b01a143a1 Latest JSBSim changes from Tony Peden (should help slip/skid ball). 2002-02-06 16:52:34 +00:00
david
c5d537394d Latest JSBSim changes, including a kludge from Tony to keep the
slip/skid ball still when the plane is stationary.
2002-02-06 04:07:12 +00:00
curt
08bbb83b8e A grab bag of tweaks and patches from Norman Vine.
- Better mingwin/cygwin support
- Various gui tweaks and code clean ups
- Initialization clean ups
- Hitlist/scenery tweaks
- other misc. stuff.
2002-02-05 20:54:08 +00:00
curt
b1027c7b6a Various Irix compiler tweaks. 2002-02-05 15:57:46 +00:00
david
d3db1e622b Latest JSBSim changes, including SGI patch. 2002-02-01 02:11:13 +00:00
curt
88170a7d36 Uncommented a few more inline accessors for the FDM. Note that this doesn't
mean that the various flight models are filling in the values with valid
data.
2002-01-31 20:18:19 +00:00
david
abbedea3bc Fixes from Cameron Moore:
I've attached 3 diffs against files in FlightGear to fix some printf
format strings.  The changes are pretty straight forward.  Let me know
if you have any questions.  (BTW, I'm using gcc 2.95.4)
2002-01-30 16:17:26 +00:00
david
45807b3126 Latest update from JSBSim. 2002-01-24 15:51:26 +00:00
curt
9c13fafe5a Small fix for Irix. 2002-01-23 22:11:51 +00:00
curt
dea7284cc7 Restructured the 'freeze' property a bit. We now have
/sim/freeze/master      (implimented)
  /sim/freeze/fuel        (implimented)
  /sim/freeze/position    (not implimented)
  /sim/freeze/time-of-day (not implimented)

/sim/freeze/master is bound to the 'p' key via keyboard.xml, however,
/sim/freeze/fuel is not bound to anything at the moment so you must
change it via the external property interface, or specify an initial
value on the command line.
2002-01-20 03:52:36 +00:00
david
88cb2d13f0 Latest JSBSim changes. 2002-01-19 21:50:31 +00:00
david
451ebabe95 Fix use of properties for fuel-tank levels. 2002-01-19 18:26:30 +00:00
david
47772b9853 Return a positive shortage when there is still fuel in the tank;
otherwise, the logic in FGEngine::ConsumeFuel breaks down and the
engine is starved when *any* feed tank is empty, rather than when all
feed tanks are empty.
2002-01-19 18:25:52 +00:00
david
2008529299 - fixed fuel-need calculations
- stop engine when no fuel is available
2002-01-19 18:24:02 +00:00
david
80b4567d54 Removed FGEngInterface and FGGearInterface after consultation with
FDM people.  FlightGear now supports an unlimited number of fuel
tanks.  Also added correct fuel-flow reporting for piston engines, and
tracked new features in SimGear property support.
2002-01-19 05:34:03 +00:00
david
eedf9f9671 Latest JSBSim changes, including some gear tweaking from Jon and some
fuel-reporting improvements for piston engines.
2002-01-19 05:32:28 +00:00
david
80130682fb - changed mixture cutoff from 50% to 30%, to allow for borderline
leaning at high altitude

- changed to report correct manifold pressure for altitude when engine
  is running
2002-01-14 20:44:19 +00:00
curt
ea327e59b2 Removed FGMatrix.* because it is no longer used by JSBSim. 2002-01-14 18:33:06 +00:00
david
cf7f829130 Added ability to set engine RPM from FlightGear. 2002-01-14 14:23:53 +00:00
david
bc13e2f213 Change from Norman Vine to avoid breaking G++ 2.95. 2002-01-11 17:55:26 +00:00
david
73f5eec1b7 ANSI C++ fixes, to allow compilation with g++ 3.x. 2002-01-10 12:52:39 +00:00
david
ecddbcbb48 JSBSim update:
Removed debugging message about windmilling.
2002-01-03 21:42:44 +00:00
david
117bf73dea JSBSim update. 2002-01-03 21:04:49 +00:00
david
21931e320c Update from JSBSim
Changed _set_Accels_Pilot_Body to use FGAuxiliary::GetNpilot instead
of FGAuxiliary::GetPilotAccel.  It looks like a similar change was
started but never finished, and there are artifacts still lingering.
With this change, the slip/skid ball now works reasonably on the C172
when in motion, but not at rest (that will have to wait for fixes to
the gear code).
2002-01-03 17:42:04 +00:00
curt
1fa4c88d0e Updates to build system to better support automake-1.5
- automake-1.4 sets default values for INCLUDES which we can't
  overwrite.
- automake-1.5 renames this to DEFAULT_INCLUDES and leaves INCLUDES
  open for the developer to use.

Thus for automake-1.4 we are forced to 'append' to INCLUDES and in
automake-1.5 we can just set the value to whatever we like.
Unfortunately, the behaviors of the two versions are mutually
incompatible.

The solution I am committing now works for both versions but
automake-1.5 generates a lot of spurious warning messages that are
annoying, but not fatal.
2001-12-28 22:29:59 +00:00
david
36f00b1c12 Updated to latest JSBSim, including preliminary support for
windmilling propellers.
2001-12-25 00:02:25 +00:00
david
be7cc1058a Patch from Andy to fix propellers on DC-3. 2001-12-24 20:34:53 +00:00
david
5d8a04291c Latest JSBSim changes. 2001-12-24 13:54:55 +00:00
david
f0e6716953 Latest YASim changes. 2001-12-24 13:54:03 +00:00
curt
f5c9008823 Added FGScript.{cpp,h} 2001-12-22 17:40:26 +00:00
curt
3f1e9cdc37 Initial revision. 2001-12-22 17:39:21 +00:00
david
aabdd355f0 Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop).  Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
2001-12-22 17:33:27 +00:00
david
b9dc522882 Latest JSBSim changes. 2001-12-21 19:20:21 +00:00
david
a4ba46a270 Latest JSBSim changes, mostly to support yaw and roll trim. 2001-12-17 15:36:20 +00:00
david
0395a446f7 Latest JSBSim changes to support yaw and roll trim. 2001-12-17 01:42:39 +00:00
david
7abad40151 Fixed to look for easyxml.hxx in the simgear/xml rather than simgear/. 2001-12-16 22:00:35 +00:00
david
0505201362 Latest JSBSim changes -- EGT fixes. 2001-12-15 13:53:53 +00:00
david
26c6f3f407 Latest JSBSim changes. 2001-12-14 23:57:05 +00:00
david
fbccfab5ff Latest JSBSim changes. 2001-12-14 03:35:41 +00:00
david
5c3f4e999d Latest JSBSim changes. 2001-12-13 04:48:34 +00:00
curt
37c2b6002c Rename FGInterface::_updatePosition() ->
FGInterface::_updateGeocentricPosition() for clarity.  Also added an
  FGInterface::_updateGeodeticPosition() since it is useful.
A few clean ups to native_fdm.cxx and raw_fdm.hxx.
2001-12-12 05:18:46 +00:00
david
4f5d70144a -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
david
d45e1d0ac6 Added config.h, which is autogenerated. 2001-12-11 22:26:51 +00:00
curt
9f73588b31 YASim-0.1.3 updates. 2001-12-10 23:13:54 +00:00
curt
4cc5cee885 David Megginson writes:
Here's an unusual patch for FlightGear -- I've created .cvsignore
files for every source directory, to make CVS output more informative.
This is especially nice when using cvs-examine from (X)Emacs to look
for changes.
2001-12-09 05:43:40 +00:00
curt
9d54df6d87 Revert to pre-wind-sticking ground reaction forces until they can be debugged. 2001-12-09 05:14:48 +00:00
curt
e27a88756c Changes from Norman Vine that 'almost' get 'reset' and 'goto apt' working.
Note there is still a problem when doing a 'reset' after doing
a 'goto'.   Curt says: I also see that doing two subsequent reset's on a
JSBSim model results in a segfault in a deconstructor deep inside JSBSim.
2001-12-07 22:38:19 +00:00
curt
48260480b3 Updated to YASim-0.1.2 2001-12-07 20:00:59 +00:00
curt
6b2e17493e Syncing with most recent JSBSim. 2001-12-07 17:10:17 +00:00
curt
d8e7b7b9ff Changed --aircraft= to --aero= to make way for a high level aircraft definition
that will tie together fdm, aero model, 3d model, sounds, etc. into one
top level config file.
2001-12-06 23:10:50 +00:00
curt
f716539390 Change default search directory for YASim aircraft to $FG_ROOT/Aircraft-yasim
with corresponding changes to the base tree cvs.
2001-12-06 20:16:03 +00:00
curt
e08d4359cd Tweaks to fix directory change. 2001-12-06 18:16:22 +00:00
curt
4c422bbe6d Updated to YASim-0.1.1 2001-12-06 18:13:24 +00:00
curt
a1ab836daf Sync with latest JSBSim. 2001-12-05 03:10:20 +00:00
curt
238df6975a Synced with Jon's table parsing fixes. 2001-12-04 13:59:38 +00:00
curt
5513830175 Initial revision. 2001-12-03 22:36:42 +00:00
curt
408742c48c Syncing with latest JSBSim code with retractable landing gear support. 2001-12-03 22:24:40 +00:00
curt
58aa15ece9 JSBSim sync. 2001-12-03 22:17:03 +00:00
curt
5b84ae51a5 Initial revision of Andy Ross's YASim code. This is (Y)et (A)nother Flight
Dynamics (Sim)ulator.  Basically, this is a rough, first cut of a "different
take" on FDM design.  It's intended to be very simple to use,
producing reasonable results for aircraft of all sorts and sizes,
while maintaining simulation plausibility even in odd flight
conditions like spins and aerobatics.  It's at the point now where one
can actually fly the planes around.
2001-12-01 06:22:24 +00:00
curt
bc391fb54e Sync with latest JSBSim. 2001-12-01 04:03:57 +00:00
curt
e1ac99d5c9 ** src/Cockpit/panel.cxx
- delete table in destructor

** src/FDM/flight.cxx
- bind engine properties in FGInterface::bind, and publish properties
  for all engines rather than just engine 0

** src/Main/fg_props.cxx
- removed all engine properties; now bound in FGInterface::bind

** src/Sounds/fg_fx.cxx
- support multiple engine and cranking sounds

** src/Sounds/fg_fx.hxx
- support multiple engine and cranking sounds
2001-11-30 20:55:14 +00:00
curt
71a562b695 Sync with latest JSBSim changes. 2001-11-30 17:49:37 +00:00
curt
c167c60de9 Don't use turbulence model by default because it is still under development. 2001-11-27 03:32:24 +00:00
curt
ffe498f33f Initial revision. 2001-11-25 00:32:58 +00:00
curt
ac50500e80 Sync with latest JSBSim CVS. 2001-11-24 22:13:04 +00:00
curt
d19ef5cd99 Synced with latest JSBSim cvs. 2001-11-20 22:34:24 +00:00
curt
6bc2f59572 Sync with latest JSBSim CVS 2001-11-12 16:06:29 +00:00
curt
daabe407aa Add the "null" flight model which is a better name for what the "external"
flightmodel used to be called.
Fixed wind (it was 180 degrees off).
2001-11-12 04:49:06 +00:00
curt
fee8c33799 Sync with latest JSBSim 2001-11-09 04:38:53 +00:00
curt
5fe0f04702 Updates to JSBSim and FDM interface. 2001-11-06 22:33:05 +00:00
curt
dff16b3f8d Fix from Dave to get JSBSim engine startups working again. 2001-10-30 16:14:51 +00:00
curt
b82a5ad062 Latest updates from the JSBSim project. 2001-10-30 02:51:13 +00:00
curt
7172d31e71 Additional changes including updates to JSBSim to try to get interface and
initial trimming to work.
2001-10-29 19:00:24 +00:00
curt
5f4f82dbe7 Additional startup work and error checking. 2001-10-29 18:38:21 +00:00
curt
c74c2f224f Update JSBSim files to latest JSBSim CVS. 2001-10-29 18:25:19 +00:00
curt
c3ec11ca13 Fix a screwup I introduced with radians to degree conversion in passing data
between JSBSim and FlightGear.
2001-10-29 17:28:00 +00:00
curt
c8f21829d4 Attempting to simplify JSBSim initialization. 2001-10-29 04:38:25 +00:00
curt
d41bb00d6e Fix return type on get_num_engines() 2001-10-28 16:19:54 +00:00
curt
2b056c8452 This set of changes touches a *lot* of files. The main goal here is to
fix startup sequence problems where we initialize the FDM before we know
the desired starting altitude.

These changes delay fdm initialization until the local tile has been loaded
and we can do a real intersection and find the true ground elevation.

In order to do this, I depend more on the property manager as glue, rather
than the FGInterface.

There are some glitches still when switching to a new airport or reseting
the sim.  I will work on addressing these, but I need to commit the changes
so far to keep in sync with other developers.
2001-10-28 16:16:30 +00:00
curt
a5ee77406f Emergency memory leak fix. ***Hopefully*** these fixes will get applied
to JSBSim so they can become permanent.
2001-10-14 16:13:00 +00:00
curt
3e968179c2 Patches from Dave Luffto pass the magneto and starter control movements
through the controls interface and the running and cranking flags through
the engine interface.  This has no current effect on LaRCsim (other than
to make the code neater) but is necessary to add engine startup to JSBSim
which is now underway.  I've also put in main.cxx which escaped getting
committed in the previous round of changes - adding this will add
the cranking sound to LaRCsim during engine startup.
2001-10-10 17:50:20 +00:00
curt
a264f99310 Updated with additional engine parameters. 2001-10-05 22:44:15 +00:00
curt
74fc1387a9 Begin wiring Dave Luff's engine model into JSBSim. 2001-10-05 20:27:33 +00:00
curt
07f5955f8c Many engine model tweaks, updates, and enhancements. 2001-10-05 20:27:01 +00:00
curt
ba10c133fc Syncing with the very latest JSBSim development code. 2001-10-05 20:19:59 +00:00
curt
2297c706e8 Initial revision. 2001-10-05 20:16:16 +00:00
curt
646f93e618 Enclosed is the latest engine model update that supercedes the
one I sent yesterday.  I have re-zipped all four files so you can
neglect the last lot but only io360.cxx has changed if you've
already committed.  It's untested since I can't start the engine until
John has committed his update with separate properties.  Should
work fine though.
2001-09-19 22:58:29 +00:00
curt
bb785797b9 b) FDM - ada.cxx, ada.hxx have been updated with the faux, daux and iaux arrays that you created in flight.hxx. In Flight.hxx I use the get_V_north_rel_ground() set of functions. Please do not comment them out. If you dont comment them, you dont have to forcibly return zero vale to get_Vx(),get_Vy() & get_Vz() in cockpit.cxx. 2001-09-19 22:25:22 +00:00
curt
d96dd611b1 Tweaks. 2001-09-14 20:54:46 +00:00
curt
bfc56f9d17 More changes in support of UIUCModel. 2001-09-14 20:47:27 +00:00
curt
19e7e93787 /FDM/UIUCModel/uiuc_aircraft.h
Added variables necessary for new abilities.
/FDM/UIUCModel/uiuc_coefficients.cpp
/FDM/UIUCModel/uiuc_coefficients.h
/FDM/UIUCModel/uiuc_coef_lift.cpp
	Added CZfa.
/FDM/UIUCModel/uiuc_controlInput.cpp
	Added aileron and rudder inputs.
/FDM/UIUCModel/uiuc_engine.cpp
	Added throttle input.
/FDM/UIUCModel/uiuc_engine.h
/FDM/UIUCModel/uiuc_map_CL.cpp
/FDM/UIUCModel/uiuc_map_engine.cpp
/FDM/UIUCModel/uiuc_map_init.cpp
/FDM/UIUCModel/uiuc_menu.cpp
/FDM/UIUCModel/uiuc_wrapper.cpp
	Added a few new functions.
/FDM/UIUCModel/uiuc_wrapper.h
/FDM/UIUCModel/uiuc_map_controlSurface.cpp
/FDM/UIUCModel/uiuc_initializemaps.cpp
/FDM/UIUCModel/uiuc_initializemaps.h
/FDM/UIUCModel/uiuc_map_keyword.cpp
/FDM/UIUCModel/Makefile.am
/Main/Makefile.am

added files
/FDM/UIUCModel/uiuc_map_fog.cpp
	For the visibility ability.
/FDM/UIUCModel/uiuc_map_fog.h
/FDM/UIUCModel/uiuc_fog.cpp
/FDM/UIUCModel/uiuc_fog.h
2001-09-14 20:36:34 +00:00
curt
a691a3a3f6 Changes to better support arbitrary external flight models. 2001-09-04 14:38:15 +00:00
curt
019b6d29fe Fixed [simple] terrain following altitude hold mode to work again. 2001-08-31 18:07:23 +00:00
curt
59ccf90a60 Misc tweaks. 2001-08-14 19:47:40 +00:00
curt
45904a45eb Various MSVC tweaks and warning fixes. 2001-07-30 22:53:53 +00:00
curt
5796b95988 Updates. 2001-07-26 17:17:11 +00:00
curt
43cf7b07fd Tweaks. 2001-07-24 01:02:59 +00:00
curt
d76c92df5e Initial revision. 2001-07-23 22:17:47 +00:00
curt
a40a60a213 Multi-engine throttle fixes. 2001-07-23 20:32:31 +00:00
curt
97067e62a2 Added recent ground effect modeling changes. 2001-07-23 20:31:59 +00:00
curt
96b88e539f Move FGControls declaration to globals.hxx 2001-07-22 19:51:16 +00:00
curt
98b90a2a37 - make certain UVW velocities don't overright airspeed-kt at startup 2001-07-16 04:34:46 +00:00
curt
3cca0caced Use throw to report config file load errors. 2001-07-16 04:14:34 +00:00
curt
f2515f709e Updated so load/save will work. 2001-07-13 21:45:48 +00:00
curt
26d12e4b69 Synced with latest JSBSim. 2001-07-13 16:41:23 +00:00
curt
a9289994b0 Most recent changes blew up LaRCsim so we are reverting to a previous
version.
2001-07-13 05:13:29 +00:00
curt
4e74c02688 Fix a comment. 2001-07-13 05:12:53 +00:00
curt
e4044e469f We check if the ptr is NULL before deleting it, so set it to NULL after
deleting it.
2001-07-13 05:12:30 +00:00
curt
0ff9311948 Just being a tad more careful with setting the ptr to NULL after deleting
it.
2001-07-13 05:11:46 +00:00
curt
5daff6705a - modified set_V_(north|east|down) to use set_Velocities_Local, so
that overrides in JSBSim will work (i.e. properties can be set)
- modified set_(u|v|w)Body to use set_Velocities_Wind_Body, so
  that overrides in JSBSim will work (i.e. properties can be set)
2001-07-12 23:35:36 +00:00
curt
ac1342de59 Made the following properties archivable:
- /position/latitude-deg
- /position/longitude-deg
- /position/altitude-ft
- /orientation/roll-deg
- /orientation/pitch-deg
- /orientation/heading-deg
- /velocities/speed-north-fps
- /velocities/speed-east-fps
- /velocities/speed-down-fps
(TODO: add rotational velocities)
2001-07-12 23:35:18 +00:00
curt
1cdcaef13d sync with latest JSBSim ... 2001-07-12 17:55:27 +00:00
curt
7b917bbd5c Removed FGControls.{cpp,h} 2001-07-11 23:53:45 +00:00
curt
96eff71a13 20010710 sync with JSBSim. 2001-07-10 15:56:38 +00:00
curt
72a95d570c ** Properties Renamed
- /autopilot/locks/nav1 => /autopilot/locks/nav[0]
- /autopilot/settings/altitude += "-ft"
- /autopilot/settings/climb-rate += "-fpm"
- /autopilot/settings/heading-bug += "-deg"
- /consumables/fuel/tank1/level => /consumables/fuel/tank[0]/level-gal_us
- /consumables/fuel/tank2/level => /consumables/fuel/tank[1]/level-gal_us
- /engines/engine0/cht => /engines/engine[0]/cht-degf
- /engines/engine0/egt => /engines/engine[0]/egt-degf
- /engines/engine0/fuel-flow => /engines/engine[0]/fuel-flow-gph
- /engines/engine0/mp => /engines/engine[0]/mp-osi
- /engines/engine0/rpm => /engines/engine[0]/rpm
- /environment/clouds/altitude += "-ft"
- /environment/magnetic-dip += "-deg"
- /environment/magnetic-varation += "-deg"
- /environment/visibility += "-m"
- /environment/wind-down += "-fps"
- /environment/wind-east += "-fps"
- /environment/wind-north += "-fps"
- /orientation/heading += "-deg"
- /orientation/heading-magnetic += "-deg"
- /orientation/pitch += "-deg"
- /orientation/roll += "-deg"
- /position/altitude += "-ft"
- /position/altitude-agl += "-ft"
- /position/latitude += "-deg"
- /position/longitude += "-deg"
- /radios/adf/frequencies/selected += "-khz"
- /radios/adf/frequencies/standby += "-khz"
- /radios/adf/rotation += "-deg"
- /radios/nav1/* => /radios/nav[0]/*
- /radios/nav2/* => /radios/nav[1]/*
- /radios/nav[*]/dme/distance += "-nm"
- /radios/nav[*]/frequencies/selected += "-mhz"
- /radios/nav[*]/frequencies/standby += "-mhz"
- /radios/nav[*]/radials/actual += "-deg"
- /radios/nav[*]/radials/selected += "-deg"
- /sim/view/goal-offset += "-deg"
- /sim/view/offset += "-deg"
- /steam/adf += "-deg"
- /steam/airspeed += "-kt"
- /steam/altitude += "-ft"
- /steam/gyro-compass += "-deg"
- /steam/gyro-compass-error += "-deg"
- /steam/mag-compass += "-deg"
- /steam/vertical-speed += "-fpm"
- /velocities/airspeed += "-kt"
- /velocities/side-slip += "-rad"
- /velocities/speed-down += "-fps"
- /velocities/speed-east += "-fps"
- /velocities/speed-north += "-fps"
- /velocities/uBody += "-fps"
- /velocities/vBody += "-fps"
- /velocities/wBody += "-fps"
- /velocities/vertical-speed += "-fps"
2001-07-02 22:27:24 +00:00
curt
9ff7217961 Fix a JSBSim airport elevation bug. 2001-06-26 22:16:02 +00:00
curt
d99b8fb2ba Synced to latest version of JSBSim which [hopefully] includes all of Erik's
Irix patches.
2001-06-20 22:29:31 +00:00
curt
c086f3e0e5 Property node patches by David Megginson. 2001-06-12 05:18:43 +00:00
curt
c64e284c51 More property node optimizations. 2001-06-06 19:12:24 +00:00
curt
70cfe7e606 Debugging output. 2001-06-06 17:11:35 +00:00
curt
5cf0bae003 JSBSim tweaks. 2001-06-05 22:12:57 +00:00
curt
9c0925744d Synced with latest JSBSim as of June 5, 2001. 2001-06-05 20:58:48 +00:00
curt
29d540901c Tile pager tweaks.
MSVC++ tweaks.
2001-05-21 20:44:59 +00:00
curt
74b473ca36 Don't build ls_trim.c, but keep it in EXTRA_DIST. 2001-05-18 20:29:57 +00:00
curt
aea664cd15 MSVC++ changes contributed by Geoff McLane. 2001-05-17 21:55:22 +00:00
curt
f3ca9b2e05 Synced with latest JSBSim. X15 works for me, but C172 segfaults. 2001-04-17 21:19:54 +00:00
curt
f117bc201f Oops missed one updated file. 2001-04-13 21:16:16 +00:00
curt
fc7e234d3d Irix MipsPRO fixes. 2001-04-13 21:00:07 +00:00
curt
b0b6c34249 Initial stab at a threaded tile loader contributed by Bernie Bright.
He writes:

Here are the final changes to add threads to the tile loading.  All the
thread related code is in the new FGTileLoader class.

./configure.in
./acconfig.h
Added --with-threads option and corresponding ENABLE_THREADS
definition.  The default is no threads.

./src/Scenery/tilemgr
Removed load_queue and associated references.  This has been replaced by
a new class FGTileLoader in FGNewCache.
Made the global variable global_tile_cache a member.
schedule_needed(): removed global_tile_cache.exists() tests since
sched_tile() effectively repeats the test.
initialize_queue(): removed code that loads tiles since this is now
performed by FGTileLoader.
update(): ditto

./src/Scenery/newcache
Added new class FGTileLoader to manage tile queuing and loading.
tile_map typedefs are private.
exists() is a const member function.
fill_in(): deleted
load_tile(): added.

./src/Scenery/FGTileLoader
The new threaded tile loader.  Maintains a queue of tiles waiting to be
loaded and an array of one or more threads to load the tiles.  Currently
only a single thread is created.  The queue is guarded by a mutex to
synchronize access.  A condition variable signals the thread when the
queue is non-empty.

CLO: I made a few tweaks to address a couple issues, hopefully what we
have is solid, but now we kick it out to the general public to see. :-)
2001-04-11 02:47:15 +00:00
curt
a2049b110f More JSBSim updates. 2001-04-06 22:59:31 +00:00
curt
4b6e8102a7 Synced with latest JSBSim cvs.
reinit fix from Norman.
2001-04-05 21:14:37 +00:00
curt
65f6e343ab From David Megginson:
The files in the attached tarball make the following changes to
FlightGear:

- rename the existing FGInterface::init() method to
FGInterface::_setup to get it out of the way

- move *all* FDM initialization code out of src/Main/fg_init.cxx and
into FGInterface::init(), and clean up fg_init.cxx a little
(especially by removing the zillions of attempts to place the plane on
the ground at various locations in the code)

- modify FGInterface::bind() so that no values are picked up
automatically at bind time (they are set previously by init() instead)

- modify the init() methods of the classes derived from FGInterface
(i.e. larcsim, jsbsim, balloon, magic, and ada) to invoke
FGInterface::init() explicitly before doing their own setup

I don't claim that the code in FGInterface::init() is optimal (or even
correct), but it seems to work for on-ground starts with both LaRCSim
and JSBSim on runways pointing various directions from near sea level
to about 700' ASL (the range I happened to test).  I expect that Jon
and Tony will want to look at the code and refactor and correct it now
that they can see what's going on in one place.

Here's a quick outline of what is invoked:

  cur_fdm_state = new <whatever>(dt);
  cur_fdm_state->init();
  cur_fdm_state->bind();

The constructor allocates memory and sets default values only (with
the help of the FGInterface::_setup() method).  The init() method pull
any required properties out of the property tree and sets up the
initial state of the FDM.  The bind() method takes ownership of
FDM-related properties so that the FDM can publish them to the rest of
the sim.

Note that bind() and init() are virtual, so any implementation in a
subclass will hide the implementation in FGInterface; that's why
subclass implementations of init() and bind() have to invoke
FGInterface::init() and FGInterface::bind() explicitly, probably at
the start, so that they get the basic initialization.
2001-04-05 20:20:44 +00:00
curt
397a83d69f Data logging patches from Jon Berndt
Fix for model loading under plib-1.2.x in main.cxx
2001-04-05 15:39:37 +00:00
curt
4f7ac699e3 Patches to flight.cxx to make things work better with JSBSim. 2001-04-02 20:14:04 +00:00
curt
20fb555364 Updates to fix c172 throttle. 2001-04-02 03:18:44 +00:00
curt
94034c3081 Latest jsbsim updates. 2001-04-02 03:12:38 +00:00
curt
2aca8ca2cf Irix MipsPro patches and fixes. 2001-04-02 02:59:31 +00:00
curt
7c81992a2d Updated from JSBSim cvs. 2001-04-02 02:27:45 +00:00
curt
626969d0cc Initial revision. 2001-03-30 03:08:44 +00:00
curt
74fbaa8f5e Latest round of JSBSim updates. 2001-03-30 01:04:50 +00:00
curt
bfb2a65128 Initial revision. 2001-03-29 13:14:42 +00:00
curt
31047f65ac - model loading should work again with the latest CVS PLIB (and, I
hope, with earlier versions as well)
- support for the new LONG value type
- gear support for UIUC (updated for the newly renamed SG_* stuff;
otherwise identical to what I sent you before)
- fixed reported MSVC problem in src/FDM/flight.cxx
2001-03-29 03:49:02 +00:00
curt
0ab39eea99 From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models.  The patches (including four new files) are
available at

  http://megginson.com/private/fgfs/uiuc-20010309.tar.gz

A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at

  http://megginson.com/private/fgfs/aircraft.dat

It should be possible to configure appropriate gear for all of the
UIUC models now.  As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.

My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips.  The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).


Details
-------

The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips.  I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:

  gear <index> Dx_gear <value>     # x offset from CG [ft]
  gear <index> Dy_gear <value>     # y offset from CG [ft]
  gear <index> Dz_gear <value>     # z offset from CG [ft]
  gear <index> cgear <value>       # spring damping [lbs/ft/sec]
  gear <index> kgear <value>       # springiness [lbs/ft]
  gear <index> muGear <value>      # rolling coefficient
  gear <index> strutLength <value> # gear travel [ft] (not yet used)

Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.

It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).


Background
----------

As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).

I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air.  Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit.  At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework.  Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration.  It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
curt
84816c13af Fix for MSVC. 2001-03-29 01:44:54 +00:00
curt
c4b2e54551 Fix moon drawing at night. 2001-03-28 17:52:40 +00:00
curt
96a9152b02 Irix MIPS patches. 2001-03-26 18:22:31 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
5ea9c04c64 SG_ namespace. 2001-03-24 04:56:46 +00:00
curt
17c96ae69e SG_ namespace 2001-03-24 04:48:44 +00:00
curt
92443d36a4 FG_ to SG_ namespace changes. 2001-03-24 03:10:40 +00:00
curt
17f3d48e03 FG_ to SG_ namespace changes. 2001-03-24 02:36:45 +00:00
curt
1bf3001749 FG_ to SG_ namespace changes. 2001-03-24 00:18:01 +00:00
curt
5958389026 FG_ to SG_ namespace changes. 2001-03-23 22:59:18 +00:00
curt
8497f9b1ac FG_ to SG_ name changes. 2001-03-23 22:42:49 +00:00
curt
945163b540 FG_HAVE_STD_INCLUDES -> SG_HAVE_STD_INCLUDES 2001-03-23 22:15:19 +00:00
curt
4162c808bd David Luff: I've put Phil's temperature correction back in since I'm not
implicitly correcting for that yet.  The plane now makes it to 11000ft on
autopilot *slowly*.  I think I'll have to look at the prop parameters
next - altering the diameter and blade angle just slightly can have
quite an effect.  If you want to play then try changing the values
prop_diameter and blade_angle in FGNewEngine::init.  Keep blade
angle between 20 and 25 (since those are the only values for which
I've entered data and I interpolate between them) and ignore
FGProp1_Blade_Angle since that's an old variable that isn't used.  I
really ought to read all the engine and prop parameters from file to
avoid recompilation when tweaking !
2001-03-22 23:42:16 +00:00
curt
80ff1af457 David Luff: Here is an update to the engine model. It now takes
the actual air pressure and temperature from the LaRCSim model
instead of assuming that it is at sea level as before.  This has
reduced the ceiling from over 60000 ft to about 9000 ft.  This is a bit
low (should be around 13 - 14000 ft I think) but I still have some
stuff to do with the engine power correlation and its ignoring the
temperature at the moment so I'm not panicking yet :-)

I've also changed the mixture-power correlation to one from a
published paper since the curve from the IO360 manual seemed to
be a load of rubbish, and didn't have any numbers on the mixture
axis anyway.

I've also knocked the full rich mixture down a touch in line with
Riley Rainey's recommendation, and cleaned up the code a bit.
2001-03-22 16:27:16 +00:00
curt
2b45761f56 Fixes from Erik Hofman for Mips Irix. 2001-03-10 20:58:47 +00:00
curt
0262c56059 Fixes to initial position for JSBSim. 2001-03-03 00:03:42 +00:00
curt
e9591422f3 Added a first pass at a C++ sound manager class. 2001-03-02 22:37:01 +00:00
curt
5d423a94b0 Contributed by Dave Luff:
Added fuel-flow and total fuel to the LaRCSim model.  Its still a bit
rough for now but it works, except the engine dosn't stop when fuel runs
out at the moment since there's no refuelling capability in the sim just
now.  It takes about 4 gallons use before you see the fuel guages begin
to drop since there's 28 gal per tank but the guages go to 26.
2001-03-01 16:32:29 +00:00
curt
a5d1970007 David Luff writes:
Basically I've rewritten the prop model along similar lines to how
Jon has done his - using published efficiency and coefficient of
power data.  It works *much* better - try pulling the throttle back
to idle and putting the plane into a dive before and after updating
and you'll see what I mean.  It doesn't require a fudge factor either
:-)
2001-02-02 20:55:41 +00:00
curt
f023440a5f Bug fix/typo fix submitted by Tony. 2001-01-29 04:47:16 +00:00
curt
a5e4e6be11 Working on setting initial altitude correctly after a reset. 2001-01-17 20:32:02 +00:00
curt
26dca37028 More "delta-t" and fdm interface timing tweaks. 2001-01-17 02:37:12 +00:00
curt
d346e53aee Tweaking the FGInterface interface so we can move it towards a more consistant
fgSubsystem init() and update() interface.
2001-01-16 21:41:28 +00:00
curt
f7b844f4d6 More property manager interface updates. 2001-01-16 20:21:03 +00:00
curt
576432ec75 David Megginson writes:
FGOptions is history, and the modules are (starting) to use the property
manager directly.  Let me know if I left any files out.

Inevitably, there will be some problems with broken options, etc.,
that I haven't found in my tests, but I'll try to fix them quickly.
We also need to stress that the property names currently in use are
not stable -- we need to reorganize them a bit for clarity.
2001-01-13 22:06:39 +00:00
curt
cff0022a16 Miscellaneous MSVC porting fixes by Christian Mayer. 2001-01-11 05:04:17 +00:00
curt
dc7b762a12 Minor MSVC porting tweaks. 2001-01-11 04:54:33 +00:00
curt
e9d12ee586 Tweaks from Tony to JSBSim.cxx jsbsim interface to flightgear.
Added ls_trim.c to the LaRCsim library.
2001-01-09 18:35:23 +00:00
curt
7a235abecd Tweaks to the LaRCsim interface to get wind working.
Corresponding tweaks to bfi.[ch]xx and options.cxx.
2001-01-08 17:59:54 +00:00
curt
e333080388 MacOS changes contributed by Darrell Walisser (12/13/2000) 2000-12-13 23:02:02 +00:00
curt
57a4c79eb5 Moved Time/timestamp.hxx into simgear/timing/timestamp.hxx 2000-11-30 18:43:31 +00:00
curt
0f98d21dd7 Nov. 14, 2000 JSBSim updates 2000-11-14 20:31:58 +00:00
curt
aa9fece628 Rearranged includes a touch. 2000-11-13 16:37:38 +00:00
curt
407dcaff62 Sync with current JSBSim devel code. 2000-11-03 23:02:47 +00:00
curt
a6f1e938cd Here are updated IO360.cxx and IO360.hxx files with an alteration to
bring EGT down to a more reasonable range.  EGT is now returned in
deg Fahrenheit (yuk!!) by the accessor function since that is what
the guage is calibrated in, and the absolute max value that can be
output (max power mixture at max power) is about 750 deg F.  Dave, I
suggest that you set the guage to run from 450 - 750 deg F between
the four big marker ticks.  What do the offset and scale actually
refer to in the .xml config file BTW?

Fuel flow, better handling of manifold pressure wrt engine speed, and
proper consideration of altitude effects next, hopefully.
2000-11-02 17:01:09 +00:00
curt
11a68e55d4 Updates by Tony working on the FDM interface bus. 2000-10-28 16:30:30 +00:00
curt
b83ad15313 Added CHT (cylinder head temp) to BFI and property manager. 2000-10-27 22:00:43 +00:00
curt
b5b0ba5eba This is a somewhat rough first attempt at modelling cylinder head
temperature.  The cylinder head is assumed to be at uniform
temperature.  Obviously this is incorrect, but it simplifies things a
lot, and we're just looking for the behaviour of CHT to be correct.
Energy transfer to the cylinder head is assumed to be one third of the
energy released by combustion at all conditions.  This is a reasonable
estimate, although obviously in real life it varies with different
conditions and possibly with CHT itself.  I've split energy transfer
from the cylinder head into 2 terms - free convection - ie convection
to stationary air, and forced convection, ie convection into flowing
air.  The basic free convection equation is: dqdt = -hAdT   Since we
don't know A and are going to set h quite arbitarily anyway I've
knocked A out and just wrapped it up in h - the only real significance
is that the units of h will be different but that dosn't really matter
to us anyway.  In addition, we have the problem that the prop model
I'm currently using dosn't model the backwash from the prop which will
add to the velocity of the cooling air when the prop is turning, so
I've added an extra term to try and cope with this.

In real life, forced convection equations are genarally empirically
derived, and are quite complicated and generally contain such things
as the Reynolds and Nusselt numbers to various powers.  The best
course of action would probably to find an empirical correlation from
the literature for a similar situation and try and get it to fit well.
 However, for now I am using my own made up very simple correlation
for the energy transfer from the cylinder head:

dqdt = -(h1.dT) -(h2.m_dot.dT) -(h3.rpm.dT)

where dT is the temperature different between the cylinder head and
the surrounding air, m_dot is the mass flow rate of cooling air
through an arbitary volume, rpm is the engine speed in rpm (this is
the backwash term), and h1, h2, h3 are co-efficients which we can play
with to attempt to get the CHT behaviour to match real life.

In order to change the values of CHT that the engine settles down at
at various conditions, have a play with h1, h2 and h3.  In order to
change the rate of heating/cooling without affecting equilibrium
values alter the cylinder head mass, which is really quite arbitary.
Bear in mind that altering h1, h2 and h3 will also alter the rate of
heating or cooling as well as equilibrium values, but altering the
cylinder head mass will only alter the rate.  It would I suppose be
better to read the values from file to avoid the necessity for
re-compilation every time I change them.
2000-10-27 21:33:07 +00:00
curt
d85d899244 Started integrating Jon's doc++ comments. 2000-10-24 21:43:37 +00:00
curt
d475a0c002 Updates to fix a network communication problem. 2000-10-24 17:15:32 +00:00