Add General Purpose "Airfoil" Definition#384
Conversation
|
I haven't had time to study the implementation but it looks good to me, let me know when it's ready for merge. |
The physical simulation part of this is complete. I wanted to add a side-force visual helper vector to make debugging/development easier, since we have Lift, and Drag visualizations, but no way to see the force that's mutually orthogonal to them. I already have a good start on this, and most of what I have left is adding a check-box and checking the state of it in code. I saw you mention "Orbiter 2024" on the forum, and wanted to make sure this made it in, so I'll be trying to get this finished up as quickly as possible. :) |
…o CreateAirfoil4
|
This looks good to me, I can merge it or should we ask Martin to review this ? |
|
I think this can be merged. I've tested a simple implimentation, and functionally it workes exactly like CreateAirfoil3 but more generalized so that hacks don't need to be done in addon code. I just wanted someone other than me to look over the code before it gets merged. I know @indy91 has as well. The Doxgen comments should build with the API reference PDF. I am more than happy to write up a guide on how to impliment an aerodynamic model using this method. |
|
Everything looks good to me. If a problem arise it can always be fixed later on. |
|

This pull request is add a general-purpose "airfoil" as new, 4th type to Orbiter's existing AIRFOILSPEC type. This function CreateAirfoil4, like CreateAirfoil3 allows addon developers to specify their own functions for computing force and moment coefficients, however it expands greatly in the following areas:
Problem Statement:
CreateAirfoil3 allows the creation of multiple, static aerodynamic force-producing bodies in the local coordinates of the vessel to which they are bound. These Airfoils must be either "Vertical" like a wing, or "Horizontal" like a vertical stabilizer. In response to Mach and Reynolds number, velocity, angle of attack, and slip angle, Orbiter internally computes (by means a function passed from an addon by pointer) the CL , CD and Cm coefficients. which Orbiter internally uses to apply aerodynamic forces and moments to a vessel. This presents several major limitations:
Proposed Solution is Provided in the following PR:
Significant Benefits:
Implementing something like this for all six coefficients would not currently be possible:

This update has not been thoroughly tested yet. I would also like some input from addon devs.