# Calculating angle of attack during bank

I'm programming a flight dynamics simulation and am running into issues with calculating the angle of attack during banked flight. I know what I'm doing wrong, but I'm not sure what I should be doing instead.

When an aircraft banks, angle of attack and lift are expected to increase in order to compensate for the reduced vertical component of lift: How does the angle of attack vary in turns?

However, in my simulation, angle of attack and lift decrease as the aircraft banks. This is because I am calculating angle of attack using the $$u$$ and $$w$$ values in the body frame. As the aircraft banks, the vertical component of gravity in the body frame is reduced, but the vertical component of lift in the body frame stays the same:

This means that it is generating more lift than gravity, causing the simulation to reduce angle of attack to compensate, and it stabilizes at a lower angle of attack. This causes issues like reducing drag, causing the aircraft to speed up as it banks, when I would expect it to slow down.

Assuming the $$x$$ axis in the body frame is parallel to relative wind, angle of attack should be calculated using the vertical velocity in the body frame. But banking reduces vertical acceleration in the body frame due to gravity, causing lift to reduce as well.

These are the (simplified) calculations I use to get the vertical acceleration components:

$$\alpha = \arctan(w / u)$$

$$L_z = -2\pi \cdot \alpha \cdot q$$

$$g_z = 9.81 \cdot \cos(\text{bank}) \cdot \cos(\text{pitch})$$

$$w_z· = L_z + g_z$$

So I rotate the gravity acceleration according to bank, but not the lift acceleration. This is what causes vertical acceleration in the body frame to decrease with bank. I've tried flipping it and rotating the vertical lift component instead, but this causes issues with other forces still being calculated in the body frame, and the simulation becomes unstable.

My question is: how do I calculate vertical acceleration in the body frame in a way that acceleration due to lift does not stabilize according to only the vertical component of gravity, but the entire gravity force? Or, how can I get angle of attack to increase in a bank, not decrease?

• "Assuming the x axis in the body frame is parallel to relative wind..."?? This angle - between the body x axis and relative wind - is the angle of attack (plus sideslip, if you consider it), by definition.
– Zeus
Jun 9 '21 at 1:47
• Your question would be greatly improved if you could clarify what you are trying to model. Is there a human pilot or autopilot "in the loop", making pitch inputs as needed to achieve some given goal in the turn (such as maintaining constant altitude?) Or are you trying to model what the aircraft will do "on its own" if the elevator position is left unchanged as the aircraft enters a turn? There is in fact no tendency for the angle-of-attack to automatically increase as an aircraft enters a turn. Related: aviation.stackexchange.com/a/76823/34686 Jun 10 '21 at 13:15

It seems you forgot to add centrifugal acceleration. Lift must increase to produce the centripetal force that is needed for turning. I suggest you start with the desired turn rate and determine the amount of sideways lift from there. This in relation to the amount of lift for compensating gravitational weight will give you the bank angle.

Now it is helpful to split forces into their horizontal and vertical components.

Your equation for $$L_z$$ gives actually the full lift. You need to split this into its components, namely for becoming $$L_z$$ it needs to be reduced by the cosine of the bank angle.

Your $$g_z$$ would become zero without bank. It is always helpful to see what the expressions are for zero and 90° bank. Gravity works only in the vertical plane, so you need no modification for bank angle.

Write down the sum of all forces in both planes and adjust angle of attack such that they balance. You will see that the angle of attack will increase in a turn.

• I think where I'm confused is that $w$ is vertical velocity in the body frame, since it's vertical velocity relative to realtive wind. So I'm not sure how to account for the change in horizontal velocity as the aircraft banks - I have the horizontal component of gravity but it does not factor in to AoA calculations. I have tried balancing the forces, but I run into issues with stablizing them after changes to bank, so it's the dynamic aspect that I have wrong. Per "Your $g_z$ would become zero without bank", I had the wrong equation. I've swapped sin(bank) for cos(bank) in the question. Jun 9 '21 at 6:39

It's an axes definition issue, it is important to realise that altitude and weight are earth axis variables.

Centripetal force is provided by lift, not by gravity. Downward gravity force does not reduce when the aeroplane takes on a different attitude, it always pulls downward to earth with magnitude $$m*g$$.

in the statement "..angle of attack should be calculated using the vertical velocity in the body frame..", "vertical" should be defined in earth axes frame. In a bank angle, gravity is tilted relative to the body frame, however it will cause the aircraft to be accelerated in the gravity vector direction if the compensating force is not equal in opposite direction. "Downward" is always in the direction of gravity.

Best to compute this issue in earth axes via an axes transformation matrix, and then there are many answers on this site on how forces, AoA and altitude should be accounted for. Lift must be larger than weight in a bank, the pilot must increase AoA until the altitude remains constant.

It appears that you are assuming that there is a human pilot (or autopilot) in the loop, making pitch inputs as needed to prevent the aircraft from accelerating up or down as the bank angle is changed.

(You could also model what the aircraft tended to do on its own if the aircraft entered a bank but the elevator position remained constant. This would be a completely different--and much more complex-- problem than the one you appear to be describing. See these related ASE answers (1, 2) for more on this. There is in fact no tendency for the angle-of-attack to automatically increase as an aircraft enters a turn. Rather, in the absence of any corrective action on the pilot's part, the flight path tends to curve downward, leading to an increase in airspeed. The aircraft ends up following a descending helical path, at a higher airspeed than it started with. To a first approximation, angle-of-attack remains constant, but see the above link for why this is not exactly true.)

You've implicitly set up a scenario where thrust is varied as needed to equal drag, and you want to vary the angle-of-attack as needed to prevent the flight path from curving upward or downward as the aircraft enters a turn.

Your mistake is in assuming that the criteria for the flight path remaining horizontal rather than curving upward or downward is that lift should be equal to weight * cosine (bank angle). The correct criteria is that lift * cosine (bank angle) should be equal to weight.

If I've misread your question, and your intent really is to describe how the aircraft will react on its own to entering a bank, in the absence of corrective input from a human pilot or autopilot, then your present approach to the problem has numerous other issues that need to be fixed. You would need to start by re-examining your conception of how angle-of-attack is actually governed during flight. What you would need to do, for a good first approximation, is hold the angle-of-attack constant, and model how much the airspeed needs to increase in order for the vertical component of lift plus the vertical component of (drag minus thrust) to equal weight, as the aircraft settles into a descending turn. For shallow descent angles, you can ignore the contribution from the vertical component of (drag minus thrust) and still be "in the ballpark", so that's a good starting point for figuring out how much the airspeed will increase when the aircraft is banked. The steeper the bank angle (and thus the steeper the descent angle), the more this simpler method will overestimate the actual increase in airspeed.