Difference between revisions of "Aero.dat"

From Silent Wings Wiki
Jump to: navigation, search
(New page: The aero.dat configuration file describes the aerodynamic properties of the flight model. The Silent Wings aerodynamic model works with a "panel model" that describes the geometrical ...)
 
Line 1: Line 1:
 
The aero.dat configuration file describes the aerodynamic properties of the flight model.  
 
The aero.dat configuration file describes the aerodynamic properties of the flight model.  
 
   
 
   
The Silent Wings aerodynamic model works with a "panel model" that describes the geometrical  
+
The Silent Wings aerodynamic model works with a "panel model" that describes the geometrical design of the aircraft that is to be simulated. By (manually!) dividing an aircraft into segments, or "panels", the flight dynamics code can calculate the forces that act on the aircraft and let it fly.
design of the aircraft that is to be simulated. By (manually!) dividing an aircraft into  
+
 
segments, or "panels", the flight dynamics code can calculate the forces that act  
+
The panel model works with two different panels: wingpanels and fuselage panels. The Wing panels are used to describe the wings and fins on the aircraft. Every wing panel needs an airfoil to do the aerodynamic definition, so these airfoils need to be defined as well.
on the aircraft and let it fly.  
+
 
 +
The airfoils can be shared between panels of the same wing, and are therefor defined before the wing panels. You must define one airfoil for each wing (or fin), also when they all would use the same airfoil, because the airfoil is defined with 3-dimensional properties (aspect ratio of wing, etc).  
 
   
 
   
The panel model works with two different panels: wingpanels and fuselage panels. The Wing panels are used to describe the wings and fins on the aircraft. Every wing panel needs an
+
You may, however, use several airfoils for a single wing, if desired.  
airfoil to do the aerodynamic definition, so these airfoils need to be defined as well.  
 
 
   
 
   
The airfoils can be shared between panels of the same wing, and are therefor defined
+
Airfoils:
before the wing panels. You must define one airfoil for each wing (or fin),
 
also when they all would use the same airfoil, because the airfoil is defined with
 
3-dimensional properties (aspect ratio of wing, etc).
 
 
   
 
   
You may, however, use several airfoils for a single wing, if desired.
+
An airfoil is defined like this:
 
   
 
   
  Airfoils:
+
  airfoil  
+
  {  
An airfoil is defined like this:
+
    name = xxx  
+
    profile = xx  
  airfoil {  
+
    ...  
name = xxx  
 
profile = xx  
 
...  
 
 
  }  
 
  }  
+
 
The variables to be defined are:  
+
The variables to be defined are:  
 
   
 
   
 
  name = <string>  
 
  name = <string>  
The name of the airfoil. This can be called whatever you like, and is the name to be used in the wing panels.  
+
 
 +
The name of the airfoil. This can be called whatever you like, and is the name to be used in the wing panels.  
 
   
 
   
 
  profile = <filename> (but without .cd/.cl/.cm extension!)  
 
  profile = <filename> (but without .cd/.cl/.cm extension!)  
The airfoil polar fileset to use. These files are found in the airfoils directory.  
+
 
There are 3 files for one airfoil, defining lift (.cl), drag (.cd) and pitch moment  
+
The airfoil polar fileset to use. These files are found in the airfoils directory. There are 3 files for one airfoil, defining lift (.cl), drag (.cd) and pitch moment (.cm), that all have the same name.  
(.cm), that all have the same name.  
 
 
   
 
   
 
  k = <float>  
 
  k = <float>  
The "k" factor defines the induced drag finesse of the wing. A setting of 1.0 gives  
+
 
the optimum, planar wing with elliptical lift distribution. So any other planar  
+
The "k" factor defines the induced drag finesse of the wing. A setting of 1.0 gives the optimum, planar wing with elliptical lift distribution. So any other planar wing will have a value higher than 1.0.  
wing will have a value higher than 1.0.  
 
 
   
 
   
Wings with winglets may get values lower than 1.0. The best wings currently available  
+
Wings with winglets may get values lower than 1.0. The best wings currently available (Antares) have a k factor of 0.95.  
(Antares) have a k factor of 0.95.  
 
 
   
 
   
 
  aspectratio = <float>  
 
  aspectratio = <float>  
The aspect ratio of the wing that will use this airfoil.  
+
 
 +
The aspect ratio of the wing that will use this airfoil.  
 
   
 
   
 
  meanchord = <float>  
 
  meanchord = <float>  
the mean chord of the wing that will use this airfoil  
+
 
 +
The mean chord of the wing that will use this airfoil  
 
   
 
   
 
  cl_adjust = <float>  
 
  cl_adjust = <float>  
  This factor can be used to fine-tune the lift curve. The variable is multiplied with  
+
   
the lift from the lift polar. Leave this to 1.0 when you start up, and use it  
+
This factor can be used to fine-tune the lift curve. The variable is multiplied with the lift from the lift polar. Leave this to 1.0 when you start up, and use it as a last resort when fine tuning your model.  
as a last resort when fine tuning your model.  
 
 
   
 
   
 
  cd_adjust = <float>  
 
  cd_adjust = <float>  
This factor can be used to fine-tune the drag curve. The variable is added to the  
+
 
drag polar. Use with caution.  
+
This factor can be used to fine-tune the drag curve. The variable is added to the drag polar. Use with caution.  
 
   
 
   
Wing panel:  
+
Wing panel:  
 
   
 
   
A wingpanel is defined with "wingpanel" followed by brackets containing the wing panel  
+
A wingpanel is defined with "wingpanel" followed by brackets containing the wing panel variables, one variable per line.  
variables, one variable per line.  
 
 
   
 
   
  wingpanel {  
+
  wingpanel  
name = xxx  
+
{  
area = xxx  
+
    name = xxx  
...  
+
    area = xxx  
 +
    ...  
 
  }  
 
  }  
 
   
 
   
A wing can be defined with one or several panels. For elevator and rudder surfaces, one  
+
A wing can be defined with one or several panels. For elevator and rudder surfaces, one panel is mostly sufficient. A main wing should have at least 4 panels in total (two left, two right).  
panel is mostly sufficient. A main wing should have at least 4 panels in total (two left,  
 
two right).  
 
 
   
 
   
When not defined, variables default to zero. That means, if certain things are not to  
+
When not defined, variables default to zero. That means, if certain things are not to be used on the wing panel (such as a spoiler), the variables do not have to be set.  
be used on the wing panel (such as a spoiler), the variables do not have to be set.  
 
 
   
 
   
Please see the example illustration of the Ventus aero model to get a picture of  
+
Please see the example illustration of the Ventus aero model to get a picture of how the panels are defined.  
how the panels are defined.  
 
 
   
 
   
Variable descriptions:  
+
Variable descriptions:  
 
   
 
   
General data:  
+
General data:  
 
   
 
   
  name  
+
  name = <text string>
Wing panel name  
+
 
 +
Wing panel name  
 
   
 
   
 
  airfoil = <text string>  
 
  airfoil = <text string>  
The airfoil to use. The name to use is the same as defined in one of the airfoil sections.  
+
 
 +
The airfoil to use. The name to use is the same as defined in one of the airfoil sections.  
 
   
 
   
 
  position = [ x.x y.y z.z ]  
 
  position = [ x.x y.y z.z ]  
The panel position coordinate. See the illustration on how to define this point.  
+
 
 +
The panel position coordinate. See the illustration on how to define this point.  
 
   
 
   
 
  area = <float>  
 
  area = <float>  
Wing panel area  
+
 
 +
Wing panel area  
 
   
 
   
 
  meanchord = <float>  
 
  meanchord = <float>  
The mean chord of the wing panel (not the wing!)  
+
 
 +
The mean chord of the wing panel (not the wing!)  
 
   
 
   
 
  alpha = <float>  
 
  alpha = <float>  
The panel's angle of incident.  
+
 
 +
The panel's angle of incident.  
 
   
 
   
 
  dihedral = <float>  
 
  dihedral = <float>  
The panel's dihedral angle.  
+
 
 +
The panel's dihedral angle.  
 
   
 
   
 
  sweep = <float>  
 
  sweep = <float>  
The panel's sweep angle.  
+
 
 +
The panel's sweep angle.  
 
   
 
   
 
  propwash = 0.0 to 1.0  
 
  propwash = 0.0 to 1.0  
If the panel is positioned behind a propeller, you can set this value higher than 0.0  
+
 
to have a propwash effect on the panel. This will for example allow for rudder and  
+
If the panel is positioned behind a propeller, you can set this value higher than 0.0 to have a propwash effect on the panel. This will for example allow for rudder and elevator authority when standing still on the Antares model.  
elevator authority when standing still on the Antares model.  
 
 
   
 
   
 
  Control surface variables: (can be left out if the panel has non controls)  
 
  Control surface variables: (can be left out if the panel has non controls)  
The control system of Silent Wings is quite flexible, and can handle more exotic designs like canards, v-tails and flying wings. You can add all the controllers to have an  
+
 
effect on every panel in different ways.  
+
The control system of Silent Wings is quite flexible, and can handle more exotic designs like canards, v-tails and flying wings. You can add all the controllers to have an effect on every panel in different ways.  
 
   
 
   
 
  delta_max = <float>  
 
  delta_max = <float>  
The flap's maximum (positive) deflection angle, in degrees.  
+
 
 +
The flap's maximum (positive) deflection angle, in degrees.  
 
   
 
   
 
  delta_min = <float>  
 
  delta_min = <float>  
The flap's minimum (negative) deflection angle, in degrees.  
+
 
 +
The flap's minimum (negative) deflection angle, in degrees.  
 
   
 
   
 
  delta_neutral = <float>  
 
  delta_neutral = <float>  
The flap's position when the controls are centered  
+
 
 +
The flap's position when the controls are centered  
 
   
 
   
 
  aileron_mix = -1.0 to 1.0  
 
  aileron_mix = -1.0 to 1.0  
The amount of aileron control that is to be applied to the flap. For the left wing,  
+
 
normally 1.0 is used, for the right wing -1.0. For less effect use smaller numbers. For  
+
The amount of aileron control that is to be applied to the flap. For the left wing, normally 1.0 is used, for the right wing -1.0. For less effect use smaller numbers. For no aileron control set to 0.0 or leave it out.  
no aileron control set to 0.0 or leave it out.  
 
 
   
 
   
 
  aileron_delta = <float>  
 
  aileron_delta = <float>  
The maximum difference in deflection between the left and right aileron. For example,  
+
 
if with fully deflected ailerons the left one is at +10 and the right one at -10, this value  
+
The maximum difference in deflection between the left and right aileron. For example, if with fully deflected ailerons the left one is at +10 and the right one at -10, this value should be set to 20.0.  
should be set to 20.0.  
 
 
   
 
   
 
  aileron_diff = <float>  
 
  aileron_diff = <float>  
Aileron differential. This factor will define how much more the up-going (negative) aileron  
+
 
will go up compared with the down-going one (positive). The value 1.0 (default) means equal  
+
Aileron differential. This factor will define how much more the up-going (negative) aileron will go up compared with the down-going one (positive). The value 1.0 (default) means equal  deflection in both directions. A setting of 2.0 means the up-going aileron will do twice as much deflection as the down-going aileron. This is common on sailplanes as it reduces the adverse yaw effect of the ailerons.  
  deflection in both directions. A setting of 2.0 means the up-going aileron will do  
 
twice as much deflection as the down-going aileron. This is common on sailplanes as  
 
it reduces the adverse yaw effect of the ailerons.  
 
 
   
 
   
 
  flap_pos = <float>  
 
  flap_pos = <float>  
If the panel has flap control, set the most positive flap setting in degrees here.  
+
 
 +
If the panel has flap control, set the most positive flap setting in degrees here.  
 
   
 
   
 
  flap_neg = <float>  
 
  flap_neg = <float>  
If the panel has flap control, set the most negative flap position in degrees here.  
+
 
 +
If the panel has flap control, set the most negative flap position in degrees here.  
 
   
 
   
 
  elevator_mix = -1.0 to 1.0  
 
  elevator_mix = -1.0 to 1.0  
The amount of elevator control that is to be applied to the flap.  
+
 
 +
The amount of elevator control that is to be applied to the flap.  
 
   
 
   
 
  rudder_mix = -1.0 to 1.0  
 
  rudder_mix = -1.0 to 1.0  
The amount of rudder control that is to be applied to the flap.  
+
 
 +
The amount of rudder control that is to be applied to the flap.  
 
   
 
   
 
  throttle_mix = -1.0 to 1.0  
 
  throttle_mix = -1.0 to 1.0  
The amount of throttle control that is to be applied to the flap  
+
 
(this is rather uncommon, so it will mostly be left out. It can be used to  
+
The amount of throttle control that is to be applied to the flap (this is rather uncommon, so it will mostly be left out. It can be used to compensate or emulate some throttle effects)  
compensate or emulate some throttle effects)  
+
 
 
   
 
   
Spoiler/airbrake variables: (can be left out if the panel has no airbrake or spoiler)  
+
Spoiler/airbrake variables: (can be left out if the panel has no airbrake or spoiler)  
 
   
 
   
 
  brake_on = 0 or 1  
 
  brake_on = 0 or 1  
Set this variable to 1 to enable the spoiler/airbrake  
+
 
 +
Set this variable to 1 to enable the spoiler/airbrake  
 
   
 
   
  brake_surface = <float>  
+
  brake_surface = <float>
The surface frontal surface of the fully extended brake.  
+
 
 +
The surface frontal surface of the fully extended brake.  
 
   
 
   
 
  brake_liftdest = <float>  
 
  brake_liftdest = <float>  
The amount of lift coefficient reduction with a fully extended brake.  
+
 
This is normally around 1.0, but must be experimented with.  
+
The amount of lift coefficient reduction with a fully extended brake. This is normally around 1.0, but must be experimented with.  
 
   
 
   
 
  brake_cd = <float>  
 
  brake_cd = <float>  
The drag coefficient of the fully extended brake.  
+
 
 +
The drag coefficient of the fully extended brake.  
 
   
 
   
 
  brake_superp = 0 or 1  
 
  brake_superp = 0 or 1  
Setting this to 1 enables superpositional mode. With this a brake can be added upon a wing  
+
 
and will have an effect on the lift and drag from the other wing panels only when the  
+
Setting this to 1 enables superpositional mode. With this a brake can be added upon a wing and will have an effect on the lift and drag from the other wing panels only when the brake controller is on. When set to zero the wing panel is just a normal wing panel, that also has an airbrake/spoiler attached. Which to use depends on how the panelling of the wing is chosen.  
brake controller is on. When set to zero the wing panel is just a normal wing panel,  
 
that also has an airbrake/spoiler attached. Which to use depends on how the panelling  
 
of the wing is chosen.  
 
 
   
 
   
Fuselage panel:  
+
Fuselage panel:  
 
   
 
   
The fuselae panel is a model of an aircraft fuselage. Its largest effect is to add  
+
The fuselage panel is a model of an aircraft fuselage. Its largest effect is to add drag to the aero model.  
drag to the aero model.  
 
 
   
 
   
It is defined as  
+
It is defined as  
 
   
 
   
  fuselage {  
+
  fuselage  
name = xxx  
+
{  
position = xxx  
+
    name = xxx  
...  
+
    position = xxx  
 +
    ...  
 
  }  
 
  }  
 
   
 
   
Variable description:  
+
Variable description:  
 
   
 
   
 
  name = <string>  
 
  name = <string>  
Panel name  
+
 
 +
Panel name  
 
   
 
   
 
  position = [ x.x y.y z.z ]  
 
  position = [ x.x y.y z.z ]  
The panel position. This is the position where the drag force is applied, and does  
+
 
influence flight mechanics of your model, especially in spins. Start out by positioning this near to your model's centre of gravity.  
+
The panel position. This is the position where the drag force is applied, and does influence flight mechanics of your model, especially in spins. Start out by positioning this near to your model's centre of gravity.  
 
   
 
   
 
  ref_area = <float>  
 
  ref_area = <float>  
Reference frontal area of the fuselage  
+
 
 +
Reference frontal area of the fuselage  
 
   
 
   
 
  ref_volume = <float>  
 
  ref_volume = <float>  
Reference volume of the fuselage. In most cases, this can be set to 1.0.  
+
 
 +
Reference volume of the fuselage. In most cases, this can be set to 1.0.  
 
   
 
   
 
  cd_front = frontal_drag_filenamename (but without the .cd extension)  
 
  cd_front = frontal_drag_filenamename (but without the .cd extension)  
The frontal drag is defined in a name.cd file that is placed in the airfoils directory.  
+
 
Use this file to finetune your model's glide polar.  
+
The frontal drag is defined in a name.cd file that is placed in the airfoils directory. Use this file to finetune your model's glide polar.  
 
   
 
   
 
  cd_side = <float>  
 
  cd_side = <float>  
