ACM-5.0-dlc User Manual

version: 20141229

Minorly updated 2014-12-29 by David L. Craig available at
dlc.casita.net/~dlcacm/download.html
which was derived from the majorly enhanced version last released 2010-01-09 by Umberto Salsi available at
www.icosaedro.it/acm/download.html
which was derived from the last release of the original program by Riley Rainey (no longer available online).

ACM-5.0-dlc: Landing the F-16 with Head-Up Display in the default Sahara scene

Table of Contents

Introduction
Features
Changes Not Already Described
Acknowledgments
Support
Graphical interface
 The You Panel
ACM Command Syntax
 The init Option
 The objects Option
 The stealth Option
 The depth_steps Option
 The geometry Option
 The subject-entity-id Option
 The frame-rate Option
 The update-rate Option
 The plane Option
Keyboard Commands
The Magnetic Compass
The Classic Instruments Panel
The Head-Up Display
The HSI
The ADF
The Auto Pilot System
The Auto-pilot
The Auto-throttle
The Auto-coordinator
The Auto-navigator
The Auto-landing
The Auto-turn
Lights Panel
The Radar System
Drones
Stealth Mode
Default Scene
Building ACM on UNIX Systems
Defining New Scenes
Defining New Aircraft
Defining New Objects
IEEE 1278.1 (DIS) Compliance
The Transfer Control Protocol
Acronyms
Units of measurement
Suggested Further Reading
The Source Code (ACM for Windows only)
Starting ACM for Windows

Introduction

ACM-5.0-dlc is a distributed multiplayer air combat simulation that runs on Unix-like platforms, such as Linux and Solaris. Players can engage in air-to-air combat with infrared missiles and cannon (the Su-30 also drops bombs), but civil aircraft are available, as well. Users can add more aircraft models and more sceneries, and this manual explains how all that can be done, too.

Aircraft are simulated as 6 degrees of freedom bodies (movement forward, backward, leftward, rightward, upward, and downward), and every model gets described and then behaves according to its aerodynamic properties. Landing gear dynamics/ground handling, engines, atmosphere properties including wind, and (naturally) control inputs, are also simulated, so you can experiment the different behaviors of the aircraft in different flying conditions.

The “world” of ACM is round, but the terrain is uniformly colored and lacks any detail apart from haze and some facilities here and there. This poor rendering is intentional because it makes the program so light and fast, performing 25 frames per second with a CPU load nearly zero, without the need of an accelerated video-card nor specialized graphical library. ACM-5.0-dlc is also suitable for instrumental flight, since it provides many airports and related radio-navigation aids, both VOR and ILS.

Features

