Board index FlightGear Development Aircraft

FIAT G91-R (Gina) - JSBSim

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Re: FIAT G91-R (Gina) - JSBSim

Postby Johan G » Thu Jul 30, 2015 12:07 pm

I have now moderated this topic extensively.

  • Some of the off topic posts regarding Helijah's version have been split off to the new topic, Fiat G.91 - YASim.
  • Most of the recent posts unfortunately have been mostly or entirely insults, personal attacks and/or non-constructive criticism, or people asking for it to stop. All those as well as a few off topic posts have been removed.

A few things to consider when working with other people, in particular since there is some cultural and language barriers:

  • It is quite ok to argue facts, but arguing personalities is not.
  • Constructively criticizing someones work, in essence suggesting improvements are completely acceptable, in particular if is more about "how" than "what". Dismissal or belittling someones work at the other hand is a bad thing to do.
  • Bringing up old disagreements and conflicts is universally a bad idea, that never lead to anything good. Do not do that. Just don't.
In short, adhere to the "Golden Rule" and treat other as you would like to be treated yourself. Assume good faith when it first seem other do not adhere to it. Harsh words do not still a fight.


I will briefly sum up the things mentioned, omitting insults and other inappropriate content.

While this project seemed slumbering for some while, someone on Helijah's forum had asked for a Fiat G91, something that Helijah happily made. Contrary to what some have inferred, Helijah have mentioned both here and in older topics that his aircraft always are to be considered as works in progress. He prefer to have something released that other can build upon rather than going for perfection early on. Some of his aircraft also have gotten submissions from other. While this aircraft will have a JSBSim FDM, Helija's aircraft have a YASim one.

In the mean time abassign had gotten help from cobe571 with the 3D modeling. In contrast to Helijah, cobe571 have gone for a detailed 3D model that should more closely follow the real aircraft.
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 5535
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 3.0.0
OS: Windows 7, 32 bit

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Sat Aug 08, 2015 5:21 pm

Currently I have finished the fuel management system, the result is very nice, because it following, faithfully real the scheme of operation of the aircraft.
Image

To make my first program jsbsim I used this link:
http://wiki.flightgear.org/Howto:Write_a_fuel_system_in_JSBSim

The information is not accurate, or better if you use the code as written does not work! ... I had to search for other information and I discovered that jsbsim is little documented.
Fortunately jsbsim is a simulation system that has working methods familiar to me for my work and then after a few hours of analysis I've found one working solution.
My idea was to have a system of fuel management which simulates well the changes in the coefficient of inertia of the aircraft. I think it's important for a simulated flight feeling the effect of modification of the inertia of and the center of gravity in relation to the consumption of fuel.
It was exciting for me to check that there are big problems with the wing tanks filled with 900 pounds of fuel because the G91 is a fairly light aircraft and the transported JP4 has a very important effect.

When we finish a sufficiently accurate version of the G91, we publish the code under GPL3, hoping it will be useful for other aircraft.

Now the problem is to find accurate aerodynamic data, unfortunately my research and various request made to pilots and technicians who have used the G91 has been very fruitful :(

At this point I will use to try to have FreeFOAM eun aerodynamic model accurate enough to start. I hope someone who knows the program (or other similar programs) can give me a hand. Obviously in the development environment OpenSource ;)
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

Re: FIAT G91-R (Gina) - JSBSim

Postby Alant » Sat Aug 08, 2015 6:22 pm

Start with Aeromatic.
Then do a Datcom model and replace the Aeromatic guesses with the Datcom ones.
A full CFD solution with a package such as OpenFoam is very complicated, (that is an understatement). , and requires very powerful computers unless you are prepared to wait weeks for each solution.
Open VSP http://www.openvsp.org/ seems promising, but I have yet to try it.
Lots of Google searches may dig up some useful papers including aero data.
As it is now a historic aircraft, Fiat archives may be helpful - but you will need to be able to speak aero stability and control to even understand what you should be looking for.
My recommendation is to proceed in the order that I have given my answer in, leaving out the OpenFoam method.

Alan
Alant
 
