Joukowsky airfoils

1. Basic knowledge:

The Joukowsky transformation converts a circle to an airfoil. The explanation of the mathematical proces can be read at the book H. Glauert "The elements of Airfoil and Airscrew Theory", ed Cambridge University press, 1926, 1947.

Summary of mathematics involved in Joukowsky transformation:

 Page 1/2 Page 2/2

```2. Output example file "profile.dxf" viewed in CAD program3. Source code (FORTRAN 77):c***************************************************************c      J O U K O W S K I   A I R F O I L S      v 0.1    c      Pere Hernández Casellasc      Laboratori d'envolc      perehc AT geocities DOT comc      Version 2005-02-06c      Adapted to FORTRAN g77 (GNU/Linux)c      Released under the GNU General Public License c      http://www.gnu.orgc***************************************************************        program joukowsky        real x1,y1,x2,y2        real p1x,p1y,p2x,p2y        real c,a,beta        integer color        integer linecolor,pointcolorc       The program creates "profile.dxf" for viewing whit standard CAD packagec       and "profile.txt" standard text file whit x-y airfoil coordinates        open(unit=20,file='profile.dxf')        open(unit=22,file='profile.txt')        x1=0.        y1=0.        x2=100.        y2=80.        color=2        pi=4.*atan(1.)10      CONTINUEc       Basic Joukowsky parameters, enter by hand               c=100. ! Units cm. Chord reference=4c aprox        a=110. ! Radius of circunference to transform (a >=c)        espsil=0.5*((a/c)-1.)        beta=0.02 ! angle BM-BO        step=2*pi/200. ! number of points to plot        write (*,*) "Laboratori d'envol JOUKOWSKY AIRFOILS"        write (*,*) "Released under GNU General Public License"        write (*,*)        write (*,*)c       Angle M-O-A        aa=a*sin(beta)        bb=a*cos(beta)-c        xm=sqrt(aa*aa+bb*bb)        delta=atan(aa/bb)c       Draw ortogonal grid        color=4 ! use your CAD colors        ximin=-600.        ximax=600.        xjmin=-50.        xjmax=50.        xstep=10.        do xj=xjmin,xjmax,xstep        call line(ximin,xj,ximax,xj,color)        end do        do xi=ximin,ximax,xstep        call line(xi,xjmin,xi,xjmax,color)        end doc       Draw the joukowsky airfoil        color=9        do o=0.,2*pi,step        x=xm*cos(delta)+a*cos(o)        y=xm*sin(delta)+a*sin(o)        r=x*x+y*y        if (r.ne.0.) then        xi=x*(1.+c*c/r)        et=y*(1.-c*c/r)        call point(xi,et,color)        end if        end doc       Compute x-y coordinates        do o=0.,2*pi,step        x=xm*cos(delta)+a*cos(o)        y=xm*sin(delta)+a*sin(o)        r=x*x+y*y        if (r.ne.0.) then        xi=x*(1.+c*c/r)        et=y*(1.-c*c/r)        write(*,*) o*180./pi,xi,et        write(22,*) xi,et        end if        end do1000    continue        write (*,*) pi,a,c,b                                                                                                                        !###########################################################c     Close the output .dxf file      write(20,'(/,A,/,I1,/,A)') "ENDSEC",0,"EOF"c     Close units      close (20)      close (22)      end!###################################################################      SUBROUTINE line(p1x,p1y,p2x,p2y,linecolor)c     line P1-P2      integer linecolor      write(20,'(A,/,I1,/,A)') "LINE",8,"default"      write(20,'(I1,/,A)') 6,"CONTINUOUS"      write(20,'(I2,/,F6.1,/,I2,/,F6.1)') 10,p1x,20,p1y      write(20,'(I2,/,F6.1,/,I2,/,F6.1)') 11,p2x,21,p2y      write(20,'(I2,/,I2,/,I2,/,I2,/,I2)') 39,0,62,linecolor,0      return      end      SUBROUTINE point(p1x,p1y,pointcolor)c     punt P1      integer pointcolor      write(20,'(A,/,I1,/,A)') "POINT",8,"default"      write(20,'(I1,/,A)') 6,"CONTINUOUS"      write(20,'(I2,/,F6.1,/,I2,/,F6.1)') 10,p1x,20,p1y      write(20,'(I2,/,I2,/,I2,/,I2,/,I2)') 39,0,62,pointcolor,0      return      end!##############################################################3
```

index