Summary of the main features currently implemented (changes for this release are noted as [New]):

  • Source code provided with GPL license
  • Simulation with 6 degrees of freedom
  • Landing gear simulation
  • Limited vertical positive/negative load
  • Standard atmosphere
  • Weather: daylight/night, fog, wind
  • Classic instruments
    • Magnetic compass
    • Turn and slip indicator
    • Airspeed indicator
    • Attitude and bank indicator
    • Altitude indicator
    • Vertical speed indicator
  • Navigation
    • HSI with RNAV calculator
    • ADF
  • [New] Support for key release event handling, including detailed tracing of key and button events to stderr
  • By default, the aircraft control stick is simulated via the joystick if its device path is specified via the -js program argument and is successfully accessed; otherwise, the mouse is used
  • [New] The pilot may at any time toggle between the stick control default and the use of a keyboard stick facility
  • [New] Transition between joystick/mouse and keyboard control is requested via doubled [m] key presses
  • [New] Keyboard stick control uses arrow keys
    • [Up] (stick forward)
    • [Down] (stick back)
    • [Left]
    • [Right]
  • [New] A red and yellow rectangle displays the position of the keyboard stick just as the X cursor visualizes the position of the mouse stick, and is designed to be used as a target to resynchronize the mouse cursor with the aircraft's control stick when ready to switch back to mouse control to ensure a gentle transition
  • [New] The keyboard cursor rectangle's display can be toggled off and on via the [U] key
  • [New] [PageUp] and [PageDown] have been redefined to increase/decrease the sensitivity of the keyboard control stick, where sensitivity defines the number of pixels moved by each stick movement command, a number between 1 and 128
  • [New Keyboard stick control uses the [End] key to cycle through the available sensitivity modes
    • Linear—each [PageUp]/[PageDown] increments/decrements the sensitivity by one
    • Double—each [PageUp]/[PageDown] doubles/halves the sensitivity
  • [New] Mouse center and right buttons are duplicated with the [v] (press=fire, release=cease fire) and [V] keys
  • Head-up display (HUD) system and inertial reference which can be toggled with the display of a classic instrument panel via the [H] key
  • [New] The color and brightness of the HUD and messages can be changed in-flight via the [C] and [B] keys, respectively
  • Auto-pilots
    • [AC] Rudder/aileron coordination enabled via [X] key
    • [AW] Wings level enabled via [VerticalBar] key
    • [AW] 3.0° turn (standard rate) enabled via [<] (left) and [>] (right) keys
    • [AW] 1.5° turn enabled via [Comma] (left) and [Period] (right) keys
    • [AP] Hold altitude enabled via [Z] key
    • [AP] Hold rate of climb rate enabled via [A] key
    • [AT] Hold speed enabled via [T] key
    • [AN] Follow VOR radial enabled via [N] key
    • [AL] Follow ILS glide path enabled via [L] key
  • Several aircraft models implemented, both civil and military
  • Several senarios that use actual aviation facilities
    • Dallas, Texas, USA
    • Italy
    • Nellis AFB, Nevada, USA
    • Baghdad, Iraq
  • [New] The default scene, Sahara, is out in no-man’s land with minimal and ficticious facilities
  • [New] Annotated “aerial photographs” and other screenshots in this manual document the default scene
  • Navigation charts in PDF format for the ACM-5.0-ico scenery

Changes Not Already Described

This manual documents the ACM-5.0-dlc-* release, basically the ACM-5.0-ico version with some minor additions and corrections:

Acknowledgments

The original version of this program, Aerial Combat Modeler, was developed by Riley Rainey and distributed under the GPL license. Until sometime after 2010, the last version released, 5.0, was still available from Web Simulations Incorporated (www.websimulations.com). ACM-5.0-ico was Umberto Salsi’s major effort to improve, correct and extend the ACM-5.0 project, and was last updated January 9, 2010 (99% of this manual is directly from his release). For this distribution, I packaged some very minor enhancements I had developed to “scratch some itches”, but I have nowhere near the aeronautical engineering and graphics programming skills of these gentlemen. Also, the Free Software Foundation offers a version of Rainey’s release updated to a 5.1 version at www.gnu.org/software/acm/ but I have not looked into its changes beyond a very superficial level.

The first version of ACM was released in 1991 via the venerable Usenet comp.sources.unix newsgroup. Since then, ACM was upgraded to support the IEEE 1278 Distributed Interactive Simulation (DIS) protocol.

Parts of ACM were derived from other sources. The DIS protocol compiler is based on technology originated at Sun Microsystems in their public domain ONC RPC product. ACM’s DIS glue code was created by Mats Loftkvist. The C++ interface to Microsoft’s DirectDraw is derived from samples created by Nigel Thompson in his book, 3D Graphics Programming for Windows 95.

Many others have generously supplied bug fixes and other changes to ACM-5.0 since it was originally released. In particular, Brad Bass and Tim Tessin contributed with their encouragement and continued support. Charlie Briggs and Tom Giertz have helped out a lot, too.

The original version ACM-5.0 was available also for Windows 95/NT, but that was no more true for ACM-5.0-ico and it now compiles only on Unix-like systems. The manual sections have consequently been moved to the back of this version of the manual and remain only for historical reference.

Support

News, bugs and updates for ACM-5.0-dlc will hopefully continue to be available at dlc.casita.net/~dlc/acm/download.html.

Graphical interface

You can start the program either from the command line (ACM-5.0-dlc includes a shell script, acm.sh, that may be edited and executed) or from the graphical interface. The ACM-5.0-dlc distribution package includes acm-5.0-ico’s simple GUI to start ACM which has not been modified so far. Run the program acm.tk with the command

$ ./acm.tk

If your computer complains about the invalid path of the “wish” interpreter (the Tcl/Tk window shell), simply open the file acm.tk with your text editor and change the first line so that the pathfile will match the location of the “wish” interpreter on your system. The windows can display several panels: select the desired panel pressing the button at the top of the window.

The acm.tk program.

The preferences you set in this mask are saved in the file .acmtkrc in your home directory, and restored every time you restart the program. Left-clicking the Run button starts ACM. The Default button sets the default values into the mask. The Quit button exits the program.

The You Panel

Plane: lets you to select your aircraft among several models (refer to the plane ACM command argument for details.

Team lets you to select your team. The team 1 plays against MiG-29 drone fighters. Team 2 plays against F-16 drone fighters.

The Latitude, Longitude, Altitude, Magnetic Heading and True Air Speed entry boxes allow to set the starting position. Leaving blank these fields you will depart from the location defined in the TEAM1_LOC record of the scene, or from the local ground of the location set in the entry box above.

The Payload includes the weight of the pilot, the passengers, their luggage and the cargo. For example, you should consider at least 150 lb for every person. If left empty, 150 lb of the pilot are silently added.

By default ACM will load as much fuel the chosen aircraft allows to load. The Fuel field lets you to set the amount of fuel desired.

“Instruments” panel

Panel allows to choose between classic instruments panel and HUD mode. Once started, you can however switch between the two modes pressing SHIFT-H.

From this panel you can select the instruments between the classic panel and the HUD display. You can also enter the distance of the eye from the screen as centimeters (1 inch = 2.54 cm) and the downward angle of view (degrees). The picture below illustrates these parameters:


Scale factor and cockpit view layout.


From the distance of the eye from the screen the program compute a proper scale factor so that the landscape visible outside the cockpit can be rendered realistically and without distorsion, a feature particularly useful in visual flight mode.

The downward angle of view (DAV) allows the pilot to see below the horizontal axis of the aircraft. This angle can range from 7 to 10° for civil aircrafts, up to 15 or even 18° on fighters. Setting properly this parameter may challange the pilot dealing with take off and landings maneuvers with limited downward visibility. Flying at low speed the angle of attack (AoA) reduces the visibility even more, and the effective downward angle of view becomes the difference DAV−AoA. To fully display the HUD graphics a DAV of at least 12° is required.

“Scene” panel

Scene is the scene to load. The ACM package includes five .acmscene scene files in the directory objects/: sahara, dallas, italy, nellis, and baghdad. The default scene is simply a symlink to the Sahara scene. If you don’t select a scene, ACM will try to load the default scene. Note inclusion of the .acmscene suffix is required.

Lightning. You can fly with the daylight or by night. You can flight through the clouds and the fog setting the field Visibility to a value lower than 50 NM. Two or three NM is probably the minimum value that allows safe landings in IFR mode. The “visibility” is effective only by day, since currently it has no effect in “night” mode.

Wind direction and Wind velocity sets an uniform wind over all the ACM “world”. Remember that the wind direction is the direction from which the wind come from. For example, with a wind from 90 degrees your aircraft will drift toward West. Landing the Cessna C-172 with a cross wind at 10 knots is difficult; at 20 knots is nearly impossible.

Wind gust max intensity sets the maximum intensity of the wind gusts. Avoiding crashes in gusty conditions is in no way easy—you have been warned.

“Drones” panel

The drone mode may be “dog fight” or “hunting”. In dog fight mode drones are placed just in front of you. In hunting mode drones are placed up to 50 NM away from you in random direction and altitude.

This panel allows also to set the drones aggressivenes, i.e., how much “G” they will pull to escape from you or to attack you. For example, selecting 70% the drone will maneuver up to the 70% of its current maximum vertical load, both positive and negative.

“Configure” panel

The entry box Program contains the file-name of the executable program ACM. This is the program launched when you press the Run button.

The entry box Objects directory contains the directory-name of the directory containing the scenes, the aircraft inventory and other resources the ACM program needs.

The Color depth steps set the number of color shades that will be generated to render the haze effect. Minimum is 1 (no haze), maximum is 100, default is 30. If you get the error “too many colors requested” you have to reduce this value—20 works well.

The Frame rate is the number of times per seconds the program will update the image on the screen. 25 is probably a good choice. This value does not influence the internal speed of computation, which is always performed at 50 Hz, but it sets only the rate at which the frames are redrawn on the screen.

Mouse movements (and keyboard cursor commands) are translated to ailerons and elevator movements. The Mouse mode menu allows a choice between fast, normal, or precise movements. “Fast” may be useful in dog fight combat. “Normal” and “precise” modes are suggested for the normal flight.

If you have a joystick supported by the program, set the name of the Joystick serial port, typically in the form /dev/something. Remember to set properly the right access to the drive (chmod o+rw /dev/something).

The remaining flags of this panel are quite self-explanatory. Sounds effect are very rough and probably you will leave this feature disabled. Remember only to enable the DIS protocol if you want to fight agains the drones.

ACM Command Syntax

ACM uses POSIX style command line formatting:

acm [ -help ] [ -version ]
[ -init command-file-name ]
[ -objects path1:path2:... ]
[ -depth_steps number ]
[ -stealth ]
[ -subject-entity-id site-id.appl-id.entity-id ]
[ -geometry x11-geometry-specification ]
[ -frame-rate target-frame-rate-hertz ]
[ -update-rate internal-update-rate-hertz ]
[ -plane { AMX | C-172 | F-16 | MiG-29 | Su-30 | B-747 | MD-81 | P-51A } ]
[ -fuel fuel-lb ]
[ -payload payload-lb ]
[ -scene scene-file-name
[ -team { 1 | 2 } ]
[ -latitude DD-PP-SS.SSSQ ]
[ -longitude DDD-PP-SS.SSSQ ]
[ -altitude altitude-msl-feet ]
[ -heading initial-magnetic-heading-degrees ]
[ -airspeed-kt initial-airspeed-knots ]
[ -dis-site DIS-site-id ]
[ -dis-appl DIS-application-id ]
[ -dis-exercise DIS-exercise-id ]
[ -no-dis ]
[ -no-sound ]
[ -lighting daylight|night ]
[ -visibility flight-visibility-nm ]
[ -mouse-mode fast|normal|precise ]
[ -js joystick-serial-port-pathname ]
[ -end-game ]
[ -threshold-range threshold-nautical-miles ]
[ -wind WD/WV ]
[ -gust GUST_MAX ]
[ -eye_to_screen_cm CM ]
[ -downward_view_angle_deg DEG ]
[ -drone-mode mode ]
[ -da FACTOR ]
[ -hud-mode ]
-init command-file-name

Take extra command options, in command line format, from the specified text file. For example, say there is a file in your home directory named ‘.acmrc’. Its contents look like this:

-dis-site 34
-dis-appl  4

New lines are treated as normal white space, so feel free to separate command line options onto multiple lines. From a shell, you enter the command:

$ acm -geometry 800x600 -init ~/.acmrc

This would be equivalent to:

$ acm -geometry 800x600 -dis-site 34 -dis-appl 4
-objects path1:path2:...

Scenes, audio effects, aircraft shapes, aircraft data files and other resources are stored as files inside the objects/ directory. ACM will look for its data files inside these directories: the current directory, objects/, ../objects/. So, if you try to start ACM from outside its base directory, it will complain not to be able to load these files. This option lets you to specify where these files actually are. You may specify one or more directories separated by a colon.

-depth_steps number

Set the number of color steps the program build for every color to be rendered with haze in background. For example, a value of 10 means that for every color will be generated 10 shades ranging from that color up to haze color. Higher values give better results, but the maximum depends on capabilities of your screen. Minimum is 1 (no shading), maximum is 100 and the default is 30.

-stealth

Start ACM in stealth mode. ACM allows users to monitor out-the-window views for any aircraft active in an exercise. Additionally, ACM supports an experimental DIS Request/Grant Control protocol that would permit ACM to “take over” aircraft of similarly enabled applications. See the “Stealth Mode” section for detailed information on this capability.

-subject-entity-id site-id.appl-id.entity-id

This option can be used in conjunction with the -stealth flag to identify the initial DIS entity to be “stealthed”:

$ acm -stealth -subject-entity-id 32.1.1

-geometry x11-geometry-specification
Specify precise location and size settings for the main ACM window.
-frame-rate target-frame-rate-hertz

Specifies a not-to-exceed rate at which ACM will attempt to render the cockpit scene. The default is to update the scene as fast as possible, which will use all available CPU time on the system. A good value might be 25 frames per second.

-update-rate internal-update-rate-hertz

Specifies the update rate for the inner integration loop for the simulation. The default is to run as fast as possible. If the -frame-rate option is specified, the default changes to 50 Hz.

-plane { AMX | C-172 | F-16 | MiG-29 | Su-30 | B-747 | MD-81 | P-51A }
Allows the user to select the aircraft type to be flown. Note that the C-172 simulated is the RG version with retractable gear. The list of the available models is read by the program from the objects/inventory file. To know which models are currently available, simply start the program with an invalid model, for example xxx then the list gets displayed on the terminal.
-fuel fuel-lb

Allows the user to set the amount of fuel loaded (lb). If left empty, the max amount of fuel allowed by the aircraft is loaded.

-payload payload-lb

The payload = passengers + cargo (lb). The default is 150 lb, a rough estimation of pilot’s weight.

-scene scene-file-name

ACM takes airport and NAVAID information from a text-based scene file. Normally, a file named default.acmscene is used. The file default.acmscene is simply a symlink of the file sahara.acmscene.

-team { 1 | 2 }

Allows the user to select which team the aircraft is to be associated with. Team 1 corresponds to the DIS “Friendly” force, team 2 is the “Opposing” force. Each team has an associated “home” location which is defined in the scene file read by ACM at startup.

-latitude DD-PP-SS.SSSQ
-longitude DDD-PP-SS.SSSQ
-altitude altitude-msl-feet
-heading initial-magnetic-heading-degrees
-airspeed-kt initial-airspeed-knots

These options may be combined to tailor the startup location of the ACM aircraft. Latitude and longitude must either both provided or both missing -- you cannot set only one of the two. The exact syntax of the latitude and of the longitude is:

degrees[-primes[-seconds]](N|S|E|W)

Seconds can take a fractional part. Examples:

-latitude 3N -longitude 123-4W
-latitude 1-2-3.4S -longitude 45-59-22.2E

If the -altitude option is not supplied, ACM automatically sets the aircraft on the ground at the specified location. Starting airbone (i.e. specifiyng an altitude grater that the local terrain altitude) the initial pitch is set to 3° and the landing gear is retracted. Care should be taken not to specify an altitude too close to the ground.

-dis-site DIS-site-id
-dis-appl DIS-application-id
-dis-exercise DIS-exercise-id

Use these options to select a specific IEEE 1278 DIS site or application identifier. By default, ACM uses the last two octets of the host machine’s IP address as the site and application identifiers. The default exercise identifier is one (1).

-no-dis
Disable the DIS protocol.
-no-sound
Disable the sound.
-lighting daylight|night

Set the scene lighting. You can choose between “daylight” (the default) possibly with fog and clouds, or “night” with no illumination at all.

-visibility flight-visibility-nm

Set the clouds/fog density. Runways farther than that are difficult to see or are totally invisible. The default is 50 nautical miles.

-mouse-mode fast|normal|precise

Movements of the mouse are mapped to the corresponding movements of the ailerons and of the elevator. “Fast” uses linear relation, so the aircraft react promptly to the commands but it is difficult to pilot with precision. “Normal” and “precise” are the recommended modes. The default is “normal”.

-js joystick-serial-port-pathname

ACM supports Noesis and Colorado Spectrum (now defunct) serial joystick adapters. This command specifies the name of the serial port connected to the joystick adapter and enables joystick polling.

-end-game

This flag is only valid in stealth mode. Hostile aircraft near the subject aircraft are tracked. If any of these aircraft moves within the subject aircraft’s radar locking range, then ACM will request control of subject aircraft. Control is requested using a variant of the proposed DIS 2.1.4++ transfer control protocol sequence.

-threshold-range threshold-nautical-miles
This flag is only valid in the end-game mode. If a hostile aircraft moves within the specified threshold distance of the stealthed (subject) aircraft, ACM will attempt to take control and engage the hostile target. If threshold range is not specified, then the subject aircraft’s radar lock range is used as the distance threshold.
-wind WD/WV
Sets the wind direction (WD, degrees) and the wind velocity (WV, knots).
-gust GUST_MAX
Sets the wind gust maximum intensity (ft/s). Default: 0 (no wind gusts).
-eye_to_screen_cm CM

Sets the distance between your eyes and the screen, expressend in cm (1 inch = 2.54 cm). This parameter allows the program to computer the proper scale factor needed to render the outside view without distorsions. Default: 50 cm.

-downward_view_angle_deg DEG

Sets the downward view angle (DAV, degrees) below the horizontal axis of the aircraft. The instruments panel and the engine cover above the pilot, usually limit its capability to view downward toward the ground, as explained above describing the acm.tk program. To fully display the HUD graphics a DAV of at least 12° is required. Default: 15°

-drone-mode mode
Set how drones are generated. Allowed values are DOG_FIGHT (default) and HUNTING.
-da FACTOR
Set drone aggressiveness, default 0.5. See below the paragraph about drones.
-hud-mode
By default the program starts displaying the classic instruments panel. This option allows to start in HUD mode instead.

Other Initialization Parameters

At startup, ACM reads several text-based data files to configure the operating environment.

default.acmscene

This file contains the locations of each team’s home base, airport runway information, NAVAID information, as well as the locations of man-made ground features. The –scene command line option may be used to direct ACM to read an alternate scene file.

object-map.txt

This file defines a mapping from DIS entity types to 3D object definition files. The object files are used to render an image of the entity.

munition-map.txt

This file defines the explosion and damage producing characteristics of DIS munition entity type and warhead combinations.

inventory

This file defines the performance characteristics of all aircraft types modeled by ACM. The layout of this file is defined in the section titled Defining New Aircraft.

Keyboard Commands

General

g Landing gear up/down

b Wheel brakes on/off

h Flaps down 10 degrees

y Flaps up 10 degrees

s Deploy speed brakes 1 step (one or more steps, depending on the aircraft model)

w Retract speed brakes 1 step (one or more steps, depending on the aircraft model)

t Start/stop/reset the timer display

z Rudder step left

x Rudder centered

c Rudder step right

l Create a drone opponent aircraft (DIS protocol MUST be enabled).

d Detach commands from the ACM window, so that you can leave the ACM window in background.

+ Zoom in.

Zoom out.

Shift-H Toggle between HUD and “classic instruments”.

Shift-M Switch between MH (default) and TH indication (see HUD and HSI sections).

Shift-P Print screen shot to the file /tmp/acm-dump-*

Shift-K Calibrate joystick

Shift-$ Play like a drone (toggle).

Shift-Q Shift-Q Quit the simulation. NOTE: press two times!

Auto-Pilot System (APS)

Shift-A Engage/disengage the auto-pilot in hold altitude mode or in hold climb rate mode (see The Auto-pilot for details).

Shift-Z Engage/disengage the auto-pilot in hold altitude mode (see The Auto-pilot for details).

Shift-T Engage/disengage the auto-throttle (see The Auto-throttle for details).

Shift-X Engage/disengage the rudder/aileron auto-coordinator (see The Auto-coordinator for details).

Shift-N Engage/disengage the auto-navigator (see The Auto-navigator for details).

Shift-L Engage/disengage the auto-landing (see The Auto-landing for details).

Shift-( Decrease maximum bank angle.

Shift-) Increase maximum bank angle.

Home Release all the auto-pilot sub-systems, with the only exception of the auto-coordinator.

Views

View buttons are located on the PC’s numeric keypad.

KP8 Forward view

KP2 Rear view

KP4 Look Left

KP6 Look Right

KP5 Look Up

KP0 Look Down

n Chase view (this view button is not located on the numeric keypad)

Mouse and Mouse Buttons

Move left/right move ailerons to control the roll left/right

Move forw/backward move elevator to control the pitch

Left button select DIS entity in browse mode (not working yet)

Central button fire with the selected weapon

Right Button select a weapon

Joystick Buttons

Button2 (top) Select weapon (Sidewinder IR missile or 20mm cannon)

Button1 (front) Fire selected weapon

Classic instruments

Shift-H Toggle between HUD and “classic instruments”.

F7,F8 Adjust altimeter isobaric reference level from 28 to 31 inHg.

F9 “Caging” button: forces alignment of attitude gyro with its case.

F11,F12 Adjust pitch of the symbolic airplane in the attitude indicator.

Radar

r Select radar/HSI/ADF/off mode

Shift-R Toggle Radar/HSI Mode (Standby, Normal, ACM 20x30, STT, HSI-mode) (also Button3 on Microsoft Sidewinder Joysticks)

q Break Lock -- track a different target (also Button4)

Engine control

The meaning of the keys change when the the auto-throttle is enabled. See The Auto-throttle for details.

1 Engine Idle

2 Decrease Power

3 Increase Power

4 Full Power

a Toggle Afterburner (if available)

SHIFT-! Deploy/retract thrust reverse (if available)

IMPORTANT. The thrust reverse device can be deployed only with engine commanded idle (throttle lever below 25%).

Auto-turn

The auto-turn automatism helps the pilot to keep the desired standard rate of turn of 1.5 or 3.0°/s. Enabling the auto-turn, also the AC is enabled. This is an experimental feature mainly intended for flight test purposes. It might be removed or otherwise changed in future releases of the program.

< (less than) Set left turn rate 3.0°/s

, (comma) Set left turn rate 1.5°/s

> (greater than) Set right turn rate 3.0°/s

. (period) Set right turn rate 1.5°/s

| (vertical bar) Set turn rate 0°/s

/ (slash) Disable auto-turn (see also key Home)

Trim

Trim buttons may be pressed until the desired trim is attained

j Adjust elevator trim to the current pitch command

Ctrl-Shift-UpArrow Forward (down) pitch trim

Ctrl-Shift-DownArrow Aft (up) pitch trim

Ctrl-Shift-LeftArrow Left roll trim

Ctrl-Shift-RightArrow Right roll trim

Home Reset elevator and ailerons trim, disable auto-pilot, auto-throttle, auto-navigator, auto-landing and auto-turn

HSI receiver control

Press r until the HSI gets displayed.

SPACE Switch between NAV1/NAV2/RNAV1/.../RNAV5 receivers.

9,0 Set station frequency

7,8 Set OBS

F3,F4 Set RNAV radial of the WP (only in RNAV mode)

F5,F6 Set RNAV distance of the WP (only in RNAV mode)

ADF receiver control

Press r until the ADF gets displayed.

9,0 Set station frequency

7,8 Move rotatable heading needle

The Magnetic Compass

The upper-right corner of the window displays the magnetic compass, simulated by the program mostly for didactical purposes. The compass card contains the magnets and it is mounted on a small pivot point located above its center of mass. This allows the compass card to rotate freely and to float as a pendulum by a maximum of +/−18° in pitch and roll following the direction of the apparent vertical line. Above this angular limit the compass touches the side of the casing and its indication becomes unreliable.


The magnetic compass.


The magnetic compass does not simply indicate the magnetic heading (MH) of the aircraft, but instead it moves and rotates under the dynamic and magnetic effects. By definition, the magnetic north is the direction of the magnetic field vector projected over the local horizontal plane. That’s why the magnetic compass card has to be as close as possible to the horizontal plane in order to align its magnets with the horizontal component of the magnetic field.

When the aircraft is at rest on the runway, or it is flying in stright, level flight at constant speed, the compass card is perfectly parallel to the horizon, an it rotates until it is perfectly aligned with the horizontal component of the Earth magnetic field. On the contrary, when the aircraft is turning or otherwise accelerating, the compass card deviates from the expected MH even more than 30 degrees under the effect of the vertical component of the magnetic field.

The compass cards displayed by the others instruments (HSI, ADF and HUD) are feeded by the flux gate sensor and each stabilized by its own gyroscope. The MH indicated by these instruments does not suffer from the the deviations of the magnetic compass. In case of instrumets failure, turns based on the magnetic compass have to be timed, because the magnetic compass cannot provide a valid reference for the final heading. For example, starting from MH=east and having to rotate at MH=nortd, the pilot shall perform a standard left turn at 3°/s for exactly 30 seconds.

For details about the implemented model of the Earth magnetic field and for references, see the source src/magnetic_compass.c.

The Classic Instruments Panel

Press Shift-H to alternate between the HUD and the classic instruments panel. The classic instruments panel mimics the instrumental equipment of a typical light aircraft, as the Cessna 172-RG. The program does not simply reproduce the same informations already shown by the HUD, but it try to emulate also errors and limitations introduced by these instruments and that make the job of the pilot even harder. In the following we will describe each instrument and its properties. The interested reader should refer to the aeronautical literature for more informations about their proper usage.


Instruments of the classic panel.


In the classic instrument mode the HSI and ADF always indicate the MH, as the compass card of these instruments is driven by the flux gate sensor. In the HUD mode, on the contrary, the HSI and ADF are driven by the inertial platform and are able to indicate both TH and MH.

Turn and slip indicator

The pointer moves indicating the rate of turn around the vertical axis of the aircraft. Normally the aircraft z axis is very close to the geodetic vertical, so that the indicated value is nearly equal to the actual yaw rate. At high roll angles or high bank angles, this is not strictly true and small differences between the actual yaw rate and the indicated value may arise.

The central mark of the turn indicator indicates zero turn rate, while the other marks indicates 1.5°/s and 3°/s turn to the left or to the right.

Below the turn rate indicator there is a curved glass containing a little ball. This ball moves from the central position under the action of a lateral acceleration, typically as a consequence of an uncoordinated turn.

Airspeed indicator

It indicates the true airspeed (TAS) on a non-linear scale. The scale ranges from 40 kt up to 550 kt, with division of 10 kt up to 150 kt, and division of 50 kt afterward.

Attitude and bank indicator

Also known as artificial horizon, it provides to the pilot informations about the pitch and the roll angles. Inside this instrument there is a gyro whose axis is parallel to the local apparent vertical direction.

An erection system (slowly) forces the axis to move following this vertical, but this alignment process can take some time, typically from 2 to 5 minutes, depending on the amplitude of the misalignment. Accelerations produced by speed changes (takeoff) and prolonged turns can misalign the gyro. To prevent that misalignment, the erection system gets disabled if the measured acceleration differs from the expected “g” value +/-2%. That it means, for example, that turning with angles of bank greater than 12° will not disturb the alignment.

The gyro can follow the aircraft movements up to +/-70° angles of bank and pitch. Above this limit the gyro will hit the internal lock, tumbling abruptly and loosing its alignment. For this reason the pilots has also a “cage” knob (F9) that forces the alignment of the gyro with its case, speeding-up the following fine alignment performed by the erection system. The “cage” knob is also useful to fast align the gyro at the start of the program.

The orientation of the gyro is represented to the pilot as a ball. Over this ball are drawn the horizon line and several pitch marks separated by 5° up to +/-30°. The stylized figure of a little aircraft’s wings can be moved up and down by the pilot (F11, F12) so that it becomes aligned with the line of the horizon. This adjustment should be performed in level flight at constant speed so to indicate zero pitch. Once so adjusted, the indicated pitch will match the angle of climb as indicated by the flight path marker of the HUD, provided that these maneuvers are performed at the same airspeed at which that adjustments was made.

A triangle indicates the angle of bank, at steps of 10, 20, 30, 60 and 90 degrees. This triangle moves in the opposite direction of the horizon, so to indicate the actual direction of the turn.

Altitude indicator

This instruments indicates the altitude. The digital display shows the flight level (bigger digits) followed by the two less significant digits of the current altitude. The pointer indicated tens feet. Since in ACM-5.0-ico the atmospheric conditions are always stable and equal to the standard atmosphere, the indicated altitude is also the actual altitude over the sea level.

By default the altimeter indicates the standard pressure altitude (29.92 inHg) but you can change the isobaric level of reference pressing F7 and F8.

For negative altitudes, the instrument passes from 0 to 99990 ft, then 99980 ft and so on.

Vertical speed indicator (VSI)

It indicates the rate of change of the altitude from −4000 ft/min up to +4000 ft/min. This instrument has a lag of about 3 seconds, so it takes some time before it stabilizes to the actual vertical speed. Changes in altitude should then be made with the aid of the attitude indicator: first, move the aircraft to the expected pitch, then look at the VSI for fine adjustement of the desired vertical speed rate.

Flying with the classic instruments panel may be challanging at first because there is some delay between pilot’s input and the actual feedback from the instruments. Things get simpler if you accurately plan every maneuver before starting any action. The two rules below should help:

Bank rule. To attain the standard rate of turn of 3°/s on a coordinated turn, first calculate the required angle of bank as given by this approximated formula:

bank = 0.15 * airspeed

For example, at 100 kt the angle of bank is 15°. You can calculate easily this value taking the airspeed, dropping the last digit and then adding half of its value. Then roll-in at this angle of bank looking at the attitude indicator: once the aircraft starts to turn, adjust the rate looking at the turn indicator.

Pitch rule. Keepig a given airspeed, changes in vertical speed are related to changes in pitch angle by this approximated formula:

vertical_speed_change = 2 * pitch_change * airspeed

For example, flying at 100 kt, every degree of pitch change will result in a change of about 200 fpm of vertical speed. Use the pitch scale of the attitude indicator to move the aircraft’s nose to the expected pitch angle. Then, some seconds later, the VSI will indicate the actual vertical speed so achieved allowing to fine-tuning the pitch.

The Head-Up Display

The Head-Up Display (HUD) is a collection of indicators that permits pilots to focus their attention on what’s going on outside of the cockpit. These indicators are projected onto a flat pane of glass located near the windscreen. Much of the information is displayed graphically to give the pilot a quicker understanding of the immediate situation.


The Heads-Up Display.


Ladders

Four tape-style “ladders” display basic flight information. On the left, is the aircraft true airspeed (TAS). Each minor tick on the airspeed ladder represents 10 nautical miles per hour (also known as knots and abbreviated “kt”).

On the right is the altitude over the sea level (MSL). Each tick represents 100 feet. A rate-of-climb readout is located just below this ladder; rate-of-climb is expressed in feet per minute.

In the lower center is a horizontal heading ladder. Each tick represents five degrees.

In the center is an attitude ladder. Each line corresponds to ten degrees of aircraft pitch. The ladder rolls as the aircraft does, providing an artificial horizon.

HUD Compass

The compass displays the the true heading (TH, default) or the magnetic heading (MH). Press Shift-M to switch between the two modes. The HSI displays the mode currently selected. Implementation note: the local magnetic variation is that of the nearest NAVAID station or ILS station.

Angle of Attack

The ACM HUD has two indicators to give the pilot cues as to the planes current angle of attack and sideslip. First, above the altitude ladder, is a readout of the plane’s current angle of attack in degrees. The ACM F-16 will stall at a positive angle of 30 degrees and a negative angle of -30 degrees.

Additionally, a plane-shaped “flight path marker” indicates the aircraft’s current direction of travel. Level flight occurs when the flight path marker is aligned with the zero- degree artificial horizon line.

The G-Meter

A readout of the current vertical G-force on the pilot is located above the airspeed ladder.

Weapon State

Below the throttle indicator are discretes that show the state of the currently selected weapon system.

Turn and slip indicator


The turn and slip indicator.


The turn and slip indicator displays the yaw rate and the lateral acceleration. The triangle indicates the standard rates of turn of 1.5°/s and 3°/s. The vertical bar indicates the lateral acceleration, every tick being 0.25 g. The left part of the figure above illustrates a left turn at 3°/s with about 0.4 g of lateral acceleration (uncoordinated turn). The right part of the figure illustrates a coordinated turn without lateral acceleration. Coordinated turns are obtained combining ailerons and rudder.

Mach-meter

The Mach number is the ratio between the airspeed and the spedd of the sound at the current altitude. The table below shows the speed of the sound at some typical altitudes:


Altitude (ft) Speed of the sound (kt)
0659
10000640
20000615
30000590

The Mach number appears only when the speed is at least 0.20 Mach at the current altitude.

Radar altimeter

At low altitude, below 2500 ft over the terrain, the radar altimeter scale is displayed. The radar altimeter shows the distance in hundreds of feet between the terrain and the wheels of the main gear.

The HSI

The Horizontal Situation Indicator, or HSI, is a nifty device to aid in instrument flying. It receives and displays VOR/DME stations and ILS stations. The compass card of the instrument gets automaticcaly oriented toward the magnetic north. A sensor of the earth magnetic field (also known as flux gate) detects the orientation of the magnetic north. A gyroscope provides short term stability while the aircraft is maneuvering and, when in level flight, the flux gate provides the correction to the gyroscope drift. The result is an instrument that provides highly accurate aircraft heading in both turning and straight flight, without a requirement for the pilot to manually adjust for drift as in a standard directional gyro.

NOTE. Instruments mounted on the real aircrafts have both the slave mode (as described here) and the free mode. When the pilot selects this latter mode, the flux gate gets disabled (for example because a failure) and the HSI operates simply as a directional gyro that needs to be manually aligned with the magnetic compass.

In ACM-5.0-dlc the HSI system occupies two slots of the instrument panel: the left slot is the control panel and the right slot is the HSI display. The HSI panel receives radio signals from VOR, DME, LOCATOR and GS stations, it elaborates all these informations and then it feed the HSI display.

To save space on the sceen, these two panels share the same space with the ADF receiver and the radar system. Use the r key to change radar/ADF modes until the HSI is displayed.

The HSI control panel. It displays several informations. Mode can be NAV1, NAV2, RNAV1, ..., RNAV5. These modes will be described below in separated paragraph. There are two independent NAV1 and NAV2 receivers and five RNAV calculators. Use the SPACE to switch between NAV and RNAV modes.

FRQ is the frequency of the station, as selected by pilot (9, 0).

Once the station has been selected and properly tuned, the receiver starts listening for the signal emitted from the station that can provide also its name displayed in STA (station name).

If the station provides also a distance measurement equipment (DME) this distance gets displayed.

The RAD and DST fields are meaningful only in RNAV mode and are described in the respective paragraph.

The HSI display. In the TH mode (the default, as shown in the figures below) the indicated north is the geographic north. In the MH mode (Shift-M) the indicated north is the magnetic north. The TH mode is mainly useful for estimated navigation based on geographic charts, since these maps are always oriented toward the geographic north pole. The MH mode is the preferred mode for aeronautical navigation, since all the angular indications (VOR, ILS and runways headings) are always referred to the local magnetic north.

The curse deviation indicator (the purple segment at the center of the display) gets displayed only if the corresponding radio signal is correctly received. The slope deviation indicator (the purple arrow to the right of the display) gets dislayed only if the corresponding signal is correctly received.

Use the 7 and 8 keys to orient the Omni Bearing Selector (OBS). The OBS displays the digital value of the selected direction.

HSI for VOR stations

In NAV mode the HSI displays the VOR/DME bearing, angular deviation (CDI) from the selected radial (OBS) and distance DME.


The HSI tuned on a VOR/DME station in NAV mode.


Having two NAV receivers is very useful, both for navigation and to approach the runway. For example, we can tune NAV1 on the VOR station we are leaving and NAV2 on the station we are going to. Or, we can tune NAV1 on the terminal-VOR of the airport, and NAV2 on the ILS station.

The frequency of a VOR station ranges from 108.x0 MHz up to 111.x5 MHz with x being an even digit 0, 2, 4, 6, 8 for terminal VOR, and from 112.00 MHz to 117.95 MHz for en-route VOR.

The signal range of a terminal VOR is about 40 NM, and the range of an en-route VOR is about 200 NM due to the limited power emitted by these stations. Moreover, electromagnetic signals at hight frequency (100 MHz and more, as those emitted from VOR stations are) propagates in a direct line of sight. Because of the curvature of the Earth, the range at which the signal can be received may be even more limited depending on the current altitude of the aircraft:

range = K * (sqrt(station_altitude) + sqrt(aircraft_altitude))

where the altitudes are expressed in feet and the resulting distance in NM. The value of the constant K in the formula above is K=1.064 as you can easily prove with simple geometrical considerations assuming the Earth to be a sphere of radius R=3438 NM. Then, for example, if the altitude of the station is 500 ft and the altitude of the aircraft is 4000 ft, the signal cannot be received beyond the distance of 91 NM.


The Earth is round and radio signals at high frequency (100+ MHz) propagate in stright line.

Every dot of the CDI scale indicates a deviation of 1.7° from the selected radial. For stations providing a DME, the distance from the selected radial is given by this simple formula:

distance_from_radial = distance_from_DME / 100 * 3 * CDI

For example, if the distance from the DME station is 20.0 NM and the CDI indicates 2 dots, then the distance from the selected radial is 20/100*3*2=1.2 NM.

HSI for ILS stations

In NAV mode, also ILS stations can be tuned.


The HSI tuned on a ILS station.


The frequency of ILS stations ranges from 108.x0 MHz up to 111.x5 MHz, with x being an odd digit 1, 3, 5, 7, 9.

An ILS station can be received up to the distance of about 18 NM and in a range of +/-50° from its bearing angle.

Every dot of the CDI scale indicates a deviation of 0.4° from the LOCATOR plane (not the deviation from the OBS, but the pilot can still select an OBS for its own reference). Every tick of the glide slope scale indicates a deviation of 1° from the glide path angle of the ILS station (typically 3°).

HSI for RNAV calculator

The RNAV calculator can store up to 5 waypoints (WP). The pilot enters the WP in the RNAV calculator in polar coordinates (radial RAD and distance DST) referred to some VOR/DME station, along the frequency of the VOR/DME station itself.


The HSI tuned on a VOR/DME station in RNAV mode.
The waypoint is set at radial 75, distance 24.5 NM from the VOR/DME.


NOTE: bare VOR stations and ILS stations cannot be tuned in RNAV mode.

Once the control panel has been set, the RNAV calculator feeds the HSI display with angular deviation and distance from the selected waypoint (WP). Then the pilot can fly toward the WP just like if it were a “phantom” VOR/DME station. The DME field of the control panel displays the distance from the WP (not the distance from the VOR/DME station used as reference).


A “phantom” VOR/DME guides the aircraft along the route from A to WP and then from WP to B.


The ADF

Press the r several times until the ADF receiver gets displayed. The compass card of this instrument is automatically aligned with the magnetic north tanks to the signal provided by the flux gate, and stabilized with a gyroscope.

The ADF occupies two slots of the instrument panel: the left slot is the ADF panel were the frequency and the ID of the NDB station gets displayed; the right slot is the ADF display that shows the magnetic bearing of the NDB station.


The ADF control panel (left) and bearing indicator (right).


Tune the desired station pressing 9 and 0.

In the real world the range of the NDB signal depends on many factors. In ACM-5.0-dlc this range is set to 100 NM for navigation NDB stations, and 20 NM for instrumental approach stations (OMARKER, MMARKER, IMARKER).

The Auto Pilot System

The auto-pilot system (APS) consists of several functional blocks, each one taking control of some flight parameter. The relations between blocks are indicated in the diagram below. Every block can be engaged or disengaged by the pilot independently from the others blocks, with the only exception of AW and AP that might be required by AN and AL.

In a emergency, the APS can be disabled pressing the key Home.


Block diagram of the Auto Pilot System (APS).


A note about the terminology: “APS” is the whole system of auto-piloting, while the “AP” is the sub-block that control the altitude or the climb rate. Perhaps the AP should had been splitted in two independent blocks performing “hold altitude” and “hold climb rate&hdquo;, so resolving the ambiguity. This can be a change left to the future releases of the program.

The Auto-pilot

The auto-pilot (AP) helps the pilot keeping a given rate of climb or a given altitude. When engaged, the AP adds a correction term to the current elevator control that can grow up to the 50% of the full elevator control range:

elevator_setting = pilot_setting + AP_correction_term

Even when the AP is engaged, the pilot preserve the ability to control the aircraft, while the AP will try to do its best to keep constant the controlled parameter. Press Shift-A to engage/disengage the AP. When engaged, the “AUTOPILOT” word is displayed on the HUD.

Engaging the AP to hold the rate of climb. Once the desired rate of climb has been attained, engage the AP. The AP will grab the current rate of climb and will use this value as a reference to calculate the elevator correction. The rate of climb must be greater than +100 ft/min or less that −100 ft/min.

Engaging the AP to hold the altitude. Once the desired altitude has been attained, engage the AP. The AP will capture the current altitude and will use this value as a reference to calculate the elevator correction. The rate of climb must be near to zero +/− 100 ft/min. As an alternative, press Shift-Z: in this case the AP grabs the current altitude and keeps this value as reference.

Disengaging the AP. Press Shift-A or Shift-Z. The elevator correction term will be released smoothly within 3 seconds, restoring the full control of the elevator.

AP alarm. When the AP correction grow beyond the 25% of the full elevator control range, the AUTOPILOT displayed in the HUD (or the Pilot light in classic instruments mode) will blink. In this case the intervention of the pilot is required. Adjust the pitch or the engine power until the alarm disappear.

AP limitations:

- max vertical acceleration: +/- 0.1 g
- hold altitude mode, max vertical speed: +100 fpm
- hold altitude mode, min vertical speed: -1000 fpm
- disengaging the AP, smooth release of the elevator within 3 s

The Auto-throttle

The auto-throttle (AT) controls the engine thrust in order to hold a given true airspeed (TAS), limiting the acceleration to the range -0.5g .. +0.1g. When the selected TAS cannot be attained, the pilot is warned by the blinking ATxxx in the HUD (or the blinking light Thr in classic instruments mode).

The AT can be engaged/disengaged pressing Shift-T. When enabled, the current TAS is grabbed and used by the AT as the target speed. The value of the current target speed is displayed in the HUD to the right of the speed scale. For example, the indication AT120 means that the target TAS is 120 kt.

When the AT is enabled, the buttons that normally control the engine change their meaning as follow:

1 disable the AT device and sets the minimum thrust (25% RPM).

2 decrease the target TAS by 5 kt.

3 increase the target TAS by 5 kt.

4 disable the AT device and the AP and sets the maximum thrust (100% RPM).

Press Shift-T again to disengage the AT keeping the current throttle setting.

The Auto-coordinator

Controlling the rudder through the keyboard and without a physical feedback of the lateral acceleration is really difficult, so often compromising the precision of the maneuver on coordinated standard turns.

The auto-coordinator (AC) feature allows the rudder to be controlled by the program in order to cancel the lateral acceleration, indicated by the slip indicator. The AC can be enabled/disabled pressing Shift-X. Once enabled, a little AC gets displayed to the side of the slip indicator (or the Coord light in classic instruments mode) and all the turns are automatically coordinated.

A good way to do a standard turn in AC mode is bringing the aircraft to the expected bank angle, then checking the turn rate indicator for the expected turn rate. The figure below plots the expected bank angle vs. the current true air speed for 1.5°/s and 3.0°/s standard rates of turn.


Bank angle versus TAS.


The arrows keys are very useful to do little heading corrections in AC mode, for example to align the aircraft to the runway. Larger turns can be done simply moving the mouse.

The keys z c that control the rudder are still enabled, but not really effective. You may use them for even finer heading corrections.

The Auto-navigator

The auto-navigator (AN) allows to follow the radial indicated by the OBS set into the HSI panel. Once enabled, the AN automatically compute a proper approaching route bringing to the radial, then it maintain this radial. Ailerons and rudder are controlled in order to correct the magnetic heading of the aircraft according to an algorithm explained below.

Enabling the AN. To enable the AN follow these steps:

  1. Tune the HSI on the chosen VOR station or WP.
  2. Turn the OBS to the chosen VOR radial.
  3. Enable the AN (Shift-N). The word AutoNav gets displayed in the HUD (or the Nav light in the classic instruments panel).

The approaching path. The AN computes the path bringing to the chosen radial. Normally an approaching angle of OBS+45° gets chosen if the aircraft is located to the left of the radial (point A of the figure) otherwise an heading of OBS−45° gets chosen (point B of the figure). The aircraft then turns toward the heading so computed, either clockwise or counter-clockwise depending on the current heading. For example, if the target heading is 360° (north) and the aircraft is currently directed toward east, then the aircraft will begin to turn counter-clockwise 90°; if the current heading is west, then the aircraft will turn clock-wise. Every turn gets performed with angular speed up to +/−3°/s and a bank angle up to +/−25°.

When the CDI (angular deviation from the OBS) becomes less than 2°, or when the CDI starts moving (indicating that we are very close to the VOR station) the approaching angle gets diminished smoothly so that the aircraft reach the radial with a single turn. This simple strategy works well when the aircraft is far from the VOR, but for short distances (say, 5 NM or less) the aircraft gets forced in a sequence of rough turns, waving around the radial. Because of this limitation the AN should always be disabled below 5 NM from the VOR.

Disabling the AN. The AN can be disabled intentionally pressing Shift-N again. The AN gets also disabled if any of these events occurs:

The Auto-landing

The auto-landing takes control of the aircraft controlling heading and pitch following the approaching path to the LOC+GS station currently tuned. The heading gets corrected in order to smoothly reach the LOCATOR plane. If also the GS is available, then the pitch gets controlled in order to attain the indicated descending path. The AL also performs the flare maneuver, deploys the thrust reverse (if available), deploys the speed brakes, enable the wheel brakes and finally stops the aircraft on the runway.

Enabling the AL. To enable the AL follow these steps:

  1. Tune a LOC or LOC+GS=ILS station.
  2. Turn the aircraft so that it is roughly oriented toward the runway. An approaching angle of no more than 30° from a distance of at least 5 NM gives the better results.
  3. Enable the AL (Shift-L). The characters AL get displayed in the HUD (or the Land light will lighted in classic instruments mode).

Once enabled, the AL compute a proper, smooth approach to the plane of the LOCATOR, then it will attain this route up to the runway threshold. Turns are performed with a maximum bank angle of +/-25°.

For ILS stations providing also the GS signal, the AL can follow the glide path. In this case, the AL takes control of the elevator, maintaining the current altitude until the glide slope plane is reached. Once the GS has being reached, the AL sets a descending rate suitable to maintain the alignment with the glide slope plane (typically -3°).

The AL behave pretty well and it can recover from situations that would be very hard for an human to handle. However, in order to ensure the best results, these restrictions should be respected:


Requirements of the auto-landing.


The figure above illustrate the final approach to the runway. The optimal distance from the LOCATOR plane should be large enough to allow to the aircraft to attain the alignment to the LOCATOR with only a turn at the rate of 1.5°/s:

d ≥ (1 - cos(A)) v / 94

where v is the current TAS (knots). For example, with an angle of incidence of A=30° and v=170 kt the distance would be 0.24 NM. By the contrary, crossing the LOCATOR plane with an angle near to 90° at little distance from the runway, would force the AL to do several turn maneuvers, often ending with a misalignment and a missing approach.

Disabling the AL. The AL can be disabled intentionally pressing Shift-L again. The AL gets also disabled automatically when any of these events occurs:

Detailed description on how the AL works. The exact sequence of the events depends on several factors. For brevity we will indicate with FLARE_ALT the altitude over the runway at which the flare maneuver starts, V is the current speed, :

FLARE_ALT = 0.375 ft/kt * V

so, for example, landing at 160 kt the flare maneuver starts when the radar altimeter indicates 60 ft from the terrain. We will also indicate with V_TOUCHDOWN the airspeed indicated when the main gear hit the runway. The exact sequence of events is as follow:

1. Keep current altitude until the GS path is intercepted. Adjust heading according to the CDI.

2. Once the GS has been intercepted, start descending at the standard rate of −3 DEG. If the GS has a different angle, the resulting GS error will guide the AL to the correct descending ratio. Continue to follow the LOCATOR, adjusting the heading.

3. When the altitude as indicated by the radar altimeter becomes less than 250 ft, stop following the ILS signal, keep current heading and keep the standard descending rate of −3 DEG.

4. When the altitude indicated by the radar altimeter becomes less than FLARE_THR, the flare maneuver starts. Raise nose so to keep a descending rate of −1 DEG. Ensure wheel brakes are disabled.

5. When the altitude as indicated by the radar altimeter is less than 0.5*FLARE_ALT disable engine auto-throttle and hold current power setting. The speed begins to reduce.

6. When both the wheels of the main landing gear hit the ground, grab current airspeed V_TOUCHDOWN, as it will used for reference in the rest of the procedure. The speed brakes are fully extended, if available. If the thrust reverse device is available, deploy and set engine power to 75%. Otherwise, set engine idle. Disable auto-pilot and keep current pitch angle.

7. For tricycle landing gear, immediately lower nose wheel. For bicycle landing gear, hold current pitch until speed drops under 85% V_TOUCHDOWN, then begins lowering the tail wheel.

8. For tricycle landing gears, when all the wheels are in contact with the terrain, enable wheel brakes. If thrust reverse available, brakes are enabled only below 50% V_TOUCHDOWN.

9. At 40% V_TOUCHDOWN, if thrust reverse device available, set engine idle.

10. At 20% V_TOUCHDOWN disable AP, AL, AW and retract thrust reverser, leaving only the brakes on.

The Auto-turn

The auto-turn block (AW) control the rate of the turn and it is mostly used by the AN and AL. The pilot can engage manually the AW to perform standard turns at 1.5 and 3°/s or also 0°/s to keep the current heading. The involved keys are:

< turn left at 3°/s

, (comma) turn left at 1.5°/s

| (vertical bar) stop turning and hold heading

. (dot) turn right at 1.5°/s

> turn right at 3°/s

/ disengage the AW

The MAX BANK knob set the maximum bank limiter, chosen between 5, 10, 15, 20 and 25 degrees. The AW will never exceed this value.

When the AW is enabled, a little round circle gets displays into the turn-and-sleep indicator giving the feedback of the turn speed the AW is aiming to (see the figure to the right).

Lights Panel

The status panel displays 14 lights. The alarm lights blinks alerting the pilot about some serius sub-system failure or other urgent danger:

OIL, HYD1, HYD2: hydraulic subsystem failures.
GEN1, GEN2: power sources failure.
FLAP: flaps failure.
SPBRK: speed brake failure.
RADAR: radar failure.
TEWS: TEWS failure.
HUD: HUD failure.
G-LOAD: above 75% maximum positive or negative wings load.

Status and warning lights does not blink and are alerts to the pilot:

FUEL: fuel tank below 15% maximum capacity.
SPD BRK: speed brakes engaged.
BRAKES: wheel brakes are on.

The Radar System

The ACM radar system has a field of view that extends 130 degrees laterally and vertically from the front of the aircraft. The F-16 radar set’s range is about 80 NM. All aircraft within that range and field of view will appear as a box on the radar display


Radar coverage.


The ACM radar display presents a forward looking view of radar targets. Think of it as a television monitor connected to a forward-pointing TV camera that has a very wide angle lens.

If any objects are close enough to be radar-visible, the set will automatically lock onto the nearest threat. With radar lock acquired, your display will provide detailed information about the locked, or :ldquo;primary:rdquo;, target’s disposition. A primary target appears as a filled diamond (u) on the radar display -- the display provides information on the primary target’s range and altitude, as well as its current heading, your desired relative heading to intercept and the rate of closure of your two aircraft.


The ACM radar display.


The radar set’s ability to establish a positive lock on a target extends for a shorter range than the radar’s maximum detection range -- radar lock is limited to about 60 NM on the F-16 and 30 NM on the MiG-29.

If multiple targets are plotted on your radar display, you can lock onto other targets by pressing the target reject key (q).

The radar on/standby key (R) can be used to toggle your radar set between its normal operating mode and a standby state. When your radar is in standby mode, your aircraft emits no radar energy and can be more difficult to detect.

Electronic Countermeasures

Radar Warning Receiver

Each aircraft is equipped with a special device called a Radar Warning Receiver (RWR). It’s display is the round “CRT’ to the left of the radar display. It works much like a radar detector that you can buy for your car. The receiver can detect radar emissions from other aircraft and will plot a box on the RWR display representing the relative direction of that radar threat. Opposing team’s radar emissions appear as filled boxes. Friendly aircraft appear as open boxes. This receiver cannot detect aircraft that have their radar emissions directed away from your aircraft, nor is it capable of detecting aircraft that have their radar sets turned completely off.

Weapon Systems

Your aircraft is equipped with heat-seeking missiles and a 20-millimeter cannon. Weapon information is displayed in the lower left-hand corner of your HUD. Different weapons may be selected by pressing mouse button 3. The currently selected weapon is fired by pressing mouse button 2.


Air-to-Air Missiles

The missiles are patterned after U.S. AIM-9M Sidewinders. They can detect infrared (IR) targets at any aspect (not just from the rear). Their range varies dramatically with the altitude and closure rate. The missile subsystem couples with your radar set to provide time-to-impact information.

This missile has a solid rocket motor that burns for about 8 seconds. After burn-out, it will still track towards its intended target but may lose speed too rapidly to catch it. Your heat seeking missiles don’t arm themselves until three seconds after launch. Because of that, you should not fire at a target that is closer than three seconds of flight time away.

Missile status discretes and their meanings:

ARM A missile is armed, but its seeker has not yet acquired a target in its field of view.

LOCKED A missile is armed and its seeker has locked onto a heat source. The missile is ready to fire.

---- The missile’s seeker has acquired a target, but it is out of range based on current time-to-target information.


Cannon

Cannon can be used to engage targets at closer range. Your cannon is modeled after the U.S. M61-A1 Vulcan. Aircraft typically begin a mission with 500 rounds of ammunition; the cannon fires at 3000 rounds per minute so you only have enough ammunition for a ten-second continuous burst -- use it carefully.

When cannons are selected, the HUD is in Lead Computing Optical Sight (LCOS) mode. On the HUD, a circular aiming reticle is displayed. The HUD couples with the radar set to provide a visible cue of the target’s current range. The aiming reticle is surrounded by 12 ticks. An inner arc represents the current range to the target: each arc tick represents 1000 feet of distance. The aiming reticle moves across the HUD to show a good aiming point based on the target’s range and your aircraft’s pitch and turn rate. If the range is large and or your pitch and turn rates are fast, you may see no reticle at all: the aiming point is simply out of the HUD’s field of view.

An unmoving cross (a “+”) will be displayed on the HUD in LCOS mode. This marker denotes the boresight of the cannon -- the direction that the cannon’s barrel is actually pointing.

Figure 6 (missing!) shows another example of what you might see in a dogfight. All planes are turning hard to the left at a relatively low speed. You are in LCOS mode and see that the reticle is positioned ahead of the intended target. To get the kill, simply relax the turn long enough to get into position and then take the shot.

Drones

Drones are automated opponent aircraft. They are created by pressing the l key. Drones aggressiveness setting (see option -da) controls how hard a drone aircraft will attempt to maneuver to attack other planes. For example, a setting of 0.7 means the drone will maneuver pulling “G” up to the 70% of its maximum structural vertical limit (see the parameters MaxLoadZPositive and MaxLoadZNegative); if the fighter supports up to 10g of positive vertical acceleration with nearly empty tank, it will reach 7g of positive vertical acceleration.

With an aggressiveness factor too low (probably 0.2 or less) the aircraft will hardly sustain its own weight and will crash on the ground without even try to fly. With a value near 1.0 or greater your opponent drone will certainly suffer of a tragic fatal structural failure... Values between 0.7 and 0.9 will usually make for an interesting opponent.

NOTE. The DIS protocol MUST enabled, you can’t use the -no-dis option.

Stealth Mode

ACM’s stealth mode allows users to monitor out-the-window views for any aircraft active in an exercise.

$ acm -stealth

In stealth mode, the radar display is used to display DIS entity id’s of aircraft participating in the exercise. To select and aircraft to follow, use the mouse to click on one of these identifiers. The entity id of the aircraft you are following will be highlighted in magenta.

DIS Entity ID
  50,1,1
  50,1,2
* 50,6,1

If there is a large number of entities in an exercise, use the PAGE UP and PAGE DOWN keys to scroll through the list.

Transfer of Control

ACM supports an experimental DIS 2.1.4++ control request protocol. It permits it to “take over” aircraft of similarly enabled applications. For ACM to take over an aircraft, it must have model information in the “inventory” file describing the characteristics of that aircraft type. Those aircraft entities will be marked with an asterisk (*) in the left margin of the stealth browser display. Double click an aircraft entity id to take control. See the chapter The Transfer Control Protocol for details.

Default Scene

The default scene uses an area in the western part of the Sahara Desert that is likely uninhabited to provide a ficticious world for the flight simulation. It contains three single runway airfields roughly in a line separated by approximately 100 nautical miles:

Each runway has ILS at both ends with a VOR/DME facility 15-17 nautical miles straight out from the runway end. There are also two VOR/DMEs between the three airfields:

The following high-altitude annotated screenshots present the pertinent navigational information. Note these are not charts—they include perspective distortion. These shots use the underneath view accessed via the [NumLk0] key. The point directly underneath the aircraft is just above the center of the top of the panel (no area behind the aircraft is ever visible in an underneath view). Aircraft position (longitude, latitude, and meters ASL) is shown in the debug display at the upper-left of the screen which is toggled via the ‘D’ keyboard command. The enlarged airfield insets are edited into the screenshots from other screenshots using higher magnification after flying onward until almost directly over the airfields.

ACM-5.0-dlc Annotated aerial photo of Riley Rainey Airport (runway center: 22-29-20 N, 6-01-12 W)
ACM-5.0-dlc Annotated aerial photo of Umberto Salsi Airbase (runway center: 24-00-00 N, 5-00-00 W)
ACM-5.0-dlc Annotated aerial photo of David L. Craig Airbase (runway center: 21-00-00 N, 7-00-00 W)

Each airfield has a tower and a hangar using the associated facility color primarily. The VOR/DME stations are predominently white. Here are some B-747 pilot's-eye views of them while parked nearby (except for the aerial oblique shot). Note the hangars are easily large enough for a B-747.

ACM-5.0-dlc RRA (Black) Tower
ACM-5.0-dlc ICO (Red) Tower
ACM-5.0-dlc DLC (Blue) Tower
ACM-5.0-dlc VOR/DME Transmitter
ACM-5.0-dlc DLC (Blue) Hangar (front)
ACM-5.0-dlc ICO (Red) Hangar (back/side)
ACM-5.0-dlc RRA (Black) Hangar (inside, chase view)
ACM-5.0-dlc DLC (Blue) Hangar (oblique from back/side)

Building ACM on Unix Systems

The modified version of ACM, ACM-5.0-dlc, can be downloaded from dlc.casita.net/~dlc/acm/download.html as a gzipped tar archive. Unpack the source tree:

$ zcat acm-5.0-dlc-20141229.tar.gz | tar xvf -

To build ACM, type:

$ cd acm-5.0-dlc-20141229
$ ./configure
$ make

On systems where X11 is installed in an unusual location, configure may have trouble locating the X include files and libraries (you’ll know that because the compiler will complain that it can’t find files like X11/X.h). If this problem crops up, you can help configure to set up the Makefiles by telling it where to find X11:

$ x_includes=/usr/myX11/include; export x_includes
$ x_libraries=/usr/myX11/lib; export x_libraries
$ ./configure
$ make

By default, configure will compile ACM using gcc if gcc is found in your PATH environment variable. Some combinations of gcc and OS platforms have problems with ACM (gcc 2.2.2 seems to have problems on SunOS and HP-UX, for example). You can override configure’s selection of gcc:

$ CC=cc; export CC
$ ./configure
$ make

You can try the program once the compilation is terminated:

$ src/acm

or:

$ ./acm.tk

Once satisfied with the program, you can proceed with the actual installation:

$ cd ..
$ su
Password: ****
# make install

Defining New Scenes

The scene file defines the visible ACM “world”. It should be stored as a ASCII text file. Every record occupies exactly one line, with leading and trailing spaces ignored. Fields in a record are separated by one or more spaces or tabulation characters. Empty lines and lines beginning with the character ‘#’ are ignored.

On startup, ACM uses the default.acmscene file from the objects/ directory. With ACM for Unix, you can override this default by specifying the -scene scene-file-pathname option. Records can be specifier in any order. The mandatory records are: TEAM1_LOC, TEAM2_LOC. All the other records are optionals.

Team Locations

ACM groups participants (players) into two teams. The scene file defines the initial location for each team. Typically, this location will be positioned and oriented at the end of a runway at the player’s home airport. Example:

TEAM1_LOC 32-58-18.798N 096-50-16.604W 644.0 154
TEAM2_LOC 33-58-00.000N 097-50-00.000W 450.0 154
Fields:
0 Type: TEAM1_LOC, TEAM2_LOC
1 Latitude
2 Longitude
3 Altitude (ft, MSL) (ATTENTION: this value is currently ignored, aircrafts are always gently deployed on the ground)
4 Initial Heading (degrees, true)

Ground Color

An X11-style #RRGGBB color specification defining the color of the ground. Red, green and blue color components are hexadecimal value from 00 to FF. Example:

GROUND_COLOR #305030
Fields:
0 Type: GROUND_COLOR
1 Color

Runway record

The record entry of the ACM scene describing a runway can take two forms, depending on the available informations: the old one (RWY) and the new one (RWY2). The RWY format requires the geographic coordinates of both the ends of the runway. The RWY2 requires only the center of the runway and its true heading. The syntax of the runway identifier (field no. 2) must be of the form:

H[S]/H[S]

where H is the heading (an integral number between 1 and 36) and S is a capital letter (“L”, “C” or “R”). The S part of the identifier is optional. A leading “0” in an identifier is allowed. The runway identifiers can be specified in any order.

Example of the RWY record format:
RWY ADS 15/33 644 7202 100 32-58-40.245N 096-50-25.820W 32-57-33.383N 096-49-56.608W
Fields of the RWY record:
0 Record Identifier: RWY
1 Three/Four letter airport code
2 Runway identifier
3 Runway Altitude (ft, MSL)
4 Runway Length (ft)
5 Runway Width (ft)
6 Near End Latitude
7 Near End Longitude
8 Reciprocal End Latitude
9 Reciprocal End Longitude
Example of the RWY2 record format (same runway):
RWY2 ADS 15/33 644 7202 100 32-58-06.81N 096-50-11.21W 160.0
Fields of the RWY2 record:
0 Record Identifier: RWY2
1 Three/Four letter airport code
2 Runway identifier
3 Runway Altitude of the Center (ft, MSL)
4 Runway Length (ft)
5 Runway Width (ft)
6 Latitude of the Center
7 Longitude of the Center
8 Runway Heading (DEG, possibly with decimals)

The model of the terrain simulated by ACM is very simple and efficient: the elevation of the nearest runway gives the local terrain altitude, the distance being calculated relatively to the center of the runway. Nevertheless, this behavior has a strange implication: between two runways at different altitudes there is a step line where the local altitude suddenly change. Crossing this step line taxing on the ground, the aircraft would crash its landing gear.

In the figure below the terrain to the left side of the step line has elevation 500 feet, while the terrain in the other side has elevation 510 feet. Unfortunately in this case we have a problem, since the step line crosses both the runways.


The problem of the step line crossing the runways.


The only practical solution to this problem is to keep all the runways of a given airport at the same exact altitude.

Navaid Record

A NAV record may be a VOR, a DME or a NDB. The TACAN stations of the ACM world behave simply as VOR/DME stations. VOR and ILS stations frequency ranges from 108.00 MHz up to 117.95 MHz.

OMARKER, MMARKER and IMARKER are just like NDB stations but with limited range (20 NM rather than 100 NM). NDB station frequency ranges from 200 KHz up to 499 KHz. This latter upper limit is a rather arbitrary value set in ACM-5.0-dlc, but most of the stations do not exceed 415 KHz.

Example:
NAV TTT VOR/DME 32-52-08.98N 097-02-25.81W 540 06E 113.10
NAV FWH TACAN   32-46-17.46N 097-26-22.07W 663 07E 108.7  024X
NAV RBD NDB     32-40-36.98N 096-52-15.91W 670 06E 287
Fields:
0 Record Identifier: NAV
1 Up to four letters identifier
2 NAVAID Type: VOR, DME, VOR/DME, VORTAC (=VOR+DME), TACAN (=VOR+DME), NDB, OMARKER (=NDB), MMARKER (=NDB), IMARKER (=NDB)
3 Transmitter Latitude
4 Transmitter Longitude
5 Transmitter Altitude (ft, MSL)
6 Magnetic variation at station (degrees east or west)
7 VHF Frequency (MHz for VOR/DME/ILS stations and KHz for NDB)
8 TACAN channel number (optional; only for TACAN)

ILS Record

An ILS station is a LOCALIZER (emitting the signal giving the right heading toward the runway) that may include also a glide slope (GS, giving the deviation from the glide plane) and a DME.


Typical ILS arrangement around the runway.


Example:
ILS 30 ILS IAIW 108.9 34-18-47.161N 097-01-38.280W 34-17-59.533N 097-00-35.018W 729.2 3.2E 4.92 309 3.00
Fields:
0 Record Identifier: ‘ILS’
1 Runway Identifier:
2 ILS Type: either ILS (=LOC+GS), ILS/DME (=LOC+GS+DME), LOCALIZER (=LOC), LOC/GS (=LOC+GS), or LOC/DME (=LOC+DME)
3 Four letter Identifier
4 VHF Frequency (MHz)
5 Localizer Transmitter Latitude
6 Localizer Transmitter Longitude
7 Glide Slope Transmitter Latitude (‘-‘ for Localizer-only approaches)
8 Glide Slope Transmitter Longitude (‘-‘ for Localizer-only approaches)
9 Glide Slope transmitter altitude (ft, MSL) (‘-‘ for Localizer-only approaches)
10 Magnetic variation at localizer station (degrees, east or west)
11 Localizer beam width (degrees)
12 Localizer bearing (degrees, magnetic)
13 Glide slope angle (degrees) (‘-‘ for Localizer-only approaches)

Features

Use feature records to place objects in an ACM scene. Example:
FEATURE tower.obv 32-58-04.800N 096-50-16.800W 644 0
Fields:
0 Record identifier: FEATURE
1 Object filename
2 Latitude
3 Longitude
4 Altitude (ft, MSL)
5 Orientation angle (degrees, true)

Defining New Aircraft

The stout-of-heart may be interested in creating new aircraft types. Some of this information must be generated by hand, but I did create a program to help me generate aircraft objects: GEDIT. GEDIT is a rudimentary Motif program that allows you to create 3-dimensional objects. It is available in the directory gedit of the distributed package.

The syntax of inventory file objects/inventory is not complex. The program doesn’t complain about missing numeric values, and they are assumed to be zero.

# Aircraft Inventory for ACM 5.0
# See ACM-Bibliography for further information about the sources of this
# information.
# MiG-29 Fulcrum
# MiG-29M information was derived from two sources: [Spick87] and [AirI Aug92].

aircraft "MiG-29" {
    Description "Mikoyan-Guryevich MiG-29M Fulcrum"
    Object "mig29.obj"

The visual description of an ACM aircraft is stored separately in V-library format. This file describes a set of polygons that roughly approximates the shape of the actual aircraft. I used GEDIT to create most of the ACM aircraft objects. If not available, you may leave this parameter commented-out, but chase view will not be available and you craft will be invisible to the other players...

    WingArea     400.0     # (wingS) Wing surface area (ft^2)
    WingHalfSpan 18.87     # (wings) Wing half-span (ft)
    WingHeight    0.0      # (wingh) Height of the wing aerodynamic center
                           #    above the CM (ft)
    Chord        9.61      # (c) Mean geometric chord of wing (ft)
    AspectRatio  3.56      # (aspectRatio) aspect ratio
    EmptyWeight  22500.0   # (emptyWeight) Empty mass (lb)

These values are usually quoted with an aircraft’s performance figures. The WingHeight is used to estimate the ground effect, and its value is positive for wings above the center of mass.

    # Max. wing load (lb):
    MaxLoadZPositive    273000  # 10*(EmptyWeight+50%*MaxFuel) (+10 g)
    MaxLoadZNegative    137000  # 5*(EmptyWeight+50%*MaxFuel) (-5 g)

The maximum vertical load, either climbing (MaxLoadZPositive) or diving (MaxLoadZNegative). If the weight the wings have to sustain is greater than that, the structure suddenly breaks and the aircraft gets destroyed.

For civil aircrafts you may guess these values as 2.5*MTOW and 1.0*MTOW. Military aircrafts, and fighters expecially, are reported to sustain up to some number N of positive “g” and some other number Q of negative “g”. If not indicated, you should soppose at least 60% of the fuel contributing to the mass:

MaxLoadZPositive = N * (EmptyWeight + 60%*MaxFuel)
MaxLoadZNegative = Q * (EmptyWeight + 60%*MaxFuel)

where typical values for N range from 7 to 10, and Q=3.


The reference frame of the aircraft, with main inertial axes
and center of mass (CM) indicated.


    # (I(x,y,z)) Moments of inertia (lb ft^2)
    Ixx 10000
    Iyy 75000
    Izz 80000

These are hard values to simple guess. I have grabbed values where they were available and simply guessed sometimes, too. Moments of inertia in an actual aircraft are not constant. Most notably, as an aircraft burns fuel, its weight distribution, center-of-gravity, and moments of inertia change. In ACM, however, moments of inertia and CM do not change.

    # (cFlap) Lift due to flaps (yields Clift of 1.0 at max extension)
    CFlap 0.64279
    BetaStall     15.0    # (deg) Stall angle for rudder
    CFlapDrag     0.0467  # (cFlapDrag) Drag due to Flaps
    CGearDrag     0.03    # (cGearDrag) Drag due to Gear
    CSpeedBrake   0.03    # (cSpeedBrake) Drag due to Speed Brake
                          # at 90 degrees


    # (CDb) Drag Characteristic equation [Wave+body]
    # independent variable is mach number

    CDb {                 # (CDb) Drag Characteristic equation [Wave+body]
        # independent variable is mach number
        0.0, 0.020,
        0.2, 0.020,
        0.95, 0.015,
        1.05, 0.045,
        2.00, 0.030,
        10.0, 0.030
    }

In ACM, wave/body drag coefficient is a function of the airspeed expressed as a Mach number. Less drag makes for a faster aircraft. This function generally has a maximum near Mach 1.0. You probably should not change this table unless you really know what you’re doing.
For the CFlap coefficient see below.

    CLift {               # (CLift) Lift-slope curve (vs alpha)
        -3.0, 0.0,
        -1.05, 0.0,
        -0.576, -2.199,
        -0.556, -2.23,
        -0.524, -2.199,
        0.524, 2.199,
        0.556, 2.23,
        0.576, 2.199,
        1.05, 0.0,
        2.0, 0.0
    }

In ACM, the coefficient of lift is purely a function of angle of attack (alpha) and of the speed. The CLift table gives the coefficient of lift for some values of the AoA “alpha”. In the example above, the maximum coefficient of lift is 2.23 at 0.556 RAD = 32 DEG of AoA. Above this angle, the lift drops abruptly and the plane stalls. The coefficient of lift also depends on the current flap deflection angle according to the function:

CL = CLift(alpha) + sin(flaps) * CFlap

being CLift(alpha) the interpolated value given by the CLift table above. The total lift force is given by the equation:

L = 1/2 r WingArea V2 CL

where r is the air density (r=1.225 Kg/m3 at sea level), V is the airspeed and CL is the coefficient of lift.

    CnBeta { # (CnBeta) Yaw moment due to sideslip equation
        0, -0.08125,
        0.523540, -0.078125,
        0.785340, -0.0609375,
        1.047198, 0.125,
        1.58, 0.0
    }

In ACM negative yaw due to sideslip means that the aircraft is “weathercock stable”, that is, the aircraft tends to yaw in a way that reduces the sideslip component.

    ClBeta { # (ClBeta) Roll moment due to sideslip equation
        0, -0.0125,
        0.43633, -0.015,
        0.78540, 0.125,
        1.58, 0.0,
        3.142, 0.125,
    }

A negative value means that the aircraft will roll in the opposite direction of the sideslip component, tending to make the aircraft more stable.

    CDBOrigin   0       # (CDBOrigin, CDBFactor) Drag due to sideslip
    CDBFactor   0.5
    CDBPhase    0       # (CDBPhase) sideslip drag phase (deg)
CDB values define the body drag added by sideslip on the aircraft.
    CYBeta      -0.85   # (CYbeta) Side-force from side-slip [dCY/dBeta]

CYBeta is the “lift” due to sideslip. This is the factor that allows to roll 90 degrees from level, kick the rudder a lot, and still stay level. Not all simulators take this into account.

    EffElevator   0.60 # (effElevator) Elevator effectiveness
    EffRudder     0.35 # (effRudder) Rudder effectiveness
    MaxRudder     20   # (maxRudder) max Rudder (deg)
    MaxAileron    20   # (maxAileron) max Aileron (deg)
    MaxFlap       20   # (maxFlap) max flap setting (deg)

    # (flapRate) flap extension rate (about 2 secs to fully extend flaps)
    FlapRate      10   # (deg/s)

    # (gearRate) gear extension rate (about 3 secs to fully extend gear)
    GearRate      30   # (deg/s)

    MaxSpeedBrake 80   # (maxSpeedBrake) max Speed Brake setting (deg)

    # (speedBrakeRate) rate of speed brake extension (2 secs to full ext)
    SpeedBrakeRate 40  # (deg/s)

    # (speedBrakeIncr) speed Brake increment per keystroke
    SpeedBrakeIncr 80  # (deg)

These values determine the characteristics of the aircraft’s speed brakes (speed brakes are used in the air, wheel brakes are used on the ground). MaxSpeedBrake determines the maximum extension of the speed brake panels. SpeedBrakeIncr determines how far one press of the s key will increase the speed brake extension. It does not need to be an even increment of MaxSpeedBrake. SpeedBrakeRate determines how fast the brakes will deploy or retract.

    Clda  0.048 # (Clda) roll moment from aileron offset
    Cldr  0.004 # (Cldr) roll moment from rudder offset
    Clp   -0.27 # (Clp) roll damping
    Cmq   -8.0  # (Cmq) pitch damping factor
    Cnr   -2.0  # (Cnr) yaw damping factor

These factors characterize some of the roll, pitch and yaw characteristics of the aircraft. They are in the NACA form. Damping factors determine how quickly an aircraft returns to a steady state after some change in control input. Larger negative damping factors make for a more stable aircraft.

    # Speed limits at MTOW. Leave undefined or set to 0 if unknown.
    MTOW  32250.0    # maximum takeoff weight (lb)
    #Vs0     42.0    # stall speed, full flaps (kt)
    #Vs1     50.0    # stall speed, no flaps (kt)
    #Vfe    100.0    # max speed with flaps extended (kt)
    #Vno    145.0    # normal operation speed (kt)
    #Vne    164.0    # never exceed speed (kt)

These parameters allow the program to set or calculate several speed limits. These speed limits are used to draw the colored arcs on the air speed indicator. Every arc is displayed only if its start and end are known, and it is now drawn otherwise. These speed limits are also considered to simulate some structural failures when exceeded, as detailed below. Leave commented-out or set to 0 the parameters that are unknown: the program will try to guess the missing values of simply will left them undefined if this guess is not possible.

MTOW is the maximum take off weight (lb).

Vs0 is the stall speed at MTOW, full flaps, at sea level. It is indicated by the beginning of the white arc in the anemometer. If undefined or set to zero, the program tries to calculate this value with the following formula:

Vs0 = sqrt( 2 MTOW earth_g / (r WingArea CL) )
where:
earth_g is the gravity acceleration at sea level.
r is the air density at sea level.
CL is the lift coefficient calculated with:
CL = maxCLift + CFlap sin(MaxFlap)
being maxCLift the maximum coefficient of lift as given by the CLift curve.

Vs1 is the stall speed at MTOW, without flaps, at sea level. It is indicated by the end of the short white arc in the anemometer. If undefined or set to zero, the program calculates this value with the following formula:

Vs1 = sqrt( 2 MTOW earth_g / (r WingArea maxCLift) )

Vfe is the maximum speed with flaps extended. It is indicated by the end of the longer white arc in the anemometer. Exceeding this speed with flaps deployed, also partially, causes a flaps failure that makes them unusable. If undefined or set to 0, the Vfe is unlimited.

Vno is the normal operation speed, that is the maximum speed in turbolent air conditions. It is indicated by the beginning of the yellow arc in the anemometer. Flying above this speed in turbolent air, a vertical wind gust of 30 ft/s would cause a vertical positive or negative acceleration above the maximum structural load capacity of the wings. If undefined or set to 0, the Vno is extimated with the following formula:

Vno = 2 earth_g (MaxLoadZNegative + EmptyWeight) / (r WingArea * b * MAX_GUST)
where:
b = 6.302 is the slope of the CLift curve in its linear range; this value was actually calculated for the C-172RG but it is also very close to that of the other aircraft models, so it is assumed as constant.
MAX_GUST = 30 ft/s is the conventional maximum vertical wind gust intensity assumed as reference to calculate Vno.

Vne is the speed that must never be exceeded. It is indicated by a short red line. Flying above this speed limit the aircraft may suffer a catastrofic structural failure. If undefined or set to zero, this limit does not apply.

    CmAlpha  -0.30 # (cmSlope) CmAlpha curve slope
    MaxFuel  9750  # (maxFuel) maximum internal fuel (lb)

    # engine lag factor (how fast does it respond to throttle changes
    EngineLag -3.0

    # Engine data based on updated RD-33K engines cited in [AirI Aug89].
    # (maxThrust) max static thrust, military power (lbf)
    MaxThrust 27000

    # (maxABThrust) max static thrust, afterburner on (lbf)
    MaxABThrust 44000

    HasThrustReverser 0 # 0=no (default), 1=yes

Maximum static military and afterburner thrust values can usually be found in documents that describe aircraft performance. Setting MaxABThrust to the same value of MaxThrust disable the AB for those aircrafts that lack this device. For the conversions, remember that 1 pound = 1 lb g = 4.448 N = 0.4536 Kgf.

The HasThrustReverser parameter tells if the aircraft has a thrust reverse device. Set to 1 if available or 0 if not. If this parameter is missing the default is no. With thrust reverse deployed and engine at the max power, the resulting reverse thrust is calculated as 50% of the max forward thrust.

    Thrust {        # (Thrust) Mach Number vs. thrust
        0,   1,
        1.7, 1.5,
        2.0, 0.84,
        5,   0.5
    }

    ABThrust {      # (ABThrust) afterburner thrust table
        0,   1,
        0.5, 1,
        1,   1.21,
        1.7, 1.7,
        5,   1.64
    }

The Thrust and ABThrust corrects the static thrust value for the aircraft’s Mach number. Unless you have hard information about this, leave these fields alone. The ABThrust table is ignored when the AB device is disabled.

    # (spFuelConsump) specific fuel consump(lb fuel/lb T x hr)
    SpFuelConsump    0.68

    # (spABFuelConsump) AB specific fuel consump(lb fuel/lb T x hr)
    SpABFuelConsump  2.55

These fields define the specific fuel consumption (fuel consumed per pound of thrust per hour). Unless you have hard information about this, leave these fields alone.

    # (viewPoint) pilot’s viewing location wrt CM
    ViewPoint { 14.75, 0, -5.375 }

This is the XYZ location relative to the aircraft center of gravity that locates the pilot’s eye view outside of the cockpit.

    # Landing Gear control parameters
    MuStatic   0.08 # (muStatic) static coeff of friction no-brakes
    MuKinetic  0.05 # (muKinetic) moving coeff of friction no-brakes
    MuBStatic  0.7  # (muBStatic) static brakes-on
    MuBKinetic 0.6  # (muBKinetic) moving brakes-on

These four values characterize the amount of friction that the wheels generate when in contact with the ground. If F is the force (usually a weight) that load a wheel, then F*MuStatic is the friction force when the wheel is at rest; F*MuKinetic when the wheel is rolling. MuBStatic and MuBKinetic have the same meaning with the only difference that the brakes are on. The maximum theoretical value of any of these is 1.0.

NOTE 1. In our landing gear, only the main gear wheel have the brakes; the nose wheel can’t brake.

NOTE 2. The MuKinetic and MuBKinetic are probably misnomers as these coefficients are more commonly known as “MuRolling” instead. Proper “kinetic” coefficients are involved when the wheel skids over the runway, either longitudinally (blocked brakes) or laterally. In ACM-5.0-dlc brakes never block, but still wheels can skid laterally over the runway. The coefficient involved in the skidding behaviour is currently hard-coded in the gear.c module. Moreover, the struct breaks when the lateral force applied to the landing gear struct exceeds the empty weight of the aircraft. This limit too is hard-coded into the source program.

    MaxNWDef   72   # (maxNWDef) maximum nosewheel deflection (deg)

The MaxNWDef is the max deflection of the nose wheel, so that the radius of turn of the aircraft is R=Q/sin(MaxNWDef) where Q is the distance between the nose gear and the middle point between the wheels of the main gear (see the figure below).


Radius of turn on the ground.


    # (rm) location of right main gear attachments {x,y,z} (ft)
    Rm { -2.2, 4, 1.702 }

    # (rn) location of nose gear attachments {x,y,z} (ft)
    Rn { 9.395000, 0, 1.807 }

    Km    18220.7 # main oleo spring factor (lbf/s^2)
    Kn    4278.34 # nose oleo spring factor (lbf/s^2)
    Dm    10000   # main oleo damping factor (lbf s/ft)
    Dn    80      # nose oleo damping factor (lbf s/ft)
    Gm    1.5     # main strut length with tire (ft)
    Gn    1.5     # nose strut length with tire (ft)
    CmMax 1.0     # (cmMax) main max oleo extension distance (ft)
    CnMax 1.5     # (cnMax) nose max oleo extension distance (ft)

Parameters of the landing gear.


The parameters Rn and Rm give the positions of the nose and main gear attachements, while Gn and Gm are their total length including the tyre but excluding the oleo extension CnMax and CmMax. As a first approximation of these parameters, you can take these values (all the distances are measured in feet, 1 ft = 0.3048 m):

Rn.x
Longitudinal distance of the nose wheel from the CM, positive for trycicle landing gears, negative for bycicle landing gears.
Rn.y
Always zero.
Rn.z
Vertical distance of the nose gear contact point from the longitudinal axis measured on the plane at rest on the runway, minus CnMax/2.
CnMax
About half foot for light planes, and up to 1.5 feet for larger ones.
Gn
Set to zero, as the only value that really care to the program is the sum Rn.z+Gn and we already included this distance in Rn.z.
Rm.x
Longitudinal distance of the main wheel from the CM, negative for trycicle landing gears, positive for bycicle landing gears.
Rm.y
Lateral distance of the right main wheel from the CM, always positive.
Rm.z
Vertical distance of the main wheel contact point from the longitudinal axis measured on the plane at rest on the runway, minus CmMax/2.
CmMax
About half foot for light planes, and up to 1.5 feet for larger ones.
Gm
Set to zero, as the only value that really care to the program is the sum Rm.z+Gm and we already included this distance in Rm.z.

Every wheel of the landing gear is attached to the aircraft through a spring (K) and a dumper (D). The parameters referring to the main landing gear are the sum for the left and right gear, so the actual parameter for each wheel strut is half of the value reported in the inventory (see the picture above).

The landing gear parameters are difficult to estimate. We will give some simple rule to set good values based on reasonable assumptions.

Km
The main landing gear must sustain most of the weight of the aircraft, so a reasonable rule is to set this spring (left + right) so that the strut be half compressed with the aircraft in its empty weight:

Km = 2 * EmptyWeight / CmMax

For example, if the empty weight is 10000 lbf and the strut maximum extension is 1.5 ft, we have Km = 13300 lbf/ft.

Kn
The nose spring must sustain the static weight that depends on its distance from the CM. Moreover, on bicycle landing gears the nose must sustain also the braking. The resulting formula is:

Kn = 2 * EmptyWeight * (Rm.x + MuBKinetic * Rm.z) / (Rn.x * CnMax)

Note that the distances that appear in this formula have their sign, so usually Rm.x is negative while Rn.x is positive. For bicycle landing gear we can neglet the braking effect, but consider that these aircrafts usually have an higher static pitch for which this simple formula isn’t no more valid.

Dm
The principal role of the dumpig factor in the main gear is to adsorb harder touch-down at high descending speed, when the spring cannot help because is still not compressed. 600 fpm is usually the maximum allowed vertical speed for which aircrafts are tested. That means that the force produced by the dumper when the wheels of the main gear hit the ground is F=Dm*600 fpm. Since in ACM-5.0-dlc there is an hard-coded vertical limit to the main gear equal to 3 times the empty weight, the following formula gives a safe value for Dm:

Dm <= 0.2 * EmptyWeight

For example, if the empty weight is 10000 lbf, then dumping factor should not be greater than 2000 lbf*s/ft.

The program GEDIT can be used to determine correct landing gear locations. I then use the program tools/balance.c to generate the appropriate values for the spring factors for each new aircraft type that I create. Note that neither GEDIT nor balance.c currently calculate oleo damping factors.

    # (tailExtent) as we rotate, this part may drag
    TailExtent { -18.165, 0.0, 1.191 }

This defines where the aft-most lower part of the aircraft is located. This is the part of the aircraft that may scrape the ground as we rotate. This value is not currently used. Instead we simply limit up-pitch on the ground to 20 degrees.

    StructurePoints 15 # (structurePts) maximum structural damage

This value characterizes how much damage can be absorbed by the aircraft before it simply explodes.

    # Radar data based on N-019 Pulse Doppler radar cited in [AirI Aug89].
    RadarOutput   15000 # (radarOutput) radar output (watts)
    RadarTRange   38    # (radarTRange) tracking radar range (NM)
    RadarDRange   55    # (radarDRange) detection radar range (NM)
    TEWSThreshold 0     # Radar Warning Receiver threshold (watts)

If you have any information about the radar capabilities of the aircraft, here’s the place for them. The detection range is the maximum range that a target can be seen on radar. No attempt is made to take into account the radar cross section of the target. The track ing range is the range required to get a lock onto the target.

    # Weapons
    WeaponCount 9

Number of weapon hard-points. The following fields are ignored if this value is set to zero, so they can be omitted if the aircraft does not carry weapons at all.

    HardPoint0 { 7.0, -4.0, 0.0 }
    HardPoint1 { 0.357, 15.6, 0.0 }
    HardPoint2 { 0.357, -15.6, 0.0 }
    HardPoint3 { 1.5, 9.0, 2.0 }
    HardPoint4 { 1.5, -9.0, 2.0 }
    HardPoint5 { 1.5, 8.0, 1.5 }
    HardPoint6 { 1.5, -8.0, 1.5 }
    HardPoint7 { 1.5, 10.0, 1.5 }
    HardPoint8 { 1.5, -10.0, 1.5 }

These are the XYZ locations relative to the aircraft CM of each weapon. By defining these, each missile or cannon fires from its appropriate location on the aircraft.

    WeaponStation   0 "M61A1"   500 0   0
    WeaponStation   1 "AIM-9M"   0   0   0
    WeaponStation   2 "AIM-9M"   0   0   0
    WeaponStation   3 "AIM-9M"   0   0   0
    WeaponStation   4 "AIM-9M"   0   0   0
    WeaponStation   5 "AIM-9M"   0   0   0
    WeaponStation   6 "AIM-9M"   0   0   0
    WeaponStation   7 "AIM-120"  0   0   0
    WeaponStation   8 "AIM-120"  0   0   0
}

The WeaponStation directive defines the type of weapon located at each hard point. The first argument is the number of the hard point, that ranges from 0 up to WeaponCount−1. The second argument is the name of the weapon. Then three integer numbers follow whose meaning depends on the specific weapon. The table below summarizes by examples all the available weapons:

Example Notes
WeaponStation 0 "M61A1" 500 0 0
M-61A1 “Vulcan” cannon. 500 is the number of rounds initially supplied to the cannons. The other two numbers are ignored.
WeaponStation 1 "AIM9M" 0 0 0
AIM9M “Sidewinder”, infra-red guided, short range, air-to-air missile. The other 3 numbers are ignored.
WeaponStation 2 "AIM120" 0 0 0
AIM-120 “AMRAAM”, radar guided, medium-range, air-to-air missile. The other 3 numbers are ignored.

Defining New Objects

An “object” can be the shape of an aircraft (field Object of the aircraft inventory file) or a feature of the scene file (record FEATURE). The format of the object file, described here, is copied from the ACM Flight Simulator Frequently-Asked Questions List mantained by Brad Bass (bass@convex.com).

The first line is the object name.

The 2nd line has two integers which represent the number of points and the number of polygons in the object.

Then, the points are listed, one per line, with the point id number followed by the X, Y and Z coordinate (North, East, Down). The units are feet.

Finally, the polygons are listed as color, number of corners, and the list of point id numbers. The color may be expressed as a single color or as a front and back color. Also, the polygon can be flagged as “one-sided” -- that is visible only from the front.

For example:

pyramid                  # the object name
5 4                      # the point count and polygon count
1 28000 0 0              # the
2 0 16000 0              #   points that
3 -35000 0 0             #     describe
4 0 -14000 0             #       the
5 0 0 -8200              #         corners
#788b63      3  1 2 5    # side 1 - color (X-style), cornercount,
                         #   corner list
violet       3  2 3 5    # side 2
(blue red)   3  3 4 5    # side 3 - front is blue, back is red
(green clip) 3  4 1 5    # side 4 - one-sided polygon

Starting ACM for Windows

NOTE. Some versions of the original ACM-5.0 program were available also for Microsoft Windows. Currently ACM-5.0-dlc does not compile on Windows. These notes are still here in the hope some day ACM-5.0-dlc will expand its range of supported operating systems.


Call Sign
Although this is not completely implemented, yet, you may register your aircraft’s call sign – which will used to identify you to other  players.

Aircraft Type
You may select either a MiG-29M or F-16C Falcon.

Team
Team locations are defined in the scene file. In the scene file shipped with ACM, team one is based at Addison airport in Dallas, Texas. Team two is based a Sheppard Air Force Base, Wicita Falls, Texas.

Full Screen
If you select full-screen mode, ACM will occupy the full screen (surprise). Currently, the full screen layout is 800x600 and 256 colors.

IEEE 1278.1 (DIS) Compliance

ACM emits and recognizes the following DIS PDU Types:



Entity State

Fire

Detonation

Electromagnetic Emission



ACM uses the DIS/x DIS interface library. DIS/x supports dead reckoning of external entities using any of these methods:



Name Enumeration Value

Static 1

FPW 2

RPW 3

RVW 4

FVW 5



These dead reckoning methods are currently unsupported by DIS/x:



Name Enumeration Value

FPB 6

RPB 7

RVB 8

FVB 9

RPW 10

RVW 11



Entities managed by ACM emit entity state PDU’s specifying the RPW(3) dead reckoning method. No articulation parameters are currently sent by entities managed by ACM. As with most current DIS-based simulations, altitudes are expressed as heights above the WGS-84 ellipsoid, not as heights above the geoid. Dead reckoning threshold values are hard-coded in this version of the product:



Description Value

Maximum time between Entity State PDUs 5 seconds

Dead Reckoning Cartesian distance error 2 meters

Dead Reckoning angular orientation error 3 degrees



When operating in IEEE 1278 mode, the default UDP port number for PDU transmission is 3000.

The Transfer Control Protocol

Transfer Control Request PDU

Field
Size
(bits)
Transfer Control Request PDU fields
96 PDU Header

Protocol Version—8-bit enumeration

Exercise ID—8-bit unsigned integer

PDU Type —8-bit unsigned integer

Protocol Family—8-bit enumeration

Timestamp—32-bit unsigned integer

Length—16-bit unsigned integer

Padding—16-bits unused

48 Originating Entity ID

Site—16-bit unsigned integer

Application—16-bit unsigned integer

Entity—16-bit unsigned integer

48 Receiving Entity ID Site—16-bit unsigned integer

Application—16-bit unsigned integer

Entity—16-bit unsigned integer

32 Request ID 32-bit unsigned integer
8 Required Reliability Service 8-bit enumeration
8 Transfer Type 8-bit enumeration
48 Entity ID to be Transferred Site—16-bit unsigned integer

Application—16-bit unsigned integer

Entity—16-bit unsigned integer

32 Number of Record Sets (R) 32-bit unsigned integer
96 +
(L1 x Q1)
+ P1
Record Set #1 Datum ID—32-bit enumeration

Record Set Serial Number—32-bit unsigned integer

Record Length—16-bit unsigned integer (L1)

Record Count—16-bit unsigned integer (Q1)

Record Values—(L1 x Q1) bits

Padding—P1 bits

·

·

·

96 +
(LR x QR)
+ PR
Record Set #R

Datum ID—32-bit enumeration

Record Set Serial Number—32-bit unsigned integer

Record Length—16-bit unsigned integer (LR)

Record Count—16-bit unsigned integer (QR)

Record Values—(LR x QR) bits

Padding—PR bits

Total Transfer Control Request PDU size:

320 + Sumi=1..R(96 + (Li x Qi) + Pi) bits

where R is the number of Record Sets.

ACM currently ignores record sets in a transfer control PDU.

Transfer Type

This section specifies the 8-bit enumeration for the Transfer Type field of the Transfer Control PDU.



Field Value Nature
0 Other
1 Controlling application requests transfer of an entity
2 Application desiring control requests transfer of an entity
3 Mutual exchange / swap of an entity
4 Controlling application requests transfer of an environmental process
5 Application desiring controls request transfer of an environmental process
6 Mutual exchange of an environmental



Assuming Ownership



Accepting Ownership by Request

Another feature of ACM’s transfer control protocol support is that other applications may request that ACM take control of an aircraft that the other application controls.

Acronyms

AAM Air-to-Air Missile
ACM Air Combat Modeler
AGL Above Ground Level
AOA Angle Of Attack (also AoA)
ASL Above Sea Level
DME Distance Measurement Equipment
DIS Distributed Interactive Simulation
ECM Electronic Countermeasures
HSI Horizontal Situation Indicator
HUD Head-Up Display
IAS Indicated Airspeed
IFR Instrumental Flight Rules
ILS Instrumental Landing System
IR Infrared
KIAS Knots Indicated Airspeed
KT Nautical Miles per Hour, NM/h.
LOC Localizer
MH Magnetic Heading, the direction referred to the magnetic north pole (see also TH, VAR)
NAV Navigation
NDB Nondirectional Radio Beacon
OBS Omni Bearing Selector
RWR Radar Warning Receiver
TAA Target Aspect Angle
TACAN Tactical Air Navigation System
TAS True Airspeed
TEWS Threat Early Warning System − a form of radar warning receiver
TH True Heading, the direction referred to the geographic north pole (see also MH, VAR)
VAR Magnetic variation, the difference between the geographic north and the magnetic north: VAR = TH - MH. For example, VAR=+6=6°E means that the local magnetic north points toward 6° geographic.
VFR Visual Flight Rules
VOR VHF Omnidirectional Radio Range
WP Waypoint

Units of measurement

Numbers are indicated with 4 significant digits.

Name Symbol Value(1) Equivalences
Time
Second s    
Minute min 60 s  
Hour h 3600 s  
Length
Meter m   3.281 ft = 0.0005400 NM
Foot ft   0.3048 m = 0.0001646 NM
Nautical Mile(2) NM   1853 m = 1.853 Km = 6076 ft
Speed
Knot KT 1 NM/h 0.5144 m/s = 1.852 Km/h
Feet per minute fpm 1 ft/min 0.3048 m/min = 0.005080 m/s
Mass
Pounds lb   0.4536 kg
Kilogram kg   2.205 lb
Slug slug 1 lbf / (1 ft/s2) 32.17 lb = 14.59 Kg
Acceleration
Earth acceleration
at sea level(3)
g   9.806 m/s2 = 32.17 ft/s2
Force
Newton N 1 kg m / s2 0.1020 Kgf = 0.2248 lbf
Kilogram-force(4) Kgf 1 kg g 9.806 N = 2.205 lbf
Pound-force(4) lbf 1 lb g 4.448 N = 0.4536 Kgf
Slug-force(4) slugf slug g 143.1 N = 32.17 lbf

1. A value is given only for those units that are defined in terms of other base units.

2. Nautical miles are a practical length unit used in naval and aerial navigation, as its value is is very close to the length of a arc-minute measured along a meridian, or the length of a arc-minute measured along the equatorial line.

3. As Isaac Newton explained, on the Earth at sea level every body fall under its weight with the same acceleration, here indicated with the slanted letter g, not to be confused with the gram unit of mass “g”.

4. The weight is the force with which the Earth attracts bodies toward its center. So it is useful for practical calculations to associate to every mass unit (kg, lb, ...) its corresponding weight-force unit whose symbol is the same as the mass unit with “f” added. Then, for example, 1 lbf is the weight of 1 lb mass measured on the Earth at sea level.

Suggested Further Reading

The Source Code (ACM for Windows only)

This section contains some information to help you navigate through the ACM for Windows sources.

Here’s a summary of the contents of each of the directories in the source code tree:

source\acm             Toplevel directory for ACM for Windows

source\acm Toplevel directory for ACM for Windows source\acm\pc The MFC-based front-end to the simulator This directory holds the main acm.dsw VC++ 5.0 project workspace. source\acm\pc\hlp Help files associated with the project source\acm\pc\res Windows resources (bitmaps, icons, ...) source\acm\src C-based flight simulator code source\acm\V\lib The 3D graphics library source\acm\V\test source\acm\dis\lib The DIS/x IEEE 1278 library source\acm\dis\test source\acm\dis\disgen IEEE 1278 protocol compiler source\acm\tools Various infrequently used tool sources source\include Supplemental system header files source\oncrpc A Windows port of Sun’s ONC RPC libraries source\rpcgen A Windows port of Sun’s RPCGEN command

Developer Studio Setup (ACM for Windows only)

  1. Install this software (if you are reading this, then you have already done that).

  2. Ensure Visual C++ 5.0 has been installed

  3. Install the DirectX Software Development Kit.

  4. Several directories included in the source release must be added to the default search directories. From the Tools>Options… menu in Developer Studio select the Directories tab. Select Include files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\sources\include directory – adjust the directory name to suit the correct ACM for Windows source installation location on your system.

  5. From the Tools>Options… menu in Developer Studio select the Directories tab. Select Executable files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\bin directory – adjust the directory name to suit the correct ACM for Windows source installation location on your system.

  6. Double click the empty entry at the bottom of the current list and add the c:\DXSDK\sdk\inc directory – adjust the directory name to suit the correct DirectX Software Development Kit installation location on your system. Use the arrow keys to move this item to the top of the directory list. If you do not do this, Visual C++ will incorrectly use the DirectX version 2 include files that shipped with VC++ 5.0.

  7. From the Tools>Options… menu in Developer Studio select the Directories tab. Select Library files in the Show Directories for: box. Double click the empty entry at the bottom of the current list and add the c:\DXSDK\sdk\lib directory – adjust the directory name to suit the correct DirectX Software Development Kit installation location on your system. Use the arrow keys to move this item to the top of the directory list. If you do not do this, Visual C++ will incorrectly use the DirectX version 2 library files that shipped with VC++ 5.0.

  8. Open the main ACM for Windows VC++ workspace. It is named \source\acm\pc\acm.dsw

The basic workspace includes five projects:

acm     \source\acm\pc\acm.dsp              The main program
fsim    \source\acm\src\fsim.dsp            the flight simulation library
vlib    \source\acm\V\lib\vlib.dsp          the 3D graphics library
dis     \source\acm\dis\lib\dis.dsp         the IEEE 1278 DIS library
disgen  \source\acm\dis\disgen\disgen.dsp   a DIS header file generator

Setting up an ACM session (ACM for Windows only)



Advanced
Use this button to select a different DirectPlay service provider (modem, TCP/IP, direct connect serial, or IPX) or to set IEEE 1278 DIS parameters.




The ACM-5.0-dlc User Manual ends here.