Not sure what you mean. But I think yes. You might have a 2010 and 2016 dll. The think that is holding us up and some code and Lander dynamics. And for 2016 Ummu
So the wing shape we can get from the area. But not sure about the rest
[/FONT][FONT=Arial, Helvetica, sans-serif]BUT..... this theory is not totally inaccurate. In certain flight regimes, where the velocity is very high and the density is very low, few molecules can strike the upper airfoil surface and the Newtonian theory gives very accurate predictions. These are the conditions which occur on the Space Shuttle during the early phases of its re-entry into the Earth's atmosphere at altitudes above about 50 miles and at velocities above 10,000 mph (hypersonic conditions). For these flight conditions, the theory gives a good prediction. However, for most normal flight conditions, like those on an airliner (35,000 feet, 500 mph), this theory does not give the right answer.
If there is a MSH2STL converter, I can also teach you how to calculate pretty accurate aerodynamics by OpenFOAM...
Thanks. Not sure what that is MSH2STL, though. I use Meshwizard and Anim8or
We are using AeroBrake MFD. AeroBrake MFD must get it’s reentry data from the aerodynamic properties defined in the DLL. So the Lander when entering the Atmosphere is like an inverted capsule.
Well, the lander enters the atmosphere if you will upside down so the top enters the atmosphere to protect the cargo. Then the lander rights its self up and lands.
So it is inverted when it enters the atmosphere
void Lander_MomentCoeff(double aoa, double M, double Re, double *cl, double *cm, double *cd)
{
int i;
const int nabsc = 7;
static const double AOA[nabsc] = { -180 * RAD, -90 * RAD, -30 * RAD, 0 * RAD, 60 * RAD, 90 * RAD, 180 * RAD };
static const double CL[nabsc] = { 0, 0, -0.004, 0, 0.008, 0, 0 };
static const double CM[nabsc] = { 0, 0, 0.0014, 0, -0.0012, 0, 0 };
for (i = 0; i < nabsc - 1 && AOA[i + 1] < aoa; i++);
double f = (aoa - AOA[i]) / (AOA[i + 1] - AOA[i]);
*cl = CL[i] + (CL[i + 1] - CL[i]) * f; // aoa-dependent lift coefficient
*cm = CM[i] + (CM[i + 1] - CM[i]) * f; // aoa-dependent moment coefficient
double saoa = sin(aoa);
double pd = 0.045 + 0.4*saoa*saoa; // profile drag
*cd = pd + oapiGetInducedDrag(*cl, 0.1, 0.7) + oapiGetWaveDrag(M, 0.75, 1.0, 1.1, 0.04);
// profile drag + (lift-)induced drag + transonic/supersonic wave (compressibility) drag
ClearAirfoilDefinitions();
CreateAirfoil(LIFT_VERTICAL, _V(0, 0, 0), Lander_MomentCoeff, 8, 140, 0.1);
}
// 1. vertical lift component (wings and body)
void VLiftCoeff(VESSEL *v, double aoa, double M, double Re, void *context, double *cl, double *cm, double *cd)
{
int i;
const int nabsc = 9;
static const double AOA[nabsc] = { -180 * RAD, -60 * RAD, -30 * RAD, -2 * RAD, 15 * RAD, 20 * RAD, 25 * RAD, 60 * RAD, 180 * RAD };
static const double CL[nabsc] = { 0, 0, -0.4, 0, 0.7, 1, 0.8, 0, 0 };
static const double CM[nabsc] = { 0, 0, 0.014, 0.0039, -0.006, -0.008, -0.010, 0, 0 };
for (i = 0; i < nabsc - 1 && AOA[i + 1] < aoa; i++);
double f = (aoa - AOA[i]) / (AOA[i + 1] - AOA[i]);
*cl = CL[i] + (CL[i + 1] - CL[i]) * f; // aoa-dependent lift coefficient
*cm = CM[i] + (CM[i + 1] - CM[i]) * f; // aoa-dependent moment coefficient
double saoa = sin(aoa);
double pd = 0.015 + 0.4*saoa*saoa; // profile drag
*cd = pd + oapiGetInducedDrag(*cl, 1.5, 0.7) + oapiGetWaveDrag(M, 0.75, 1.0, 1.1, 0.04);
// profile drag + (lift-)induced drag + transonic/supersonic wave (compressibility) drag
}
// 2. horizontal lift component (vertical stabilisers and body)
void HLiftCoeff(VESSEL *v, double beta, double M, double Re, void *context, double *cl, double *cm, double *cd)
{
int i;
const int nabsc = 8;
static const double BETA[nabsc] = { -180 * RAD, -135 * RAD, -90 * RAD, -45 * RAD, 45 * RAD, 90 * RAD, 135 * RAD, 180 * RAD };
static const double CL[nabsc] = { 0, +0.3, 0, -0.3, +0.3, 0, -0.3, 0 };
for (i = 0; i < nabsc - 1 && BETA[i + 1] < beta; i++);
*cl = CL[i] + (CL[i + 1] - CL[i]) * (beta - BETA[i]) / (BETA[i + 1] - BETA[i]);
*cm = 0.0;
*cd = 0.015 + oapiGetInducedDrag(*cl, 1.5, 0.6) + oapiGetWaveDrag(M, 0.75, 1.0, 1.1, 0.04);
}
CreateAirfoil3(LIFT_VERTICAL, _V(0, 0, -0.3), VLiftCoeff, 0, 5, 90, 1.5);
// wing and body lift+drag components
CreateAirfoil3(LIFT_HORIZONTAL, _V(0, 0, -4), HLiftCoeff, 0, 5, 15, 1.5);