# Plotting an equation describing a Joukowski airfoil

I am trying to plot an equation that will give me a Joukowski airfoil and am having trouble getting any results. The equation that I am using is as follows:

y=Sqrt[(1/4)+(1/64 h^2)-x^2]-(1/8 h)PlusMinus[(3/8) t (1-2 x) Sqrt[1-(2 x)^2]]


where h = 0.08 and t = 0.13, {x, -.5, .5}.

I tried both Plot and ContourPlot and did not get any results. I think I am missing some steps, but I don't know what they are. I need some help on this.

• Where did you get these equations? The plot in Marco's answer looks nothing like the airfoil I'm familiar with. Also, there is a complex formulation of the airfoil, which can be plotted with ParametricPlot[]; why not use that instead? Commented Jun 28, 2016 at 3:43

This is just illustrative.

f[z_] := ReIm[z + 1/z]
Manipulate[
ParametricPlot[{f[Complex @@ v + r Exp[I t]],
ReIm[Complex @@ v + r Exp[I t]]}, {t, 0, 2 Pi},
PlotRange -> {{-5, 5}, {-5, 5}}, Epilog -> {Text[v, {-3, 3}]},
AspectRatio -> Automatic, Frame -> True,
PlotLabel -> (Complex @@ v + r Exp[I t])],
{{v, {0, 0}}, {-4, -4}, {4, 4}, Locator}, {r, 1, 3}]e to get all in one:


I have voted for MarcoB's answer.

• how can you export you Manipulate as gif? Commented Oct 30, 2017 at 3:14
• @PureLine this is not an export but a capture using LICEcap Commented Oct 30, 2017 at 3:17
• thanks for sharing. I have long wondering how it can be achieved. Commented Oct 30, 2017 at 7:11

PlusMinus formats nicely, but it does not have a built-in meaning. You may work around that:

h = 0.08; t = 0.13;

Plot[
Evaluate[
Sqrt[(1/4) + (1/64 h^2) - x^2] - (1/8 h) + {-1, 1} ((3/8) t (1 - 2 x) Sqrt[1 - (2 x)^2])
], {x, -.5, .5}
]


If need be, you could also define your own meaning for PlusMinus:

Clear[PlusMinus]
PlusMinus[a__] := {-1, 1} (a)

3 + PlusMinus[a]
(* Out: {3 - a, 3 + a} *)


As @JM mentioned, however, I suspect that your parametrization may not be the most advantageous; here is a complex parametrization of the Joukowsky transformation (see Wikipedia as well).

The Joukowsky transform is the following transformation of complex numbers:

$$z=\zeta+\frac{1}{\zeta}$$

We can obtain a complex parametrization of the results of the transform $z$ as follows:

Block[{$Assumptions = {chi > 0, eta > 0}, x, y}, zeta = chi + I eta; {x, y} = Together@Simplify@ReIm@ComplexExpand[zeta + 1/zeta] ] (* {(chi*(1 + chi^2 + eta^2))/(chi^2 + eta^2), (eta*(-1 + chi^2 + eta^2))/(chi^2 + eta^2)} *)  The interesting property of the Joukowski transform is the fact that the transform of a circle passing through$\zeta=1$and containing in its interior the point$\zeta=-1$describes the profile of an airfoil. Even more interesting for practical purposes is the fact that the streamlines of the original circular profile (typically easy to calculate) transform to the streamlines of the airfoil profile (otherwise hard to calculate) (see e.g. here). Here is a quick manipulator to visualize those conditions and find some reasonable starting values for such circles: Manipulate[ Graphics[{ PointSize[0.02], Point[{{1, 0}, {-1, 0}}], Circle[center, radius], Inset["Center=" <> ToString@N@center, {-1, 0.5}], Inset["Radius=" <> ToString@InputForm@radius, {0.6, 0.8}] }, Axes -> True ], {{center, {-1/2, 2/10}}, Locator}, {{radius, 1}, 0, 2, 1/10} ]  A good set of values is, for instance, a circle centered at$(-1/8,3\ \sqrt{31}/40)$with radius$1.2\$. We can use a simple parametrization of a circle ({r Cos[t] + xc, r Sin[t] + yc}) toghether with the transformation results obtained above, and use ParametricPlot to generate a plot of the Joukowski-transformed circle:

ParametricPlot[
{chi (chi^2 + eta^2 + 1)/(chi^2 + eta^2),
eta (chi^2 + eta^2 - 1)/(chi^2 + eta^2)
} /. {chi -> r Cos[t] - 1/8, eta -> r Sin[t] + 3 Sqrt@31/41} /. r -> 12/10,
{t, 0, 2 Pi},
PlotRange -> All, PlotRangePadding -> {Scaled[0.05], Scaled[0.25]},
Frame -> True, Axes -> None,
AspectRatio -> 0.4
]


• Thanks for following through. :) I had expected you'd leave it at ParametricPlot[ReIm[(* function *)], ...], but you went above and beyond! Commented Jun 28, 2016 at 23:40
• @J.M. Glad you liked it, and thanks for pointing out the existence of the parametrization! I enjoyed the diversion very much. Commented Jun 29, 2016 at 2:38