Posts: 914
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Sat Aug 08, 2015 7:01 pm

thank Alan :)

Code: Select all
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?>
<fdm_config name="G91R4" version="2.0" release="ALPHA"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">

  <fileheader>
    <author> Aeromatic v 0.95, Adriano Bassignana </author>
    <filecreationdate>2015-08-01</filecreationdate>
    <version>$Revision: 1.15 $</version>
    <description> Models a G91R4. </description>
  </fileheader>


I used "Aeromatic" it's very useful to have a model that can be used for the first flights :) I am currently doing the first test flights, but noticed many problems, the most obvious is the speed of 280 knots (519 km / h), while in reality the maximum speed is 580 (1,075 km / h). This means that "Aeromatic" overestimates, this type of aircraft, the drag coefficient :( !
Aeromatic I found really useful for setting the basic files, but can not "invent" things that do not give him, for example, the airfoil section of the fuselage, the wing type ... Unfortunately, a fundamental information as "Inertia (xx, yy, zz) "I have not found :( the office historic FIAT does not respond! While the historical office of the Italian Air Force (Vineyard Valley) has no technical information.
Will try again to use Aeromatic to make new tests, but I do not think I will have very good results.
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

Re: FIAT G91-R (Gina) - JSBSim

Postby Alant » Sat Aug 08, 2015 7:29 pm

Aeromatic does make inertia estimates based ypon the generic aircraft type., but there are obvious limits to that approach.

The most accurate method I have found is using a 3D model in a drawing package and specifying an average material density for the whole machine. A fully loaded and fuelled military fast jet fills just about every space with something. Such packages will calculate the volume and give you the weight and inertias of the complete assembly. The result, for my TSR2 WIP, was within a few percent of the manufacturer´s data.

I believe that Blender can give inertia data, so this may be of use to FG FDM writers.

Go ahead with a Datcom model,this will significantly improve your aero data - and it does take into account the airfoil and wing geometry.

Alan
Alant
 
Posts: 914
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: FIAT G91-R (Gina) - JSBSim

Postby Johan G » Sun Aug 09, 2015 12:35 am

abassign wrote in Sat Aug 08, 2015 5:21 pm:When we finish a sufficiently accurate version of the G91, we publish the code under GPL3, hoping it will be useful for other aircraft.

You might want to use GPLv2 instead or both. I think the GPLv3 may be a better license, but unfortunately a lot of the code and other stuff submitted to FlightGear is missing out the phrase "[GPLv2] or any later version" when referring to the license derivatives can be distributed with, making it very unlikely FlightGear will ever be released under anything but GPLv2. :roll:
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 5535
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 3.0.0
OS: Windows 7, 32 bit

Re: FIAT G91-R (Gina) - JSBSim

Postby daveculp » Sun Aug 09, 2015 6:17 am

abassign wrote in Sat Aug 08, 2015 7:01 pm:I used "Aeromatic" it's very useful to have a model that can be used for the first flights :) I am currently doing the first test flights, but noticed many problems, the most obvious is the speed of 280 knots (519 km / h), while in reality the maximum speed is 580 (1,075 km / h). This means that "Aeromatic" overestimates, this type of aircraft, the drag coefficient :( !



I just generated a G91 FDM and engine using Aeromatic, and I get 550 knots at sea level. Did you remember to raise the gear and flaps?

-- Dave
User avatar
daveculp
 
Posts: 503
Joined: Sun Feb 24, 2013 1:50 am
Location: Las Vegas, USA
Callsign: DCulp
Version: 2017.3.1
OS: Ubuntu 17.10

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Sun Aug 09, 2015 1:18 pm

@daveculp

I thank you for pointing out that you need to pull in the landing gear;) ...
As you can see now the performance is much better and at low altitude (6000 ft) The airplane flying at 515 kts :)
The aircraft in take-off, "eats" a lot of runway ... but this fact was known as the plane appeared underpowered as many planes of the time...
The after-burner will be mounted For model G91Y a decade later.

Image