Sidewards drag coefficient  
+
 
 +
Sidewards drag coefficient  
 
   
 
   
 
  cd_top = <float>  
 
  cd_top = <float>  
Top/bottom drag coefficient  
+
 
 +
Top/bottom drag coefficient  
 
   
 
   
 
  k_y = 0.0 to 1.0  
 
  k_y = 0.0 to 1.0  
 
  k_z = 0.0 to 1.0  
 
  k_z = 0.0 to 1.0  
 
   
 
   
These two factors set the magnitude of instability of the fuselage. Try something like  
+
These two factors set the magnitude of instability of the fuselage. Try something like 0.1 first. A larger value means more instability.  
0.1 first. A larger value means more instability.  
 
 
   
 
   
 
  alpha_fuselage = <float>  
 
  alpha_fuselage = <float>  
The fuselage's angle of incidence. Normally 0.0.  
+
 
 +
The fuselage's angle of incidence. Normally 0.0.  
 
   
 
   
 
  cd_landinggear = <float>  
 
  cd_landinggear = <float>  
The drag of an extended landing gear.
+
 
 +
The drag of an extended landing gear.

Revision as of 21:55, 5 March 2007

The aero.dat configuration file describes the aerodynamic properties of the flight model.

The Silent Wings aerodynamic model works with a "panel model" that describes the geometrical design of the aircraft that is to be simulated. By (manually!) dividing an aircraft into segments, or "panels", the flight dynamics code can calculate the forces that act on the aircraft and let it fly.

The panel model works with two different panels: wingpanels and fuselage panels. The Wing panels are used to describe the wings and fins on the aircraft. Every wing panel needs an airfoil to do the aerodynamic definition, so these airfoils need to be defined as well.

The airfoils can be shared between panels of the same wing, and are therefor defined before the wing panels. You must define one airfoil for each wing (or fin), also when they all would use the same airfoil, because the airfoil is defined with 3-dimensional properties (aspect ratio of wing, etc).

You may, however, use several airfoils for a single wing, if desired.

Airfoils:

An airfoil is defined like this:

airfoil 
{ 
   name = xxx 
   profile = xx 
   ... 
} 

The variables to be defined are:

name = <string> 

The name of the airfoil. This can be called whatever you like, and is the name to be used in the wing panels.

profile = <filename> (but without .cd/.cl/.cm extension!) 

The airfoil polar fileset to use. These files are found in the airfoils directory. There are 3 files for one airfoil, defining lift (.cl), drag (.cd) and pitch moment (.cm), that all have the same name.

k = <float> 

The "k" factor defines the induced drag finesse of the wing. A setting of 1.0 gives the optimum, planar wing with elliptical lift distribution. So any other planar wing will have a value higher than 1.0.

Wings with winglets may get values lower than 1.0. The best wings currently available (Antares) have a k factor of 0.95.

aspectratio = <float> 

The aspect ratio of the wing that will use this airfoil.

meanchord = <float> 

The mean chord of the wing that will use this airfoil

cl_adjust = <float> 

This factor can be used to fine-tune the lift curve. The variable is multiplied with the lift from the lift polar. Leave this to 1.0 when you start up, and use it as a last resort when fine tuning your model.

cd_adjust = <float> 

This factor can be used to fine-tune the drag curve. The variable is added to the drag polar. Use with caution.

Wing panel:

A wingpanel is defined with "wingpanel" followed by brackets containing the wing panel variables, one variable per line.

wingpanel 
{ 
   name = xxx 
   area = xxx 
   ... 
} 

A wing can be defined with one or several panels. For elevator and rudder surfaces, one panel is mostly sufficient. A main wing should have at least 4 panels in total (two left, two right).

When not defined, variables default to zero. That means, if certain things are not to be used on the wing panel (such as a spoiler), the variables do not have to be set.

Please see the example illustration of the Ventus aero model to get a picture of how the panels are defined.

Variable descriptions:

General data:

name = <text string>

Wing panel name

airfoil = <text string> 

The airfoil to use. The name to use is the same as defined in one of the airfoil sections.

position = [ x.x y.y z.z ] 

The panel position coordinate. See the illustration on how to define this point.

area = <float> 

