1      SUBROUTINE COORD5
2C
3C***** CALCULATE NACA FIVE DIGIT AIRFOIL COORDINATES
4C
5      COMMON /IWING/ PW, X(60)
6      COMMON / IHT / PHT, XU(60),XL(60)
7      COMMON / IVT / PVT, YUN(60),YLN(60)
8      COMMON / IBW / PBW,L,I,J,K,II,JJ,KK,III,JJJ
9      COMMON / IBH / PBH, THN(60),CAM(60)
10      COMMON /IBWHV/ PBWHV, RHO,T,DELTAY,XOVC,TOVC,ZM,ZP
11      AI=I
12      AJ=J
13      AK=K
14      AII=II
15      AJJ=JJ
16      AKK=KK
17      AIII=III
18      T=AII*.1+AJJ*.01+AKK*.001+AIII*.0001
19      RHO=1.1019*T**2
20      ZP=AJ*.1/2.
21      A=6.*ZP-3.
22      B=-2.+6.*ZP-3.*ZP**2
23      G=B*B/4.+A*A*A/27.
24      IF(G.LT.0.) GO TO 1000
25      D=(-B/2.+G**.5)**(1./3.)
26      E=(-B/2.-G**.5)**(1./3.)
27      ZM=D+E+1.
28      GO TO 1010
29 1000 PHI=ARCCOS((-B/2.)/((-A**3/27.)**.5))
30      ZM=1.+2.*((-A/3.)**.5)*COS(PHI/3.+4.18879)
31 1010 XK=(6.*AI*.01)/(ZP**3-3.*ZM*ZP**2+ZM**2*(3.-ZM)*ZP)
32      DO 1040 M=1,L
33         IF(AK.NE.0.)GO TO 1020
34         YT=5.*T*(.2969*SQRT(X(M))-.126*X(M)-.3516*X(M)**2+.2843*X(M)**3
35     1      -.1015*X(M)**4)
36         IF(X(M).LT.ZM)YC=(1./6.)*XK*(X(M)**3-3.*ZM*X(M)**2+ZM**2*(3.
37     1      -ZM)*X(M))
38         IF(X(M).LT.ZM)ALPHA=ATAN((1./6.)*XK*(3.*X(M)**2-6.*ZM*X(M)+
39     1     ZM**2*(3.-ZM)))
40         IF(X(M).EQ.ZP)YC=AI*.01
41         IF(X(M).EQ.ZP)ALPHA=0.0
42         IF(X(M).GT.ZM)YC=(1./6.)*XK*ZM**3*(1.-X(M))
43         IF(X(M).GT.ZM)ALPHA=ATAN(-(1./6.)*XK*ZM**3)
44         IF(AK.EQ.0.0)GO TO 1030
45 1020    RK=(3.*((ZM-ZP)**2)-ZM**3)/((1.-ZM)**3)
46         ZMX=AI*.01
47         XK=(6.*ZMX)/((ZP-ZM)**3-RK* (1.-ZM)**3*ZP-(ZM**3)*ZP+ZM**3)
48         YT=5.*T*(.2969*SQRT(X(M))-.126*X(M)-.3516*X(M)**2+.2843*X(M)**3
49     1      -.1015*X(M)**4)
50         IF(X(M).LT.ZM)YC=(1./6.)*XK*((X(M)-ZM)**3-RK*X(M)*(1.-ZM)**3
51     1      -ZM**3*X(M)+ZM**3)
52         IF(X(M).LT.ZM)ALPHA=ATAN((1./6.)*XK*(3.*(X(M)-ZM)**2-RK*(1.
53     1      -ZM)**3-ZM**3))
54         IF(X(M).EQ.ZP)YC=AI*.01
55         IF(X(M).EQ.ZP)ALPHA=0.0
56         IF(X(M).GT.ZM)YC=(1./6.)*XK*(RK*(X(M)-ZM)**3-RK*X(M)*(1.-ZM)**3
57     1      -X(M)*ZM**3+ZM**3)
58         IF(X(M).GT.ZM)ALPHA=ATAN((1./6.)*XK*(3.*RK*(X(M)-ZM)**2-RK*
59     1      (1.-ZM)**3-ZM**3))
60 1030    XU(M)=X(M)-YT*SIN(ALPHA)
61         YUN(M)=YC+YT*COS(ALPHA)
62         XL(M)=X(M)+YT*SIN(ALPHA)
63         YLN(M)=YC-YT*COS(ALPHA)
64         CAM(M)=YC
65         IF(CAM(M) .LT. 1.E-05) CAM(M)=0.0
66         THN(M)=YT
67 1040 CONTINUE
68      THN(1)=0.0
69      THN(L)=0.0
70      CAM(1)=0.0
71      CAM(L)=0.0
72      XU(L)=1.
73      YUN(L)=0.0
74      XL(L)=1.
75      YLN(L)=0.0
76      XU(1)=0.0
77      YLN(1)=0.0
78      RETURN
79      END
80