At 30000 ft the speed is much lower... obviously ;) this time I have the landing gear retracted! In the images we can not see because I have not the final names of the landing gear and so I have no entered the movement.
devices.

Image

You can try the plane at 20,000 and 30,000 feet altitude?

This is my FDM data:

Code: Select all
Inputs:
    name:          unnamed
    type:          single-engine transonic/supersonic fighter
    max weight:    12127.5 lb
    wing span:     28.08 ft
    length:        33.76 ft
    wing area:     176.75 sq-ft
    gear type:     tricycle
    retractable?:  yes
    # engines:     1
    engine type:   turbine
    engine layout: aft fuselage
    yaw damper?    yes
  Outputs:
    wing loading:  68.61 lb/sq-ft
    payload:       3328.8 lbs
    CL-alpha:      3.5 per radian
    CL-0:          0.08
    CL-max:        1
    CD-0:          0.021
    K:             0.12


This is the engine data:

Code: Select all
    <engine file="ORPHEUS_MK_803">
      <location unit="M">
   <x>   8.33 </x>
   <y>   0.00 </y>
   <z>   0.00 </z>
      </location>
      <orient unit="DEG">
   <pitch> 0.00 </pitch>
   <roll>  0.00 </roll>
   <yaw>   0.00 </yaw>
      </orient>
      <feed>5</feed> <!-- The fuel keep from Collector or Manifold Tank number=5 -->
      <thruster file="direct">
   <location unit="M">
     <x>   9.50 </x>
     <y>   0.00 </y>
     <z>   0.00 </z>
   </location>
   <orient unit="DEG">
     <pitch> 0.00 </pitch>
     <roll>  0.00 </roll>
     <yaw>   0.00 </yaw>
   </orient>
      </thruster>
    </engine>


This is the engine file:

Code: Select all
<?xml version="1.0"?>
<!--
  File:     ORPHEUS_MK_803.xml
  Author:   Aero-Matic v 0.82

  Inputs:
    name:           ORPHEUS_MK_803
    type:           turbine
    thrust:         4999.552 lb
    augmented?      no
    injected?       no
-->

<turbine_engine name="ORPHEUS_MK_803">
  <milthrust>  4999.6 </milthrust>
  <bypassratio>     1.0 </bypassratio>
  <tsfc>            0.8 </tsfc>
  <bleed>           0.03</bleed>
  <idlen1>         30.0 </idlen1>
  <idlen2>         60.0 </idlen2>
  <maxn1>         100.0 </maxn1>
  <maxn2>         100.0 </maxn2>
  <augmented>         0 </augmented>
  <injected>          0 </injected>

  <function name="IdleThrust">
    <table>
      <independentVar lookup="row">velocities/mach</independentVar>
      <independentVar lookup="column">atmosphere/density-altitude</independentVar>
      <tableData>
     -10000     0     10000   20000   30000   40000   50000   60000
      0.0  0.0430  0.0488  0.0528  0.0694  0.0899  0.1183  0.1467  0
      0.2  0.0500  0.0501  0.0335  0.0544  0.0797  0.1049  0.1342  0
      0.4  0.0040  0.0047  0.0020  0.0272  0.0595  0.0891  0.1203  0
      0.6  0.0     0.0     0.0     0.0     0.0276  0.0718  0.1073  0
      0.8  0.0     0.0     0.0     0.0     0.0474  0.0868  0.0900  0
      1.0  0.0     0.0     0.0     0.0     0.0     0.0552  0.0800  0
      </tableData>
    </table>
  </function>

  <function name="MilThrust">
    <table>
      <independentVar lookup="row">velocities/mach</independentVar>
      <independentVar lookup="column">atmosphere/density-altitude</independentVar>
      <tableData>
       -10000       0   10000   20000   30000   40000   50000   60000
      0.0   1.2600  1.0000  0.7400  0.5340  0.3720  0.2410  0.1490  0
      0.2   1.1710  0.9340  0.6970  0.5060  0.3550  0.2310  0.1430  0
      0.4   1.1500  0.9210  0.6920  0.5060  0.3570  0.2330  0.1450  0
      0.6   1.1810  0.9510  0.7210  0.5320  0.3780  0.2480  0.1540  0
      0.8   1.2580  1.0200  0.7820  0.5820  0.4170  0.2750  0.1700  0
      1.0   1.3690  1.1200  0.8710  0.6510  0.4750  0.3150  0.1950  0
      1.2   1.4850  1.2300  0.9750  0.7440  0.5450  0.3640  0.2250  0
      1.4   1.5941  1.3400  1.0860  0.8450  0.6280  0.4240  0.2630  0
      </tableData>
    </table>
  </function>
