Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Fix/Improve Takeoff Speeds V1/VR/V2 #1777

Closed
donstim opened this issue Nov 6, 2020 · 1 comment
Closed

[BUG] Fix/Improve Takeoff Speeds V1/VR/V2 #1777

donstim opened this issue Nov 6, 2020 · 1 comment
Labels
Bug Something isn't working

Comments

@donstim
Copy link
Contributor

donstim commented Nov 6, 2020

Mod Version

Describe the bug

To Reproduce

1.Set up MCDU by filling in ZFW, FOB, takeoff runway, and flap configuration
2.Click on LSK keys for V1, VR, and V2 in the Takeoff Perf page
3. Incorrect speeds (generally too high) are displayed

Expected behavior

Here is what I propose. This is intended to provide a simplified takeoff speed calculation that would be appropriate for an on-airplane MCDU presentation, not for a rigorous EFB takeoff performance calculation. These speeds would be based on certain simplifications and would not substitute for, or even consider, a takeoff performance calculation that includes consideration for runway length, obstacles, clearway, stopway, etc. In other words, just like the current MCDU takeoff speeds, it considers a runway of sufficient length with no critical obstacles.

The takeoff speeds are driven by the V2 speed, VR, for the most part, is simply the speed that provides V2 by 35 feet after an engine becoming inoperative at Vef (particularly the way that Airbus presents their speeds). V2 must meet three considerations: (1) It must be at least 1.13 times the 1g stall speed for the configuration; (2) it must allow compliance with the requirements on Vmu (minimum unstick speed and Vmca (minimum control speed in the air); and (3) it may also be affected by Vmcg (minimum control speed on the ground.

Ok, so if we know the 1g stall speeds, the minimum V2 limited by Vmu/Vmca, and the minimum V2 limited by Vmcg/Vmca we can determine the V2 speed. The minimum V2 limited by Vmu/Vmca is provided by tables in A320neo FCOMs:

Screenshot (275)
Screenshot (276)
Screenshot (277)

The minimum takeoff speeds limited by Vmcg/Vmca are also provided in tables in A320neo FCOMs:

Screenshot (271)

I haven't thoroughly examined them, but from a quick inspection, it seems to me that the minimum takeoff speeds limited by Vmcg/Vmca are never more limiting than the minimum V2 speeds limited by Vmu/Vmca.

Now, as for the minimum V2 speeds limited by 1.13 times the 1g stall speed, there is no similar chart/table provided in the FCOM. I have also not been able to find a plot of 1g stall speeds for the A320neo, but I have found a plot for the A320ceo:

A320 CEO Stall Speeds

A320neo stall speeds can be back calculated (at least for certain configurations) from the VLS and S speeds, for which tables have been provided:

A320 Operating Speeds

S speed is derived from 1.23 * Flaps up 1g stall speed. VLS for CONF 3 and 4 is derived from 1.23 * 1g stall speed for the respective CONF. If you do the calcs, I think you will see that the A320neo stall speeds (at least for the flaps up and CONF 3 and 4 are very close to, if not the same as, the A320ceo stall speeds. For the purpose of this mod, I think it should be okay to use the A320ceo stall speeds to determine the minimum V2 based on stall speed. It should be possible to create a table of these speeds vs weight and pressure altitude in the same manner as the minimum V2 speeds limited by Vmu/Vmca speeds.

For Vr, that speed is simply determined by the airplane acceleration with one-engine-inoperative between VR and V2. I propose simply using the same delta speed from VR to V2 that is embodied in the current MCDU takeoff speeds determination.

For V1 on an unlimited runway, there would be a range of acceptable speeds up to and including VR speed. Again, I propose simply using the same delta speed between V1 and VR that is in the current MCDU takeoff speeds determination.

To summarize, if it is possible to code this, the MCDU takeoff speeds should be calculated as follows:

V2 should be the higher of:

  1. the V2 speed determined from the minimum V2 for Vmu/Vmca;
  2. the V2 speed determined from the minimum V2 for Vmca/Vmcg (if there is any condition for which this speed is greater than the speed determined in 1);
  3. the V2 speed determined by multiplying the A320ceo 1g stall speed by 1.13.

VR should be calculated by subtracting the same speed difference between VR and V2 from the current V-speed calculations in the MCDU.

V1 should be calculated by subtracting the same speed difference between V1 and either VR or V2 from the current V-speed calculations in the MCDU.

Note that the takeoff speeds (and stall speeds) are a function of takeoff weight and pressure altitude. The limits of pressure altitude and temperature for which the A320neo is certified for takeoff is shown in the following chart:

Screenshot (264)

In addition to the calculation of the takeoff Vspeeds, there are some additional error messages or FMA mode indication ramifications that should be considered for inclusion:

Screenshot (266)

If the pilot chooses to input their own takeoff speeds, and they don't meet the minimum V2 regulatory requirements quoted above, an MCDU error message should appear:

Screenshot (268)_LI

And when either the takeoff configuration test is conducted or takeoff thrust is applied the following messages should appear in the lower ECAM as amber caution messages if, for the first message, the takeoff speeds are too low (i.e., the V2 speed doesn't meet the minimum speed requirements explained above, or for the second message, that the takeoff speeds have not been inserted in the MCDU. (Note: this second one would not appear if the MCDU takeoff speeds are automatically auto-calculated on startup as they are now.)

I hope this provides a way forward toward providing more accurate takeoff speeds in the A320NX MCDU.
Actual behavior

References

Additional context

Was this working before/when did the issue start occurring?

Is this a problem in the vanilla unmodded game?

Discord username (if different from GitHub): donbikes#4084

@donstim donstim added the Bug Something isn't working label Nov 6, 2020
@donstim
Copy link
Contributor Author

donstim commented Nov 8, 2020

Okay, I've done all the math and would like to make the following proposal for new takeoff speeds to be displayed in the MCDU. I compared the minimum V2 speeds for VMU/VMCA, for 1.13* 1g stall speed, and for VMU/VMCG and found that the minimum V2 for VMU/VMCA were always limiting. Therefore, the speeds from that set of charts can be used alone.

As a further simplification, one can see that the speeds do not vary very much with altitude, so instead of trying to reproduce the whole table within any calculation process, I propose that the V2 speeds be taken from a simple 1-D table vs gross weight with a correction for altitude. Since the lower weights are near empty weight, I think they can be discounted when determining the altitude effect. For CONF 1+F and CONF 2, there is very little change with altitude, so I don't think any altitude correction needs to be applied to them. For CONF 3, there is a small altitude effect, so I propose increasing V2 by a scant 1 knot for every 5000 feet of pressure altitude above sea level.

So, V2 would be:

Screenshot (283)

For V1 and VR, I propose they simply be calculated from V2: VR = V2-3, and V1 = V2-4.

Again, these are simplified speeds that should provide the best (shortest) runway performance without considering climb performance and without a rigorous takeoff performance check. In other words, although the airplane can safely fly these speeds, there is no guarantee that it would be able to takeoff within the runway length in the event of an engine failure, meet climb performance requirements, or clear obstacles in the takeoff path. There speeds will enable better runway performance than the current speeds, and will be flyable with the flight model in either of these PRs: #1295 and
#1580

derl30n added a commit to derl30n/a32nx that referenced this issue Nov 16, 2020
wpine215 pushed a commit that referenced this issue Nov 30, 2020
…us speeds (#1580)

* raw aoa table

* imporved pitch cruise, gd, flaps

* improved drag/thrust balance

* changes to AOA and ground effect

* adjusted engine thrust, improved drag, tuned aoa, reduced ground effect

* aoa table improvements, reduced rudder effectiveness, changelog.md

* updated flight model

* added vls calculations

* added vls calculation

* corrected bad condition

* added update condition

* improved vls visibility

* improved vaprot visibility

* code cleanup

* sorry but I needed to change the dash spacing for vmax

* removed console.log

* moved speeds to core

* refactored code

* added missing parameter default

* bug fixes and improvements

* added landing gear effect for flaps3

* compensated for ldg effect

* removed unused parameter

* added compensation for mach effect

* fixed green dot

* fixed v1 still visible after liftoff

* fixed bad condition for flaps 1

* updated changelog

* refactored speed tables

* refactored core vspeeds

* further refactoring

* simplified code

* moved F and S speed calculations to core and more code refactoring

* removed mach effect correction from F and S speed

* removed unused code

* fixed error

* changed corrected gross weight calculation to be executed on weight change only

* corrected eslint doc

* added eslint docs

* added eslint docs for speed tables

* improved eslint docs for speed tables

* added eslint docs

* improved check for changes and update

* refactored code

* refactored code

* prepared support for approach speeds (cdu)

* removed unused code

* added SimVar again, because its being used

* added to v2 table from #1777

* fixed value not rounded

* now using new tables

* updated flight model

* gd only visible when in clean config

* removed rudder changes

* changed changelog

* fixed lint

* removed commended code

* changed updating method
wpine215 added a commit that referenced this issue Nov 30, 2020
* Improvements to Flightmodel, PFD Speedband and calculations for various speeds (#1580)

* raw aoa table

* imporved pitch cruise, gd, flaps

* improved drag/thrust balance

* changes to AOA and ground effect

* adjusted engine thrust, improved drag, tuned aoa, reduced ground effect

* aoa table improvements, reduced rudder effectiveness, changelog.md

* updated flight model

* added vls calculations

* added vls calculation

* corrected bad condition

* added update condition

* improved vls visibility

* improved vaprot visibility

* code cleanup

* sorry but I needed to change the dash spacing for vmax

* removed console.log

* moved speeds to core

* refactored code

* added missing parameter default

* bug fixes and improvements

* added landing gear effect for flaps3

* compensated for ldg effect

* removed unused parameter

* added compensation for mach effect

* fixed green dot

* fixed v1 still visible after liftoff

* fixed bad condition for flaps 1

* updated changelog

* refactored speed tables

* refactored core vspeeds

* further refactoring

* simplified code

* moved F and S speed calculations to core and more code refactoring

* removed mach effect correction from F and S speed

* removed unused code

* fixed error

* changed corrected gross weight calculation to be executed on weight change only

* corrected eslint doc

* added eslint docs

* added eslint docs for speed tables

* improved eslint docs for speed tables

* added eslint docs

* improved check for changes and update

* refactored code

* refactored code

* prepared support for approach speeds (cdu)

* removed unused code

* added SimVar again, because its being used

* added to v2 table from #1777

* fixed value not rounded

* now using new tables

* updated flight model

* gd only visible when in clean config

* removed rudder changes

* changed changelog

* fixed lint

* removed commended code

* changed updating method

* Removed MaxBankIndex from apron.flt (#2133)

This change did not bring the desired effects therefore I suggest removing it to avoid any possible side effects.

Co-authored-by: DerL30N <leon.beeser@yahoo.de>
Co-authored-by: Saschl <sascharudolf46@gmail.com>
@donstim donstim closed this as completed Dec 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant