![]() |
|
|||||||
| FM/DM threads Everything about FM/DM in CoD |
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Quote:
//calculate TrueAirspeeds and MACH //Pressure Altitude P_alt=Ind_Alt+145442.2*(1- (alt_set/1013.25)^0.190261) Pressure_Alt = I_Altitude+145442.2*(1- Math.Pow((C_AltimeterPinion/1013.25),0.190261)); //Density altitude (D_Alt) = P_Alt +(StdTemp0/.0019812)*(1-(StdTemp0/OAT)^0.2349690) ; = P_Alt +(273.15/.0019812)*(1-(273.15/OAT)^0.2349690) Density_Alt = Pressure_Alt + 137870.9872804361 * (1 - Math.Pow((273.15 / Z_AmbientAirTemperature),0.2349690)); //TrueAirspeed_mph = CS/(1-6.8755856*10^-6 * ''DA'')^2.12794 (NB assume IAS = CS) TrueAirspeed_mph = I_VelocityIAS / Math.Pow((1 - 6.8755856 * Math.Pow(10, -6) * Density_Alt), 2.12794); TrueAirspeed_kph = TrueAirspeed_mph / 0.621371192; TrueAirspeed_kt = TrueAirspeed_mph / 0.868976242; //Mach Number (M) = TAS/CS; CS = sound speed= 38.967854*sqrt(T+273.15) where T is the OAT in celsius; TAS is true airspeed in knots. MACH = TrueAirspeed_kt / (38.967854 * Math.Sqrt(Z_AmbientAirTemperature + 273.15)); There is no CoD C# parameter for Pressure to set the Altimeter by so I have to measure it and/or set it by reference to True Height. I am assuming 'True Height' is from Mean Sea Level. Can't think what else it would be. I set the Altimeter to read as near as possible to True Height when on the runway so I won't hit the sea on low level tests and I'll have near-correct Altitude reading on he Altimeter. Having said that, at a setting of 992mb its about 4 feet out at sea level but its about 2,000 feet out at 20,000 ft. something wrong somewhere. I don't thionk it matters at the moment as he performance is so far off but I'll include some mB vs Altitude error checks after the next patch. EDIT: Did some tests. Max Alt setting available is 1045mB. At True Height 20,000 ft, Alt reading ~19,900. Closest I could get. Alt setting 1045mB at TH 15,000ft, Alt reading ~15,500. Alt setting for correct TH reading 1027mB Alt setting 1027mB at TH 10,000ft, Alt reading ~10,500. Alt setting for correct TH reading 1007mB Alt setting 1007mB at TH 5,000ft, Alt reading ~5,800. Alt setting for correct TH reading 998mB Am I missing something?
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders Last edited by klem; 07-11-2012 at 09:53 AM. |
|
#2
|
||||
|
||||
|
At 992mb at 19C, the density altitude at sea level is 1194 feet.
If the atmosphere is correct, then standing at sea level is the same as being at 1200 feet altitude on a standard day to the airplane. Your altimeter is just a barometer and measures pressure. It will only show some 554 feet!!! All the altimeter sees is pressure while the aircraft sees density. Test flying is done at pressure altitude and performance calculated according to density altitude. Set the ALTIMETER to 29.92inHg or 1013Mb. That is your altitude for starting your performance calculations.
__________________
|
|
#3
|
||||
|
||||
|
Quote:
I'm not a test pilot, I'm just doing the Maths and it took me a while to get my head around how to do these tests. I did it that way so I could fly at/very near sea level on the altimeter although as bongodriver says I could just project the 0ft value. I'm not sure what your trying to say other than to collect the readings in a different way that skips one calculation step. Do you think my results will be incorrect for some reason? See above fornulae drawn from http://williams.best.vwh.net/avform.htm#Mach and my Hurricane results http://forum.1cpublishing.eu/showthread.php?t=33135
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders |
|
#4
|
||||
|
||||
|
I think so.. In that I found and error in your Density Altitude calculation
See the following REVIEW of your Java code. Before we do that, I took the liberty of re-wording the formulas you used from Williams site, i.e. http://williams.best.vwh.net/avform.htm#Altimetry I also added more detailed definitions all in all with the goal of making them easier to read and follow Quote:
Quote:
Code:
Density_Alt = Pressure_Alt + (T_std/TLR) * (1 - Math.Pow((T_std / Z_AmbientAirTemperature),0.2349690)); Code:
T_std = 288.15 - Alt_ind × TLR TLR = 0.0065 Code:
if ( height < tropopause ) then T_std = T_o - Alt_ind × TLR else T_std = T_tropopause Code:
tropopause starts at 11.0km (36089.24ft) and ends at 20km (65,616.78ft) TLR = 6.49(°C/1,000m) = 1.98(°C/1,000ft) = 3.56(°F)/1,000ft T_Topopause = -56.5(°C) = 216.65(°K) SUMMARY I don't know if I would use Williams formulas.. I have some concerns with how he handles some of the units, but since you were using his formulas I thought it best to review those formulas. Also not sure if you can use Z_AmbientAirTemperature directly in that it is not realitve to I_Altitude.. And as you know small temp differences can have a big effect on Density Altitude calculations, so hopefully these are small differences. Might be better of using the ISA Standard Temp formulas adjusted for temp. Hope this helps! S! PS see attached where I did a quick ROC test and ploted the different altitudes
__________________
Theres a reason for instrumenting a plane for test..
That being a pilots's 'perception' of what is going on can be very different from what is 'actually' going on. Last edited by ACE-OF-ACES; 07-20-2012 at 12:47 AM. |
|
#5
|
|||||
|
|||||
|
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders |
|
#6
|
||||
|
||||
|
Quote:
But my point is it is NOT realitive to 'I_Altitude'.. As far as I can tell it is realitive to 'Z_AltitudeAGL' and/or 'Z_AltitudeMSL'. In short, the Z_AmbeintAirTemperature value your using may be the OAT realitive to another 'altitude' and not the one the plane is currently at.. For an example of which I speak, look at the TIME TO CLIMB picture I posted Note at the higher altitudes (around 17.5Kft) the "Z" altitudes are quite different (higher) from the indicated, pressure and density.. Thus in and around that area when you use Z_AmbeintAirTemperature (OAT) your getting the temperature 'realitive' to the "Z" altitudes and not the OAT realitive to indicated, pressure, and density. How big of an error that will introduce.. Not sure have not calcualed it yet, but knowing how a little temperature difference can have a big effect on the calcuation of density altitude one should take pause. Again, not 100% sure yet, need to test that to prove it to myself! I just wanted to bring it up should you come across it while testing
__________________
Theres a reason for instrumenting a plane for test..
That being a pilots's 'perception' of what is going on can be very different from what is 'actually' going on. Last edited by ACE-OF-ACES; 07-19-2012 at 09:55 PM. |
|
#7
|
||||
|
||||
|
Quote:
Now, regarding: Density_Alt = Pressure_Alt + (T_std/TLR) * (1 - Math.Pow((T_std / I_AmbientAirTemperature),0.2349690)); (now with I_AmbientAirTemperature) Where: T_std = 288.15 - Alt_ind × TLR TLR = 0.0065 and if ( height < tropopause ) then TLR = 6.49(°C/1,000m) = 1.98(°C/1,000ft) = 3.56(°F)/1,000ft else TLR = -56.5(°C) = 216.65(°K) I have two questions. 1. TLR is a rate so presumably below the Tropopause the Temperature Lapse is - Alt_Ind x TLR but above the Tropopause the Temperature Lapse is simply 56.5C ? and similarly...... 2. Within the DA calc, T_Std/TLR would appear to calculate an altitude. Does it hold good above the Tropopause where the lapse rate is zero or should I be capping T_Std at 288.15 - 56.5 = 231.65K once T_Std/TLR hits 56.5? EDIT: Sorry, ref Q.2, I meant should I replace T_Std/TLR with some other expression above the Tropopause?? EDIT2: Think I've got it if ( 15 - Pressure_Alt_ft*0.0019812 < -56.5) { TropAlt = PressureAlt - 56.5/0.0019812 TempStd = 288.15 - 56.5; Density_Alt_ft = Pressure_Alt_ft + (TempStd/0.0019812 + TropAlt) * (1 - Math.Pow((TempStd / I_AmbientAirTemperature),0.2349690)); else TempLapse= Pressure_Alt_ft*0.0019812; TempStd = 288.15 - Templapse; Density_Alt_ft = Pressure_Alt_ft + (TempStd/0.0019812) * (1 - Math.Pow((TempStd / I_AmbientAirTemperature),0.2349690)); } TempStd = 288.15 - TempLapse; Density_Alt_ft = Pressure_Alt_ft + (TempStd/0.0019812) * (1 - Math.Pow((TempStd / I_AmbientAirTemperature),0.2349690));
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders Last edited by klem; 07-19-2012 at 11:31 PM. |
|
#8
|
||||
|
||||
|
Ah yes, I forgot about that one!
I just don't recall if every plane had one? I noticed that when a plane does not have a guage for a said "I" value that said value is not aval to read/log. But we can use that value and log it along with the "Z" value (which is allways active) you were using to see if they are the same, or if they diverage at some point (alt). If they don't than I was worring for nuttin and we can continue to use the "Z" value. Ok lets see if I have two answers! Quote:
Take a look at any standard atmosphere table/graph and you will see that is indeed the case Quote:
So, one answer, one pending!
__________________
Theres a reason for instrumenting a plane for test..
That being a pilots's 'perception' of what is going on can be very different from what is 'actually' going on. Last edited by ACE-OF-ACES; 07-20-2012 at 12:19 AM. |
|
#9
|
||||
|
||||
|
My bad..
When checking for the tropopause, i.e. Code:
if ( height < tropopause ) then else end Note I had this Code:
if ( height < tropopause ) then TLR = 6.49(°C/1,000m) = 1.98(°C/1,000ft) = 3.56(°F)/1,000ft else TLR = -56.5(°C) = 216.65(°K) What we want to do is this Code:
if ( height < tropopause ) then T_std = T_o - Alt_ind × TLR else T_std = T_tropopause Code:
T_Topopause = -56.5(°C) = 216.65(°K)
__________________
Theres a reason for instrumenting a plane for test..
That being a pilots's 'perception' of what is going on can be very different from what is 'actually' going on. Last edited by ACE-OF-ACES; 07-20-2012 at 12:45 AM. |
![]() |
|
|