</turbine_engine> 


This is the real diagram maximum level sped:

Image

Thank for all :)
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

Re: FIAT G91-R (Gina) - JSBSim

Postby daveculp » Sun Aug 09, 2015 7:47 pm

I'll be out of town for a few days, so won't be able to help with that for a while. I see the HUD has no mach display, so you'll have to shift-click on the velocities/mach property in the property to display it for testing.

It unusual for a jet airplane to be thrust limited. You normally reach some other limit first - like mach tuck, flutter, aileron buzz, canopy, etc. However the transonic fighters of this era might be thrust limited. For testing I recommend a clean airplane with about 1/2 or less fuel load.

The Aeromatic generated thrust table is a compromise between turbo fan and turbojet, so it should be giving you a bit less thrust at the higher mach numbers than it should. Tweaking the table is a pain. It's best to draw the curves on graph paper, then draw a slightly greater thrust rise with mach, then write the new values to a new thrust table.

If that doesn't get you the needed speed/mach then you'll have to tweak some drag values, one at a time. The drag to tweak will be either basic drag or wave drag. I don't think it'll take much to get what you need.
User avatar
daveculp
 
Posts: 503
Joined: Sun Feb 24, 2013 1:50 am
Location: Las Vegas, USA
Callsign: DCulp
Version: 2017.3.1
OS: Ubuntu 17.10

Re: FIAT G91-R (Gina) - JSBSim

Postby LesterBoffo » Mon Aug 10, 2015 6:15 pm

The aircraft in take-off, "eats" a lot of runway ... but this fact was known as the plane appeared underpowered as many planes of the time...
The after-burner will be mounted For model G91Y a decade later.


The FG MB329 also ate a lot of runway in roll out. Low thrust value second and 3rd generation jet engines that aren't high bypass turbofans are like this, the L-29 Delphin was also slow to accelerate. You want to see a really slow, long roll out the Yak-15 is a champion.
User avatar
LesterBoffo
 
Posts: 2105
Joined: Sun Oct 02, 2011 4:02 pm
Location: Western USA
Callsign: LesBof
Version: 2016.1
OS: WinXP 32 bit

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Tue Aug 11, 2015 12:19 am

Take Off from G91R4 Flight manual (10800 lb) ...
Image

Actually my takeoffs with the G91 are not very different as runway length, although I'd be able to analyze with more accuracy. There is a command of FGFs that allows to view the profile of the flight?
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

Re: FIAT G91-R (Gina) - JSBSim

Postby Johan G » Tue Aug 11, 2015 12:40 pm

abassign wrote in Tue Aug 11, 2015 12:19 am:Actually my takeoffs with the G91 are not very different as runway length, although I'd be able to analyze with more accuracy. There is a command of FGFs that allows to view the profile of the flight?

If you want to do it the semi-hard way you can add property logging that can be enabled and disabled through properties in "/logging/log[n]/enabled". The logs will be csv files. For the take off roll distance you could log time, position, altitude above ground and weight-on-wheels (wow). See the wiki article Logging properties (perm).

I think you can open the the csv file in QGIS to analyze the distances, as the positions are in latitude and longitude, though it seems there should be a better way. Possibly a nasal script calculating the horizontal distance from the initial position.
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 5535
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 3.0.0
OS: Windows 7, 32 bit

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Tue Aug 11, 2015 9:58 pm

