|
Guest
|
Off topic post to show that wings can be modeled in software
at hand:
Whitcomb supercritical airfoil wings in a Mathematica model:
This idea was more about could
a model be made in Mathematica of
the supercritical airfoil using the data on the web that I downloaded.
Model like these were inspired by the Mathematica pages
of Mark McClure.
I've made a number of these flights of imagination
in Mathematica.
Pictures are at:
http://www.flickr.com/photos/fractalmusic/3819251048/
http://www.flickr.com/photos/fractalmusic/3819250762/
Respectfully, Roger L. Bagula
11759Waterhill Road, Lakeside,Ca 92040-2905,tel: 619-5610814 :http://
www.geocities.com/rlbagulatftn/Index.html
alternative email: rlbagula at (no spam) sbcglobal.net
Mathematica:
Clear[a, b, w, f, g, g1, g2, g3, g4, x, y, z, p]
(* http : // www.aerospaceweb.org/question/airfoils/q0127b.shtml*)
(*NASA/Langley Whitcomb integral supercritical airfoil*)
(*WHITCOMB INTEGRAL SUPERCRITICAL AIRFOIL*)
(*top*)
a = {{0.0 , 0.0},
{.0075 , .0176},
{.0125, .0215},
{.0250 , .0276},
{.0375 , .0316},
{.0500 , .0347},
{.0750 , .0394},
{.1000 , .0428},
{.1250 , .0455},
{.1500 , .0476},
{.1750, .0493},
{.2000 , .0507},
{.2500, .0528},
{.3000, .0540},
{.3500 , .0547},
{.4000 , .0550},
{.4500, .0548},
{.5000, .0543},
{.5500, .0533},
{.5750, .0527},
{.6000 , .0519},
{.6250 , .0511},
{.6500 , .0501},
{.6750 , .0489},
{.7000, .0476},
{.7250 , .0460},
{.7500 , .0442},
{.7750 , .0422},
{.8000 , .0398},
{.8250 , .0370},
{.8500 , .0337},
{.8750 , .0300},
{.9000 , .0255},
{.9250 , .0204},
{.9500, .0144},
{.9750 , .0074},
{1.0000, .0008}, {1.0075, 0}}
Length[a]
f[x_] = Fit[a, Table[x^n, {n, 0, Length[a]}], x]
g3 = Plot[f[x], {x, 0, 1}, AspectRatio -> Automatic, Axes -> False]
g1 = ListPlot[a, AspectRatio -> Automatic, Axes -> False, PlotJoined -
[quote:7c2a55bbc6]True]
(*bottom*)[/quote:7c2a55bbc6]
b = {{0.0 , 0.0},
{.0075, -.0176},
{.0125, -.0216},
{.0250, -.0281},
{.0375, -.0324},
{.0500, -.0358},
{.0750, -.0408},
{.1000, -.0444},
{.1250, -.0472},
{.1500, -.0493},
{.1750, -.0510},
{.2000, -.0522},
{.2500, -.0540},
{.3000, -.0548},
{.3500, -.0549},
{.4000, -.0541},
{.4500, -.0524},
{.5000, -.0497},
{.5500, -.0455},
{.5750, -.0426},
{.6000, -.0389},
{.6250, -.0342},
{.6500, -.0282},
{.6750, -.0215},
{.7000, -.0149},
{.7250, -.0090},
{.7500, -.0036},
{.7750, .0012},
{.8000 , .0053},
{.8250, .0088},
{.8500 , .0114},
{.8750, .0132},
{.9000, .0138},
{.9250, .0131},
{.9500, .0106},
{.9750, .0060},
{1.0000, -.0013}, {1.0075, 0}}
g2 = ListPlot[b, AspectRatio -> Automatic, Axes -> False, PlotJoined -
[quote:7c2a55bbc6]True]
Show[{g1, g2}][/quote:7c2a55bbc6]
Length[b]
g[x_] = Fit[b, Table[x^n, {n, 0, Length[a]}], x]
g4 = Plot[g[x], {x, 0, 1}, AspectRatio -> Automatic, Axes -> False]
Show[{g3, g4}]
w[x_] = {{x, f[x]}, {x, g[x]}}
Clear[x]
gt1 = ParametricPlot3D[{p, 4.5 + 5*(x + p/10), 5*f[x], {EdgeForm[]}},
{x,
0, 1}, {p, 0, 6}, Boxed -> False, Axes -> False, PlotPoints -> 40]
gb1 = ParametricPlot3D[{p, 4.5 +
5*(x + p/10), 5*g[x], {EdgeForm[]}}, {x, 0, 1}, {
p, 0, 6}, Boxed -> False, Axes -> False, PlotPoints -> 40]
gt2 = ParametricPlot3D[{-p,
4.5 + 5*(x + p/10), 5*f[x], {EdgeForm[]}}, {x, 0, 1}, {
p, 0, 6}, Boxed -> False, Axes -> False, PlotPoints -> 40]
gb2 = ParametricPlot3D[{-p, 4.5 + 5*(x + p/10), 5*g[x], {
EdgeForm[]}}, {x, 0, 1}, {p, 0, 6}, Boxed ->
False, Axes -> False, PlotPoints -> 40]
Show[{gt1, gb1, gt2, gb2}, ViewPoint -> {-0.091, -2.263, 2.514}]
gt1t = ParametricPlot3D[{p/2, 17 + 5*(x + p/10)/2, 1 + 5*
f[x]/2, {EdgeForm[]}}, {x, 0, 1}, {p,
0, 6}, Boxed -> False, Axes -> False, PlotPoints -> 40]
gb1t = ParametricPlot3D[{p/2, 17 + 5*(x + p/10)/
2, 1 + 5*g[x]/2, {EdgeForm[]}}, {x, 0, 1}, {p, 0, 6}, Boxed -> False,
Axes -> False, PlotPoints -> 40]
gt2t = ParametricPlot3D[{-p/2, 17 + 5*(x + p/10)/2, 1 + 5*f[x]/
2, {EdgeForm[]}}, {x, 0,
1}, {p, 0, 6}, Boxed -> False, Axes -> False, PlotPoints -> 40]
gb2t = ParametricPlot3D[{-p/2, 17 + 5*(x + p/
10)/2, 1 + 5*g[x]/2, {EdgeForm[]}}, {x, 0, 1}, {p, 0, 6},
Boxed -> False, Axes -> False, PlotPoints -> 40]
Show[{gt1t, gb1t, gt2t, gb2t}, ViewPoint -> {-0.091, -2.263, 2.514}]
(*Wasp waist airfoil body model*)
Clear[g2]
Clear[f, g, h, k, j, i, e, t, x, y, z]
(*Bernoulii pressure equation for constant pressure : p0 =
p - pInfinity = (1/2)*rho*UInfinity*(1 - U^2/UInfinity^2)
such that radius*
Sin[r] = (1/2)*rho*UInfinity : (1 - Cos[r]^2) = (1 - \
U^2/UInfinity^2)*)
x = Cos[t]*(1 - Cos[r]^2)*Sin[r]*(Cos[-Pi + 2.5*Abs[r]])/2;
y = Sin[t]*(1 - Cos[r]^2)*Sin[r]*(Cos[-Pi + 2.5*Abs[r]])/2;
z = Cosh[r];
g2 = ParametricPlot3D[{3*x, 3*(-1 + z), 3*y, {
EdgeForm[]}}, {t, -Pi/2, 3*Pi/2}, {r, 0, Pi - 0.4},
ViewPoint -> {2.8, -1.9, 0.1},
PlotPoints -> {30, 30},
Boxed -> False,
Axes -> False,
LightSources ->
{{{0.7071, 0, 0.7071}, RGBColor[0.9481, 0, 0]},
{{0.5773, 0.5773, 0.5773}, RGBColor[0, 0.8888, 0]},
{{0, 0.7071, 0.7071}, RGBColor[0, 0, 1]}}
];
(*Tail Fin model*)
Clear[x, y, z, n, t, r, p]
x0 = Cos[-Pi + 2*t]*Cos[p]/2;
y0 = Exp[2] - Exp[Sin[-(-Pi + 2*t)] + 1]*Cos[p];
z0 = 3*Pi*Sin[p];
g4 = ParametricPlot3D[{x0/4, y0/2 + 17, z0/2, {EdgeForm[]}}, {t, -Pi,
Pi}, {p, 0, Pi/2}, Axes -> False, Boxed -> False];
(*Two views*)
ga = Show[{gt1, gb1, gt2, gb2, gt1t, gb1t, gt2t, gb2t, g4,
g2}, PlotRange -> All]
Show[ga, ViewPoint -> {-1.215, -1.045, 2.980}]
Export["supercriticalwasp.DXF" , ga, "DXF"] |
|
|