<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jentron</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jentron"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Jentron"/>
	<updated>2026-04-06T04:50:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=86902</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=86902"/>
		<updated>2015-08-30T14:11:31Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
&lt;br /&gt;
=== Configuration file format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
&lt;br /&gt;
=== Configuration file format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
* The area specified times the sea level pressure (2117 lbf/ft^2) is the amount thrust is reduced at sea level&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Configuration file format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== C_THRUST and C_POWER tables ===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach. The CP_MACH table models the [http://en.wikipedia.org/wiki/Drag_divergence_Mach_number Drag Divergence Mach Number] for the propeller airfoil. The CT_MACH table models the thrust reduction.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (for piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in FG 2.8 to independently control the power of the piston starter motor, to include battery effects. '''&lt;br /&gt;
starter-torque (fgfs 2.8) is a value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
starter-rpm (fgfs 2.8) is a value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice. Peak starter power is achieved at 1/2 starter-rpm. At 1/2 starter-rpm torque is 1/2 starter-torque. Peak power can be calculated by the standard formula HP=(Torque*RPM)/5252&lt;br /&gt;
&lt;br /&gt;
=== Development tips ===&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ratio, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
* Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
* Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
&lt;br /&gt;
=== Configuration file format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
* The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
* The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
* The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM is linked to to the main (=first, =0) rotor, and specifying '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the collective input from '''propulsion/engine[1]/antitorque-ctrl-rad''' (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be attached to a dummy engine, e.g. an 1HP electrical engine. A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
The 'sense' parameter from the thruster is interpreted as follows, sense=1 means counter clockwise rotation of the main rotor, as viewed from above. This is as a far as I know more popular than clockwise rotation, which is defined by setting sense to -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
In order to keep the rotor speed constant, use of a RPM-Governor system is encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled by the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
The rotor model creates the following properties:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81117</id>
		<title>JSBSim Mass and balance</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81117"/>
		<updated>2015-02-18T06:50:08Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Not really a stub anymore, is it?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mass_balance&amp;gt;&lt;br /&gt;
        &amp;lt;ixx unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
        &amp;lt;iyy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyy&amp;gt;&lt;br /&gt;
        &amp;lt;izz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/izz&amp;gt;&lt;br /&gt;
        &amp;lt;ixy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixy&amp;gt;&lt;br /&gt;
        &amp;lt;ixz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixz&amp;gt;&lt;br /&gt;
        &amp;lt;iyz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyz&amp;gt;&lt;br /&gt;
        &amp;lt;emptywt unit=&amp;quot;{LBS | KG&amp;quot;&amp;gt; {number} &amp;lt;/emptywt&amp;gt;&lt;br /&gt;
        &amp;lt;location name=&amp;quot;CG&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/location&amp;gt;&lt;br /&gt;
        [&amp;lt;pointmass name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;form shape=&amp;quot;{tube | cylinder | sphere | ball}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
               &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/length&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt; &lt;br /&gt;
            &amp;lt;weight unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/weight&amp;gt;&lt;br /&gt;
            &amp;lt;location name=&amp;quot;{string}&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
        &amp;lt;/pointmass&amp;gt;&lt;br /&gt;
        ... other point masses ...]&lt;br /&gt;
    &amp;lt;/mass_balance&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!i..&lt;br /&gt;
|Inertia. Higher values result in slower rolls than lower values. [http://www.eng.auburn.edu/~marghitu/MECH2110/C_4.pdf A technical summary of moments of inertia is here] or [http://en.wikipedia.org/wiki/Moment_of_inertia on Wikipedia here].  Generally the ixz, iyz, and ixy terms will be zero (because the x, y, and z axes are [http://en.wikipedia.org/wiki/Principal_axis_(mechanics)#Principal_axes_of_inertia principal axes]); the exception would be in the case of an extremely asymmetrical aircraft design or if your x, y, and z axes don't line up with any of the axes of symmetry of the aircraft.&lt;br /&gt;
|-&lt;br /&gt;
!emptywt&lt;br /&gt;
|The mass weight of the empty aircraft. &lt;br /&gt;
|-&lt;br /&gt;
!pointmass&lt;br /&gt;
|There can be any number of pointmasses. Each can also have a form which - if present - causes an associated moment of inertia to be calculated based on the shape.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;emptywt + pointmasses + fuel = total weight&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Fuel weight is defined in the [[JSBSim Propulsion|propulsion section]].&lt;br /&gt;
* In the form tag, cylinders and balls are solid, while tubes and spheres are hollow.&lt;br /&gt;
You can add the pointmasses to the Equipment &amp;gt; Fuel and payload dialog, by adding the following code (for each single pointmass) to your aircraft's -set.xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;payload&amp;gt;&lt;br /&gt;
	&amp;lt;weight&amp;gt;&lt;br /&gt;
		&amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;Passengers and crew&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;weight-lb alias=&amp;quot;/fdm/jsbsim/inertia/pointmass-weight-lbs[0]&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;min-lb type=&amp;quot;double&amp;quot;&amp;gt;3000.0&amp;lt;/min-lb&amp;gt;&lt;br /&gt;
		&amp;lt;max-lb type=&amp;quot;double&amp;quot;&amp;gt;90000.0&amp;lt;/max-lb&amp;gt;&lt;br /&gt;
	&amp;lt;/weight&amp;gt;&lt;br /&gt;
&amp;lt;/payload&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
[[Category:JSBSim|Mass and balance]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81116</id>
		<title>JSBSim Mass and balance</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81116"/>
		<updated>2015-02-18T06:49:09Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mass_balance&amp;gt;&lt;br /&gt;
        &amp;lt;ixx unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
        &amp;lt;iyy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyy&amp;gt;&lt;br /&gt;
        &amp;lt;izz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/izz&amp;gt;&lt;br /&gt;
        &amp;lt;ixy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixy&amp;gt;&lt;br /&gt;
        &amp;lt;ixz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixz&amp;gt;&lt;br /&gt;
        &amp;lt;iyz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyz&amp;gt;&lt;br /&gt;
        &amp;lt;emptywt unit=&amp;quot;{LBS | KG&amp;quot;&amp;gt; {number} &amp;lt;/emptywt&amp;gt;&lt;br /&gt;
        &amp;lt;location name=&amp;quot;CG&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/location&amp;gt;&lt;br /&gt;
        [&amp;lt;pointmass name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;form shape=&amp;quot;{tube | cylinder | sphere | ball}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
               &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/length&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt; &lt;br /&gt;
            &amp;lt;weight unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/weight&amp;gt;&lt;br /&gt;
            &amp;lt;location name=&amp;quot;{string}&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
        &amp;lt;/pointmass&amp;gt;&lt;br /&gt;
        ... other point masses ...]&lt;br /&gt;
    &amp;lt;/mass_balance&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!i..&lt;br /&gt;
|Inertia. Higher values result in slower rolls than lower values. [http://www.eng.auburn.edu/~marghitu/MECH2110/C_4.pdf A technical summary of moments of inertia is here] or [http://en.wikipedia.org/wiki/Moment_of_inertia on Wikipedia here].  Generally the ixz, iyz, and ixy terms will be zero (because the x, y, and z axes are [http://en.wikipedia.org/wiki/Principal_axis_(mechanics)#Principal_axes_of_inertia principal axes]); the exception would be in the case of an extremely asymmetrical aircraft design or if your x, y, and z axes don't line up with any of the axes of symmetry of the aircraft.&lt;br /&gt;
|-&lt;br /&gt;
!emptywt&lt;br /&gt;
|The mass weight of the empty aircraft. &lt;br /&gt;
|-&lt;br /&gt;
!pointmass&lt;br /&gt;
|There can be any number of pointmasses. Each can also have a form which - if present - causes an associated moment of inertia to be calculated based on the shape.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;emptywt + pointmasses + fuel = total weight&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Fuel weight is defined in the [[JSBSim Propulsion|propulsion section]].&lt;br /&gt;
* In the form tag, cylinders and balls are solid, while tubes and spheres are hollow.&lt;br /&gt;
You can add the pointmasses to the Equipment &amp;gt; Fuel and payload dialog, by adding the following code (for each single pointmass) to your aircraft's -set.xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;payload&amp;gt;&lt;br /&gt;
	&amp;lt;weight&amp;gt;&lt;br /&gt;
		&amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;Passengers and crew&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;weight-lb alias=&amp;quot;/fdm/jsbsim/inertia/pointmass-weight-lbs[0]&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;min-lb type=&amp;quot;double&amp;quot;&amp;gt;3000.0&amp;lt;/min-lb&amp;gt;&lt;br /&gt;
		&amp;lt;max-lb type=&amp;quot;double&amp;quot;&amp;gt;90000.0&amp;lt;/max-lb&amp;gt;&lt;br /&gt;
	&amp;lt;/weight&amp;gt;&lt;br /&gt;
&amp;lt;/payload&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
[[Category:JSBSim|Mass and balance]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81115</id>
		<title>JSBSim Mass and balance</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=81115"/>
		<updated>2015-02-18T06:47:34Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Un-bury some important information by moving it to the notes section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mass_balance&amp;gt;&lt;br /&gt;
        &amp;lt;ixx unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
        &amp;lt;iyy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyy&amp;gt;&lt;br /&gt;
        &amp;lt;izz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/izz&amp;gt;&lt;br /&gt;
        &amp;lt;ixy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixy&amp;gt;&lt;br /&gt;
        &amp;lt;ixz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixz&amp;gt;&lt;br /&gt;
        &amp;lt;iyz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyz&amp;gt;&lt;br /&gt;
        &amp;lt;emptywt unit=&amp;quot;{LBS | KG&amp;quot;&amp;gt; {number} &amp;lt;/emptywt&amp;gt;&lt;br /&gt;
        &amp;lt;location name=&amp;quot;CG&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/location&amp;gt;&lt;br /&gt;
        [&amp;lt;pointmass name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;form shape=&amp;quot;{tube | cylinder | sphere | ball}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
               &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/length&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt; &lt;br /&gt;
            &amp;lt;weight unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/weight&amp;gt;&lt;br /&gt;
            &amp;lt;location name=&amp;quot;{string}&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
        &amp;lt;/pointmass&amp;gt;&lt;br /&gt;
        ... other point masses ...]&lt;br /&gt;
    &amp;lt;/mass_balance&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!i..&lt;br /&gt;
|Inertia. Higher values result in slower rolls than lower values. [http://www.eng.auburn.edu/~marghitu/MECH2110/C_4.pdf A technical summary of moments of inertia is here] or [http://en.wikipedia.org/wiki/Moment_of_inertia on Wikipedia here].  Generally the ixz, iyz, and ixy terms will be zero (because the x, y, and z axes are [http://en.wikipedia.org/wiki/Principal_axis_(mechanics)#Principal_axes_of_inertia principal axes]); the exception would be in the case of an extremely asymmetrical aircraft design or if your x, y, and z axes don't line up with any of the axes of symmetry of the aircraft.&lt;br /&gt;
|-&lt;br /&gt;
!emptywt&lt;br /&gt;
|The mass weight of the empty aircraft. &lt;br /&gt;
|-&lt;br /&gt;
!pointmass&lt;br /&gt;
|There can be any number of pointmasses. Each can also have a form which - if present - causes an associated moment of inertia to be calculated based on the shape.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;emptywt + pointmasses + fuel = total weight&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Fuel weight is defined in the [[JSBSim Propulsion|propulsion section]].&lt;br /&gt;
&lt;br /&gt;
You can add the pointmasses to the Equipment &amp;gt; Fuel and payload dialog, by adding the following code (for each single pointmass) to your aircraft's -set.xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;payload&amp;gt;&lt;br /&gt;
	&amp;lt;weight&amp;gt;&lt;br /&gt;
		&amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;Passengers and crew&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;weight-lb alias=&amp;quot;/fdm/jsbsim/inertia/pointmass-weight-lbs[0]&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;min-lb type=&amp;quot;double&amp;quot;&amp;gt;3000.0&amp;lt;/min-lb&amp;gt;&lt;br /&gt;
		&amp;lt;max-lb type=&amp;quot;double&amp;quot;&amp;gt;90000.0&amp;lt;/max-lb&amp;gt;&lt;br /&gt;
	&amp;lt;/weight&amp;gt;&lt;br /&gt;
&amp;lt;/payload&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
[[Category:JSBSim|Mass and balance]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=68449</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=68449"/>
		<updated>2014-03-01T04:07:33Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Configuration File Format */ Add a rough xml outline to the turbo prop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction  unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt;&lt;br /&gt;
  &amp;lt;boost-loss-factor&amp;gt; {number} &amp;lt;/boost-loss-factor&amp;gt;&lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boost-loss-factor (fgfs 2.8)&lt;br /&gt;
|boost-loss-factor - zero (or not present) for 'free' supercharging. A value entered will be used as a multiplier to the power required to compress the input air. Typical value should be 1.15 to 1.20.&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|required by the parser but ignored&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
&amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
&amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
&amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
&amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;betarangeend&amp;gt; {number} &amp;lt;/betarangeend&amp;gt;&lt;br /&gt;
&amp;lt;reversemaxpower&amp;gt; {number} &amp;lt;/reversemaxpower&amp;gt;&lt;br /&gt;
&amp;lt;maxpower&amp;gt; {number} &amp;lt;/maxpower&amp;gt;&lt;br /&gt;
&amp;lt;psfc&amp;gt; {number} &amp;lt;/psfc&amp;gt;&lt;br /&gt;
&amp;lt;n1idle_max_delay&amp;gt; {number} &amp;lt;/n1idle_max_delay&amp;gt;&lt;br /&gt;
&amp;lt;maxstartingtime&amp;gt; {number} &amp;lt;/maxstartingtime&amp;gt;&lt;br /&gt;
&amp;lt;startern1&amp;gt; {number} &amp;lt;/startern1&amp;gt;&lt;br /&gt;
&amp;lt;ielumaxtorque&amp;gt; {number} &amp;lt;/ielumaxtorque&amp;gt;&lt;br /&gt;
&amp;lt;itt_delay&amp;gt; {number} &amp;lt;/itt_delay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;EnginePowerVC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt; Engine power, function of airspeed and pressure &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;independentVar lookup=&amp;quot;row&amp;quot;&amp;gt;atmosphere/P-sl-psf&amp;lt;/independentVar&amp;gt;&lt;br /&gt;
    &amp;lt;independentVar lookup=&amp;quot;column&amp;quot;&amp;gt;velocities/ve-kts&amp;lt;/independentVar&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 0     50    100    150    200    250&lt;br /&gt;
       503   0.357  0.380  0.400  0.425  0.457  0.486&lt;br /&gt;
      1048   0.586  0.589  0.600  0.621  0.650  0.686&lt;br /&gt;
      1328   0.707  0.721  0.731  0.757  0.786  0.821&lt;br /&gt;
      1496   0.779  0.786  0.808  0.821  0.857  0.900&lt;br /&gt;
      1684   0.850  0.857  0.874  0.900  0.943  0.979&lt;br /&gt;
      1896   0.914  0.929  0.946  0.971  1      1.057&lt;br /&gt;
      2135   1      1.011  1.029  1.043  1.083  1.150&lt;br /&gt;
      2213   1.029  1.043  1.057  1.079  1.114  1.171&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;EnginePowerRPM_N1&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt; Engine Power, function of RPM and N1 &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
            0   5   60    86   94   95   96   97   98   99  100  101&lt;br /&gt;
         0  0   0.5  0.5   0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5&lt;br /&gt;
       800  0   0.5 35   200  350  380  420  460  500  530  580  620&lt;br /&gt;
      1200  0   0.5 30   230  400  430  470  505  550  590  640  680&lt;br /&gt;
      1600  0   0.5  5   240  440  475  510  550  595  630  680  720&lt;br /&gt;
      2000  0   0.1  0.1 225  450  495  525  565  610  650  700  745&lt;br /&gt;
      2200  0   0.1  0.1 205  440  480  515  560  605  645  695  743&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;ITT_N1&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt; Inter-Turbine Temperature ITT [deg C] depending on N1 and engine run (0=off / 1=running) &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
              0     1&lt;br /&gt;
      {n1 value} {number} {number}&lt;br /&gt;
       ...&lt;br /&gt;
      {n1 value} {number} {number}&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt; &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;table name=&amp;quot;CombustionEfficiency_N1&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {n1 value} {number}&lt;br /&gt;
       ...&lt;br /&gt;
      {n1 value} {number}&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=61265</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=61265"/>
		<updated>2013-07-05T15:13:29Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Metrics */ AeroRP is a vital metric but was not mentioned.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
* It is possible to calculate other dynamic pressures for special purposes, such as QBarU for control surfaces.&lt;br /&gt;
&lt;br /&gt;
The Greek letter rho or &amp;quot;ρ&amp;quot; is commonly used for air density. Normally, Qbar is based on the total free stream velocity, V[∞], so:&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(V[∞])^2'''&lt;br /&gt;
&lt;br /&gt;
V[∞] is a vector and can be broken down into components commonly called U, V, W. By definition, U, V, and W are all at right angle to each other, so we use Pythagoras to say:&lt;br /&gt;
&lt;br /&gt;
'''(V[∞])^2 = U^2 + V^2 + W^2'''&lt;br /&gt;
&lt;br /&gt;
and rewrite&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(U^2 + V^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUV drops the vertical component, W, and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUV = 1/2*ρ*(U^2 + V^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUW drops the horizontal component and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUW = 1/2*ρ*(U^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
And for the special case of qbarU, only use the axial component.&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*rho*(U^2)'''&lt;br /&gt;
&lt;br /&gt;
Since its one dimensional, preserving the sign to show direction is valid:&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*ρ*(U*abs(U))'''&lt;br /&gt;
&lt;br /&gt;
Qbar, qbarUV and qbarUW, can not have signs because they are multidimensional, use the reported alpha or beta angles to decide where the pressure is coming from.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use four of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
* AeroRP - the location where the aerodynamic forces are applied to the model. If this location is not exactly equal to the center of gravity (CoG) then moments, or twisting forces, will be created. Conventional aircraft need AeroRP to be aft of the CoG for stability.&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
Other elements in metrics:&lt;br /&gt;
* EYEPOINT - where G-forces are computed for the pilot&lt;br /&gt;
* VRP - the world position reported by JSBSim to FlightGear is for this location in the structural frame. Hence, the VRP location should match the origin of the coordinate system(s) used to position views, sounds and the 3d model in the FlightGear XML files.&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator''' - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[Aero input and outputs]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58640</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58640"/>
		<updated>2013-03-15T04:11:16Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* QBar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
* It is possible to calculate other dynamic pressures for special purposes, such as QBarU for control surfaces.&lt;br /&gt;
&lt;br /&gt;
The Greek letter rho or &amp;quot;ρ&amp;quot; is commonly used for air density. Normally, Qbar is based on the total free stream velocity, V[∞], so:&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(V[∞])^2'''&lt;br /&gt;
&lt;br /&gt;
V[∞] is a vector and can be broken down into components commonly called U, V, W. By definition, U, V, and W are all at right angle to each other, so we use Pythagoras to say:&lt;br /&gt;
&lt;br /&gt;
'''(V[∞])^2 = U^2 + V^2 + W^2'''&lt;br /&gt;
&lt;br /&gt;
and rewrite&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(U^2 + V^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUV drops the vertical component, W, and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUV = 1/2*ρ*(U^2 + V^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUW drops the horizontal component and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUW = 1/2*ρ*(U^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
And for the special case of qbarU, only use the axial component.&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*rho*(U^2)'''&lt;br /&gt;
&lt;br /&gt;
Since its one dimensional, preserving the sign to show direction is valid:&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*ρ*(U*abs(U))'''&lt;br /&gt;
&lt;br /&gt;
Qbar, qbarUV and qbarUW, can not have signs because they are multidimensional, use the reported alpha or beta angles to decide where the pressure is coming from.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
Other elements in metrics:&lt;br /&gt;
* EYEPOINT - where G-forces are computed for the pilot&lt;br /&gt;
* VRP - the world position reported by JSBSim to FlightGear is for this location in the structural frame. Hence, the VRP location should match the origin of the coordinate system(s) used to position views, sounds and the 3d model in the FlightGear XML files.&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator''' - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[Aero input and outputs]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58639</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58639"/>
		<updated>2013-03-15T04:10:04Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* QBar */ Forgot to bold one formula, sorry. Is there a better way to do formula for the wiki?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
* It is possible to calculate other dynamic pressures for special purposes, such as QBarU for control surfaces.&lt;br /&gt;
&lt;br /&gt;
The Greek letter rho or &amp;quot;ρ&amp;quot; is commonly used for air density. Normally, Qbar is based on the total free stream velocity, V[inf], so:&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(V[∞])^2'''&lt;br /&gt;
&lt;br /&gt;
V[∞] is a vector and can be broken down into components commonly called U, V, W. By definition, U, V, and W are all at right angle to each other, so we use Pythagoras to say:&lt;br /&gt;
&lt;br /&gt;
'''(V[∞])^2 = U^2 + V^2 + W^2'''&lt;br /&gt;
&lt;br /&gt;
and rewrite&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(U^2 + V^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUV drops the vertical component, W, and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUV = 1/2*ρ*(U^2 + V^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUW drops the horizontal component and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUW = 1/2*ρ*(U^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
And for the special case of qbarU, only use the axial component.&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*rho*(U^2)'''&lt;br /&gt;
&lt;br /&gt;
Since its one dimensional, preserving the sign to show direction is valid:&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*ρ*(U*abs(U))'''&lt;br /&gt;
&lt;br /&gt;
Qbar, qbarUV and qbarUW, can not have signs because they are multidimensional, use the reported alpha or beta angles to decide where the pressure is coming from.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
Other elements in metrics:&lt;br /&gt;
* EYEPOINT - where G-forces are computed for the pilot&lt;br /&gt;
* VRP - the world position reported by JSBSim to FlightGear is for this location in the structural frame. Hence, the VRP location should match the origin of the coordinate system(s) used to position views, sounds and the 3d model in the FlightGear XML files.&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator''' - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[Aero input and outputs]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58638</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=58638"/>
		<updated>2013-03-15T04:08:57Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* QBar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
* It is possible to calculate other dynamic pressures for special purposes, such as QBarU for control surfaces.&lt;br /&gt;
&lt;br /&gt;
The Greek letter rho or &amp;quot;ρ&amp;quot; is commonly used for air density. Normally, Qbar is based on the total free stream velocity, V[inf], so:&lt;br /&gt;
&lt;br /&gt;
qbar = 1/2*ρ*(V[∞])^2&lt;br /&gt;
&lt;br /&gt;
V[∞] is a vector and can be broken down into components commonly called U, V, W. By definition, U, V, and W are all at right angle to each other, so we use Pythagoras to say:&lt;br /&gt;
&lt;br /&gt;
'''(V[∞])^2 = U^2 + V^2 + W^2'''&lt;br /&gt;
&lt;br /&gt;
and rewrite&lt;br /&gt;
&lt;br /&gt;
'''qbar = 1/2*ρ*(U^2 + V^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUV drops the vertical component, W, and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUV = 1/2*ρ*(U^2 + V^2)'''&lt;br /&gt;
&lt;br /&gt;
QbarUW drops the horizontal component and just uses:&lt;br /&gt;
&lt;br /&gt;
'''qbarUW = 1/2*ρ*(U^2 + W^2)'''&lt;br /&gt;
&lt;br /&gt;
And for the special case of qbarU, only use the axial component.&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*rho*(U^2)'''&lt;br /&gt;
&lt;br /&gt;
Since its one dimensional, preserving the sign to show direction is valid:&lt;br /&gt;
&lt;br /&gt;
'''qbarU = 1/2*ρ*(U*abs(U))'''&lt;br /&gt;
&lt;br /&gt;
Qbar, qbarUV and qbarUW, can not have signs because they are multidimensional, use the reported alpha or beta angles to decide where the pressure is coming from.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
Other elements in metrics:&lt;br /&gt;
* EYEPOINT - where G-forces are computed for the pilot&lt;br /&gt;
* VRP - the world position reported by JSBSim to FlightGear is for this location in the structural frame. Hence, the VRP location should match the origin of the coordinate system(s) used to position views, sounds and the 3d model in the FlightGear XML files.&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator''' - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[Aero input and outputs]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:JSBSim_Propulsion&amp;diff=58625</id>
		<title>Talk:JSBSim Propulsion</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:JSBSim_Propulsion&amp;diff=58625"/>
		<updated>2013-03-14T23:24:29Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Overlap with JSBSim Engines and Howto:Write a fuel system in JSBSim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overlap with JSBSim Engines and Howto:Write a fuel system in JSBSim ==&lt;br /&gt;
&lt;br /&gt;
This page overlaps [[JSBSim Engines]] and [[Howto:Write a fuel system in JSBSim]] quite much.  As I see it it would probably benefit from being made into an introduction on how to add propulsion to a JSBsim FDM.  As the two are a bit detailed this page might serve as an overview of some of the concepts and the differences between for example the different engines and some tips and tricks for special situations.&lt;br /&gt;
&lt;br /&gt;
—[[User:Johan G|Johan G]] ([[User_talk:Johan_G|Talk]] | [[Special:Contributions/Johan_G|contribs]]) 19:24, 14 March 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Propulsion is the higher level to [[JSBSim Engines]]. I started another page because I didn't think it fit there. This page will talk about the tags that make up the propulsion system, linking to the tanks, engines, and thruster as appropriate. I think the [Howto:Write a fuel system in JSBSim]] would be the appropriate place to really show use. At the moment this page is just a thrown together list of tags I intend to document better. The words from this page may make it into the JSBSim internal documentation since I see that is lacking in this area, too.&lt;br /&gt;
&lt;br /&gt;
[[User:Jentron|Jentron]] 23:24, 14 March 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Propulsion&amp;diff=58613</id>
		<title>JSBSim Propulsion</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Propulsion&amp;diff=58613"/>
		<updated>2013-03-13T23:53:15Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Paste in an example from the c172p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create a propulsion system for the JSBSim framework.  Propulsion systems contain [[JSBSim Engines|engine]],  [[JSBSim Thrusters|thrusters]] and [[JSBSim Fuel System|fuel tanks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Propulsion ==&lt;br /&gt;
Propulsion entity is the container for [[JSBSim Engines|engine]],  [[JSBSim Thrusters|thrusters]] and [[JSBSim Fuel System|fuel tanks]]. [[JSBSim Engines|Engines]] and [[JSBSim Thrusters|thrusters]] are commonly kept in separate files in the Engines/ directory.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
          ... see FGEngine, FGThruster, and class for engine type ...&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        ... more engines ...&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt; &lt;br /&gt;
          ... see FGTank ...&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
        ... more tanks ...&lt;br /&gt;
        &amp;lt;dump-rate unit=&amp;quot;{LBS/MIN | KG/MIN}&amp;quot;&amp;gt; {number} &amp;lt;/dump-rate&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example Format ===&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;eng_io320&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; -19.7 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 26.6 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0.0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;1&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;prop_75in2f&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; -37.7 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 26.6 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0.0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0.0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0.0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
                &amp;lt;sense&amp;gt; 1 &amp;lt;/sense&amp;gt;&lt;br /&gt;
                &amp;lt;p_factor&amp;gt; 5 &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;    &amp;lt;!-- Tank number 0 --&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 56 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; -112 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 59.4 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt; 185 &amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt; 100 &amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;    &amp;lt;!-- Tank number 1 --&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 56 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 112 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 59.4 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt; 185 &amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt; 100 &amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Propulsion&amp;diff=58612</id>
		<title>JSBSim Propulsion</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Propulsion&amp;diff=58612"/>
		<updated>2013-03-13T23:48:11Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Stub in the propulsion class. I realized we don't have it documented elsewhere, still needs feed and location tags. FGPropulsion.h needs work, too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create a propulsion system for the JSBSim framework.  Propulsion systems contain [[JSBSim Engines|engine]],  [[JSBSim Thrusters|thrusters]] and [[JSBSim Fuel System|fuel tanks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Propulsion ==&lt;br /&gt;
Propulsion entity is the container for [[JSBSim Engines|engine]],  [[JSBSim Thrusters|thrusters]] and [[JSBSim Fuel System|fuel tanks]]. [[JSBSim Engines|Engines]] and [[JSBSim Thrusters|thrusters]] are commonly kept in separate files in the Engines/ directory.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
          ... see FGEngine, FGThruster, and class for engine type ...&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        ... more engines ...&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt; &lt;br /&gt;
          ... see FGTank ...&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
        ... more tanks ...&lt;br /&gt;
        &amp;lt;dump-rate unit=&amp;quot;{LBS/MIN | KG/MIN}&amp;quot;&amp;gt; {number} &amp;lt;/dump-rate&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=56783</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=56783"/>
		<updated>2012-12-31T12:45:56Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Parameter definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction  unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt;&lt;br /&gt;
  &amp;lt;boost-loss-factor&amp;gt; {number} &amp;lt;/boost-loss-factor&amp;gt;&lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boost-loss-factor (fgfs 2.8)&lt;br /&gt;
|boost-loss-factor - zero (or not present) for 'free' supercharging. A value entered will be used as a multiplier to the power required to compress the input air. Typical value should be 1.15 to 1.20.&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|required by the parser but ignored&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=56250</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=56250"/>
		<updated>2012-12-11T13:45:42Z</updated>

		<summary type="html">&lt;p&gt;Jentron: remove duplicate and unused tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction  unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt;&lt;br /&gt;
  &amp;lt;boost-loss-factor&amp;gt; {number} &amp;lt;/boost-loss-factor&amp;gt;&lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boost-loss-factor (fgfs 2.8)&lt;br /&gt;
|boost-loss-factor - zero (or not present) for 'free' supercharging. A value entered will be used as a multiplier to the power required to compress the input air. Typical value should be 1.15 to 1.20.&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:YASim&amp;diff=55103</id>
		<title>Talk:YASim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:YASim&amp;diff=55103"/>
		<updated>2012-10-20T01:44:41Z</updated>

		<summary type="html">&lt;p&gt;Jentron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With all due respect to Gary Neeley, &amp;quot;Contrast this with JSBSim which relies on pre-generated tabular data to build up the flight model.&amp;quot; is not an accurate statement of JSBSim's functionality. JSBSim can use any formula the designer wants to use to specify flight, there is no constraint to pre-generate any tabular data at all. While the commonly used Aeromatic model doesn't do much in the way of physically modeling the aircraft, the framework is in place to generate models based on data similar to the data commonly used in YASim, at least aerodynamically.&lt;br /&gt;
[[User:Jentron|Jentron]] 21:44, 19 October 2012 (EDT)&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:YASim&amp;diff=55102</id>
		<title>Talk:YASim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:YASim&amp;diff=55102"/>
		<updated>2012-10-20T01:44:09Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Created page with &amp;quot;With all due respect to Gary Neeley, &amp;quot;Contrast this with JSBSim which relies on pre-generated tabular data to build up the flight model.&amp;quot; is not an accurate statement of JSBSi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With all due respect to Gary Neeley, &amp;quot;Contrast this with JSBSim which relies on pre-generated tabular data to build up the flight model.&amp;quot; is not an accurate statement of JSBSim's functionality. JSBSim can use any formula the designer wants to use to specify flight, there is no constraint to pre-generate any tabular data at all. While the commonly used Aeromatic model doesn't do much in the way of physically modeling the aircraft, the framework is in place to generate models based on data similar to the data commonly used in YASim, at least aerodynamically.&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53733</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53733"/>
		<updated>2012-09-02T00:08:33Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Starter speed (For piston engines) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach. The CP_MACH table models the [http://en.wikipedia.org/wiki/Drag_divergence_Mach_number Drag Divergence Mach Number] for the propeller airfoil. The CT_MACH table models the thrust reduction.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in FG 2.8 to independently control the power of the piston starter motor, to include battery effects. '''&lt;br /&gt;
starter-torque (fgfs 2.8) is a value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
starter-rpm (fgfs 2.8) is a value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice. Peak starter power is achieved at 1/2 starter-rpm. At 1/2 starter-rpm torque is 1/2 starter-torque. Peak power can be calculated by the standard formula HP=(Torque*RPM)/5252&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53732</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53732"/>
		<updated>2012-09-01T23:43:08Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* CT_MACH and CP_MACH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach. The CP_MACH table models the [http://en.wikipedia.org/wiki/Drag_divergence_Mach_number Drag Divergence Mach Number] for the propeller airfoil. The CT_MACH table models the thrust reduction.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in FG 2.8 to independently control the power of the piston starter motor, to include battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=53620</id>
		<title>JSBSim Fuel System</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=53620"/>
		<updated>2012-08-29T15:23:09Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* FGTank */  Add a table of fuel densities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create fuel and oxidizer tanks for the JSBSim framework.&lt;br /&gt;
&lt;br /&gt;
== FGTank ==&lt;br /&gt;
Tanks are a subsection of the Propulsion block&lt;br /&gt;
=== Fuel Temperature: ===&lt;br /&gt;
 &lt;br /&gt;
    Fuel temperature is calculated using the following assumptions:&lt;br /&gt;
&lt;br /&gt;
    Fuel temperature will only be calculated for tanks which have an initial fuel&lt;br /&gt;
    temperature specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
    The surface area of the tank is estimated from the capacity in pounds.  It&lt;br /&gt;
    is assumed that the tank is a wing tank with dimensions h by 4h by 10h. The&lt;br /&gt;
    volume of the tank is then 40(h)(h)(h). The area of the upper or lower &lt;br /&gt;
    surface is then 40(h)(h).  The volume is also equal to the capacity divided&lt;br /&gt;
    by 49.368 lbs/cu-ft, for jet fuel.  The surface area of one side can then be&lt;br /&gt;
    derived from the tank's capacity.  &lt;br /&gt;
&lt;br /&gt;
    The heat capacity of jet fuel is assumed to be 900 Joules/lbm/K, and the &lt;br /&gt;
    heat transfer factor of the tank is 1.115 Watts/sq-ft/K.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Dump: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel dumping is handled by the FGPropulsion class.  A standpipe can be defined&lt;br /&gt;
    here for each tank which sets the level of contents (in pounds) which is not dumpable.&lt;br /&gt;
    Default standpipe level is zero, making all contents dumpable.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Transfer: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel transfer is handled by the FGPropulsion class, however the contents of tanks&lt;br /&gt;
    may be manipulated directly using the SetContents() function here, or via the property&lt;br /&gt;
    tree at &amp;lt;tt&amp;gt;propulsion/tank[i]/contents-lbs&amp;lt;/tt&amp;gt;, where i is the tank number (Tanks&lt;br /&gt;
    are automatically numbered, starting at zero, in the order in which they are read in&lt;br /&gt;
    the aircraft configuration file).  The latter method allows one to use a system of FCS&lt;br /&gt;
    components to control tank contents.&lt;br /&gt;
&lt;br /&gt;
    There is also a property &amp;lt;tt&amp;gt;propulsion/tank[i]/external-flow-rate-pps&amp;lt;/tt&amp;gt;. Setting&lt;br /&gt;
    this property to a positive value causes the tank to fill at the rate specified.&lt;br /&gt;
    Setting a negative number causes the tank to drain. The value is the rate in pounds&lt;br /&gt;
    of fuel per second. The tank will not fill past 100% full and will not drain below 0%.&lt;br /&gt;
    Fuel may be transfered between two tanks by setting the source tank's external flow rate&lt;br /&gt;
    to a negative value and the destination's external flow rate to the same positive value.&lt;br /&gt;
    Care must be taken to stop fuel flow before the source tank becomes empty to prevent&lt;br /&gt;
    phantom fuel being created.&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;grain_config type=&amp;quot;{CYLINDRICAL | ENDBURNING}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;/grain_config&amp;gt;&lt;br /&gt;
  &amp;lt;location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/location&amp;gt;&lt;br /&gt;
  &amp;lt;drain_location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/drain_location&amp;gt;&lt;br /&gt;
  &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;capacity unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/capacity&amp;gt;&lt;br /&gt;
  &amp;lt;contents unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/contents&amp;gt;&lt;br /&gt;
  &amp;lt;temperature&amp;gt; {number} &amp;lt;/temperature&amp;gt; &amp;lt;!-- must be degrees fahrenheit --&amp;gt;&lt;br /&gt;
  &amp;lt;standpipe unit=&amp;quot;{LBS | KG&amp;quot;}&amp;gt; {number} &amp;lt;/standpipe&amp;gt;&lt;br /&gt;
  &amp;lt;priority&amp;gt; {integer} &amp;lt;/priority&amp;gt;&lt;br /&gt;
  &amp;lt;density unit=&amp;quot;{KG/L | LBS/GAL}&amp;quot;&amp;gt; {number} &amp;lt;/density&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt; {string} &amp;lt;/type&amp;gt; &amp;lt;!-- will override previous density setting --&amp;gt;&lt;br /&gt;
&amp;lt;/tank&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition of the tank configuration file parameters: ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|type&lt;br /&gt;
|One of FUEL or OXIDIZER.  This is required.&lt;br /&gt;
|-&lt;br /&gt;
|radius &lt;br /&gt;
|Equivalent radius of tank for modeling slosh, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|grain_config type&lt;br /&gt;
|One of CYLINDRICAL or ENDBURNING.&lt;br /&gt;
|-&lt;br /&gt;
|length&lt;br /&gt;
|length of tank for modeling solid fuel propellant grain, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|Capacity, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|Initial contents, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
|Initial temperature, defaults to degrees Fahrenheit.&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|Minimum contents to which tank can dump, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|Establishes feed sequence of tank. &amp;quot;1&amp;quot; is the highest priority.&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|Density of liquid tank contents.&lt;br /&gt;
|-&lt;br /&gt;
|type&lt;br /&gt;
|Named fuel type. One of AVGAS, JET-A, JET-A1, JET-B, JP-1, JP-2, JP-3, JP-4, JP-5, JP-6, JP-7, JP-8, JP-8+100, RP-1, T-1, ETHANOL, HYDRAZINE, F-34, F-35, F-40, F-44, AVTAG, AVCAT&lt;br /&gt;
|-&lt;br /&gt;
|location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|drain_location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank drain on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank drain on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank drain on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Default values of the tank configuration file parameters:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|type&lt;br /&gt;
|ttUNKNOWN  (causes a load error in the propulsion configuration)&lt;br /&gt;
|-&lt;br /&gt;
|location drain_location&lt;br /&gt;
|both optional, but a warning message will be printed to the console if the location is not given&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|0.00001 (tank capacity must not be zero)&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
| -9999.0 (flag which indicates no temperature is set)&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|0.0 (all contents may be dumped)&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|1 (highest feed sequence priority)&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|6.6&lt;br /&gt;
|}&lt;br /&gt;
===Fuel Densities (lb/gallon):===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|Type&lt;br /&gt;
|Density&lt;br /&gt;
|-&lt;br /&gt;
|AVGAS&lt;br /&gt;
|6.02&lt;br /&gt;
|- &lt;br /&gt;
|JET-A&lt;br /&gt;
|6.74&lt;br /&gt;
|-&lt;br /&gt;
|JET-A1&lt;br /&gt;
|6.74&lt;br /&gt;
|-&lt;br /&gt;
|JET-B&lt;br /&gt;
|6.48&lt;br /&gt;
|-&lt;br /&gt;
|JP-1&lt;br /&gt;
|6.76&lt;br /&gt;
|-&lt;br /&gt;
|JP-2&lt;br /&gt;
|6.38&lt;br /&gt;
|-&lt;br /&gt;
|JP-3&lt;br /&gt;
|6.34&lt;br /&gt;
|-&lt;br /&gt;
|JP-4&lt;br /&gt;
|6.48&lt;br /&gt;
|-&lt;br /&gt;
|JP-5&lt;br /&gt;
|6.81&lt;br /&gt;
|-&lt;br /&gt;
|JP-6&lt;br /&gt;
|6.55&lt;br /&gt;
|-&lt;br /&gt;
|JP-7&lt;br /&gt;
|6.61&lt;br /&gt;
|-&lt;br /&gt;
|JP-8&lt;br /&gt;
|6.66&lt;br /&gt;
|-&lt;br /&gt;
|JP-8+100&lt;br /&gt;
|6.66&lt;br /&gt;
|-&lt;br /&gt;
|RP-1&lt;br /&gt;
|6.73&lt;br /&gt;
|-&lt;br /&gt;
|T-1&lt;br /&gt;
|6.88&lt;br /&gt;
|-&lt;br /&gt;
|ETHANOL&lt;br /&gt;
|6.58&lt;br /&gt;
|-&lt;br /&gt;
|HYDRAZINE&lt;br /&gt;
|8.61&lt;br /&gt;
|-&lt;br /&gt;
|F-34&lt;br /&gt;
|6.66&lt;br /&gt;
|-&lt;br /&gt;
|F-35&lt;br /&gt;
|6.74&lt;br /&gt;
|-&lt;br /&gt;
|F-40&lt;br /&gt;
|6.48&lt;br /&gt;
|-&lt;br /&gt;
|F-44&lt;br /&gt;
|6.81&lt;br /&gt;
|-&lt;br /&gt;
|AVTAG&lt;br /&gt;
|6.48&lt;br /&gt;
|-&lt;br /&gt;
|AVCAT&lt;br /&gt;
|6.81&lt;br /&gt;
|}&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53090</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53090"/>
		<updated>2012-08-16T23:44:23Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* FGRotor */ Remove the freewheelthresh tag, its not used.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in FG 2.8 to independently control the power of the piston starter motor, to include battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53088</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53088"/>
		<updated>2012-08-16T23:16:49Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* FGPiston */  Forgot boost loss factor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction  unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt;&lt;br /&gt;
  &amp;lt;boost-loss-factor&amp;gt; {number} &amp;lt;/boost-loss-factor&amp;gt;&lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boost-loss-factor (fgfs 2.8)&lt;br /&gt;
|boost-loss-factor - zero (or not present) for 'free' supercharging. A value entered will be used as a multiplier to the power required to compress the input air. Typical value should be 1.15 to 1.20.&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53087</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53087"/>
		<updated>2012-08-16T23:12:17Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Configuration File Format */  Fix static friction units&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction  unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt; &lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53086</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53086"/>
		<updated>2012-08-16T23:11:24Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Parameter definitions */ Define the 2.8 values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;HP&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt; &lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|starter-torque (fgfs 2.8)&lt;br /&gt;
|A value specifying the zero RPM torque in lb*ft the starter motor provides. Current default value is 40% of the maximum horsepower value.&lt;br /&gt;
|-&lt;br /&gt;
|starter-rpm (fgfs 2.8)&lt;br /&gt;
| A value specifying the maximum RPM the unloaded starter motor can achieve. Loads placed on the engine by the propeller and throttle will further limit RPM achieved in practice.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction (fgfs 2.8)&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller. Choose a small percentage of maxhp. It can also be adjusted at run-time to simulate accessory or other non-thruster engine load.&lt;br /&gt;
|-&lt;br /&gt;
|man-press-lag (fgfs 2.8)&lt;br /&gt;
|Delay in seconds for manifold pressure changes to take effect after the throttle is moved or the RPM changes. Default is 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53085</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=53085"/>
		<updated>2012-08-16T23:04:22Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Configuration File Format */  Add the 2.8 tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
&amp;lt;!-- Added in FlightGear 2.8 --&amp;gt;&lt;br /&gt;
  &amp;lt;starter-torque&amp;gt; {number} &amp;lt;/starter-torque&amp;gt;&lt;br /&gt;
  &amp;lt;starter-rpm&amp;gt; {number} &amp;lt;/starter-rpm&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;HP&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt;&lt;br /&gt;
  &amp;lt;man-press-lag&amp;gt; {number} &amp;lt;/man-press-lag&amp;gt; &lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53084</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53084"/>
		<updated>2012-08-16T23:01:08Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Starter speed (For piston engines) */  Discuss 2.8 change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in FG 2.8 to independently control the power of the piston starter motor, to include battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;freewheelthresh&amp;gt; {number} &amp;lt;/freewheelthresh&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|-&lt;br /&gt;
|freewheelthresh&lt;br /&gt;
|Ratio of thruster power to engine power. The FWU will release when above the threshold. The value shouldn't be too close to 1.0, 1.5 seems ok. 0 disables this feature, which is also the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53083</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53083"/>
		<updated>2012-08-16T22:58:50Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Properties */  add some definitions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in upstream JSBSim, and should be in FG 2.7/2.8 to independently control the power of the piston starter motor, to include weak battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;freewheelthresh&amp;gt; {number} &amp;lt;/freewheelthresh&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|-&lt;br /&gt;
|freewheelthresh&lt;br /&gt;
|Ratio of thruster power to engine power. The FWU will release when above the threshold. The value shouldn't be too close to 1.0, 1.5 seems ok. 0 disables this feature, which is also the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|RPMs of the rotor&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
|RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|Rotor's coning angle in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|Longitudinal flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|Lateral flapping angle with respect to the rotor shaft in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
| Lambda or λ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|the tip-speed (aka advance) ratio Mu or μ&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
| Nu or ν&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|Induced Velocity in feet per second&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
| Rotor torque in pound * feet&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|Down wash θ angle - positive values point forward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|Down wash Φ angle - positive values point leftward (given a horizontal spinning rotor) in radians&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53082</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=53082"/>
		<updated>2012-08-16T22:48:16Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* FGRotor */ Add the properties created by the rotor class.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[[JSBSim]]''' uses '''thruster''' models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;         12.14 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0    0.068&lt;br /&gt;
        0.1    0.068&lt;br /&gt;
        0.2    0.067&lt;br /&gt;
        0.3    0.066&lt;br /&gt;
        0.4    0.064&lt;br /&gt;
        0.5    0.062&lt;br /&gt;
        0.6    0.059&lt;br /&gt;
        0.7    0.054&lt;br /&gt;
        0.8    0.043&lt;br /&gt;
        0.9    0.031&lt;br /&gt;
        1.0    0.019&lt;br /&gt;
        1.1    0.008&lt;br /&gt;
        1.2   -0.001&lt;br /&gt;
        1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in upstream JSBSim, and should be in FG 2.7/2.8 to independently control the power of the piston starter motor, to include weak battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;freewheelthresh&amp;gt; {number} &amp;lt;/freewheelthresh&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|-&lt;br /&gt;
|freewheelthresh&lt;br /&gt;
|Ratio of thruster power to engine power. The FWU will release when above the threshold. The value shouldn't be too close to 1.0, 1.5 seems ok. 0 disables this feature, which is also the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
    The rotor model creates the following properties:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/rotor-rpm&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/engine-rpm&lt;br /&gt;
| RPMs of the Engine, as seen from this rotor.&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a0-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/a1-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/b1-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/inflow-ratio&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/advance-ratio&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/induced-inflow-ratio&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/vi-fps&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/thrust-coefficient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/torque-lbsft&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/theta-downwash-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/phi-downwash-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/groundeffect-scale-norm&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Control Inputs)&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/antitorque-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/tail-collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/collective-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/lateral-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|propulsion/engine[#]/longitudinal-ctrl-rad&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_GroundReactions&amp;diff=50919</id>
		<title>JSBSim GroundReactions</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_GroundReactions&amp;diff=50919"/>
		<updated>2012-06-09T15:38:38Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Operational Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to navigate the black art of [[JSBSim]] ground reactions, and how to create [[FDM]]s that are sane.&lt;br /&gt;
&lt;br /&gt;
You will want to create ground reaction points for every part of the landing gear that may touch or interact with the ground, but also structural points for other parts of the aircraft that may touch or interact with the ground, for instance in a crash. &lt;br /&gt;
&lt;br /&gt;
'''Landing gear model'''&lt;br /&gt;
 Calculates forces and moments due to landing gear reactions. This is done in&lt;br /&gt;
 several steps, and is dependent on what kind of gear is being modeled. Here&lt;br /&gt;
 are the parameters that can be specified in the config file for modeling&lt;br /&gt;
 landing gear:&lt;br /&gt;
&lt;br /&gt;
===Physical Characteristics===&lt;br /&gt;
#Name and type.  BOGEY refers to contact points associated with the landing gear while STRUCTURE represents contact points associated with the airframe.&lt;br /&gt;
#X, Y, Z location, in inches in structural coordinate frame&lt;br /&gt;
#Spring constant, in lbs/ft&lt;br /&gt;
#Damping coefficient, in lbs/ft/sec&lt;br /&gt;
#Dynamic Friction Coefficient&lt;br /&gt;
#Static Friction Coefficient&lt;br /&gt;
&lt;br /&gt;
===Operational Properties===&lt;br /&gt;
#Name&lt;br /&gt;
#Brake Group Membership {one of LEFT | CENTER | RIGHT | NOSE | TAIL | NONE}&lt;br /&gt;
#Max Steer Angle, in degrees.  If negative, the steering will be in the opposite direction. 360 represents an un-steered caster.&lt;br /&gt;
&lt;br /&gt;
===Algorithm and Approach to Modeling===&lt;br /&gt;
#Find the location of the uncompressed landing gear relative to the CG of the aircraft. Remember, the structural coordinate frame that the aircraft is defined in is: X positive towards the tail, Y positive out the right side, Z positive upwards. The locations of the various parts are given in inches in the config file.&lt;br /&gt;
#The vector giving the location of the gear (relative to the cg) is rotated 180 degrees about the Y axis to put the coordinates in body frame (X positive forwards, Y positive out the right side, Z positive downwards, with the origin at the cg). The lengths are also now given in feet.&lt;br /&gt;
#The new gear location is now transformed to the local coordinate frame using the body-to-local matrix. (Mb2l).&lt;br /&gt;
#Knowing the location of the center of gravity relative to the ground (height above ground level or AGL) now enables gear deflection to be calculated. The gear compression value is the local frame gear Z location value minus the height AGL. [Currently, we make the assumption that the gear is oriented - and the deflection occurs in - the Z axis only. Additionally, the vector to the landing gear is currently not modified - which would (correctly) move the point of contact to the actual compressed-gear point of contact. Eventually, articulated gear may be modeled, but initially an effort must be made to model a generic system.] As an example, say the aircraft left main gear location (in local coordinates) is Z = 3 feet (positive) and the height AGL is 2 feet. This tells us that the gear is compressed 1 foot.&lt;br /&gt;
#If the gear is compressed, a Weight-On-Wheels (WOW) flag is set.&lt;br /&gt;
#With the compression length calculated, the compression velocity may now be calculated. This will be used to determine the damping force in the strut. The aircraft rotational rate is multiplied by the vector to the wheel to get a wheel velocity in body frame. That velocity vector is then transformed into the local coordinate frame.&lt;br /&gt;
#The aircraft cg velocity in the local frame is added to the just-calculated wheel velocity (due to rotation) to get a total wheel velocity in the local frame.&lt;br /&gt;
#The compression speed is the Z-component of the vector.&lt;br /&gt;
#With the wheel velocity vector no longer needed, it is normalized and multiplied by a -1 to reverse it. This will be used in the friction force calculation.&lt;br /&gt;
#Since the friction force takes place solely in the runway plane, the Z coordinate of the normalized wheel velocity vector is set to zero.&lt;br /&gt;
#The gear deflection force (the force on the aircraft acting along the local frame Z axis) is now calculated given the spring and damper coefficients, and the gear deflection speed and stroke length. Keep in mind that gear forces always act in the negative direction (in both local and body frames), and are not capable of generating a force in the positive sense (one that would attract the aircraft to the ground). So, the gear forces are always negative - they are limited to values of zero or less. The gear force is simply the negative of the sum of the spring compression length times the spring coefficient and the gear velocity times the damping coefficient.&lt;br /&gt;
#The lateral/directional force acting on the aircraft through the landing gear (along the local frame X and Y axes) is calculated next. First, the friction coefficient is multiplied by the recently calculated Z-force. This is the friction force. It must be given direction in addition to magnitude. We want the components in the local frame X and Y axes. From step 9, above, the conditioned wheel velocity vector is taken and the X and Y parts are multiplied by the friction force to get the X and Y components of friction.&lt;br /&gt;
#The wheel force in local frame is next converted to body frame.&lt;br /&gt;
#The moment due to the gear force is calculated by multiplying r x F (radius to wheel crossed into the wheel force). Both of these operands are in body frame.&lt;br /&gt;
&lt;br /&gt;
===Configuration File Format:===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;contact type=&amp;quot;{BOGEY | STRUCTURE}&amp;quot; name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;{IN | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orientation unit=&amp;quot;{RAD | DEG}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; {number} &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; {number} &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; {number} &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;static_friction&amp;gt; {number} &amp;lt;/static_friction&amp;gt;&lt;br /&gt;
            &amp;lt;dynamic_friction&amp;gt; {number} &amp;lt;/dynamic_friction&amp;gt;&lt;br /&gt;
            &amp;lt;rolling_friction&amp;gt; {number} &amp;lt;/rolling_friction&amp;gt;&lt;br /&gt;
            &amp;lt;spring_coeff unit=&amp;quot;{LBS/FT | N/M}&amp;quot;&amp;gt; {number} &amp;lt;/spring_coeff&amp;gt;&lt;br /&gt;
            &amp;lt;damping_coeff [type=&amp;quot;SQUARE&amp;quot;] unit=&amp;quot;{LBS/FT/SEC | N/M/SEC | LBS/FT2/SEC2 | N/M2/SEC2}&amp;quot;&amp;gt; {number} &amp;lt;/damping_coeff&amp;gt;&lt;br /&gt;
            &amp;lt;damping_coeff_rebound [type=&amp;quot;SQUARE&amp;quot;] unit=&amp;quot;{LBS/FT/SEC | N/M/SEC| LBS/FT2/SEC2 | N/M2/SEC2}&amp;quot;&amp;gt; {number} &amp;lt;/damping_coeff_rebound&amp;gt;&lt;br /&gt;
            &amp;lt;max_steer unit=&amp;quot;DEG&amp;quot;&amp;gt; {number | 0 | 360} &amp;lt;/max_steer&amp;gt;&lt;br /&gt;
            &amp;lt;brake_group&amp;gt; {NONE | LEFT | RIGHT | CENTER | NOSE | TAIL} &amp;lt;/brake_group&amp;gt;&lt;br /&gt;
            &amp;lt;retractable&amp;gt;{0 | 1}&amp;lt;/retractable&amp;gt;&lt;br /&gt;
            &amp;lt;table type=&amp;quot;{CORNERING_COEFF}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Hints===&lt;br /&gt;
*FlightGear runs JSBSim at 120 Hertz. That's fine for the overall FDM, but incredibly slow for a high fidelity gear model. The problem is worse for a higher spring rate gear, use the softest spring rate you can live with.&lt;br /&gt;
*Spring rate (spring_coeff) is the weight on the gear divided by the gear deflection. You can specify Pounds per foot or Newtons per Meter. Look at photos of the aircraft you are modeling before and after it lands to get an idea about how far the gears compress. Multiplying gear/compression-ft by the spring rate will tell you how much weight is on the gear so you can tune it.&lt;br /&gt;
*Contacts of type BOGEY get out of control if they intersect the ground at a steep angles. Use STRUCTURE contacts around the BOGEY to limit the ground contact angle.&lt;br /&gt;
*Aeromatic uses 20% of the spring rate for a damping rate on the main gear and tail gear and 30% of the nose spring rate.&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_GroundReactions&amp;diff=50918</id>
		<title>JSBSim GroundReactions</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_GroundReactions&amp;diff=50918"/>
		<updated>2012-06-09T15:29:57Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Hints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to navigate the black art of [[JSBSim]] ground reactions, and how to create [[FDM]]s that are sane.&lt;br /&gt;
&lt;br /&gt;
You will want to create ground reaction points for every part of the landing gear that may touch or interact with the ground, but also structural points for other parts of the aircraft that may touch or interact with the ground, for instance in a crash. &lt;br /&gt;
&lt;br /&gt;
'''Landing gear model'''&lt;br /&gt;
 Calculates forces and moments due to landing gear reactions. This is done in&lt;br /&gt;
 several steps, and is dependent on what kind of gear is being modeled. Here&lt;br /&gt;
 are the parameters that can be specified in the config file for modeling&lt;br /&gt;
 landing gear:&lt;br /&gt;
&lt;br /&gt;
===Physical Characteristics===&lt;br /&gt;
#Name and type.  BOGEY refers to contact points associated with the landing gear while STRUCTURE represents contact points associated with the airframe.&lt;br /&gt;
#X, Y, Z location, in inches in structural coordinate frame&lt;br /&gt;
#Spring constant, in lbs/ft&lt;br /&gt;
#Damping coefficient, in lbs/ft/sec&lt;br /&gt;
#Dynamic Friction Coefficient&lt;br /&gt;
#Static Friction Coefficient&lt;br /&gt;
&lt;br /&gt;
===Operational Properties===&lt;br /&gt;
#Name&lt;br /&gt;
#Brake Group Membership {one of LEFT | CENTER | RIGHT | NOSE | TAIL | NONE}&lt;br /&gt;
#Max Steer Angle, in degrees.  If negative, the steering will be in the opposite direction.&lt;br /&gt;
&lt;br /&gt;
===Algorithm and Approach to Modeling===&lt;br /&gt;
#Find the location of the uncompressed landing gear relative to the CG of the aircraft. Remember, the structural coordinate frame that the aircraft is defined in is: X positive towards the tail, Y positive out the right side, Z positive upwards. The locations of the various parts are given in inches in the config file.&lt;br /&gt;
#The vector giving the location of the gear (relative to the cg) is rotated 180 degrees about the Y axis to put the coordinates in body frame (X positive forwards, Y positive out the right side, Z positive downwards, with the origin at the cg). The lengths are also now given in feet.&lt;br /&gt;
#The new gear location is now transformed to the local coordinate frame using the body-to-local matrix. (Mb2l).&lt;br /&gt;
#Knowing the location of the center of gravity relative to the ground (height above ground level or AGL) now enables gear deflection to be calculated. The gear compression value is the local frame gear Z location value minus the height AGL. [Currently, we make the assumption that the gear is oriented - and the deflection occurs in - the Z axis only. Additionally, the vector to the landing gear is currently not modified - which would (correctly) move the point of contact to the actual compressed-gear point of contact. Eventually, articulated gear may be modeled, but initially an effort must be made to model a generic system.] As an example, say the aircraft left main gear location (in local coordinates) is Z = 3 feet (positive) and the height AGL is 2 feet. This tells us that the gear is compressed 1 foot.&lt;br /&gt;
#If the gear is compressed, a Weight-On-Wheels (WOW) flag is set.&lt;br /&gt;
#With the compression length calculated, the compression velocity may now be calculated. This will be used to determine the damping force in the strut. The aircraft rotational rate is multiplied by the vector to the wheel to get a wheel velocity in body frame. That velocity vector is then transformed into the local coordinate frame.&lt;br /&gt;
#The aircraft cg velocity in the local frame is added to the just-calculated wheel velocity (due to rotation) to get a total wheel velocity in the local frame.&lt;br /&gt;
#The compression speed is the Z-component of the vector.&lt;br /&gt;
#With the wheel velocity vector no longer needed, it is normalized and multiplied by a -1 to reverse it. This will be used in the friction force calculation.&lt;br /&gt;
#Since the friction force takes place solely in the runway plane, the Z coordinate of the normalized wheel velocity vector is set to zero.&lt;br /&gt;
#The gear deflection force (the force on the aircraft acting along the local frame Z axis) is now calculated given the spring and damper coefficients, and the gear deflection speed and stroke length. Keep in mind that gear forces always act in the negative direction (in both local and body frames), and are not capable of generating a force in the positive sense (one that would attract the aircraft to the ground). So, the gear forces are always negative - they are limited to values of zero or less. The gear force is simply the negative of the sum of the spring compression length times the spring coefficient and the gear velocity times the damping coefficient.&lt;br /&gt;
#The lateral/directional force acting on the aircraft through the landing gear (along the local frame X and Y axes) is calculated next. First, the friction coefficient is multiplied by the recently calculated Z-force. This is the friction force. It must be given direction in addition to magnitude. We want the components in the local frame X and Y axes. From step 9, above, the conditioned wheel velocity vector is taken and the X and Y parts are multiplied by the friction force to get the X and Y components of friction.&lt;br /&gt;
#The wheel force in local frame is next converted to body frame.&lt;br /&gt;
#The moment due to the gear force is calculated by multiplying r x F (radius to wheel crossed into the wheel force). Both of these operands are in body frame.&lt;br /&gt;
&lt;br /&gt;
===Configuration File Format:===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;contact type=&amp;quot;{BOGEY | STRUCTURE}&amp;quot; name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;{IN | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orientation unit=&amp;quot;{RAD | DEG}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; {number} &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; {number} &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; {number} &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;static_friction&amp;gt; {number} &amp;lt;/static_friction&amp;gt;&lt;br /&gt;
            &amp;lt;dynamic_friction&amp;gt; {number} &amp;lt;/dynamic_friction&amp;gt;&lt;br /&gt;
            &amp;lt;rolling_friction&amp;gt; {number} &amp;lt;/rolling_friction&amp;gt;&lt;br /&gt;
            &amp;lt;spring_coeff unit=&amp;quot;{LBS/FT | N/M}&amp;quot;&amp;gt; {number} &amp;lt;/spring_coeff&amp;gt;&lt;br /&gt;
            &amp;lt;damping_coeff [type=&amp;quot;SQUARE&amp;quot;] unit=&amp;quot;{LBS/FT/SEC | N/M/SEC | LBS/FT2/SEC2 | N/M2/SEC2}&amp;quot;&amp;gt; {number} &amp;lt;/damping_coeff&amp;gt;&lt;br /&gt;
            &amp;lt;damping_coeff_rebound [type=&amp;quot;SQUARE&amp;quot;] unit=&amp;quot;{LBS/FT/SEC | N/M/SEC| LBS/FT2/SEC2 | N/M2/SEC2}&amp;quot;&amp;gt; {number} &amp;lt;/damping_coeff_rebound&amp;gt;&lt;br /&gt;
            &amp;lt;max_steer unit=&amp;quot;DEG&amp;quot;&amp;gt; {number | 0 | 360} &amp;lt;/max_steer&amp;gt;&lt;br /&gt;
            &amp;lt;brake_group&amp;gt; {NONE | LEFT | RIGHT | CENTER | NOSE | TAIL} &amp;lt;/brake_group&amp;gt;&lt;br /&gt;
            &amp;lt;retractable&amp;gt;{0 | 1}&amp;lt;/retractable&amp;gt;&lt;br /&gt;
            &amp;lt;table type=&amp;quot;{CORNERING_COEFF}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Hints===&lt;br /&gt;
*FlightGear runs JSBSim at 120 Hertz. That's fine for the overall FDM, but incredibly slow for a high fidelity gear model. The problem is worse for a higher spring rate gear, use the softest spring rate you can live with.&lt;br /&gt;
*Spring rate (spring_coeff) is the weight on the gear divided by the gear deflection. You can specify Pounds per foot or Newtons per Meter. Look at photos of the aircraft you are modeling before and after it lands to get an idea about how far the gears compress. Multiplying gear/compression-ft by the spring rate will tell you how much weight is on the gear so you can tune it.&lt;br /&gt;
*Contacts of type BOGEY get out of control if they intersect the ground at a steep angles. Use STRUCTURE contacts around the BOGEY to limit the ground contact angle.&lt;br /&gt;
*Aeromatic uses 20% of the spring rate for a damping rate on the main gear and tail gear and 30% of the nose spring rate.&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=47544</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=47544"/>
		<updated>2012-04-15T15:40:01Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Starter speed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JSBSim uses thruster models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;          12.14&amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
         0.0   0.068&lt;br /&gt;
         0.1   0.068&lt;br /&gt;
         0.2   0.067&lt;br /&gt;
         0.3   0.066&lt;br /&gt;
         0.4   0.064&lt;br /&gt;
         0.5   0.062&lt;br /&gt;
         0.6   0.059&lt;br /&gt;
         0.7   0.054&lt;br /&gt;
         0.8   0.043&lt;br /&gt;
         0.9   0.031&lt;br /&gt;
         1.0   0.019&lt;br /&gt;
         1.1   0.008&lt;br /&gt;
         1.2   -0.001&lt;br /&gt;
         1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed (For piston engines) ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxhp, and idlerpm.  Both maxhp and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is equal to 0.4*sqrt(maxhp).  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Open the throttle. Pulling a partial vacuum in the intake manifold takes some power.&lt;br /&gt;
* Increase maxhp (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
''' Code is in upstream JSBSim, and should be in FG 2.7/2.8 to independently control the power of the piston starter motor, to include weak battery effects. '''&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;freewheelthresh&amp;gt; {number} &amp;lt;/freewheelthresh&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|-&lt;br /&gt;
|freewheelthresh&lt;br /&gt;
|Ratio of thruster power to engine power. The FWU will release when above the threshold. The value shouldn't be too close to 1.0, 1.5 seems ok. 0 disables this feature, which is also the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=47527</id>
		<title>JSBSim Thrusters</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Thrusters&amp;diff=47527"/>
		<updated>2012-04-15T15:28:35Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* C_THRUST and C_POWER tables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JSBSim uses thruster models to convert engine power into aerodynamic forces. The following table shows which engine-thruster combinations work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGDirect|Direct]] &lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGNozzle|Nozzle]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGPropeller|Propeller]]&lt;br /&gt;
| style=&amp;quot;width:60px;&amp;quot; | [[JSBSim Thrusters#FGRotor|Rotor]] &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGElectric|Electric]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGPiston|Piston]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGRocket|Rocket]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |    &lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurbine|Turbine]]&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|[[JSBSim Engines#FGTurboProp|TurboProp]]&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #FF3333;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: #33FF33;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGDirect ==&lt;br /&gt;
Thrust is computed directly by the engine, the direct thruster file is a stub. Currently FGTurbine engines use this thruster and it can also be used with FGElectric.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
This is the complete configuration file. Copy and paste into your 'direct.xml' file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;direct name=&amp;quot;Direct&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/direct&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* The direct thruster creates a property called propulsion/engine[#]/reverser-angle-rad&lt;br /&gt;
* &amp;quot;Reverser angle&amp;quot; as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time.  This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus:  Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector.  An angle of 1.57 (pi/2) results in no thrust at all&lt;br /&gt;
&lt;br /&gt;
== FGNozzle ==&lt;br /&gt;
FGNozzle is for the FGRocket engine.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;nozzle name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;area unit=&amp;quot;{FT2 | M2 | IN2}&amp;quot;&amp;gt; {number}  &amp;lt;/area&amp;gt;&lt;br /&gt;
&amp;lt;/nozzle&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|area&lt;br /&gt;
|Nozzle area at the exit plane.&lt;br /&gt;
|}&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* All parameters MUST be specified.&lt;br /&gt;
&lt;br /&gt;
== FGPropeller ==&lt;br /&gt;
FGPropeller models a propeller given the tabular data for Ct and Cp, indexed by the advance ratio &amp;quot;J&amp;quot;. &lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | -1} &amp;lt;/sense&amp;gt; &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;propeller name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ixx&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;IN&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;minpitch&amp;gt; {number} &amp;lt;/minpitch&amp;gt;&lt;br /&gt;
  &amp;lt;maxpitch&amp;gt; {number} &amp;lt;/maxpitch&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;constspeed&amp;gt; {number} &amp;lt;/constspeed&amp;gt;&lt;br /&gt;
  &amp;lt;reversepitch&amp;gt; {number} &amp;lt;/reversepitch&amp;gt;&lt;br /&gt;
  &amp;lt;p_factor&amp;gt; {number} &amp;lt;/p_factor&amp;gt;&lt;br /&gt;
  &amp;lt;ct_factor&amp;gt; {number} &amp;lt;/ct_factor&amp;gt;&lt;br /&gt;
  &amp;lt;cp_factor&amp;gt; {number} &amp;lt;/cp_factor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {numbers}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/propeller&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ixx&lt;br /&gt;
|Propeller rotational inertia. This can be english units, slug &amp;amp; feet^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;SLUG*FT2&amp;quot;&amp;gt;       8.95 &amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or in metric units, kg * meters^2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ixx unit=&amp;quot;KG*M2&amp;quot;&amp;gt;          12.14&amp;lt;/ixx&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a thin rod of mass m (kg) and diameter D (meters) spinning about its center, the formula is m*D^2/12. See the [http://en.wikipedia.org/wiki/List_of_moments_of_inertia Moments of inertia reference page] and [http://www.engineeringtoolbox.com/moment-inertia-torque-d_913.html list of conversion factors for different units for moment of inertia].)&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Propeller disk diameter.&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades.&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (prop rpm).&lt;br /&gt;
|-&lt;br /&gt;
|minpitch&lt;br /&gt;
|Minimum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|maxpitch&lt;br /&gt;
|Maximum blade pitch angle.&lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Minimum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Maximum rpm target for constant speed propeller.&lt;br /&gt;
|-&lt;br /&gt;
|constspeed&lt;br /&gt;
|1 = constant speed mode, 0 = manual pitch mode. &lt;br /&gt;
|-&lt;br /&gt;
|reversepitch&lt;br /&gt;
|Blade pitch angle for reverse.&lt;br /&gt;
|-&lt;br /&gt;
|sense&lt;br /&gt;
|Direction of rotation (1= clockwise as viewed from rear, -1=counter-clockwise as viewed from rear). Sense is specified in the parent tag of the propeller.&lt;br /&gt;
|-&lt;br /&gt;
|p_factor&lt;br /&gt;
|P factor.&lt;br /&gt;
|-&lt;br /&gt;
|ct_factor&lt;br /&gt;
|A multiplier for the coefficients of thrust (multiplies the dependent variable in the C_THRUST table by this factor).&lt;br /&gt;
|-&lt;br /&gt;
|cp_factor&lt;br /&gt;
|A multiplier for the coefficients of power (multiplies the dependent variable in the C_POWER table by this factor).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===C_THRUST and C_POWER tables===&lt;br /&gt;
The C_THRUST and C_POWER tables are required. &lt;br /&gt;
&lt;br /&gt;
The independent variable for both tables is [http://en.wikipedia.org/wiki/Advance_ratio Advance Ratio] (J). The dependent variable is the coefficient of thrust (Ct) for the C_THRUST and the coefficient of power (Cp) for C_POWER. &lt;br /&gt;
&lt;br /&gt;
For variable pitch propellers, it is possible to give a two-dimensional table, showing Ct and Cp for different J and different pitch angles of the propeller.  See example below.&lt;br /&gt;
&lt;br /&gt;
[http://www.mh-aerotools.de/airfoils/pylonprops_1.htm Propellors for F3D Models explains the theory] and has [http://www.mh-aerotools.de/airfoils/pylonprops_2.htm formulas] and [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm many graphs] showing the relationship between J, Ct, and Cp.&lt;br /&gt;
&lt;br /&gt;
Relevant formulas relating the variables in the tables (and metric system units):&lt;br /&gt;
&lt;br /&gt;
* Thrust: T = Ct * rho * n^2 * D^4&lt;br /&gt;
* Power: P = Cp * rho * n^3 * D^5)&lt;br /&gt;
* Advance Ratio: J = v/(n*D)&lt;br /&gt;
* Efficiency: eta = Ct/Cp * v/(n*D) (or equivalently, eta = Ct/Cp * J )&lt;br /&gt;
&lt;br /&gt;
In the formulas&lt;br /&gt;
* Ct = coefficient of thrust&lt;br /&gt;
* Cp = coefficient of power&lt;br /&gt;
* v = true velocity of aircraft (m/s)&lt;br /&gt;
* D = diameter of propeller disk (m)&lt;br /&gt;
* n = rotations per second (1/s) (note RPS, not RPM)&lt;br /&gt;
* rho = density of air (kg/m^3)&lt;br /&gt;
* P = power (W)&lt;br /&gt;
* T = thrust (N)&lt;br /&gt;
&lt;br /&gt;
For a typical propeller, both Cp and Ct are downward sloping curves that reach 0 when J is somewhere in the range 0-4 (depending on blade angle and other factors). Cp and Ct can be negative; this indicates the drag induced by the prop when the airspeed is relatively fast compared with prop RPM. At higher pitch angles Ct may have a positive slope or be flat in the lower J range.&lt;br /&gt;
&lt;br /&gt;
Ct/Cp gives the efficiency (eta), and propeller shape and general design give each propeller a distinctive [http://www.mh-aerotools.de/airfoils/pylonprops_3.htm efficiency curve]. For fixed-pitch propellers, the propeller is generally designed to reach peak efficiency either at climb velocity &amp;amp; RPM, cruise velocity and RPM, or some compromise between the two.  [http://en.wikipedia.org/wiki/Controllable_pitch_propeller Variable pitch propellers] and [http://en.wikipedia.org/wiki/Constant_speed_propeller constant speed propellers] bring different factors into play.&lt;br /&gt;
&lt;br /&gt;
Note that several of the values mentioned above can be viewed while FG is running, in the property tree under /fdm/jsbsim/propulsion/engine.  This is useful for seeing how the settings and tables play out under various conditions and fine-tuning the settings.&lt;br /&gt;
&lt;br /&gt;
==== Sample C_THRUST and C_POWER tables ====&lt;br /&gt;
These example tables are from FlightGear's C172P aircraft:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
         0.0   0.068&lt;br /&gt;
         0.1   0.068&lt;br /&gt;
         0.2   0.067&lt;br /&gt;
         0.3   0.066&lt;br /&gt;
         0.4   0.064&lt;br /&gt;
         0.5   0.062&lt;br /&gt;
         0.6   0.059&lt;br /&gt;
         0.7   0.054&lt;br /&gt;
         0.8   0.043&lt;br /&gt;
         0.9   0.031&lt;br /&gt;
         1.0   0.019&lt;br /&gt;
         1.1   0.008&lt;br /&gt;
         1.2   -0.001&lt;br /&gt;
         1.3   -0.008&lt;br /&gt;
        1.4   -0.019&lt;br /&gt;
        1.5   -0.029&lt;br /&gt;
        1.6   -0.040&lt;br /&gt;
        1.7   -0.050&lt;br /&gt;
        1.8   -0.057&lt;br /&gt;
        1.9   -0.061&lt;br /&gt;
        2.0   -0.064&lt;br /&gt;
        2.1   -0.066&lt;br /&gt;
        2.2   -0.067&lt;br /&gt;
        2.3   -0.068&lt;br /&gt;
        5.0   -0.068&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type = &amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tableData&amp;gt;&lt;br /&gt;
        0.0   0.0580&lt;br /&gt;
        0.1   0.0620&lt;br /&gt;
        0.2   0.0600&lt;br /&gt;
        0.3   0.0580&lt;br /&gt;
        0.4   0.0520&lt;br /&gt;
        0.5   0.0457&lt;br /&gt;
        0.6   0.0436&lt;br /&gt;
        0.7   0.0420&lt;br /&gt;
        0.8   0.0372&lt;br /&gt;
        0.9   0.0299&lt;br /&gt;
        1.0   0.0202&lt;br /&gt;
        1.1   0.0111&lt;br /&gt;
        1.2   0.0075&lt;br /&gt;
        1.3   0.0111&lt;br /&gt;
        1.4   0.0202&lt;br /&gt;
        1.5   0.0280&lt;br /&gt;
        1.6   0.0346&lt;br /&gt;
        1.7   0.0389&lt;br /&gt;
        1.8   0.0421&lt;br /&gt;
        1.9   0.0436&lt;br /&gt;
        2.0   0.0445&lt;br /&gt;
        2.1   0.0445&lt;br /&gt;
        2.2   0.0442&lt;br /&gt;
        2.3   0.0431&lt;br /&gt;
        2.4   0.0424&lt;br /&gt;
        5.0   0.0413&lt;br /&gt;
      &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of table for variable pitch propeller ([http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg32187.html source]):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!-- thrust coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_THRUST&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tableData&amp;gt;&lt;br /&gt;
                  -10        0         15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      -0.0734    0.0413    0.1503    0.1842    0.2030    0.2142    0.1974    0.1691   0.0000&lt;br /&gt;
         0.0      -0.1090    0.0000    0.1503    0.1842    0.2030    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.2      -0.1222   -0.0376    0.1297    0.1804    0.2001    0.2162    0.2021    0.1691   0.0000&lt;br /&gt;
         0.4      -0.1222   -0.0873    0.0977    0.1786    0.1963    0.2142    0.2021    0.1691   0.0000&lt;br /&gt;
         0.6      -0.1222   -0.1222    0.0517    0.1607    0.1879    0.2087    0.1992    0.1691   0.0000&lt;br /&gt;
         0.8      -0.1222   -0.1222    0.0029    0.1203    0.1824    0.2012    0.1992    0.1691   0.0000&lt;br /&gt;
         1.0      -0.1222   -0.1222   -0.0489    0.0734    0.1748    0.1908    0.1974    0.1691   0.0000&lt;br /&gt;
         1.2      -0.1222   -0.1222   -0.1006    0.0226    0.1437    0.1842    0.1974    0.1691   0.0000&lt;br /&gt;
         1.4      -0.1222   -0.1222   -0.1222   -0.0329    0.1034    0.1813    0.1936    0.1691   0.0000&lt;br /&gt;
         1.6      -0.1222   -0.1222   -0.1222   -0.0836    0.0564    0.1748    0.1899    0.1691   0.0000&lt;br /&gt;
         1.8      -0.1222   -0.1222   -0.1222   -0.1222    0.0095    0.1503    0.1842    0.1691   0.0000&lt;br /&gt;
         2.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.0376    0.1174    0.1834    0.1691   0.0000&lt;br /&gt;
         2.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.0846    0.0846    0.1804    0.1691   0.0000&lt;br /&gt;
         2.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0451    0.1473    0.1691   0.0000&lt;br /&gt;
         2.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222    0.0057    0.0932    0.1503   0.0000&lt;br /&gt;
         2.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0338    0.0610    0.1222   0.0000&lt;br /&gt;
         3.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0734    0.0320    0.0940   0.0000&lt;br /&gt;
         3.2      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1128    0.0029    0.0658   0.0000&lt;br /&gt;
         3.4      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0263    0.0376   0.0000&lt;br /&gt;
         3.6      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0555    0.0095   0.0000&lt;br /&gt;
         3.8      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.0846   -0.0188   0.0000&lt;br /&gt;
         4.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1137   -0.0471   0.0000&lt;br /&gt;
         6.0      -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   -0.1222   0.0000&lt;br /&gt;
        &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;!-- power coefficient as a function of advance ratio and blade angle --&amp;gt;&lt;br /&gt;
    &amp;lt;table name=&amp;quot;C_POWER&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;tableData&amp;gt;&lt;br /&gt;
                 -10        0        15        25        35        45        55        65       90&lt;br /&gt;
        -0.2      0.0108   0.0215    0.0753    0.1710    0.2949    0.4194    0.4839    0.5355   0.5355&lt;br /&gt;
         0.0      0.0430   0.0108    0.0645    0.1594    0.2820    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.2      0.0613   0.0172    0.0624    0.1484    0.2697    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.4      0.0826   0.0376    0.0537    0.1368    0.2562    0.4194    0.4859    0.5355   0.5355&lt;br /&gt;
         0.6      0.1013   0.0570    0.0355    0.1271    0.2400    0.4110    0.4839    0.5355   0.5355&lt;br /&gt;
         0.8      0.1194   0.0763    0.0108    0.1078    0.2258    0.3923    0.4839    0.5355   0.5355&lt;br /&gt;
         1.0      0.1374   0.0948    0.0108    0.0755    0.2129    0.3723    0.4820    0.5355   0.5355&lt;br /&gt;
         1.2      0.1561   0.0758   -0.0355    0.0290    0.1884    0.3568    0.4788    0.5355   0.5355&lt;br /&gt;
         1.4      0.1742   0.1310   -0.0536   -0.0215    0.1452    0.3516    0.4729    0.5355   0.5355&lt;br /&gt;
         1.6      0.1923   0.1497   -0.0626   -0.0645    0.0916    0.3420    0.4626    0.5162   0.5355&lt;br /&gt;
         1.8      0.2110   0.1678   -0.0645   -0.1078    0.0269    0.3033    0.4484    0.5052   0.5355&lt;br /&gt;
         2.0      0.2291   0.1858   -0.0826   -0.1503   -0.0323    0.2581    0.4271    0.4949   0.5355&lt;br /&gt;
         2.2      0.2471   0.2045   -0.1013   -0.1936   -0.0968    0.2097    0.4142    0.4729   0.5355&lt;br /&gt;
         2.4      0.2658   0.2226   -0.1194   -0.2368   -0.1613    0.1497    0.4020    0.4626   0.5355&lt;br /&gt;
         2.6      0.2839   0.2407   -0.1374   -0.2794   -0.2045    0.0626    0.3923    0.4465   0.5355&lt;br /&gt;
         2.8      0.3020   0.2594   -0.1561   -0.3226   -0.2452   -0.0213    0.3839    0.4407   0.5355&lt;br /&gt;
         3.0      0.3207   0.2774   -0.1742   -0.3658   -0.2903   -0.0968    0.3710    0.4407   0.5355&lt;br /&gt;
         3.2      0.3387   0.2955   -0.1923   -0.4084   -0.3336   -0.1723    0.3471    0.4304   0.5355&lt;br /&gt;
         3.4      0.3568   0.3142   -0.2110   -0.4517   -0.3762   -0.2471    0.2691    0.4194   0.5355&lt;br /&gt;
         3.6      0.3755   0.3323   -0.2291   -0.4949   -0.4194   -0.3226    0.1890    0.4084   0.5355&lt;br /&gt;
         3.8      0.3936   0.3504   -0.2471   -0.5355   -0.4626   -0.3981    0.1052    0.3955   0.5355&lt;br /&gt;
         4.0      0.4117   0.3691   -0.2658   -0.5355   -0.5355   -0.4729    0.0213    0.3658   0.5355&lt;br /&gt;
         6.0      0.5355   0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.5355   -0.3226   0.5355&lt;br /&gt;
       &amp;lt;/tableData&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CT_MACH and CP_MACH ===&lt;br /&gt;
The CT_MACH and CP_MACH tables are optional. They apply a factor to Ct and Cp based on the helical tip Mach.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- thrust effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CT_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   0.8&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- power-required effects of helical tip Mach --&amp;gt;&lt;br /&gt;
  &amp;lt;table name=&amp;quot;CP_MACH&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      0.85   1.0&lt;br /&gt;
      1.05   1.8&lt;br /&gt;
      2.00   1.4&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sense ===&lt;br /&gt;
&lt;br /&gt;
Sense is the direction of rotation. 1=clockwise (typically as seen from rear of aircraft or the cockpit of a typical front-propeller aircraft, but this may vary depending on how you have set up the coordinate system for your aircraft) and -1 is counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The sense tag goes in the parent tag of the thruster, ie, in the &amp;lt;propulsion&amp;gt;&amp;lt;thruster&amp;gt; section which is typically in the main JSBSim XML file.  Example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;propulsion&amp;gt;&lt;br /&gt;
        &amp;lt;engine file=&amp;quot;Clerget9B&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 12 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
            &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;feed&amp;gt;0&amp;lt;/feed&amp;gt;&lt;br /&gt;
            &amp;lt;thruster file=&amp;quot;CamelProp&amp;quot;&amp;gt;&lt;br /&gt;
                '''&amp;lt;sense&amp;gt;1&amp;lt;/sense&amp;gt;'''&lt;br /&gt;
                &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;x&amp;gt; 0 &amp;lt;/x&amp;gt;&lt;br /&gt;
                    &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                    &amp;lt;z&amp;gt; 0 &amp;lt;/z&amp;gt;&lt;br /&gt;
                &amp;lt;/location&amp;gt;&lt;br /&gt;
                &amp;lt;orient unit=&amp;quot;DEG&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;roll&amp;gt; 0 &amp;lt;/roll&amp;gt;&lt;br /&gt;
                    &amp;lt;pitch&amp;gt; 0 &amp;lt;/pitch&amp;gt;&lt;br /&gt;
                    &amp;lt;yaw&amp;gt; 0 &amp;lt;/yaw&amp;gt;&lt;br /&gt;
                &amp;lt;/orient&amp;gt;&lt;br /&gt;
            &amp;lt;/thruster&amp;gt;&lt;br /&gt;
        &amp;lt;/engine&amp;gt;&lt;br /&gt;
        &amp;lt;tank type=&amp;quot;FUEL&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;location unit=&amp;quot;IN&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; 60 &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; 0 &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; -5.62 &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
            &amp;lt;capacity unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/capacity&amp;gt;&lt;br /&gt;
            &amp;lt;contents unit=&amp;quot;LBS&amp;quot;&amp;gt;133.6&amp;lt;/contents&amp;gt;&lt;br /&gt;
        &amp;lt;/tank&amp;gt;&lt;br /&gt;
    &amp;lt;/propulsion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starter speed ===&lt;br /&gt;
There is a somewhat complex relationship among the power coefficient, the maxrpm, and idlerpm.  Both maxrpm and idlerpm are set in the engine xml file.&lt;br /&gt;
&lt;br /&gt;
The power of the starter motor is proportional to maxrpm.  The minimum RPM needed to start the engine is 80% of the idlerpm.  The greater the power coefficient (for J near 0), the more power the propeller will require to spin when starting the engine with the aircraft at rest.&lt;br /&gt;
&lt;br /&gt;
If your propeller will not spin fast enough to start, you can try some combination of:&lt;br /&gt;
&lt;br /&gt;
* Increase maxrpm (increases the power of the starter motor)&lt;br /&gt;
* Decrease idlerpm (decreases the minimum RPM needed to start the engine)&lt;br /&gt;
* Decrease the power coefficient in the C_POWER table, for values of J close to (or equal to) 0.  This will reduce the amount of power it takes for the propeller to spin at a given RPM where J is close to 0 (which is the typical situation when starting the engine and the aircraft is at a dead stop).&lt;br /&gt;
&lt;br /&gt;
You can open the property tree and watch the value of J (/fdm/jsbsim/propulsion/engines/advance-ratio) to get an idea of which values you need to change in the C_POWER table.&lt;br /&gt;
&lt;br /&gt;
=== Development Tips ===&lt;br /&gt;
&lt;br /&gt;
* If you open the property tree browser within FG to /fdm/jsbsim/propulsion/engines you can see a number of helpful variables in action, including RPM, horsepower, advance ration, thrust coefficient, and others.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*   Several references were helpful, here:&lt;br /&gt;
**Barnes W. McCormick, &amp;quot;Aerodynamics, Aeronautics, and Flight Mechanics&amp;quot;, Wiley &amp;amp; Sons, 1979 ISBN 0-471-03032-5&lt;br /&gt;
**Edwin Hartman, David Biermann, &amp;quot;The Aerodynamic Characteristics of Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6 Airfoil Sections&amp;quot;, NACA Report TN-640, 1938 (?)&lt;br /&gt;
**Various NACA Technical Notes and Reports&lt;br /&gt;
&lt;br /&gt;
== FGRotor ==&lt;br /&gt;
FGRotor moodels a helicopter rotor.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sense goes in the parent tag --&amp;gt;&lt;br /&gt;
&amp;lt;sense&amp;gt; {1 | 0 | -1} &amp;lt;/sense&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rotor name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;diameter unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/diameter&amp;gt;&lt;br /&gt;
  &amp;lt;numblades&amp;gt; {number} &amp;lt;/numblades&amp;gt;&lt;br /&gt;
  &amp;lt;gearratio&amp;gt; {number} &amp;lt;/gearratio&amp;gt;&lt;br /&gt;
  &amp;lt;nominalrpm&amp;gt; {number} &amp;lt;/nominalrpm&amp;gt;&lt;br /&gt;
  &amp;lt;minrpm&amp;gt; {number} &amp;lt;/minrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt; &lt;br /&gt;
  &amp;lt;chord unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/chord&amp;gt;&lt;br /&gt;
  &amp;lt;liftcurveslope Xunit=&amp;quot;1/RAD&amp;quot;&amp;gt; {number} &amp;lt;/liftcurveslope&amp;gt;&lt;br /&gt;
  &amp;lt;twist unit=&amp;quot;{ANGLE}&amp;quot;&amp;gt; {number} &amp;lt;/twist&amp;gt;&lt;br /&gt;
  &amp;lt;hingeoffset unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/hingeoffset&amp;gt;&lt;br /&gt;
  &amp;lt;flappingmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/flappingmoment&amp;gt;&lt;br /&gt;
  &amp;lt;massmoment Xunit=&amp;quot;SLUG*FT&amp;quot;&amp;gt; {number} &amp;lt;/massmoment&amp;gt;&lt;br /&gt;
  &amp;lt;polarmoment unit=&amp;quot;{MOMENT}&amp;quot;&amp;gt; {number} &amp;lt;/polarmoment&amp;gt;&lt;br /&gt;
  &amp;lt;inflowlag&amp;gt; {number} &amp;lt;/inflowlag&amp;gt;&lt;br /&gt;
  &amp;lt;tiplossfactor&amp;gt; {number} &amp;lt;/tiplossfactor&amp;gt;&lt;br /&gt;
  &amp;lt;maxbrakepower unit=&amp;quot;{POWER}&amp;quot;&amp;gt; {number} &amp;lt;/maxbrakepower&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;controlmap&amp;gt; {MAIN|TAIL|TANDEM} &amp;lt;/controlmap&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalRPM&amp;gt; {number} &amp;lt;/ExternalRPM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;groundeffectexp&amp;gt; {number} &amp;lt;/groundeffectexp&amp;gt;&lt;br /&gt;
  &amp;lt;groundeffectshift unit=&amp;quot;{LENGTH}&amp;quot;&amp;gt; {number} &amp;lt;/groundeffectshift&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;freewheelthresh&amp;gt; {number} &amp;lt;/freewheelthresh&amp;gt;&lt;br /&gt;
&amp;lt;/rotor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LENGTH means any of the supported units, same for ANGLE and MOMENT.X unit-attributes are a hint for currently unsupported units, so values must be provided accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|diameter&lt;br /&gt;
|Rotor disk diameter (2x R).&lt;br /&gt;
|-&lt;br /&gt;
|numblades&lt;br /&gt;
|Number of blades (b).&lt;br /&gt;
|-&lt;br /&gt;
|gearratio&lt;br /&gt;
|Ratio of (engine rpm) / (rotor rpm), usually &amp;gt; 1.&lt;br /&gt;
|-&lt;br /&gt;
|nominalrpm&lt;br /&gt;
|RPM at which the rotor usally operates. &lt;br /&gt;
|-&lt;br /&gt;
|minrpm&lt;br /&gt;
|Lowest RPM used in the model, optional and defaults to 1.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|Largest RPM used in the model, optional and defaults to 2 x nominalrpm. &lt;br /&gt;
|-&lt;br /&gt;
|chord&lt;br /&gt;
|Blade chord, (c).&lt;br /&gt;
|-&lt;br /&gt;
|liftcurveslope&lt;br /&gt;
|Slope of curve of section lift against section angle of attack, per rad (a).&lt;br /&gt;
|-&lt;br /&gt;
|twist&lt;br /&gt;
|Blade twist from root to tip, (theta_1).&lt;br /&gt;
|-&lt;br /&gt;
|hingeoffset&lt;br /&gt;
|Rotor flapping-hinge offset (e).&lt;br /&gt;
|-&lt;br /&gt;
|flappingmoment&lt;br /&gt;
|Flapping moment of inertia (I_b).&lt;br /&gt;
|-&lt;br /&gt;
|massmoment&lt;br /&gt;
|Blade mass moment. Mass of a single blade times the blade's cg-distance from the hub, optional.&lt;br /&gt;
|-&lt;br /&gt;
|polarmoment&lt;br /&gt;
|Moment of inertia for the whole rotor disk, optional.&lt;br /&gt;
|-&lt;br /&gt;
|inflowlag&lt;br /&gt;
|Rotor inflow time constant, sec. Smaller values yield to quicker responses (typical values for main rotor: 0.1 - 0.2 s).&lt;br /&gt;
|-&lt;br /&gt;
|tiplossfactor&lt;br /&gt;
|Tip-loss factor. The Blade fraction that produces lift. Value usually ranges between 0.95 - 1.0, optional (B).&lt;br /&gt;
|-&lt;br /&gt;
|maxbrakepower&lt;br /&gt;
|Rotor brake, 20-30 hp should work for a mid size helicopter.&lt;br /&gt;
|-&lt;br /&gt;
|controlmap&lt;br /&gt;
|Defines the control inputs used (see notes).&lt;br /&gt;
|-&lt;br /&gt;
|ExternalRPM&lt;br /&gt;
|Links the rotor to another rotor, or an user controllable property.&lt;br /&gt;
&lt;br /&gt;
Experimental properties&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectexp&lt;br /&gt;
|Exponent for ground effect approximation. Values usually range from 0.04 for large rotors to 0.1 for smaller ones. As a rule of thumb the effect vanishes at a height 2-3 times the rotor diameter. formula used: exp ( - groundeffectexp * (height+groundeffectshift) ) Omitting or setting to 0.0 disables the effect calculation.&lt;br /&gt;
|-&lt;br /&gt;
|groundeffectshift&lt;br /&gt;
|Further adjustment of ground effect, approx. hub height or slightly above. &lt;br /&gt;
|-&lt;br /&gt;
|freewheelthresh&lt;br /&gt;
|Ratio of thruster power to engine power. The FWU will release when above the threshold. The value shouldn't be too close to 1.0, 1.5 seems ok. 0 disables this feature, which is also the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
==== Controls ====&lt;br /&gt;
* The behavior of the rotor is controlled/influenced by following inputs.&lt;br /&gt;
** The power provided by the engine. This is handled by the regular engine controls.&lt;br /&gt;
** The collective control input. This is read from the &amp;lt;tt&amp;gt;fdm&amp;lt;/tt&amp;gt; property &amp;lt;tt&amp;gt;propulsion/engine[x]/collective-ctrl-rad&amp;lt;/tt&amp;gt;. See below for tail rotor&lt;br /&gt;
** The lateral cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/lateral-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The longitudinal cyclic input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/longitudinal-ctrl-rad&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** The tail collective (aka antitorque, aka pedal) control input. Read from &amp;lt;tt&amp;gt;propulsion/engine[x]/antitorque-ctrl-rad&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;propulsion/engine[x]/tail-collective-ctrl-rad&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Tail/tandem rotor ====&lt;br /&gt;
&lt;br /&gt;
    Providing '''&amp;amp;lt;ExternalRPM&amp;amp;gt; 0 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the tail rotor's RPM&lt;br /&gt;
    is linked to to the main (=first, =0) rotor, and specifying&lt;br /&gt;
    '''&amp;amp;lt;controlmap&amp;amp;gt; TAIL &amp;amp;lt;/controlmap&amp;amp;gt;''' tells this rotor to read the&lt;br /&gt;
    collective input from '''propulsion/engine[1]/antitorque-ctrl-rad'''&lt;br /&gt;
    (The TAIL-map ignores lateral and longitudinal input). The rotor needs to be &lt;br /&gt;
    attached to a dummy engine, e.g. an 1HP electrical engine.&lt;br /&gt;
    A tandem rotor is setup analogous.&lt;br /&gt;
&lt;br /&gt;
==== Sense ====&lt;br /&gt;
&lt;br /&gt;
    The 'sense' parameter from the thruster is interpreted as follows, sense=1 means&lt;br /&gt;
    counter clockwise rotation of the main rotor, as viewed from above. This is as a far&lt;br /&gt;
    as I know more popular than clockwise rotation, which is defined by setting sense to&lt;br /&gt;
    -1. Concerning coaxial designs - by setting 'sense' to zero, a Kamov-style rotor is&lt;br /&gt;
    modeled (i.e. the rotor produces no torque).&lt;br /&gt;
&lt;br /&gt;
==== Engine issues ====&lt;br /&gt;
&lt;br /&gt;
    In order to keep the rotor speed constant, use of a RPM-Governor system is &lt;br /&gt;
    encouraged (see examples).&lt;br /&gt;
&lt;br /&gt;
==== Development hints ====&lt;br /&gt;
&lt;br /&gt;
    Setting '''&amp;amp;lt;ExternalRPM&amp;amp;gt; -1 &amp;amp;lt;/ExternalRPM&amp;amp;gt;''' the rotor's RPM is controlled  by&lt;br /&gt;
    the '''propulsion/engine[x]/x-rpm-dict''' property. This feature can be useful&lt;br /&gt;
    when developing a FDM.&lt;br /&gt;
&lt;br /&gt;
=== References:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|SH79&lt;br /&gt;
|Shaugnessy, J. D., Deaux, Thomas N., and Yenni, Kenneth R., &amp;quot;Development and Validation of a Piloted Simulation of a  Helicopter and External Sling Load&amp;quot;,  NASA TP-1285, 1979.&lt;br /&gt;
|-&lt;br /&gt;
|BA41&lt;br /&gt;
|Bailey,F.J.,Jr., &amp;quot;A Simplified Theoretical Method of Determining the Characteristics of a Lifting Rotor in Forward Flight&amp;quot;, NACA Rep.716, 1941&lt;br /&gt;
|-&lt;br /&gt;
|AM50&lt;br /&gt;
|Amer, Kenneth B.,&amp;quot;Theory of Helicopter Damping in Pitch or Roll and a Comparison With Flight Measurements&amp;quot;, NACA TN-2136, 1950.&lt;br /&gt;
|-&lt;br /&gt;
|TA77&lt;br /&gt;
|Talbot, Peter D., Corliss, Lloyd D., &amp;quot;A Mathematical Force and Moment Model of a UH-1H Helicopter for Flight Dynamics Simulations&amp;quot;, NASA TM-73,254, 1977.&lt;br /&gt;
|-&lt;br /&gt;
|GE49&lt;br /&gt;
|Gessow, Alfred, Amer, Kenneth B. &amp;quot;An Introduction to the Physical Aspects of Helicopter Stability&amp;quot;, NACA TN-1982, 1949.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Template:JSBSim&amp;diff=46919</id>
		<title>Template:JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Template:JSBSim&amp;diff=46919"/>
		<updated>2012-04-07T15:33:05Z</updated>

		<summary type="html">&lt;p&gt;Jentron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navigation&lt;br /&gt;
|title	= JSBSim&lt;br /&gt;
|content= [[JSBSim|Overview]]&lt;br /&gt;
&lt;br /&gt;
[[JSBSim Aerodynamics|Aerodynamics]] &amp;amp;bull; [[JSBSim Engines|Engines]] &amp;amp;bull; [[JSBSim GroundReactions|GroundReactions]] &amp;amp;bull; [[JSBSim Mass and balance|Mass and balance]] &amp;amp;bull; [[JSBSim Thrusters|Thrusters]] &amp;amp;bull; [[JSBSim Fuel System|Fuel System]]&lt;br /&gt;
&lt;br /&gt;
[[Howto: Write a fuel system in JSBSim|Howto:Fuel system]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:JSBSim]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Navigation templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46918</id>
		<title>JSBSim Fuel System</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46918"/>
		<updated>2012-04-07T15:31:59Z</updated>

		<summary type="html">&lt;p&gt;Jentron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create fuel and oxidizer tanks for the JSBSim framework.&lt;br /&gt;
&lt;br /&gt;
== FGTank ==&lt;br /&gt;
Tanks are a subsection of the Propulsion block&lt;br /&gt;
=== Fuel Temperature: ===&lt;br /&gt;
 &lt;br /&gt;
    Fuel temperature is calculated using the following assumptions:&lt;br /&gt;
&lt;br /&gt;
    Fuel temperature will only be calculated for tanks which have an initial fuel&lt;br /&gt;
    temperature specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
    The surface area of the tank is estimated from the capacity in pounds.  It&lt;br /&gt;
    is assumed that the tank is a wing tank with dimensions h by 4h by 10h. The&lt;br /&gt;
    volume of the tank is then 40(h)(h)(h). The area of the upper or lower &lt;br /&gt;
    surface is then 40(h)(h).  The volume is also equal to the capacity divided&lt;br /&gt;
    by 49.368 lbs/cu-ft, for jet fuel.  The surface area of one side can then be&lt;br /&gt;
    derived from the tank's capacity.  &lt;br /&gt;
&lt;br /&gt;
    The heat capacity of jet fuel is assumed to be 900 Joules/lbm/K, and the &lt;br /&gt;
    heat transfer factor of the tank is 1.115 Watts/sq-ft/K.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Dump: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel dumping is handled by the FGPropulsion class.  A standpipe can be defined&lt;br /&gt;
    here for each tank which sets the level of contents (in pounds) which is not dumpable.&lt;br /&gt;
    Default standpipe level is zero, making all contents dumpable.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Transfer: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel transfer is handled by the FGPropulsion class, however the contents of tanks&lt;br /&gt;
    may be manipulated directly using the SetContents() function here, or via the property&lt;br /&gt;
    tree at &amp;lt;tt&amp;gt;propulsion/tank[i]/contents-lbs&amp;lt;/tt&amp;gt;, where i is the tank number (Tanks&lt;br /&gt;
    are automatically numbered, starting at zero, in the order in which they are read in&lt;br /&gt;
    the aircraft configuration file).  The latter method allows one to use a system of FCS&lt;br /&gt;
    components to control tank contents.&lt;br /&gt;
&lt;br /&gt;
    There is also a property &amp;lt;tt&amp;gt;propulsion/tank[i]/external-flow-rate-pps&amp;lt;/tt&amp;gt;. Setting&lt;br /&gt;
    this property to a positive value causes the tank to fill at the rate specified.&lt;br /&gt;
    Setting a negative number causes the tank to drain. The value is the rate in pounds&lt;br /&gt;
    of fuel per second. The tank will not fill past 100% full and will not drain below 0%.&lt;br /&gt;
    Fuel may be transfered between two tanks by setting the source tank's external flow rate&lt;br /&gt;
    to a negative value and the destination's external flow rate to the same positive value.&lt;br /&gt;
    Care must be taken to stop fuel flow before the source tank becomes empty to prevent&lt;br /&gt;
    phantom fuel being created.&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;grain_config type=&amp;quot;{CYLINDRICAL | ENDBURNING}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;/grain_config&amp;gt;&lt;br /&gt;
  &amp;lt;location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/location&amp;gt;&lt;br /&gt;
  &amp;lt;drain_location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/drain_location&amp;gt;&lt;br /&gt;
  &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;capacity unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/capacity&amp;gt;&lt;br /&gt;
  &amp;lt;contents unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/contents&amp;gt;&lt;br /&gt;
  &amp;lt;temperature&amp;gt; {number} &amp;lt;/temperature&amp;gt; &amp;lt;!-- must be degrees fahrenheit --&amp;gt;&lt;br /&gt;
  &amp;lt;standpipe unit=&amp;quot;{LBS | KG&amp;quot;}&amp;gt; {number} &amp;lt;/standpipe&amp;gt;&lt;br /&gt;
  &amp;lt;priority&amp;gt; {integer} &amp;lt;/priority&amp;gt;&lt;br /&gt;
  &amp;lt;density unit=&amp;quot;{KG/L | LBS/GAL}&amp;quot;&amp;gt; {number} &amp;lt;/density&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt; {string} &amp;lt;/type&amp;gt; &amp;lt;!-- will override previous density setting --&amp;gt;&lt;br /&gt;
&amp;lt;/tank&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition of the tank configuration file parameters: ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|type&lt;br /&gt;
|One of FUEL or OXIDIZER.  This is required.&lt;br /&gt;
|-&lt;br /&gt;
|radius &lt;br /&gt;
|Equivalent radius of tank for modeling slosh, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|grain_config type&lt;br /&gt;
|One of CYLINDRICAL or ENDBURNING.&lt;br /&gt;
|-&lt;br /&gt;
|length&lt;br /&gt;
|length of tank for modeling solid fuel propellant grain, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|Capacity, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|Initial contents, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
|Initial temperature, defaults to degrees Fahrenheit.&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|Minimum contents to which tank can dump, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|Establishes feed sequence of tank. &amp;quot;1&amp;quot; is the highest priority.&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|Density of liquid tank contents.&lt;br /&gt;
|-&lt;br /&gt;
|type&lt;br /&gt;
|Named fuel type. One of AVGAS, JET-A, JET-A1, JET-B, JP-1, JP-2, JP-3, JP-4, JP-5, JP-6, JP-7, JP-8, JP-8+100, RP-1, T-1, ETHANOL, HYDRAZINE, F-34, F-35, F-40, F-44, AVTAG, AVCAT&lt;br /&gt;
|-&lt;br /&gt;
|location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|drain_location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank drain on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank drain on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank drain on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Default values of the tank configuration file parameters:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|type&lt;br /&gt;
|ttUNKNOWN  (causes a load error in the propulsion configuration)&lt;br /&gt;
|-&lt;br /&gt;
|location drain_location&lt;br /&gt;
|both optional, but a warning message will be printed to the console if the location is not given&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|0.00001 (tank capacity must not be zero)&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
| -9999.0 (flag which indicates no temperature is set)&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|0.0 (all contents may be dumped)&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|1 (highest feed sequence priority)&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|6.6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=46917</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=46917"/>
		<updated>2012-04-07T15:30:30Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Related content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.&lt;br /&gt;
* Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.&lt;br /&gt;
&lt;br /&gt;
* Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction.  Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.&lt;br /&gt;
&lt;br /&gt;
* Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.&lt;br /&gt;
&lt;br /&gt;
* Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.&lt;br /&gt;
&lt;br /&gt;
* Buoyant forces - Lighter than air craft, i.e., balloons, pressure airships (e.g. blimps) and rigid airships, can be simulated with this model.&lt;br /&gt;
&lt;br /&gt;
* External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.&lt;br /&gt;
&lt;br /&gt;
* Atmosphere&lt;br /&gt;
* Gravity&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an [http://wiki.flightgear.org/JSBSim_Engines engine file] describing the engine(s), and a [http://wiki.flightgear.org/JSBSim_Thrusters thruster file]. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
* [[JSBSim Fuel System]]&lt;br /&gt;
* [[Howto:_Write_a_fuel_system_in_JSBSim]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=46915</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=46915"/>
		<updated>2012-04-07T15:28:45Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Related content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.&lt;br /&gt;
* Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.&lt;br /&gt;
&lt;br /&gt;
* Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction.  Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.&lt;br /&gt;
&lt;br /&gt;
* Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.&lt;br /&gt;
&lt;br /&gt;
* Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.&lt;br /&gt;
&lt;br /&gt;
* Buoyant forces - Lighter than air craft, i.e., balloons, pressure airships (e.g. blimps) and rigid airships, can be simulated with this model.&lt;br /&gt;
&lt;br /&gt;
* External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.&lt;br /&gt;
&lt;br /&gt;
* Atmosphere&lt;br /&gt;
* Gravity&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an [http://wiki.flightgear.org/JSBSim_Engines engine file] describing the engine(s), and a [http://wiki.flightgear.org/JSBSim_Thrusters thruster file]. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
* [[JSBSim Fuel System]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46914</id>
		<title>JSBSim Fuel System</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46914"/>
		<updated>2012-04-07T15:25:48Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Default values of the tank configuration file parameters: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create fuel and oxidizer tanks for the JSBSim framework.&lt;br /&gt;
&lt;br /&gt;
== FGTank ==&lt;br /&gt;
Tanks are a subsection of the Propulsion block&lt;br /&gt;
=== Fuel Temperature: ===&lt;br /&gt;
 &lt;br /&gt;
    Fuel temperature is calculated using the following assumptions:&lt;br /&gt;
&lt;br /&gt;
    Fuel temperature will only be calculated for tanks which have an initial fuel&lt;br /&gt;
    temperature specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
    The surface area of the tank is estimated from the capacity in pounds.  It&lt;br /&gt;
    is assumed that the tank is a wing tank with dimensions h by 4h by 10h. The&lt;br /&gt;
    volume of the tank is then 40(h)(h)(h). The area of the upper or lower &lt;br /&gt;
    surface is then 40(h)(h).  The volume is also equal to the capacity divided&lt;br /&gt;
    by 49.368 lbs/cu-ft, for jet fuel.  The surface area of one side can then be&lt;br /&gt;
    derived from the tank's capacity.  &lt;br /&gt;
&lt;br /&gt;
    The heat capacity of jet fuel is assumed to be 900 Joules/lbm/K, and the &lt;br /&gt;
    heat transfer factor of the tank is 1.115 Watts/sq-ft/K.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Dump: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel dumping is handled by the FGPropulsion class.  A standpipe can be defined&lt;br /&gt;
    here for each tank which sets the level of contents (in pounds) which is not dumpable.&lt;br /&gt;
    Default standpipe level is zero, making all contents dumpable.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Transfer: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel transfer is handled by the FGPropulsion class, however the contents of tanks&lt;br /&gt;
    may be manipulated directly using the SetContents() function here, or via the property&lt;br /&gt;
    tree at &amp;lt;tt&amp;gt;propulsion/tank[i]/contents-lbs&amp;lt;/tt&amp;gt;, where i is the tank number (Tanks&lt;br /&gt;
    are automatically numbered, starting at zero, in the order in which they are read in&lt;br /&gt;
    the aircraft configuration file).  The latter method allows one to use a system of FCS&lt;br /&gt;
    components to control tank contents.&lt;br /&gt;
&lt;br /&gt;
    There is also a property &amp;lt;tt&amp;gt;propulsion/tank[i]/external-flow-rate-pps&amp;lt;/tt&amp;gt;. Setting&lt;br /&gt;
    this property to a positive value causes the tank to fill at the rate specified.&lt;br /&gt;
    Setting a negative number causes the tank to drain. The value is the rate in pounds&lt;br /&gt;
    of fuel per second. The tank will not fill past 100% full and will not drain below 0%.&lt;br /&gt;
    Fuel may be transfered between two tanks by setting the source tank's external flow rate&lt;br /&gt;
    to a negative value and the destination's external flow rate to the same positive value.&lt;br /&gt;
    Care must be taken to stop fuel flow before the source tank becomes empty to prevent&lt;br /&gt;
    phantom fuel being created.&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;grain_config type=&amp;quot;{CYLINDRICAL | ENDBURNING}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;/grain_config&amp;gt;&lt;br /&gt;
  &amp;lt;location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/location&amp;gt;&lt;br /&gt;
  &amp;lt;drain_location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/drain_location&amp;gt;&lt;br /&gt;
  &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;capacity unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/capacity&amp;gt;&lt;br /&gt;
  &amp;lt;contents unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/contents&amp;gt;&lt;br /&gt;
  &amp;lt;temperature&amp;gt; {number} &amp;lt;/temperature&amp;gt; &amp;lt;!-- must be degrees fahrenheit --&amp;gt;&lt;br /&gt;
  &amp;lt;standpipe unit=&amp;quot;{LBS | KG&amp;quot;}&amp;gt; {number} &amp;lt;/standpipe&amp;gt;&lt;br /&gt;
  &amp;lt;priority&amp;gt; {integer} &amp;lt;/priority&amp;gt;&lt;br /&gt;
  &amp;lt;density unit=&amp;quot;{KG/L | LBS/GAL}&amp;quot;&amp;gt; {number} &amp;lt;/density&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt; {string} &amp;lt;/type&amp;gt; &amp;lt;!-- will override previous density setting --&amp;gt;&lt;br /&gt;
&amp;lt;/tank&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition of the tank configuration file parameters: ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|type&lt;br /&gt;
|One of FUEL or OXIDIZER.  This is required.&lt;br /&gt;
|-&lt;br /&gt;
|radius &lt;br /&gt;
|Equivalent radius of tank for modeling slosh, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|grain_config type&lt;br /&gt;
|One of CYLINDRICAL or ENDBURNING.&lt;br /&gt;
|-&lt;br /&gt;
|length&lt;br /&gt;
|length of tank for modeling solid fuel propellant grain, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|Capacity, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|Initial contents, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
|Initial temperature, defaults to degrees Fahrenheit.&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|Minimum contents to which tank can dump, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|Establishes feed sequence of tank. &amp;quot;1&amp;quot; is the highest priority.&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|Density of liquid tank contents.&lt;br /&gt;
|-&lt;br /&gt;
|type&lt;br /&gt;
|Named fuel type. One of AVGAS, JET-A, JET-A1, JET-B, JP-1, JP-2, JP-3, JP-4, JP-5, JP-6, JP-7, JP-8, JP-8+100, RP-1, T-1, ETHANOL, HYDRAZINE, F-34, F-35, F-40, F-44, AVTAG, AVCAT&lt;br /&gt;
|-&lt;br /&gt;
|location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|drain_location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank drain on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank drain on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank drain on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Default values of the tank configuration file parameters:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|type&lt;br /&gt;
|ttUNKNOWN  (causes a load error in the propulsion configuration)&lt;br /&gt;
|-&lt;br /&gt;
|location drain_location&lt;br /&gt;
|both optional, but a warning message will be printed to the console if the location is not given&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|0.00001 (tank capacity must not be zero)&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
| -9999.0 (flag which indicates no temperature is set)&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|0.0 (all contents may be dumped)&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|1 (highest feed sequence priority)&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|6.6&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46913</id>
		<title>JSBSim Fuel System</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Fuel_System&amp;diff=46913"/>
		<updated>2012-04-07T15:23:44Z</updated>

		<summary type="html">&lt;p&gt;Jentron: Initial Page, Still needs formatting work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create fuel and oxidizer tanks for the JSBSim framework.&lt;br /&gt;
&lt;br /&gt;
== FGTank ==&lt;br /&gt;
Tanks are a subsection of the Propulsion block&lt;br /&gt;
=== Fuel Temperature: ===&lt;br /&gt;
 &lt;br /&gt;
    Fuel temperature is calculated using the following assumptions:&lt;br /&gt;
&lt;br /&gt;
    Fuel temperature will only be calculated for tanks which have an initial fuel&lt;br /&gt;
    temperature specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
    The surface area of the tank is estimated from the capacity in pounds.  It&lt;br /&gt;
    is assumed that the tank is a wing tank with dimensions h by 4h by 10h. The&lt;br /&gt;
    volume of the tank is then 40(h)(h)(h). The area of the upper or lower &lt;br /&gt;
    surface is then 40(h)(h).  The volume is also equal to the capacity divided&lt;br /&gt;
    by 49.368 lbs/cu-ft, for jet fuel.  The surface area of one side can then be&lt;br /&gt;
    derived from the tank's capacity.  &lt;br /&gt;
&lt;br /&gt;
    The heat capacity of jet fuel is assumed to be 900 Joules/lbm/K, and the &lt;br /&gt;
    heat transfer factor of the tank is 1.115 Watts/sq-ft/K.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Dump: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel dumping is handled by the FGPropulsion class.  A standpipe can be defined&lt;br /&gt;
    here for each tank which sets the level of contents (in pounds) which is not dumpable.&lt;br /&gt;
    Default standpipe level is zero, making all contents dumpable.&lt;br /&gt;
&lt;br /&gt;
=== Fuel Transfer: ===&lt;br /&gt;
&lt;br /&gt;
    Fuel transfer is handled by the FGPropulsion class, however the contents of tanks&lt;br /&gt;
    may be manipulated directly using the SetContents() function here, or via the property&lt;br /&gt;
    tree at &amp;lt;tt&amp;gt;propulsion/tank[i]/contents-lbs&amp;lt;/tt&amp;gt;, where i is the tank number (Tanks&lt;br /&gt;
    are automatically numbered, starting at zero, in the order in which they are read in&lt;br /&gt;
    the aircraft configuration file).  The latter method allows one to use a system of FCS&lt;br /&gt;
    components to control tank contents.&lt;br /&gt;
&lt;br /&gt;
    There is also a property &amp;lt;tt&amp;gt;propulsion/tank[i]/external-flow-rate-pps&amp;lt;/tt&amp;gt;. Setting&lt;br /&gt;
    this property to a positive value causes the tank to fill at the rate specified.&lt;br /&gt;
    Setting a negative number causes the tank to drain. The value is the rate in pounds&lt;br /&gt;
    of fuel per second. The tank will not fill past 100% full and will not drain below 0%.&lt;br /&gt;
    Fuel may be transfered between two tanks by setting the source tank's external flow rate&lt;br /&gt;
    to a negative value and the destination's external flow rate to the same positive value.&lt;br /&gt;
    Care must be taken to stop fuel flow before the source tank becomes empty to prevent&lt;br /&gt;
    phantom fuel being created.&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tank type=&amp;quot;{FUEL | OXIDIZER}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;grain_config type=&amp;quot;{CYLINDRICAL | ENDBURNING}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;/grain_config&amp;gt;&lt;br /&gt;
  &amp;lt;location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/location&amp;gt;&lt;br /&gt;
  &amp;lt;drain_location unit=&amp;quot;{FT | M | IN}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/drain_location&amp;gt;&lt;br /&gt;
  &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
  &amp;lt;capacity unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/capacity&amp;gt;&lt;br /&gt;
  &amp;lt;contents unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/contents&amp;gt;&lt;br /&gt;
  &amp;lt;temperature&amp;gt; {number} &amp;lt;/temperature&amp;gt; &amp;lt;!-- must be degrees fahrenheit --&amp;gt;&lt;br /&gt;
  &amp;lt;standpipe unit=&amp;quot;{LBS | KG&amp;quot;}&amp;gt; {number} &amp;lt;/standpipe&amp;gt;&lt;br /&gt;
  &amp;lt;priority&amp;gt; {integer} &amp;lt;/priority&amp;gt;&lt;br /&gt;
  &amp;lt;density unit=&amp;quot;{KG/L | LBS/GAL}&amp;quot;&amp;gt; {number} &amp;lt;/density&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt; {string} &amp;lt;/type&amp;gt; &amp;lt;!-- will override previous density setting --&amp;gt;&lt;br /&gt;
&amp;lt;/tank&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition of the tank configuration file parameters: ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|type&lt;br /&gt;
|One of FUEL or OXIDIZER.  This is required.&lt;br /&gt;
|-&lt;br /&gt;
|radius &lt;br /&gt;
|Equivalent radius of tank for modeling slosh, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|grain_config type&lt;br /&gt;
|One of CYLINDRICAL or ENDBURNING.&lt;br /&gt;
|-&lt;br /&gt;
|length&lt;br /&gt;
|length of tank for modeling solid fuel propellant grain, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|Capacity, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|Initial contents, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
|Initial temperature, defaults to degrees Fahrenheit.&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|Minimum contents to which tank can dump, defaults to pounds.&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|Establishes feed sequence of tank. &amp;quot;1&amp;quot; is the highest priority.&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|Density of liquid tank contents.&lt;br /&gt;
|-&lt;br /&gt;
|type&lt;br /&gt;
|Named fuel type. One of AVGAS, JET-A, JET-A1, JET-B, JP-1, JP-2, JP-3, JP-4, JP-5, JP-6, JP-7, JP-8, JP-8+100, RP-1, T-1, ETHANOL, HYDRAZINE, F-34, F-35, F-40, F-44, AVTAG, AVCAT&lt;br /&gt;
|-&lt;br /&gt;
|location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|drain_location:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - Location of tank drain on aircraft's x-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - Location of tank drain on aircraft's y-axis, defaults to inches.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - Location of tank drain on aircraft's z-axis, defaults to inches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Default values of the tank configuration file parameters:===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|type&lt;br /&gt;
|ttUNKNOWN  (causes a load error in the propulsion configuration)&lt;br /&gt;
|-&lt;br /&gt;
|location, drain_location&lt;br /&gt;
|-&lt;br /&gt;
|both optional, but a warning message will be printed to the console if the location is not given&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|x - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|y - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|z - 0.0  (both full and drained CG locations)&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|capacity&lt;br /&gt;
|0.00001 (tank capacity must not be zero)&lt;br /&gt;
|-&lt;br /&gt;
|contents&lt;br /&gt;
|0.0&lt;br /&gt;
|-&lt;br /&gt;
|temperature&lt;br /&gt;
|-9999.0 (flag which indicates no temperature is set)&lt;br /&gt;
|-&lt;br /&gt;
|standpipe&lt;br /&gt;
|0.0 (all contents may be dumped)&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|1 (highest feed sequence priority)&lt;br /&gt;
|-&lt;br /&gt;
|density&lt;br /&gt;
|6.6&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2012&amp;diff=46646</id>
		<title>FlightGear Newsletter April 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2012&amp;diff=46646"/>
		<updated>2012-04-01T22:43:33Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Updated aircraft */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter}}&lt;br /&gt;
&lt;br /&gt;
{{newsletter}}&lt;br /&gt;
{{TOC_right|limit=2}}&lt;br /&gt;
&lt;br /&gt;
''We would like to emphasize that the monthly newsletter can not live without the contributions of FlightGear users and developers. Everyone with a wiki account (free to register) can edit the newsletter and every contribution is welcome. So if you know about any FlightGear related news or projects such as for example updated scenery or aircraft, please do feel invited to add such news to the newsletter.''&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
=== Mailing list digest ===&lt;br /&gt;
&lt;br /&gt;
(by far the easiest option to populate the newsletter with contents is copying/pasting stuff from the forum and the mailing list or the git logs)&lt;br /&gt;
&lt;br /&gt;
=== Forum digest ===&lt;br /&gt;
&lt;br /&gt;
=== Git digest ===&lt;br /&gt;
&lt;br /&gt;
== Interview with a contributor (NAME) ==&lt;br /&gt;
''In each edition we have an interview with a contributor. Suggestions for possible questions are available on [[interview questions]], you are invited to come up with new questions and interview ideas obviously! Anyone is free to write an interview (with him-/herself or others) for next month's newsletter! If you'd like to help interview a contributor or get interviewed, please do consider adding yourself to the [[list of interview volunteers]]! To keep this going and less awkward, we are currently trying to come up with the convention that former interviewees become next month's interviewers.''&lt;br /&gt;
&lt;br /&gt;
* How long have you been involved in FlightGear?&lt;br /&gt;
* What are your major interests in FlightGear?&lt;br /&gt;
* What project are you working on right now?&lt;br /&gt;
* What do you plan on doing in the future?&lt;br /&gt;
* Are you happy with the way the FlightGear project is going?&lt;br /&gt;
* What do you enjoy most about developing for FlightGear?&lt;br /&gt;
* Are there any &amp;quot;hidden features&amp;quot; you have worked on in FlightGear that new users may miss?&lt;br /&gt;
* What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?&lt;br /&gt;
&lt;br /&gt;
More questions are being collected here: [[Interview questions]].&lt;br /&gt;
&lt;br /&gt;
Stay tuned for next month's interview, featuring FlightGear contributor XXXXXXXX &lt;br /&gt;
&lt;br /&gt;
== Snapshot releases ==&lt;br /&gt;
Every now and then, easy-to-install development snapshots are created (usually, twice montlhy). These snapshos depict a recent state of the development version of FlightGear. By using them users can test out features that will be included in the upcoming release. Testers are encouraged to file bugs at [http://code.google.com/p/flightgear-bugs/ the issue tracker].&lt;br /&gt;
&lt;br /&gt;
The snapshot can be download via the links at the bottom of this page: http://www.flightgear.org/download/. Updates and feedback can be found [http://flightgear.org/forums/viewtopic.php?f=28&amp;amp;t=10488&amp;amp;p=144233&amp;amp;hilit=snapshot#p144233 at the forum].&lt;br /&gt;
&lt;br /&gt;
== Nasal for newbies ==&lt;br /&gt;
&lt;br /&gt;
== New software tools and projects ==&lt;br /&gt;
&lt;br /&gt;
== FlightGear addons and mods ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
&lt;br /&gt;
All the way back in May 2011, we addopted a new status-rating system for aircraft. So far, only a few have actually been rated, as can be seen in the list 'hockenberry' set up at [https://docs.google.com/spreadsheet/ccc?key=0ApzphjA4w05ndF94Y2F0bzJTbHQ5QTJXZXJRcUVRbWc&amp;amp;hl=en_US Google Docs]. If you're an aircraft developer and your aircraft is/are not on the list, please consider rating their status. All you'll need to know/do is described at [[Formalizing Aircraft Status]]. If you'd just like to get started contributing to FlightGear, this would also seem like an excellent way to get started.&lt;br /&gt;
&lt;br /&gt;
=== New aircraft ===&lt;br /&gt;
&lt;br /&gt;
=== Updated aircraft ===&lt;br /&gt;
The Zivko Edge by Thorsten D was already a great airplane, Jentron worked the FDM over and now its quite capable of tumbling and spinning with rough handling.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
=== Airports ===&lt;br /&gt;
&lt;br /&gt;
== Aircraft of the month ==&lt;br /&gt;
== Airport of the month ==&lt;br /&gt;
== Screenshot of the month ==&lt;br /&gt;
&lt;br /&gt;
== Suggested flights ==&lt;br /&gt;
== Aircraft reviews ==&lt;br /&gt;
&lt;br /&gt;
== Wiki updates ==&lt;br /&gt;
===New articles===&lt;br /&gt;
&amp;lt;DynamicArticleList&amp;gt;&lt;br /&gt;
  type=new&lt;br /&gt;
  count=10&lt;br /&gt;
&amp;lt;/DynamicArticleList&amp;gt;&lt;br /&gt;
===New aircraft articles===&lt;br /&gt;
&amp;lt;DynamicArticleList&amp;gt;&lt;br /&gt;
  type=new&lt;br /&gt;
  count=10&lt;br /&gt;
  categoryRoot=Aircraft&lt;br /&gt;
&amp;lt;/DynamicArticleList&amp;gt;&lt;br /&gt;
===Most popular newsletters===&lt;br /&gt;
&amp;lt;DynamicArticleList&amp;gt;&lt;br /&gt;
  type=hot&lt;br /&gt;
  count=5&lt;br /&gt;
  categoryRoot=FlightGear Newsletter&lt;br /&gt;
&amp;lt;/DynamicArticleList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
=== FlightGear on YouTube ===&lt;br /&gt;
&lt;br /&gt;
=== New tutorials and screencasts ===&lt;br /&gt;
=== Forum news ===&lt;br /&gt;
=== Multiplayer ===&lt;br /&gt;
=== Virtual airlines ===&lt;br /&gt;
=== FlightGear events ===&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
== And finally ... ==&lt;br /&gt;
=== Contributing ===&lt;br /&gt;
One of the regular thoughts expressed on the FlightGear forums is &amp;quot;I'd like to contribute but I don't know how to program, and I don't have the time&amp;quot;. Unfortunately, there is a common mis-conception that contributing requires programming and lots of free time. In fact, there are a huge range of ways to contribute to the project without needing to write code or spending days working on something. &lt;br /&gt;
&lt;br /&gt;
For ideas on starting to contribute to FlightGear, you may want to check out: [[Volunteer]].&lt;br /&gt;
&lt;br /&gt;
=== Call for volunteers ===&lt;br /&gt;
* The [[OpenRadar]] project is looking for a new maintainer.&lt;br /&gt;
* The [[FGFSPM]] (FlightGear Package Manager) is looking for a new maintainer.&lt;br /&gt;
&lt;br /&gt;
=== Did you know ===&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2012 04]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45040</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45040"/>
		<updated>2012-03-20T03:18:40Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Effects */ Sorry Gijs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator''' - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45039</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45039"/>
		<updated>2012-03-20T03:17:36Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Effects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
*'''Lift Due To Elevator&amp;quot;&amp;quot;&amp;quot; - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45038</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=45038"/>
		<updated>2012-03-20T03:16:53Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Effects */ Talk about forces and moments due to control surface deflections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
^'''Lift Due To Elevator&amp;quot;&amp;quot;&amp;quot; - There are two interrelated effects from elevator deflection, the Force change and the Moment. These have two different coefficients in two different sections of the FDM but should be considered together. The formula is:&lt;br /&gt;
&lt;br /&gt;
CLde * lh-ft = Cmde * cbarw-ft&lt;br /&gt;
&lt;br /&gt;
That is, the force (lift) created by the elevator times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the chord as the reference length.&lt;br /&gt;
&lt;br /&gt;
A similar formula:&lt;br /&gt;
&lt;br /&gt;
CYdr * lv-ft = Cndr * bw-ft &lt;br /&gt;
&lt;br /&gt;
Is applicable the rudder's side force and yawing moment. The force (side) created by the rudder times its length from the CG is equal to the moment. For some reason standard aerodynamics uses the wing span as the reference length.&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=37639</id>
		<title>JSBSim Mass and balance</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Mass_and_balance&amp;diff=37639"/>
		<updated>2011-12-07T14:33:26Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Parameter definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mass_balance&amp;gt;&lt;br /&gt;
        &amp;lt;ixx unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixx&amp;gt;&lt;br /&gt;
        &amp;lt;iyy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyy&amp;gt;&lt;br /&gt;
        &amp;lt;izz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/izz&amp;gt;&lt;br /&gt;
        &amp;lt;ixy unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixy&amp;gt;&lt;br /&gt;
        &amp;lt;ixz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/ixz&amp;gt;&lt;br /&gt;
        &amp;lt;iyz unit=&amp;quot;{SLUG*FT2 | KG*M2}&amp;quot;&amp;gt; {number} &amp;lt;/iyz&amp;gt;&lt;br /&gt;
        &amp;lt;emptywt unit=&amp;quot;{LBS | KG&amp;quot;&amp;gt; {number} &amp;lt;/emptywt&amp;gt;&lt;br /&gt;
        &amp;lt;location name=&amp;quot;CG&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/location&amp;gt;&lt;br /&gt;
        [&amp;lt;pointmass name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;form shape=&amp;quot;{tube | cylinder | sphere | ball}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;radius unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/radius&amp;gt;&lt;br /&gt;
               &amp;lt;length unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/length&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt; &lt;br /&gt;
            &amp;lt;weight unit=&amp;quot;{LBS | KG}&amp;quot;&amp;gt; {number} &amp;lt;/weight&amp;gt;&lt;br /&gt;
            &amp;lt;location name=&amp;quot;{string}&amp;quot; unit=&amp;quot;{IN | FT | M}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;x&amp;gt; {number} &amp;lt;/x&amp;gt;&lt;br /&gt;
                &amp;lt;y&amp;gt; {number} &amp;lt;/y&amp;gt;&lt;br /&gt;
                &amp;lt;z&amp;gt; {number} &amp;lt;/z&amp;gt;&lt;br /&gt;
            &amp;lt;/location&amp;gt;&lt;br /&gt;
        &amp;lt;/pointmass&amp;gt;&lt;br /&gt;
        ... other point masses ...]&lt;br /&gt;
    &amp;lt;/mass_balance&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!i..&lt;br /&gt;
|Inertia. Higher values result in slower rolls than lower values. [http://www.eng.auburn.edu/~marghitu/MECH2110/C_4.pdf A technical summary of moments of inertia is here] or [http://en.wikipedia.org/wiki/Moment_of_inertia on Wikipedia here].  Generally the ixz, iyz, and ixy terms will be zero (because the x, y, and z axes are [http://en.wikipedia.org/wiki/Principal_axis_(mechanics)#Principal_axes_of_inertia principal axes]); the exception would be in the case of an extremely asymmetrical aircraft design or if your x, y, and z axes don't line up with any of the axes of symmetry of the aircraft.&lt;br /&gt;
|-&lt;br /&gt;
!emptywt&lt;br /&gt;
|The mass weight of the empty aircraft. &lt;br /&gt;
|-&lt;br /&gt;
!pointmass&lt;br /&gt;
|There can be any number of pointmasses. Each can also have a shape which - if present - causes an associated moment of inertia to be calculated based on the shape. Note that cylinders and balls are solid, while tubes and spheres are hollow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;emptywt + pointmasses + fuel = total weight&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Fuel weight is defined in the [[JSBSim Propulsion|propulsion section]].&lt;br /&gt;
&lt;br /&gt;
You can add the pointmasses to the Equipment &amp;gt; Fuel and payload dialog, by adding the following code (for each single pointmass) to your aircraft's -set.xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;payload&amp;gt;&lt;br /&gt;
	&amp;lt;weight&amp;gt;&lt;br /&gt;
		&amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;Passengers and crew&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;weight-lb alias=&amp;quot;/fdm/jsbsim/inertia/pointmass-weight-lbs[0]&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;min-lb type=&amp;quot;double&amp;quot;&amp;gt;3000.0&amp;lt;/min-lb&amp;gt;&lt;br /&gt;
		&amp;lt;max-lb type=&amp;quot;double&amp;quot;&amp;gt;90000.0&amp;lt;/max-lb&amp;gt;&lt;br /&gt;
	&amp;lt;/weight&amp;gt;&lt;br /&gt;
&amp;lt;/payload&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;br /&gt;
&lt;br /&gt;
[[Category:JSBSim|Mass and balance]]&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=37362</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=37362"/>
		<updated>2011-11-26T00:46:06Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.&lt;br /&gt;
* Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.&lt;br /&gt;
&lt;br /&gt;
* Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction.  Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.&lt;br /&gt;
&lt;br /&gt;
* Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.&lt;br /&gt;
&lt;br /&gt;
* Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.&lt;br /&gt;
&lt;br /&gt;
* Buoyant forces - Lighter than air craft, i.e., Balloons, dirigibles and rigid airships, can be simulated with this model.&lt;br /&gt;
&lt;br /&gt;
* External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.&lt;br /&gt;
&lt;br /&gt;
* Atmosphere&lt;br /&gt;
* Gravity&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an [http://wiki.flightgear.org/JSBSim_Engines engine file] describing the engine(s), and a [http://wiki.flightgear.org/JSBSim_Thrusters thruster file]. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=37357</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=37357"/>
		<updated>2011-11-26T00:32:20Z</updated>

		<summary type="html">&lt;p&gt;Jentron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.&lt;br /&gt;
* Mass Balance&lt;br /&gt;
* Ground Reactions&lt;br /&gt;
* Propulsion&lt;br /&gt;
* Aerodynamics&lt;br /&gt;
* Buoyant forces&lt;br /&gt;
* External forces&lt;br /&gt;
* Atmosphere&lt;br /&gt;
* Gravity&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an [http://wiki.flightgear.org/JSBSim_Engines engine file] describing the engine(s), and a [http://wiki.flightgear.org/JSBSim_Thrusters thruster file]. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=36352</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=36352"/>
		<updated>2011-10-22T17:46:51Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Effects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward (negative values) and aft (positive) in response to mach, pitch or other influences. Use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt; in the &amp;amp;lt;aerodynamics&amp;amp;gt; section.  The value this tag function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section to get the final shift. You could use this by setting the AeroRP to the leading edge of the wing and use a 1D table indexed by mach starting at .25 chord and getting bigger as the mach number increases to simulate mach tuck. &lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=36351</id>
		<title>JSBSim Aerodynamics</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Aerodynamics&amp;diff=36351"/>
		<updated>2011-10-22T17:42:33Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Effects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to translate traditional aerodynamics concepts into the [[JSBSim]] framework, and how to create [[FDM]]s that are sane for any flight value.&lt;br /&gt;
&lt;br /&gt;
This page uses the term &amp;quot;coefficient&amp;quot; both the traditional sense of a constant multiplicative factor or in the [[JSBSim]] sense of the output of a function derived from a coefficient.&lt;br /&gt;
&lt;br /&gt;
JSBSim provides three [[#Forces|Forces]] and three [[#Moments|Moments]] (a moment is a twisting or turning force), therefore it is a 'six degree of freedom' simulation.&lt;br /&gt;
&lt;br /&gt;
== Frames ==&lt;br /&gt;
JSBSim incorporates several frame of reference. The body frame and wind frame are the most important to the aerodynamic model.&lt;br /&gt;
* '''Body XYZ''' The body frame uses the X axis for forward and aft, with + to the front. The Y axis is side to side with + to the right. The Z axis is up and down, with + being up. The origin of this frame is the Center of Gravity (CG), about which the aircraft forces and moments are summed and the resulting accelerations are integrated to get velocities. &lt;br /&gt;
&lt;br /&gt;
* '''Wind XYZ''' The wind frame X-axis points directly into the relative wind. The Z-axis is perpendicular to the X-axis, and remains within the aircraft body axis XZ plane (also called the reference plane). The Y-axis completes a right hand coordinate system. The origin of this frame is the AeroRP.&lt;br /&gt;
&lt;br /&gt;
* '''Wind UVW''' This isn't really a frame, but it is the components of the wind velocity vector. The relative wind is imposed on the body frame using variables U,V, and W. U to represent the velocity of the wind flowing past the aircraft. U represents the wind blowing down the X or longitudinal axis of the aircraft. V represents the wind blowing down the body frame Y axis, that is, wind in your ear. W represents wind blowing down the body frame Z axis, or wind from above.&lt;br /&gt;
&lt;br /&gt;
== Angles ==&lt;br /&gt;
These two angles define the direction the relative wind is blowing in regard to the body frame.&lt;br /&gt;
* '''Alpha''' Alpha is the angle between the X body axis and the X wind axis measured on the UV plane. In standard aerodynamics Alpha is often referenced to the main wing chord line, this is not the case in [[JSBSim]].&lt;br /&gt;
* '''Beta''' Beta is the angle between the X body axis and the X wind axis measured in the UW plane.&lt;br /&gt;
&lt;br /&gt;
== QBar ==&lt;br /&gt;
QBar, or dynamic pressure, is the product of velocity^2*(air density)/2&lt;br /&gt;
* '''QBarUV''' Use this value for formula involving Alpha. It is the value of QBar restricted to the vertical plane.&lt;br /&gt;
* '''QBarUW''' Use this value for formula involving Beta. It is the value of QBar restricted to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
== Metrics ==&lt;br /&gt;
The metrics section provides a standard place to record common aircraft dimensions. [[Aeromatic]] built [[FDM]]s only use three of the defined properties.&lt;br /&gt;
* Wing Area - metrics/Sw-sqft&lt;br /&gt;
* Wing Span - metrics/bw-ft&lt;br /&gt;
* Wing Chord - metrics/cbarw-ft&lt;br /&gt;
&lt;br /&gt;
Other dimensions [[Aeromatic]] creates but does not use are: (tail arms are used by the JSBSim Turbulence code)&lt;br /&gt;
* Horizontal Tail Area - Sh-sqft&lt;br /&gt;
* Horizontal Tail Arm - lh-ft &lt;br /&gt;
* Vertical Tail Area - Sv-sqft&lt;br /&gt;
* Vertical Tail Arm - lv-ft&lt;br /&gt;
&lt;br /&gt;
== Forces ==&lt;br /&gt;
For purposes of the Aerodynamics section the entire aircraft creates a single, unified aerodynamic force. This force is split into three component vectors. The most common way of splitting this force into vectors is the Lift Drag Side method. Another, potential better way from the perspective of generating a full 360 degree capable [[FDM]], is the Normal, Axial, Side method.&lt;br /&gt;
* '''Lift: CL''' Lift is the portion of the aerodynamic force that is at a right angle to the relative wind, and points up.&lt;br /&gt;
** Lift is a function of QBar * Wing Area * Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt;. Cl&amp;lt;sub&amp;gt;lift&amp;lt;/sub&amp;gt; is generally derived from a 2D table as a function of AoA. In the real world it is also a function of the Reynolds and Mach Numbers.&lt;br /&gt;
* '''Drag: CD''' Drag is the portion of the aerodynamic force that is parallel to the relative wind.&lt;br /&gt;
** It is important to ensure all coefficient functions in the drag section remain positive. When drag coefficient functions are negative, drag is effectively acting as thrust opposite the relative wind.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is at a right angle to the relative wind and points to the side.&lt;br /&gt;
&lt;br /&gt;
This system was developed by and for people using wind tunnels. Lift is to the top of the wind tunnel, drag is out the back and side is to the side. As a real aircraft in free space yanks and banks it becomes somewhat ambiguous which direction the forces are applied. For example, an aircraft is diving straight at the ground, 90 degrees nose down pitch. Its angle of attack, and the relative wind, is almost 0. 'Lift' is supposed to be perpendicular to the relative wind and point to the heavens, but there is not a vector that satisfies that description in this case.&lt;br /&gt;
&lt;br /&gt;
Enter the Axial, Normal, Side system.&lt;br /&gt;
* '''Axial: CA''' Axial force is the portion of the aerodynamic force that is parallel to the aircraft's longitudinal (X) axis. For very small angles of attack it is analogous to Drag.&lt;br /&gt;
* '''Normal: CN''' Normal force is the portion of the aerodynamic force that is parallel to the aircraft's vertical (Z) axis.  For very small angles of attack it is analogous to Lift.&lt;br /&gt;
* '''Side: CY''' Side is the portion of the aerodynamic force that is parallel to the aircraft's lateral (Y) axis.&lt;br /&gt;
&lt;br /&gt;
Which ever system is used, the forces are applied at the Aerodynamic Reference Point (AeroRP). If the AeroRP is not coincident to the model's center of gravity (CG), yaw, pitch and roll moments are created that do not appear in the moments sections.&lt;br /&gt;
&lt;br /&gt;
== Moments ==&lt;br /&gt;
* '''Roll: Cl''' Aerodynamic rolling moment comes from multiple sources:&lt;br /&gt;
** One is the lift generated by the vertical tail. On most aircraft the center of pressure for the vertical tail is not on the X body axis. This sets up a moment arm creating a moment of (moment arm length)*(vertical tail lift force).&lt;br /&gt;
** Another roll moment source is main wing dihedral angle. FIXME: explain how dihedral contributes to roll moment.&lt;br /&gt;
* '''Pitch: Cm''' The primary contributor to the pitching moment is the lift generated by the horizontal tail. The pitching moment of the main wing airfoil is a secondary contributor. Because of this fact it makes sense that the value for Cm will resemble the CL curve for the horizontal tail airfoil. The standard CL curve does not take into account the changes in tail Angle of Attack (AoA) and QBar due to main wing down-wash and rotational velocity around the Y axis. Using QBarUV is more appropriate for Cm than the generic QBar.&lt;br /&gt;
* '''Yaw: Cn''' The primary contributor to the yawing moment is the lift generated by the vertical tail. The wind force on the fuselage is a secondary contributor. Because of this fact it makes sense that the value for Cn will resemble the CL curve for the vertical tail airfoil. Changes in QBar due to the vertical tail moving into the 'shadow' of a stalled main wing may need to be accounted for, as well. The source for vertical tail Angle of Attack (AoA) should be Beta and QBarUW is more appropriate for Cn than the generic QBar.&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
* '''Stall''' - A 'stall' is generally regarded as a loss of lift due to flow separation over the top of a wing, however, examination of lift polar for an airfoil over a full 360 degrees shows that significant amounts of lift are NOT lost as the stall occurs. The biggest aerodynamic effect of a stall is a large and rapid increase in drag.&lt;br /&gt;
* '''Spin''' - Spins are caused loss of stability in the Yaw Moment axis. A stock [[Aeromatic]] [[FDM]] yaw section does not take alpha into account when calculating the yaw moment.&lt;br /&gt;
* '''Aerodynamic Reference Point''' - JSBSim provides a way to shift the aerodynamic reference point (AeroRP) forward and aft in response to mach, pitch or other influences. Create a function in the &amp;amp;lt;aerodynamics&amp;amp;gt; section called aero_ref_pt_shift_x or just use the tag &amp;amp;lt;aero_ref_pt_shift_x&amp;amp;gt;. The value this function returns is internally multiplied by the chord entered in the &amp;amp;lt;metrics&amp;amp;gt; section. &lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=36305</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=36305"/>
		<updated>2011-10-21T14:24:07Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Aeromatic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an [http://wiki.flightgear.org/JSBSim_Engines engine file] describing the engine(s), and a [http://wiki.flightgear.org/JSBSim_Thrusters thruster file]. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=36303</id>
		<title>JSBSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim&amp;diff=36303"/>
		<updated>2011-10-21T14:11:28Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Aeromatic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''JSBSim''' is an open source [[Flight Dynamics Model]] (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages [[FlightGear]] and [http://www.openeaagles.org/ OpenEaagles]. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses [[File Formats#|XML]] configuration files.&lt;br /&gt;
&lt;br /&gt;
* JSBSim is also used by [[OpenEaagles]]&lt;br /&gt;
* [[JSBSim Commander]] is a software program for developing FDM for aircraft with JSBSim.&lt;br /&gt;
&lt;br /&gt;
== Aeromatic ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic] can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.&lt;br /&gt;
&lt;br /&gt;
You will need at least three files for a complete configuration, an '''aircraft file''' containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an '''engine file''' describing the engine(s), and a '''thruster file.''' Thrusters can be rotors, propellers or direct. All turbine and rocket engines use the default &amp;quot;direct&amp;quot; thruster. Piston, electric and turboprops need rotors or propellers. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.&lt;br /&gt;
&lt;br /&gt;
Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]&lt;br /&gt;
* [[JSBSim GroundReactions]]&lt;br /&gt;
* [[JSBSim Engines|JSBSim Engine configuration]]&lt;br /&gt;
* [[JSBSim Thrusters|JSBSim Thruster configuration]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.jsbsim.org/ JSBSim web site]&lt;br /&gt;
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)&lt;br /&gt;
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)&lt;br /&gt;
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]&lt;br /&gt;
* [http://www.holycows.net/datcom/ DATCOM+]&lt;br /&gt;
&lt;br /&gt;
{{FDM}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=35862</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=35862"/>
		<updated>2011-10-13T18:43:41Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc. The value can be calculated by (ambient pressure)/(desired pressure)-1 where desired pressure is full throttle at rated RPM.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=34881</id>
		<title>JSBSim Engines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=JSBSim_Engines&amp;diff=34881"/>
		<updated>2011-09-22T15:38:55Z</updated>

		<summary type="html">&lt;p&gt;Jentron: /* FGRocket */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JSBSim]] provides a framework for aerodynamics. This page will attempt to explain how to create engines for the JSBSim framework.  Engines also require [[JSBSim Thrusters|thrusters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FGPiston ==&lt;br /&gt;
Piston engine model. You enter values based on commonly available data and this model creates reasonable output values.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;piston_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;minmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/minmp&amp;gt;&lt;br /&gt;
  &amp;lt;maxmp unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/maxmp&amp;gt;&lt;br /&gt;
  &amp;lt;displacement unit=&amp;quot;{IN3 | LTR | CC}&amp;quot;&amp;gt; {number} &amp;lt;/displacement&amp;gt;&lt;br /&gt;
  &amp;lt;bore unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/bore&amp;gt; &amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;stroke unit=&amp;quot;{IN | M}&amp;quot;&amp;gt; {number} &amp;lt;/stroke&amp;gt;&lt;br /&gt;
  &amp;lt;cylinders&amp;gt; {number} &amp;lt;/cylinders&amp;gt;&amp;lt;!-- Unused --&amp;gt;&lt;br /&gt;
  &amp;lt;cylinder-head-mass unit=&amp;quot;{KG | LBS}&amp;quot;&amp;gt; {number} &amp;lt;/cylinder-head-mass&amp;gt; &lt;br /&gt;
  &amp;lt;compression-ratio&amp;gt; {number} &amp;lt;/compression-ratio&amp;gt;&lt;br /&gt;
  &amp;lt;sparkfaildrop&amp;gt; {number} &amp;lt;/sparkfaildrop&amp;gt;&lt;br /&gt;
  &amp;lt;maxhp unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/maxhp&amp;gt;&lt;br /&gt;
  &amp;lt;static-friction unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/static-friction&amp;gt; &amp;lt;!-- Not installed yet --&amp;gt;&lt;br /&gt;
  &amp;lt;cycles&amp;gt; {number} &amp;lt;/cycles&amp;gt; &lt;br /&gt;
  &amp;lt;idlerpm&amp;gt; {number} &amp;lt;/idlerpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxrpm&amp;gt; {number} &amp;lt;/maxrpm&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt; &amp;lt;!-- Deprecated / unused --&amp;gt;&lt;br /&gt;
  &amp;lt;numboostspeeds&amp;gt; {number} &amp;lt;/numboostspeeds&amp;gt;&lt;br /&gt;
  &amp;lt;boostoverride&amp;gt; {0 | 1} &amp;lt;/boostoverride&amp;gt;&lt;br /&gt;
  &amp;lt;boostmanual&amp;gt; {0 | 1} &amp;lt;/boostmanual&amp;gt;&lt;br /&gt;
  &amp;lt;ratedboost1 unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/ratedboost1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedpower1 unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/ratedpower1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedrpm1&amp;gt; {number} &amp;lt;/ratedrpm1&amp;gt;&lt;br /&gt;
  &amp;lt;ratedaltitude1 unit=&amp;quot;{FT | M}&amp;quot;&amp;gt; {number} &amp;lt;/ratedaltitude1&amp;gt;&lt;br /&gt;
 (repeat for speeds 2 and 3)&lt;br /&gt;
  &amp;lt;takeoffboost unit=&amp;quot;{INHG | PA | ATM}&amp;quot;&amp;gt; {number} &amp;lt;/takeoffboost&amp;gt;&lt;br /&gt;
 &amp;lt;!-- advanced tags! --&amp;gt;&lt;br /&gt;
  &amp;lt;bsfc unit=&amp;quot;{LBS/HP*HR | KG/KW*HR}&amp;quot;&amp;gt; {number} &amp;lt;/bsfc&amp;gt;&lt;br /&gt;
  &amp;lt;volumetric-efficiency&amp;gt; {number} &amp;lt;/volumetric-efficiency&amp;gt;&lt;br /&gt;
  &amp;lt;air-intake-impedance-factor&amp;gt; {number} &amp;lt;/air-intake-impedance-factor&amp;gt;&lt;br /&gt;
  &amp;lt;ram-air-factor&amp;gt; {number} &amp;lt;/ram-air-factor&amp;gt;&lt;br /&gt;
  &amp;lt;cooling-factor&amp;gt; {number} &amp;lt;/cooling-factor&amp;gt; &lt;br /&gt;
 &amp;lt;/piston_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|minmp&lt;br /&gt;
|this value is the nominal idle manifold pressure at sea-level without boost. Along with idlerpm, it determines the throttle response slope.&lt;br /&gt;
|- &lt;br /&gt;
|maxmp&lt;br /&gt;
|this value is the nomial maximum manifold pressure at sea-level without boost. Along with maxrpm it determines the resistance of the aircraft's intake system. See air-intake-impedance-factor&lt;br /&gt;
|-&lt;br /&gt;
|displacement&lt;br /&gt;
|this value is used to determine mass air and fuel flow which impacts engine power and cooling.&lt;br /&gt;
|-&lt;br /&gt;
|bore&lt;br /&gt;
|cylinder bore is currently unused.&lt;br /&gt;
|-&lt;br /&gt;
|stroke&lt;br /&gt;
|piston stroke is used to determine the mean piston speed. A longer stroke results in an engine that does not work as well at higher speeds.&lt;br /&gt;
|-&lt;br /&gt;
|cylinders &lt;br /&gt;
|number of cylinders scales the cylinder head mass.&lt;br /&gt;
|-&lt;br /&gt;
|cylinder-head-mass&lt;br /&gt;
|the nominal mass of a cylinder head. A larger value slows changes in engine temperature&lt;br /&gt;
|-&lt;br /&gt;
|compression-ratio&lt;br /&gt;
|the compression ratio affects the change in volumetric efficiency with altitude.&lt;br /&gt;
|-&lt;br /&gt;
|sparkfaildrop&lt;br /&gt;
|this is the percentage drop in horsepower for single magneto operation.&lt;br /&gt;
|-&lt;br /&gt;
|maxhp&lt;br /&gt;
|this value is the nominal power the engine creates at maxrpm. It will determine bsfc if that tag is not input. It also determines the starter motor power.&lt;br /&gt;
|-&lt;br /&gt;
|static-friction&lt;br /&gt;
|this value is the power required to turn an engine that is not running. Used to control and slow a windmilling propeller.&lt;br /&gt;
|-&lt;br /&gt;
|cycles&lt;br /&gt;
|Designate a 2 or 4 stroke engine. Currently only the 4 stroke engine is supported.&lt;br /&gt;
|-&lt;br /&gt;
|idlerpm&lt;br /&gt;
|this value affects the throttle fall off and the engine stops running if it is slowed below 80% of this value. The engine starts running when it reaches 80% of this value.&lt;br /&gt;
|-&lt;br /&gt;
|maxrpm&lt;br /&gt;
|this value is used to calculate air-box resistance and BSFC. It also affects oil pressure among other things.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|minthrottle&lt;br /&gt;
|Deprecated / unused&lt;br /&gt;
|-&lt;br /&gt;
|numboostspeed&lt;br /&gt;
| zero (or not present) for a naturally-aspirated engine, either 1, 2 or 3 for a boosted engine.  This corresponds to the number of supercharger speeds.  Merlin XII had 1 speed, Merlin 61 had 2, a late  Griffon engine apparently had 3.  No known engine more than 3, although some German engines apparently had a continuously variable-speed supercharger.&lt;br /&gt;
|-&lt;br /&gt;
|boostoverride&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|boostmanual&lt;br /&gt;
|whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
|-&lt;br /&gt;
|takeoffboost&lt;br /&gt;
|boost in psi above sea level ambient.&lt;br /&gt;
|-&lt;br /&gt;
|ratedboost[123]&lt;br /&gt;
|the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi&lt;br /&gt;
|-&lt;br /&gt;
|ratedpower[123]&lt;br /&gt;
|unused&lt;br /&gt;
|-&lt;br /&gt;
|ratedrpm[123]&lt;br /&gt;
|The rpm at which rated boost is developed&lt;br /&gt;
|-&lt;br /&gt;
|ratedaltitude[123]&lt;br /&gt;
|The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
|-&lt;br /&gt;
|bsfc (Advanced)&lt;br /&gt;
|Indicated Specific Fuel Consumption. The power produced per unit of fuel. Higher numbers give worse fuel economy. This number may need to be lowered slightly from actual BSFC numbers because some internal engine losses are modeled separately.&lt;br /&gt;
|-&lt;br /&gt;
|volumetric-efficiency (Advanced)&lt;br /&gt;
|the nominal volumetric efficiency of the engine. Boosted engines require values above 1.&lt;br /&gt;
|-&lt;br /&gt;
|air-intake-impedance-factor (Advanced)&lt;br /&gt;
|this number is the pressure drop across the intake system. Increasing it reduces available manifold pressure.&lt;br /&gt;
|-&lt;br /&gt;
|ram-air-factor (Advanced)&lt;br /&gt;
|this number creates a pressure increase with an increase in dynamic pressure (aircraft speed).&lt;br /&gt;
|-&lt;br /&gt;
|cooling-factor (Advanced)&lt;br /&gt;
|this number models how efficient the aircraft cooling system is.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* Intake &amp;amp; Throttle&lt;br /&gt;
** The intake is modeled by &amp;lt;ram-air-factor&amp;gt;,&amp;lt;minmp&amp;gt;, &amp;lt;maxmp&amp;gt;, and &amp;lt;air-intake-impedance-factor&amp;gt;. &lt;br /&gt;
** &amp;lt;ram-air-factor&amp;gt; is the efficiency of the air scoop intake. 0 turns ram air off. Default is 1. This value is exposed on the property tree so it may be altered at runtime to simulate alternate air, etc.&lt;br /&gt;
** &amp;lt;maxmp&amp;gt; is the maximum manifold pressure achievable. It is used for determining &amp;lt;BSFC&amp;gt; and &amp;lt;air-intake-impedance-factor&amp;gt; if a values are not supplied for those items.&lt;br /&gt;
** &amp;lt;minmp&amp;gt; is used along with &amp;lt;idlerpm&amp;gt; to determine the slope of the throttle response&lt;br /&gt;
** &amp;lt;air-intake-impedance-factor&amp;gt; is the fixed impedance in the air intake system. It is determined by &amp;lt;maxmp&amp;gt; if not supplied. This value is exposed on the property tree so it may be altered at runtime to simulate intake icing, alternate air, etc.&lt;br /&gt;
* Boost&lt;br /&gt;
** &amp;lt;boostmanual&amp;gt; whether a multispeed supercharger will manually or automatically shift boost speeds. On manual shifting the boost speeds is accomplished by controlling propulsion/engine/boostspeed&lt;br /&gt;
** &amp;lt;takeoffboost&amp;gt; -  Many aircraft had an extra boost setting beyond rated boost, but not totally uncontrolled as in the already mentioned boost-control-cutout, typically attained by pushing the throttle past a mechanical 'gate' preventing its inadvertant use. This was typically used for takeoff, and emergency situations, generally for not more than five minutes. This is a change in the boost control setting, not the actual supercharger speed, and so would only give extra power below the rated altitude. When TAKEOFFBOOST is specified in the config file (and is above RATEDBOOST1), then the throttle position is interpreted as:&lt;br /&gt;
*** 0 to 0.98 : idle manifold pressure to rated boost (where attainable)&lt;br /&gt;
*** 0.99, 1.0 : takeoff boost (where attainable).&lt;br /&gt;
*** A typical takeoff boost for an earlyish Merlin was about 12psi, compared with a rated boost of 9psi.&lt;br /&gt;
*** It is quite possible that other boost control settings could have been used on some aircraft, or that takeoff/extra boost could have activated by other means than pushing the throttle full forward through a gate, but this will suffice for now.&lt;br /&gt;
** &amp;lt;ratedboost[123]&amp;gt; - the absolute rated boost above sea level ambient (14.7 PSI, 29.92 inHg) for a given boost speed, in psi. Eg the Merlin XII had a rated boost of 9psi, giving approximately 39inHg manifold pressure up to the rated altitude.&lt;br /&gt;
*** Note that &amp;lt;maxmp&amp;gt; is still the non-boosted max manifold pressure even for boosted engines - effectively this is simply a measure of the pressure drop through the fully open throttle.&lt;br /&gt;
** &amp;lt;ratedaltitude[123]&amp;gt; - The altitude up to which rated boost can be maintained. Up to this altitude the boost is maintained constant for a given throttle position by the BCV or wastegate. Beyond this altitude the manifold pressure must drop, since the supercharger is now at maximum unregulated output. The actual pressure multiplier of the supercharger system is calculated at initialisation from this value.&lt;br /&gt;
** &amp;lt;ratedpower[123]&amp;gt; - The power developed at rated boost at rated altitude at rated rpm.&lt;br /&gt;
** &amp;lt;ratedrpm[123]&amp;gt; - The rpm at which rated power is developed.&lt;br /&gt;
* Power production&lt;br /&gt;
** &amp;lt;sparkfaildrop&amp;gt; is the amount of power you get for single magneto operation, try a value of 0.8 or so.&lt;br /&gt;
** &amp;lt;volumetric-efficiency&amp;gt; controls how much air goes through the engine at a given RPM. Values below 1 for unboosted engines and values over 1 for boosted engines. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
** &amp;lt;bsfc&amp;gt; is the amount of power the engine produces per unit of fuel consumed. Use it to tune the power produced. This value is exposed on the property tree so it may be altered at runtime.&lt;br /&gt;
* Cooling&lt;br /&gt;
** &amp;lt;cylinder-head-mass&amp;gt; controls how fast the engine heats up and cools off. So if you have a '5-minute' limit on a power setting you can adjust this value so the engine just starts to overheat at the end of the given time frame.&lt;br /&gt;
** &amp;lt;cooling-factor&amp;gt; controls how much 'air' flows over the engine to cool it. Raising the value makes the engine run cooler. This value is exposed on the property tree so it may be altered at runtime to simulate cowl flaps, for example.&lt;br /&gt;
* Tuning&lt;br /&gt;
** Using a constant speed load, set the engine model to full throttle and rated RPM.&lt;br /&gt;
** Set &amp;lt;ram-air-factor&amp;gt; to zero.&lt;br /&gt;
** Adjust &amp;lt;air-intake-impedance-factor&amp;gt; to achieve the proper static full throttle manifold pressure.&lt;br /&gt;
** Increase airspeed to cruise and adjust &amp;lt;ram-air-factor&amp;gt; to achieve the proper dynamic full throttle manifold pressure.&lt;br /&gt;
** Adjust &amp;lt;volumetric-efficiency&amp;gt; first to achieve desired fuel flow rate, leaning engine as required.&lt;br /&gt;
** Adjust &amp;lt;bsfc&amp;gt; to achieve desired power.&lt;br /&gt;
** Some piston engines will have power curves that will need to be altered from default depending on operating conditions.  For example engines with multi-speed superchargers will produce less horse power on high speed at the same manifold pressure compared to low speed.  Functions can be setup to alter &amp;lt;volumetric-efficiency&amp;gt; and &amp;lt;bsfc&amp;gt; at run time to get the power and fuel consumption curves correct by using different values for high and low supercharger speeds.&lt;br /&gt;
&lt;br /&gt;
== FGTurbine ==&lt;br /&gt;
The jet turbine engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
 &amp;lt;turbine_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;milthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/milthrust&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrust unit=&amp;quot;{LBS | N}&amp;quot;&amp;gt; {number} &amp;lt;/maxthrust&amp;gt;&lt;br /&gt;
  &amp;lt;bypassratio&amp;gt; {number} &amp;lt;/bypassratio&amp;gt;&lt;br /&gt;
  &amp;lt;bleed&amp;gt; {number} &amp;lt;/bleed&amp;gt;&lt;br /&gt;
  &amp;lt;tsfc&amp;gt; {number} &amp;lt;/tsfc&amp;gt;&lt;br /&gt;
  &amp;lt;atsfc&amp;gt; {number} &amp;lt;/atsfc&amp;gt;&lt;br /&gt;
  &amp;lt;idlen1&amp;gt; {number} &amp;lt;/idlen1&amp;gt;&lt;br /&gt;
  &amp;lt;idlen2&amp;gt; {number} &amp;lt;/idlen2&amp;gt;&lt;br /&gt;
  &amp;lt;maxn1&amp;gt; {number} &amp;lt;/maxn1&amp;gt;&lt;br /&gt;
  &amp;lt;maxn2&amp;gt; {number} &amp;lt;/maxn2&amp;gt;&lt;br /&gt;
  &amp;lt;augmented&amp;gt; {0 | 1} &amp;lt;/augmented&amp;gt;&lt;br /&gt;
  &amp;lt;augmethod&amp;gt; {0 | 1 | 2} &amp;lt;/augmethod&amp;gt;&lt;br /&gt;
  &amp;lt;injected&amp;gt; {0 | 1} &amp;lt;/injected&amp;gt;&lt;br /&gt;
  &amp;lt;injection-time&amp;gt; {number} &amp;lt;/injection-time&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;IdleThrust&amp;quot;&amp;gt; &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;MilThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;AugThrust&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
  &amp;lt;function name=&amp;quot;Injection&amp;quot;&amp;gt;  &amp;lt;/function&amp;gt;&lt;br /&gt;
 &amp;lt;/turbine_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|Maximum thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|maxthrust&lt;br /&gt;
|Afterburning thrust, static, at sea level.&lt;br /&gt;
|-&lt;br /&gt;
|bypassratio&lt;br /&gt;
|Ratio of bypass air flow to core air flow.&lt;br /&gt;
|-&lt;br /&gt;
|bleed&lt;br /&gt;
|Thrust reduction factor due to losses (0.0 to 1.0).&lt;br /&gt;
|-&lt;br /&gt;
|tsfc&lt;br /&gt;
|Thrust-specific fuel consumption at cruise, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|atsfc&lt;br /&gt;
|Afterburning TSFC, lbm/hr/lbf&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|Fan rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|idlen2&lt;br /&gt;
|Core rotor rpm (% of max) at idle&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|Fan rotor rpm (% of max) at full throttle &lt;br /&gt;
|-&lt;br /&gt;
|maxn2&lt;br /&gt;
|Core rotor rpm (% of max) at full throttle&lt;br /&gt;
|-&lt;br /&gt;
|augmented&lt;br /&gt;
|0 = afterburner not installed&amp;lt;br /&amp;gt;1 = afterburner installed&lt;br /&gt;
|-&lt;br /&gt;
|augmethod&lt;br /&gt;
|0 = afterburner activated by property /engines/engine[n]/augmentation&amp;lt;br /&amp;gt;1 = afterburner activated by pushing throttle above 99% position&amp;lt;br /&amp;gt;2 = throttle range is expanded in the FCS, and values above 1.0 are afterburner range&lt;br /&gt;
|-&lt;br /&gt;
|injected&lt;br /&gt;
|0 = Water injection not installed&amp;lt;br /&amp;gt;1 = Water injection installed&lt;br /&gt;
|-&lt;br /&gt;
|injection-time&lt;br /&gt;
|Time, in seconds, of water injection duration&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|Two functions, IdleThrust and MilThrust must always be defined. AugThrust is required for afterburning (reheated) engines. Injection is for water injected engines. These functions return a multiplier that is applied to the supplied static thrust values. In aeromatic configurations these functions are tables based on sonic velocity and air density&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
*Bypass ratio is used only to estimate engine acceleration time. The effect of bypass ratio on engine efficiency is already included in the TSFC value. Feel free to set this parameter (even for turbojets) to whatever value gives a desired spool-up rate. Default value is 0.&lt;br /&gt;
*The bleed factor is multiplied by thrust to give a resulting thrust after losses. This can represent losses due to bleed, or any other cause. Default value is 0. A common value would be 0.04.&lt;br /&gt;
*Nozzle position, for variable area exhaust nozzles, is provided for users needing to drive a nozzle gauge or animate a virtual nozzle.&lt;br /&gt;
*This model can only be used with the &amp;quot;direct&amp;quot; thruster. See the file: /engine/direct.xml&lt;br /&gt;
*TSFC=fuel consumption per hour/thrust&lt;br /&gt;
*There is a Java program here to calculate thrust vs airspeed and altitude. http://adg.stanford.edu/aa241/propulsion/engmodel.html&lt;br /&gt;
&lt;br /&gt;
== FGTurboprop ==&lt;br /&gt;
The turboprop engine&lt;br /&gt;
&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter definitions ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|milthrust&lt;br /&gt;
|[LBS]&lt;br /&gt;
|-&lt;br /&gt;
|idlen1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|maxn1&lt;br /&gt;
|[%]&lt;br /&gt;
|-&lt;br /&gt;
|betarangeend[%]&lt;br /&gt;
| if ThrottleCmd &amp;amp;lt; betarangeend/100.0 then engine power=idle, propeller pitch is controled by ThrottleCmd (between MINPITCH and  REVERSEPITCH).&amp;lt;br /&amp;gt; if ThrottleCmd &amp;amp;gt; betarangeend/100.0 then engine power increases up to max reverse power reversemaxpower [%] max engine power in reverse mode&lt;br /&gt;
|-&lt;br /&gt;
|maxpower&lt;br /&gt;
| [HP]&lt;br /&gt;
|-&lt;br /&gt;
|psfc&lt;br /&gt;
| power specific fuel consumption [pph/HP] for N1=100%&lt;br /&gt;
|-&lt;br /&gt;
|n1idle_max_delay&lt;br /&gt;
|[-] time constant for N1 change&lt;br /&gt;
|-&lt;br /&gt;
|maxstartenginetime [sec]&lt;br /&gt;
|    after this time the automatic starting cycle is interrupted when the engine doesn't start (0=automatic starting not present)&lt;br /&gt;
|-&lt;br /&gt;
|startern1&lt;br /&gt;
|[%] when starting starter spin up engine to this spin&lt;br /&gt;
|-&lt;br /&gt;
|ielumaxtorque [lb.ft]&lt;br /&gt;
|if torque&amp;gt;ielumaxtorque limiters decrease the throttle (ielu = Integrated Electronic Limiter Unit)&lt;br /&gt;
|-&lt;br /&gt;
|itt_delay&lt;br /&gt;
|[-] time constant for ITT change (ITT = Inter Turbine Temperature)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FGRocket ==&lt;br /&gt;
The rocket engine&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;rocket_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;isp&amp;gt; {number} &amp;lt;/isp&amp;gt;&lt;br /&gt;
  &amp;lt;builduptime&amp;gt; {number} &amp;lt;/builduptime&amp;gt;&lt;br /&gt;
  &amp;lt;maxthrottle&amp;gt; {number} &amp;lt;/maxthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;minthrottle&amp;gt; {number} &amp;lt;/minthrottle&amp;gt;&lt;br /&gt;
  &amp;lt;slfuelflowmax&amp;gt; {number} &amp;lt;/slfuelflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;sloxiflowmax&amp;gt;  {number} &amp;lt;/sloxiflowmax&amp;gt;&lt;br /&gt;
  &amp;lt;variation&amp;gt;&lt;br /&gt;
    &amp;lt;thrust&amp;gt; {number} &amp;lt;/thrust&amp;gt;&lt;br /&gt;
    &amp;lt;total_isp&amp;gt; {number} &amp;lt;/total_isp&amp;gt;&lt;br /&gt;
  &amp;lt;/variation&amp;gt; &lt;br /&gt;
  &amp;lt;thrust_table name=&amp;quot;propulsion/thrust_prop_remain&amp;quot; type=&amp;quot;internal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tableData&amp;gt;&lt;br /&gt;
      {number} {number}&lt;br /&gt;
	...&lt;br /&gt;
      {number} {number}&lt;br /&gt;
    &amp;lt;/tableData&amp;gt;&lt;br /&gt;
  &amp;lt;/thrust_table&amp;gt;&lt;br /&gt;
&amp;lt;/rocket_engine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FGElectric ==&lt;br /&gt;
Simple thrust producer. You enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
* Enter the max power as &amp;lt;power unit=&amp;quot;WATTS&amp;quot;&amp;gt; and the engine model produces throttle_setting*power watts of output.&lt;br /&gt;
=== Configuration File Format ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;electric_engine name=&amp;quot;{string}&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;power unit=&amp;quot;{HP | WATTS}&amp;quot;&amp;gt; {number} &amp;lt;/power&amp;gt;&lt;br /&gt;
&amp;lt;/electric_engine&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
FGElectric models an electric motor based on the configuration file &amp;lt;power&amp;gt; parameter. The throttle controls motor output linearly from zero to &amp;lt;power&amp;gt;. This power value (converted internally to horsepower) is then used by FGPropeller to apply torque to the propeller.  At present there is no battery model available, so this motor does not consume any energy.  There is no internal friction.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGPiston.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurbine.html&lt;br /&gt;
* http://jsbsim.sourceforge.net/JSBSim/classJSBSim_1_1FGTurboProp.html&lt;br /&gt;
&lt;br /&gt;
{{JSBSim}}&lt;/div&gt;</summary>
		<author><name>Jentron</name></author>
	</entry>
</feed>