I entered the Thrust data as Idle assuming the position of the throttle to 60% and the maximum thrust with the throttle to 100% (The G91R4 not have the afterburner)!
I did a test at 4000 ft and the top speed is now 540 to 560 knots equal to 0.84 Mach :) Great result, at that altitude was expected 0.85-0.86!
Aeromatic, if set properly, it seems to work really well, at least for aircraft in the category of the G91.

Code: Select all
<turbine_engine name="ORPHEUS_MK_803">
  <milthrust>  4999.6 </milthrust>
  <bypassratio>     1.0 </bypassratio>
  <tsfc>            0.8 </tsfc>
  <bleed>           0.03</bleed>
  <idlen1>         30.0 </idlen1>
  <idlen2>         60.0 </idlen2>
  <maxn1>         100.0 </maxn1>
  <maxn2>         100.0 </maxn2>
  <augmented>         0 </augmented>
  <injected>          0 </injected>
 
  <function name="IdleThrust">
    <table>
      <independentVar lookup="row">velocities/mach</independentVar>
      <independentVar lookup="column">atmosphere/density-altitude</independentVar>
      <tableData>
   0   10000   20000   30000   40000
   0   0.18   0.15   0   0   0
   0.1   0.17   0.13   0   0   0
   0.2   0.15   0.11   0.088   0.064   0
   0.3   0.12   0.084   0.076   0.056   0
   0.4   0.09   0.07   0.066   0.048   0.036
   0.5   0.05   0.054   0.054   0.04   0.028
   0.6   0   0.05   0.038   0.032   0.02
   0.7   0   0.01   0.02   0.024   0.016
   0.8   0   0   0.004   0.012   0.012
   0.9   0   0   0   0.004   0.008
   1   0   0   0   0   0.002
      </tableData>
    </table>
  </function>

  <function name="MilThrust">
    <table>
      <independentVar lookup="row">velocities/mach</independentVar>
      <independentVar lookup="column">atmosphere/density-altitude</independentVar>
      <tableData>
   0   10000   20000   30000   40000
   0   1   0.75   0   0   0
   0.1   0.95   0.72   0   0   0
   0.2   0.91   0.69   0.52   0   0
   0.3   0.89   0.68   0.512   0   0
   0.4   0.87   0.68   0.508   0   0
   0.5   0.87   0.68   0.512   0   0
   0.6   0.88   0.69   0.52   0   0.252
   0.7   0.9   0.71   0.54   0   0.268
   0.8   0.92   0.73   0.568   0.38   0.284
   0.9   0.95   0.77   0.596   0.444   0.304
   1   1   0.8   0.636   0.476   0.324
      </tableData>
    </table>
  </function>
</turbine_engine> 


This is the result :)

Image
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

Re: FIAT G91-R (Gina) - JSBSim

Postby daveculp » Tue Aug 11, 2015 10:39 pm

Excellent! Now you need to add a column of zeros at some altitude in the range of 60 to 70 thousand feet so that the engine will not produce thrust above this altitude. This is important because the code does not extrapolate beyond the end of the table, and if you don't "cap" the table you might be able to fly into outer space :)
User avatar
daveculp
 
Posts: 503
Joined: Sun Feb 24, 2013 1:50 am
Location: Las Vegas, USA
Callsign: DCulp
Version: 2017.3.1
OS: Ubuntu 17.10

Re: FIAT G91-R (Gina) - JSBSim

Postby abassign » Thu Aug 13, 2015 9:00 pm

@daveculp

Thanks for the advice, I made the change :) !

I was able to create a profile to activate DATCOM, I have "discovered" that the airfoils NACA, are defined parametrically and then the program generates the aerodynamic coefficients, but now I have to understand two things:

1. Is there a way to transfer the data produced by the program DATCOM directly to the XML configuration file of jsbsim?
2. Using the the program DATACOM, you can get the vector of the moment of inertia?

Image
abassign
 
Posts: 809
Joined: Mon Feb 27, 2012 5:09 pm
Location: Italy (living 5 Km from airport LIME)
Callsign: I-BASSY
Version: 2018.3
OS: Linux Mint 19. x

PreviousNext

Return to Aircraft

Who is online

Users browsing this forum: No registered users and 3 guests