File:Zhukovsky transform.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (SVG file, nominally 459 × 176 pixels, file size: 17 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description
English: Airfoil from Zhukovsky transform with explaining plot of used parameters.
Deutsch: Ein Strömungsprofil nach Schukowski Transformation mit erklärender Grafik der verwendeten Parameter.
Date
Source Own work
Author Karsten Adam (talk)

Summary

[edit]

The Zhukovsky transform is given by

Where a is the radius of the reference circle centred at the origin.

The unit circle is a special case giving a flat rectangle on the real axisof length 2. The circle which transforms to the aerfoil shape is defined as shown in the left subplot. To get an instructive airfoil the reference circle has to be moved out of the origin. This offset is written in polar coordinates as the distance from origin and the angle measured clockwise from the negative real axis. The radius is measured from the offset point to . The circle which transforms to the airfoil shape is given by:

The radius of the circle, , which transforms to the airfoil shape, is given by:

The reference angle, β, is given by:

So there are three parameters for the plots above:

  • , the radius of the reference circle at origin
  • , the distance from origin to center of offset circle
  • , the angle clockwise from negative real axis to center of offset circle

The left subplot is created with , and , the right subplot is based on , and .

Matlab/Octave represents curves as a (large) set of (short) straight lines, thus leading to a large number of graphic primitives in SVG, inflating the file size. To reduce this file size, some of the curved lines (the circles) are replaced by native graphic primitives with Inkscape.

After runing the code some more tweaking and optimization on the resulting SVG file took place with Inkscape and other editors.

Source code

[edit]

To create such plot type in Octave

% global setting of whole figure
f = figure; 
set(f, 'Position', [0, 0, 1024, 768]); 

%-----------------------------------
% left subplot, explaining variables
%-----------------------------------
subplot(1,2,1)

% settings of Zhukovsky transform
a = 1;					% radius of reference circle (here: unit circle)
delta = 0.28*pi;			% angle clockwise from negative x axis to center offset
roff = 0.4;				% length of offset vector

% circle to be transformed, calculate parameters
roffvec = roff * (cos(pi - delta) + i * sin(pi -delta));	% center offset as vector
rx = real(roffvec);			% center offset x coordinate
ry = imag(roffvec);			% center offset y coordinate
rc = abs(a - roffvec)			% length of radius of circle to be transformed

% plot main objects
% unit circle, coded as rounded (square) rectangle
rectangle('Position', [-a -a 2*a 2*a], 'Curvature', [1 1], 'EdgeColor','r', 'FaceColor', [.95 .84 .84])
% circle to be transformed, coded as rounded (square) rectangle
rectangle('Position', [(rx-rc) (ry-rc) (2*rc) (2*rc)], 'Curvature', [1 1], 'EdgeColor',[.22 .36 .54])
% line from origin to center offset
line([rx, 0], [ry, 0])			% r offset
% line from center offset to perimeter at a+0*i
line([rx, a], [ry, 0])			% radius of circle to transform
text('Position', [0.5 0.4], 'String', 'rc' )	% example of annotation

% axis settings and additional axis lines
axis("equal");
set(gca,'box','off','xtick',[],'xcolor','w','ytick',[],'ycolor','w')
axismax = 1.8;
line([-axismax, axismax], [0, 0])    		% x axis
line([0, 0], [-axismax, axismax])		% y axis

%---------------------------------------------------
% right subplot: 2 circles and the airfoil transform
%---------------------------------------------------
subplot(1,2,2)

% settings of Zhukovsky transform
a = 1;					% radius of reference circle (here: unit circle)
delta = pi/4;				% angle of offset vector: 45 degree clockwise from negative x axis
roff = 0.14;				% length of offset vector

% circle to be transformed, calculate parameters
roffvec = roff * (cos(pi - delta) + i * sin(pi -delta));	% center offset as vector
rx = real(roffvec);			% center offset x coordinate
ry = imag(roffvec);			% center offset y coordinate
rc = abs(a - roffvec)			% length of radius of circle to be transformed

%-----------------------------------------------
% this is where the transformation magic happens
%-----------------------------------------------
theta = 0:.01:2*pi;			% argument angle in circle to be transformed: array from 0 to 2*pi step by 0.01
zeta = rc .* exp(i.*theta) + roffvec	% circle as set of complex numbers
x = real(zeta + a^2./zeta)
y = imag(zeta + a^2./zeta)

% plot main objects
% reference (unit) circle, coded as rounded (square) rectangle
rectangle('Position', [-a -a 2*a 2*a], 'Curvature', [1 1], 'EdgeColor','g')  %, 'FaceColor', [.95 .84 .84])
% circle to be Zhukovsky transformed, coded as rounded (square) rectangle
rectangle('Position', [(rx-rc) (ry-rc) (2*rc) (2*rc)], 'Curvature', [1 1], 'EdgeColor',[.22 .36 .54])
hold on;				% force more graphics to be plotted in same subplot
% mark center offset with a dot
plot(real(roffvec),imag(roffvec),'Color',[.22 .36 .54])
hold on;				% force more graphics to be plotted in same subplot
% this is the airofoil, the target plot of Zhukovsky transform
plot(x,y,'Color','r')

% axis settings and additional axis lines
xmax = 2.5;
ymax = 1.5;
axis([-xmax, xmax,-ymax, ymax], "equal")
line([-xmax, xmax], [0, 0])    % x axis
line([0, 0], [-ymax, ymax])	% y axis

% output plots to file
%print -dpng airfoil.png  % uncomment this to get a PNG directly
print -dsvg airfoil.svg

Licensing

[edit]
I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current17:23, 4 June 2014Thumbnail for version as of 17:23, 4 June 2014459 × 176 (17 KB)Karsten Adam (talk | contribs){{Information |Description ={{en|1=Airfoil from Zhukovsky transform with explaining plot of used parameters.}} {{de|1=Ein Strömungsprofil nach Schukowski Transformation mit erklärender Grafik der verwendeten Parameter.}} |Source ={{own}} |...

File usage on other wikis

The following other wikis use this file:

Metadata