Wing panel area

meanchord = <float> 

The mean chord of the wing panel (not the wing!)

alpha = <float> 

The panel's angle of incident.

dihedral = <float> 

The panel's dihedral angle.

sweep = <float> 

The panel's sweep angle.

propwash = 0.0 to 1.0 

If the panel is positioned behind a propeller, you can set this value higher than 0.0 to have a propwash effect on the panel. This will for example allow for rudder and elevator authority when standing still on the Antares model.

Control surface variables: (can be left out if the panel has non controls) 

The control system of Silent Wings is quite flexible, and can handle more exotic designs like canards, v-tails and flying wings. You can add all the controllers to have an effect on every panel in different ways.

delta_max = <float> 

The flap's maximum (positive) deflection angle, in degrees.

delta_min = <float> 

The flap's minimum (negative) deflection angle, in degrees.

delta_neutral = <float> 

The flap's position when the controls are centered

aileron_mix = -1.0 to 1.0 

The amount of aileron control that is to be applied to the flap. For the left wing, normally 1.0 is used, for the right wing -1.0. For less effect use smaller numbers. For no aileron control set to 0.0 or leave it out.

aileron_delta = <float> 

The maximum difference in deflection between the left and right aileron. For example, if with fully deflected ailerons the left one is at +10 and the right one at -10, this value should be set to 20.0.

aileron_diff = <float> 

Aileron differential. This factor will define how much more the up-going (negative) aileron will go up compared with the down-going one (positive). The value 1.0 (default) means equal deflection in both directions. A setting of 2.0 means the up-going aileron will do twice as much deflection as the down-going aileron. This is common on sailplanes as it reduces the adverse yaw effect of the ailerons.

flap_pos = <float> 

If the panel has flap control, set the most positive flap setting in degrees here.

flap_neg = <float> 

If the panel has flap control, set the most negative flap position in degrees here.

elevator_mix = -1.0 to 1.0 

The amount of elevator control that is to be applied to the flap.

rudder_mix = -1.0 to 1.0 

The amount of rudder control that is to be applied to the flap.

throttle_mix = -1.0 to 1.0 

The amount of throttle control that is to be applied to the flap (this is rather uncommon, so it will mostly be left out. It can be used to compensate or emulate some throttle effects)


Spoiler/airbrake variables: (can be left out if the panel has no airbrake or spoiler)

brake_on = 0 or 1 

Set this variable to 1 to enable the spoiler/airbrake

brake_surface = <float>

The surface frontal surface of the fully extended brake.

brake_liftdest = <float> 

The amount of lift coefficient reduction with a fully extended brake. This is normally around 1.0, but must be experimented with.

brake_cd = <float> 

The drag coefficient of the fully extended brake.

brake_superp = 0 or 1 

Setting this to 1 enables superpositional mode. With this a brake can be added upon a wing and will have an effect on the lift and drag from the other wing panels only when the brake controller is on. When set to zero the wing panel is just a normal wing panel, that also has an airbrake/spoiler attached. Which to use depends on how the panelling of the wing is chosen.

Fuselage panel:

The fuselage panel is a model of an aircraft fuselage. Its largest effect is to add drag to the aero model.

It is defined as

fuselage 
{ 
   name = xxx 
   position = xxx 
   ... 
} 

Variable description:

name = <string> 

Panel name

position = [ x.x y.y z.z ] 

The panel position. This is the position where the drag force is applied, and does influence flight mechanics of your model, especially in spins. Start out by positioning this near to your model's centre of gravity.

ref_area = <float> 

Reference frontal area of the fuselage

ref_volume = <float> 

Reference volume of the fuselage. In most cases, this can be set to 1.0.

cd_front = frontal_drag_filenamename (but without the .cd extension) 

The frontal drag is defined in a name.cd file that is placed in the airfoils directory. Use this file to finetune your model's glide polar.

cd_side = <float> 

Sidewards drag coefficient

cd_top = <float> 

Top/bottom drag coefficient

k_y = 0.0 to 1.0 
k_z = 0.0 to 1.0 

These two factors set the magnitude of instability of the fuselage. Try something like 0.1 first. A larger value means more instability.

alpha_fuselage = <float> 

The fuselage's angle of incidence. Normally 0.0.

cd_landinggear = <float> 

The drag of an extended landing gear.