.dll Question Creating an airfoil to simulate heatshield

eveningsky339

Resident Orbiter Slave
Addon Developer
Donator
Joined
May 3, 2008
Messages
1,062
Reaction score
1
Points
0
Location
Western Maine
Can an accurate re-entry profile be created by defining a capsule's rear heatshield as an airfoil? Would this be an abuse of the CreateAirfoil function?
 
From page 16 of API_Guide.pdf
Orbiter distinguishes two different types of airfoil orientations: airfoils which create vertical lift (e.g. wings) and airfoils which create horizontal “lift”, e.g. vertical stabilisers. Even vessels without any wings or other aerodynamic surfaces should define at least one horizontal and one vertical airfoil to define their atmospheric drag behaviour (even blunt objects such as reentry capsules which have no similarity to an aircraft produce drag and lift forces).
So, it would seem that defining lift as a wing for the heatshield would not be an abuse of the CreateAirfoil function. You'd just have to figure out the right parameters to put into the function to make if "fly" like it should.
 
From page 16 of API_Guide.pdf
So, it would seem that defining lift as a wing for the heatshield would not be an abuse of the CreateAirfoil function. You'd just have to figure out the right parameters to put into the function to make if "fly" like it should.
I've put trim flaps on the capsule, but I did so by using CreateControlSurface. I specifically want to use the airfoil to create an accurate amount of drag during re-entry (L/D is 0.3).

I think I should go about plugging an airfoil in and seeing how she flies.
 
This is how I did it for the CEV capsule. It provides some lift when the capsule is in the heads-down position.

1. Definition of the airfoil characteristics, both in vertical and horizontal direction:

// ==============================================================
// Airfoil coefficient functions
// Return lift, moment and zero-lift drag coefficients as a
// function of angle of attack (alpha or beta)
// ==============================================================
void VLiftCoeff (double aoa, double M, double Re, double *cl, double *cm, double *cd)
{
static const double step = RAD*30.0;
static const double istep = 1.0/step;
static const int nabsc = 13;
// Angle of attack -180 -150 -120 -90 -60 -30 0 30 60 90 120 150 180
static const double CL[nabsc] = { 0, -0.12, -0.1, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.12, 0};
static const double CM[nabsc] = { 0, -0.0002,-0.0004, -0.0004,-0.0003,-0.0002, 0, 0.0002, 0.0003, 0.0004, 0.0004,0.0002, 0};
// lift and moment coefficients from -180 to 180 in 30 degree steps.
aoa += PI;
int idx = max (0, min (11, (int)(aoa*istep)));
double d = aoa*istep - idx;
*cl = CL[idx] + (CL[idx+1]-CL[idx])*d;
*cm = ( CM[idx] + (CM[idx+1]-CM[idx])*d ) / 10;
*cd = 0.25 + oapiGetInducedDrag (*cl, 1.27, 0.3);
}
// 2. horizontal lift component (vertical stabiliser and body)
void HLiftCoeff (double beta, double M, double Re, double *cl, double *cm, double *cd)
{
static const double step = RAD*30;
static const double istep = 1.0/step;
static const int nabsc = 13;
static const double CL[nabsc] = { 0, -0.1, -0.1, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.1, 0};
beta += PI;
int idx = max (0, min (11, (int)(beta*istep)));
double d = beta*istep - idx;
*cl = CL[idx] + (CL[idx+1]-CL[idx])*d;
*cm = 0.0;
*cd = 0.25 + oapiGetInducedDrag (*cl, 1.27, 0.3);
}

2. Initializing it in the Constructor:
...
CreateAirfoil (LIFT_VERTICAL, _V(0, 0.01,0.1), VLiftCoeff, 5.5, 0, 1.27);
CreateAirfoil (LIFT_HORIZONTAL, _V(0, 0, 0.01), HLiftCoeff, 5.5, 0, 1.27);
...

This gives a kind of weather-vane effect, slightly vertically offset (by 0.01 m), so the capsule has a slight pitch-up tendency when flying heads down.

 
Back
Top