I am trying to simulate F/A-18 Hornet on Simulink. So, here is how I have made the model:

  • Firstly, the initial flight parameters(Alpha, beta, V(magnitude), rho) are being calculated based on the initial values of the states.
  • Then, these parameters, along with initial values of the states, are used for calculating the aerodynamic forces and moments.
  • As the Aerodynamic forces and moments are in the Wind Axes, I transformed them from Wind to Body using alpha and beta.
  • Then, the gravity force, which is transformed from the NED Frame to Body frame, is added to the transformed aerodynamic force.
  • Similarly, the thrust force is added, assuming that thrust is only in the X-direction( Body Frame), and no moment is generated because of it.
  • Then, total force and moment are sent into the Body Axes 6-DOF Quaternion Block present in Simulink, which gives me the states for the next iteration and process continues.

Please point any mistakes you find out in the above-mentioned iteration process. Now, for checking if the model is correct or not, I planned to give initial conditions as a trim condition, and if the model is correct, the plane should fly in the stable level flight. The trim point is:

 V = 300.92 ft/s
 [phi, theta, psi] (in rads) = [0, 0.1745, 0] (pitch is 10 degrees)
 [p, q, r] = [0, 0, 0]
 alpha = 0.1745;
 beta = 0;

On giving these initial conditions, the plane flys at a stable level flight. So, is this process of verifying the model enough? If not, then please outline the process which I can use to check my model. Thanks for the help!

PS: Reference for the Aerodynamic Model of FA-18 Hornet:- A. Chakraborty, P. Seiler, and G. J. Balas, “Susceptibility of f/a-18 flight controllers to the falling-leaf mode: Linear analysis,” Journal of guidance, control, and dynamics, vol. 34, no. 1, pp. 57–72, 2011.

  • $\begingroup$ Oh man, that question seems beyond the scope of what this particular on-line format is really optimized for, but hope you get some useful answers nonetheless. $\endgroup$ Mar 7, 2020 at 13:28
  • $\begingroup$ Oops! Do you know any online platform where these types of questions can be asked? $\endgroup$
    – Pavan
    Mar 7, 2020 at 14:04
  • $\begingroup$ Didn't mean to discourage you from asking here; I've seen a few questions that were somewhat similar. Sorry can't help w/ suggestions of where else to ask. $\endgroup$ Mar 7, 2020 at 14:49
  • $\begingroup$ Most aerodynamic database is in stability axis. Double check that yours is in wind axis. Not sure what you mean by "checking if your model is correct". Which flight regimes you want to check and to what fidelity? Most deviations have to do with your aerodynamic, landing gear, and propulsion models. $\endgroup$
    – JZYL
    Mar 7, 2020 at 17:09
  • $\begingroup$ @JZYL I have mentioned the reference paper in my question. The paper gives an aerodynamic model to calculate CL, CD, CY, Cl, Cm, and Cn. I know that all these coefficients are defined in the wind axes "only" (correct me if I am wrong). So does that mean that aerodynamic model is in Wind Axes? I want to simulate an event of elevator jam. Can you please elaborate on the deviations you are talking about in the last line? What types of deviations and from where? $\endgroup$
    – Pavan
    Mar 7, 2020 at 18:26

1 Answer 1


I am not a flight dynamics expert, but let me give an extremely general answer on verification of a non-linear dynamic system. consider that you have the non-linear system $\dot x =f(x)$.

This system may have multiple equilibrium points, which are the $x$ values such that $f(x)=0$. You have checked that one of the desired equilibrium points is actually an equilibrium point in your simulation. So that's good. But does your system have more than one equilbrium point? if so, you probably want to check all of them.

Next, you want to check the stability of the equilibrium points. You've checked that $f(x)=0$ for one equilibrium point. You need to check what happens for a small perturbation say $x_0= x+\epsilon$. If the equilbrium point is supposed to be stable, then you need to check that after some time, the system has returned to equilibrium. If the equilbrium point is supposed to be unstable, you need to check that the system has diverged from the equilbrium point.

But even that is not good enough. You also need to check the rates of convergence or divergence. i.e. near the equilbrium point, you can linearize the system and find the eigenvalues. i.e. if you are at a small perturbation away from a stable equililbrium, you expect the system to approach equilibrium at a certain rate, say $x=x_0 e^{-\lambda t}$. You need to verify that the simulation matches the expected rate.

So to summarize, you need to verify that your simulation has the correct number of equilibrium points, that the stability of each equilbrium point is correct, and that the eigenvalues near each equilbrium point are correct.

  • $\begingroup$ Thanks for explaining a more robust way of verifying my model! $\endgroup$
    – Pavan
    Mar 7, 2020 at 18:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .