Aero input and outputs: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Pasted info from old mailing-list)
 
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Temp info from old mailing-list till get more info:'''
Properties aerodynamic functions in JSBSim can read and output.


There isn't much formal documentation at the moment that is available for
== Function inputs ==
the JSBSim properties. If you have some specific properties you'd like to
know about, post the queries here. For starters, here are the aerodynamic
properties (and definitions) of the Cessna 172:
 
  ********************
  ****** INPUTS ******
  ********************


Location of the aerodynamic reference point in the aircraft structural
Location of the aerodynamic reference point in the aircraft structural
Line 30: Line 23:
     /fdm/jsbsim/aero/ci2vel
     /fdm/jsbsim/aero/ci2vel


  *********************
Alpha of the wing in radians (includes the angle of incidence of the wing,
  ****** OUTPUTS ******
if input):
  *********************
 
    /fdm/jsbsim/aero/alpha-wing-rad
 
Altitude of CG divided by wing span:
 
    /fdm/jsbsim/aero/h_b-cg-ft
 
Altitude of MAC (Mean aerodynamic chord) divided by wing span:
 
    /fdm/jsbsim/aero/h_b-mac-ft
 
Aerodynamic rotational rates in rad/sec (does not include wind effects):
 
    /fdm/jsbsim/velocities/p-rad_sec  (roll)
    /fdm/jsbsim/velocities/q-rad_sec  (pitch)
    /fdm/jsbsim/velocities/r-rad_sec  (yaw)
 
Aerodynamic rotational rates in rad/sec (includes wind effects, if any):
 
    /fdm/jsbsim/velocities/p-aero-rad_sec
    /fdm/jsbsim/velocities/q-aero-rad_sec
    /fdm/jsbsim/velocities/r-aero-rad_sec
 
Aerodynamic velocities (nose, right, below) in ft/sec (includes wind effects, if any):
 
    /fdm/jsbsim/velocities/u-aero-fps
    /fdm/jsbsim/velocities/v-aero-fps
    /fdm/jsbsim/velocities/w-aero-fps
 
The body axis aerodynamic force vector of the aircraft in lbs:
 
    /fdm/jsbsim/forces/fbx-aero-lbs
    /fdm/jsbsim/forces/fby-aero-lbs
    /fdm/jsbsim/forces/fbz-aero-lbs


Ground effect factors for lift and drag:
The stability axis aerodynamic force vector of the aircraft in lbs:


     /fdm/jsbsim/aero/function/ground-effect-factor-lift
     /fdm/jsbsim/forces/fwx-aero-lbs
     /fdm/jsbsim/aero/function/ground-effect-factor-drag
    /fdm/jsbsim/forces/fwy-aero-lbs
     /fdm/jsbsim/forces/fwz-aero-lbs


Runtime-created aerodynamic force and moment components from definitions in
The body axis aerodynamic moment vector of the aircraft in ft-lbs:
the <aerodynamics> section of the configuration file (varies per-aircraft):


     /fdm/jsbsim/aero/coefficient/CLwbh
     /fdm/jsbsim/moments/l-aero-lbsft
    /fdm/jsbsim/aero/coefficient/CLDf
     /fdm/jsbsim/moments/m-aero-lbsft
    /fdm/jsbsim/aero/coefficient/CLDe
     /fdm/jsbsim/moments/n-aero-lbsft
    /fdm/jsbsim/aero/coefficient/CLadot
    /fdm/jsbsim/aero/coefficient/CLq
    /fdm/jsbsim/aero/coefficient/CDo
    /fdm/jsbsim/aero/coefficient/CDDf
    /fdm/jsbsim/aero/coefficient/CDwbh
    /fdm/jsbsim/aero/coefficient/CDDe
     /fdm/jsbsim/aero/coefficient/CDbeta
    /fdm/jsbsim/aero/coefficient/CYb
     /fdm/jsbsim/aero/coefficient/CYda
    /fdm/jsbsim/aero/coefficient/CYdr
    /fdm/jsbsim/aero/coefficient/CYp
    /fdm/jsbsim/aero/coefficient/CYr
    /fdm/jsbsim/aero/coefficient/Clb
    /fdm/jsbsim/aero/coefficient/Clp
    /fdm/jsbsim/aero/coefficient/Clr
    /fdm/jsbsim/aero/coefficient/Clda
    /fdm/jsbsim/aero/coefficient/Cldr
    /fdm/jsbsim/aero/coefficient/Cmalpha
    /fdm/jsbsim/aero/coefficient/CmDf
    /fdm/jsbsim/aero/coefficient/Cmq
    /fdm/jsbsim/aero/coefficient/Cmadot
    /fdm/jsbsim/aero/coefficient/Cmo
    /fdm/jsbsim/aero/coefficient/Cmde
    /fdm/jsbsim/aero/coefficient/Cnb
    /fdm/jsbsim/aero/coefficient/Cnp
    /fdm/jsbsim/aero/coefficient/Cnr
    /fdm/jsbsim/aero/coefficient/Cnda
    /fdm/jsbsim/aero/coefficient/Cndr


Alpha of the wing in radians (includes the angle of incidence of the wing,
The lift coefficient squared:
if input):


     /fdm/jsbsim/aero/alpha-wing-rad
     /fdm/jsbsim/aero/cl-squared


Stall hysteresis, normalized:
Dynamic pressure times reference area:


     /fdm/jsbsim/aero/stall-hyst-norm
     /fdm/jsbsim/aero/qbar-area


Angles of attack and sideslip in radians and degrees (and the magnitudes):
Angles of attack and sideslip in radians and degrees (and the magnitudes):
Line 104: Line 101:
     /fdm/jsbsim/aero/qbarUV-psf
     /fdm/jsbsim/aero/qbarUV-psf


Time rate of change in alpha and sideslip in deg/sec and rad/sec:
Chord:
 
    /fdm/jsbsim/metrics/cbarw-ft
 
Wingspan:
 
    /fdm/jsbsim/metrics/bw-ft
 
Wingarea:
 
    /fdm/jsbsim/metrics/Sw-sqft
 
=== Stall hysteresis, normalized: ===
 
    /fdm/jsbsim/aero/stall-hyst-norm
 
dany93 wrote on the forums about this:
 
What I have understood at this point:
By setting, say
       
        <hysteresis_limits unit="DEG">
            <min>5.0</min>
            <max>17</max>
        </hysteresis_limits>
 
17 deg is typically the stall angle for a wing.
 
stall-hyst-norm, normally at 0 ('good condition'), switches to 1 ('bad condition') at 17 deg alpha-deg (or corresponding alpha-rad value, different from alpha-wing-rad if wing incidence is not zero).
Later on, it returns back to 0 only when alpha-deg comes down to 5 deg (that is with some 'delay'). Close to the usual hysteresis behavior (usually, iron magnetization vs magnetic field, with magnetic field h corresponding to alpha angle for us), but the 'delay' (the return alpha value) is always 5 deg, not dependent on the max value attained by the variable alpha. A kind of 'rectangular' hysteresis loop, more simple but already good for aerodynamics (linear or turbulent) regimes.
 
This stall-hyst-norm (0 or 1 values) can then be used as a parameter for tables, to set some command sensitivity, lift coefficient, moment, etc, to hold longer in it's 'bad' condition even when the cause has ceased. Stall holds for a longer time, like turbulent regime in the real case.
 
Logically, the <max> value is close to the critical AoA for stall, but the lift curve and stall-hyst-norm are used independently.
 
=== Time rate of change in alpha and sideslip in deg/sec and rad/sec: ===


     /fdm/jsbsim/aero/alphadot-rad_sec
     /fdm/jsbsim/aero/alphadot-rad_sec
Line 111: Line 143:
     /fdm/jsbsim/aero/betadot-deg_sec
     /fdm/jsbsim/aero/betadot-deg_sec


Altitude of CG divided by wing span:
== Function outputs ==


    /fdm/jsbsim/aero/h_b-cg-ft
Runtime-created aerodynamic force and moment components from definitions in
the <aerodynamics> section of the configuration file (varies per-aircraft):


Altitude of MAC divided by wing span:


    /fdm/jsbsim/aero/h_b-mac-ft
Alan wrote about lift:


Aerodynamic rotational rates in rad/sec (includes wind effects, if any):
Lift = qbar-psf x Sw-sqft x CL


    /fdm/jsbsim/velocities/p-aero-rad_sec
Lift is a force, CL is the non-dimensional coefficient of lift, qbar-psf x Sw-sqft is the dimensionalisation factor
    /fdm/jsbsim/velocities/q-aero-rad_sec
    /fdm/jsbsim/velocities/r-aero-rad_sec


Aerodynamic velocities in ft/sec (includes wind effects, if any):
It is common practice to build up the lift force from several sources.


    /fdm/jsbsim/velocities/u-aero-fps
e.g., for the Lift Axis
    /fdm/jsbsim/velocities/v-aero-fps
    /fdm/jsbsim/velocities/w-aero-fps


The body axis aerodynamic force vector of the aircraft in lbs:
Lift = qbar-psf x Sw-sqft x (CLwing +CLtail +CLelevator +CLfuselage +... +...)


    /fdm/jsbsim/forces/fbx-aero-lbs
here the various lift coefficients are summed before being dimensionalised.
    /fdm/jsbsim/forces/fby-aero-lbs
    /fdm/jsbsim/forces/fbz-aero-lbs


The stability axis aerodynamic force vector of the aircraft in lbs:
or you can also write


    /fdm/jsbsim/forces/fwx-aero-lbs
Lift(wing) = qbar-psf x Sw-sqft x CLwing
    /fdm/jsbsim/forces/fwy-aero-lbs
Lift(tail) = qbar-psf x Sw-sqft x CLtail
    /fdm/jsbsim/forces/fwz-aero-lbs
Lift(fuselage) = qbar-psf x Sw-sqft x CLfuselage
....
Lift(total) = Lift(wing)+Lift(tail)+Lift(fuselage) +.... +...


The body axis aerodynamic moment vector of the aircraft in ft-lbs:
here the various lift coefficients are separately dimensionalised to produce a set of forces. These forces are then added to produce the total lift force.


    /fdm/jsbsim/moments/l-aero-lbsft
You can write CLwing = CLo + Alpha* dCL/Alpha, or alternatively use a table to generate CL as a function of alpha, Mach no etc.
    /fdm/jsbsim/moments/m-aero-lbsft
    /fdm/jsbsim/moments/n-aero-lbsft


The lift coefficient squared:
It is not necessary to slavishly follow the examples in the JSBSim reference manual, or copy other Flightgear examples. It is best to follow the conventions that apply to the data you have available.


    /fdm/jsbsim/aero/cl-squared
JSBsim allows you to specify these equations in any way that suits you, or suits the data that is available.


Dynamic pressure times reference area:
One thing to be careful about is not including a component twice. e.g. the CL that you are given may already include the tail and fuselage effects, and this case they should not be added in again.


    /fdm/jsbsim/aero/qbar-area
{{JSBSim}}

Latest revision as of 20:07, 30 December 2018

Properties aerodynamic functions in JSBSim can read and output.

Function inputs

Location of the aerodynamic reference point in the aircraft structural frame, measured in inches:

   /fdm/jsbsim/metrics/aero-rp-x-in
   /fdm/jsbsim/metrics/aero-rp-y-in
   /fdm/jsbsim/metrics/aero-rp-z-in

Maximum and minimum alpha (angle of attack) in degrees:

   /fdm/jsbsim/aero/alpha-max-deg
   /fdm/jsbsim/aero/alpha-min-deg

Wing span/(2*Velocity)

   /fdm/jsbsim/aero/bi2vel

Wing chord/(2*Velocity)

   /fdm/jsbsim/aero/ci2vel

Alpha of the wing in radians (includes the angle of incidence of the wing, if input):

   /fdm/jsbsim/aero/alpha-wing-rad

Altitude of CG divided by wing span:

   /fdm/jsbsim/aero/h_b-cg-ft

Altitude of MAC (Mean aerodynamic chord) divided by wing span:

   /fdm/jsbsim/aero/h_b-mac-ft

Aerodynamic rotational rates in rad/sec (does not include wind effects):

   /fdm/jsbsim/velocities/p-rad_sec  (roll)
   /fdm/jsbsim/velocities/q-rad_sec  (pitch)
   /fdm/jsbsim/velocities/r-rad_sec  (yaw)

Aerodynamic rotational rates in rad/sec (includes wind effects, if any):

   /fdm/jsbsim/velocities/p-aero-rad_sec
   /fdm/jsbsim/velocities/q-aero-rad_sec
   /fdm/jsbsim/velocities/r-aero-rad_sec

Aerodynamic velocities (nose, right, below) in ft/sec (includes wind effects, if any):

   /fdm/jsbsim/velocities/u-aero-fps
   /fdm/jsbsim/velocities/v-aero-fps
   /fdm/jsbsim/velocities/w-aero-fps

The body axis aerodynamic force vector of the aircraft in lbs:

   /fdm/jsbsim/forces/fbx-aero-lbs
   /fdm/jsbsim/forces/fby-aero-lbs
   /fdm/jsbsim/forces/fbz-aero-lbs

The stability axis aerodynamic force vector of the aircraft in lbs:

   /fdm/jsbsim/forces/fwx-aero-lbs
   /fdm/jsbsim/forces/fwy-aero-lbs
   /fdm/jsbsim/forces/fwz-aero-lbs

The body axis aerodynamic moment vector of the aircraft in ft-lbs:

   /fdm/jsbsim/moments/l-aero-lbsft
   /fdm/jsbsim/moments/m-aero-lbsft
   /fdm/jsbsim/moments/n-aero-lbsft

The lift coefficient squared:

   /fdm/jsbsim/aero/cl-squared

Dynamic pressure times reference area:

   /fdm/jsbsim/aero/qbar-area

Angles of attack and sideslip in radians and degrees (and the magnitudes):

   /fdm/jsbsim/aero/alpha-rad
   /fdm/jsbsim/aero/beta-rad
   /fdm/jsbsim/aero/mag-beta-rad
   /fdm/jsbsim/aero/alpha-deg
   /fdm/jsbsim/aero/beta-deg
   /fdm/jsbsim/aero/mag-beta-deg

Dynamic pressure in psf:

   /fdm/jsbsim/aero/qbar-psf

Dynamic pressure in the body axis XZ plane:

   /fdm/jsbsim/aero/qbarUW-psf

Dynamic pressure in the body axis XY plane:

   /fdm/jsbsim/aero/qbarUV-psf

Chord:

   /fdm/jsbsim/metrics/cbarw-ft

Wingspan:

   /fdm/jsbsim/metrics/bw-ft

Wingarea:

   /fdm/jsbsim/metrics/Sw-sqft

Stall hysteresis, normalized:

   /fdm/jsbsim/aero/stall-hyst-norm

dany93 wrote on the forums about this:

What I have understood at this point: By setting, say

       <hysteresis_limits unit="DEG">
           <min>5.0</min>
           <max>17</max>
       </hysteresis_limits>

17 deg is typically the stall angle for a wing.

stall-hyst-norm, normally at 0 ('good condition'), switches to 1 ('bad condition') at 17 deg alpha-deg (or corresponding alpha-rad value, different from alpha-wing-rad if wing incidence is not zero). Later on, it returns back to 0 only when alpha-deg comes down to 5 deg (that is with some 'delay'). Close to the usual hysteresis behavior (usually, iron magnetization vs magnetic field, with magnetic field h corresponding to alpha angle for us), but the 'delay' (the return alpha value) is always 5 deg, not dependent on the max value attained by the variable alpha. A kind of 'rectangular' hysteresis loop, more simple but already good for aerodynamics (linear or turbulent) regimes.

This stall-hyst-norm (0 or 1 values) can then be used as a parameter for tables, to set some command sensitivity, lift coefficient, moment, etc, to hold longer in it's 'bad' condition even when the cause has ceased. Stall holds for a longer time, like turbulent regime in the real case.

Logically, the <max> value is close to the critical AoA for stall, but the lift curve and stall-hyst-norm are used independently.

Time rate of change in alpha and sideslip in deg/sec and rad/sec:

   /fdm/jsbsim/aero/alphadot-rad_sec
   /fdm/jsbsim/aero/betadot-rad_sec
   /fdm/jsbsim/aero/alphadot-deg_sec
   /fdm/jsbsim/aero/betadot-deg_sec

Function outputs

Runtime-created aerodynamic force and moment components from definitions in the <aerodynamics> section of the configuration file (varies per-aircraft):


Alan wrote about lift:

Lift = qbar-psf x Sw-sqft x CL

Lift is a force, CL is the non-dimensional coefficient of lift, qbar-psf x Sw-sqft is the dimensionalisation factor

It is common practice to build up the lift force from several sources.

e.g., for the Lift Axis

Lift = qbar-psf x Sw-sqft x (CLwing +CLtail +CLelevator +CLfuselage +... +...)

here the various lift coefficients are summed before being dimensionalised.

or you can also write

Lift(wing) = qbar-psf x Sw-sqft x CLwing Lift(tail) = qbar-psf x Sw-sqft x CLtail Lift(fuselage) = qbar-psf x Sw-sqft x CLfuselage .... Lift(total) = Lift(wing)+Lift(tail)+Lift(fuselage) +.... +...

here the various lift coefficients are separately dimensionalised to produce a set of forces. These forces are then added to produce the total lift force.

You can write CLwing = CLo + Alpha* dCL/Alpha, or alternatively use a table to generate CL as a function of alpha, Mach no etc.

It is not necessary to slavishly follow the examples in the JSBSim reference manual, or copy other Flightgear examples. It is best to follow the conventions that apply to the data you have available.

JSBsim allows you to specify these equations in any way that suits you, or suits the data that is available.

One thing to be careful about is not including a component twice. e.g. the CL that you are given may already include the tail and fuselage effects, and this case they should not be added in again.