├── .gitignore
├── .project
├── .pydevproject
├── README.md
├── fortran_tools
├── __init__.py
└── fixed2free.py
├── license.txt
└── test
├── __init__.py
├── expected
├── airfol.f90
├── atmos.f90
├── auxout.f90
├── fltcl.f90
├── outpt2.f90
├── subryw.f90
└── supryw.f90
├── input
├── airfol.f
├── atmos.f
├── auxout.f
├── fltcl.f
├── outpt2.f
├── subryw.f
└── supryw.f
├── output
└── README.md
└── test.py
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | fortran_tools
4 |
5 |
6 |
7 |
8 |
9 | org.python.pydev.PyDevBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.python.pydev.pythonNature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.pydevproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | /fortran_tools
7 |
8 | python 2.7
9 | Default
10 |
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #fortran_tools: Python tools for updating old Fortran code
2 |
3 | ## License
4 |
5 | * fortran_tools Copyright (C) 2012 James Goppert, Lenna Peterson
6 | * License: GPL v3
7 | * This program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions. For details see license.txt.
8 |
--------------------------------------------------------------------------------
/fortran_tools/__init__.py:
--------------------------------------------------------------------------------
1 | from fixed2free import Fixed2Free
--------------------------------------------------------------------------------
/fortran_tools/fixed2free.py:
--------------------------------------------------------------------------------
1 | '''
2 | Created on Jul 15, 2012
3 |
4 | @author: jgoppert
5 | '''
6 |
7 | import argparse
8 | import sys
9 | import re
10 |
11 | class Fixed2Free(object):
12 | '''
13 | This class converts fixed format fortran code to free format.
14 | '''
15 |
16 | #misc regex's
17 | re_line_continuation = re.compile('^(\s\s\s\s\s)([^\s])([\s]*)')
18 | re_hollerith = re.compile('[\s,]((\d+)H)')
19 | re_number_spacing = re.compile('([^A-Za-z][\d.]+)[\s]([\d.]+[^A-Za-z])')
20 | re_f77_comment = re.compile('^[cC]')
21 | re_f90_comment = re.compile('^!')
22 |
23 | #variable regex
24 | re_var_end = re.compile('.*[A-Za-z0-9]+$')
25 | re_var_begin = re.compile('(^\s\s\s\s\s)([^\s])([\s]*)([A-Za-z]+[0-9]?)+')
26 |
27 | #number regex
28 | re_number_end = re.compile('.*[\d.eE]+$')
29 | re_number_begin = re.compile('(^\s\s\s\s\s)([^\s])([\s]*)[\d.eE]+')
30 |
31 | #exponent regex
32 | re_exponent_old = re.compile('([\d.]E)[\s]([\d]+)')
33 |
34 | def __init__(self,input_filename,output_filename,style):
35 | '''
36 | Constructor
37 | '''
38 | self.input_filename=input_filename
39 | self.output_filename=output_filename
40 | self.style=style
41 |
42 |
43 |
44 | self.process()
45 |
46 | def process(self):
47 |
48 | #read source
49 | with open(self.input_filename, 'rb') as f:
50 | source = f.readlines()
51 |
52 | #fix source code
53 | for i in xrange(len(source)):
54 | line = source[i]
55 | line = self.remove_new_line(line)
56 | line = self.fix_comment(line)
57 | line = self.truncate_extra_linewidth(line)
58 | line = self.fix_exponents(line)
59 |
60 | if self.is_line_continuation(line):
61 | prev_line_index = self.find_prev_line(source,i)
62 | prev_line = source[prev_line_index]
63 | line,prev_line = self.fix_line_continuation(line,prev_line)
64 | source[prev_line_index] = prev_line
65 |
66 | line = self.fix_number_spacing(line)
67 | source[i] = line
68 |
69 | #write new source
70 | with open(self.output_filename, 'wb') as f:
71 | for line in source:
72 | f.write(line+'\n')
73 |
74 | @staticmethod
75 | def is_line_continuation(line):
76 | if len(line) > 5 and Fixed2Free.re_line_continuation.match(line):
77 | return True
78 | return False
79 |
80 | @staticmethod
81 | def find_prev_line(source,i):
82 | '''
83 | find first non-commented previous line
84 | '''
85 | if i>0:
86 | for j in range(i-1, -1, -1): # -1 since python uses [i-1,-1)
87 | if not Fixed2Free.is_f90_comment(source[j]):
88 | return j
89 | return None
90 |
91 | @staticmethod
92 | def remove_new_line(line):
93 | return re.sub('[\r\n]','', line)
94 |
95 | @staticmethod
96 | def truncate_extra_linewidth(line):
97 | if len(line) > 72:
98 | line = line[:72]
99 | return line
100 |
101 | @staticmethod
102 | def is_f77_comment(line):
103 | return Fixed2Free.re_f77_comment.match(line)
104 |
105 | @staticmethod
106 | def is_f90_comment(line):
107 | return Fixed2Free.re_f90_comment.match(line)
108 |
109 | @staticmethod
110 | def fix_comment(line):
111 | if Fixed2Free.is_f77_comment(line):
112 | line = re.sub('^[Cc]','!', line, count=1)
113 | return line
114 |
115 | @staticmethod
116 | def fix_line_continuation(line,prev_line):
117 | continuation_type = Fixed2Free.find_continuation_type(line,prev_line)
118 |
119 | #if no line continuation found, return
120 | if not continuation_type:
121 | return (line,prev_line)
122 |
123 | #debug
124 | # if continuation_type != "generic":
125 | # print "continuation_type:", continuation_type
126 | # print "source lines: \n",prev_line+'\n',line+'\n'
127 |
128 | #add appropriate continuation to current line
129 | if continuation_type == "hollerith":
130 | line = Fixed2Free.re_line_continuation.sub('\g<1>&\g<3>', line, count=1)
131 | elif continuation_type == "var" or continuation_type == "number" :
132 | line = Fixed2Free.re_line_continuation.sub('\g<1>\g<3>&', line, count=1)
133 | elif continuation_type == "generic":
134 | line = Fixed2Free.re_line_continuation.sub('\g<1>&\g<3>', line, count=1)
135 | else:
136 | raise Exception("unknown continuation type")
137 |
138 | #add line continuation to previous line
139 | prev_line = prev_line + '&'
140 |
141 | return (line,prev_line)
142 |
143 | @staticmethod
144 | def fix_exponents(line):
145 | return Fixed2Free.re_exponent_old.sub('\g<1>+\g<2>', line)
146 |
147 | @staticmethod
148 | def fix_number_spacing(line):
149 | return Fixed2Free.re_number_spacing.sub('\g<1>\g<2>', line)
150 |
151 | @staticmethod
152 | def find_continuation_type(line,prev_line):
153 | '''
154 | Finds line continuation type: hollerith, number, or generic
155 | if not a line continuation, return None
156 | '''
157 | if not Fixed2Free.is_line_continuation(line):
158 | return None
159 |
160 | # test for hollerith continuation
161 | for hollerith in Fixed2Free.re_hollerith.finditer(prev_line):
162 | hollerith_end = hollerith.end(1)+int(hollerith.group(2))+1
163 | prev_line_length = len(prev_line)-1
164 | #print "hollerith wrap detected"
165 | #print "\tline number:", i # note this is prev line number (i-1)+1 since starts at 0
166 | #print "\tline length:", prev_line_length
167 | #print "\thollerith end:", hollerith_end
168 | if (hollerith_end > prev_line_length):
169 | # print "hollerith wrap detected"
170 | # print "\tline number:", i # note this is prev line number (i-1)+1 since starts at 0
171 | # print "\tline length:", prev_line_length
172 | # print "\thollerith end:", hollerith_end
173 | return "hollerith"
174 |
175 | #var continuation
176 | if Fixed2Free.re_var_begin.match(line) and Fixed2Free.re_var_end.match(prev_line):
177 | return "var"
178 |
179 | #number continuation
180 | if Fixed2Free.re_number_begin.match(line) and Fixed2Free.re_number_end.match(prev_line):
181 | return "number"
182 |
183 | return "generic"
184 |
185 | @classmethod
186 | def from_argv(cls,argv):
187 | '''
188 | Constructor from command line arguments
189 | '''
190 | sys.argv = argv
191 | parser = argparse.ArgumentParser(description='Process some integers.')
192 | parser.add_argument('input_filename', metavar='input_file', help='the input filename')
193 | parser.add_argument('output_filename', metavar='output_file', help='the output filename')
194 | parser.add_argument('--style', dest='style', action='store_const',
195 | const=True,default="test", help='style option')
196 | args = parser.parse_args()
197 | return cls(args.input_filename,args.output_filename,args.style)
198 |
199 | if __name__ == '__main__':
200 | Fixed2Free.from_argv(sys.argv)
--------------------------------------------------------------------------------
/test/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arktools/fortran_tools/a4749bec40a7577c22283eb2694345bee8e179e3/test/__init__.py
--------------------------------------------------------------------------------
/test/expected/airfol.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE AIRFOL
2 | !
3 | ! CALCULATE NACA DESIGNATED AIRFOIL COORDINATES
4 | !
5 | REAL A/1.0000000000000000000000000000000&
6 | &111111111111111111/
7 | COMMON /&
8 | &TEST/ C
9 | COMMON /IBODY/ PB,NACA(80)
10 | COMMON /IWING/ PW, X(60)
11 | COMMON / IHT / PHT, XU(60),XL(60)
12 | COMMON / IVT / PVT, YUN(60),YLN(60)
13 | COMMON / IBW / PBW,L,I,J,K,II,JJ,KK,III,JJJ,KKK,LLL
14 | COMMON / IBH / PBH, THN(60),CAM(60)
15 | COMMON /IBWHV/ PBWHV, RHO,TMAX
16 | COMMON /FLOLOG/ DUM(29),PART
17 | LOGICAL DUM,PART
18 | INTEGER A4HW,A4HH,A4HV,A4HF
19 | DIMENSION THN2(60)
20 | DATA A4HW,A4HH,A4HV,A4HF/4HW ,4HH ,4HV ,4HF /
21 | !
22 | ! DECODE THE USERS INPUT NACA DESIGNATION
23 | !
24 | CALL DECODE(NACA,NA)
25 | !
26 | ! CALCULATE THE AIRFOIL COORDINATES
27 | !
28 | IF(PART)WRITE(6,1100)
29 | IF(PART .AND. NACA(6).EQ.A4HW)WRITE(6,1230)
30 | IF(PART .AND. NACA(6).EQ.A4HH)WRITE(6,1240)
31 | IF(PART .AND. NACA(6).EQ.A4HV)WRITE(6,1250)
32 | IF(PART .AND. NACA(6).EQ.A4HF)WRITE(6,1260)
33 | !
34 | GO TO (1000,1010,1020,1030,1040,1050,1060), NA
35 | !
36 | 1000 IF(PART)WRITE(6,1110)I,J,K,II
37 | !
38 | !** CALCULATE NACA 4-DIGIT AIRFOIL COORDINATES
39 | !
40 | CALL COORD4
41 | GO TO 1080
42 | 1010 IF(PART)WRITE(6,1120)I,J,K,II,KK,III
43 | !
44 | !** CALCULATE NACA MODIFIED 4-DIGIT AIRFOIL COORDINATES
45 | !
46 | CALL CORD4M
47 | GO TO 1080
48 | 1020 IF(PART)WRITE(6,1130)I,J,K,II,JJ
49 | !
50 | !** CALCULATE NACA 5-DIGIT AIRFOIL COORDINATES
51 | !
52 | CALL COORD5
53 | GO TO 1080
54 | 1030 IF(PART)WRITE(6,1140)I,J,K,II,JJ,III,JJJ
55 | !
56 | !** CALCULATE NACA MODIFIED 5-DIGIT AIRFOIL COORDINATES
57 | !
58 | CALL CORD5M
59 | GO TO 1080
60 | 1040 IF(PART)WRITE(6,1150)I,J,II,JJ,KK
61 | !
62 | !** CALCULATE NACA 1-SERIES AIRFOIL COORDINATES
63 | !
64 | CALL COORD1
65 | GO TO 1080
66 | 1050 IF(PART .AND. (K .EQ. 0 .AND. II .EQ. 0))&
67 | & WRITE(6,1160)I,J,JJ,KK,III
68 | IF(PART .AND. (K .NE. 0 .AND. II .EQ. 0))&
69 | & WRITE(6,1170)I,J,K,JJ,KK,III
70 | IF(PART .AND. (K .EQ. 0 .AND. II .NE. 0))&
71 | & WRITE(6,1180)I,J,JJ,KK,III
72 | IF(PART .AND. (K .NE. 0 .AND. II .NE. 0))&
73 | & WRITE(6,1190)I,J,K,JJ,KK,III
74 | IF(PART .AND. (JJJ .GE. 1)) WRITE(6,1200)JJJ
75 | !
76 | !** CALCULATE NACA 6-SERIES AIRFOIL COORDINATES
77 | !
78 | CALL COORD6
79 | GO TO 1080
80 | 1060 IF(I.NE.2)GO TO 1070
81 | J=5
82 | K=0
83 | II=0
84 | 1070 IF(PART)WRITE(6,1270)I,J,K,II,JJ,KK,III,JJJ,KKK,LLL
85 | !
86 | !** CALCULATE GEOMTRY FOR SUPERSONIC AIRFOILS
87 | !
88 | CALL CORDSP
89 | !
90 | !** CALCULATE AIRFIOL SECTION X Y COORDINATES OR THICKNESS/CAMBER
91 | ! DISTRIBUTION
92 | !
93 | CALL XYCORD(0,0)
94 | 1080 IF(PART)WRITE(6,1210)
95 | !
96 | DO 1090 M=1,L
97 | THN2(M)=2.*THN(M)
98 | 1090 CONTINUE
99 | IF(PART)WRITE(6,1220)(XU(M),YUN(M),XL(M),YLN(M),X(M),CAM(M),&
100 | & THN2(M),M=1,L)
101 | RETURN
102 | !
103 | 1100 FORMAT(1H1,29X,75HAUTOMATED STABILITY AND CONTROL METHODS PER APRI&
104 | &L 1976 VERSION OF DATCOM )
105 | 1110 FORMAT(1H ,62X,6H NACA ,4I1)
106 | 1120 FORMAT(1H ,60X,6H NACA ,4I1,3H - ,2I1)
107 | 1130 FORMAT(1H ,62X,6H NACA ,5I1)
108 | 1140 FORMAT(1H ,60X,6H NACA ,5I1,3H - ,2I1)
109 | 1150 FORMAT(1H ,61X,6H NACA ,2I1,3H - ,3I1)
110 | 1160 FORMAT(1H ,62X,6H NACA ,2I1,1H-,3I1)
111 | 1170 FORMAT(1H ,60X,6H NACA ,2I1,1H,,I1,1H-,3I1)
112 | 1180 FORMAT(1H ,61X,6H NACA ,2I1,1HA,3I1)
113 | 1190 FORMAT(1H ,60X,6H NACA ,2I1,1H,,I1,1HA,3I1)
114 | 1200 FORMAT(1H ,65X,4HA=0.,I1)
115 | 1210 FORMAT(1H ,3X,15H UPPER ABSCISSA,4X,15H UPPER ORDINATE,4X,&
116 | & 15H LOWER ABSCISSA,4X,15H LOWER ORDINATE,6X,&
117 | & 16HX-FRACTION CHORD,4X,9HMEAN LINE,4X,9HTHICKNESS)
118 | 1220 FORMAT(8X,F8.5,11X,F8.5,10X,F8.5,10X,F8.5,13X,F8.5,10X,&
119 | & F8.5,6X,F8.5)
120 | 1230 FORMAT(1H ,55X,23HWING SECTION DEFINITION)
121 | 1240 FORMAT(1H ,50X,34HHORIZONTAL TAIL SECTION DEFINITION)
122 | 1250 FORMAT(1H ,51X,32HVERTICAL TAIL SECTION DEFINITION)
123 | 1260 FORMAT(1H ,52X,30HVENTRAL FIN SECTION DEFINITION )
124 | 1270 FORMAT(1H ,54X,8H NACA S-,I1,1H-,2I1,1H.,I1,1H-,2I1,1H.,I1,&
125 | & 1H-,2I1,1H.,I1)
126 | END
127 |
--------------------------------------------------------------------------------
/test/expected/atmos.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE ATMOS (A3,A8,A4)
2 | !
3 | ! THIS ROUTINE CALCULATES ATMOSPHERIC PROPERTIES OF THE
4 | ! US STANDARD ATMOSPHERE,1962,ASSUMING AN INVERSE SQUARE
5 | ! GRAVITATIONAL FIELD. THIS ASSUMPTION YIELDS DATA THAT
6 | ! AGREES WITH THE COESA DOCUMENT WITHIN 1 PER CENT AT
7 | ! ALL ALTITUDES UP TO 700 KILOMETERS (2296588 FEET). THE
8 | ! DATA IS ARRANGED IN THE ATMOSPHERE ARRAY, A, AS
9 | ! FOLLOWS
10 | ! A(1) = CS, SPEED OF SOUND, FT/SEC
11 | ! A(2) = (1/CS)(DCS/DZ), SOUND DERIVATIVE, 1/FT
12 | ! A(3) = Z, GEOMETRIC ALTITUDE, FT
13 | ! A(4) = P, PRESSURE, LB/FT2
14 | ! A(5) = DP/DZ, PRESSURE DERIVATIVE, LB/FT3
15 | ! A(6) = RHO, DENSITY, SLUGS/FT3
16 | ! A(7) = (1/RHO)(DRHO/DZ), DENSITY DERIVATIVE, 1/FT
17 | ! A(8) = T, TEMPERATURE, DEG RANKINE
18 | ! A(9) = DT/DZ, TEMPERATURE DERIVATIVE, DEG RANKINE/FT
19 | !
20 | ! VARIOUS CONSTANTS USED
21 | ! EARTH RADIUS = 20890855 FT
22 | ! SPECIFIC HEAT RATIO FOR AIR = 1.4
23 | ! SEA LEVEL VALUES
24 | ! GRAVITATIONAL ACCELERATION = 32.1740484 FT/SEC2
25 | ! MOLECULAR WEIGHT = 28.9644
26 | ! GO*MO/R* = 0.018743418 DEG RANK/FT
27 | !
28 | DIMENSION A( 9),HG(10),ZM(14),WM(14),TM(23),PM(22)
29 | !
30 | ! SET ARRAYS AND CONSTANT VALUES
31 | DATA G0,WM0,R0,GMRS/32.1740484,28.9644,20890855.0,&
32 | & 0.018743418/,HG/-16404.,0.0&
33 | & ,36089.,65617.,104987.,154199.,170604.,200131.,&
34 | & 250186.,291160./,ZM/295276.,328084.,&
35 | & 360892.,393701.,492126.,524934.,557743.,623360.,&
36 | & 754593.,984252.,1312336.,1640420.,1968504.,&
37 | & 2296588./,WM/28.9644,28.88,28.56,&
38 | & 28.07,26.92,26.66,26.4,25.85,24.7,22.66,19.94,&
39 | & 17.94,16.84,16.17/
40 | !
41 | DATA TM/577.17,518.67,389.97,389.97,411.57&
42 | & ,487.17,487.17,454.77,325.17,325.17,379.17,469.17&
43 | & ,649.17,1729.17,1999.17,2179.17,2431.17,2791.17&
44 | & ,3295.17,3889.17,4357.17,4663.17,4861.17/,PM/&
45 | & 3711.0839,2116.2165,472.67563,114.34314,&
46 | & 18.128355,2.3162178,1.2321972,3.8030279E-01,&
47 | & 2.1671352E-02,3.4313478E-03,6.2773411E-04,1.53490&
48 | &91E-04,5.2624212E-05,1.0561806E-05,7.7083076E-06,&
49 | & 5.8267151E-06,3.5159854E-06,1.4520255E-06,3.92905&
50 | &63E-07,8.4030242E-08,2.2835256E-08,7.1875452E-09/
51 | !
52 | A(3) = A3
53 | !
54 | ! CALCULATE G, Z, AND CHECK
55 | !
56 | 1000 Z = A(3)
57 | G = G0*(R0/(R0+Z))**2
58 | IF (Z .GT. 295276.0) GO TO 1040
59 | !
60 | ! TMS LINEAR WITH GEOPOTENTIAL. CALCULATE H AND SEARCH
61 | !
62 | H = R0*Z/(R0+Z)
63 | DO 1010 I= 2,10
64 | J = I - 1
65 | IF (HG(I) .GE. H) GO TO 1020
66 | 1010 CONTINUE
67 | !
68 | ! CALCULATE TMS SLOPE,TMS, AND SET MOL WT STUFF
69 | !
70 | 1020 ELH = (TM(J+1) - TM(J))/(HG(J+1) - HG(J))
71 | TMS = TM(J) + ELH*(H - HG(J))
72 | ELZ = ELH*G/G0
73 | DMDZ = 0.0
74 | EM = WM0
75 | !
76 | ! CHECK TMS SLOPE AND CALCULATE PRESSURE
77 | !
78 | IF (ELH .EQ. 0.0) GO TO 1030
79 | !
80 | ! NON - ZERO SLOPE PRESSURE EQUATION
81 | !
82 | A(4) = PM(J)*(TM(J)/TMS)**(GMRS/ELH)
83 | GO TO 1070
84 | !
85 | ! ZERO SLOPE PRESSURE EQUATION
86 | !
87 | 1030 A(4) = PM(J)*EXP(GMRS*(HG(J)-H)/TMS)
88 | GO TO 1070
89 | !
90 | ! TMS LINEAR WITH Z. SEARCH MATRIX
91 | !
92 | 1040 DO 1050 I = 2,14
93 | J = I + 8
94 | K = I - 1
95 | IF (ZM(I) .GE. Z) GO TO 1060
96 | 1050 CONTINUE
97 | !
98 | ! CALCULATE TMS, SLOPE, AND STUFF
99 | !
100 | 1060 ELZ = (TM(J+1) - TM(J))/(ZM(K+1) - ZM(K))
101 | TMS = TM(J) + ELZ*(Z - ZM(K))
102 | DMDZ = (WM(K+1) - WM(K))/(ZM(K+1) - ZM(K))
103 | EM = WM(K) + DMDZ*(Z - ZM(K))
104 | ZLZ = Z - TMS/ELZ
105 | !
106 | ! PRESSURE EQUATION FOR TMS LINEAR WITH Z
107 | !
108 | A(4) = PM(J)*EXP(GMRS/ELZ*(R0/(R0+ZLZ))**2*((Z-ZM(K))*&
109 | & (R0+ZLZ)/(R0+Z)/(R0+ZM(K)) - ALOG(TMS*(R0+ZM(K)&
110 | & )/TM(J)/(R0+Z))))
111 | !
112 | ! CALCULATE SOUND SPEED AND DERIVATIVE
113 | !
114 | 1070 A(1) = 49.022164*SQRT(TMS)
115 | A(2) = 0.5*ELZ/TMS
116 | !
117 | ! CALCULATE DENSITY, DERIVATIVE, AND PRESSURE DERIVATIVE
118 | !
119 | A(6) = GMRS*A(4)/G0/TMS
120 | A(7) = - (A(6)*G/A(4) + ELZ/TMS)
121 | A(5) = -A(6)*G
122 | !
123 | ! CALCULATE TEMPERATURE, DERIVATIVE, AND LEAVE
124 | !
125 | A(8) = EM*TMS/WM0
126 | A(9) = (EM*ELZ + TMS*DMDZ)/WM0
127 | A8 = A(8)
128 | A4 = A(4)
129 | A1 = A(1)
130 | A6 = A(6)
131 | RETURN
132 | END
133 |
--------------------------------------------------------------------------------
/test/expected/auxout.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE AUXOUT
2 | !
3 | ! WRITE AUXILIARY AND PARTIAL OUTPUTS
4 | !
5 | COMMON /OVERLY/ NLOG,NMACH,I,NALPHA,IG,NF,LF,K
6 | COMMON /IWING/ PWING, WING(400)
7 | COMMON /IHT/ PHT, HT(380)
8 | COMMON /IVT/ PVT, VT(380)
9 | COMMON /IVF/ PVF, VF(380)
10 | COMMON /FLGTCD/ FLC(160)
11 | COMMON /OPTION/ SREF, CBARR, ROUGFC, BLREF
12 | COMMON /SYNTSS/ SYNA(19)
13 | COMMON /POWR/ DYN(213)
14 | COMMON /WINGI/ WINGIN(100)
15 | COMMON /HTI/ HTIN(154)
16 | COMMON /VTI/ VTIN(154), TVTIN(8), VFIN(154)
17 | COMMON /WINGD/ A(195)
18 | COMMON /SBETA/ STB(135), TRA(108), TRAH(108), STBH(135)
19 | COMMON /BDATA/ BD(762)
20 | COMMON /WHWB/ FACT(182), WB(39), HB(39)
21 | COMMON /WBHCAL/ WBT(156)
22 | COMMON /HTDATA/ AHT(195)
23 | COMMON /VTDATA/ AVT(195), AVF(195)
24 | COMMON /WHAERO/ C(51), D(55), CHT(51), DHT(55), DVT(55), DVF(55)
25 | COMMON /SUPWBB/ SWB(61), SHB(61)
26 | COMMON /SUPBOD/ SBD(229)
27 | COMMON /SUPWH/ SLG(141), STG(141)
28 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
29 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,&
30 | & TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,&
31 | & HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,&
32 | & VFPL,VFSC,CTAB
33 | COMMON /CONSNT/ PI, DEG, UNUSED, RAD
34 | COMMON /LEVEL2/ SECOND(23)
35 | COMMON /CASEID/ IDCASE(74),KOUNT,NAMSV(100),IDIM
36 | !
37 | DIMENSION STP(155),FOR1(34),FOR2(26),ICON(8),JCON(6),FOR3(14)
38 | DIMENSION H(1),O(1),P(1),Q(1),R(1),S(1),T(1),ANONE(20),KCON(3)
39 | DIMENSION SLA(31),FOR3A(3)
40 | DIMENSION ICONT(11), FOR(46), OPT(4)
41 | !
42 | EQUIVALENCE (OPT(1),SREF)
43 | EQUIVALENCE (WBT(1),STP(1))
44 | EQUIVALENCE (SLA(1),STB(1)),(DOL2,SECOND(16))
45 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
46 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,&
47 | & TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,&
48 | & HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,&
49 | & VFPL,VFSC,CTAB
50 | LOGICAL NN,NM,DOL2,SUPHYP
51 | CHARACTER*4 FOR,FOR1,FOR2,FOR3,FOR3A,FORSAV,FORSAW,FORSAX
52 | DATA FOR / 4H( ,4H1H0 ,&
53 | & 4H,0P ,4HF6.3,4H,1X ,4H,1X , 4H,1X,,4HF8.2,4H,1X ,4H,1X ,&
54 | & 4H,1X,,4HF8.2,4H,1X ,4H,2X , 4H,1P ,4HE10.,4H4 ,4H,3X ,&
55 | & 4H,0P ,4HF9.3,4H,1X ,4H,4X , 4H,1P ,4HE10.,4H4 ,4H,9X ,&
56 | & 4H,0P ,4HF9.3,4H,1X ,4H,1X , 4H,1X,,4HF8.3,4H,1X ,4H ,&
57 | & 4H,1X,,4HF8.3,4H,1X ,4H , 4H,1X,,4HF8.3,4H,1X ,4H ,&
58 | & 4H,1X,,4HF8.3,4H,1X ,4H) /
59 | DATA FOR1 /&
60 | & 4H(1H , 4H,10X, 4H,1X,, 4HE11.,&
61 | & 4H4,1X, 4H,1X , 4H,1X,, 4HF6. ,&
62 | & 4H2,1X, 4H,1X , 4H,1X,, 4HF5. ,&
63 | & 4H2,1X, 4H,2X , 4H,1X,, 4HF9. ,&
64 | & 4H4,1X, 4H,5X , 4H,1X,, 4HE11.,&
65 | & 4H4,1X, 4H,1X , 4H,1X,, 4HE11.,&
66 | & 4H4,1X, 4H,1X , 4H,1X,, 4HE11.,&
67 | & 4H4,1X, 4H,3X , 4H,1X,, 4HE11.,&
68 | & 4H4 , 4H) /
69 | DATA FOR2 /&
70 | & 4H(1H , 4H,13X, 4H,1X,, 4HF7. ,&
71 | & 4H3,1X, 4H,4X , 4H,1X,, 4HE11.,&
72 | & 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,&
73 | & 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,&
74 | & 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,&
75 | & 4H4,1X, 4H,12X, 4H,1X,, 4HE11.,&
76 | & 4H4 , 4H) /
77 | DATA FOR3 /&
78 | & 4H( , 4H44X , 4H,1X,, 4HF7. ,&
79 | & 4H3,1X, 4H,5X , 4H,1X,, 4HE11.,&
80 | & 4H4,1X, 4H,5X , 4H,1X,, 4HE11.,&
81 | & 4H4 , 4H) /
82 | DATA ICON / 13,7,7,11,4*13 /
83 | DATA JCON / 9,5*13 /
84 | DATA KCON / 9,2*13 /
85 | DATA ICONT / 7, 10*10 /
86 | DATA FOR3A/4HE11.,4H4,1X,4H,5X /
87 | !
88 | ! WRITE AUXILIARY OUTPUTS
89 | !
90 | NN = .FALSE.
91 | NM = .FALSE.
92 | SUPHYP = SUPERS .OR. HYPERS
93 | ANA = 2.*UNUSED
94 | DO 1000 J=1,NALPHA
95 | 1000 ANONE(J) = ANA
96 | IF(BO) LAST=1
97 | IF(WGPL) LAST=2
98 | IF(HTPL) LAST=3
99 | IF(VTPL .OR. VFPL) LAST=4
100 | IF(BO .AND. WGPL) LAST=5
101 | IF(BO .AND. HTPL) LAST=6
102 | IF(BO .AND. (VTPL .OR. VFPL)) LAST=7
103 | IF(BO .AND. WGPL .AND. HTPL) LAST=8
104 | IF(BO .AND. WGPL .AND. (VTPL .OR. VFPL)) LAST=9
105 | IF(BO .AND. WGPL .AND. HTPL .AND. (VTPL .OR. VFPL)) LAST=10
106 | WRITE(6,1550 )
107 | WRITE(6,1560 )
108 | GO TO (1010 ,1020 ,1030 ,1040 ,1050 ,1060 ,1070 ,1080 ,109&
109 | &0 ,1100 ), LAST
110 | 1010 WRITE(6,1570 )
111 | GO TO 1110
112 | 1020 WRITE(6,1580 )
113 | GO TO 1110
114 | 1030 WRITE(6,1590 )
115 | GO TO 1110
116 | 1040 WRITE(6,1600 )
117 | GO TO 1110
118 | 1050 WRITE(6,1610 )
119 | GO TO 1110
120 | 1060 WRITE(6,1620 )
121 | GO TO 1110
122 | 1070 WRITE(6,1630 )
123 | GO TO 1110
124 | 1080 WRITE(6,1640 )
125 | GO TO 1110
126 | 1090 WRITE(6,1650 )
127 | GO TO 1110
128 | 1100 WRITE(6,1660 )
129 | 1110 IF(HEAD) CALL PRCSID
130 | WRITE(6,1670 )
131 | IF(IDIM .EQ. 1) WRITE(6,1680 )
132 | IF(IDIM .EQ. 2) WRITE(6,1690 )
133 | IF(IDIM .EQ. 3) WRITE(6,1700 )
134 | IF(IDIM .EQ. 4) WRITE(6,1710 )
135 | SC = SYNA(13)
136 | XL = 1.0
137 | XR = 1.0
138 | XP = 1.0
139 | XT = 1.0
140 | IF(IDIM .EQ. 2) XL = 12.0
141 | IF(IDIM .EQ. 2) XP = 144.0
142 | IF(IDIM .GE. 3) XP = 0.0208854
143 | IF(IDIM .GE. 3) XR = 0.3048
144 | IF(IDIM .GE. 3) XT = 1.8
145 | IF(IDIM .EQ. 3) XL = 0.3048
146 | IF(IDIM .EQ. 4) XL = 30.48
147 | ALT = FLC(K+96)
148 | VINF = FLC(I+136)
149 | PINF = FLC(K+73)
150 | TINF = FLC(K+116)
151 | IF(ALT .NE. -UNUSED) ALT = ALT *XL
152 | IF(VINF .NE. -UNUSED) VINF = VINF*XL
153 | IF(PINF .NE. -UNUSED) PINF = PINF/XP
154 | IF(TINF .NE. -UNUSED) TINF = TINF/XT
155 | RN = FLC(I+42)/XR
156 | SRF = OPT(1)*XL*XL/(SC*SC)
157 | CBAR = OPT(2)*XL/SC
158 | BLRF = OPT(4)*XL/SC
159 | XCG = SYNA(1)
160 | ZCG = SYNA(5)
161 | IF(XCG .EQ. UNUSED) XCG = 0.0
162 | IF(ZCG .EQ. UNUSED) ZCG = 0.0
163 | IF(BD(11) .NE. UNUSED) XCG = XCG+BD(11)
164 | XBN = BD(11)
165 | XCG = XCG*XL/SC
166 | ZCG = ZCG*XL/SC
167 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,&
168 | & TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,&
169 | & DUM,DUM,NDMF,NAF)
170 | IF(VTPL) XCGMAC=(XCG-SYNA(9)*XL/SC-AVT(195)*XL/SC)-XBN*XL/SC
171 | IF(HTPL) XCGMAC=(XCG-SYNA(6)*XL/SC-AHT(195)*XL/SC)-XBN*XL/SC
172 | IF(WGPL) XCGMAC=(XCG-SYNA(2)*XL/SC-A (195)*XL/SC)-XBN*XL/SC
173 | IF(.NOT. BO) GO TO 1120
174 | !
175 | ! WRITE BODY AUXILIARY OUTPUTS IF BODY PRESENT
176 | !
177 | BD93 = BD(93)*XL*XL/(SC*SC)
178 | BD57 = BD(57)*XL*XL/(SC*SC)
179 | SBD19 = SBD(19)*XL*XL/(SC*SC)
180 | SBD111 = SBD(111)*XL*XL/(SC*SC)
181 | WRITE(6,1470 )
182 | IF(SUBSON)CALL SWRITE(8,FOR1,34,ICON,1,BD93,XCG,ZCG,BD57,&
183 | & BD(61),BD(60),BD(59),ANA,O,P,Q,R,S,T,NN,NM)
184 | IF(TRANSN)CALL SWRITE(8,FOR1,34,ICON,1,BD93,XCG,ZCG,BD57,&
185 | & TRA(78),TRA(76),TRA(79),TRA(80),O,P,Q,R,S,T,NN,NM)
186 | IF(SUPHYP)CALL SWRITE(8,FOR1,34,ICON,1,SBD111,XCG,ZCG,SBD19,&
187 | & SBD(124),SBD(123),SBD(115),ANA,O,P,Q,R,S,T,NN,NM)
188 | 1120 IF(WGPL .OR. HTPL .OR. VTPL) WRITE(6,1480 ) XCGMAC
189 | !
190 | ! WRITE WING DATA IF WING PRESENT
191 | !
192 | IF(.NOT. WGPL) GO TO 1130
193 | WRITE(6,1490 )
194 | IF(SUBSON)&
195 | & CALL AXPRNT(A,WINGIN,D(11),D(12),D(20),D(10),SYNA(2),&
196 | & NN,NM,XL,SC,XBN)
197 | IF(TRANSN)&
198 | & CALL AXPRNT(A,WINGIN,ANA,ANA,WING(1),TRA(42),SYNA(2),&
199 | & NN,NM,XL,SC,XBN)
200 | IF(SUPHYP)&
201 | & CALL AXPRNT(A,WINGIN,SLG(84),SLG(83),SLG(80),SLG(88),SYNA(2),&
202 | & NN,NM,XL,SC,XBN)
203 | !
204 | ! WRITE H.T. DATA IF H.T. PRESENT
205 | !
206 | 1130 IF(.NOT. HTPL) GO TO 1140
207 | WRITE(6,1500 )
208 | IF(SUBSON)&
209 | & CALL AXPRNT(AHT,HTIN,DHT(11),DHT(12),DHT(20),DHT(10),SYNA(6),&
210 | & NN,NM,XL,SC,XBN)
211 | IF(TRANSN)&
212 | & CALL AXPRNT(AHT,HTIN,ANA,ANA,HT(1),TRAH(42),SYNA(6),&
213 | & NN,NM,XL,SC,XBN)
214 | IF(SUPHYP)&
215 | & CALL AXPRNT(AHT,HTIN,STG(84),STG(83),STG(80),STG(88),SYNA(6),&
216 | & NN,NM,XL,SC,XBN)
217 | !
218 | ! WRITE V.T. DATA IF V.T. PRESENT
219 | !
220 | 1140 IF(.NOT. VTPL) GO TO 1150
221 | WRITE(6,1510 )
222 | IF(SUBSON)&
223 | & CALL AXPRNT(AVT,VTIN,DVT(11),DVT(12),DVT(20),DVT(10),SYNA(9),&
224 | & NN,NM,XL,SC,XBN)
225 | IF(TRANSN)&
226 | & CALL AXPRNT(AVT,VTIN,ANA,ANA,ANA,ANA,SYNA(9),&
227 | & NN,NM,XL,SC,XBN)
228 | IF(SUPHYP)&
229 | & CALL AXPRNT(AVT,VTIN,ANA,ANA,VT(1),ANA,SYNA(9),&
230 | & NN,NM,XL,SC,XBN)
231 | !
232 | ! WRITE V.F. DATA IF V.F. PRESENT
233 | !
234 | 1150 IF(.NOT. VFPL) GO TO 1160
235 | WRITE(6,1520 )
236 | IF(SUBSON)&
237 | & CALL AXPRNT(AVF,VFIN,DVF(11),DVF(12),DVF(20),DVF(10),SYNA(12),&
238 | & NN,NM,XL,SC,XBN)
239 | IF(TRANSN)&
240 | & CALL AXPRNT(AVF,VFIN,ANA,ANA,ANA,ANA,SYNA(12),&
241 | & NN,NM,XL,SC,XBN)
242 | IF(SUPHYP)&
243 | & CALL AXPRNT(AVF,VFIN,ANA,ANA,VF(1),ANA,SYNA(12),&
244 | & NN,NM,XL,SC,XBN)
245 | 1160 IF(NN) WRITE(6,1770 )
246 | IF(NM) WRITE(6,1780 )
247 | NN = .FALSE.
248 | NM = .FALSE.
249 | !
250 | !**** WRITE PARTIAL OUTPUTS
251 | !
252 | IF(.NOT. BO) GO TO 1340
253 | IF(LAST .EQ. 1 .OR. LAST .EQ. 7) GO TO 1340
254 | WRITE(6,1550 )
255 | WRITE(6,1560 )
256 | GO TO (1170 ,1180 ,1190 ,1200 ,1210 ,1220 ,1230 ,1240 ,1250 ,1260&
257 | &), LAST
258 | 1170 WRITE(6,1570 )
259 | GO TO 1270
260 | 1180 WRITE(6,1580 )
261 | GO TO 1270
262 | 1190 WRITE(6,1590 )
263 | GO TO 1270
264 | 1200 WRITE(6,1600 )
265 | GO TO 1270
266 | 1210 WRITE(6,1610 )
267 | GO TO 1270
268 | 1220 WRITE(6,1620 )
269 | GO TO 1270
270 | 1230 WRITE(6,1630 )
271 | GO TO 1270
272 | 1240 WRITE(6,1640 )
273 | GO TO 1270
274 | 1250 WRITE(6,1650 )
275 | GO TO 1270
276 | 1260 WRITE(6,1660 )
277 | 1270 IF(HEAD) CALL PRCSID
278 | WRITE(6,1670 )
279 | IF(IDIM .EQ. 1) WRITE(6,1680 )
280 | IF(IDIM .EQ. 2) WRITE(6,1690 )
281 | IF(IDIM .EQ. 3) WRITE(6,1700 )
282 | IF(IDIM .EQ. 4) WRITE(6,1710 )
283 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,&
284 | & TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,&
285 | & DUM,DUM,NDMF,NAF)
286 | IF(.NOT. WGPL) GO TO 1280
287 | IF(SUBSON)WRITE(6,1720 )WB(5),WB(4),WB(3),WB(2),WB(13)
288 | IF(TRANSN)WRITE(6,1720 )TRA(72),TRA(71),SWB(11),SWB(35),TRA(106)
289 | IF(SUPHYP)WRITE(6,1720 )SWB(7),SWB(33),SWB(11),SWB(35),SWB(8)
290 | 1280 IF(.NOT. HTPL) GO TO 1290
291 | IF(SUBSON)WRITE(6,1730 )WBT(4),WBT(3),WBT(2),WBT(1),HB(13)
292 | IF(TRANSN)WRITE(6,1730 )TRAH(72),TRAH(71),SHB(11),SHB(35),TRAH(106&
293 | &)
294 | IF(SUPHYP)WRITE(6,1730 )STP(68),STP(67),STP(65),STP(66),SHB(8)
295 | 1290 IF(.NOT. (WGPL .OR. HTPL)) GO TO 1340
296 | IF(STB(117) .EQ. UNUSED) GO TO 1300
297 | IF(WGPL .AND. (SUBSON .OR. TRANSN)) WRITE(6,1540 ) STB(117)
298 | 1300 IF(.NOT. SUBSON) GO TO 1310
299 | WRITE(6,1740 )
300 | IF(WGPL .AND. HTPL)&
301 | & CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),FACT(2),FACT(42),&
302 | & FACT(143),FACT(22),WBT(46),H,H,O,P,Q,R,S,T,NN,NM)
303 | IF(WGPL .AND. .NOT. HTPL)&
304 | & CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),FACT(2),ANONE,&
305 | & ANONE,FACT(22),ANONE,H,H,O,P,Q,R,S,T,NN,NM)
306 | GO TO 1320
307 | 1310 IF(TRANSN) GO TO 1320
308 | WRITE(6,1740 )
309 | IF(WGPL .AND. HTPL)&
310 | & CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),SWB(12),STP(71),&
311 | & STP(133),SWB(40),STP(111),H,H,O,P,Q,R,S,T,NN,NM)
312 | IF(WGPL .AND. .NOT. HTPL)&
313 | & CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),SWB(12),ANONE,&
314 | & ANONE,SWB(40),ANONE,H,H,O,P,Q,R,S,T,NN,NM)
315 | 1320 CONTINUE
316 | IF(TRANSN .OR. HYPERS .OR. .NOT. DAMP) GO TO 1330
317 | WRITE(6,1760 )DYN(176),DYN(68),DYN(95),DYN(177),DYN(180)
318 | WRITE(6,1790 )
319 | KSAVE=KCON(1)
320 | KCON(1)=11
321 | FORSAV=FOR3(4)
322 | FORSAW=FOR3(5)
323 | FORSAX=FOR3(6)
324 | FOR3(4)=FOR3A(1)
325 | FOR3(5)=FOR3A(2)
326 | FOR3(6)=FOR3A(3)
327 | STB67=STB(67)
328 | SLA9=SLA(9)
329 | C4=C(4)
330 | CHT4=CHT(4)
331 | IF(STB(67) .EQ. UNUSED) STB67=2.*UNUSED
332 | IF(SLA(9) .EQ. UNUSED) SLA9=2.*UNUSED
333 | IF(C(4) .EQ. UNUSED) C4=2.*UNUSED
334 | IF(CHT(4) .EQ. UNUSED) CHT4=2.*UNUSED
335 | IF(SUBSON)CALL SWRITE(3,FOR3,14,KCON,1,STB67,C4,CHT4,&
336 | & H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
337 | IF(SUPERS)CALL SWRITE(3,FOR3,14,KCON,1,SLA9,C4,CHT4,&
338 | & H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
339 | KCON(1)=KSAVE
340 | FOR3(4)=FORSAV
341 | FOR3(5)=FORSAW
342 | FOR3(6)=FORSAX
343 | 1330 CONTINUE
344 | IF(.NOT. (WGPL .AND. HTPL)) GO TO 1340
345 | IF(WINGIN(4)/HTIN(4) .GE. 1.5) GO TO 1340
346 | WRITE(6,1750 )
347 | CALL SWRITE(3,FOR3,14,KCON,NALPHA,FLC(23),FACT(102),FACT(122),&
348 | & H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
349 | 1340 CONTINUE
350 | IF(NN) WRITE(6,1770 )
351 | IF(NM) WRITE(6,1780 )
352 | IF(LAST .EQ. 1 .OR. LAST .EQ. 4 .OR. LAST .EQ. 7) GO TO 1460
353 | !
354 | ! WRITE SECOND LEVEL METHOD DATA IF AVAILABLE
355 | !
356 | IF(.NOT. TRANSN) GO TO 1460
357 | IF(.NOT. DOL2) GO TO 1460
358 | WRITE(6,1550 )
359 | WRITE(6,1560 )
360 | GO TO (1350 ,1360 ,1370 ,1380 ,1390 ,1400 ,1410 ,1420 ,1430 ,1440&
361 | &), LAST
362 | 1350 WRITE(6,1570 )
363 | GO TO 1450
364 | 1360 WRITE(6,1580 )
365 | GO TO 1450
366 | 1370 WRITE(6,1590 )
367 | GO TO 1450
368 | 1380 WRITE(6,1600 )
369 | GO TO 1450
370 | 1390 WRITE(6,1610 )
371 | GO TO 1450
372 | 1400 WRITE(6,1620 )
373 | GO TO 1450
374 | 1410 WRITE(6,1630 )
375 | GO TO 1450
376 | 1420 WRITE(6,1640 )
377 | GO TO 1450
378 | 1430 WRITE(6,1650 )
379 | GO TO 1450
380 | 1440 WRITE(6,1660 )
381 | 1450 IF(HEAD) CALL PRCSID
382 | WRITE(6,1670 )
383 | IF(IDIM .EQ. 1) WRITE(6,1680 )
384 | IF(IDIM .EQ. 2) WRITE(6,1690 )
385 | IF(IDIM .EQ. 3) WRITE(6,1700 )
386 | IF(IDIM .EQ. 4) WRITE(6,1710 )
387 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,&
388 | & TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,&
389 | & DUM,DUM,NDMF,NAF)
390 | CALL PRNSEC(LAST)
391 | 1460 WRITE(6,1530 )
392 | !
393 | RETURN
394 | 1470 FORMAT(//55X,21HBASIC BODY PROPERTIES//12X,11HWETTED AREA,6X,&
395 | & 3HXCG,5X,3HZCG,5X,9HBASE AREA,5X,14HZERO LIFT DRAG,3X,&
396 | & 9HBASE DRAG,3X,13HFRICTION DRAG,3X,13HPRESSURE DRAG)
397 | 1480 FORMAT(//41X,45HXCG RELATIVE TO THEORETICAL LEADING EDGE MAC=,F7.2&
398 | & ///55X,25HBASIC PLANFORM PROPERTIES//36X,5HTAPER,5X,6HASPECT,3X,&
399 | & 13HQUARTER CHORD,13X,13HQUARTER CHORD,14X,9HZERO LIFT,4X,&
400 | & 8HFRICTION/25X,4HAREA,7X,5HRATIO,6X,5HRATIO,7X,5HSWEEP,8X,&
401 | & 3HMAC,8X,6HX(MAC),7X,6HY(MAC),8X,4HDRAG,5X,11HCOEFFICIENT)
402 | 1490 FORMAT(1H0,6X,4HWING)
403 | 1500 FORMAT(1H0,2X,15HHORIZONTAL TAIL)
404 | 1510 FORMAT(1H0,3X,13HVERTICAL TAIL)
405 | 1520 FORMAT(1H0,4X,11HVENTRAL FIN)
406 | 1530 FORMAT(1H1)
407 | 1540 FORMAT(1H0,38X,38HSIDEWASH, (1 + D(SIGMA)/D(BETA))QV/Q =,1PE14.7)
408 | 1550 FORMAT(1H1,29X,72HAUTOMATED STABILITY AND CONTROL METHODS PER APRI&
409 | &L 1976 VERSION OF DATCOM)
410 | 1560 FORMAT(45X,42HCONFIGURATION AUXILIARY AND PARTIAL OUTPUT)
411 | 1570 FORMAT(51X,31HDATCOM BODY ALONE CONFIGURATION)
412 | 1580 FORMAT(54X,24HWING ALONE CONFIGURATION)
413 | 1590 FORMAT(52X,29HHORIZONTAL TAIL CONFIGURATION)
414 | 1600 FORMAT(53X,27HVERTICAL TAIL CONFIGURATION)
415 | 1610 FORMAT(55X,23HWING-BODY CONFIGURATION)
416 | 1620 FORMAT(49X,34HBODY-HORIZONTAL TAIL CONFIGURATION)
417 | 1630 FORMAT(50X,32HBODY-VERTICAL TAIL CONFIGURATION)
418 | 1640 FORMAT(47X,39HWING-BODY-HORIZONTAL TAIL CONFIGURATION)
419 | 1650 FORMAT(48X,37HWING-BODY-VERTICAL TAIL CONFIGURATION)
420 | 1660 FORMAT(40X,53HWING-BODY-VERTICAL TAIL-HORIZONTAL TAIL CONFIGURATIO&
421 | &N)
422 | 1670 FORMAT(55H ----------------------- FLIGHT CONDITIONS ----------,&
423 | & 14H--------------,11X,25H-------------- REFERENCE,&
424 | & 25H DIMENSIONS ------------/2X,16HMACH ALTITUDE,&
425 | & 3X,48HVELOCITY PRESSURE TEMPERATURE REYNOLDS,&
426 | & 13X,47HREF. REFERENCE LENGTH MOMENT REF. CENTER/&
427 | & 7H NUMBER,55X,6HNUMBER,14X,4HAREA,7X,5HLONG.,5X,4HLAT.,&
428 | & 5X,15HHORIZ VERT)
429 | 1680 FORMAT(13X,2HFT,7X,6HFT/SEC,5X,8HLB/FT**2,7X,5HDEG R,9X,4H1/FT,&
430 | & 15X,5HFT**2,1X,4(7X,2HFT,1X))
431 | 1690 FORMAT(13X,2HIN,7X,6HIN/SEC,5X,8HLB/IN**2,7X,5HDEG R,9X,4H1/FT,&
432 | & 15X,5HIN**2,1X,4(7X,2HIN,1X))
433 | 1700 FORMAT(13X,2H M,7X,6H M/SEC,5X,8H N/ M**2,7X,5HDEG K,9X,4H1/ M,&
434 | & 15X,5H M**2,1X,4(7X,2H M,1X))
435 | 1710 FORMAT(13X,2HCM,7X,6HCM/SEC,5X,8H N/CM**2,7X,5HDEG K,9X,4H1/ M,&
436 | & 15X,5HCM**2,1X,4(7X,2HCM,1X))
437 | 1720 FORMAT(1H0,10X,9HCLA-B(W)=,1PE10.3,5X,9HCLA-W(B)=,E10.3,5X,&
438 | & 7HK-B(W)=,E10.3,5X,7HK-W(B)=,E10.3,5X,11HXAC/C-B(W)=,E10.3)
439 | 1730 FORMAT(1H0,10X,9HCLA-B(H)=,1PE10.3,5X,9HCLA-H(B)=,E10.3,5X,&
440 | & 7HK-B(H)=,E10.3,5X,7HK-H(B)=,E10.3,5X,11HXAC/C-B(H)=,E10.3)
441 | 1740 FORMAT(///16X,5HALPHA,9X,7HIV-B(W),10X,7HIV-W(H),&
442 | & 10X,7HIV-B(H),10X,6HGAMMA/,18X,6HGAMMA//78X,14H2*PI*ALPHA*V*R,&
443 | & 9X,17H(2*PI*ALPHA*V*R)T)
444 | 1750 FORMAT(///55X,25HCANARD EFFECTIVE DOWNWASH/47X,5HALPHA,6X,&
445 | & 12H(EPSOLN)EFF.,5X,23HD(EPSOLN)/D(ALPHA) EFF.)
446 | 1760 FORMAT(//50X,31HDYNAMIC DERIVATIVE INCREMENTALS /&
447 | & 10X,17HCLP(GAMMA=CL=0) =,1PE11.4,&
448 | & 5X,26HCLP(GAMMA)/CLP (GAMMA=0) =,E11.4,&
449 | & 6X,11HCNP/THETA =,E11.4/&
450 | & 30X,11HCYP/GAMMA =,E11.4,&
451 | & 20X,15HCYP/CL (CL=0) =,E11.4/)
452 | 1770 FORMAT(45H0*** NDM PRINTED WHEN NO DATCOM METHODS EXIST)
453 | 1780 FORMAT(42H0*** NA PRINTED WHEN METHOD NOT APPLICABLE)
454 | 1790 FORMAT(45X,9HCLB/GAMMA,8X,12H(CMO/THETA)W,5X,12H(CMO/THETA)H)
455 | END
456 |
--------------------------------------------------------------------------------
/test/expected/fltcl.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE FLTCL(FOT,IFOT,NTRIM,CLUT,CDUT,CMUT,DELT,&
2 | & DCLT,DCLMT,DCDIT,DCDMT,CDHT,CLT,CDT,&
3 | & ICASE)
4 | !
5 | COMMON /OPTION/ SREF,CBARR,ROUGFC,BLREF
6 | COMMON /CONSNT/ PI,DEG,UNUSED,RAD
7 | COMMON /FLGTCD/ FLC(156),WT,GAM,NALT,LOOP
8 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA,IG,NF,LF,IALT
9 | COMMON /CASEID/ JCASE(175),IDIM
10 | !
11 | DIMENSION FOT(46),IFOT(11),CLUT(20),CDUT(20),CMUT(20)
12 | DIMENSION DELT(20),DCLT(20),DCLMT(20),DCDIT(20),DCDMT(20)
13 | DIMENSION CDHT(20),CLT(20),CDT(20)
14 | DIMENSION CWT(20),MACH(20),PINF(20)
15 | DIMENSION ALP(1),CL(1),CD(1),CLUE(1),CDUE(1),CMUE(1)
16 | DIMENSION DELE(1),DCLE(1),CLME(1),CLIE(1),CDME(1),CHDE(1)
17 | DIMENSION CHAE(1),WDIM(4),ROUTID(2),CC(6)
18 | !
19 | LOGICAL FLAG
20 | CHARACTER*4 FOT
21 | REAL MACH
22 | EQUIVALENCE (MACH(1),FLC(3)),(PINF(1),FLC(74))
23 | !
24 | DATA WDIM / 4H LB., 4H LB., 4H N. , 4H N. /
25 | DATA ROUTID / 4HFLTC, 4HL /
26 | !
27 | !*** ICASE = 1 - TRIM WITH FLAPS
28 | !*** ICASE = 2 - ALL MOVEABLE HORIZONTAL TAIL TRIM
29 | !
30 | IF(ICASE .NE. 1) GO TO 1010
31 | DO 1000 I=1,NTRIM
32 | CLT(I) = CLUT(I)+DCLT(I)
33 | CDT(I) = CDUT(I)+DCDMT(I)+DCDIT(I)
34 | 1000 CONTINUE
35 | 1010 CONTINUE
36 | !
37 | !*** CALCULATE CW AND TEST FOR CWT RANGE
38 | !
39 | QS = SREF*(0.7*PINF(IALT)*MACH(IM)**2)
40 | CW = WT/QS
41 | DO 1020 I=1,NTRIM
42 | CWT(I) = CLT(I)*COS(GAM/RAD)-CDT(I)*SIN(GAM/RAD)
43 | 1020 CONTINUE
44 | FLAG = (CW .GT. CWT(NTRIM)) .OR. (CW .LT. CWT(1))
45 | IF(FLAG) WRITE(6,1060)WT,WDIM(IDIM),CW
46 | !
47 | !*** FIND EQUILIBRIUM ANGLE OF ATTACK AND TRIM DATA
48 | !
49 | IF(FLAG) GO TO 1050
50 | IN=0
51 | CALL TBFUNX(CW,ALP(1),DYDX,NTRIM,CWT,FLC(23),CC,IN,&
52 | & MI,NG,0,0,4HALPE,1,ROUTID)
53 | IN=0
54 | CALL TBFUNX(ALP(1),CL(1),DYDX,NTRIM,FLC(23),CLT,CC,IN,&
55 | & MI,NG,0,0,4HCLTE,1,ROUTID)
56 | IN=0
57 | CALL TBFUNX(ALP(1),CD(1),DYDX,NTRIM,FLC(23),CDT,CC,IN,&
58 | & MI,NG,0,0,4HCDTE,1,ROUTID)
59 | IF(ICASE .NE. 1)GO TO 1030
60 | IN = 0
61 | CALL TBFUNX(ALP(1),CLUE(1),DYDX,NTRIM,FLC(23),CLUT,CC,IN,&
62 | & MI,NG,0,0,4HCLUE,1,ROUTID)
63 | IN = 0
64 | CALL TBFUNX(ALP(1),CDUE(1),DYDX,NTRIM,FLC(23),CDUT,CC,IN,&
65 | & MI,NG,0,0,4HCDUE,1,ROUTID)
66 | IN = 0
67 | CALL TBFUNX(ALP(1),CMUE(1),DYDX,NTRIM,FLC(23),CMUT,CC,IN,&
68 | & MI,NG,0,0,4HCMUE,1,ROUTID)
69 | IN = 0
70 | CALL TBFUNX(ALP(1),DELE(1),DYDX,NTRIM,FLC(23),DELT,CC,IN,&
71 | & MI,NG,0,0,4HDELE,1,ROUTID)
72 | IN = 0
73 | CALL TBFUNX(ALP(1),DCLE(1),DYDX,NTRIM,FLC(23),DCLT,CC,IN,&
74 | & MI,NG,0,0,4HDCLE,1,ROUTID)
75 | IN = 0
76 | CALL TBFUNX(ALP(1),CLME(1),DYDX,NTRIM,FLC(23),DCLMT,CC,IN,&
77 | & MI,NG,0,0,4HCLME,1,ROUTID)
78 | IN = 0
79 | CALL TBFUNX(ALP(1),CLIE(1),DYDX,NTRIM,FLC(23),DCLIT,CC,IN,&
80 | & MI,NG,0,0,4HCLIE,1,ROUTID)
81 | IN = 0
82 | CALL TBFUNX(ALP(1),CDME(1),DYDX,NTRIM,FLC(23),DCDMT,CC,IN,&
83 | & MI,NG,0,0,4HCDME,1,ROUTID)
84 | IN = 0
85 | CALL TBFUNX(ALP(1),CHDE(1),DYDX,NTRIM,FLC(23),CHDT,CC,IN,&
86 | & MI,NG,0,0,4HCHDE,1,ROUTID)
87 | CHAE(1) = 0.0
88 | WRITE(6,1070)
89 | CALL SWRITE(11,FOT,46,IFOT,1,ALP,CLUE,CDUE,CMUE,&
90 | & DELE,DCLE,CLME,CDIE,CDME,CHAE,CHDE,&
91 | & X,X,X,NDM,NAF)
92 | 1030 CONTINUE
93 | IF(ICASE .NE. 2) GO TO 1040
94 | WRITE(6,1070)
95 | WRITE(6,1080) ALP(1),CL,CD
96 | 1040 CONTINUE
97 | 1050 CONTINUE
98 | RETURN
99 | 1060 FORMAT(39H0*** REQUIRED LIFT COEFFICIENT EXCEEDS ,&
100 | & 18HRANGE OF TRIM DATA /&
101 | & 22H0*** VEHICLE WEIGHT = ,F9.2,A4/&
102 | & 36H0*** LEVEL FLIGHT LIFT COEFFICIENT = ,F8.5)
103 | 1070 FORMAT(1H )
104 | 1080 FORMAT(1H0,52X,F5.1,3X,F6.3,3X,F6.3)
105 | END
106 |
--------------------------------------------------------------------------------
/test/expected/outpt2.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE OUTPT2
2 | !
3 | ! THIS SUBROUTINE WRITES THE HIGH LIFT AND CONTROL DATA
4 | !
5 | COMMON /FLAPIN/ F(138)
6 | COMMON /SYNTSS/ SYNA(19)
7 | COMMON /FLGTCD/ FLC(160)
8 | COMMON /OPTION/ OPT(4)
9 | COMMON /CONSNT/ PI, DEG, UNUSED, RAD
10 | COMMON /POWR/ PW(315)
11 | COMMON /OVERLY/ NLOG,NMACH,M,NALPHA,IG,NF,LF,K
12 | COMMON /WINGI/ WINGIN(101)
13 | COMMON /HTI/ HTIN(131)
14 | COMMON /BDATA/ BD(762)
15 | COMMON /CASEID/ IDCASE(74),KOUNT,NAMSV(100),IDIM
16 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
17 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,&
18 | & TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,&
19 | & HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,&
20 | & VFPL,VFSC,CTAB
21 | DIMENSION TRM(22), TRM2(22), ALPHA(20)
22 | EQUIVALENCE (TRM(1),TRM2(1),PW(294)), (ALPHA(1),FLC(23))
23 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
24 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,&
25 | & TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,&
26 | & HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,&
27 | & VFPL,VFSC,CTAB
28 | LOGICAL NDMF,NAF,FLAG
29 | !
30 | COMMON /IBODY/ PBODY, BODY(400)
31 | COMMON /IWING/ PWING, WING(400)
32 | COMMON /IHT/ PHT, HT(380)
33 | COMMON /IVT/ PVT, VT(380)
34 | COMMON /IBW/ PBW, BW(380)
35 | COMMON /IBH/ PBH, BH(380)
36 | COMMON /IBV/ PBV, BV(380)
37 | COMMON /IBWH/ PBWH, BWH(380)
38 | COMMON /IBWHV/ PBWHV, BWHV(380)
39 | !
40 | ! SYMMETRICAL FLAP DATA DEFINITION
41 | !
42 | DIMENSION DCDI(200), DCL(10), DCM(10), DCLMAX(10), DCDMIN(10),&
43 | & DCLAD(10), CHA(10), CHD(10)
44 | DIMENSION DELTA(10)
45 | EQUIVALENCE (DCDI(1),BODY(201)), (DCL(1),WING(201)),&
46 | & (DCM(1),WING(211)), (DCLMAX(1),WING(221)),&
47 | & (DCDMIN(1),WING(231)), (DCLAD(1),WING(241)),&
48 | & (CHA(1),WING(251)), (CHD(1),WING(261))
49 | EQUIVALENCE (DELTA(1),F(1)), (FTYPE,F(17))
50 | !
51 | ! CONTROL TAB DATA DEFINITION
52 | !
53 | DIMENSION CHCTF(20,9),CHCTL(20,9),DCHCG(20,9),CFC(20,9),&
54 | & FC(20,9),DTT(20,9)
55 | EQUIVALENCE (CFC(1,1),FC(1,1),BW(201)),(CHCTF(1,1),BH(201)),&
56 | & (CHCTL(1,1),BV(201)),(DCHCG(1,1),BWH(201)),&
57 | & (DTT(1,1),BWHV(201))
58 | !
59 | ! ASYMMETRICAL FLAP DATA DEFINITION
60 | !
61 | DIMENSION CNAD(200), CLAD(200), DDELTA(10), CLD(10), CND(10)
62 | DIMENSION DELTAD(10), DELTAL(10), DELTAR(10), DELTAS(10),&
63 | & XSOC(10), HSOC(10)
64 | EQUIVALENCE (CNAD(1),BODY(201)), (CLAD(1),WING(201)),&
65 | & (DELTAD(1),F(1)), (STYPE,F(18)), (DELTAL(1),F(19)),&
66 | & (DELTAR(1),F(29)), (DELTAS(1),F(39)),&
67 | & (XSOC(1),F(49)), (HSOC(1),F(60)), (DDELTA(1),HT(201)),&
68 | & (CLD(1),HT(211)), (CND(1),HT(221))
69 | !
70 | ! TRIM DATA DEFINITION
71 | !
72 | DIMENSION CLUT(20), CDUT(20), CMUT(20), DELT(20), DCLT(20),&
73 | & DCLMT(20), DCDIT(20), DCDMT(20), CHAT(20), CHDT(20)
74 | DIMENSION HMUNT(20), ALINT(20), CDTRM(20), CLTRM(20), CMTRM(20),&
75 | & HMTRM(20), CDWBT(20), CLWBT(20)
76 | EQUIVALENCE (CLUT(1),HT(201)), (CDUT(1),HT(221)),&
77 | & (CMUT(1),HT(241)), (DELT(1),VT(201)), (DCLT(1),VT(221)),&
78 | & (DCLMT(1),VT(241)), (DCDIT(1),VT(261)),&
79 | & (DCDMT(1),VT(281)), (CHAT(1),VT(301)),&
80 | & (CHDT(1),VT(321))
81 | EQUIVALENCE (HMUNT(1),HT(201)), (ALINT(1),HT(221)),&
82 | & (CDTRM(1),HT(241)), (CLTRM(1),HT(261)),&
83 | & (CMTRM(1),HT(281)), (HMTRM(1),HT(301)),&
84 | & (CDWBT(1),VT(201)), (CLWBT(1),VT(221))
85 | DIMENSION FOR(34), IFOR(8)
86 | DIMENSION FOT(46), IFOT(11)
87 | DIMENSION IFOH(11), FOH(46)
88 | CHARACTER*4 FOR,FOT,FOH
89 | !
90 | DATA FOR /&
91 | & 4H(0P , 4H5X , 4H,1X , 4H,F5., 4H1,1X, 4H,2X ,&
92 | & 4H,1X , 4H,F6., 4H3 , 4H,4X ,&
93 | & 4H , 4H,F7., 4H4 , 4H,3X ,&
94 | & 4H,1X , 4H,F6., 4H3 , 4H,6X ,&
95 | & 4H , 4H,F7., 4H5 , 4H,15X,&
96 | & 4H,1P , 4H E10, 4H.3 , 4H,2X ,&
97 | & 4H,1P , 4H E10, 4H.3 , 4H,2X ,&
98 | & 4H,1P , 4H E10, 4H.3 , 4H) /
99 | DATA IFOR / 5*7, 3*10 /
100 | !
101 | DATA FOT /&
102 | & 4H(0P , 4H4X , 4H,1X , 4H,F5., 4H1,1X, 4H,1X ,&
103 | & 4H,1X , 4H,F6., 4H3 , 4H,3X ,&
104 | & 4H,1X , 4H,F6., 4H3 , 4H,3X ,&
105 | & 4H , 4H,F7., 4H4 , 4H,2X ,&
106 | & 4H,1X , 4H,F5., 4H1,1X, 4H,1X ,&
107 | & 4H,1X , 4H,F6., 4H3 , 4H,4X ,&
108 | & 4H,1X , 4H,F6., 4H3 , 4H,5X ,&
109 | & 4H,1P , 4H E9., 4H2 , 4H,2X ,&
110 | & 4H,0P , 4H F8., 4H5,1X, 4H,2X ,&
111 | & 4H,1P , 4H E10, 4H.3 , 4H,3X ,&
112 | & 4H,1P , 4H E10, 4H.3 , 4H) /
113 | DATA IFOT / 7*7, 2*9, 2*10 /
114 | DATA IFOH / 8, 10*10 /
115 | DATA FOH / 4H( ,4H1H0 ,&
116 | & 4H,0P ,4HF6.3,4H,1X ,4H,1X , 4H,1X,,4HF8.2,4H,1X ,4H,1X ,&
117 | & 4H,1X,,4HF8.2,4H,1X ,4H,2X , 4H,1P ,4HE10.,4H4 ,4H,3X ,&
118 | & 4H,0P ,4HF9.3,4H,1X ,4H,4X , 4H,1P ,4HE10.,4H4 ,4H,9X ,&
119 | & 4H,0P ,4HF9.3,4H,1X ,4H,1X , 4H,1X,,4HF8.3,4H,1X ,4H ,&
120 | & 4H,1X,,4HF8.3,4H,1X ,4H , 4H,1X,,4HF8.3,4H,1X ,4H ,&
121 | & 4H,1X,,4HF8.3,4H,1X ,4H) /
122 | !
123 | !
124 | DATA WINGP / 4HWING /, TAILP / 4HTAIL /, STRA / 4HSTRA /
125 | !
126 | NDELTA = F(16)+0.5
127 | SC = SYNA(13)
128 | XL = 1.0
129 | XR = 1.0
130 | XP = 1.0
131 | XT = 1.0
132 | IF(IDIM .EQ. 2) XL = 12.0
133 | IF(IDIM .EQ. 2) XP = 144.0
134 | IF(IDIM .GE. 3) XP = 0.0208854
135 | IF(IDIM .GE. 3) XR = 0.3048
136 | IF(IDIM .GE. 3) XT = 1.8
137 | IF(IDIM .EQ. 3) XL = 0.3048
138 | IF(IDIM .EQ. 4) XL = 30.48
139 | ALT = FLC(K+96)
140 | VINF = FLC(M+136)
141 | PINF = FLC(K+73)
142 | TINF = FLC(K+116)
143 | IF(ALT .NE. -UNUSED) ALT = ALT *XL
144 | IF(VINF .NE. -UNUSED) VINF = VINF*XL
145 | IF(PINF .NE. -UNUSED) PINF = PINF*XP
146 | IF(TINF .NE. -UNUSED) TINF = TINF*XT
147 | RN = FLC(M+42)*XR
148 | SREF = OPT(1)*XL*XL/(SC*SC)
149 | CBAR = OPT(2)*XL/SC
150 | BLRF = OPT(4)*XL/SC
151 | XCG = SYNA(1)
152 | ZCG = SYNA(5)
153 | IF(XCG .EQ. UNUSED) XCG = 0.0
154 | IF(ZCG .EQ. UNUSED) ZCG = 0.0
155 | IF(BD(11) .NE. UNUSED) XCG = XCG+BD(11)
156 | XCG = XCG*XL/SC
157 | ZCG = ZCG*XL/SC
158 | !
159 | ! SYMMETRICAL FLAP DATA
160 | !
161 | FLAG = (FLC(157) .NE. UNUSED) .AND. (FLC(K+72) .NE. UNUSED)
162 | NDMF = .FALSE.
163 | NAF = .FALSE.
164 | IF (.NOT. SYMFP) GO TO 1020
165 | WRITE(6,1340)
166 | VWGTL = WINGP
167 | IF(WGPL .AND. HTPL) VWGTL = TAILP
168 | IF(FTYPE .EQ. 1.0) WRITE(6,1350) VWGTL
169 | IF(FTYPE .EQ. 2.0) WRITE(6,1360) VWGTL
170 | IF(FTYPE .EQ. 3.0) WRITE(6,1370) VWGTL
171 | IF(FTYPE .EQ. 4.0) WRITE(6,1380) VWGTL
172 | IF(FTYPE .EQ. 5.0) WRITE(6,1390) VWGTL
173 | IF(FTYPE .EQ. 6.0) WRITE(6,1400) VWGTL
174 | IF(FTYPE .EQ. 7.0) WRITE(6,1410) VWGTL
175 | IF(HEAD) CALL PRCSID
176 | WRITE(6,1420)
177 | IF(IDIM .EQ. 1) WRITE(6,1430)
178 | IF(IDIM .EQ. 2) WRITE(6,1440)
179 | IF(IDIM .EQ. 3) WRITE(6,1450)
180 | IF(IDIM .EQ. 4) WRITE(6,1460)
181 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
182 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
183 | & DUM,DUM,NDMF,NAF)
184 | !
185 | WRITE(6,1470)
186 | CALL SWRITE(8,FOR,34,IFOR,NDELTA,DELTA,DCL,DCM,DCLMAX,&
187 | & DCDMIN,DCLAD,CHA,CHD,X,X,X,X,X,X,NDMF,NAF)
188 | IF(.NOT. SUBSON .OR. FTYPE .GE. 7) GO TO 1010
189 | WRITE(6,1480)
190 | WRITE(6,1490) (DELTA(I),I=1,NDELTA)
191 | WRITE(6,1500)
192 | IS = NALPHA*NDELTA
193 | DO 1000 I=1,NALPHA
194 | WRITE(6,1510) ALPHA(I), (DCDI(J),J=I,IS,NALPHA)
195 | 1000 CONTINUE
196 | 1010 IF(.NOT. SUPERS) GO TO 1020
197 | WRITE(6,1310)
198 | WRITE(6,1320)
199 | WRITE(6,1330)
200 | 1020 CONTINUE
201 | !
202 | ! CONTROL TAB OUTPUT
203 | !
204 | IF(.NOT. CTAB) GO TO 1030
205 | ITYPE=F(116)+0.5
206 | WRITE(6,1340)
207 | IF(ITYPE .EQ. 1)WRITE(6,1770)
208 | IF(ITYPE .EQ. 2)WRITE(6,1780)
209 | IF(ITYPE .EQ. 3)WRITE(6,1790)
210 | IF(HEAD)CALL PRCSID
211 | WRITE(6,1420)
212 | IF(IDIM .EQ. 1) WRITE(6,1430)
213 | IF(IDIM .EQ. 2) WRITE(6,1440)
214 | IF(IDIM .EQ. 3) WRITE(6,1450)
215 | IF(IDIM .EQ. 4) WRITE(6,1460)
216 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
217 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
218 | & DUM,DUM,NDMF,NAF)
219 | IF(FLC(M+73) .NE. UNUSED) WRITE(6,1800)
220 | IF(FLC(M+73) .EQ. UNUSED) WRITE(6,1810)
221 | WRITE(6,1490) (DELTA(I),I=1,NDELTA)
222 | WRITE(6,1500)
223 | WRITE(6,1510) ((FC(I,J),J=1,NDELTA), I=1,NALPHA)
224 | WRITE(6,1820)
225 | !
226 | WRITE(6,1830)
227 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
228 | WRITE(6,1500)
229 | WRITE(6,1510) ((CHCTF(I,J), J=1,NDELTA), I=1,NALPHA)
230 | !
231 | WRITE(6,1340)
232 | IF(ITYPE .EQ. 1)WRITE(6,1770)
233 | IF(ITYPE .EQ. 2)WRITE(6,1780)
234 | IF(ITYPE .EQ. 3)WRITE(6,1790)
235 | IF(HEAD)CALL PRCSID
236 | WRITE(6,1420)
237 | IF(IDIM .EQ. 1) WRITE(6,1430)
238 | IF(IDIM .EQ. 2) WRITE(6,1440)
239 | IF(IDIM .EQ. 3) WRITE(6,1450)
240 | IF(IDIM .EQ. 4) WRITE(6,1460)
241 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
242 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
243 | & DUM,DUM,NDMF,NAF)
244 | WRITE(6,1840)
245 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
246 | WRITE(6,1500)
247 | WRITE(6,1510) ((CHCTL(I,J), J=1,NDELTA), I=1,NALPHA)
248 | WRITE(6,1820)
249 | !
250 | WRITE(6,1850)
251 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
252 | WRITE(6,1500)
253 | WRITE(6,1510) ((DCHCG(I,J), J=1,NDELTA), I=1,NALPHA)
254 | !
255 | IF(ITYPE .EQ. 1) GO TO 1030
256 | WRITE(6,1340)
257 | IF(ITYPE .EQ. 1)WRITE(6,1770)
258 | IF(ITYPE .EQ. 2)WRITE(6,1780)
259 | IF(ITYPE .EQ. 3)WRITE(6,1790)
260 | IF(HEAD)CALL PRCSID
261 | WRITE(6,1420)
262 | IF(IDIM .EQ. 1) WRITE(6,1430)
263 | IF(IDIM .EQ. 2) WRITE(6,1440)
264 | IF(IDIM .EQ. 3) WRITE(6,1450)
265 | IF(IDIM .EQ. 4) WRITE(6,1460)
266 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
267 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
268 | & DUM,DUM,NDMF,NAF)
269 | WRITE(6,1860)
270 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
271 | WRITE(6,1500)
272 | WRITE(6,1510) ((DTT(I,J), J=1,NDELTA), I=1,NALPHA)
273 | 1030 CONTINUE
274 | !
275 | ! ASYMMETRICAL FLAP OUTPUT
276 | !
277 | IF(.NOT. ASYFP) GO TO 1120
278 | WRITE(6,1340)
279 | IF(STYPE .EQ. 1.0) WRITE(6,1570)
280 | IF(STYPE .EQ. 2.0) WRITE(6,1580)
281 | IF(STYPE .EQ. 3.0) WRITE(6,1590)
282 | IF(STYPE .EQ. 4.0) WRITE(6,1600)
283 | IF(STYPE .EQ. 5.0) WRITE(6,1520)
284 | IF(HEAD) CALL PRCSID
285 | WRITE(6,1420)
286 | IF(IDIM .EQ. 1) WRITE(6,1430)
287 | IF(IDIM .EQ. 2) WRITE(6,1440)
288 | IF(IDIM .EQ. 3) WRITE(6,1450)
289 | IF(IDIM .EQ. 4) WRITE(6,1460)
290 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
291 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
292 | & DUM,DUM,NDMF,NAF)
293 | !
294 | IF(STYPE .GT. 2) GO TO 1050
295 | IF(SUPERS) GO TO 1040
296 | WRITE(6,1700)
297 | IF(SUBSON) WRITE(6,1710) (XSOC(I), HSOC(I),&
298 | & DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
299 | IF(TRANSN) WRITE(6,1290) (XSOC(I), HSOC(I),&
300 | & DELTAS(I), CLD(I), I=1,NDELTA)
301 | GO TO 1050
302 | 1040 WRITE(6,1260)
303 | WRITE(6,1270) (DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
304 | 1050 CONTINUE
305 | IF(STYPE .NE. 3.0) GO TO 1060
306 | IF(SUPERS) WRITE(6,1280)
307 | IF(SUPERS) GO TO 1060
308 | WRITE(6,1680)
309 | IF(SUBSON) WRITE(6,1690) (XSOC(I), HSOC(I), DELTAD(I),&
310 | & DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
311 | IF(TRANSN) WRITE(6,1300) (XSOC(I), HSOC(I), DELTAD(I),&
312 | & DELTAS(I), CLD(I), I=1,NDELTA)
313 | 1060 CONTINUE
314 | IF(STYPE .NE. 4.0) GO TO 1090
315 | WRITE(6,1610)
316 | WRITE(6,1540) (DDELTA(I), I=1,NDELTA)
317 | WRITE(6,1550)
318 | IF(CLD(1) .EQ. UNUSED) GO TO 1080
319 | IS = 1
320 | ISS = NDELTA
321 | IDEL = NDELTA
322 | IF(SUPERS) IDEL = 10
323 | DO 1070 I=1,NALPHA
324 | WRITE(6,1560) ALPHA(I), (CNAD(J), J=IS,ISS)
325 | IS = IS+IDEL
326 | ISS = ISS+IDEL
327 | 1070 CONTINUE
328 | WRITE(6,1620) (DELTAL(I), DELTAR(I), CLD(I),&
329 | & I=1,NDELTA)
330 | IF(.NOT. SUPERS) GO TO 1090
331 | WRITE(6,1310)
332 | WRITE(6,1320)
333 | GO TO 1090
334 | 1080 WRITE(6,1280)
335 | 1090 CONTINUE
336 | IF(STYPE .NE. 5.0) GO TO 1120
337 | IF(TRANSN) GO TO 1110
338 | WRITE(6,1530)
339 | WRITE(6,1540) (DDELTA(I), I=1,NDELTA)
340 | WRITE(6,1550)
341 | IS = 1
342 | ISS = NDELTA
343 | DO 1100 I=1,NALPHA
344 | WRITE(6,1560) ALPHA(I), (CLAD(J), J=IS,ISS)
345 | IS = IS+10
346 | ISS = ISS+10
347 | 1100 CONTINUE
348 | GO TO 1120
349 | 1110 WRITE(6,1620) (DELTAL(I), DELTAR(I), CLD(I),&
350 | & I=1,NDELTA)
351 | 1120 CONTINUE
352 | IF(NDMF) WRITE(6,1740)
353 | IF(NAF) WRITE(6,1750)
354 | NDMF = .FALSE.
355 | NAF = .FALSE.
356 | !
357 | ! TRIM DATA OUTPUT
358 | !
359 | IF(ASYFP .OR. .NOT. TRIM .OR. .NOT. SUBSON) GO TO 1160
360 | NTRIM = TRM(21) + 0.5
361 | IF(.NOT. SYMFP) GO TO 1130
362 | WRITE(6,1340)
363 | IF(BO .AND. WGPL .AND. HTPL) WRITE(6,1650)
364 | IF(BO .AND. WGPL .AND. .NOT. HTPL) WRITE(6,1640)
365 | IF(WGPL .AND. .NOT. (BO .OR. HTPL)) WRITE(6,1630)
366 | WRITE(6,1420)
367 | IF(IDIM .EQ. 1) WRITE(6,1430)
368 | IF(IDIM .EQ. 2) WRITE(6,1440)
369 | IF(IDIM .EQ. 3) WRITE(6,1450)
370 | IF(IDIM .EQ. 4) WRITE(6,1460)
371 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
372 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
373 | & DUM,DUM,NDMF,NAF)
374 | !
375 | WRITE(6,1670)
376 | WRITE(6,1660)
377 | CALL SWRITE(11,FOT,46,IFOT,NTRIM,ALPHA,CLUT,CDUT,CMUT,&
378 | & DELT,DCLT,DCLMT,DCDIT,DCDMT,CHAT,CHDT,&
379 | & X,X,X,NDMF,NAF)
380 | IF(FLAG) CALL FLTCL(FOT,IFOT,NTRIM,CLUT,CDUT,CMUT,DELT,&
381 | & DCLT,DCLMT,DCDIT,DCDMT,CHDT,CLWBT,&
382 | & CDWBT,1)
383 | IF((TRM(22) .EQ. 1.0) .OR. (NTRIM .EQ. 0)) WRITE(6,1720)
384 | ITRM = TRM(22) + 0.5
385 | IF(ITRM .EQ. 2) WRITE(6,1730)
386 | 1130 CONTINUE
387 | IF(SYMFP .OR. .NOT. HTPL) GO TO 1160
388 | IF(WINGIN(101).GT.2.0) GO TO 1160
389 | WRITE(6,1340)
390 | IF(VTPL) WRITE(6,1180)
391 | IF(.NOT. VTPL) WRITE(6,1170)
392 | WRITE(6,1420)
393 | IF(IDIM .EQ. 1) WRITE(6,1430)
394 | IF(IDIM .EQ. 2) WRITE(6,1440)
395 | IF(IDIM .EQ. 3) WRITE(6,1450)
396 | IF(IDIM .EQ. 4) WRITE(6,1460)
397 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,&
398 | & TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,&
399 | & DUM,DUM,NDMF,NAF)
400 | !
401 | WRITE(6,1190)
402 | WRITE(6,1200)
403 | NTM = 0
404 | DO 1140 I=1,NTRIM
405 | IF(ALINT(I) .NE. -1000.)WRITE(6,1240) ALPHA(I)&
406 | & ,HT(I), HT(I+20), HT(I+40), HMUNT(I), ALINT(I)&
407 | & ,CDTRM(I), CLTRM(I), CMTRM(I), HMTRM(I)
408 | IF(ALINT(I) .NE. -1000.) NTM = NTM+1
409 | IF(ALINT(I) .EQ. -1000.)WRITE(6,1240) ALPHA(I)&
410 | & ,HT(I), HT(I+20), HT(I+40)
411 | 1140 CONTINUE
412 | WRITE(6,1210)
413 | WRITE(6,1220)
414 | DO 1150 I=1,NTRIM
415 | IF(ALINT(I) .NE. -1000.) WRITE(6,1230) ALPHA(I),&
416 | & CDWBT(I), CLWBT(I)
417 | IF(ALINT(I) .EQ. -1000.) WRITE(6,1230) ALPHA(I)
418 | 1150 CONTINUE
419 | IF(FLAG) CALL FLTCL(FOT,IFOT,NTM,CLUT,CDUT,CMUT,DELT,&
420 | & DCLT,DCLMT,DCDIT,DCDMT,CHDT,CLWBT,&
421 | & CDWBT,2)
422 | IF(TRM2(22).EQ.1.) WRITE(6,1250)
423 | IF(TRM2(22).EQ.2.) WRITE(6,1730)
424 | IF(TRM2(22).EQ.3.) WRITE(6,1735)
425 | 1160 CONTINUE
426 | IF(NDMF) WRITE(6,1740)
427 | IF(NAF) WRITE(6,1750)
428 | 1170 FORMAT(33X,62HWING-BODY-ALL MOVABLE HORIZONTAL STABILIZER TRIM CON&
429 | &FIGURATION)
430 | 1180 FORMAT(26X,76HWING-BODY-VERTICAL TAIL-ALL MOVABLE HORIZONTAL STABI&
431 | &LIZER TRIM CONFIGURATION)
432 | 1190 FORMAT(1H0,46H-----------------UNTRIMMED--------------------,&
433 | &34HHORIZONTAL STABILIZER COEFFICIENTS,45H----------------AT TRIM I&
434 | &NCIDENCE------------/)
435 | 1200 FORMAT(7H0 ALPHA,5X,2HCD,7X,2HCL,7X,2HCM,7X,2HHM,41X,5HALIHT,4X,&
436 | &2HCD,7X,2HCL,7X,2HCM,7X,2HHM/)
437 | 1210 FORMAT(/1H0,41X,45HWING-BODY-TAIL COEFFICIENTS AT TRIM INCIDENCE/)
438 | 1220 FORMAT(1H0,52X,5HALPHA,5X,2HCD,7X,2HCL/1H0)
439 | 1230 FORMAT(53X,F5.1,3X,F6.3,3X,F6.3)
440 | 1240 FORMAT(2X,0PF5.1,3X,F6.3,3X,F6.3,3X,F7.4,2X,1PE10.3,35X,0PF5.1,&
441 | & 2X,F6.3,3X,F6.3,3X,F7.4,2X,1PE10.3)
442 | 1250 FORMAT( 81H0*NOTE** ANGLES OF ATTACK WHERE NO OUTPUT EXISTS INDICA&
443 | &TES LACK OF CONTROL MOMENT)
444 | 1260 FORMAT(1H0,46X,4HDS/C,9X,8H(CL)ROLL,12X,2HCN/1H0)
445 | 1270 FORMAT(45X,0PF7.4,6X,1PE11.4,7X,E10.3)
446 | 1280 FORMAT( 82H0*NOTE* NO OUTPUT AVAILABLE FOR THIS COMBINATION OF MAC&
447 | &H NUMBER AND CONFIGURATION.)
448 | 1290 FORMAT(1X,33X,0PF7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,8X,3HNDM)
449 | 1300 FORMAT(1X,27X,0PF7.4,5X,F7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,8X,3HNDM)
450 | 1310 FORMAT(131H0*NOTE* METHODS VALID FOR CONFIGURATIONS WITH LEADING(H&
451 | &INGE LINE) AND TRAILING EDGES OF THE CONTROL SURFACE SWEPT AHEAD O&
452 | &F THE MACH/8X,34HLINES FROM THE DEFLECTED CONTROLS.)
453 | 1320 FORMAT(103H0*NOTE* OTHER RESTRICTIONS USED IN THE DERIVATION OF TH&
454 | &E METHODS ARE PRESENTED IN VOL. II AND/OR DATCOM)
455 | 1330 FORMAT(126H0*NOTE* CH(A) AND CH(D) DERIVATIVES ARE FOR STRAIGHT SI&
456 | &DED SYMMETRICAL BICONVEX AIRFOILS BASED ON TWICE THE AREA-MOMENT O&
457 | &F THE/8X,29HCONTROL ABOUT ITS HINGE LINE.)
458 | 1340 FORMAT(1H1,28X,48HAUTOMATED STABILITY AND CONTROL METHODS PER APRI&
459 | &,24HL 1976 VERSION OF DATCOM,/,41X,&
460 | &48HCHARACTERISTICS OF HIGH LIFT AND CONTROL DEVICES)
461 | 1350 FORMAT(44X,A4,39H PLAIN TRAILING-EDGE FLAP CONFIGURATION)
462 | 1360 FORMAT(46X,A4,34H SINGLE-SLOTTED FLAP CONFIGURATION)
463 | 1370 FORMAT(50X,A4,26H FOWLER FLAP CONFIGURATION)
464 | 1380 FORMAT(46X,A4,34H DOUBLE-SLOTTED FLAP CONFIGURATION)
465 | 1390 FORMAT(51X,A4,25H SPLIT FLAP CONFIGURATION)
466 | 1400 FORMAT(47X,A4,32H LEADING-EDGE FLAP CONFIGURATION)
467 | 1410 FORMAT(47X,A4,32H LEADING-EDGE SLAT CONFIGURATION)
468 | 1420 FORMAT(55H ----------------------- FLIGHT CONDITIONS ----------,&
469 | & 14H--------------,11X,25H-------------- REFERENCE,&
470 | & 25H DIMENSIONS ------------/2X,16HMACH ALTITUDE,&
471 | & 3X,48HVELOCITY PRESSURE TEMPERATURE REYNOLDS,&
472 | & 13X,47HREF. REFERENCE LENGTH MOMENT REF. CENTER/&
473 | & 7H NUMBER,55X,6HNUMBER,14X,4HAREA,7X,5HLONG.,5X,4HLAT.,&
474 | & 5X,15HHORIZ VERT)
475 | 1430 FORMAT(13X,2HFT,7X,6HFT/SEC,5X,8HLB/FT**2,7X,5HDEG R,9X,4H1/FT,&
476 | & 15X,5HFT**2,1X,4(7X,2HFT,1X))
477 | 1440 FORMAT(13X,2HIN,7X,6HIN/SEC,5X,8HLB/IN**2,7X,5HDEG R,9X,4H1/FT,&
478 | & 15X,5HIN**2,1X,4(7X,2HIN,1X))
479 | 1450 FORMAT(13X,2H M,7X,6H M/SEC,5X,8H N/ M**2,7X,5HDEG K,9X,4H1/ M,&
480 | & 15X,5H M**2,1X,4(7X,2H M,1X))
481 | 1460 FORMAT(13X,2HCM,7X,6HCM/SEC,5X,8H N/CM**2,7X,5HDEG K,9X,4H1/ M,&
482 | & 15X,5HCM**2,1X,4(7X,2HCM,1X))
483 | 1470 FORMAT(1H0,12X,46H---------INCREMENTS DUE TO DEFLECTION---------&
484 | &,14X,30H---DERIVATIVES (PER DEGREE)---/1H0,5X,5HDELTA,&
485 | &5X,5HD(CL),5X,5HD(CM),4X,9HD(CL MAX),4X,9HD(CD MIN),16X,6H(CLA)D,&
486 | & 5X,5H(CH)A,7X,5H(CH)D//)
487 | 1480 FORMAT(1H0,2X,106H*** NOTE * HINGE MOMENT DERIVATIVES ARE BASED ON&
488 | & TWICE THE AREA-MOMENT OF THE CONTROL ABOUT ITS HINGE LINE//1H0,12&
489 | &X,83H--------- INDUCED DRAG COEFFICIENT INCREMENT , D(CDI) , DUE T&
490 | &O DEFLECTION ---------)
491 | 1490 FORMAT(1H0,7X,8HDELTA = ,F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,&
492 | &F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,F5.1)
493 | 1500 FORMAT(3X,5HALPHA/1H0)
494 | 1510 FORMAT(3X,0PF5.1,7X,1PE9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,&
495 | & E9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,E9.2)
496 | 1520 FORMAT(30X, 60HDIFFERENTIALLY DEFLECTED HORIZONTAL STABILIZER CONF&
497 | &IGURATION)
498 | 1530 FORMAT(1H0,33X, 64H----------ROLLING-MOMENT COEFFICIENT DUE TO DEF&
499 | &LECTION----------)
500 | 1540 FORMAT( 17H0(DELTAL-DELTAR)=,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,&
501 | &7X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1)
502 | 1550 FORMAT( 6H0ALPHA/1H0)
503 | 1560 FORMAT(1X,0PF5.1,8X,1PE10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,&
504 | & E10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,E10.3)
505 | 1570 FORMAT(47X, 36HWING WITH FLAP SPOILER CONFIGURATION)
506 | 1580 FORMAT(47X, 36HWING WITH PLUG SPOILER CONFIGURATION)
507 | 1590 FORMAT(42X, 46HWING WITH SPOILER-SLOT-DEFLECTOR CONFIGURATION)
508 | 1600 FORMAT(44X, 43HWING PLAIN TRAILING-EDGE FLAP CONFIGURATION)
509 | 1610 FORMAT(1H0,27X, 74H----------YAWING MOMENT COEFFICIENT,CN,DUE TO C&
510 | &ONTROL DEFLECTION----------)
511 | 1620 FORMAT(1H0/&
512 | & 1H0,44X,6HDELTAL,10X,6HDELTAR,10X,8H(CL)ROLL/1H0/(45X,&
513 | & 0PF5.1,11X,F5.1,11X,1PE11.4))
514 | 1630 FORMAT(47X,37HWING TRIM WITH CONTROL DEVICE ON WING)
515 | 1640 FORMAT(44X,42HWING-BODY TRIM WITH CONTROL DEVICE ON WING)
516 | 1650 FORMAT(42X,47HWING-BODY-TAIL TRIM WITH CONTROL DEVICE ON TAIL)
517 | 1660 FORMAT(1H0,4X,5HALPHA,5X,2HCL,9X,2HCD,7X,2HCM,5X,6HDELTAT,3X,5HD(C&
518 | &L),4X,9HD(CL MAX),5X,6HD(CDI),4X,9HD(CD MIN),3X,5HCH(A),8X,5HCH(D)&
519 | &/1H0)
520 | 1670 FORMAT(1H0,9X,29H----------UNTRIMMED----------,12X,64H------------&
521 | &-----------AT TRIM DEFLECTION-----------------------)
522 | 1680 FORMAT(1H0 ,29X,4HXS/C,8X,4HHS/C,8X,4HDD/C,8X,4HDS/C,8X,8H(CL)ROLL&
523 | &,10X,2HCN/1H0)
524 | 1690 FORMAT(1X,27X,0PF7.4,5X,F7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,5X,E10.3)
525 | 1700 FORMAT(1H0,35X,4HXS/C,8X,4HHS/C,8X,4HDS/C,8X,8H(CL)ROLL,10X,2HCN/1&
526 | &H0)
527 | 1710 FORMAT(1X,33X,0PF7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,5X,E10.3)
528 | 1720 FORMAT(73H0*NOTE** TRIM RESULTS HAVE BEEN TERMINATED DUE TO LACK O&
529 | &F CONTROL MOMENT.)
530 | 1730 FORMAT(99H0*NOTE** TRIM RESULTS HAVE BEEN TERMINATED BECAUSE THE N&
531 | &EXT ANGLE OF ATTACK EXCEEDS ALPHA (CL) MAX.)
532 | 1735 FORMAT(78H0*NOTE** TRIM RESULTS TERMINATED BECAUSE WING-BODY MOMEN&
533 | &T DATA WAS UNAVAILABLE)
534 | 1740 FORMAT(44H0***NDM PRINTED WHEN NO DATCOM METHODS EXIST)
535 | 1750 FORMAT(41H0***NA PRINTED WHEN METHOD NOT APPLICABLE)
536 | 1770 FORMAT(45X,39HCONTROL TAB ON PLAIN TRAILING EDGE FLAP )
537 | 1780 FORMAT(50X,30HTRIM TAB ON TRAILING EDGE FLAP )
538 | 1790 FORMAT(42X,48HCONTROL AND TRIM TAB ON PLAIN TRAILING EDGE FLAP)
539 | 1800 FORMAT(1H0,31X,44HSTICK FORCE, F(C), LB (TRIM TAB DEFL. = 0.0) )
540 | 1810 FORMAT(1H0,27X,53HSTICK FORCE COEFFICIENT, CF(C) (TRIM TAB DEFL. =&
541 | & 0.0))
542 | 1820 FORMAT(1H0)
543 | 1830 FORMAT(1H0,22X,63HFLAP HINGE MOMENT COEFFICIENT - TAB FREE (TRIM T&
544 | &AB DEFL. = 0.0))
545 | 1840 FORMAT(1H0,21X,65HFLAP HINGE MOMENT COEFFICIENT - TAB LOCKED (TRIM&
546 | & TAB DEFL. = 0.0))
547 | 1850 FORMAT(1H0,18X,69HFLAP HINGE MOMENT COEFFICIENT - DUE TO GEARING (&
548 | &TRIM TAB DEFL. = 0.0))
549 | 1860 FORMAT(1H0,30X,46HTRIM TAB DEFLECTION FOR ZERO STICK FORCE, DEG.)
550 | RETURN
551 | END
552 |
--------------------------------------------------------------------------------
/test/expected/subryw.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE SUBRYW
2 | !
3 | ! THIS ROUTINE YIELDS THE SUBSONIC WING,WING-BODY
4 | ! ROLLING DERIVATIVES,CLP CNP CNR AND
5 | ! YAWING DERIVATIVE , CYP
6 | !
7 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA
8 | COMMON /OPTION/ SR,CBARR,RUFF,BLREF
9 | COMMON /CONSNT/ PI,DR,UNUSED,RAD
10 | COMMON /FLGTCD/ FLC(93)
11 | COMMON /SYNTSS/ SYNA(19)
12 | COMMON /WINGD/ A(195),B(49)
13 | COMMON /WINGI/ WINGIN(77)
14 | COMMON /IWING/ PWING, WING(400)
15 | COMMON /POWR/ DYN(213)
16 | COMMON /WHAERO/ C(51)
17 | COMMON /SBETA/ STB(135)
18 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
19 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,&
20 | & SUPERS,SUBSON,TRANSN,HYPERS,&
21 | & SYMFP,ASYFP,TRIMC,TRIM
22 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
23 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,&
24 | & SUPERS,SUBSON,TRANSN,HYPERS,&
25 | & SYMFP,ASYFP,TRIMC,TRIM
26 | INTEGER Y71336,D11336,D21336,D31336,Y71337,D11337,D21337,D31337,&
27 | & Y2220A,D1220A,D2220A,Y2220B,Y2220C,Y2220D,D1220D,D2220D,Y12224,&
28 | & Y12312,Y1219B,Y1219C
29 | INTEGER Y7133A
30 | REAL LAMCO4,MACOE
31 | REAL MACH,LAMB,KAY(20),K,LAMDA
32 | DIMENSION ROUTID(2),ALMALO(20)
33 | ! AJT DIMENSION CL(20),ALSCHD(20),Z(6),CLSUB(20),ALSCH2(20),CD(20),
34 | ! AJT1 DCLPD(20),CLPWBS(20),CLTAN(20),CDCDO(20),CL2PAW(20)
35 | DIMENSION CL(20),ALSCHD(20),Z(6),CLSUB(21),ALSCH2(21),CD(20),&
36 | & DCLPD(20),CLPWBS(20),CLTAN(20),CDCDO(20),CL2PAW(20)
37 | DIMENSION Y(6),D(6),E(6),G(6),H(6),O(6),P(6)
38 | DIMENSION CLA(20),DCDDA(20),DCADA(20)
39 | DIMENSION CLPTAN(20),DCLDA(20),CDOO(20)
40 | DIMENSION CYPWBS(20),I2A219(4),QEXPD(5),&
41 | & QIMPR1(4),QIMPR2(4),QIMPR3(4),Q71336(3),Q71337(3)
42 | DIMENSION X11336(4),X21336(15),X31336(3),Y71336( 90),&
43 | & D11336(30),D21336(30),D31336(30)
44 | DIMENSION X1133A(2),X2133A(2),Y7133A(2)
45 | DIMENSION X11337(4),X21337(9),X31337(3),Y71337( 54),&
46 | & D11337(18),D21337(18),D31337(18)
47 | DIMENSION X1220A( 13),X2220A( 17),Y2220A( 111),Q2220A(3)
48 | DIMENSION D1220A( 97),D2220A(14)
49 | DIMENSION X1220B( 13),X2220B( 10),Y2220B( 65),Q2220B(3)
50 | DIMENSION X1220C( 13),X2220C( 10),Y2220C( 65),Q2220C(3)
51 | DIMENSION X1220D( 13),X2220D( 18),Y2220D( 117),Q2220D(3)
52 | DIMENSION D1220D( 97),D2220D(20)
53 | DIMENSION X12224( 8),X22224( 10),Y12224( 40),Q12224(3)
54 | DIMENSION X12312( 6),X22312( 8),Y12312( 24),Q12312(3)
55 | DIMENSION X1219A( 10),Y1219A( 10),Q1219A(3)
56 | DIMENSION X1219B( 8),X2219B( 2),Y1219B( 8),Q1219B(3)
57 | DIMENSION X1219C( 3),X2219C( 2),Y1219C( 3),Q1219C(3)
58 | DIMENSION CNPWBS(20)
59 | DIMENSION CNRWBS(20)
60 | EQUIVALENCE(DCMDCL,DYN(21)),(MACOE,A(16))
61 | EQUIVALENCE(CL(1),WING(21)),(THETA,WINGIN(11))
62 | EQUIVALENCE(ZW,SYNA(3)),(ZCG,SYNA(5)),(GEG,STB(122)),&
63 | & (ALSCHD(1),FLC(23)),(SSPN,WINGIN(4)),(SSPNE,WINGIN(3)),&
64 | & (LAMCO4,A(64)),(SW,A(4)),(TANCO4,A(68)),&
65 | & (LAMDA,A(27)),(COSLO4,A(67)),(CD(1),WING(1)),(ASTRW,A(120))
66 | EQUIVALENCE(ALSD,DYN(44)),(CLACLO,DYN(45)),(CDO,DYN(94)),&
67 | & (CLA(1),DYN(47)),(ZEE,DYN(67)),(CLPCLP,DYN(68)),&
68 | & (CLPCL2,DYN(69)),(BAOK,DYN(70)),(BCLPCL,DYN(71)),&
69 | & (DCLPD(1),DYN(72)),(CLPWBS(1),WING(281)),(CNPCLO,DYN(92)),&
70 | & (BEE,DYN(93)),(CNPCLM,DYN(46)),(CNPTHE,DYN(95)),&
71 | & (DCLDA(1),DYN(96)),(DCDDA(1),DYN(116)),(DCADA(1),DYN(136)),&
72 | & (KAY(1),DYN(156)),(CNPWBS(1),WING(321))
73 | EQUIVALENCE(CLPG,DYN(176)),(DCYPG,DYN(177)),(TRANS,DYN(178)),&
74 | & (CHANGE,DYN(179)),(CYPCLM,DYN(180)),(CYPWBS(1),WING(301)),&
75 | & (TRADE,DYN(181)),(CNRCL2,DYN(182)),(CNRCDO,DYN(183)),&
76 | & (CDOO(1),DYN(184)),(CNRWBS(1),WING(341))
77 | EQUIVALENCE (D11336(1),Y71336(1)),(D21336(1),Y71336(31)),&
78 | & (D31336(1),Y71336( 61))
79 | EQUIVALENCE (D11337(1),Y71337(1)),(D21337(1),Y71337(19)),&
80 | & (D31337(1),Y71337(37))
81 | EQUIVALENCE(D1220A(1),Y2220A(1)),(D2220A(1),Y2220A( 98))
82 | EQUIVALENCE(D1220D(1),Y2220D(1)),(D2220D(1),Y2220D( 98))
83 | DATA ROUTID /4HSUBR,4HYW /
84 | DATA I2A219 /10,3*0/
85 | DATA IN/0/, IX/0/, IO/0/, IP/0/, IQ/0/, IR/0/, IS/0/, IT/0/
86 | DATA QEXPD /4HEXPE,4HRIME,4HNTAL,4H DAT,4HA /
87 | DATA Q12224 /4H7.1.,4H2.2-,4H24 /
88 | DATA Q12312 /4H7.1.,4H2.3-,4H12 /
89 | DATA QIMPR1 /4HCLTA,4HN VS,4H ALS,4HCHD /
90 | DATA QIMPR2 /4HCDCD,4HO VS,4H ALS,4HCHD /
91 | DATA QIMPR3 /4HCL2P,4HAW V,4HS AL,4HSCHD/
92 | DATA Q71336 /4H7.1.,4H3.3-,4H6 /
93 | DATA Q71337 /4H7.1.,4H3.3-,4H7 /
94 | !
95 | ! ----FIGURE 7.1.2.2-20A
96 | !
97 | DATA Q2220A /4H7.1.,4H2.2-,4H20A /
98 | DATA X1220A / .100E+02, .900E+01, .800E+01, .700E+01,&
99 | & .600E+01, .500E+01, .450E+01, .400E+01, .350E+01, .300E+01,&
100 | & .250E+01, .200E+01, .150E+01/
101 | DATA X2220A / -.193E+02, -.989E+01, -.437E+01, .134E-01,&
102 | & .104E+02, .143E+02, .203E+02, .251E+02, .300E+02, .355E+02,&
103 | & .402E+02, .445E+02, .505E+02, .547E+02, .598E+02, .651E+02,&
104 | & .702E+02/
105 | !
106 | ! ----FIGURE 7.1.2.2-20B
107 | !
108 | DATA Q2220B/4H7.1.,4H2.2-,4H20B /
109 | DATA X1220B/ .100E+02, .900E+01, .800E+01, .700E+01,&
110 | & .600E+01, .500E+01, .450E+01, .400E+01, .350E+01, .300E+01,&
111 | & .250E+01, .200E+01, .150E+01/
112 | DATA X2220B/ -.201E+02, -.105E+02, .230E+00, .994E+01,&
113 | & .197E+02, .300E+02, .403E+02, .499E+02, .604E+02, .703E+02/
114 | !
115 | ! ----FIGURE 7.1.2.2-20C
116 | !
117 | DATA Q2220C/4H7.1.,4H2.2-,4H20C /
118 | DATA X1220C/ .100E+02, .900E+01, .800E+01, .700E+01,&
119 | & .600E+01, .500E+01, .450E+01, .400E+01, .350E+01, .300E+01,&
120 | & .250E+01, .200E+01, .150E+01/
121 | DATA X2220C/ -.193E+02, -.937E+01, .893E-01, .105E+02,&
122 | & .208E+02, .304E+02, .405E+02, .505E+02, .607E+02, .704E+02/
123 | !
124 | ! ----FIGURE 7.1.2.2-20D
125 | !
126 | DATA Q2220D/4H7.1.,4H2.2-,4H20D /
127 | DATA X1220D/ .100E+02, .900E+01, .800E+01, .700E+01,&
128 | & .600E+01, .500E+01, .450E+01, .400E+01, .350E+01, .300E+01,&
129 | & .250E+01, .200E+01, .150E+01/
130 | DATA X2220D/ -.200E+02, -.965E+01, -.458E+01, .293E-01,&
131 | & .556E+01, .995E+01, .148E+02, .203E+02, .245E+02, .301E+02,&
132 | & .354E+02, .400E+02, .447E+02, .502E+02, .553E+02, .602E+02,&
133 | & .646E+02, .698E+02/
134 | !
135 | ! ----FIGURE 7.1.2.2-24
136 | !
137 | DATA X12224/ .700E+02, .600E+02, .500E+02, .400E+02,&
138 | & .300E+02, .200E+02, .100E+02, .000E+00/
139 | DATA X22224/ .196E+01, .252E+01, .302E+01, .350E+01,&
140 | & .402E+01, .505E+01, .599E+01, .700E+01, .804E+01, .100E+02/
141 | !
142 | ! ----FIGURE 7.1.2.3-12
143 | !
144 | DATA X12312/ .100E+01, .800E+00, .600E+00, .400E+00,&
145 | & .200E+00, .000E+00/
146 | DATA X22312/ .202E+01, .307E+01, .404E+01, .502E+01,&
147 | & .603E+01, .808E+01, .100E+02, .120E+02/
148 | !
149 | ! ----FIGURE 7.1.2.1-9A
150 | !
151 | DATA Q1219A/4H7.1.,4H2.1-,4H9A /
152 | DATA X1219A/ .822E+00, .109E+01, .144E+01, .207E+01,&
153 | & .257E+01, .316E+01, .398E+01, .462E+01, .531E+01, .600E+01/
154 | DATA Y1219A/ .452E+01, .381E+01, .297E+01, .215E+01,&
155 | & .147E+01, .966E+00, .486E+00, .279E+00, .117E+00, .154E-06/
156 | !
157 | ! ----FIGURE 7.1.2.1-9B
158 | !
159 | DATA Q1219B/4H7.1.,4H2.1-,4H9B /
160 | DATA X1219B/ .700E+02, .650E+02, .600E+02, .450E+02,&
161 | & .300E+02, .000E+00, -.300E+02, -.450E+02/
162 | DATA X2219B/ 0.0,4.5/
163 | !
164 | ! ----FIGURE 7.1.2.1-9C
165 | !
166 | DATA Q1219C/4H7.1.,4H2.1-,4H9C /
167 | DATA X1219C/ .000E+00, .500E+00, .100E+01/
168 | DATA X2219C/ .453E+01, -.963E+00/
169 | DATA X11336/ .600E+02, .500E+02, .400E+02, .000E+00/
170 | DATA X21336/ .101E+01, .126E+01, .151E+01, .178E+01,&
171 | & .201E+01, .244E+01, .299E+01, .352E+01, .400E+01, .501E+01,&
172 | & .599E+01, .698E+01, .799E+01, .902E+01, .994E+01/
173 | DATA X31336/0.0,0.2,0.4/
174 | !
175 | ! ----FIGURE 7.1.3.3-6D
176 | !
177 | DATA X1133A /0.0,1.0/
178 | DATA X2133A /0.0,4.0/
179 | DATA X11337 / .000E+00, .400E+02, .500E+02, .600E+02/
180 | DATA X21337 / .103E+01, .144E+01, .197E+01, .297E+01,&
181 | & .397E+01, .503E+01, .606E+01, .706E+01, .803E+01/
182 | DATA X31337 /0.0,0.2,0.4/
183 | !
184 | ! IN THE FOLLOWING DATA STATEMENTS 2 FLOATING POINT NUMBERS,WITH
185 | ! 3 SIGNIFICANT DIGITS EACH,ARE PACKED IN 1 FIXED POINT WORD.
186 | !
187 | ! THE FORMAT IS AS FOLLOWS-
188 | !
189 | ! SIGN1,NS2,NSPS,NP1,NP2,ND1,ND2
190 | !
191 | ! WHERE-
192 | !
193 | ! SIGN1 IS THE ACTUAL SIGN OF THE 1ST NUMBER
194 | ! NS2 REPRESENTS THE SIGN OF THE 2ND NUMBER.0 IF + , 1 IF -
195 | ! NSPS REPRESENTS THE SIGNS OF THE POWERS OF 10 FOR BOTH NUMBERS
196 | ! 0 IF ++ , 1 IF -- , 2 IF +- , 3 IF -+
197 | ! NP1 IS THE POWER OF 10 FOR THE 1ST NUMBER. LIMITED TO 1 DIGIT
198 | ! NP2 IS THE POWER OF 10 FOR THE 2ND NUMBER. LIMITED TO 1 DIGIT
199 | ! ND1 3 DIGITS OF THE 1ST NUMBER (DECIMAL POINT AT END)
200 | ! ND2 3 DIGITS OF THE 2ND NUMBER (DECIMAL POINT AT END)
201 | !
202 | DATA D11336/ 122392378, 122366359, 122352345, 122335325,&
203 | & 122320318, 122314315, 122313316, 122317157, 122167177,&
204 | & 122181187, 122204212, 122218226, 122234241, 122241242,&
205 | & 122240239, 133758974, 122116132, 122142160, 122176185,&
206 | & 122200209, 122216221, 122224222, 124225341, 133325655,&
207 | & 132872102, 122127147, 122160173, 122189201, 122206206,&
208 | & 122207205/
209 | DATA D21336/ 122762654, 122584539, 122499463, 122436427,&
210 | & 122418408, 122404404, 122402403, 122403381, 122349331,&
211 | & 122322312, 122300299, 122297295, 122290289, 122282283,&
212 | & 122279279, 122253253, 122253253, 122253256, 122258261,&
213 | & 122265270, 122273273, 122272272, 122268175, 122180185,&
214 | & 122191196, 122209218, 122222229, 122245253, 122255260,&
215 | & 122261261/
216 | DATA D31336/ 111160130, 122950630, 122572509, 122462437,&
217 | & 122416388, 122379371, 122370371, 121373150, 122450447,&
218 | & 122369347, 112112630, 122291284, 122281278, 122280281,&
219 | & 122280283, 122351293, 122272247, 122242230, 122225225,&
220 | & 122224223, 122222228, 122236242, 123259951, 132994111,&
221 | & 122125130, 122141159, 122169178, 122196204, 122206206,&
222 | & 122206205/
223 | DATA D11337/-1133563462,-1133383332,-1133310299,-1133293293,&
224 | &-1133293569,-1133501468,-1133451456,-1133456456,-1133456451,&
225 | &-1133670644,-1133608608,-1133619631,-1133631637,-1133642975,&
226 | &-1133953952,-1132979101,-1122102103,-1122103103/
227 | DATA D21337/-1133743503,-1133440371,-1133331297,-1133291291,&
228 | &-1133291759,-1133560480,-1133457451,-1133457457,-1133463469,&
229 | &-1133806669,-1133623606,-1133611623,-1133634640,-1132646106,&
230 | &-1133985949,-1133971988,-1122101101,-1122102102/
231 | DATA D31337/-1133978712,-1133518417,-1133364346,-1133340334,&
232 | &-1132340102,-1133712538,-1133500472,-1133465465,-1133471471,&
233 | &-1123107796,-1133664614,-1133626638,-1133644650,-1132656121,&
234 | &-1123104979,-1132995101,-1122101103,-1122104105/
235 | DATA D1220A/-1133347366,-1133375377,-1133379378,-1133376372,&
236 | &-1133361354,-1133338321,-1133298280,-1133248215,-1133177339,&
237 | &-1133357361,-1133365369,-1133368363,-1133359353,-1133339325,&
238 | &-1133308288,-1133267237,-1133211175,-1133326340,-1133345353,&
239 | &-1133355355,-1133353347,-1133339329,-1133316301,-1133281258,&
240 | &-1133230206,-1133170310,-1133323329,-1133334338,-1133338336,&
241 | &-1133332326,-1133319305,-1133290268,-1133251227,-1133198169,&
242 | &-1133289303,-1133307311,-1133318318,-1133316310,-1133305298,&
243 | &-1133287276,-1133256241,-1133214192,-1133160267,-1133283286,&
244 | &-1133289289,-1133292289,-1133286284,-1133280268,-1133261247,&
245 | &-1133230208,-1133184157,-1133254266,-1133273277,-1133281281,&
246 | &-1133279277,-1133270267,-1133259250,-1133233222,-1133198179,&
247 | &-1133151242,-1133250255,-1133261263,-1133263263,-1133262256,&
248 | &-1133253247,-1133241228,-1133214193,-1133175150,-1133227232,&
249 | &-1133238242,-1133245246,-1133245243,-1133239233,-1133230224,&
250 | &-1133212203,-1133184169,-1133140205,-1133211214,-1133216220,&
251 | &-1133222222,-1133222219,-1133218213,-1133209198,-1133192176,&
252 | &-1133159139,-1133184190,-1133191193,-1133194194,-1133195195,&
253 | &-1133194193,-1133193191,-1133184176,-1133161151,-1133131159,&
254 | &-1133162164,-1133164168,-1133169169/
255 | DATA D2220A/-1133169169,-1133165164,-1133161157,-1133156150,&
256 | &-1133137120,-1133133132,-1133133134,-1133133134,-1133133133,&
257 | &-1133133134,-1133133132,-1133129124,-1133120114, -330102000/
258 | DATA Y2220B/-1133464486,-1133500494,-1133484457,-1133419364,&
259 | &-1133298218,-1133445465,-1133479473,-1133463441,-1133407354,&
260 | &-1133291215,-1133428444,-1133450449,-1133437419,-1133388344,&
261 | &-1133287209,-1133407414,-1133422422,-1133415398,-1133372331,&
262 | &-1133276202,-1133375386,-1133391392,-1133385377,-1133353320,&
263 | &-1133270199,-1133340353,-1133358358,-1133353342,-1133325296,&
264 | &-1133255189,-1133325330,-1133334334,-1133331324,-1133310299,&
265 | &-1133247190,-1133300304,-1133312307,-1133305301,-1133288270,&
266 | &-1133237183,-1133278280,-1133282282,-1133281276,-1133268251,&
267 | &-1133221178,-1133245248,-1133251251,-1133250248,-1133241232,&
268 | &-1133208167,-1133221221,-1133222221,-1133220217,-1133215206,&
269 | &-1133192161,-1133183182,-1133182181,-1133180180,-1133178174,&
270 | &-1133162140,-1133138139,-1133141141,-1133141141,-1133142141,&
271 | &-1133134124/
272 | DATA Y2220C/-1133523535,-1133539534,-1133519496,-1133456407,&
273 | &-1133337245,-1133503509,-1133513505,-1133499475,-1133441390,&
274 | &-1133317234,-1133470483,-1133486483,-1133470454,-1133421375,&
275 | &-1133312228,-1133445451,-1133453451,-1133445428,-1133400355,&
276 | &-1133298223,-1133410415,-1133420414,-1133409392,-1133370338,&
277 | &-1133287213,-1133371376,-1133377375,-1133371358,-1133338314,&
278 | &-1133269204,-1133343349,-1133354353,-1133349339,-1133321299,&
279 | &-1133260204,-1133320320,-1133322322,-1133319316,-1133300280,&
280 | &-1133245199,-1133293297,-1133298297,-1133295286,-1133278264,&
281 | &-1133238189,-1133264264,-1133263264,-1133262259,-1133248239,&
282 | &-1133220180,-1133226226,-1133225226,-1133224222,-1133219207,&
283 | &-1133191165,-1133188188,-1133189187,-1133186186,-1133180172,&
284 | &-1133163145,-1133149149,-1133149149,-1133148147,-1133146142,&
285 | &-1133134121/
286 | DATA D1220D/-1133560573,-1133575575,-1133573567,-1133560546,&
287 | &-1133539520,-1133502481,-1133461430,-1133398367,-1133335280,&
288 | &-1133538545,-1133546546,-1133544542,-1133537525,-1133518501,&
289 | &-1133484464,-1133446415,-1133384353,-1133319269,-1133508517,&
290 | &-1133519517,-1133515512,-1133507499,-1133487475,-1133462442,&
291 | &-1133425396,-1133367339,-1133305266,-1133469477,-1133480480,&
292 | &-1133477471,-1133469463,-1133454448,-1133434418,-1133401376,&
293 | &-1133350321,-1133290246,-1133431434,-1133435435,-1133433431,&
294 | &-1133428423,-1133416409,-1133397383,-1133371350,-1133322299,&
295 | &-1133273232,-1133385390,-1133391390,-1133389386,-1133384378,&
296 | &-1133375368,-1133360353,-1133340325,-1133304284,-1133260224,&
297 | &-1133359361,-1133361362,-1133362360,-1133360356,-1133354347,&
298 | &-1133339334,-1133323307,-1133288271,-1133249216,-1133332334,&
299 | &-1133334334,-1133333333,-1133331329,-1133325322,-1133317310,&
300 | &-1133302290,-1133276257,-1133237208,-1133265266,-1133266266,&
301 | &-1133266265,-1133265264,-1133262261,-1133258255,-1133250246,&
302 | &-1133234222,-1133209183,-1133298300,-1133302302,-1133302301,&
303 | &-1133300298,-1133298293,-1133289284,-1133280267,-1133255243,&
304 | &-1133225197,-1133230230,-1133230230,-1133230231,-1133230230,&
305 | &-1133229228,-1133224223,-1133219216/
306 | DATA D2220D/-1133208198,-1133188170,-1133189190,-1133190190,&
307 | &-1133190189,-1133188187,-1133187184,-1133183181,-1133179175,&
308 | &-1133171163,-1133156143,-1133148146,-1133146145,-1133145145,&
309 | &-1133146146,-1133145145,-1133144142,-1133142141,-1133141139,&
310 | &-1133135122/
311 | DATA Y12224/-1133407331,-1133278240,-1133216175,-1133146127,&
312 | &-1134112891,-1133171137,-1133116103,-1144901734,-1144620532,&
313 | &-1144456365,-1144918736,-1144606535,-1144467381,-1144344280,&
314 | &-1144239183,-1144567428,-1144382349,-1144297232,-1144183177,&
315 | &-1144160125,-1144400303,-1144267223,-1144193165,-1144149120,&
316 | &-1144114103,-1144302225,-1144199187,-1144159131,-1145103856,&
317 | &-1155683804,-1144230201,-1144165141,-1145136843,-1155686624,&
318 | &-1155338463,-1144221179,-1144153141,-1145113850,-1155687398,&
319 | &-1155341456/
320 | DATA Y12312/-1166968781,-1166626494,-1166388197, -176319113,&
321 | &-1166941724,-1166541382, -168238339, 166218422,-1166885655,&
322 | &-1166450256, -176949195, 166454705,-1166777520,-1166300113,&
323 | & 176533337, 166590825,-1166548303, -177979781, 166231499,&
324 | & 166724919, -176387127, 166264371, 166473661, 166827994/
325 | DATA Y1219B/ 122468642 , 122368554 , 122300494 , 122176413,&
326 | & 122111372 , 132160292 , -132680236 ,-122168172/
327 | DATA Y1219C/ 1123153677, 1123161573 , 1123182380 /
328 | DATA Y7133A/-133110100,-134127830/
329 | BETA=B(2)
330 | IF( WGPL.AND.(.NOT.BO))GO TO 1000
331 | DB=(SSPN-SSPNE)/SSPN
332 | IF(DB.GT.0.3)RETURN
333 | 1000 K=BETA*WINGIN(IM+20)*RAD/(2.*PI)
334 | MACH=FLC(IM+2)
335 | XYZ=0.
336 | !
337 | ! WING-BODY ROLLING DERIVATIVE,CLP---
338 | !
339 | CALL TBFUNX(XYZ,ALSD,DYDX,NALPHA,CL,ALSCHD,Y,IN,MI,NG,1,1,QEXPD,5,&
340 | & ROUTID)
341 | CALL TBFUNX(XYZ,CDO,DYDX,NALPHA,CL,CD,D,IO,MI,NG,2,2,&
342 | & QEXPD,5,ROUTID)
343 | IF(CL(1).LE.0..AND.CL(NALPHA).GE.0.) GO TO 1050
344 | NNALPH=NALPHA+1
345 | IF(CL(1).LT.0.) GO TO 1020
346 | CLSUB(1)=0.
347 | ALSCH2(1)=ALSD
348 | DO 1010 J=1,NALPHA
349 | CLSUB(J+1)=CL(J)
350 | 1010 ALSCH2(J+1)=ALSCHD(J)
351 | GO TO 1040
352 | 1020 CLSUB(NNALPH)=0.
353 | ALSCH2(NNALPH)=ALSD
354 | DO 1030 J=1,NALPHA
355 | CLSUB(J)=CL(J)
356 | 1030 ALSCH2(J)=ALSCHD(J)
357 | 1040 CALL TBFUNX(ALSD,ABCD,CLACLO,NNALPH,ALSCH2,CLSUB,E,IX,MI,&
358 | & NG,1,1,QEXPD,5,ROUTID)
359 | GO TO 1060
360 | 1050 CALL TBFUNX(ALSD,ABCD,CLACLO,NALPHA,ALSCHD,CL,Z,IX,MI,&
361 | & NG,1,1,QEXPD,5,ROUTID)
362 | 1060 CONTINUE
363 | XBOCB=-DCMDCL*CBARR/MACOE
364 | DO 1070 I=1,NALPHA
365 | CALL TBFUNX(ALSCHD(I),CDEF,CLA(I),NALPHA,ALSCHD,CL,G,IQ,MI,NG,&
366 | & 0,0,QEXPD,5,ROUTID)
367 | 1070 CONTINUE
368 | ZEE=ZW-ZCG
369 | SINGEG=SIN(GEG/RAD)
370 | CLPCLP=1.-2.*ZEE*SINGEG/SSPN+3.*(ZEE/SSPN)**2*SINGEG**2
371 | LAMB=RAD*ATAN(TANCO4/BETA)
372 | !
373 | ! -- FIGURE 7.1.2.2-24 --
374 | !
375 | CALL TLIP2X(X12224,X22224,Y12224,8,10,LAMCO4,ASTRW,CLPCL2,&
376 | & 1,1,1,1,Q12224,3,ROUTID)
377 | SRSW=SR/SW
378 | AAAA=4.*SSPN**2/(RAD*SRSW*BLREF**2)
379 | BAOK =BETA*ASTRW/K
380 | !
381 | ! FIGURE 7.1.2.2-20 A-D
382 | !
383 | CALL INTEP3(BAOK,LAMB,LAMDA,X1220A,X2220A,Y2220A,13,17,Q2220A,&
384 | & X1220B,X2220B,Y2220B,13,10,Q2220B,&
385 | & X1220C,X2220C,Y2220C,13,10,Q2220C,&
386 | & 1,1,1,1,1,1,&
387 | & X1220D,X2220D,Y2220D,13,18,Q2220D,BCLPCL)
388 | BBBB=AAAA*BCLPCL*K*CLPCLP/(BETA*CLACLO)
389 | DO 1080 I=1,NALPHA
390 | CLT=CL(I)*SRSW
391 | DCLPD(I)=CLPCL2*CLT**2-CDO/8.*SRSW
392 | CLPWBS(I)=BBBB*CLA(I)+AAAA*DCLPD(I)
393 | 1080 CONTINUE
394 | !
395 | ! ---WING-BODY ROLLING DERIVATIVE,CNP---
396 | !
397 | DO 1090 I=1,NALPHA
398 | 1090 ALMALO(I) = ALSCHD(I)-ALSD
399 | BEE=SQRT(1.-MACH**2*COSLO4**2)
400 | CCCC=(ASTRW+4.*COSLO4)/(ASTRW*BEE+4.*COSLO4)
401 | DDDD=(ASTRW*BEE+.5*(ASTRW*BEE+COSLO4)*TANCO4**2)
402 | EEEE=ASTRW+.5*(ASTRW+COSLO4)*TANCO4**2
403 | ! AJT IF NALPHA=20 IT WILL NOW BE 21 AFTER DO LOOP AND CL(I) WILL BE
404 | ! AJT OUTSIDE ARRAY BOUND
405 |
406 | ! AJT IF(CL(I).EQ.0.0)GO TO 1100
407 |
408 | ! AJT PAGE 7.1.2.3-1 OF DATCOM SAYS NO ESTIMATE OF CNP VARIATION WITH CL
409 | ! AJT SHOULD BE MADE IF CL AND CD DATA NOT AVAILABLE
410 | IF(CL(1).EQ.0.0)GO TO 1100
411 | CNPCLO=-(ASTRW+6.*(ASTRW+COSLO4)*(XBOCB*TANCO4/ASTRW+TANCO4**2/12.&
412 | & ))/((ASTRW+4.*COSLO4)*6.)
413 | CNPCLM =CCCC*DDDD*CNPCLO/EEEE
414 | GO TO 1110
415 | 1100 CNPCLM=0.
416 | 1110 CONTINUE
417 | DO 1120 I=1,NALPHA
418 | CLTAN(I)=CL(I)*SRSW*TAN(ALMALO(I)/RAD)
419 | CDCDO(I)=(CD(I)-CDO)*SRSW
420 | CL2PAW(I)=(CL(I)*SRSW)**2/(ASTRW*PI)
421 | 1120 CONTINUE
422 | !
423 | ! -- FIGURE 7.1.2.3-12 --
424 | !
425 | CALL TLIP2X(X12312,X22312,Y12312,6, 8,LAMDA,ASTRW,CNPTHE,2,1,2,1,&
426 | & Q12312,3,ROUTID)
427 | CNP=CNPTHE*THETA
428 | FFFF=AAAA*BLREF/(2.*SSPN)
429 | DO 1150 I=1,NALPHA
430 | CLPTAN(I)=CLPWBS(I)*TAN(ALMALO(I)/RAD)
431 | IF(CL(I).EQ.0.0)GO TO 1130
432 | CALL TBFUNX(ALSCHD(I),ABC,DCLDA(I),NALPHA,ALSCHD,CLTAN,H,IR,&
433 | & MI,NG,1,1,QIMPR1,4,ROUTID)
434 | CALL TBFUNX(ALSCHD(I),ABC,DCDDA(I),NALPHA,ALSCHD,CDCDO,O,IS,&
435 | & MI,NG,1,1,QIMPR2,4,ROUTID)
436 | CALL TBFUNX(ALSCHD(I),ABC,DCADA(I),NALPHA,ALSCHD,CL2PAW,P,IT,&
437 | & MI,NG,1,1,QIMPR3,4,ROUTID)
438 | KAY(I)=(DCLDA(I)-DCDDA(I))/(DCLDA(I)-DCADA(I))
439 | GO TO 1140
440 | 1130 CONTINUE
441 | KAY(I)=1.
442 | 1140 CONTINUE
443 | CNPWBS(I)=(KAY(I)-1.)*CLPTAN(I)+(KAY(I)*(CNPCLM*CL(I)*SRSW)&
444 | & +CNP)*AAAA
445 | 1150 CONTINUE
446 | !
447 | ! WING-BODY YAWING DERIVATIVE,CYP---
448 | !
449 | CLPG=BCLPCL*K/BETA
450 | DCYPG=(3.*SINGEG*(1.-2.*ZEE*SINGEG/SSPN))*CLPG
451 | !
452 | ! -- FIGURE 7.1.2.1-9 --
453 | !
454 | CALL INTERX(1,X1219A,ASTRW,I2A219,Y1219A,TRANS,10,10,1,0,0,0,0,0&
455 | & ,0,0,Q1219A,3,ROUTID)
456 | CALL TLIP2X(X1219B,X2219B,Y1219B,8,2,LAMCO4,TRANS,CHANGE,1&
457 | & ,1,1,1,Q1219B,3,ROUTID)
458 | CALL TLIP2X(X1219C,X2219C,Y1219C,3,2,LAMDA,CHANGE,CYPCLO,&
459 | & 0,0,1,1,Q1219C,3,ROUTID)
460 | AABB=ASTRW+4.*COSLO4
461 | BBCC=ASTRW*BEE+4.*COSLO4
462 | CCDD=ASTRW*BEE+COSLO4
463 | DDEE=ASTRW+COSLO4
464 | CYPCLM=AABB*CCDD*CYPCLO/(BBCC*DDEE)
465 | FFPG=FFFF*DCYPG
466 | DO 1160 I=1,NALPHA
467 | CYPWBS(I)=FFPG+FFFF*CYPCLM*SRSW*KAY(I)*CL(I)
468 | 1160 CONTINUE
469 | !
470 | ! WING-BODY ROLLING DERIVATIVE,CNR---
471 | ! --- FIGURE 7.1.3.3-7 --
472 | ! -- FIGURE 7.1.3.3-6 --
473 | !
474 | CALL TLIP3X(X11336,X21336,X31336,Y71336,4,15,3,LAMCO4,ASTRW,XBOCB,&
475 | & TRADE,0,1,0,2,1,1,Q71336,3,ROUTID)
476 | CALL TLIP2X(X1133A,X2133A,Y7133A,2,2,LAMDA,TRADE,CNRCL2,0,1,0,1,&
477 | & Q71336,3,ROUTID)
478 | CALL TLIP3X(X11337,X21337,X31337,Y71337,4, 9,3,ABS(LAMCO4),&
479 | & ASTRW,XBOCB,CNRCDO,0,1,0,2,1,1,Q71337,3,ROUTID)
480 | DO 1170 I=1,NALPHA
481 | CDOO(I)=CD(I)*SRSW-CL2PAW(I)
482 | CNRWBS(I)=AAAA*((CNRCL2*(CL(I)*SRSW)**2)+CNRCDO*CDOO(I))
483 | 1170 CONTINUE
484 | RETURN
485 | END
486 |
--------------------------------------------------------------------------------
/test/expected/supryw.f90:
--------------------------------------------------------------------------------
1 | SUBROUTINE SUPRYW
2 | !
3 | ! THIS ROUTINE YIELDS THE SUPERSONIC WING,WING-BODY
4 | ! ROLLING DERIVATIVES,CLP AND CNP,AND
5 | ! YAWING DERIVATIVE , CYP
6 | !
7 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA
8 | COMMON /CONSNT/ PI,DR,UNUSED,RAD
9 | COMMON /OPTION/ SR,CBARR,RUFF,BLREF
10 | COMMON /WINGD/ A(195)
11 | COMMON /WINGI/ WINGIN(77)
12 | COMMON /FLGTCD/ FLC(93)
13 | COMMON /POWR/ DYN(213)
14 | COMMON /SUPWH/ SLG(141)
15 | COMMON /IBW/ PBW,BW(380)
16 | COMMON /SYNTSS/ SYNA(19)
17 | COMMON /IWING/ PWING, WING(400)
18 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
19 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,&
20 | & SUPERS,SUBSON,TRANSN,HYPERS,&
21 | & SYMFP,ASYFP,TRIMC,TRIM
22 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,&
23 | & HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,&
24 | & SUPERS,SUBSON,TRANSN,HYPERS,&
25 | & SYMFP,ASYFP,TRIMC,TRIM
26 | INTEGER Y2225A,Y2225B,Y2225C,Y2225D,Y2225E,Y2110A,Y2110C,Y2110B,&
27 | & Y2314A,Y2314B,Y2314C,Y2314D,Y2317A,Y2317B,Y2317C,Y2317D
28 | REAL MACH,LAMLE,LAMDA
29 | DIMENSION ALSCHD(20),CYPWBH(20),CNPWBH(20),CYPWSP(20)
30 | DIMENSION ROUTID(2)
31 | DIMENSION X1225A( 7),X2225A( 17),Y2225A( 60),Q2225A(3)
32 | DIMENSION X1225B( 7),X2225B( 13),Y2225B( 46),Q2225B(3)
33 | DIMENSION X1225C( 7),X2225C( 13),Y2225C( 46),Q2225C(3)
34 | DIMENSION X1225D( 7),X2225D( 14),Y2225D( 49),Q2225D(3)
35 | DIMENSION X1225E( 7),X2225E( 17),Y2225E( 60),Q2225E(3)
36 | DIMENSION X1110A( 14),X2110A( 9),Y2110A( 63),Q2110A(3)
37 | DIMENSION X1110C( 5),X2110C( 5),Y2110C( 13),Q2110C(3)
38 | DIMENSION X1110B( 7),X2110B( 19),Y2110B( 67),Q2110B(3)
39 | DIMENSION X1314A( 10),X2314A( 14),Y2314A( 70),Q2314A(3)
40 | DIMENSION X1314B( 10),X2314B( 14),Y2314B( 70),Q2314B(3)
41 | DIMENSION X1314C( 10),X2314C( 13),Y2314C( 65),Q2314C(3)
42 | DIMENSION X1314D( 10),X2314D( 13),Y2314D( 65),Q2314D(3)
43 | DIMENSION X12316( 9),Y12316( 9),Q12316(3)
44 | DIMENSION X13170( 2),X23170( 4),Y23170(2)
45 | DIMENSION X1317A( 5),X2317A( 15),Y2317A( 38),Q2317A(3)
46 | DIMENSION X1317B( 5),X2317B( 13),Y2317B( 33),Q2317B(3)
47 | DIMENSION X1317C( 5),X2317C( 15),Y2317C( 38),Q2317C(3)
48 | DIMENSION X1317D( 5),X2317D( 14),Y2317D( 35),Q2317D(3)
49 | EQUIVALENCE(CNACNA,SLG(3)),(TANCO2,A(74)),(LAMLE,A(58)),(SW,A(4))&
50 | & ,(XCG,SYNA(1)),(SSPNE,WINGIN(3)),(SSPN,WINGIN(4)),&
51 | &(AW,A(120)),(LAMDA,A(118)),(BETA,SLG(1)),(ALSCHD(1),FLC(23)),&
52 | &(TANLE,A(62))
53 | EQUIVALENCE(CLPWBH,WING(281)),(TRENS,DYN(204)),(CHENGE,DYN(205)),&
54 | & (CYPA,DYN(206)),(CYPWSP(1),WING(301)),(CNPTAS,DYN(207)),&
55 | & (CNPA1,DYN(208)),(CNPA2,DYN(209)),(CNPA3,DYN(210)),&
56 | & (CNPA,DYN(211)),(CNPAE,DYN(212)),(CNPWBH(1),WING(321)),&
57 | & (CNPBA,DYN(213)),(XW,SYNA(1)),(CR,WINGIN(6))
58 | DATA ROUTID/4HSUPR,4HYW /
59 | !
60 | ! ----FIGURE 7.1.2.2-25A
61 | !
62 | DATA Q2225A/4H7.1.,4H2.2-,4H25A /
63 | DATA X1225A/ .000E+00, .100E+01, .200E+01, .300E+01,&
64 | & .400E+01, .500E+01, .600E+01/
65 | DATA X2225A/ -.699E-01, .100E+01, .147E+01, .203E+01,&
66 | & .250E+01, .291E+01, .403E+01, .445E+01, .503E+01, .541E+01,&
67 | & .597E+01, .646E+01, .706E+01, .797E+01, .858E+01, .909E+01,&
68 | & .100E+02/
69 | !
70 | ! ----FIGURE 7.1.2.2-25B
71 | !
72 | DATA Q2225B/4H7.1.,4H2.2-,4H25B /
73 | DATA X1225B/ .000E+00, .100E+01, .200E+01, .300E+01,&
74 | & .400E+01, .500E+01, .600E+01/
75 | DATA X2225B/ .296E-01, .202E+01, .279E+01, .330E+01,&
76 | & .428E+01, .526E+01, .571E+01, .625E+01, .697E+01,&
77 | & .748E+01, .805E+01, .903E+01, .100E+02/
78 | !
79 | ! ----FIGURE 7.1.2.2-25C
80 | !
81 | DATA Q2225C/4H7.1.,4H2.2-,4H25C /
82 | DATA X1225C/ .000E+00, .100E+01, .200E+01, .300E+01,&
83 | & .400E+01, .500E+01, .600E+01/
84 | DATA X2225C/ .125E-01, .199E+01, .268E+01, .332E+01,&
85 | & .369E+01, .433E+01, .468E+01, .539E+01, .571E+01, .668E+01,&
86 | & .802E+01, .903E+01, .100E+02/
87 | !
88 | ! ----FIGURE 7.1.2.2-25D
89 | !
90 | DATA Q2225D/4H7.1.,4H2.2-,4H25D /
91 | DATA X1225D/ .000E+00, .100E+01, .200E+01, .300E+01,&
92 | & .400E+01, .500E+01, .600E+01/
93 | DATA X2225D/ .140E-01, .199E+01, .224E+01, .256E+01,&
94 | & .275E+01, .328E+01, .371E+01, .433E+01, .502E+01, .560E+01,&
95 | & .698E+01, .802E+01, .901E+01, .100E+02/
96 | !
97 | ! ----FIGURE 7.1.2.2-25E
98 | !
99 | DATA Q2225E/4H7.1.,4H2.2-,4H25E /
100 | DATA X1225E/ .000E+00, .100E+01, .200E+01, .300E+01,&
101 | & .400E+01, .500E+01, .600E+01/
102 | DATA X2225E/ .180E-01, .205E+01, .217E+01, .237E+01,&
103 | & .258E+01, .284E+01, .302E+01, .353E+01, .402E+01, .449E+01,&
104 | & .504E+01, .546E+01, .602E+01, .701E+01, .803E+01, .900E+01,&
105 | & .100E+02/
106 | !
107 | ! ----FIGURE 7.1.2.1-10A
108 | !
109 | DATA Q2110A/4H7.1.,4H2.1-,4H10A /
110 | DATA X1110A/ .100E+02, .150E+02, .200E+02, .250E+02,&
111 | & .300E+02, .350E+02, .400E+02, .450E+02, .500E+02, .550E+02,&
112 | & .600E+02, .650E+02, .700E+02, .750E+02/
113 | DATA X2110A/ .134E+01, .149E+01, .160E+01, .179E+01,&
114 | & .200E+01, .240E+01, .297E+01, .349E+01, .399E+01/
115 | !
116 | ! ----FIGURE 7.1.2.1-10B
117 | !
118 | DATA Q2110B/4H7.1.,4H2.1-,4H10B /
119 | DATA X1110B/ .100E+01, .200E+01, .300E+01, .400E+01,&
120 | & .800E+01, .120E+02, .200E+02/
121 | DATA X2110B/ .238E+00, .550E+00, .842E+00, .127E+01,&
122 | & .216E+01, .282E+01, .325E+01, .398E+01, .430E+01, .464E+01,&
123 | & .498E+01, .543E+01, .596E+01, .694E+01, .795E+01, .901E+01,&
124 | & .999E+01, .110E+02, .120E+02/
125 | !
126 | ! ----FIGURE 7.1.2.1-10C
127 | !
128 | DATA Q2110C/4H7.1.,4H2.1-,4H10C /
129 | DATA X1110C/ .000E+00, .250E+00, .500E+00, .750E+00,&
130 | & .100E+01/
131 | DATA X2110C/ -.600E+01, -.243E+01, -.197E+01, -.102E+01,&
132 | & .000E+00/
133 | !
134 | ! ----FIGURE 7.1.2.3-14A
135 | !
136 | DATA Q2314A/4H7.1.,4H2.3-,4H14A /
137 | DATA X1314A/ .200E+01, .300E+01, .400E+01, .500E+01,&
138 | & .600E+01, .700E+01, .800E+01, .100E+02, .150E+02, .200E+02/
139 | DATA X2314A/ .323E+00, .399E+00, .451E+00, .493E+00,&
140 | & .527E+00, .537E+00, .553E+00, .584E+00, .631E+00, .651E+00,&
141 | & .700E+00, .802E+00, .902E+00, .100E+01/
142 | !
143 | ! ----FIGURE 7.1.2.3-14B
144 | !
145 | DATA Q2314B/4H7.1.,4H2.3-,4H14B /
146 | DATA X1314B/ .200E+01, .300E+01, .400E+01, .500E+01,&
147 | & .600E+01, .700E+01, .800E+01, .100E+02, .150E+02, .200E+02/
148 | DATA X2314B/ .326E+00, .393E+00, .443E+00, .478E+00,&
149 | & .502E+00, .519E+00, .552E+00, .569E+00, .616E+00, .647E+00,&
150 | & .700E+00, .799E+00, .900E+00, .100E+01/
151 | !
152 | ! ----FIGURE 7.1.2.3-14C
153 | !
154 | DATA Q2314C/4H7.1.,4H2.3-,4H14C /
155 | DATA X1314C/ .200E+01, .300E+01, .400E+01, .500E+01,&
156 | & .600E+01, .700E+01, .800E+01, .100E+02, .150E+02, .200E+02/
157 | DATA X2314C/ .369E+00, .444E+00, .492E+00, .532E+00,&
158 | & .563E+00, .585E+00, .615E+00, .641E+00, .675E+00, .747E+00,&
159 | & .795E+00, .898E+00, .100E+01/
160 | !
161 | ! ----FIGURE 7.1.2.3-14D
162 | !
163 | DATA Q2314D/4H7.1.,4H2.3-,4H14D /
164 | DATA X1314D/ .200E+01, .300E+01, .400E+01, .500E+01,&
165 | & .600E+01, .700E+01, .800E+01, .100E+02, .150E+02, .200E+02/
166 | DATA X2314D/ .401E+00, .492E+00, .546E+00, .589E+00,&
167 | & .611E+00, .639E+00, .666E+00, .693E+00, .731E+00, .753E+00,&
168 | & .804E+00, .902E+00, .100E+01/
169 | !
170 | ! ----FIGURE 7.1.2.3-16
171 | !
172 | DATA Q12316/4H7.1.,4H2.3-,4H16 /
173 | DATA I22316 /9/
174 | DATA X12316/ .301E+00, .498E+00, .750E+00, .846E+00,&
175 | & .922E+00, .949E+00, .974E+00, .987E+00, .997E+00/
176 | DATA Y12316/ -.168E+00, -.135E+00, -.851E-01, -.626E-01,&
177 | & -.385E-01, -.293E-01, -.190E-01, -.115E-01, -.575E-03/
178 | !
179 | ! ----FIGURE 7.1.2.3-17A
180 | !
181 | DATA Q2317A/4H7.1.,4H2.3-,4H17A /
182 | DATA X1317A/ .200E+01, .300E+01, .400E+01, .800E+01,&
183 | & .120E+02/
184 | DATA X2317A/ .100E+01, .115E+01, .125E+01, .138E+01,&
185 | & .153E+01, .175E+01, .201E+01, .249E+01, .301E+01, .351E+01,&
186 | & .397E+01, .449E+01, .549E+01, .648E+01, .698E+01/
187 | !
188 | ! ----FIGURE 7.1.2.3-17B
189 | !
190 | DATA Q2317B/4H7.1.,4H2.3-,4H17B /
191 | DATA X1317B/ .200E+01, .300E+01, .400E+01, .800E+01,&
192 | & .120E+02/
193 | DATA X2317B/ .101E+01, .127E+01, .150E+01, .167E+01,&
194 | & .184E+01, .202E+01, .253E+01, .303E+01, .352E+01, .403E+01,&
195 | & .502E+01, .603E+01, .700E+01/
196 | !
197 | ! ----FIGURE 7.1.2.3-17C
198 | !
199 | DATA Q2317C/4H7.1.,4H2.3-,4H17C /
200 | DATA X1317C/ .200E+01, .300E+01, .400E+01, .800E+01,&
201 | & .120E+02/
202 | DATA X2317C/ .100E+01, .113E+01, .131E+01, .150E+01,&
203 | & .164E+01, .181E+01, .198E+01, .220E+01, .250E+01, .299E+01,&
204 | & .347E+01, .398E+01, .496E+01, .597E+01, .693E+01/
205 | !
206 | ! ----FIGURE 7.1.2.3-17D
207 | !
208 | DATA Q2317D/4H7.1.,4H2.3-,4H17D /
209 | DATA X1317D/ .200E+01, .300E+01, .400E+01, .800E+01,&
210 | & .120E+02/
211 | DATA X2317D/ .100E+01, .110E+01, .125E+01, .136E+01,&
212 | & .149E+01, .174E+01, .200E+01, .251E+01, .303E+01, .351E+01,&
213 | & .400E+01, .501E+01, .603E+01, .699E+01/
214 | !
215 | ! IN THE FOLLOWING DATA STATEMENTS 2 FLOATING POINT NUMBERS,WITH
216 | ! 3 SIGNIFICANT DIGITS EACH,ARE PACKED IN 1 FIXED POINT WORD.
217 | !
218 | ! THE FORMAT IS AS FOLLOWS-
219 | !
220 | ! SIGN1,NS2,NSPS,NP1,NP2,ND1,ND2
221 | !
222 | ! WHERE-
223 | !
224 | ! SIGN1 IS THE ACTUAL SIGN OF THE 1ST NUMBER
225 | ! NS2 REPRESENTS THE SIGN OF THE 2ND NUMBER.0 IF + , 1 IF -
226 | ! NSPS REPRESENTS THE SIGNS OF THE POWERS OF 10 FOR BOTH NUMBERS
227 | ! 0 IF ++ , 1 IF -- , 2 IF +- , 3 IF -+
228 | ! NP1 IS THE POWER OF 10 FOR THE 1ST NUMBER. LIMITED TO 1 DIGIT
229 | ! NP2 IS THE POWER OF 10 FOR THE 2ND NUMBER. LIMITED TO 1 DIGIT
230 | ! ND1 3 DIGITS OF THE 1ST NUMBER (DECIMAL POINT AT END)
231 | ! ND2 3 DIGITS OF THE 2ND NUMBER (DECIMAL POINT AT END)
232 | !
233 | DATA Y2225A/-1143985102,-1133105107,-1134109960,-1144760690,&
234 | &-1144620570,-1144530490,-1144460410,-1144390370,-1144330990,&
235 | &-1143990100,-1133101101,-1144990760,-1144710630,-1144580540,&
236 | &-1144510470,-1144420400,-1144380340,-1144990960,-1144940930,&
237 | &-1144910890,-1144830750,-1144670610,-1144560520,-1144490430,&
238 | &-1144410390,-1144350860,-1144830820,-1144810810,-1144800760,&
239 | &-1144750730,-1144660600,-1144560510,-1144440420,-1144400350,&
240 | &-1144750740,-1144740730,-1144730730,-1144710710,-1144690680,&
241 | &-1144650590,-1144540460,-1144440410,-1144360670,-1144670670,&
242 | &-1144670680,-1144680670,-1144660650,-1144640630,-1144620600,&
243 | &-1144510460,-1144430380,-1144580590,-1144590600,-1144610620,&
244 | &-1144630620,-1144620610,-1144600590,-1144580560,-1144500460,&
245 | & -340410000/
246 | DATA Y2225B/-1143988134,-1133123114,-1144938780,-1144725671,&
247 | &-1144615576,-1144541485,-1144441988,-1133124119,-1134113954,&
248 | &-1144806743,-1144681623,-1144588551,-1144488445,-1143987113,&
249 | &-1133111110,-1144969827,-1144771701,-1144632594,-1144557495,&
250 | &-1144448928,-1133102102,-1134101967,-1144857802,-1144741660,&
251 | &-1144622578,-1144514461,-1144839906,-1144938933,-1144903876,&
252 | &-1144825776,-1144697650,-1144601544,-1144487771,-1144791824,&
253 | &-1144843862,-1144828815,-1144797737,-1144690640,-1144565505,&
254 | &-1144691708,-1144732747,-1144780787,-1144778764,-1144738713,&
255 | &-1144674602, -340533000/
256 | DATA Y2225C/-1143987137,-1133127116,-1133111100,-1144944855,&
257 | &-1144809713,-1144615562,-1144511982,-1133131124,-1133116110,&
258 | &-1134100944,-1144853814,-1144720619,-1144563511,-1143982119,&
259 | &-1133118112,-1133109102,-1144976883,-1144839734,-1144628566,&
260 | &-1144516943,-1133107109,-1133108107,-1134102974,-1144901860,&
261 | &-1144761640,-1144576523,-1144877935,-1144968999,-1144991974,&
262 | &-1144972913,-1144880791,-1144677605,-1144546820,-1144827854,&
263 | &-1144878891,-1144913904,-1144886880,-1144809700,-1144633566,&
264 | &-1144738726,-1144749773,-1144786809,-1144826850,-1144844830,&
265 | &-1144730656, -340594000/
266 | DATA Y2225D/-1143985141,-1133136132,-1133128119,-1133112103,&
267 | &-1144940869,-1144731654,-1144592541,-1143985131,-1133128125,&
268 | &-1133123117,-1133111105,-1144953871,-1144735654,-1144592541,&
269 | &-1143985117,-1133120120,-1133119114,-1133109104,-1144952887,&
270 | &-1144747666,-1144599544,-1143953103,-1133104106,-1133106110,&
271 | &-1133107103,-1144966906,-1144767687,-1144617566,-1144893908,&
272 | &-1144938958,-1144968985,-1143998101,-1144975917,-1144800723,&
273 | &-1144651578,-1144822803,-1144824843,-1144857889,-1144911929,&
274 | &-1144938917,-1144820741,-1144671594,-1144760724,-1144735757,&
275 | &-1144770804,-1144831846,-1144864871,-1144819755,-1144685615/
276 | DATA Y2225E/-1143988129,-1133129130,-1133129128,-1133125117,&
277 | &-1133110102,-1144960910,-1144850760,-1144680620,-1144570980,&
278 | &-1133125126,-1133126126,-1133125123,-1133117109,-1134103960,&
279 | &-1144910850,-1144760680,-1144630570,-1143990113,-1133116118,&
280 | &-1133118118,-1133118115,-1133109105,-1144980930,-1144870780,&
281 | &-1144700640,-1144580960,-1133104105,-1133107109,-1133112114,&
282 | &-1133112108,-1134104990,-1144940890,-1144790720,-1144650600,&
283 | &-1144900930,-1144930950,-1144970980,-1144000102,-1133104102,&
284 | &-1144980940,-1144900820,-1144730670,-1144610840,-1144820830,&
285 | &-1144850860,-1144880890,-1144920940,-1144960960,-1144950920,&
286 | &-1144820750,-1144680630,-1144770730,-1144740750,-1144770780,&
287 | &-1144790820,-1144850860,-1144880890,-1144900850,-1144770710,&
288 | & -340650000/
289 | DATA Y2110A/ 111106130, 111148177, 111211274, 111364445,&
290 | & 112525828, 121994112, 111134162, 111223327, 111438563,&
291 | & 122706802, 121879100, 111115142, 111179209, 112237582,&
292 | & 122661713, 122817930, 111115144, 111168189, 122508572,&
293 | & 122628699, 122787958, 111118137, 112155445, 122498552,&
294 | & 122618695, 122824999, 111116130, 122410452, 122491540,&
295 | & 122602713, 122861997, 112112330, 122408429, 122485533,&
296 | & 122637755, 122868969, 122262342, 122399436, 122485565,&
297 | & 122669757, 122855209, 122272314, 122395436, 122503587,&
298 | & 122665731, 122140215, 122260338, 122398450, 122525588,&
299 | & 123651831, 122136166, 122228288, 122392452, 122505560,&
300 | & 133466831, 122108150, 122196291, 122388445, 123487464,&
301 | & 133531715, 132877125, 122192271, 122344413/
302 | DATA Y2110B/ 122439402, 122374346, 122310295, 122278249,&
303 | & 122230218, 122199189, 122184161, 122152147, 122145136,&
304 | & 122138599, 122532489, 122425344, 122306285, 122249228,&
305 | & 122202190, 122172157, 122145138, 122127118, 122115113,&
306 | & 122728659, 122599519, 122384335, 122304247, 122219188,&
307 | & 122160136, 122121111, 133976951, 133974909, 132771910,&
308 | & 122804715, 122600426, 122351320, 122252199, 122158133,&
309 | & 122117107, 133821749, 133679679, 133680679, 122778767,&
310 | & 122751716, 122601478, 122380249, 122190135, 123111797,&
311 | & 133625482, 133409385, 133363363, 132318951, 122938919,&
312 | & 122877741, 122596481, 122251164, 123116790, 133517433,&
313 | & 133388364, 133340317, 133318295, 111346307, 111272224,&
314 | & 112140889, 122612244, 123123675, 133449356, 133185206,&
315 | & 133138114, 133136137, 330136000/
316 | DATA Y2110C/ 124358230, 340230000, 142230505, 122145106,&
317 | & 134413230, 122610248, 122209106, 142230677, 122324285,&
318 | & 124161230, 122728367, 122326220, 340230000/
319 | DATA Y2314A/-1133828841,-1133849855,-1133858858,-1133859862,&
320 | &-1133866866,-1133867869,-1133869870,-1133818817,-1133819824,&
321 | &-1133826824,-1133825826,-1133826826,-1133825817,-1133813805,&
322 | &-1133808808,-1133808808,-1133808806,-1133807806,-1133806805,&
323 | &-1133800793,-1133783772,-1133767788,-1133796799,-1133798796,&
324 | &-1133796796,-1133793791,-1133786776,-1133765753,-1133666739,&
325 | &-1133770784,-1133788790,-1133790788,-1133785785,-1133779767,&
326 | &-1133754742,-1133797793,-1133790788,-1133787787,-1133785784,&
327 | &-1133779776,-1133772761,-1133746733,-1133799796,-1133792789,&
328 | &-1133786785,-1133784780,-1133775774,-1133767754,-1133741723,&
329 | &-1133826809,-1133798790,-1133784783,-1133780775,-1133769766,&
330 | &-1133759745,-1133732714,-1133847821,-1133806794,-1133785783,&
331 | &-1133779772,-1133762758,-1133751736,-1133721702,-1133824805,&
332 | &-1133793783,-1133776774,-1133771765,-1133756753,-1133745730,&
333 | &-1133713697/
334 | DATA Y2314B/-1122138141,-1122143144,-1122145145,-1122147147,&
335 | &-1122149149,-1122151153,-1122155157,-1122137136,-1122137138,&
336 | &-1122138139,-1122139139,-1122140140,-1122141141,-1122141142,&
337 | &-1122133134,-1122134135,-1122134135,-1122135135,-1122136136,&
338 | &-1122136136,-1122135135,-1122133133,-1122132132,-1122133133,&
339 | &-1122133133,-1122133132,-1122132132,-1122132130,-1122126130,&
340 | &-1122131132,-1122132132,-1122132131,-1122131131,-1122131130,&
341 | &-1122129127,-1122140135,-1122133131,-1122131131,-1122130130,&
342 | &-1122130130,-1122129128,-1122126126,-1122127129,-1122129130,&
343 | &-1122130130,-1122130129,-1122129128,-1122128127,-1122126124,&
344 | &-1122121125,-1122126127,-1122128128,-1122128128,-1122128127,&
345 | &-1122126125,-1122123122,-1122118122,-1122124125,-1122126126,&
346 | &-1122126126,-1122126126,-1122124123,-1122121119,-1122124124,&
347 | &-1122125125,-1122125125,-1122125125,-1122124124,-1122123122,&
348 | &-1122119117/
349 | DATA Y2314C/-1122189195,-1122198201,-1122202204,-1122206206,&
350 | &-1122209213,-1122215220,-1122225177,-1122185187,-1122188188,&
351 | &-1122189190,-1122191192,-1122193195,-1122196199,-1122171178,&
352 | &-1122181182,-1122182182,-1122182183,-1122183184,-1122185186,&
353 | &-1122186178,-1122178178,-1122178178,-1122178178,-1122178178,&
354 | &-1122178178,-1122178178,-1122163169,-1122172174,-1122174174,&
355 | &-1122174174,-1122174174,-1122173173,-1122172185,-1122179176,&
356 | &-1122175174,-1122173173,-1122173173,-1122172172,-1122169168,&
357 | &-1122146158,-1122163167,-1122168169,-1122170170,-1122169169,&
358 | &-1122168167,-1122165144,-1122156161,-1122164166,-1122167168,&
359 | &-1122168168,-1122167166,-1122164162,-1122139150,-1122155159,&
360 | &-1122161162,-1122163164,-1122164163,-1122162159,-1122156201,&
361 | &-1122188181,-1122177173,-1122171168,-1122166164,-1122160159,&
362 | &-1122156154/
363 | DATA Y2314D/-1122228237,-1122242245,-1122247249,-1122252254,&
364 | &-1122256258,-1122262269,-1122276210,-1122221225,-1122226227,&
365 | &-1122229229,-1122230233,-1122233234,-1122238242,-1122211215,&
366 | &-1122216217,-1122217218,-1122219219,-1122220220,-1122220223,&
367 | &-1122223206,-1122208209,-1122210211,-1122211211,-1122211211,&
368 | &-1122212212,-1122212213,-1122208207,-1122207207,-1122207207,&
369 | &-1122207207,-1122207207,-1122207206,-1122205203,-1122203203,&
370 | &-1122202202,-1122204204,-1122203203,-1122203202,-1122201200,&
371 | &-1122202202,-1122202202,-1122202201,-1122201201,-1122201201,&
372 | &-1122200198,-1122196176,-1122186191,-1122194195,-1122196196,&
373 | &-1122197197,-1122197196,-1122194191,-1122145167,-1122176182,&
374 | &-1122185187,-1122189190,-1122191191,-1122190187,-1122183173,&
375 | &-1122180183,-1122185186,-1122187187,-1122188188,-1122188187,&
376 | &-1122183181/
377 | DATA Y2317A/-1133142138,-1133130121,-1134113991,-1144879753,&
378 | &-1144692655,-1144625609,-1144580559,-1144552943,-1144881812,&
379 | &-1144672580,-1144475431,-1144371338,-1144317297,-1144288278,&
380 | &-1144258256,-1144696641,-1144534411,-1144349288,-1144250211,&
381 | &-1144187178,-1144174167,-1144151150,-1144148354,-1144249182,&
382 | &-1144130104,-1155776710,-1155639593,-1155572459,-1155412365,&
383 | &-1155342342,-1144214123,-1155900662,-1155525365,-1155343320,&
384 | &-1155274274,-1155252229,-1155205205, -350205000/
385 | DATA Y2317B/-1133410391,-1133366353,-1133340326,-1133302281,&
386 | &-1133267262,-1133248240,-1133233267,-1133247215,-1133197181,&
387 | &-1133175156,-1133140134,-1133126120,-1133119115,-1133198175,&
388 | &-1133143123,-1133108103,-1144904847,-1144810751,-1144678663,&
389 | &-1143659102,-1144668473,-1144368329,-1144318281,-1144267231,&
390 | &-1144206202,-1144163159,-1144660362,-1144221184,-1144159147,&
391 | &-1144134131,-1144118116,-1144111107, -340102000/
392 | DATA Y2317C/-1133681675,-1133659642,-1133624608,-1133591577,&
393 | &-1133562537,-1133521509,-1133490480,-1133469455,-1133434413,&
394 | &-1133387371,-1133354341,-1133319301,-1133279265,-1133257244,&
395 | &-1133239229,-1133330321,-1133296275,-1133258239,-1133220200,&
396 | &-1133183166,-1133158151,-1133147138,-1133135159,-1133143111,&
397 | &-1144869740,-1144667597,-1144538511,-1144455406,-1144392388,&
398 | &-1144385371,-1134114888,-1144571374,-1144322307,-1144278278,&
399 | &-1144198187,-1144186172,-1144191188, -340207000/
400 | DATA Y2317D/-1133932927,-1133914898,-1133889860,-1133836807,&
401 | &-1133778754,-1133743717,-1133707690,-1133612602,-1133576568,&
402 | &-1133550529,-1133495457,-1133425406,-1133389379,-1133360357,&
403 | &-1133460449,-1133424413,-1133382348,-1133319283,-1133266247,&
404 | &-1133241227,-1133214211,-1133234209,-1133179162,-1133134121,&
405 | &-1134101918,-1144849702,-1144686654,-1144645636,-1133177118,&
406 | &-1144927838,-1144648592,-1144524394,-1144398339,-1144323314,&
407 | &-1144305295/
408 | DATA X13170/2.,12./,X23170/0.,7.,0.,7./,Y23170/0.,0./
409 | !
410 | MACH=FLC(IM+2)
411 | COTLE=1./TANLE
412 | IF(WGPL.AND.(.NOT.BO))GO TO 1000
413 | DB=(SSPN-SSPNE)/SSPN
414 | IF(DB.GT.0.3)RETURN
415 | 1000 ASTAN2=AW*TANCO2
416 | BAW=BETA*AW
417 | ! ---SUPER WING,WING-BODY ROLLING DERIVATIVE,CLP---
418 | !
419 | ! FIGURE 7.1.2.2-25 A-E
420 | CALL INTEP3(ASTAN2,BAW,LAMDA,X1225A,X2225A,Y2225A,7,17,Q2225A,&
421 | !
422 | &X1225B,X2225B,Y2225B,7,13,Q2225B,&
423 | & X1225C,X2225C,Y2225C,7,13,Q2225C,&
424 | & X1225D,X2225D,Y2225D,7,14,Q2225D,&
425 | & X1225E,X2225E,Y2225E,7,17,Q2225E,CLPA)
426 | SAVE=4.*SW*SSPN**2/(RAD*SR*BLREF**2)
427 | CLPWBH=CLPA*CNACNA*SAVE*AW
428 | !
429 | ! ---SUPER WING,WING-BODY YAWING DERIVATIVE,CYP---
430 | ! -- FIGURE 7.1.2.1-10 --
431 | !
432 | CALL TLIP2X(X1110A,X2110A,Y2110A,14, 9,LAMLE,MACH,TRENS,2,1,2,1,&
433 | & Q2110A,3,ROUTID)
434 | CALL TLIP2X(X1110B,X2110B,Y2110B,7,19,BAW,TRENS,CHENGE,2,1,2,1,&
435 | & Q2110B,3,ROUTID)
436 | CHENGE=-CHENGE
437 | CALL TLIP2X(X1110C,X2110C,Y2110C,5,5,LAMDA,CHENGE,CYPA,1,1,2,1,&
438 | & Q2110C,3,ROUTID)
439 | TEMP=CYPA*SW*SSPN/(SR*BLREF*1641.645)
440 | DO 1010 I=1,NALPHA
441 | CYPWSP(I)=TEMP*ALSCHD(I)
442 | 1010 CONTINUE
443 | !
444 | ! ----SUPER WING,WING-BODY ROLLING DERIVATIVE,CNP---
445 | !
446 | BCOTLE=BETA*COTLE
447 | IF(BCOTLE.GE.1.)GO TO 1030
448 | !
449 | ! FIGURE 7.1.2.3-14 A-D
450 | !
451 | CALL INTEP3( BAW, BCOTLE, LAMDA, 0, 0, 0, 1, 1, 0&
452 | & ,X1314A,X2314A,Y2314A,10,14,Q2314A&
453 | & ,X1314B,X2314B,Y2314B,10,14,Q2314B&
454 | & ,X1314C,X2314C,Y2314C,10,13,Q2314C&
455 | & ,X1314D,X2314D,Y2314D,10,13,Q2314D,CNPTAS)
456 | CNPA1 =CNPTAS*TANLE
457 | !
458 | ! -- FIGURE 7.1.2.3-16 --
459 | !
460 | CALL INTERX(1,X12316,BCOTLE,I22316,Y12316,CNPAAS,9,9,1,0,0,0,1,&
461 | & 0,0,0,Q12316,3,ROUTID)
462 | CNPA2=CNPAAS*AW
463 | CNPA3=CNPAAS*AW*TANLE**2
464 | CNPA=CNPA1+CNPA2+CNPA3
465 | CNAPE=SAVE*(CNPA+CYPA*(XCG-XW)/CR*AW*(1.+LAMDA))
466 | DO 1020 I=1,NALPHA
467 | 1020 CNPWBH(I)=(CNPAE-CLPWBH)*ALSCHD(I)/RAD
468 | GO TO 1050
469 | 1030 CONTINUE
470 | !
471 | ! FIGURE 7.1.2.3-17 A-D
472 | !
473 | CALL INTEP3( BAW, BCOTLE, LAMDA, 0, 0, 0, 1, 1, 0,&
474 | & X1317A,X2317A,Y2317A,5,15,Q2317A,&
475 | & X1317B,X2317B,Y2317B,5,13,Q2317B,&
476 | & X1317C,X2317C,Y2317C,5,15,Q2317C,&
477 | & X1317D,X2317D,Y2317D,5,14,Q2317D,CNPBA)
478 | AAAAA=BETA*CNPBA
479 | BBBBB=2.*XCG/(BLREF*AW*(1.+LAMDA))-.5*TANLE
480 | CCCCC=(AAAAA+BBBBB*CYPA*BLREF/(2.*SSPN))*SAVE
481 | DO 1040 I=1,NALPHA
482 | CNPWBH(I)=(CCCCC-CLPWBH)*ALSCHD(I)/RAD
483 | 1040 CONTINUE
484 | 1050 CONTINUE
485 | RETURN
486 | END
487 |
--------------------------------------------------------------------------------
/test/input/airfol.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE AIRFOL
2 | C
3 | C CALCULATE NACA DESIGNATED AIRFOIL COORDINATES
4 | C
5 | REAL A/1.0000000000000000000000000000000
6 | 1111111111111111111/
7 | COMMON /
8 | 1TEST/ C
9 | COMMON /IBODY/ PB,NACA(80)
10 | COMMON /IWING/ PW, X(60)
11 | COMMON / IHT / PHT, XU(60),XL(60)
12 | COMMON / IVT / PVT, YUN(60),YLN(60)
13 | COMMON / IBW / PBW,L,I,J,K,II,JJ,KK,III,JJJ,KKK,LLL
14 | COMMON / IBH / PBH, THN(60),CAM(60)
15 | COMMON /IBWHV/ PBWHV, RHO,TMAX
16 | COMMON /FLOLOG/ DUM(29),PART
17 | LOGICAL DUM,PART
18 | INTEGER A4HW,A4HH,A4HV,A4HF
19 | DIMENSION THN2(60)
20 | DATA A4HW,A4HH,A4HV,A4HF/4HW ,4HH ,4HV ,4HF /
21 | C
22 | C DECODE THE USERS INPUT NACA DESIGNATION
23 | C
24 | CALL DECODE(NACA,NA)
25 | C
26 | C CALCULATE THE AIRFOIL COORDINATES
27 | C
28 | IF(PART)WRITE(6,1100)
29 | IF(PART .AND. NACA(6).EQ.A4HW)WRITE(6,1230)
30 | IF(PART .AND. NACA(6).EQ.A4HH)WRITE(6,1240)
31 | IF(PART .AND. NACA(6).EQ.A4HV)WRITE(6,1250)
32 | IF(PART .AND. NACA(6).EQ.A4HF)WRITE(6,1260)
33 | C
34 | GO TO (1000,1010,1020,1030,1040,1050,1060), NA
35 | C
36 | 1000 IF(PART)WRITE(6,1110)I,J,K,II
37 | C
38 | C** CALCULATE NACA 4-DIGIT AIRFOIL COORDINATES
39 | C
40 | CALL COORD4
41 | GO TO 1080
42 | 1010 IF(PART)WRITE(6,1120)I,J,K,II,KK,III
43 | C
44 | C** CALCULATE NACA MODIFIED 4-DIGIT AIRFOIL COORDINATES
45 | C
46 | CALL CORD4M
47 | GO TO 1080
48 | 1020 IF(PART)WRITE(6,1130)I,J,K,II,JJ
49 | C
50 | C** CALCULATE NACA 5-DIGIT AIRFOIL COORDINATES
51 | C
52 | CALL COORD5
53 | GO TO 1080
54 | 1030 IF(PART)WRITE(6,1140)I,J,K,II,JJ,III,JJJ
55 | C
56 | C** CALCULATE NACA MODIFIED 5-DIGIT AIRFOIL COORDINATES
57 | C
58 | CALL CORD5M
59 | GO TO 1080
60 | 1040 IF(PART)WRITE(6,1150)I,J,II,JJ,KK
61 | C
62 | C** CALCULATE NACA 1-SERIES AIRFOIL COORDINATES
63 | C
64 | CALL COORD1
65 | GO TO 1080
66 | 1050 IF(PART .AND. (K .EQ. 0 .AND. II .EQ. 0))
67 | 1 WRITE(6,1160)I,J,JJ,KK,III
68 | IF(PART .AND. (K .NE. 0 .AND. II .EQ. 0))
69 | 1 WRITE(6,1170)I,J,K,JJ,KK,III
70 | IF(PART .AND. (K .EQ. 0 .AND. II .NE. 0))
71 | 1 WRITE(6,1180)I,J,JJ,KK,III
72 | IF(PART .AND. (K .NE. 0 .AND. II .NE. 0))
73 | 1 WRITE(6,1190)I,J,K,JJ,KK,III
74 | IF(PART .AND. (JJJ .GE. 1)) WRITE(6,1200)JJJ
75 | C
76 | C** CALCULATE NACA 6-SERIES AIRFOIL COORDINATES
77 | C
78 | CALL COORD6
79 | GO TO 1080
80 | 1060 IF(I.NE.2)GO TO 1070
81 | J=5
82 | K=0
83 | II=0
84 | 1070 IF(PART)WRITE(6,1270)I,J,K,II,JJ,KK,III,JJJ,KKK,LLL
85 | C
86 | C** CALCULATE GEOMTRY FOR SUPERSONIC AIRFOILS
87 | C
88 | CALL CORDSP
89 | C
90 | C** CALCULATE AIRFIOL SECTION X Y COORDINATES OR THICKNESS/CAMBER
91 | C DISTRIBUTION
92 | C
93 | CALL XYCORD(0,0)
94 | 1080 IF(PART)WRITE(6,1210)
95 | C
96 | DO 1090 M=1,L
97 | THN2(M)=2.*THN(M)
98 | 1090 CONTINUE
99 | IF(PART)WRITE(6,1220)(XU(M),YUN(M),XL(M),YLN(M),X(M),CAM(M),
100 | 1 THN2(M),M=1,L)
101 | RETURN
102 | C
103 | 1100 FORMAT(1H1,29X,75HAUTOMATED STABILITY AND CONTROL METHODS PER APRI
104 | 1L 1976 VERSION OF DATCOM )
105 | 1110 FORMAT(1H ,62X,6H NACA ,4I1)
106 | 1120 FORMAT(1H ,60X,6H NACA ,4I1,3H - ,2I1)
107 | 1130 FORMAT(1H ,62X,6H NACA ,5I1)
108 | 1140 FORMAT(1H ,60X,6H NACA ,5I1,3H - ,2I1)
109 | 1150 FORMAT(1H ,61X,6H NACA ,2I1,3H - ,3I1)
110 | 1160 FORMAT(1H ,62X,6H NACA ,2I1,1H-,3I1)
111 | 1170 FORMAT(1H ,60X,6H NACA ,2I1,1H,,I1,1H-,3I1)
112 | 1180 FORMAT(1H ,61X,6H NACA ,2I1,1HA,3I1)
113 | 1190 FORMAT(1H ,60X,6H NACA ,2I1,1H,,I1,1HA,3I1)
114 | 1200 FORMAT(1H ,65X,4HA=0.,I1)
115 | 1210 FORMAT(1H ,3X,15H UPPER ABSCISSA,4X,15H UPPER ORDINATE,4X,
116 | 1 15H LOWER ABSCISSA,4X,15H LOWER ORDINATE,6X,
117 | 2 16HX-FRACTION CHORD,4X,9HMEAN LINE,4X,9HTHICKNESS)
118 | 1220 FORMAT(8X,F8.5,11X,F8.5,10X,F8.5,10X,F8.5,13X,F8.5,10X,
119 | 1 F8.5,6X,F8.5)
120 | 1230 FORMAT(1H ,55X,23HWING SECTION DEFINITION)
121 | 1240 FORMAT(1H ,50X,34HHORIZONTAL TAIL SECTION DEFINITION)
122 | 1250 FORMAT(1H ,51X,32HVERTICAL TAIL SECTION DEFINITION)
123 | 1260 FORMAT(1H ,52X,30HVENTRAL FIN SECTION DEFINITION )
124 | 1270 FORMAT(1H ,54X,8H NACA S-,I1,1H-,2I1,1H.,I1,1H-,2I1,1H.,I1,
125 | 1 1H-,2I1,1H.,I1)
126 | END
127 |
--------------------------------------------------------------------------------
/test/input/atmos.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE ATMOS (A3,A8,A4)
2 | C
3 | C THIS ROUTINE CALCULATES ATMOSPHERIC PROPERTIES OF THE
4 | C US STANDARD ATMOSPHERE,1962,ASSUMING AN INVERSE SQUARE
5 | C GRAVITATIONAL FIELD. THIS ASSUMPTION YIELDS DATA THAT
6 | C AGREES WITH THE COESA DOCUMENT WITHIN 1 PER CENT AT
7 | C ALL ALTITUDES UP TO 700 KILOMETERS (2296588 FEET). THE
8 | C DATA IS ARRANGED IN THE ATMOSPHERE ARRAY, A, AS
9 | C FOLLOWS
10 | C A(1) = CS, SPEED OF SOUND, FT/SEC
11 | C A(2) = (1/CS)(DCS/DZ), SOUND DERIVATIVE, 1/FT
12 | C A(3) = Z, GEOMETRIC ALTITUDE, FT
13 | C A(4) = P, PRESSURE, LB/FT2
14 | C A(5) = DP/DZ, PRESSURE DERIVATIVE, LB/FT3
15 | C A(6) = RHO, DENSITY, SLUGS/FT3
16 | C A(7) = (1/RHO)(DRHO/DZ), DENSITY DERIVATIVE, 1/FT
17 | C A(8) = T, TEMPERATURE, DEG RANKINE
18 | C A(9) = DT/DZ, TEMPERATURE DERIVATIVE, DEG RANKINE/FT
19 | C
20 | C VARIOUS CONSTANTS USED
21 | C EARTH RADIUS = 20890855 FT
22 | C SPECIFIC HEAT RATIO FOR AIR = 1.4
23 | C SEA LEVEL VALUES
24 | C GRAVITATIONAL ACCELERATION = 32.1740484 FT/SEC2
25 | C MOLECULAR WEIGHT = 28.9644
26 | C GO*MO/R* = 0.018743418 DEG RANK/FT
27 | C
28 | DIMENSION A( 9),HG(10),ZM(14),WM(14),TM(23),PM(22)
29 | C
30 | C SET ARRAYS AND CONSTANT VALUES
31 | DATA G0,WM0,R0,GMRS/32.1740484,28.9644,20890855.0,
32 | 1 0.018743418/,HG/-16404.,0.0
33 | 2 ,36089.,65617.,104987.,154199.,170604.,200131.,
34 | 3 250186.,291160./,ZM/295276.,328084.,
35 | 4 360892.,393701.,492126.,524934.,557743.,623360.,
36 | 5 754593.,984252.,1312336.,1640420.,1968504.,
37 | 6 2296588./,WM/28.9644,28.88,28.56,
38 | 7 28.07,26.92,26.66,26.4,25.85,24.7,22.66,19.94,
39 | 8 17.94,16.84,16.17/
40 | C
41 | DATA TM/577.17,518.67,389.97,389.97,411.57
42 | 1 ,487.17,487.17,454.77,325.17,325.17,379.17,469.17
43 | 2 ,649.17,1729.17,1999.17,2179.17,2431.17,2791.17
44 | 3 ,3295.17,3889.17,4357.17,4663.17,4861.17/,PM/
45 | 4 3711.0839,2116.2165,472.67563,114.34314,
46 | 5 18.128355,2.3162178,1.2321972,3.8030279E-01,
47 | 6 2.1671352E-02,3.4313478E-03,6.2773411E-04,1.53490
48 | 7 91E-04,5.2624212E-05,1.0561806E-05,7.7083076E-06,
49 | 8 5.8267151E-06,3.5159854E-06,1.4520255E-06,3.92905
50 | 9 63E-07,8.4030242E-08,2.2835256E-08,7.1875452E-09/
51 | C
52 | A(3) = A3
53 | C
54 | C CALCULATE G, Z, AND CHECK
55 | C
56 | 1000 Z = A(3)
57 | G = G0*(R0/(R0+Z))**2
58 | IF (Z .GT. 295276.0) GO TO 1040
59 | C
60 | C TMS LINEAR WITH GEOPOTENTIAL. CALCULATE H AND SEARCH
61 | C
62 | H = R0*Z/(R0+Z)
63 | DO 1010 I= 2,10
64 | J = I - 1
65 | IF (HG(I) .GE. H) GO TO 1020
66 | 1010 CONTINUE
67 | C
68 | C CALCULATE TMS SLOPE,TMS, AND SET MOL WT STUFF
69 | C
70 | 1020 ELH = (TM(J+1) - TM(J))/(HG(J+1) - HG(J))
71 | TMS = TM(J) + ELH*(H - HG(J))
72 | ELZ = ELH*G/G0
73 | DMDZ = 0.0
74 | EM = WM0
75 | C
76 | C CHECK TMS SLOPE AND CALCULATE PRESSURE
77 | C
78 | IF (ELH .EQ. 0.0) GO TO 1030
79 | C
80 | C NON - ZERO SLOPE PRESSURE EQUATION
81 | C
82 | A(4) = PM(J)*(TM(J)/TMS)**(GMRS/ELH)
83 | GO TO 1070
84 | C
85 | C ZERO SLOPE PRESSURE EQUATION
86 | C
87 | 1030 A(4) = PM(J)*EXP(GMRS*(HG(J)-H)/TMS)
88 | GO TO 1070
89 | C
90 | C TMS LINEAR WITH Z. SEARCH MATRIX
91 | C
92 | 1040 DO 1050 I = 2,14
93 | J = I + 8
94 | K = I - 1
95 | IF (ZM(I) .GE. Z) GO TO 1060
96 | 1050 CONTINUE
97 | C
98 | C CALCULATE TMS, SLOPE, AND STUFF
99 | C
100 | 1060 ELZ = (TM(J+1) - TM(J))/(ZM(K+1) - ZM(K))
101 | TMS = TM(J) + ELZ*(Z - ZM(K))
102 | DMDZ = (WM(K+1) - WM(K))/(ZM(K+1) - ZM(K))
103 | EM = WM(K) + DMDZ*(Z - ZM(K))
104 | ZLZ = Z - TMS/ELZ
105 | C
106 | C PRESSURE EQUATION FOR TMS LINEAR WITH Z
107 | C
108 | A(4) = PM(J)*EXP(GMRS/ELZ*(R0/(R0+ZLZ))**2*((Z-ZM(K))*
109 | 1 (R0+ZLZ)/(R0+Z)/(R0+ZM(K)) - ALOG(TMS*(R0+ZM(K)
110 | 2 )/TM(J)/(R0+Z))))
111 | C
112 | C CALCULATE SOUND SPEED AND DERIVATIVE
113 | C
114 | 1070 A(1) = 49.022164*SQRT(TMS)
115 | A(2) = 0.5*ELZ/TMS
116 | C
117 | C CALCULATE DENSITY, DERIVATIVE, AND PRESSURE DERIVATIVE
118 | C
119 | A(6) = GMRS*A(4)/G0/TMS
120 | A(7) = - (A(6)*G/A(4) + ELZ/TMS)
121 | A(5) = -A(6)*G
122 | C
123 | C CALCULATE TEMPERATURE, DERIVATIVE, AND LEAVE
124 | C
125 | A(8) = EM*TMS/WM0
126 | A(9) = (EM*ELZ + TMS*DMDZ)/WM0
127 | A8 = A(8)
128 | A4 = A(4)
129 | A1 = A(1)
130 | A6 = A(6)
131 | RETURN
132 | END
133 |
--------------------------------------------------------------------------------
/test/input/auxout.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE AUXOUT
2 | C
3 | C WRITE AUXILIARY AND PARTIAL OUTPUTS
4 | C
5 | COMMON /OVERLY/ NLOG,NMACH,I,NALPHA,IG,NF,LF,K
6 | COMMON /IWING/ PWING, WING(400)
7 | COMMON /IHT/ PHT, HT(380)
8 | COMMON /IVT/ PVT, VT(380)
9 | COMMON /IVF/ PVF, VF(380)
10 | COMMON /FLGTCD/ FLC(160)
11 | COMMON /OPTION/ SREF, CBARR, ROUGFC, BLREF
12 | COMMON /SYNTSS/ SYNA(19)
13 | COMMON /POWR/ DYN(213)
14 | COMMON /WINGI/ WINGIN(100)
15 | COMMON /HTI/ HTIN(154)
16 | COMMON /VTI/ VTIN(154), TVTIN(8), VFIN(154)
17 | COMMON /WINGD/ A(195)
18 | COMMON /SBETA/ STB(135), TRA(108), TRAH(108), STBH(135)
19 | COMMON /BDATA/ BD(762)
20 | COMMON /WHWB/ FACT(182), WB(39), HB(39)
21 | COMMON /WBHCAL/ WBT(156)
22 | COMMON /HTDATA/ AHT(195)
23 | COMMON /VTDATA/ AVT(195), AVF(195)
24 | COMMON /WHAERO/ C(51), D(55), CHT(51), DHT(55), DVT(55), DVF(55)
25 | COMMON /SUPWBB/ SWB(61), SHB(61)
26 | COMMON /SUPBOD/ SBD(229)
27 | COMMON /SUPWH/ SLG(141), STG(141)
28 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
29 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
30 | 2 TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
31 | 3 HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
32 | 4 VFPL,VFSC,CTAB
33 | COMMON /CONSNT/ PI, DEG, UNUSED, RAD
34 | COMMON /LEVEL2/ SECOND(23)
35 | COMMON /CASEID/ IDCASE(74),KOUNT,NAMSV(100),IDIM
36 | C
37 | DIMENSION STP(155),FOR1(34),FOR2(26),ICON(8),JCON(6),FOR3(14)
38 | DIMENSION H(1),O(1),P(1),Q(1),R(1),S(1),T(1),ANONE(20),KCON(3)
39 | DIMENSION SLA(31),FOR3A(3)
40 | DIMENSION ICONT(11), FOR(46), OPT(4)
41 | C
42 | EQUIVALENCE (OPT(1),SREF)
43 | EQUIVALENCE (WBT(1),STP(1))
44 | EQUIVALENCE (SLA(1),STB(1)),(DOL2,SECOND(16))
45 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
46 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
47 | 2 TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
48 | 3 HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
49 | 4 VFPL,VFSC,CTAB
50 | LOGICAL NN,NM,DOL2,SUPHYP
51 | CHARACTER*4 FOR,FOR1,FOR2,FOR3,FOR3A,FORSAV,FORSAW,FORSAX
52 | DATA FOR / 4H( ,4H1H0 ,
53 | 1 4H,0P ,4HF6.3,4H,1X ,4H,1X , 4H,1X,,4HF8.2,4H,1X ,4H,1X ,
54 | 2 4H,1X,,4HF8.2,4H,1X ,4H,2X , 4H,1P ,4HE10.,4H4 ,4H,3X ,
55 | 3 4H,0P ,4HF9.3,4H,1X ,4H,4X , 4H,1P ,4HE10.,4H4 ,4H,9X ,
56 | 4 4H,0P ,4HF9.3,4H,1X ,4H,1X , 4H,1X,,4HF8.3,4H,1X ,4H ,
57 | 5 4H,1X,,4HF8.3,4H,1X ,4H , 4H,1X,,4HF8.3,4H,1X ,4H ,
58 | 6 4H,1X,,4HF8.3,4H,1X ,4H) /
59 | DATA FOR1 /
60 | 1 4H(1H , 4H,10X, 4H,1X,, 4HE11.,
61 | 2 4H4,1X, 4H,1X , 4H,1X,, 4HF6. ,
62 | 3 4H2,1X, 4H,1X , 4H,1X,, 4HF5. ,
63 | 4 4H2,1X, 4H,2X , 4H,1X,, 4HF9. ,
64 | 5 4H4,1X, 4H,5X , 4H,1X,, 4HE11.,
65 | 6 4H4,1X, 4H,1X , 4H,1X,, 4HE11.,
66 | 7 4H4,1X, 4H,1X , 4H,1X,, 4HE11.,
67 | 8 4H4,1X, 4H,3X , 4H,1X,, 4HE11.,
68 | 9 4H4 , 4H) /
69 | DATA FOR2 /
70 | 1 4H(1H , 4H,13X, 4H,1X,, 4HF7. ,
71 | 2 4H3,1X, 4H,4X , 4H,1X,, 4HE11.,
72 | 3 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,
73 | 4 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,
74 | 5 4H4,1X, 4H,4X , 4H,1X,, 4HE11.,
75 | 6 4H4,1X, 4H,12X, 4H,1X,, 4HE11.,
76 | 7 4H4 , 4H) /
77 | DATA FOR3 /
78 | 1 4H( , 4H44X , 4H,1X,, 4HF7. ,
79 | 2 4H3,1X, 4H,5X , 4H,1X,, 4HE11.,
80 | 3 4H4,1X, 4H,5X , 4H,1X,, 4HE11.,
81 | 4 4H4 , 4H) /
82 | DATA ICON / 13,7,7,11,4*13 /
83 | DATA JCON / 9,5*13 /
84 | DATA KCON / 9,2*13 /
85 | DATA ICONT / 7, 10*10 /
86 | DATA FOR3A/4HE11.,4H4,1X,4H,5X /
87 | C
88 | C WRITE AUXILIARY OUTPUTS
89 | C
90 | NN = .FALSE.
91 | NM = .FALSE.
92 | SUPHYP = SUPERS .OR. HYPERS
93 | ANA = 2.*UNUSED
94 | DO 1000 J=1,NALPHA
95 | 1000 ANONE(J) = ANA
96 | IF(BO) LAST=1
97 | IF(WGPL) LAST=2
98 | IF(HTPL) LAST=3
99 | IF(VTPL .OR. VFPL) LAST=4
100 | IF(BO .AND. WGPL) LAST=5
101 | IF(BO .AND. HTPL) LAST=6
102 | IF(BO .AND. (VTPL .OR. VFPL)) LAST=7
103 | IF(BO .AND. WGPL .AND. HTPL) LAST=8
104 | IF(BO .AND. WGPL .AND. (VTPL .OR. VFPL)) LAST=9
105 | IF(BO .AND. WGPL .AND. HTPL .AND. (VTPL .OR. VFPL)) LAST=10
106 | WRITE(6,1550 )
107 | WRITE(6,1560 )
108 | GO TO (1010 ,1020 ,1030 ,1040 ,1050 ,1060 ,1070 ,1080 ,109
109 | 10 ,1100 ), LAST
110 | 1010 WRITE(6,1570 )
111 | GO TO 1110
112 | 1020 WRITE(6,1580 )
113 | GO TO 1110
114 | 1030 WRITE(6,1590 )
115 | GO TO 1110
116 | 1040 WRITE(6,1600 )
117 | GO TO 1110
118 | 1050 WRITE(6,1610 )
119 | GO TO 1110
120 | 1060 WRITE(6,1620 )
121 | GO TO 1110
122 | 1070 WRITE(6,1630 )
123 | GO TO 1110
124 | 1080 WRITE(6,1640 )
125 | GO TO 1110
126 | 1090 WRITE(6,1650 )
127 | GO TO 1110
128 | 1100 WRITE(6,1660 )
129 | 1110 IF(HEAD) CALL PRCSID
130 | WRITE(6,1670 )
131 | IF(IDIM .EQ. 1) WRITE(6,1680 )
132 | IF(IDIM .EQ. 2) WRITE(6,1690 )
133 | IF(IDIM .EQ. 3) WRITE(6,1700 )
134 | IF(IDIM .EQ. 4) WRITE(6,1710 )
135 | SC = SYNA(13)
136 | XL = 1.0
137 | XR = 1.0
138 | XP = 1.0
139 | XT = 1.0
140 | IF(IDIM .EQ. 2) XL = 12.0
141 | IF(IDIM .EQ. 2) XP = 144.0
142 | IF(IDIM .GE. 3) XP = 0.0208854
143 | IF(IDIM .GE. 3) XR = 0.3048
144 | IF(IDIM .GE. 3) XT = 1.8
145 | IF(IDIM .EQ. 3) XL = 0.3048
146 | IF(IDIM .EQ. 4) XL = 30.48
147 | ALT = FLC(K+96)
148 | VINF = FLC(I+136)
149 | PINF = FLC(K+73)
150 | TINF = FLC(K+116)
151 | IF(ALT .NE. -UNUSED) ALT = ALT *XL
152 | IF(VINF .NE. -UNUSED) VINF = VINF*XL
153 | IF(PINF .NE. -UNUSED) PINF = PINF/XP
154 | IF(TINF .NE. -UNUSED) TINF = TINF/XT
155 | RN = FLC(I+42)/XR
156 | SRF = OPT(1)*XL*XL/(SC*SC)
157 | CBAR = OPT(2)*XL/SC
158 | BLRF = OPT(4)*XL/SC
159 | XCG = SYNA(1)
160 | ZCG = SYNA(5)
161 | IF(XCG .EQ. UNUSED) XCG = 0.0
162 | IF(ZCG .EQ. UNUSED) ZCG = 0.0
163 | IF(BD(11) .NE. UNUSED) XCG = XCG+BD(11)
164 | XBN = BD(11)
165 | XCG = XCG*XL/SC
166 | ZCG = ZCG*XL/SC
167 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,
168 | 1 TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,
169 | 2 DUM,DUM,NDMF,NAF)
170 | IF(VTPL) XCGMAC=(XCG-SYNA(9)*XL/SC-AVT(195)*XL/SC)-XBN*XL/SC
171 | IF(HTPL) XCGMAC=(XCG-SYNA(6)*XL/SC-AHT(195)*XL/SC)-XBN*XL/SC
172 | IF(WGPL) XCGMAC=(XCG-SYNA(2)*XL/SC-A (195)*XL/SC)-XBN*XL/SC
173 | IF(.NOT. BO) GO TO 1120
174 | C
175 | C WRITE BODY AUXILIARY OUTPUTS IF BODY PRESENT
176 | C
177 | BD93 = BD(93)*XL*XL/(SC*SC)
178 | BD57 = BD(57)*XL*XL/(SC*SC)
179 | SBD19 = SBD(19)*XL*XL/(SC*SC)
180 | SBD111 = SBD(111)*XL*XL/(SC*SC)
181 | WRITE(6,1470 )
182 | IF(SUBSON)CALL SWRITE(8,FOR1,34,ICON,1,BD93,XCG,ZCG,BD57,
183 | 1 BD(61),BD(60),BD(59),ANA,O,P,Q,R,S,T,NN,NM)
184 | IF(TRANSN)CALL SWRITE(8,FOR1,34,ICON,1,BD93,XCG,ZCG,BD57,
185 | 1 TRA(78),TRA(76),TRA(79),TRA(80),O,P,Q,R,S,T,NN,NM)
186 | IF(SUPHYP)CALL SWRITE(8,FOR1,34,ICON,1,SBD111,XCG,ZCG,SBD19,
187 | 1 SBD(124),SBD(123),SBD(115),ANA,O,P,Q,R,S,T,NN,NM)
188 | 1120 IF(WGPL .OR. HTPL .OR. VTPL) WRITE(6,1480 ) XCGMAC
189 | C
190 | C WRITE WING DATA IF WING PRESENT
191 | C
192 | IF(.NOT. WGPL) GO TO 1130
193 | WRITE(6,1490 )
194 | IF(SUBSON)
195 | 1 CALL AXPRNT(A,WINGIN,D(11),D(12),D(20),D(10),SYNA(2),
196 | 2 NN,NM,XL,SC,XBN)
197 | IF(TRANSN)
198 | 1 CALL AXPRNT(A,WINGIN,ANA,ANA,WING(1),TRA(42),SYNA(2),
199 | 2 NN,NM,XL,SC,XBN)
200 | IF(SUPHYP)
201 | 1 CALL AXPRNT(A,WINGIN,SLG(84),SLG(83),SLG(80),SLG(88),SYNA(2),
202 | 2 NN,NM,XL,SC,XBN)
203 | C
204 | C WRITE H.T. DATA IF H.T. PRESENT
205 | C
206 | 1130 IF(.NOT. HTPL) GO TO 1140
207 | WRITE(6,1500 )
208 | IF(SUBSON)
209 | 1 CALL AXPRNT(AHT,HTIN,DHT(11),DHT(12),DHT(20),DHT(10),SYNA(6),
210 | 2 NN,NM,XL,SC,XBN)
211 | IF(TRANSN)
212 | 1 CALL AXPRNT(AHT,HTIN,ANA,ANA,HT(1),TRAH(42),SYNA(6),
213 | 2 NN,NM,XL,SC,XBN)
214 | IF(SUPHYP)
215 | 1 CALL AXPRNT(AHT,HTIN,STG(84),STG(83),STG(80),STG(88),SYNA(6),
216 | 2 NN,NM,XL,SC,XBN)
217 | C
218 | C WRITE V.T. DATA IF V.T. PRESENT
219 | C
220 | 1140 IF(.NOT. VTPL) GO TO 1150
221 | WRITE(6,1510 )
222 | IF(SUBSON)
223 | 1 CALL AXPRNT(AVT,VTIN,DVT(11),DVT(12),DVT(20),DVT(10),SYNA(9),
224 | 2 NN,NM,XL,SC,XBN)
225 | IF(TRANSN)
226 | 1 CALL AXPRNT(AVT,VTIN,ANA,ANA,ANA,ANA,SYNA(9),
227 | 2 NN,NM,XL,SC,XBN)
228 | IF(SUPHYP)
229 | 1 CALL AXPRNT(AVT,VTIN,ANA,ANA,VT(1),ANA,SYNA(9),
230 | 2 NN,NM,XL,SC,XBN)
231 | C
232 | C WRITE V.F. DATA IF V.F. PRESENT
233 | C
234 | 1150 IF(.NOT. VFPL) GO TO 1160
235 | WRITE(6,1520 )
236 | IF(SUBSON)
237 | 1 CALL AXPRNT(AVF,VFIN,DVF(11),DVF(12),DVF(20),DVF(10),SYNA(12),
238 | 2 NN,NM,XL,SC,XBN)
239 | IF(TRANSN)
240 | 1 CALL AXPRNT(AVF,VFIN,ANA,ANA,ANA,ANA,SYNA(12),
241 | 2 NN,NM,XL,SC,XBN)
242 | IF(SUPHYP)
243 | 1 CALL AXPRNT(AVF,VFIN,ANA,ANA,VF(1),ANA,SYNA(12),
244 | 2 NN,NM,XL,SC,XBN)
245 | 1160 IF(NN) WRITE(6,1770 )
246 | IF(NM) WRITE(6,1780 )
247 | NN = .FALSE.
248 | NM = .FALSE.
249 | C
250 | C**** WRITE PARTIAL OUTPUTS
251 | C
252 | IF(.NOT. BO) GO TO 1340
253 | IF(LAST .EQ. 1 .OR. LAST .EQ. 7) GO TO 1340
254 | WRITE(6,1550 )
255 | WRITE(6,1560 )
256 | GO TO (1170 ,1180 ,1190 ,1200 ,1210 ,1220 ,1230 ,1240 ,1250 ,1260
257 | 1), LAST
258 | 1170 WRITE(6,1570 )
259 | GO TO 1270
260 | 1180 WRITE(6,1580 )
261 | GO TO 1270
262 | 1190 WRITE(6,1590 )
263 | GO TO 1270
264 | 1200 WRITE(6,1600 )
265 | GO TO 1270
266 | 1210 WRITE(6,1610 )
267 | GO TO 1270
268 | 1220 WRITE(6,1620 )
269 | GO TO 1270
270 | 1230 WRITE(6,1630 )
271 | GO TO 1270
272 | 1240 WRITE(6,1640 )
273 | GO TO 1270
274 | 1250 WRITE(6,1650 )
275 | GO TO 1270
276 | 1260 WRITE(6,1660 )
277 | 1270 IF(HEAD) CALL PRCSID
278 | WRITE(6,1670 )
279 | IF(IDIM .EQ. 1) WRITE(6,1680 )
280 | IF(IDIM .EQ. 2) WRITE(6,1690 )
281 | IF(IDIM .EQ. 3) WRITE(6,1700 )
282 | IF(IDIM .EQ. 4) WRITE(6,1710 )
283 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,
284 | 1 TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,
285 | 2 DUM,DUM,NDMF,NAF)
286 | IF(.NOT. WGPL) GO TO 1280
287 | IF(SUBSON)WRITE(6,1720 )WB(5),WB(4),WB(3),WB(2),WB(13)
288 | IF(TRANSN)WRITE(6,1720 )TRA(72),TRA(71),SWB(11),SWB(35),TRA(106)
289 | IF(SUPHYP)WRITE(6,1720 )SWB(7),SWB(33),SWB(11),SWB(35),SWB(8)
290 | 1280 IF(.NOT. HTPL) GO TO 1290
291 | IF(SUBSON)WRITE(6,1730 )WBT(4),WBT(3),WBT(2),WBT(1),HB(13)
292 | IF(TRANSN)WRITE(6,1730 )TRAH(72),TRAH(71),SHB(11),SHB(35),TRAH(106
293 | 1)
294 | IF(SUPHYP)WRITE(6,1730 )STP(68),STP(67),STP(65),STP(66),SHB(8)
295 | 1290 IF(.NOT. (WGPL .OR. HTPL)) GO TO 1340
296 | IF(STB(117) .EQ. UNUSED) GO TO 1300
297 | IF(WGPL .AND. (SUBSON .OR. TRANSN)) WRITE(6,1540 ) STB(117)
298 | 1300 IF(.NOT. SUBSON) GO TO 1310
299 | WRITE(6,1740 )
300 | IF(WGPL .AND. HTPL)
301 | 1 CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),FACT(2),FACT(42),
302 | 2 FACT(143),FACT(22),WBT(46),H,H,O,P,Q,R,S,T,NN,NM)
303 | IF(WGPL .AND. .NOT. HTPL)
304 | 1 CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),FACT(2),ANONE,
305 | 2 ANONE,FACT(22),ANONE,H,H,O,P,Q,R,S,T,NN,NM)
306 | GO TO 1320
307 | 1310 IF(TRANSN) GO TO 1320
308 | WRITE(6,1740 )
309 | IF(WGPL .AND. HTPL)
310 | 1 CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),SWB(12),STP(71),
311 | 2 STP(133),SWB(40),STP(111),H,H,O,P,Q,R,S,T,NN,NM)
312 | IF(WGPL .AND. .NOT. HTPL)
313 | 1 CALL SWRITE(6,FOR2,26,JCON,NALPHA,FLC(23),SWB(12),ANONE,
314 | 2 ANONE,SWB(40),ANONE,H,H,O,P,Q,R,S,T,NN,NM)
315 | 1320 CONTINUE
316 | IF(TRANSN .OR. HYPERS .OR. .NOT. DAMP) GO TO 1330
317 | WRITE(6,1760 )DYN(176),DYN(68),DYN(95),DYN(177),DYN(180)
318 | WRITE(6,1790 )
319 | KSAVE=KCON(1)
320 | KCON(1)=11
321 | FORSAV=FOR3(4)
322 | FORSAW=FOR3(5)
323 | FORSAX=FOR3(6)
324 | FOR3(4)=FOR3A(1)
325 | FOR3(5)=FOR3A(2)
326 | FOR3(6)=FOR3A(3)
327 | STB67=STB(67)
328 | SLA9=SLA(9)
329 | C4=C(4)
330 | CHT4=CHT(4)
331 | IF(STB(67) .EQ. UNUSED) STB67=2.*UNUSED
332 | IF(SLA(9) .EQ. UNUSED) SLA9=2.*UNUSED
333 | IF(C(4) .EQ. UNUSED) C4=2.*UNUSED
334 | IF(CHT(4) .EQ. UNUSED) CHT4=2.*UNUSED
335 | IF(SUBSON)CALL SWRITE(3,FOR3,14,KCON,1,STB67,C4,CHT4,
336 | 1 H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
337 | IF(SUPERS)CALL SWRITE(3,FOR3,14,KCON,1,SLA9,C4,CHT4,
338 | 1 H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
339 | KCON(1)=KSAVE
340 | FOR3(4)=FORSAV
341 | FOR3(5)=FORSAW
342 | FOR3(6)=FORSAX
343 | 1330 CONTINUE
344 | IF(.NOT. (WGPL .AND. HTPL)) GO TO 1340
345 | IF(WINGIN(4)/HTIN(4) .GE. 1.5) GO TO 1340
346 | WRITE(6,1750 )
347 | CALL SWRITE(3,FOR3,14,KCON,NALPHA,FLC(23),FACT(102),FACT(122),
348 | 1 H,O,P,Q,R,S,T,Q,R,S,T,NN,NM)
349 | 1340 CONTINUE
350 | IF(NN) WRITE(6,1770 )
351 | IF(NM) WRITE(6,1780 )
352 | IF(LAST .EQ. 1 .OR. LAST .EQ. 4 .OR. LAST .EQ. 7) GO TO 1460
353 | C
354 | C WRITE SECOND LEVEL METHOD DATA IF AVAILABLE
355 | C
356 | IF(.NOT. TRANSN) GO TO 1460
357 | IF(.NOT. DOL2) GO TO 1460
358 | WRITE(6,1550 )
359 | WRITE(6,1560 )
360 | GO TO (1350 ,1360 ,1370 ,1380 ,1390 ,1400 ,1410 ,1420 ,1430 ,1440
361 | 1), LAST
362 | 1350 WRITE(6,1570 )
363 | GO TO 1450
364 | 1360 WRITE(6,1580 )
365 | GO TO 1450
366 | 1370 WRITE(6,1590 )
367 | GO TO 1450
368 | 1380 WRITE(6,1600 )
369 | GO TO 1450
370 | 1390 WRITE(6,1610 )
371 | GO TO 1450
372 | 1400 WRITE(6,1620 )
373 | GO TO 1450
374 | 1410 WRITE(6,1630 )
375 | GO TO 1450
376 | 1420 WRITE(6,1640 )
377 | GO TO 1450
378 | 1430 WRITE(6,1650 )
379 | GO TO 1450
380 | 1440 WRITE(6,1660 )
381 | 1450 IF(HEAD) CALL PRCSID
382 | WRITE(6,1670 )
383 | IF(IDIM .EQ. 1) WRITE(6,1680 )
384 | IF(IDIM .EQ. 2) WRITE(6,1690 )
385 | IF(IDIM .EQ. 3) WRITE(6,1700 )
386 | IF(IDIM .EQ. 4) WRITE(6,1710 )
387 | CALL SWRITE(11,FOR,46,ICONT,1,FLC(I+2),ALT,VINF,PINF,
388 | 1 TINF,RN,SRF,CBAR,BLRF,XCG,ZCG,DUM,
389 | 2 DUM,DUM,NDMF,NAF)
390 | CALL PRNSEC(LAST)
391 | 1460 WRITE(6,1530 )
392 | C
393 | RETURN
394 | 1470 FORMAT(//55X,21HBASIC BODY PROPERTIES//12X,11HWETTED AREA,6X,
395 | 1 3HXCG,5X,3HZCG,5X,9HBASE AREA,5X,14HZERO LIFT DRAG,3X,
396 | 2 9HBASE DRAG,3X,13HFRICTION DRAG,3X,13HPRESSURE DRAG)
397 | 1480 FORMAT(//41X,45HXCG RELATIVE TO THEORETICAL LEADING EDGE MAC=,F7.2
398 | 1 ///55X,25HBASIC PLANFORM PROPERTIES//36X,5HTAPER,5X,6HASPECT,3X,
399 | 2 13HQUARTER CHORD,13X,13HQUARTER CHORD,14X,9HZERO LIFT,4X,
400 | 3 8HFRICTION/25X,4HAREA,7X,5HRATIO,6X,5HRATIO,7X,5HSWEEP,8X,
401 | 4 3HMAC,8X,6HX(MAC),7X,6HY(MAC),8X,4HDRAG,5X,11HCOEFFICIENT)
402 | 1490 FORMAT(1H0,6X,4HWING)
403 | 1500 FORMAT(1H0,2X,15HHORIZONTAL TAIL)
404 | 1510 FORMAT(1H0,3X,13HVERTICAL TAIL)
405 | 1520 FORMAT(1H0,4X,11HVENTRAL FIN)
406 | 1530 FORMAT(1H1)
407 | 1540 FORMAT(1H0,38X,38HSIDEWASH, (1 + D(SIGMA)/D(BETA))QV/Q =,1PE14.7)
408 | 1550 FORMAT(1H1,29X,72HAUTOMATED STABILITY AND CONTROL METHODS PER APRI
409 | 1L 1976 VERSION OF DATCOM)
410 | 1560 FORMAT(45X,42HCONFIGURATION AUXILIARY AND PARTIAL OUTPUT)
411 | 1570 FORMAT(51X,31HDATCOM BODY ALONE CONFIGURATION)
412 | 1580 FORMAT(54X,24HWING ALONE CONFIGURATION)
413 | 1590 FORMAT(52X,29HHORIZONTAL TAIL CONFIGURATION)
414 | 1600 FORMAT(53X,27HVERTICAL TAIL CONFIGURATION)
415 | 1610 FORMAT(55X,23HWING-BODY CONFIGURATION)
416 | 1620 FORMAT(49X,34HBODY-HORIZONTAL TAIL CONFIGURATION)
417 | 1630 FORMAT(50X,32HBODY-VERTICAL TAIL CONFIGURATION)
418 | 1640 FORMAT(47X,39HWING-BODY-HORIZONTAL TAIL CONFIGURATION)
419 | 1650 FORMAT(48X,37HWING-BODY-VERTICAL TAIL CONFIGURATION)
420 | 1660 FORMAT(40X,53HWING-BODY-VERTICAL TAIL-HORIZONTAL TAIL CONFIGURATIO
421 | 1N)
422 | 1670 FORMAT(55H ----------------------- FLIGHT CONDITIONS ----------,
423 | 1 14H--------------,11X,25H-------------- REFERENCE,
424 | 2 25H DIMENSIONS ------------/2X,16HMACH ALTITUDE,
425 | 3 3X,48HVELOCITY PRESSURE TEMPERATURE REYNOLDS,
426 | 4 13X,47HREF. REFERENCE LENGTH MOMENT REF. CENTER/
427 | 5 7H NUMBER,55X,6HNUMBER,14X,4HAREA,7X,5HLONG.,5X,4HLAT.,
428 | 6 5X,15HHORIZ VERT)
429 | 1680 FORMAT(13X,2HFT,7X,6HFT/SEC,5X,8HLB/FT**2,7X,5HDEG R,9X,4H1/FT,
430 | 1 15X,5HFT**2,1X,4(7X,2HFT,1X))
431 | 1690 FORMAT(13X,2HIN,7X,6HIN/SEC,5X,8HLB/IN**2,7X,5HDEG R,9X,4H1/FT,
432 | 1 15X,5HIN**2,1X,4(7X,2HIN,1X))
433 | 1700 FORMAT(13X,2H M,7X,6H M/SEC,5X,8H N/ M**2,7X,5HDEG K,9X,4H1/ M,
434 | 1 15X,5H M**2,1X,4(7X,2H M,1X))
435 | 1710 FORMAT(13X,2HCM,7X,6HCM/SEC,5X,8H N/CM**2,7X,5HDEG K,9X,4H1/ M,
436 | 1 15X,5HCM**2,1X,4(7X,2HCM,1X))
437 | 1720 FORMAT(1H0,10X,9HCLA-B(W)=,1PE10.3,5X,9HCLA-W(B)=,E10.3,5X,
438 | 1 7HK-B(W)=,E10.3,5X,7HK-W(B)=,E10.3,5X,11HXAC/C-B(W)=,E10.3)
439 | 1730 FORMAT(1H0,10X,9HCLA-B(H)=,1PE10.3,5X,9HCLA-H(B)=,E10.3,5X,
440 | 1 7HK-B(H)=,E10.3,5X,7HK-H(B)=,E10.3,5X,11HXAC/C-B(H)=,E10.3)
441 | 1740 FORMAT(///16X,5HALPHA,9X,7HIV-B(W),10X,7HIV-W(H),
442 | 1 10X,7HIV-B(H),10X,6HGAMMA/,18X,6HGAMMA//78X,14H2*PI*ALPHA*V*R,
443 | 2 9X,17H(2*PI*ALPHA*V*R)T)
444 | 1750 FORMAT(///55X,25HCANARD EFFECTIVE DOWNWASH/47X,5HALPHA,6X,
445 | 1 12H(EPSOLN)EFF.,5X,23HD(EPSOLN)/D(ALPHA) EFF.)
446 | 1760 FORMAT(//50X,31HDYNAMIC DERIVATIVE INCREMENTALS /
447 | 1 10X,17HCLP(GAMMA=CL=0) =,1PE11.4,
448 | 2 5X,26HCLP(GAMMA)/CLP (GAMMA=0) =,E11.4,
449 | 3 6X,11HCNP/THETA =,E11.4/
450 | 4 30X,11HCYP/GAMMA =,E11.4,
451 | 5 20X,15HCYP/CL (CL=0) =,E11.4/)
452 | 1770 FORMAT(45H0*** NDM PRINTED WHEN NO DATCOM METHODS EXIST)
453 | 1780 FORMAT(42H0*** NA PRINTED WHEN METHOD NOT APPLICABLE)
454 | 1790 FORMAT(45X,9HCLB/GAMMA,8X,12H(CMO/THETA)W,5X,12H(CMO/THETA)H)
455 | END
456 |
--------------------------------------------------------------------------------
/test/input/fltcl.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE FLTCL(FOT,IFOT,NTRIM,CLUT,CDUT,CMUT,DELT,
2 | 1 DCLT,DCLMT,DCDIT,DCDMT,CDHT,CLT,CDT,
3 | 2 ICASE)
4 | C
5 | COMMON /OPTION/ SREF,CBARR,ROUGFC,BLREF
6 | COMMON /CONSNT/ PI,DEG,UNUSED,RAD
7 | COMMON /FLGTCD/ FLC(156),WT,GAM,NALT,LOOP
8 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA,IG,NF,LF,IALT
9 | COMMON /CASEID/ JCASE(175),IDIM
10 | C
11 | DIMENSION FOT(46),IFOT(11),CLUT(20),CDUT(20),CMUT(20)
12 | DIMENSION DELT(20),DCLT(20),DCLMT(20),DCDIT(20),DCDMT(20)
13 | DIMENSION CDHT(20),CLT(20),CDT(20)
14 | DIMENSION CWT(20),MACH(20),PINF(20)
15 | DIMENSION ALP(1),CL(1),CD(1),CLUE(1),CDUE(1),CMUE(1)
16 | DIMENSION DELE(1),DCLE(1),CLME(1),CLIE(1),CDME(1),CHDE(1)
17 | DIMENSION CHAE(1),WDIM(4),ROUTID(2),CC(6)
18 | C
19 | LOGICAL FLAG
20 | CHARACTER*4 FOT
21 | REAL MACH
22 | EQUIVALENCE (MACH(1),FLC(3)),(PINF(1),FLC(74))
23 | C
24 | DATA WDIM / 4H LB., 4H LB., 4H N. , 4H N. /
25 | DATA ROUTID / 4HFLTC, 4HL /
26 | C
27 | C*** ICASE = 1 - TRIM WITH FLAPS
28 | C*** ICASE = 2 - ALL MOVEABLE HORIZONTAL TAIL TRIM
29 | C
30 | IF(ICASE .NE. 1) GO TO 1010
31 | DO 1000 I=1,NTRIM
32 | CLT(I) = CLUT(I)+DCLT(I)
33 | CDT(I) = CDUT(I)+DCDMT(I)+DCDIT(I)
34 | 1000 CONTINUE
35 | 1010 CONTINUE
36 | C
37 | C*** CALCULATE CW AND TEST FOR CWT RANGE
38 | C
39 | QS = SREF*(0.7*PINF(IALT)*MACH(IM)**2)
40 | CW = WT/QS
41 | DO 1020 I=1,NTRIM
42 | CWT(I) = CLT(I)*COS(GAM/RAD)-CDT(I)*SIN(GAM/RAD)
43 | 1020 CONTINUE
44 | FLAG = (CW .GT. CWT(NTRIM)) .OR. (CW .LT. CWT(1))
45 | IF(FLAG) WRITE(6,1060)WT,WDIM(IDIM),CW
46 | C
47 | C*** FIND EQUILIBRIUM ANGLE OF ATTACK AND TRIM DATA
48 | C
49 | IF(FLAG) GO TO 1050
50 | IN=0
51 | CALL TBFUNX(CW,ALP(1),DYDX,NTRIM,CWT,FLC(23),CC,IN,
52 | 1 MI,NG,0,0,4HALPE,1,ROUTID)
53 | IN=0
54 | CALL TBFUNX(ALP(1),CL(1),DYDX,NTRIM,FLC(23),CLT,CC,IN,
55 | 1 MI,NG,0,0,4HCLTE,1,ROUTID)
56 | IN=0
57 | CALL TBFUNX(ALP(1),CD(1),DYDX,NTRIM,FLC(23),CDT,CC,IN,
58 | 1 MI,NG,0,0,4HCDTE,1,ROUTID)
59 | IF(ICASE .NE. 1)GO TO 1030
60 | IN = 0
61 | CALL TBFUNX(ALP(1),CLUE(1),DYDX,NTRIM,FLC(23),CLUT,CC,IN,
62 | 1 MI,NG,0,0,4HCLUE,1,ROUTID)
63 | IN = 0
64 | CALL TBFUNX(ALP(1),CDUE(1),DYDX,NTRIM,FLC(23),CDUT,CC,IN,
65 | 1 MI,NG,0,0,4HCDUE,1,ROUTID)
66 | IN = 0
67 | CALL TBFUNX(ALP(1),CMUE(1),DYDX,NTRIM,FLC(23),CMUT,CC,IN,
68 | 1 MI,NG,0,0,4HCMUE,1,ROUTID)
69 | IN = 0
70 | CALL TBFUNX(ALP(1),DELE(1),DYDX,NTRIM,FLC(23),DELT,CC,IN,
71 | 1 MI,NG,0,0,4HDELE,1,ROUTID)
72 | IN = 0
73 | CALL TBFUNX(ALP(1),DCLE(1),DYDX,NTRIM,FLC(23),DCLT,CC,IN,
74 | 1 MI,NG,0,0,4HDCLE,1,ROUTID)
75 | IN = 0
76 | CALL TBFUNX(ALP(1),CLME(1),DYDX,NTRIM,FLC(23),DCLMT,CC,IN,
77 | 1 MI,NG,0,0,4HCLME,1,ROUTID)
78 | IN = 0
79 | CALL TBFUNX(ALP(1),CLIE(1),DYDX,NTRIM,FLC(23),DCLIT,CC,IN,
80 | 1 MI,NG,0,0,4HCLIE,1,ROUTID)
81 | IN = 0
82 | CALL TBFUNX(ALP(1),CDME(1),DYDX,NTRIM,FLC(23),DCDMT,CC,IN,
83 | 1 MI,NG,0,0,4HCDME,1,ROUTID)
84 | IN = 0
85 | CALL TBFUNX(ALP(1),CHDE(1),DYDX,NTRIM,FLC(23),CHDT,CC,IN,
86 | 1 MI,NG,0,0,4HCHDE,1,ROUTID)
87 | CHAE(1) = 0.0
88 | WRITE(6,1070)
89 | CALL SWRITE(11,FOT,46,IFOT,1,ALP,CLUE,CDUE,CMUE,
90 | 1 DELE,DCLE,CLME,CDIE,CDME,CHAE,CHDE,
91 | 2 X,X,X,NDM,NAF)
92 | 1030 CONTINUE
93 | IF(ICASE .NE. 2) GO TO 1040
94 | WRITE(6,1070)
95 | WRITE(6,1080) ALP(1),CL,CD
96 | 1040 CONTINUE
97 | 1050 CONTINUE
98 | RETURN
99 | 1060 FORMAT(39H0*** REQUIRED LIFT COEFFICIENT EXCEEDS ,
100 | 1 18HRANGE OF TRIM DATA /
101 | 2 22H0*** VEHICLE WEIGHT = ,F9.2,A4/
102 | 3 36H0*** LEVEL FLIGHT LIFT COEFFICIENT = ,F8.5)
103 | 1070 FORMAT(1H )
104 | 1080 FORMAT(1H0,52X,F5.1,3X,F6.3,3X,F6.3)
105 | END
106 |
--------------------------------------------------------------------------------
/test/input/outpt2.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE OUTPT2
2 | C
3 | C THIS SUBROUTINE WRITES THE HIGH LIFT AND CONTROL DATA
4 | C
5 | COMMON /FLAPIN/ F(138)
6 | COMMON /SYNTSS/ SYNA(19)
7 | COMMON /FLGTCD/ FLC(160)
8 | COMMON /OPTION/ OPT(4)
9 | COMMON /CONSNT/ PI, DEG, UNUSED, RAD
10 | COMMON /POWR/ PW(315)
11 | COMMON /OVERLY/ NLOG,NMACH,M,NALPHA,IG,NF,LF,K
12 | COMMON /WINGI/ WINGIN(101)
13 | COMMON /HTI/ HTIN(131)
14 | COMMON /BDATA/ BD(762)
15 | COMMON /CASEID/ IDCASE(74),KOUNT,NAMSV(100),IDIM
16 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
17 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
18 | 2 TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
19 | 3 HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
20 | 4 VFPL,VFSC,CTAB
21 | DIMENSION TRM(22), TRM2(22), ALPHA(20)
22 | EQUIVALENCE (TRM(1),TRM2(1),PW(294)), (ALPHA(1),FLC(23))
23 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
24 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
25 | 2 TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
26 | 3 HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
27 | 4 VFPL,VFSC,CTAB
28 | LOGICAL NDMF,NAF,FLAG
29 | C
30 | COMMON /IBODY/ PBODY, BODY(400)
31 | COMMON /IWING/ PWING, WING(400)
32 | COMMON /IHT/ PHT, HT(380)
33 | COMMON /IVT/ PVT, VT(380)
34 | COMMON /IBW/ PBW, BW(380)
35 | COMMON /IBH/ PBH, BH(380)
36 | COMMON /IBV/ PBV, BV(380)
37 | COMMON /IBWH/ PBWH, BWH(380)
38 | COMMON /IBWHV/ PBWHV, BWHV(380)
39 | C
40 | C SYMMETRICAL FLAP DATA DEFINITION
41 | C
42 | DIMENSION DCDI(200), DCL(10), DCM(10), DCLMAX(10), DCDMIN(10),
43 | 1 DCLAD(10), CHA(10), CHD(10)
44 | DIMENSION DELTA(10)
45 | EQUIVALENCE (DCDI(1),BODY(201)), (DCL(1),WING(201)),
46 | 1 (DCM(1),WING(211)), (DCLMAX(1),WING(221)),
47 | 2 (DCDMIN(1),WING(231)), (DCLAD(1),WING(241)),
48 | 3 (CHA(1),WING(251)), (CHD(1),WING(261))
49 | EQUIVALENCE (DELTA(1),F(1)), (FTYPE,F(17))
50 | C
51 | C CONTROL TAB DATA DEFINITION
52 | C
53 | DIMENSION CHCTF(20,9),CHCTL(20,9),DCHCG(20,9),CFC(20,9),
54 | 1 FC(20,9),DTT(20,9)
55 | EQUIVALENCE (CFC(1,1),FC(1,1),BW(201)),(CHCTF(1,1),BH(201)),
56 | 1 (CHCTL(1,1),BV(201)),(DCHCG(1,1),BWH(201)),
57 | 2 (DTT(1,1),BWHV(201))
58 | C
59 | C ASYMMETRICAL FLAP DATA DEFINITION
60 | C
61 | DIMENSION CNAD(200), CLAD(200), DDELTA(10), CLD(10), CND(10)
62 | DIMENSION DELTAD(10), DELTAL(10), DELTAR(10), DELTAS(10),
63 | 1 XSOC(10), HSOC(10)
64 | EQUIVALENCE (CNAD(1),BODY(201)), (CLAD(1),WING(201)),
65 | 1 (DELTAD(1),F(1)), (STYPE,F(18)), (DELTAL(1),F(19)),
66 | 2 (DELTAR(1),F(29)), (DELTAS(1),F(39)),
67 | 3 (XSOC(1),F(49)), (HSOC(1),F(60)), (DDELTA(1),HT(201)),
68 | 4 (CLD(1),HT(211)), (CND(1),HT(221))
69 | C
70 | C TRIM DATA DEFINITION
71 | C
72 | DIMENSION CLUT(20), CDUT(20), CMUT(20), DELT(20), DCLT(20),
73 | 1 DCLMT(20), DCDIT(20), DCDMT(20), CHAT(20), CHDT(20)
74 | DIMENSION HMUNT(20), ALINT(20), CDTRM(20), CLTRM(20), CMTRM(20),
75 | 1 HMTRM(20), CDWBT(20), CLWBT(20)
76 | EQUIVALENCE (CLUT(1),HT(201)), (CDUT(1),HT(221)),
77 | 1 (CMUT(1),HT(241)), (DELT(1),VT(201)), (DCLT(1),VT(221)),
78 | 2 (DCLMT(1),VT(241)), (DCDIT(1),VT(261)),
79 | 3 (DCDMT(1),VT(281)), (CHAT(1),VT(301)),
80 | 4 (CHDT(1),VT(321))
81 | EQUIVALENCE (HMUNT(1),HT(201)), (ALINT(1),HT(221)),
82 | 1 (CDTRM(1),HT(241)), (CLTRM(1),HT(261)),
83 | 2 (CMTRM(1),HT(281)), (HMTRM(1),HT(301)),
84 | 3 (CDWBT(1),VT(201)), (CLWBT(1),VT(221))
85 | DIMENSION FOR(34), IFOR(8)
86 | DIMENSION FOT(46), IFOT(11)
87 | DIMENSION IFOH(11), FOH(46)
88 | CHARACTER*4 FOR,FOT,FOH
89 | C
90 | DATA FOR /
91 | 1 4H(0P , 4H5X , 4H,1X , 4H,F5., 4H1,1X, 4H,2X ,
92 | 2 4H,1X , 4H,F6., 4H3 , 4H,4X ,
93 | 3 4H , 4H,F7., 4H4 , 4H,3X ,
94 | 4 4H,1X , 4H,F6., 4H3 , 4H,6X ,
95 | 5 4H , 4H,F7., 4H5 , 4H,15X,
96 | 6 4H,1P , 4H E10, 4H.3 , 4H,2X ,
97 | 7 4H,1P , 4H E10, 4H.3 , 4H,2X ,
98 | 8 4H,1P , 4H E10, 4H.3 , 4H) /
99 | DATA IFOR / 5*7, 3*10 /
100 | C
101 | DATA FOT /
102 | 1 4H(0P , 4H4X , 4H,1X , 4H,F5., 4H1,1X, 4H,1X ,
103 | 2 4H,1X , 4H,F6., 4H3 , 4H,3X ,
104 | 3 4H,1X , 4H,F6., 4H3 , 4H,3X ,
105 | 4 4H , 4H,F7., 4H4 , 4H,2X ,
106 | 5 4H,1X , 4H,F5., 4H1,1X, 4H,1X ,
107 | 6 4H,1X , 4H,F6., 4H3 , 4H,4X ,
108 | 7 4H,1X , 4H,F6., 4H3 , 4H,5X ,
109 | 8 4H,1P , 4H E9., 4H2 , 4H,2X ,
110 | 9 4H,0P , 4H F8., 4H5,1X, 4H,2X ,
111 | A 4H,1P , 4H E10, 4H.3 , 4H,3X ,
112 | B 4H,1P , 4H E10, 4H.3 , 4H) /
113 | DATA IFOT / 7*7, 2*9, 2*10 /
114 | DATA IFOH / 8, 10*10 /
115 | DATA FOH / 4H( ,4H1H0 ,
116 | 1 4H,0P ,4HF6.3,4H,1X ,4H,1X , 4H,1X,,4HF8.2,4H,1X ,4H,1X ,
117 | 2 4H,1X,,4HF8.2,4H,1X ,4H,2X , 4H,1P ,4HE10.,4H4 ,4H,3X ,
118 | 3 4H,0P ,4HF9.3,4H,1X ,4H,4X , 4H,1P ,4HE10.,4H4 ,4H,9X ,
119 | 4 4H,0P ,4HF9.3,4H,1X ,4H,1X , 4H,1X,,4HF8.3,4H,1X ,4H ,
120 | 5 4H,1X,,4HF8.3,4H,1X ,4H , 4H,1X,,4HF8.3,4H,1X ,4H ,
121 | 6 4H,1X,,4HF8.3,4H,1X ,4H) /
122 | C
123 | C
124 | DATA WINGP / 4HWING /, TAILP / 4HTAIL /, STRA / 4HSTRA /
125 | C
126 | NDELTA = F(16)+0.5
127 | SC = SYNA(13)
128 | XL = 1.0
129 | XR = 1.0
130 | XP = 1.0
131 | XT = 1.0
132 | IF(IDIM .EQ. 2) XL = 12.0
133 | IF(IDIM .EQ. 2) XP = 144.0
134 | IF(IDIM .GE. 3) XP = 0.0208854
135 | IF(IDIM .GE. 3) XR = 0.3048
136 | IF(IDIM .GE. 3) XT = 1.8
137 | IF(IDIM .EQ. 3) XL = 0.3048
138 | IF(IDIM .EQ. 4) XL = 30.48
139 | ALT = FLC(K+96)
140 | VINF = FLC(M+136)
141 | PINF = FLC(K+73)
142 | TINF = FLC(K+116)
143 | IF(ALT .NE. -UNUSED) ALT = ALT *XL
144 | IF(VINF .NE. -UNUSED) VINF = VINF*XL
145 | IF(PINF .NE. -UNUSED) PINF = PINF*XP
146 | IF(TINF .NE. -UNUSED) TINF = TINF*XT
147 | RN = FLC(M+42)*XR
148 | SREF = OPT(1)*XL*XL/(SC*SC)
149 | CBAR = OPT(2)*XL/SC
150 | BLRF = OPT(4)*XL/SC
151 | XCG = SYNA(1)
152 | ZCG = SYNA(5)
153 | IF(XCG .EQ. UNUSED) XCG = 0.0
154 | IF(ZCG .EQ. UNUSED) ZCG = 0.0
155 | IF(BD(11) .NE. UNUSED) XCG = XCG+BD(11)
156 | XCG = XCG*XL/SC
157 | ZCG = ZCG*XL/SC
158 | C
159 | C SYMMETRICAL FLAP DATA
160 | C
161 | FLAG = (FLC(157) .NE. UNUSED) .AND. (FLC(K+72) .NE. UNUSED)
162 | NDMF = .FALSE.
163 | NAF = .FALSE.
164 | IF (.NOT. SYMFP) GO TO 1020
165 | WRITE(6,1340)
166 | VWGTL = WINGP
167 | IF(WGPL .AND. HTPL) VWGTL = TAILP
168 | IF(FTYPE .EQ. 1.0) WRITE(6,1350) VWGTL
169 | IF(FTYPE .EQ. 2.0) WRITE(6,1360) VWGTL
170 | IF(FTYPE .EQ. 3.0) WRITE(6,1370) VWGTL
171 | IF(FTYPE .EQ. 4.0) WRITE(6,1380) VWGTL
172 | IF(FTYPE .EQ. 5.0) WRITE(6,1390) VWGTL
173 | IF(FTYPE .EQ. 6.0) WRITE(6,1400) VWGTL
174 | IF(FTYPE .EQ. 7.0) WRITE(6,1410) VWGTL
175 | IF(HEAD) CALL PRCSID
176 | WRITE(6,1420)
177 | IF(IDIM .EQ. 1) WRITE(6,1430)
178 | IF(IDIM .EQ. 2) WRITE(6,1440)
179 | IF(IDIM .EQ. 3) WRITE(6,1450)
180 | IF(IDIM .EQ. 4) WRITE(6,1460)
181 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
182 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
183 | 2 DUM,DUM,NDMF,NAF)
184 | C
185 | WRITE(6,1470)
186 | CALL SWRITE(8,FOR,34,IFOR,NDELTA,DELTA,DCL,DCM,DCLMAX,
187 | 1 DCDMIN,DCLAD,CHA,CHD,X,X,X,X,X,X,NDMF,NAF)
188 | IF(.NOT. SUBSON .OR. FTYPE .GE. 7) GO TO 1010
189 | WRITE(6,1480)
190 | WRITE(6,1490) (DELTA(I),I=1,NDELTA)
191 | WRITE(6,1500)
192 | IS = NALPHA*NDELTA
193 | DO 1000 I=1,NALPHA
194 | WRITE(6,1510) ALPHA(I), (DCDI(J),J=I,IS,NALPHA)
195 | 1000 CONTINUE
196 | 1010 IF(.NOT. SUPERS) GO TO 1020
197 | WRITE(6,1310)
198 | WRITE(6,1320)
199 | WRITE(6,1330)
200 | 1020 CONTINUE
201 | C
202 | C CONTROL TAB OUTPUT
203 | C
204 | IF(.NOT. CTAB) GO TO 1030
205 | ITYPE=F(116)+0.5
206 | WRITE(6,1340)
207 | IF(ITYPE .EQ. 1)WRITE(6,1770)
208 | IF(ITYPE .EQ. 2)WRITE(6,1780)
209 | IF(ITYPE .EQ. 3)WRITE(6,1790)
210 | IF(HEAD)CALL PRCSID
211 | WRITE(6,1420)
212 | IF(IDIM .EQ. 1) WRITE(6,1430)
213 | IF(IDIM .EQ. 2) WRITE(6,1440)
214 | IF(IDIM .EQ. 3) WRITE(6,1450)
215 | IF(IDIM .EQ. 4) WRITE(6,1460)
216 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
217 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
218 | 2 DUM,DUM,NDMF,NAF)
219 | IF(FLC(M+73) .NE. UNUSED) WRITE(6,1800)
220 | IF(FLC(M+73) .EQ. UNUSED) WRITE(6,1810)
221 | WRITE(6,1490) (DELTA(I),I=1,NDELTA)
222 | WRITE(6,1500)
223 | WRITE(6,1510) ((FC(I,J),J=1,NDELTA), I=1,NALPHA)
224 | WRITE(6,1820)
225 | C
226 | WRITE(6,1830)
227 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
228 | WRITE(6,1500)
229 | WRITE(6,1510) ((CHCTF(I,J), J=1,NDELTA), I=1,NALPHA)
230 | C
231 | WRITE(6,1340)
232 | IF(ITYPE .EQ. 1)WRITE(6,1770)
233 | IF(ITYPE .EQ. 2)WRITE(6,1780)
234 | IF(ITYPE .EQ. 3)WRITE(6,1790)
235 | IF(HEAD)CALL PRCSID
236 | WRITE(6,1420)
237 | IF(IDIM .EQ. 1) WRITE(6,1430)
238 | IF(IDIM .EQ. 2) WRITE(6,1440)
239 | IF(IDIM .EQ. 3) WRITE(6,1450)
240 | IF(IDIM .EQ. 4) WRITE(6,1460)
241 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
242 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
243 | 2 DUM,DUM,NDMF,NAF)
244 | WRITE(6,1840)
245 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
246 | WRITE(6,1500)
247 | WRITE(6,1510) ((CHCTL(I,J), J=1,NDELTA), I=1,NALPHA)
248 | WRITE(6,1820)
249 | C
250 | WRITE(6,1850)
251 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
252 | WRITE(6,1500)
253 | WRITE(6,1510) ((DCHCG(I,J), J=1,NDELTA), I=1,NALPHA)
254 | C
255 | IF(ITYPE .EQ. 1) GO TO 1030
256 | WRITE(6,1340)
257 | IF(ITYPE .EQ. 1)WRITE(6,1770)
258 | IF(ITYPE .EQ. 2)WRITE(6,1780)
259 | IF(ITYPE .EQ. 3)WRITE(6,1790)
260 | IF(HEAD)CALL PRCSID
261 | WRITE(6,1420)
262 | IF(IDIM .EQ. 1) WRITE(6,1430)
263 | IF(IDIM .EQ. 2) WRITE(6,1440)
264 | IF(IDIM .EQ. 3) WRITE(6,1450)
265 | IF(IDIM .EQ. 4) WRITE(6,1460)
266 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
267 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
268 | 2 DUM,DUM,NDMF,NAF)
269 | WRITE(6,1860)
270 | WRITE(6,1490) (DELTA(I), I=1,NDELTA)
271 | WRITE(6,1500)
272 | WRITE(6,1510) ((DTT(I,J), J=1,NDELTA), I=1,NALPHA)
273 | 1030 CONTINUE
274 | C
275 | C ASYMMETRICAL FLAP OUTPUT
276 | C
277 | IF(.NOT. ASYFP) GO TO 1120
278 | WRITE(6,1340)
279 | IF(STYPE .EQ. 1.0) WRITE(6,1570)
280 | IF(STYPE .EQ. 2.0) WRITE(6,1580)
281 | IF(STYPE .EQ. 3.0) WRITE(6,1590)
282 | IF(STYPE .EQ. 4.0) WRITE(6,1600)
283 | IF(STYPE .EQ. 5.0) WRITE(6,1520)
284 | IF(HEAD) CALL PRCSID
285 | WRITE(6,1420)
286 | IF(IDIM .EQ. 1) WRITE(6,1430)
287 | IF(IDIM .EQ. 2) WRITE(6,1440)
288 | IF(IDIM .EQ. 3) WRITE(6,1450)
289 | IF(IDIM .EQ. 4) WRITE(6,1460)
290 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
291 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
292 | 2 DUM,DUM,NDMF,NAF)
293 | C
294 | IF(STYPE .GT. 2) GO TO 1050
295 | IF(SUPERS) GO TO 1040
296 | WRITE(6,1700)
297 | IF(SUBSON) WRITE(6,1710) (XSOC(I), HSOC(I),
298 | 1 DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
299 | IF(TRANSN) WRITE(6,1290) (XSOC(I), HSOC(I),
300 | 1 DELTAS(I), CLD(I), I=1,NDELTA)
301 | GO TO 1050
302 | 1040 WRITE(6,1260)
303 | WRITE(6,1270) (DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
304 | 1050 CONTINUE
305 | IF(STYPE .NE. 3.0) GO TO 1060
306 | IF(SUPERS) WRITE(6,1280)
307 | IF(SUPERS) GO TO 1060
308 | WRITE(6,1680)
309 | IF(SUBSON) WRITE(6,1690) (XSOC(I), HSOC(I), DELTAD(I),
310 | 1 DELTAS(I), CLD(I), CND(I), I=1,NDELTA)
311 | IF(TRANSN) WRITE(6,1300) (XSOC(I), HSOC(I), DELTAD(I),
312 | 1 DELTAS(I), CLD(I), I=1,NDELTA)
313 | 1060 CONTINUE
314 | IF(STYPE .NE. 4.0) GO TO 1090
315 | WRITE(6,1610)
316 | WRITE(6,1540) (DDELTA(I), I=1,NDELTA)
317 | WRITE(6,1550)
318 | IF(CLD(1) .EQ. UNUSED) GO TO 1080
319 | IS = 1
320 | ISS = NDELTA
321 | IDEL = NDELTA
322 | IF(SUPERS) IDEL = 10
323 | DO 1070 I=1,NALPHA
324 | WRITE(6,1560) ALPHA(I), (CNAD(J), J=IS,ISS)
325 | IS = IS+IDEL
326 | ISS = ISS+IDEL
327 | 1070 CONTINUE
328 | WRITE(6,1620) (DELTAL(I), DELTAR(I), CLD(I),
329 | 1 I=1,NDELTA)
330 | IF(.NOT. SUPERS) GO TO 1090
331 | WRITE(6,1310)
332 | WRITE(6,1320)
333 | GO TO 1090
334 | 1080 WRITE(6,1280)
335 | 1090 CONTINUE
336 | IF(STYPE .NE. 5.0) GO TO 1120
337 | IF(TRANSN) GO TO 1110
338 | WRITE(6,1530)
339 | WRITE(6,1540) (DDELTA(I), I=1,NDELTA)
340 | WRITE(6,1550)
341 | IS = 1
342 | ISS = NDELTA
343 | DO 1100 I=1,NALPHA
344 | WRITE(6,1560) ALPHA(I), (CLAD(J), J=IS,ISS)
345 | IS = IS+10
346 | ISS = ISS+10
347 | 1100 CONTINUE
348 | GO TO 1120
349 | 1110 WRITE(6,1620) (DELTAL(I), DELTAR(I), CLD(I),
350 | 1 I=1,NDELTA)
351 | 1120 CONTINUE
352 | IF(NDMF) WRITE(6,1740)
353 | IF(NAF) WRITE(6,1750)
354 | NDMF = .FALSE.
355 | NAF = .FALSE.
356 | C
357 | C TRIM DATA OUTPUT
358 | C
359 | IF(ASYFP .OR. .NOT. TRIM .OR. .NOT. SUBSON) GO TO 1160
360 | NTRIM = TRM(21) + 0.5
361 | IF(.NOT. SYMFP) GO TO 1130
362 | WRITE(6,1340)
363 | IF(BO .AND. WGPL .AND. HTPL) WRITE(6,1650)
364 | IF(BO .AND. WGPL .AND. .NOT. HTPL) WRITE(6,1640)
365 | IF(WGPL .AND. .NOT. (BO .OR. HTPL)) WRITE(6,1630)
366 | WRITE(6,1420)
367 | IF(IDIM .EQ. 1) WRITE(6,1430)
368 | IF(IDIM .EQ. 2) WRITE(6,1440)
369 | IF(IDIM .EQ. 3) WRITE(6,1450)
370 | IF(IDIM .EQ. 4) WRITE(6,1460)
371 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
372 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
373 | 2 DUM,DUM,NDMF,NAF)
374 | C
375 | WRITE(6,1670)
376 | WRITE(6,1660)
377 | CALL SWRITE(11,FOT,46,IFOT,NTRIM,ALPHA,CLUT,CDUT,CMUT,
378 | 1 DELT,DCLT,DCLMT,DCDIT,DCDMT,CHAT,CHDT,
379 | 2 X,X,X,NDMF,NAF)
380 | IF(FLAG) CALL FLTCL(FOT,IFOT,NTRIM,CLUT,CDUT,CMUT,DELT,
381 | 1 DCLT,DCLMT,DCDIT,DCDMT,CHDT,CLWBT,
382 | 2 CDWBT,1)
383 | IF((TRM(22) .EQ. 1.0) .OR. (NTRIM .EQ. 0)) WRITE(6,1720)
384 | ITRM = TRM(22) + 0.5
385 | IF(ITRM .EQ. 2) WRITE(6,1730)
386 | 1130 CONTINUE
387 | IF(SYMFP .OR. .NOT. HTPL) GO TO 1160
388 | IF(WINGIN(101).GT.2.0) GO TO 1160
389 | WRITE(6,1340)
390 | IF(VTPL) WRITE(6,1180)
391 | IF(.NOT. VTPL) WRITE(6,1170)
392 | WRITE(6,1420)
393 | IF(IDIM .EQ. 1) WRITE(6,1430)
394 | IF(IDIM .EQ. 2) WRITE(6,1440)
395 | IF(IDIM .EQ. 3) WRITE(6,1450)
396 | IF(IDIM .EQ. 4) WRITE(6,1460)
397 | CALL SWRITE(11,FOH,46,IFOH,1,FLC(M+2),ALT,VINF,PINF,
398 | 1 TINF,RN,SREF,CBAR,BLRF,XCG,ZCG,DUM,
399 | 2 DUM,DUM,NDMF,NAF)
400 | C
401 | WRITE(6,1190)
402 | WRITE(6,1200)
403 | NTM = 0
404 | DO 1140 I=1,NTRIM
405 | IF(ALINT(I) .NE. -1000.)WRITE(6,1240) ALPHA(I)
406 | 1 ,HT(I), HT(I+20), HT(I+40), HMUNT(I), ALINT(I)
407 | 2 ,CDTRM(I), CLTRM(I), CMTRM(I), HMTRM(I)
408 | IF(ALINT(I) .NE. -1000.) NTM = NTM+1
409 | IF(ALINT(I) .EQ. -1000.)WRITE(6,1240) ALPHA(I)
410 | 1 ,HT(I), HT(I+20), HT(I+40)
411 | 1140 CONTINUE
412 | WRITE(6,1210)
413 | WRITE(6,1220)
414 | DO 1150 I=1,NTRIM
415 | IF(ALINT(I) .NE. -1000.) WRITE(6,1230) ALPHA(I),
416 | 1 CDWBT(I), CLWBT(I)
417 | IF(ALINT(I) .EQ. -1000.) WRITE(6,1230) ALPHA(I)
418 | 1150 CONTINUE
419 | IF(FLAG) CALL FLTCL(FOT,IFOT,NTM,CLUT,CDUT,CMUT,DELT,
420 | 1 DCLT,DCLMT,DCDIT,DCDMT,CHDT,CLWBT,
421 | 2 CDWBT,2)
422 | IF(TRM2(22).EQ.1.) WRITE(6,1250)
423 | IF(TRM2(22).EQ.2.) WRITE(6,1730)
424 | IF(TRM2(22).EQ.3.) WRITE(6,1735)
425 | 1160 CONTINUE
426 | IF(NDMF) WRITE(6,1740)
427 | IF(NAF) WRITE(6,1750)
428 | 1170 FORMAT(33X,62HWING-BODY-ALL MOVABLE HORIZONTAL STABILIZER TRIM CON
429 | 1FIGURATION)
430 | 1180 FORMAT(26X,76HWING-BODY-VERTICAL TAIL-ALL MOVABLE HORIZONTAL STABI
431 | 1LIZER TRIM CONFIGURATION)
432 | 1190 FORMAT(1H0,46H-----------------UNTRIMMED--------------------,
433 | 134HHORIZONTAL STABILIZER COEFFICIENTS,45H----------------AT TRIM I
434 | 2NCIDENCE------------/)
435 | 1200 FORMAT(7H0 ALPHA,5X,2HCD,7X,2HCL,7X,2HCM,7X,2HHM,41X,5HALIHT,4X,
436 | 12HCD,7X,2HCL,7X,2HCM,7X,2HHM/)
437 | 1210 FORMAT(/1H0,41X,45HWING-BODY-TAIL COEFFICIENTS AT TRIM INCIDENCE/)
438 | 1220 FORMAT(1H0,52X,5HALPHA,5X,2HCD,7X,2HCL/1H0)
439 | 1230 FORMAT(53X,F5.1,3X,F6.3,3X,F6.3)
440 | 1240 FORMAT(2X,0PF5.1,3X,F6.3,3X,F6.3,3X,F7.4,2X,1PE10.3,35X,0PF5.1,
441 | 1 2X,F6.3,3X,F6.3,3X,F7.4,2X,1PE10.3)
442 | 1250 FORMAT( 81H0*NOTE** ANGLES OF ATTACK WHERE NO OUTPUT EXISTS INDICA
443 | 1TES LACK OF CONTROL MOMENT)
444 | 1260 FORMAT(1H0,46X,4HDS/C,9X,8H(CL)ROLL,12X,2HCN/1H0)
445 | 1270 FORMAT(45X,0PF7.4,6X,1PE11.4,7X,E10.3)
446 | 1280 FORMAT( 82H0*NOTE* NO OUTPUT AVAILABLE FOR THIS COMBINATION OF MAC
447 | 1H NUMBER AND CONFIGURATION.)
448 | 1290 FORMAT(1X,33X,0PF7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,8X,3HNDM)
449 | 1300 FORMAT(1X,27X,0PF7.4,5X,F7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,8X,3HNDM)
450 | 1310 FORMAT(131H0*NOTE* METHODS VALID FOR CONFIGURATIONS WITH LEADING(H
451 | 1INGE LINE) AND TRAILING EDGES OF THE CONTROL SURFACE SWEPT AHEAD O
452 | 2F THE MACH/8X,34HLINES FROM THE DEFLECTED CONTROLS.)
453 | 1320 FORMAT(103H0*NOTE* OTHER RESTRICTIONS USED IN THE DERIVATION OF TH
454 | 1E METHODS ARE PRESENTED IN VOL. II AND/OR DATCOM)
455 | 1330 FORMAT(126H0*NOTE* CH(A) AND CH(D) DERIVATIVES ARE FOR STRAIGHT SI
456 | 1DED SYMMETRICAL BICONVEX AIRFOILS BASED ON TWICE THE AREA-MOMENT O
457 | 2F THE/8X,29HCONTROL ABOUT ITS HINGE LINE.)
458 | 1340 FORMAT(1H1,28X,48HAUTOMATED STABILITY AND CONTROL METHODS PER APRI
459 | 1,24HL 1976 VERSION OF DATCOM,/,41X,
460 | 248HCHARACTERISTICS OF HIGH LIFT AND CONTROL DEVICES)
461 | 1350 FORMAT(44X,A4,39H PLAIN TRAILING-EDGE FLAP CONFIGURATION)
462 | 1360 FORMAT(46X,A4,34H SINGLE-SLOTTED FLAP CONFIGURATION)
463 | 1370 FORMAT(50X,A4,26H FOWLER FLAP CONFIGURATION)
464 | 1380 FORMAT(46X,A4,34H DOUBLE-SLOTTED FLAP CONFIGURATION)
465 | 1390 FORMAT(51X,A4,25H SPLIT FLAP CONFIGURATION)
466 | 1400 FORMAT(47X,A4,32H LEADING-EDGE FLAP CONFIGURATION)
467 | 1410 FORMAT(47X,A4,32H LEADING-EDGE SLAT CONFIGURATION)
468 | 1420 FORMAT(55H ----------------------- FLIGHT CONDITIONS ----------,
469 | 1 14H--------------,11X,25H-------------- REFERENCE,
470 | 2 25H DIMENSIONS ------------/2X,16HMACH ALTITUDE,
471 | 3 3X,48HVELOCITY PRESSURE TEMPERATURE REYNOLDS,
472 | 4 13X,47HREF. REFERENCE LENGTH MOMENT REF. CENTER/
473 | 5 7H NUMBER,55X,6HNUMBER,14X,4HAREA,7X,5HLONG.,5X,4HLAT.,
474 | 6 5X,15HHORIZ VERT)
475 | 1430 FORMAT(13X,2HFT,7X,6HFT/SEC,5X,8HLB/FT**2,7X,5HDEG R,9X,4H1/FT,
476 | 1 15X,5HFT**2,1X,4(7X,2HFT,1X))
477 | 1440 FORMAT(13X,2HIN,7X,6HIN/SEC,5X,8HLB/IN**2,7X,5HDEG R,9X,4H1/FT,
478 | 1 15X,5HIN**2,1X,4(7X,2HIN,1X))
479 | 1450 FORMAT(13X,2H M,7X,6H M/SEC,5X,8H N/ M**2,7X,5HDEG K,9X,4H1/ M,
480 | 1 15X,5H M**2,1X,4(7X,2H M,1X))
481 | 1460 FORMAT(13X,2HCM,7X,6HCM/SEC,5X,8H N/CM**2,7X,5HDEG K,9X,4H1/ M,
482 | 1 15X,5HCM**2,1X,4(7X,2HCM,1X))
483 | 1470 FORMAT(1H0,12X,46H---------INCREMENTS DUE TO DEFLECTION---------
484 | 1,14X,30H---DERIVATIVES (PER DEGREE)---/1H0,5X,5HDELTA,
485 | 25X,5HD(CL),5X,5HD(CM),4X,9HD(CL MAX),4X,9HD(CD MIN),16X,6H(CLA)D,
486 | 3 5X,5H(CH)A,7X,5H(CH)D//)
487 | 1480 FORMAT(1H0,2X,106H*** NOTE * HINGE MOMENT DERIVATIVES ARE BASED ON
488 | 1 TWICE THE AREA-MOMENT OF THE CONTROL ABOUT ITS HINGE LINE//1H0,12
489 | 2X,83H--------- INDUCED DRAG COEFFICIENT INCREMENT , D(CDI) , DUE T
490 | 3O DEFLECTION ---------)
491 | 1490 FORMAT(1H0,7X,8HDELTA = ,F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,
492 | 1F5.1,5X,F5.1,5X,F5.1,5X,F5.1,5X,F5.1)
493 | 1500 FORMAT(3X,5HALPHA/1H0)
494 | 1510 FORMAT(3X,0PF5.1,7X,1PE9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,
495 | 1 E9.2,1X,E9.2,1X,E9.2,1X,E9.2,1X,E9.2)
496 | 1520 FORMAT(30X, 60HDIFFERENTIALLY DEFLECTED HORIZONTAL STABILIZER CONF
497 | 1IGURATION)
498 | 1530 FORMAT(1H0,33X, 64H----------ROLLING-MOMENT COEFFICIENT DUE TO DEF
499 | 1LECTION----------)
500 | 1540 FORMAT( 17H0(DELTAL-DELTAR)=,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,
501 | 17X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1,7X,F5.1)
502 | 1550 FORMAT( 6H0ALPHA/1H0)
503 | 1560 FORMAT(1X,0PF5.1,8X,1PE10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,
504 | 1 E10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,E10.3,2X,E10.3)
505 | 1570 FORMAT(47X, 36HWING WITH FLAP SPOILER CONFIGURATION)
506 | 1580 FORMAT(47X, 36HWING WITH PLUG SPOILER CONFIGURATION)
507 | 1590 FORMAT(42X, 46HWING WITH SPOILER-SLOT-DEFLECTOR CONFIGURATION)
508 | 1600 FORMAT(44X, 43HWING PLAIN TRAILING-EDGE FLAP CONFIGURATION)
509 | 1610 FORMAT(1H0,27X, 74H----------YAWING MOMENT COEFFICIENT,CN,DUE TO C
510 | 1ONTROL DEFLECTION----------)
511 | 1620 FORMAT(1H0/
512 | 1 1H0,44X,6HDELTAL,10X,6HDELTAR,10X,8H(CL)ROLL/1H0/(45X,
513 | 2 0PF5.1,11X,F5.1,11X,1PE11.4))
514 | 1630 FORMAT(47X,37HWING TRIM WITH CONTROL DEVICE ON WING)
515 | 1640 FORMAT(44X,42HWING-BODY TRIM WITH CONTROL DEVICE ON WING)
516 | 1650 FORMAT(42X,47HWING-BODY-TAIL TRIM WITH CONTROL DEVICE ON TAIL)
517 | 1660 FORMAT(1H0,4X,5HALPHA,5X,2HCL,9X,2HCD,7X,2HCM,5X,6HDELTAT,3X,5HD(C
518 | 1L),4X,9HD(CL MAX),5X,6HD(CDI),4X,9HD(CD MIN),3X,5HCH(A),8X,5HCH(D)
519 | 2/1H0)
520 | 1670 FORMAT(1H0,9X,29H----------UNTRIMMED----------,12X,64H------------
521 | 1-----------AT TRIM DEFLECTION-----------------------)
522 | 1680 FORMAT(1H0 ,29X,4HXS/C,8X,4HHS/C,8X,4HDD/C,8X,4HDS/C,8X,8H(CL)ROLL
523 | 1,10X,2HCN/1H0)
524 | 1690 FORMAT(1X,27X,0PF7.4,5X,F7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,5X,E10.3)
525 | 1700 FORMAT(1H0,35X,4HXS/C,8X,4HHS/C,8X,4HDS/C,8X,8H(CL)ROLL,10X,2HCN/1
526 | 1H0)
527 | 1710 FORMAT(1X,33X,0PF7.4,5X,F7.4,5X,F7.4,5X,1PE11.4,5X,E10.3)
528 | 1720 FORMAT(73H0*NOTE** TRIM RESULTS HAVE BEEN TERMINATED DUE TO LACK O
529 | 1F CONTROL MOMENT.)
530 | 1730 FORMAT(99H0*NOTE** TRIM RESULTS HAVE BEEN TERMINATED BECAUSE THE N
531 | 1EXT ANGLE OF ATTACK EXCEEDS ALPHA (CL) MAX.)
532 | 1735 FORMAT(78H0*NOTE** TRIM RESULTS TERMINATED BECAUSE WING-BODY MOMEN
533 | 1T DATA WAS UNAVAILABLE)
534 | 1740 FORMAT(44H0***NDM PRINTED WHEN NO DATCOM METHODS EXIST)
535 | 1750 FORMAT(41H0***NA PRINTED WHEN METHOD NOT APPLICABLE)
536 | 1770 FORMAT(45X,39HCONTROL TAB ON PLAIN TRAILING EDGE FLAP )
537 | 1780 FORMAT(50X,30HTRIM TAB ON TRAILING EDGE FLAP )
538 | 1790 FORMAT(42X,48HCONTROL AND TRIM TAB ON PLAIN TRAILING EDGE FLAP)
539 | 1800 FORMAT(1H0,31X,44HSTICK FORCE, F(C), LB (TRIM TAB DEFL. = 0.0) )
540 | 1810 FORMAT(1H0,27X,53HSTICK FORCE COEFFICIENT, CF(C) (TRIM TAB DEFL. =
541 | 1 0.0))
542 | 1820 FORMAT(1H0)
543 | 1830 FORMAT(1H0,22X,63HFLAP HINGE MOMENT COEFFICIENT - TAB FREE (TRIM T
544 | 1AB DEFL. = 0.0))
545 | 1840 FORMAT(1H0,21X,65HFLAP HINGE MOMENT COEFFICIENT - TAB LOCKED (TRIM
546 | 1 TAB DEFL. = 0.0))
547 | 1850 FORMAT(1H0,18X,69HFLAP HINGE MOMENT COEFFICIENT - DUE TO GEARING (
548 | 1TRIM TAB DEFL. = 0.0))
549 | 1860 FORMAT(1H0,30X,46HTRIM TAB DEFLECTION FOR ZERO STICK FORCE, DEG.)
550 | RETURN
551 | END
552 |
--------------------------------------------------------------------------------
/test/input/subryw.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE SUBRYW
2 | C
3 | C THIS ROUTINE YIELDS THE SUBSONIC WING,WING-BODY
4 | C ROLLING DERIVATIVES,CLP CNP CNR AND
5 | C YAWING DERIVATIVE , CYP
6 | C
7 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA
8 | COMMON /OPTION/ SR,CBARR,RUFF,BLREF
9 | COMMON /CONSNT/ PI,DR,UNUSED,RAD
10 | COMMON /FLGTCD/ FLC(93)
11 | COMMON /SYNTSS/ SYNA(19)
12 | COMMON /WINGD/ A(195),B(49)
13 | COMMON /WINGI/ WINGIN(77)
14 | COMMON /IWING/ PWING, WING(400)
15 | COMMON /POWR/ DYN(213)
16 | COMMON /WHAERO/ C(51)
17 | COMMON /SBETA/ STB(135)
18 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
19 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,
20 | 2 SUPERS,SUBSON,TRANSN,HYPERS,
21 | 3 SYMFP,ASYFP,TRIMC,TRIM
22 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
23 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,
24 | 2 SUPERS,SUBSON,TRANSN,HYPERS,
25 | 3 SYMFP,ASYFP,TRIMC,TRIM
26 | INTEGER Y71336,D11336,D21336,D31336,Y71337,D11337,D21337,D31337,
27 | 1 Y2220A,D1220A,D2220A,Y2220B,Y2220C,Y2220D,D1220D,D2220D,Y12224,
28 | 2 Y12312,Y1219B,Y1219C
29 | INTEGER Y7133A
30 | REAL LAMCO4,MACOE
31 | REAL MACH,LAMB,KAY(20),K,LAMDA
32 | DIMENSION ROUTID(2),ALMALO(20)
33 | C AJT DIMENSION CL(20),ALSCHD(20),Z(6),CLSUB(20),ALSCH2(20),CD(20),
34 | C AJT1 DCLPD(20),CLPWBS(20),CLTAN(20),CDCDO(20),CL2PAW(20)
35 | DIMENSION CL(20),ALSCHD(20),Z(6),CLSUB(21),ALSCH2(21),CD(20),
36 | 1 DCLPD(20),CLPWBS(20),CLTAN(20),CDCDO(20),CL2PAW(20)
37 | DIMENSION Y(6),D(6),E(6),G(6),H(6),O(6),P(6)
38 | DIMENSION CLA(20),DCDDA(20),DCADA(20)
39 | DIMENSION CLPTAN(20),DCLDA(20),CDOO(20)
40 | DIMENSION CYPWBS(20),I2A219(4),QEXPD(5),
41 | 1 QIMPR1(4),QIMPR2(4),QIMPR3(4),Q71336(3),Q71337(3)
42 | DIMENSION X11336(4),X21336(15),X31336(3),Y71336( 90),
43 | 1 D11336(30),D21336(30),D31336(30)
44 | DIMENSION X1133A(2),X2133A(2),Y7133A(2)
45 | DIMENSION X11337(4),X21337(9),X31337(3),Y71337( 54),
46 | 1 D11337(18),D21337(18),D31337(18)
47 | DIMENSION X1220A( 13),X2220A( 17),Y2220A( 111),Q2220A(3)
48 | DIMENSION D1220A( 97),D2220A(14)
49 | DIMENSION X1220B( 13),X2220B( 10),Y2220B( 65),Q2220B(3)
50 | DIMENSION X1220C( 13),X2220C( 10),Y2220C( 65),Q2220C(3)
51 | DIMENSION X1220D( 13),X2220D( 18),Y2220D( 117),Q2220D(3)
52 | DIMENSION D1220D( 97),D2220D(20)
53 | DIMENSION X12224( 8),X22224( 10),Y12224( 40),Q12224(3)
54 | DIMENSION X12312( 6),X22312( 8),Y12312( 24),Q12312(3)
55 | DIMENSION X1219A( 10),Y1219A( 10),Q1219A(3)
56 | DIMENSION X1219B( 8),X2219B( 2),Y1219B( 8),Q1219B(3)
57 | DIMENSION X1219C( 3),X2219C( 2),Y1219C( 3),Q1219C(3)
58 | DIMENSION CNPWBS(20)
59 | DIMENSION CNRWBS(20)
60 | EQUIVALENCE(DCMDCL,DYN(21)),(MACOE,A(16))
61 | EQUIVALENCE(CL(1),WING(21)),(THETA,WINGIN(11))
62 | EQUIVALENCE(ZW,SYNA(3)),(ZCG,SYNA(5)),(GEG,STB(122)),
63 | 1 (ALSCHD(1),FLC(23)),(SSPN,WINGIN(4)),(SSPNE,WINGIN(3)),
64 | 2 (LAMCO4,A(64)),(SW,A(4)),(TANCO4,A(68)),
65 | 3 (LAMDA,A(27)),(COSLO4,A(67)),(CD(1),WING(1)),(ASTRW,A(120))
66 | EQUIVALENCE(ALSD,DYN(44)),(CLACLO,DYN(45)),(CDO,DYN(94)),
67 | 1 (CLA(1),DYN(47)),(ZEE,DYN(67)),(CLPCLP,DYN(68)),
68 | 2 (CLPCL2,DYN(69)),(BAOK,DYN(70)),(BCLPCL,DYN(71)),
69 | 3 (DCLPD(1),DYN(72)),(CLPWBS(1),WING(281)),(CNPCLO,DYN(92)),
70 | 4 (BEE,DYN(93)),(CNPCLM,DYN(46)),(CNPTHE,DYN(95)),
71 | 5 (DCLDA(1),DYN(96)),(DCDDA(1),DYN(116)),(DCADA(1),DYN(136)),
72 | 6 (KAY(1),DYN(156)),(CNPWBS(1),WING(321))
73 | EQUIVALENCE(CLPG,DYN(176)),(DCYPG,DYN(177)),(TRANS,DYN(178)),
74 | 1 (CHANGE,DYN(179)),(CYPCLM,DYN(180)),(CYPWBS(1),WING(301)),
75 | 2 (TRADE,DYN(181)),(CNRCL2,DYN(182)),(CNRCDO,DYN(183)),
76 | 3 (CDOO(1),DYN(184)),(CNRWBS(1),WING(341))
77 | EQUIVALENCE (D11336(1),Y71336(1)),(D21336(1),Y71336(31)),
78 | 1 (D31336(1),Y71336( 61))
79 | EQUIVALENCE (D11337(1),Y71337(1)),(D21337(1),Y71337(19)),
80 | 1 (D31337(1),Y71337(37))
81 | EQUIVALENCE(D1220A(1),Y2220A(1)),(D2220A(1),Y2220A( 98))
82 | EQUIVALENCE(D1220D(1),Y2220D(1)),(D2220D(1),Y2220D( 98))
83 | DATA ROUTID /4HSUBR,4HYW /
84 | DATA I2A219 /10,3*0/
85 | DATA IN/0/, IX/0/, IO/0/, IP/0/, IQ/0/, IR/0/, IS/0/, IT/0/
86 | DATA QEXPD /4HEXPE,4HRIME,4HNTAL,4H DAT,4HA /
87 | DATA Q12224 /4H7.1.,4H2.2-,4H24 /
88 | DATA Q12312 /4H7.1.,4H2.3-,4H12 /
89 | DATA QIMPR1 /4HCLTA,4HN VS,4H ALS,4HCHD /
90 | DATA QIMPR2 /4HCDCD,4HO VS,4H ALS,4HCHD /
91 | DATA QIMPR3 /4HCL2P,4HAW V,4HS AL,4HSCHD/
92 | DATA Q71336 /4H7.1.,4H3.3-,4H6 /
93 | DATA Q71337 /4H7.1.,4H3.3-,4H7 /
94 | C
95 | C ----FIGURE 7.1.2.2-20A
96 | C
97 | DATA Q2220A /4H7.1.,4H2.2-,4H20A /
98 | DATA X1220A / .100E 02, .900E 01, .800E 01, .700E 01,
99 | 1 .600E 01, .500E 01, .450E 01, .400E 01, .350E 01, .300E 01,
100 | 2 .250E 01, .200E 01, .150E 01/
101 | DATA X2220A / -.193E 02, -.989E 01, -.437E 01, .134E-01,
102 | 1 .104E 02, .143E 02, .203E 02, .251E 02, .300E 02, .355E 02,
103 | 2 .402E 02, .445E 02, .505E 02, .547E 02, .598E 02, .651E 02,
104 | 3 .702E 02/
105 | C
106 | C ----FIGURE 7.1.2.2-20B
107 | C
108 | DATA Q2220B/4H7.1.,4H2.2-,4H20B /
109 | DATA X1220B/ .100E 02, .900E 01, .800E 01, .700E 01,
110 | 1 .600E 01, .500E 01, .450E 01, .400E 01, .350E 01, .300E 01,
111 | 2 .250E 01, .200E 01, .150E 01/
112 | DATA X2220B/ -.201E 02, -.105E 02, .230E 00, .994E 01,
113 | 1 .197E 02, .300E 02, .403E 02, .499E 02, .604E 02, .703E 02/
114 | C
115 | C ----FIGURE 7.1.2.2-20C
116 | C
117 | DATA Q2220C/4H7.1.,4H2.2-,4H20C /
118 | DATA X1220C/ .100E 02, .900E 01, .800E 01, .700E 01,
119 | 1 .600E 01, .500E 01, .450E 01, .400E 01, .350E 01, .300E 01,
120 | 2 .250E 01, .200E 01, .150E 01/
121 | DATA X2220C/ -.193E 02, -.937E 01, .893E-01, .105E 02,
122 | 1 .208E 02, .304E 02, .405E 02, .505E 02, .607E 02, .704E 02/
123 | C
124 | C ----FIGURE 7.1.2.2-20D
125 | C
126 | DATA Q2220D/4H7.1.,4H2.2-,4H20D /
127 | DATA X1220D/ .100E 02, .900E 01, .800E 01, .700E 01,
128 | 1 .600E 01, .500E 01, .450E 01, .400E 01, .350E 01, .300E 01,
129 | 2 .250E 01, .200E 01, .150E 01/
130 | DATA X2220D/ -.200E 02, -.965E 01, -.458E 01, .293E-01,
131 | 1 .556E 01, .995E 01, .148E 02, .203E 02, .245E 02, .301E 02,
132 | 2 .354E 02, .400E 02, .447E 02, .502E 02, .553E 02, .602E 02,
133 | 3 .646E 02, .698E 02/
134 | C
135 | C ----FIGURE 7.1.2.2-24
136 | C
137 | DATA X12224/ .700E 02, .600E 02, .500E 02, .400E 02,
138 | 1 .300E 02, .200E 02, .100E 02, .000E 00/
139 | DATA X22224/ .196E 01, .252E 01, .302E 01, .350E 01,
140 | 1 .402E 01, .505E 01, .599E 01, .700E 01, .804E 01, .100E 02/
141 | C
142 | C ----FIGURE 7.1.2.3-12
143 | C
144 | DATA X12312/ .100E 01, .800E 00, .600E 00, .400E 00,
145 | 1 .200E 00, .000E 00/
146 | DATA X22312/ .202E 01, .307E 01, .404E 01, .502E 01,
147 | 1 .603E 01, .808E 01, .100E 02, .120E 02/
148 | C
149 | C ----FIGURE 7.1.2.1-9A
150 | C
151 | DATA Q1219A/4H7.1.,4H2.1-,4H9A /
152 | DATA X1219A/ .822E 00, .109E 01, .144E 01, .207E 01,
153 | 1 .257E 01, .316E 01, .398E 01, .462E 01, .531E 01, .600E 01/
154 | DATA Y1219A/ .452E 01, .381E 01, .297E 01, .215E 01,
155 | 1 .147E 01, .966E 00, .486E 00, .279E 00, .117E 00, .154E-06/
156 | C
157 | C ----FIGURE 7.1.2.1-9B
158 | C
159 | DATA Q1219B/4H7.1.,4H2.1-,4H9B /
160 | DATA X1219B/ .700E 02, .650E 02, .600E 02, .450E 02,
161 | 1 .300E 02, .000E 00, -.300E 02, -.450E 02/
162 | DATA X2219B/ 0.0,4.5/
163 | C
164 | C ----FIGURE 7.1.2.1-9C
165 | C
166 | DATA Q1219C/4H7.1.,4H2.1-,4H9C /
167 | DATA X1219C/ .000E 00, .500E 00, .100E 01/
168 | DATA X2219C/ .453E 01, -.963E 00/
169 | DATA X11336/ .600E 02, .500E 02, .400E 02, .000E 00/
170 | DATA X21336/ .101E 01, .126E 01, .151E 01, .178E 01,
171 | 1 .201E 01, .244E 01, .299E 01, .352E 01, .400E 01, .501E 01,
172 | 2 .599E 01, .698E 01, .799E 01, .902E 01, .994E 01/
173 | DATA X31336/0.0,0.2,0.4/
174 | C
175 | C ----FIGURE 7.1.3.3-6D
176 | C
177 | DATA X1133A /0.0,1.0/
178 | DATA X2133A /0.0,4.0/
179 | DATA X11337 / .000E 00, .400E 02, .500E 02, .600E 02/
180 | DATA X21337 / .103E 01, .144E 01, .197E 01, .297E 01,
181 | 1 .397E 01, .503E 01, .606E 01, .706E 01, .803E 01/
182 | DATA X31337 /0.0,0.2,0.4/
183 | C
184 | C IN THE FOLLOWING DATA STATEMENTS 2 FLOATING POINT NUMBERS,WITH
185 | C 3 SIGNIFICANT DIGITS EACH,ARE PACKED IN 1 FIXED POINT WORD.
186 | C
187 | C THE FORMAT IS AS FOLLOWS-
188 | C
189 | C SIGN1,NS2,NSPS,NP1,NP2,ND1,ND2
190 | C
191 | C WHERE-
192 | C
193 | C SIGN1 IS THE ACTUAL SIGN OF THE 1ST NUMBER
194 | C NS2 REPRESENTS THE SIGN OF THE 2ND NUMBER.0 IF + , 1 IF -
195 | C NSPS REPRESENTS THE SIGNS OF THE POWERS OF 10 FOR BOTH NUMBERS
196 | C 0 IF ++ , 1 IF -- , 2 IF +- , 3 IF -+
197 | C NP1 IS THE POWER OF 10 FOR THE 1ST NUMBER. LIMITED TO 1 DIGIT
198 | C NP2 IS THE POWER OF 10 FOR THE 2ND NUMBER. LIMITED TO 1 DIGIT
199 | C ND1 3 DIGITS OF THE 1ST NUMBER (DECIMAL POINT AT END)
200 | C ND2 3 DIGITS OF THE 2ND NUMBER (DECIMAL POINT AT END)
201 | C
202 | DATA D11336/ 122392378, 122366359, 122352345, 122335325,
203 | 1 122320318, 122314315, 122313316, 122317157, 122167177,
204 | 2 122181187, 122204212, 122218226, 122234241, 122241242,
205 | 3 122240239, 133758974, 122116132, 122142160, 122176185,
206 | 4 122200209, 122216221, 122224222, 124225341, 133325655,
207 | 5 132872102, 122127147, 122160173, 122189201, 122206206,
208 | 6 122207205/
209 | DATA D21336/ 122762654, 122584539, 122499463, 122436427,
210 | 1 122418408, 122404404, 122402403, 122403381, 122349331,
211 | 2 122322312, 122300299, 122297295, 122290289, 122282283,
212 | 3 122279279, 122253253, 122253253, 122253256, 122258261,
213 | 4 122265270, 122273273, 122272272, 122268175, 122180185,
214 | 5 122191196, 122209218, 122222229, 122245253, 122255260,
215 | 6 122261261/
216 | DATA D31336/ 111160130, 122950630, 122572509, 122462437,
217 | 1 122416388, 122379371, 122370371, 121373150, 122450447,
218 | 2 122369347, 112112630, 122291284, 122281278, 122280281,
219 | 3 122280283, 122351293, 122272247, 122242230, 122225225,
220 | 4 122224223, 122222228, 122236242, 123259951, 132994111,
221 | 5 122125130, 122141159, 122169178, 122196204, 122206206,
222 | 6 122206205/
223 | DATA D11337/-1133563462,-1133383332,-1133310299,-1133293293,
224 | 1-1133293569,-1133501468,-1133451456,-1133456456,-1133456451,
225 | 2-1133670644,-1133608608,-1133619631,-1133631637,-1133642975,
226 | 3-1133953952,-1132979101,-1122102103,-1122103103/
227 | DATA D21337/-1133743503,-1133440371,-1133331297,-1133291291,
228 | 1-1133291759,-1133560480,-1133457451,-1133457457,-1133463469,
229 | 2-1133806669,-1133623606,-1133611623,-1133634640,-1132646106,
230 | 3-1133985949,-1133971988,-1122101101,-1122102102/
231 | DATA D31337/-1133978712,-1133518417,-1133364346,-1133340334,
232 | 1-1132340102,-1133712538,-1133500472,-1133465465,-1133471471,
233 | 2-1123107796,-1133664614,-1133626638,-1133644650,-1132656121,
234 | 3-1123104979,-1132995101,-1122101103,-1122104105/
235 | DATA D1220A/-1133347366,-1133375377,-1133379378,-1133376372,
236 | 1-1133361354,-1133338321,-1133298280,-1133248215,-1133177339,
237 | 2-1133357361,-1133365369,-1133368363,-1133359353,-1133339325,
238 | 3-1133308288,-1133267237,-1133211175,-1133326340,-1133345353,
239 | 4-1133355355,-1133353347,-1133339329,-1133316301,-1133281258,
240 | 5-1133230206,-1133170310,-1133323329,-1133334338,-1133338336,
241 | 6-1133332326,-1133319305,-1133290268,-1133251227,-1133198169,
242 | 7-1133289303,-1133307311,-1133318318,-1133316310,-1133305298,
243 | 8-1133287276,-1133256241,-1133214192,-1133160267,-1133283286,
244 | 9-1133289289,-1133292289,-1133286284,-1133280268,-1133261247,
245 | A-1133230208,-1133184157,-1133254266,-1133273277,-1133281281,
246 | B-1133279277,-1133270267,-1133259250,-1133233222,-1133198179,
247 | C-1133151242,-1133250255,-1133261263,-1133263263,-1133262256,
248 | D-1133253247,-1133241228,-1133214193,-1133175150,-1133227232,
249 | E-1133238242,-1133245246,-1133245243,-1133239233,-1133230224,
250 | F-1133212203,-1133184169,-1133140205,-1133211214,-1133216220,
251 | G-1133222222,-1133222219,-1133218213,-1133209198,-1133192176,
252 | H-1133159139,-1133184190,-1133191193,-1133194194,-1133195195,
253 | I-1133194193,-1133193191,-1133184176,-1133161151,-1133131159,
254 | J-1133162164,-1133164168,-1133169169/
255 | DATA D2220A/-1133169169,-1133165164,-1133161157,-1133156150,
256 | 1-1133137120,-1133133132,-1133133134,-1133133134,-1133133133,
257 | 2-1133133134,-1133133132,-1133129124,-1133120114, -330102000/
258 | DATA Y2220B/-1133464486,-1133500494,-1133484457,-1133419364,
259 | 1-1133298218,-1133445465,-1133479473,-1133463441,-1133407354,
260 | 2-1133291215,-1133428444,-1133450449,-1133437419,-1133388344,
261 | 3-1133287209,-1133407414,-1133422422,-1133415398,-1133372331,
262 | 4-1133276202,-1133375386,-1133391392,-1133385377,-1133353320,
263 | 5-1133270199,-1133340353,-1133358358,-1133353342,-1133325296,
264 | 6-1133255189,-1133325330,-1133334334,-1133331324,-1133310299,
265 | 7-1133247190,-1133300304,-1133312307,-1133305301,-1133288270,
266 | 8-1133237183,-1133278280,-1133282282,-1133281276,-1133268251,
267 | 9-1133221178,-1133245248,-1133251251,-1133250248,-1133241232,
268 | A-1133208167,-1133221221,-1133222221,-1133220217,-1133215206,
269 | B-1133192161,-1133183182,-1133182181,-1133180180,-1133178174,
270 | C-1133162140,-1133138139,-1133141141,-1133141141,-1133142141,
271 | D-1133134124/
272 | DATA Y2220C/-1133523535,-1133539534,-1133519496,-1133456407,
273 | 1-1133337245,-1133503509,-1133513505,-1133499475,-1133441390,
274 | 2-1133317234,-1133470483,-1133486483,-1133470454,-1133421375,
275 | 3-1133312228,-1133445451,-1133453451,-1133445428,-1133400355,
276 | 4-1133298223,-1133410415,-1133420414,-1133409392,-1133370338,
277 | 5-1133287213,-1133371376,-1133377375,-1133371358,-1133338314,
278 | 6-1133269204,-1133343349,-1133354353,-1133349339,-1133321299,
279 | 7-1133260204,-1133320320,-1133322322,-1133319316,-1133300280,
280 | 8-1133245199,-1133293297,-1133298297,-1133295286,-1133278264,
281 | 9-1133238189,-1133264264,-1133263264,-1133262259,-1133248239,
282 | A-1133220180,-1133226226,-1133225226,-1133224222,-1133219207,
283 | B-1133191165,-1133188188,-1133189187,-1133186186,-1133180172,
284 | C-1133163145,-1133149149,-1133149149,-1133148147,-1133146142,
285 | D-1133134121/
286 | DATA D1220D/-1133560573,-1133575575,-1133573567,-1133560546,
287 | 1-1133539520,-1133502481,-1133461430,-1133398367,-1133335280,
288 | 2-1133538545,-1133546546,-1133544542,-1133537525,-1133518501,
289 | 3-1133484464,-1133446415,-1133384353,-1133319269,-1133508517,
290 | 4-1133519517,-1133515512,-1133507499,-1133487475,-1133462442,
291 | 5-1133425396,-1133367339,-1133305266,-1133469477,-1133480480,
292 | 6-1133477471,-1133469463,-1133454448,-1133434418,-1133401376,
293 | 7-1133350321,-1133290246,-1133431434,-1133435435,-1133433431,
294 | 8-1133428423,-1133416409,-1133397383,-1133371350,-1133322299,
295 | 9-1133273232,-1133385390,-1133391390,-1133389386,-1133384378,
296 | A-1133375368,-1133360353,-1133340325,-1133304284,-1133260224,
297 | B-1133359361,-1133361362,-1133362360,-1133360356,-1133354347,
298 | C-1133339334,-1133323307,-1133288271,-1133249216,-1133332334,
299 | D-1133334334,-1133333333,-1133331329,-1133325322,-1133317310,
300 | E-1133302290,-1133276257,-1133237208,-1133265266,-1133266266,
301 | F-1133266265,-1133265264,-1133262261,-1133258255,-1133250246,
302 | G-1133234222,-1133209183,-1133298300,-1133302302,-1133302301,
303 | H-1133300298,-1133298293,-1133289284,-1133280267,-1133255243,
304 | I-1133225197,-1133230230,-1133230230,-1133230231,-1133230230,
305 | J-1133229228,-1133224223,-1133219216/
306 | DATA D2220D/-1133208198,-1133188170,-1133189190,-1133190190,
307 | 1-1133190189,-1133188187,-1133187184,-1133183181,-1133179175,
308 | 2-1133171163,-1133156143,-1133148146,-1133146145,-1133145145,
309 | 3-1133146146,-1133145145,-1133144142,-1133142141,-1133141139,
310 | 4-1133135122/
311 | DATA Y12224/-1133407331,-1133278240,-1133216175,-1133146127,
312 | 1-1134112891,-1133171137,-1133116103,-1144901734,-1144620532,
313 | 2-1144456365,-1144918736,-1144606535,-1144467381,-1144344280,
314 | 3-1144239183,-1144567428,-1144382349,-1144297232,-1144183177,
315 | 4-1144160125,-1144400303,-1144267223,-1144193165,-1144149120,
316 | 5-1144114103,-1144302225,-1144199187,-1144159131,-1145103856,
317 | 6-1155683804,-1144230201,-1144165141,-1145136843,-1155686624,
318 | 7-1155338463,-1144221179,-1144153141,-1145113850,-1155687398,
319 | 8-1155341456/
320 | DATA Y12312/-1166968781,-1166626494,-1166388197, -176319113,
321 | 1-1166941724,-1166541382, -168238339, 166218422,-1166885655,
322 | 2-1166450256, -176949195, 166454705,-1166777520,-1166300113,
323 | 3 176533337, 166590825,-1166548303, -177979781, 166231499,
324 | 4 166724919, -176387127, 166264371, 166473661, 166827994/
325 | DATA Y1219B/ 122468642 , 122368554 , 122300494 , 122176413,
326 | 1 122111372 , 132160292 , -132680236 ,-122168172/
327 | DATA Y1219C/ 1123153677, 1123161573 , 1123182380 /
328 | DATA Y7133A/-133110100,-134127830/
329 | BETA=B(2)
330 | IF( WGPL.AND.(.NOT.BO))GO TO 1000
331 | DB=(SSPN-SSPNE)/SSPN
332 | IF(DB.GT.0.3)RETURN
333 | 1000 K=BETA*WINGIN(IM+20)*RAD/(2.*PI)
334 | MACH=FLC(IM+2)
335 | XYZ=0.
336 | C
337 | C WING-BODY ROLLING DERIVATIVE,CLP---
338 | C
339 | CALL TBFUNX(XYZ,ALSD,DYDX,NALPHA,CL,ALSCHD,Y,IN,MI,NG,1,1,QEXPD,5,
340 | 1 ROUTID)
341 | CALL TBFUNX(XYZ,CDO,DYDX,NALPHA,CL,CD,D,IO,MI,NG,2,2,
342 | 1 QEXPD,5,ROUTID)
343 | IF(CL(1).LE.0..AND.CL(NALPHA).GE.0.) GO TO 1050
344 | NNALPH=NALPHA+1
345 | IF(CL(1).LT.0.) GO TO 1020
346 | CLSUB(1)=0.
347 | ALSCH2(1)=ALSD
348 | DO 1010 J=1,NALPHA
349 | CLSUB(J+1)=CL(J)
350 | 1010 ALSCH2(J+1)=ALSCHD(J)
351 | GO TO 1040
352 | 1020 CLSUB(NNALPH)=0.
353 | ALSCH2(NNALPH)=ALSD
354 | DO 1030 J=1,NALPHA
355 | CLSUB(J)=CL(J)
356 | 1030 ALSCH2(J)=ALSCHD(J)
357 | 1040 CALL TBFUNX(ALSD,ABCD,CLACLO,NNALPH,ALSCH2,CLSUB,E,IX,MI,
358 | 1 NG,1,1,QEXPD,5,ROUTID)
359 | GO TO 1060
360 | 1050 CALL TBFUNX(ALSD,ABCD,CLACLO,NALPHA,ALSCHD,CL,Z,IX,MI,
361 | 1 NG,1,1,QEXPD,5,ROUTID)
362 | 1060 CONTINUE
363 | XBOCB=-DCMDCL*CBARR/MACOE
364 | DO 1070 I=1,NALPHA
365 | CALL TBFUNX(ALSCHD(I),CDEF,CLA(I),NALPHA,ALSCHD,CL,G,IQ,MI,NG,
366 | 1 0,0,QEXPD,5,ROUTID)
367 | 1070 CONTINUE
368 | ZEE=ZW-ZCG
369 | SINGEG=SIN(GEG/RAD)
370 | CLPCLP=1.-2.*ZEE*SINGEG/SSPN+3.*(ZEE/SSPN)**2*SINGEG**2
371 | LAMB=RAD*ATAN(TANCO4/BETA)
372 | C
373 | C -- FIGURE 7.1.2.2-24 --
374 | C
375 | CALL TLIP2X(X12224,X22224,Y12224,8,10,LAMCO4,ASTRW,CLPCL2,
376 | 1 1,1,1,1,Q12224,3,ROUTID)
377 | SRSW=SR/SW
378 | AAAA=4.*SSPN**2/(RAD*SRSW*BLREF**2)
379 | BAOK =BETA*ASTRW/K
380 | C
381 | C FIGURE 7.1.2.2-20 A-D
382 | C
383 | CALL INTEP3(BAOK,LAMB,LAMDA,X1220A,X2220A,Y2220A,13,17,Q2220A,
384 | 1 X1220B,X2220B,Y2220B,13,10,Q2220B,
385 | 2 X1220C,X2220C,Y2220C,13,10,Q2220C,
386 | 3 1,1,1,1,1,1,
387 | 4 X1220D,X2220D,Y2220D,13,18,Q2220D,BCLPCL)
388 | BBBB=AAAA*BCLPCL*K*CLPCLP/(BETA*CLACLO)
389 | DO 1080 I=1,NALPHA
390 | CLT=CL(I)*SRSW
391 | DCLPD(I)=CLPCL2*CLT**2-CDO/8.*SRSW
392 | CLPWBS(I)=BBBB*CLA(I)+AAAA*DCLPD(I)
393 | 1080 CONTINUE
394 | C
395 | C ---WING-BODY ROLLING DERIVATIVE,CNP---
396 | C
397 | DO 1090 I=1,NALPHA
398 | 1090 ALMALO(I) = ALSCHD(I)-ALSD
399 | BEE=SQRT(1.-MACH**2*COSLO4**2)
400 | CCCC=(ASTRW+4.*COSLO4)/(ASTRW*BEE+4.*COSLO4)
401 | DDDD=(ASTRW*BEE+.5*(ASTRW*BEE+COSLO4)*TANCO4**2)
402 | EEEE=ASTRW+.5*(ASTRW+COSLO4)*TANCO4**2
403 | C AJT IF NALPHA=20 IT WILL NOW BE 21 AFTER DO LOOP AND CL(I) WILL BE
404 | C AJT OUTSIDE ARRAY BOUND
405 |
406 | C AJT IF(CL(I).EQ.0.0)GO TO 1100
407 |
408 | C AJT PAGE 7.1.2.3-1 OF DATCOM SAYS NO ESTIMATE OF CNP VARIATION WITH CL
409 | C AJT SHOULD BE MADE IF CL AND CD DATA NOT AVAILABLE
410 | IF(CL(1).EQ.0.0)GO TO 1100
411 | CNPCLO=-(ASTRW+6.*(ASTRW+COSLO4)*(XBOCB*TANCO4/ASTRW+TANCO4**2/12.
412 | 1 ))/((ASTRW+4.*COSLO4)*6.)
413 | CNPCLM =CCCC*DDDD*CNPCLO/EEEE
414 | GO TO 1110
415 | 1100 CNPCLM=0.
416 | 1110 CONTINUE
417 | DO 1120 I=1,NALPHA
418 | CLTAN(I)=CL(I)*SRSW*TAN(ALMALO(I)/RAD)
419 | CDCDO(I)=(CD(I)-CDO)*SRSW
420 | CL2PAW(I)=(CL(I)*SRSW)**2/(ASTRW*PI)
421 | 1120 CONTINUE
422 | C
423 | C -- FIGURE 7.1.2.3-12 --
424 | C
425 | CALL TLIP2X(X12312,X22312,Y12312,6, 8,LAMDA,ASTRW,CNPTHE,2,1,2,1,
426 | 1 Q12312,3,ROUTID)
427 | CNP=CNPTHE*THETA
428 | FFFF=AAAA*BLREF/(2.*SSPN)
429 | DO 1150 I=1,NALPHA
430 | CLPTAN(I)=CLPWBS(I)*TAN(ALMALO(I)/RAD)
431 | IF(CL(I).EQ.0.0)GO TO 1130
432 | CALL TBFUNX(ALSCHD(I),ABC,DCLDA(I),NALPHA,ALSCHD,CLTAN,H,IR,
433 | 1 MI,NG,1,1,QIMPR1,4,ROUTID)
434 | CALL TBFUNX(ALSCHD(I),ABC,DCDDA(I),NALPHA,ALSCHD,CDCDO,O,IS,
435 | 1 MI,NG,1,1,QIMPR2,4,ROUTID)
436 | CALL TBFUNX(ALSCHD(I),ABC,DCADA(I),NALPHA,ALSCHD,CL2PAW,P,IT,
437 | 1 MI,NG,1,1,QIMPR3,4,ROUTID)
438 | KAY(I)=(DCLDA(I)-DCDDA(I))/(DCLDA(I)-DCADA(I))
439 | GO TO 1140
440 | 1130 CONTINUE
441 | KAY(I)=1.
442 | 1140 CONTINUE
443 | CNPWBS(I)=(KAY(I)-1.)*CLPTAN(I)+(KAY(I)*(CNPCLM*CL(I)*SRSW)
444 | 1 +CNP)*AAAA
445 | 1150 CONTINUE
446 | C
447 | C WING-BODY YAWING DERIVATIVE,CYP---
448 | C
449 | CLPG=BCLPCL*K/BETA
450 | DCYPG=(3.*SINGEG*(1.-2.*ZEE*SINGEG/SSPN))*CLPG
451 | C
452 | C -- FIGURE 7.1.2.1-9 --
453 | C
454 | CALL INTERX(1,X1219A,ASTRW,I2A219,Y1219A,TRANS,10,10,1,0,0,0,0,0
455 | 1 ,0,0,Q1219A,3,ROUTID)
456 | CALL TLIP2X(X1219B,X2219B,Y1219B,8,2,LAMCO4,TRANS,CHANGE,1
457 | 1 ,1,1,1,Q1219B,3,ROUTID)
458 | CALL TLIP2X(X1219C,X2219C,Y1219C,3,2,LAMDA,CHANGE,CYPCLO,
459 | 1 0,0,1,1,Q1219C,3,ROUTID)
460 | AABB=ASTRW+4.*COSLO4
461 | BBCC=ASTRW*BEE+4.*COSLO4
462 | CCDD=ASTRW*BEE+COSLO4
463 | DDEE=ASTRW+COSLO4
464 | CYPCLM=AABB*CCDD*CYPCLO/(BBCC*DDEE)
465 | FFPG=FFFF*DCYPG
466 | DO 1160 I=1,NALPHA
467 | CYPWBS(I)=FFPG+FFFF*CYPCLM*SRSW*KAY(I)*CL(I)
468 | 1160 CONTINUE
469 | C
470 | C WING-BODY ROLLING DERIVATIVE,CNR---
471 | C --- FIGURE 7.1.3.3-7 --
472 | C -- FIGURE 7.1.3.3-6 --
473 | C
474 | CALL TLIP3X(X11336,X21336,X31336,Y71336,4,15,3,LAMCO4,ASTRW,XBOCB,
475 | 1 TRADE,0,1,0,2,1,1,Q71336,3,ROUTID)
476 | CALL TLIP2X(X1133A,X2133A,Y7133A,2,2,LAMDA,TRADE,CNRCL2,0,1,0,1,
477 | 1 Q71336,3,ROUTID)
478 | CALL TLIP3X(X11337,X21337,X31337,Y71337,4, 9,3,ABS(LAMCO4),
479 | 1 ASTRW,XBOCB,CNRCDO,0,1,0,2,1,1,Q71337,3,ROUTID)
480 | DO 1170 I=1,NALPHA
481 | CDOO(I)=CD(I)*SRSW-CL2PAW(I)
482 | CNRWBS(I)=AAAA*((CNRCL2*(CL(I)*SRSW)**2)+CNRCDO*CDOO(I))
483 | 1170 CONTINUE
484 | RETURN
485 | END
486 |
--------------------------------------------------------------------------------
/test/input/supryw.f:
--------------------------------------------------------------------------------
1 | SUBROUTINE SUPRYW
2 | C
3 | C THIS ROUTINE YIELDS THE SUPERSONIC WING,WING-BODY
4 | C ROLLING DERIVATIVES,CLP AND CNP,AND
5 | C YAWING DERIVATIVE , CYP
6 | C
7 | COMMON /OVERLY/ NLOG,NMACH,IM,NALPHA
8 | COMMON /CONSNT/ PI,DR,UNUSED,RAD
9 | COMMON /OPTION/ SR,CBARR,RUFF,BLREF
10 | COMMON /WINGD/ A(195)
11 | COMMON /WINGI/ WINGIN(77)
12 | COMMON /FLGTCD/ FLC(93)
13 | COMMON /POWR/ DYN(213)
14 | COMMON /SUPWH/ SLG(141)
15 | COMMON /IBW/ PBW,BW(380)
16 | COMMON /SYNTSS/ SYNA(19)
17 | COMMON /IWING/ PWING, WING(400)
18 | COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
19 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,
20 | 2 SUPERS,SUBSON,TRANSN,HYPERS,
21 | 3 SYMFP,ASYFP,TRIMC,TRIM
22 | LOGICAL FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
23 | 1 HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,
24 | 2 SUPERS,SUBSON,TRANSN,HYPERS,
25 | 3 SYMFP,ASYFP,TRIMC,TRIM
26 | INTEGER Y2225A,Y2225B,Y2225C,Y2225D,Y2225E,Y2110A,Y2110C,Y2110B,
27 | 1 Y2314A,Y2314B,Y2314C,Y2314D,Y2317A,Y2317B,Y2317C,Y2317D
28 | REAL MACH,LAMLE,LAMDA
29 | DIMENSION ALSCHD(20),CYPWBH(20),CNPWBH(20),CYPWSP(20)
30 | DIMENSION ROUTID(2)
31 | DIMENSION X1225A( 7),X2225A( 17),Y2225A( 60),Q2225A(3)
32 | DIMENSION X1225B( 7),X2225B( 13),Y2225B( 46),Q2225B(3)
33 | DIMENSION X1225C( 7),X2225C( 13),Y2225C( 46),Q2225C(3)
34 | DIMENSION X1225D( 7),X2225D( 14),Y2225D( 49),Q2225D(3)
35 | DIMENSION X1225E( 7),X2225E( 17),Y2225E( 60),Q2225E(3)
36 | DIMENSION X1110A( 14),X2110A( 9),Y2110A( 63),Q2110A(3)
37 | DIMENSION X1110C( 5),X2110C( 5),Y2110C( 13),Q2110C(3)
38 | DIMENSION X1110B( 7),X2110B( 19),Y2110B( 67),Q2110B(3)
39 | DIMENSION X1314A( 10),X2314A( 14),Y2314A( 70),Q2314A(3)
40 | DIMENSION X1314B( 10),X2314B( 14),Y2314B( 70),Q2314B(3)
41 | DIMENSION X1314C( 10),X2314C( 13),Y2314C( 65),Q2314C(3)
42 | DIMENSION X1314D( 10),X2314D( 13),Y2314D( 65),Q2314D(3)
43 | DIMENSION X12316( 9),Y12316( 9),Q12316(3)
44 | DIMENSION X13170( 2),X23170( 4),Y23170(2)
45 | DIMENSION X1317A( 5),X2317A( 15),Y2317A( 38),Q2317A(3)
46 | DIMENSION X1317B( 5),X2317B( 13),Y2317B( 33),Q2317B(3)
47 | DIMENSION X1317C( 5),X2317C( 15),Y2317C( 38),Q2317C(3)
48 | DIMENSION X1317D( 5),X2317D( 14),Y2317D( 35),Q2317D(3)
49 | EQUIVALENCE(CNACNA,SLG(3)),(TANCO2,A(74)),(LAMLE,A(58)),(SW,A(4))
50 | 1 ,(XCG,SYNA(1)),(SSPNE,WINGIN(3)),(SSPN,WINGIN(4)),
51 | 2(AW,A(120)),(LAMDA,A(118)),(BETA,SLG(1)),(ALSCHD(1),FLC(23)),
52 | 3(TANLE,A(62))
53 | EQUIVALENCE(CLPWBH,WING(281)),(TRENS,DYN(204)),(CHENGE,DYN(205)),
54 | 1 (CYPA,DYN(206)),(CYPWSP(1),WING(301)),(CNPTAS,DYN(207)),
55 | 2 (CNPA1,DYN(208)),(CNPA2,DYN(209)),(CNPA3,DYN(210)),
56 | 3 (CNPA,DYN(211)),(CNPAE,DYN(212)),(CNPWBH(1),WING(321)),
57 | 4 (CNPBA,DYN(213)),(XW,SYNA(1)),(CR,WINGIN(6))
58 | DATA ROUTID/4HSUPR,4HYW /
59 | C
60 | C ----FIGURE 7.1.2.2-25A
61 | C
62 | DATA Q2225A/4H7.1.,4H2.2-,4H25A /
63 | DATA X1225A/ .000E 00, .100E 01, .200E 01, .300E 01,
64 | 1 .400E 01, .500E 01, .600E 01/
65 | DATA X2225A/ -.699E-01, .100E 01, .147E 01, .203E 01,
66 | 1 .250E 01, .291E 01, .403E 01, .445E 01, .503E 01, .541E 01,
67 | 2 .597E 01, .646E 01, .706E 01, .797E 01, .858E 01, .909E 01,
68 | 3 .100E 02/
69 | C
70 | C ----FIGURE 7.1.2.2-25B
71 | C
72 | DATA Q2225B/4H7.1.,4H2.2-,4H25B /
73 | DATA X1225B/ .000E 00, .100E 01, .200E 01, .300E 01,
74 | 1 .400E 01, .500E 01, .600E 01/
75 | DATA X2225B/ .296E-01, .202E 01, .279E 01, .330E 01,
76 | 1 .428E 01, .526E 01, .571E 01, .625E 01, .697E 01,
77 | 2 .748E 01, .805E 01, .903E 01, .100E 02/
78 | C
79 | C ----FIGURE 7.1.2.2-25C
80 | C
81 | DATA Q2225C/4H7.1.,4H2.2-,4H25C /
82 | DATA X1225C/ .000E 00, .100E 01, .200E 01, .300E 01,
83 | 1 .400E 01, .500E 01, .600E 01/
84 | DATA X2225C/ .125E-01, .199E 01, .268E 01, .332E 01,
85 | 1 .369E 01, .433E 01, .468E 01, .539E 01, .571E 01, .668E 01,
86 | 2 .802E 01, .903E 01, .100E 02/
87 | C
88 | C ----FIGURE 7.1.2.2-25D
89 | C
90 | DATA Q2225D/4H7.1.,4H2.2-,4H25D /
91 | DATA X1225D/ .000E 00, .100E 01, .200E 01, .300E 01,
92 | 1 .400E 01, .500E 01, .600E 01/
93 | DATA X2225D/ .140E-01, .199E 01, .224E 01, .256E 01,
94 | 1 .275E 01, .328E 01, .371E 01, .433E 01, .502E 01, .560E 01,
95 | 2 .698E 01, .802E 01, .901E 01, .100E 02/
96 | C
97 | C ----FIGURE 7.1.2.2-25E
98 | C
99 | DATA Q2225E/4H7.1.,4H2.2-,4H25E /
100 | DATA X1225E/ .000E 00, .100E 01, .200E 01, .300E 01,
101 | 1 .400E 01, .500E 01, .600E 01/
102 | DATA X2225E/ .180E-01, .205E 01, .217E 01, .237E 01,
103 | 1 .258E 01, .284E 01, .302E 01, .353E 01, .402E 01, .449E 01,
104 | 2 .504E 01, .546E 01, .602E 01, .701E 01, .803E 01, .900E 01,
105 | 3 .100E 02/
106 | C
107 | C ----FIGURE 7.1.2.1-10A
108 | C
109 | DATA Q2110A/4H7.1.,4H2.1-,4H10A /
110 | DATA X1110A/ .100E 02, .150E 02, .200E 02, .250E 02,
111 | 1 .300E 02, .350E 02, .400E 02, .450E 02, .500E 02, .550E 02,
112 | 2 .600E 02, .650E 02, .700E 02, .750E 02/
113 | DATA X2110A/ .134E 01, .149E 01, .160E 01, .179E 01,
114 | 1 .200E 01, .240E 01, .297E 01, .349E 01, .399E 01/
115 | C
116 | C ----FIGURE 7.1.2.1-10B
117 | C
118 | DATA Q2110B/4H7.1.,4H2.1-,4H10B /
119 | DATA X1110B/ .100E 01, .200E 01, .300E 01, .400E 01,
120 | 1 .800E 01, .120E 02, .200E 02/
121 | DATA X2110B/ .238E 00, .550E 00, .842E 00, .127E 01,
122 | 1 .216E 01, .282E 01, .325E 01, .398E 01, .430E 01, .464E 01,
123 | 2 .498E 01, .543E 01, .596E 01, .694E 01, .795E 01, .901E 01,
124 | 3 .999E 01, .110E 02, .120E 02/
125 | C
126 | C ----FIGURE 7.1.2.1-10C
127 | C
128 | DATA Q2110C/4H7.1.,4H2.1-,4H10C /
129 | DATA X1110C/ .000E 00, .250E 00, .500E 00, .750E 00,
130 | 1 .100E 01/
131 | DATA X2110C/ -.600E 01, -.243E 01, -.197E 01, -.102E 01,
132 | 1 .000E 00/
133 | C
134 | C ----FIGURE 7.1.2.3-14A
135 | C
136 | DATA Q2314A/4H7.1.,4H2.3-,4H14A /
137 | DATA X1314A/ .200E 01, .300E 01, .400E 01, .500E 01,
138 | 1 .600E 01, .700E 01, .800E 01, .100E 02, .150E 02, .200E 02/
139 | DATA X2314A/ .323E 00, .399E 00, .451E 00, .493E 00,
140 | 1 .527E 00, .537E 00, .553E 00, .584E 00, .631E 00, .651E 00,
141 | 2 .700E 00, .802E 00, .902E 00, .100E 01/
142 | C
143 | C ----FIGURE 7.1.2.3-14B
144 | C
145 | DATA Q2314B/4H7.1.,4H2.3-,4H14B /
146 | DATA X1314B/ .200E 01, .300E 01, .400E 01, .500E 01,
147 | 1 .600E 01, .700E 01, .800E 01, .100E 02, .150E 02, .200E 02/
148 | DATA X2314B/ .326E 00, .393E 00, .443E 00, .478E 00,
149 | 1 .502E 00, .519E 00, .552E 00, .569E 00, .616E 00, .647E 00,
150 | 2 .700E 00, .799E 00, .900E 00, .100E 01/
151 | C
152 | C ----FIGURE 7.1.2.3-14C
153 | C
154 | DATA Q2314C/4H7.1.,4H2.3-,4H14C /
155 | DATA X1314C/ .200E 01, .300E 01, .400E 01, .500E 01,
156 | 1 .600E 01, .700E 01, .800E 01, .100E 02, .150E 02, .200E 02/
157 | DATA X2314C/ .369E 00, .444E 00, .492E 00, .532E 00,
158 | 1 .563E 00, .585E 00, .615E 00, .641E 00, .675E 00, .747E 00,
159 | 2 .795E 00, .898E 00, .100E 01/
160 | C
161 | C ----FIGURE 7.1.2.3-14D
162 | C
163 | DATA Q2314D/4H7.1.,4H2.3-,4H14D /
164 | DATA X1314D/ .200E 01, .300E 01, .400E 01, .500E 01,
165 | 1 .600E 01, .700E 01, .800E 01, .100E 02, .150E 02, .200E 02/
166 | DATA X2314D/ .401E 00, .492E 00, .546E 00, .589E 00,
167 | 1 .611E 00, .639E 00, .666E 00, .693E 00, .731E 00, .753E 00,
168 | 2 .804E 00, .902E 00, .100E 01/
169 | C
170 | C ----FIGURE 7.1.2.3-16
171 | C
172 | DATA Q12316/4H7.1.,4H2.3-,4H16 /
173 | DATA I22316 /9/
174 | DATA X12316/ .301E 00, .498E 00, .750E 00, .846E 00,
175 | 1 .922E 00, .949E 00, .974E 00, .987E 00, .997E 00/
176 | DATA Y12316/ -.168E 00, -.135E 00, -.851E-01, -.626E-01,
177 | 1 -.385E-01, -.293E-01, -.190E-01, -.115E-01, -.575E-03/
178 | C
179 | C ----FIGURE 7.1.2.3-17A
180 | C
181 | DATA Q2317A/4H7.1.,4H2.3-,4H17A /
182 | DATA X1317A/ .200E 01, .300E 01, .400E 01, .800E 01,
183 | 1 .120E 02/
184 | DATA X2317A/ .100E 01, .115E 01, .125E 01, .138E 01,
185 | 1 .153E 01, .175E 01, .201E 01, .249E 01, .301E 01, .351E 01,
186 | 2 .397E 01, .449E 01, .549E 01, .648E 01, .698E 01/
187 | C
188 | C ----FIGURE 7.1.2.3-17B
189 | C
190 | DATA Q2317B/4H7.1.,4H2.3-,4H17B /
191 | DATA X1317B/ .200E 01, .300E 01, .400E 01, .800E 01,
192 | 1 .120E 02/
193 | DATA X2317B/ .101E 01, .127E 01, .150E 01, .167E 01,
194 | 1 .184E 01, .202E 01, .253E 01, .303E 01, .352E 01, .403E 01,
195 | 2 .502E 01, .603E 01, .700E 01/
196 | C
197 | C ----FIGURE 7.1.2.3-17C
198 | C
199 | DATA Q2317C/4H7.1.,4H2.3-,4H17C /
200 | DATA X1317C/ .200E 01, .300E 01, .400E 01, .800E 01,
201 | 1 .120E 02/
202 | DATA X2317C/ .100E 01, .113E 01, .131E 01, .150E 01,
203 | 1 .164E 01, .181E 01, .198E 01, .220E 01, .250E 01, .299E 01,
204 | 2 .347E 01, .398E 01, .496E 01, .597E 01, .693E 01/
205 | C
206 | C ----FIGURE 7.1.2.3-17D
207 | C
208 | DATA Q2317D/4H7.1.,4H2.3-,4H17D /
209 | DATA X1317D/ .200E 01, .300E 01, .400E 01, .800E 01,
210 | 1 .120E 02/
211 | DATA X2317D/ .100E 01, .110E 01, .125E 01, .136E 01,
212 | 1 .149E 01, .174E 01, .200E 01, .251E 01, .303E 01, .351E 01,
213 | 2 .400E 01, .501E 01, .603E 01, .699E 01/
214 | C
215 | C IN THE FOLLOWING DATA STATEMENTS 2 FLOATING POINT NUMBERS,WITH
216 | C 3 SIGNIFICANT DIGITS EACH,ARE PACKED IN 1 FIXED POINT WORD.
217 | C
218 | C THE FORMAT IS AS FOLLOWS-
219 | C
220 | C SIGN1,NS2,NSPS,NP1,NP2,ND1,ND2
221 | C
222 | C WHERE-
223 | C
224 | C SIGN1 IS THE ACTUAL SIGN OF THE 1ST NUMBER
225 | C NS2 REPRESENTS THE SIGN OF THE 2ND NUMBER.0 IF + , 1 IF -
226 | C NSPS REPRESENTS THE SIGNS OF THE POWERS OF 10 FOR BOTH NUMBERS
227 | C 0 IF ++ , 1 IF -- , 2 IF +- , 3 IF -+
228 | C NP1 IS THE POWER OF 10 FOR THE 1ST NUMBER. LIMITED TO 1 DIGIT
229 | C NP2 IS THE POWER OF 10 FOR THE 2ND NUMBER. LIMITED TO 1 DIGIT
230 | C ND1 3 DIGITS OF THE 1ST NUMBER (DECIMAL POINT AT END)
231 | C ND2 3 DIGITS OF THE 2ND NUMBER (DECIMAL POINT AT END)
232 | C
233 | DATA Y2225A/-1143985102,-1133105107,-1134109960,-1144760690,
234 | 1-1144620570,-1144530490,-1144460410,-1144390370,-1144330990,
235 | 2-1143990100,-1133101101,-1144990760,-1144710630,-1144580540,
236 | 3-1144510470,-1144420400,-1144380340,-1144990960,-1144940930,
237 | 4-1144910890,-1144830750,-1144670610,-1144560520,-1144490430,
238 | 5-1144410390,-1144350860,-1144830820,-1144810810,-1144800760,
239 | 6-1144750730,-1144660600,-1144560510,-1144440420,-1144400350,
240 | 7-1144750740,-1144740730,-1144730730,-1144710710,-1144690680,
241 | 8-1144650590,-1144540460,-1144440410,-1144360670,-1144670670,
242 | 9-1144670680,-1144680670,-1144660650,-1144640630,-1144620600,
243 | A-1144510460,-1144430380,-1144580590,-1144590600,-1144610620,
244 | B-1144630620,-1144620610,-1144600590,-1144580560,-1144500460,
245 | C -340410000/
246 | DATA Y2225B/-1143988134,-1133123114,-1144938780,-1144725671,
247 | 1-1144615576,-1144541485,-1144441988,-1133124119,-1134113954,
248 | 2-1144806743,-1144681623,-1144588551,-1144488445,-1143987113,
249 | 3-1133111110,-1144969827,-1144771701,-1144632594,-1144557495,
250 | 4-1144448928,-1133102102,-1134101967,-1144857802,-1144741660,
251 | 5-1144622578,-1144514461,-1144839906,-1144938933,-1144903876,
252 | 6-1144825776,-1144697650,-1144601544,-1144487771,-1144791824,
253 | 7-1144843862,-1144828815,-1144797737,-1144690640,-1144565505,
254 | 8-1144691708,-1144732747,-1144780787,-1144778764,-1144738713,
255 | 9-1144674602, -340533000/
256 | DATA Y2225C/-1143987137,-1133127116,-1133111100,-1144944855,
257 | 1-1144809713,-1144615562,-1144511982,-1133131124,-1133116110,
258 | 2-1134100944,-1144853814,-1144720619,-1144563511,-1143982119,
259 | 3-1133118112,-1133109102,-1144976883,-1144839734,-1144628566,
260 | 4-1144516943,-1133107109,-1133108107,-1134102974,-1144901860,
261 | 5-1144761640,-1144576523,-1144877935,-1144968999,-1144991974,
262 | 6-1144972913,-1144880791,-1144677605,-1144546820,-1144827854,
263 | 7-1144878891,-1144913904,-1144886880,-1144809700,-1144633566,
264 | 8-1144738726,-1144749773,-1144786809,-1144826850,-1144844830,
265 | 9-1144730656, -340594000/
266 | DATA Y2225D/-1143985141,-1133136132,-1133128119,-1133112103,
267 | 1-1144940869,-1144731654,-1144592541,-1143985131,-1133128125,
268 | 2-1133123117,-1133111105,-1144953871,-1144735654,-1144592541,
269 | 3-1143985117,-1133120120,-1133119114,-1133109104,-1144952887,
270 | 4-1144747666,-1144599544,-1143953103,-1133104106,-1133106110,
271 | 5-1133107103,-1144966906,-1144767687,-1144617566,-1144893908,
272 | 6-1144938958,-1144968985,-1143998101,-1144975917,-1144800723,
273 | 7-1144651578,-1144822803,-1144824843,-1144857889,-1144911929,
274 | 8-1144938917,-1144820741,-1144671594,-1144760724,-1144735757,
275 | 9-1144770804,-1144831846,-1144864871,-1144819755,-1144685615/
276 | DATA Y2225E/-1143988129,-1133129130,-1133129128,-1133125117,
277 | 1-1133110102,-1144960910,-1144850760,-1144680620,-1144570980,
278 | 2-1133125126,-1133126126,-1133125123,-1133117109,-1134103960,
279 | 3-1144910850,-1144760680,-1144630570,-1143990113,-1133116118,
280 | 4-1133118118,-1133118115,-1133109105,-1144980930,-1144870780,
281 | 5-1144700640,-1144580960,-1133104105,-1133107109,-1133112114,
282 | 6-1133112108,-1134104990,-1144940890,-1144790720,-1144650600,
283 | 7-1144900930,-1144930950,-1144970980,-1144000102,-1133104102,
284 | 8-1144980940,-1144900820,-1144730670,-1144610840,-1144820830,
285 | 9-1144850860,-1144880890,-1144920940,-1144960960,-1144950920,
286 | A-1144820750,-1144680630,-1144770730,-1144740750,-1144770780,
287 | B-1144790820,-1144850860,-1144880890,-1144900850,-1144770710,
288 | C -340650000/
289 | DATA Y2110A/ 111106130, 111148177, 111211274, 111364445,
290 | 1 112525828, 121994112, 111134162, 111223327, 111438563,
291 | 2 122706802, 121879100, 111115142, 111179209, 112237582,
292 | 3 122661713, 122817930, 111115144, 111168189, 122508572,
293 | 4 122628699, 122787958, 111118137, 112155445, 122498552,
294 | 5 122618695, 122824999, 111116130, 122410452, 122491540,
295 | 6 122602713, 122861997, 112112330, 122408429, 122485533,
296 | 7 122637755, 122868969, 122262342, 122399436, 122485565,
297 | 8 122669757, 122855209, 122272314, 122395436, 122503587,
298 | 9 122665731, 122140215, 122260338, 122398450, 122525588,
299 | A 123651831, 122136166, 122228288, 122392452, 122505560,
300 | B 133466831, 122108150, 122196291, 122388445, 123487464,
301 | C 133531715, 132877125, 122192271, 122344413/
302 | DATA Y2110B/ 122439402, 122374346, 122310295, 122278249,
303 | 1 122230218, 122199189, 122184161, 122152147, 122145136,
304 | 2 122138599, 122532489, 122425344, 122306285, 122249228,
305 | 3 122202190, 122172157, 122145138, 122127118, 122115113,
306 | 4 122728659, 122599519, 122384335, 122304247, 122219188,
307 | 5 122160136, 122121111, 133976951, 133974909, 132771910,
308 | 6 122804715, 122600426, 122351320, 122252199, 122158133,
309 | 7 122117107, 133821749, 133679679, 133680679, 122778767,
310 | 8 122751716, 122601478, 122380249, 122190135, 123111797,
311 | 9 133625482, 133409385, 133363363, 132318951, 122938919,
312 | A 122877741, 122596481, 122251164, 123116790, 133517433,
313 | B 133388364, 133340317, 133318295, 111346307, 111272224,
314 | C 112140889, 122612244, 123123675, 133449356, 133185206,
315 | D 133138114, 133136137, 330136000/
316 | DATA Y2110C/ 124358230, 340230000, 142230505, 122145106,
317 | 1 134413230, 122610248, 122209106, 142230677, 122324285,
318 | 2 124161230, 122728367, 122326220, 340230000/
319 | DATA Y2314A/-1133828841,-1133849855,-1133858858,-1133859862,
320 | 1-1133866866,-1133867869,-1133869870,-1133818817,-1133819824,
321 | 2-1133826824,-1133825826,-1133826826,-1133825817,-1133813805,
322 | 3-1133808808,-1133808808,-1133808806,-1133807806,-1133806805,
323 | 4-1133800793,-1133783772,-1133767788,-1133796799,-1133798796,
324 | 5-1133796796,-1133793791,-1133786776,-1133765753,-1133666739,
325 | 6-1133770784,-1133788790,-1133790788,-1133785785,-1133779767,
326 | 7-1133754742,-1133797793,-1133790788,-1133787787,-1133785784,
327 | 8-1133779776,-1133772761,-1133746733,-1133799796,-1133792789,
328 | 9-1133786785,-1133784780,-1133775774,-1133767754,-1133741723,
329 | A-1133826809,-1133798790,-1133784783,-1133780775,-1133769766,
330 | B-1133759745,-1133732714,-1133847821,-1133806794,-1133785783,
331 | C-1133779772,-1133762758,-1133751736,-1133721702,-1133824805,
332 | D-1133793783,-1133776774,-1133771765,-1133756753,-1133745730,
333 | E-1133713697/
334 | DATA Y2314B/-1122138141,-1122143144,-1122145145,-1122147147,
335 | 1-1122149149,-1122151153,-1122155157,-1122137136,-1122137138,
336 | 2-1122138139,-1122139139,-1122140140,-1122141141,-1122141142,
337 | 3-1122133134,-1122134135,-1122134135,-1122135135,-1122136136,
338 | 4-1122136136,-1122135135,-1122133133,-1122132132,-1122133133,
339 | 5-1122133133,-1122133132,-1122132132,-1122132130,-1122126130,
340 | 6-1122131132,-1122132132,-1122132131,-1122131131,-1122131130,
341 | 7-1122129127,-1122140135,-1122133131,-1122131131,-1122130130,
342 | 8-1122130130,-1122129128,-1122126126,-1122127129,-1122129130,
343 | 9-1122130130,-1122130129,-1122129128,-1122128127,-1122126124,
344 | A-1122121125,-1122126127,-1122128128,-1122128128,-1122128127,
345 | B-1122126125,-1122123122,-1122118122,-1122124125,-1122126126,
346 | C-1122126126,-1122126126,-1122124123,-1122121119,-1122124124,
347 | D-1122125125,-1122125125,-1122125125,-1122124124,-1122123122,
348 | E-1122119117/
349 | DATA Y2314C/-1122189195,-1122198201,-1122202204,-1122206206,
350 | 1-1122209213,-1122215220,-1122225177,-1122185187,-1122188188,
351 | 2-1122189190,-1122191192,-1122193195,-1122196199,-1122171178,
352 | 3-1122181182,-1122182182,-1122182183,-1122183184,-1122185186,
353 | 4-1122186178,-1122178178,-1122178178,-1122178178,-1122178178,
354 | 5-1122178178,-1122178178,-1122163169,-1122172174,-1122174174,
355 | 6-1122174174,-1122174174,-1122173173,-1122172185,-1122179176,
356 | 7-1122175174,-1122173173,-1122173173,-1122172172,-1122169168,
357 | 8-1122146158,-1122163167,-1122168169,-1122170170,-1122169169,
358 | 9-1122168167,-1122165144,-1122156161,-1122164166,-1122167168,
359 | A-1122168168,-1122167166,-1122164162,-1122139150,-1122155159,
360 | B-1122161162,-1122163164,-1122164163,-1122162159,-1122156201,
361 | C-1122188181,-1122177173,-1122171168,-1122166164,-1122160159,
362 | D-1122156154/
363 | DATA Y2314D/-1122228237,-1122242245,-1122247249,-1122252254,
364 | 1-1122256258,-1122262269,-1122276210,-1122221225,-1122226227,
365 | 2-1122229229,-1122230233,-1122233234,-1122238242,-1122211215,
366 | 3-1122216217,-1122217218,-1122219219,-1122220220,-1122220223,
367 | 4-1122223206,-1122208209,-1122210211,-1122211211,-1122211211,
368 | 5-1122212212,-1122212213,-1122208207,-1122207207,-1122207207,
369 | 6-1122207207,-1122207207,-1122207206,-1122205203,-1122203203,
370 | 7-1122202202,-1122204204,-1122203203,-1122203202,-1122201200,
371 | 8-1122202202,-1122202202,-1122202201,-1122201201,-1122201201,
372 | 9-1122200198,-1122196176,-1122186191,-1122194195,-1122196196,
373 | A-1122197197,-1122197196,-1122194191,-1122145167,-1122176182,
374 | B-1122185187,-1122189190,-1122191191,-1122190187,-1122183173,
375 | C-1122180183,-1122185186,-1122187187,-1122188188,-1122188187,
376 | D-1122183181/
377 | DATA Y2317A/-1133142138,-1133130121,-1134113991,-1144879753,
378 | 1-1144692655,-1144625609,-1144580559,-1144552943,-1144881812,
379 | 2-1144672580,-1144475431,-1144371338,-1144317297,-1144288278,
380 | 3-1144258256,-1144696641,-1144534411,-1144349288,-1144250211,
381 | 4-1144187178,-1144174167,-1144151150,-1144148354,-1144249182,
382 | 5-1144130104,-1155776710,-1155639593,-1155572459,-1155412365,
383 | 6-1155342342,-1144214123,-1155900662,-1155525365,-1155343320,
384 | 7-1155274274,-1155252229,-1155205205, -350205000/
385 | DATA Y2317B/-1133410391,-1133366353,-1133340326,-1133302281,
386 | 1-1133267262,-1133248240,-1133233267,-1133247215,-1133197181,
387 | 2-1133175156,-1133140134,-1133126120,-1133119115,-1133198175,
388 | 3-1133143123,-1133108103,-1144904847,-1144810751,-1144678663,
389 | 4-1143659102,-1144668473,-1144368329,-1144318281,-1144267231,
390 | 5-1144206202,-1144163159,-1144660362,-1144221184,-1144159147,
391 | 6-1144134131,-1144118116,-1144111107, -340102000/
392 | DATA Y2317C/-1133681675,-1133659642,-1133624608,-1133591577,
393 | 1-1133562537,-1133521509,-1133490480,-1133469455,-1133434413,
394 | 2-1133387371,-1133354341,-1133319301,-1133279265,-1133257244,
395 | 3-1133239229,-1133330321,-1133296275,-1133258239,-1133220200,
396 | 4-1133183166,-1133158151,-1133147138,-1133135159,-1133143111,
397 | 5-1144869740,-1144667597,-1144538511,-1144455406,-1144392388,
398 | 6-1144385371,-1134114888,-1144571374,-1144322307,-1144278278,
399 | 7-1144198187,-1144186172,-1144191188, -340207000/
400 | DATA Y2317D/-1133932927,-1133914898,-1133889860,-1133836807,
401 | 1-1133778754,-1133743717,-1133707690,-1133612602,-1133576568,
402 | 2-1133550529,-1133495457,-1133425406,-1133389379,-1133360357,
403 | 3-1133460449,-1133424413,-1133382348,-1133319283,-1133266247,
404 | 4-1133241227,-1133214211,-1133234209,-1133179162,-1133134121,
405 | 5-1134101918,-1144849702,-1144686654,-1144645636,-1133177118,
406 | 6-1144927838,-1144648592,-1144524394,-1144398339,-1144323314,
407 | 7-1144305295/
408 | DATA X13170/2.,12./,X23170/0.,7.,0.,7./,Y23170/0.,0./
409 | C
410 | MACH=FLC(IM+2)
411 | COTLE=1./TANLE
412 | IF(WGPL.AND.(.NOT.BO))GO TO 1000
413 | DB=(SSPN-SSPNE)/SSPN
414 | IF(DB.GT.0.3)RETURN
415 | 1000 ASTAN2=AW*TANCO2
416 | BAW=BETA*AW
417 | C ---SUPER WING,WING-BODY ROLLING DERIVATIVE,CLP---
418 | C
419 | C FIGURE 7.1.2.2-25 A-E
420 | CALL INTEP3(ASTAN2,BAW,LAMDA,X1225A,X2225A,Y2225A,7,17,Q2225A,
421 | C
422 | 1X1225B,X2225B,Y2225B,7,13,Q2225B,
423 | 2 X1225C,X2225C,Y2225C,7,13,Q2225C,
424 | 3 X1225D,X2225D,Y2225D,7,14,Q2225D,
425 | 4 X1225E,X2225E,Y2225E,7,17,Q2225E,CLPA)
426 | SAVE=4.*SW*SSPN**2/(RAD*SR*BLREF**2)
427 | CLPWBH=CLPA*CNACNA*SAVE*AW
428 | C
429 | C ---SUPER WING,WING-BODY YAWING DERIVATIVE,CYP---
430 | C -- FIGURE 7.1.2.1-10 --
431 | C
432 | CALL TLIP2X(X1110A,X2110A,Y2110A,14, 9,LAMLE,MACH,TRENS,2,1,2,1,
433 | 1 Q2110A,3,ROUTID)
434 | CALL TLIP2X(X1110B,X2110B,Y2110B,7,19,BAW,TRENS,CHENGE,2,1,2,1,
435 | 1 Q2110B,3,ROUTID)
436 | CHENGE=-CHENGE
437 | CALL TLIP2X(X1110C,X2110C,Y2110C,5,5,LAMDA,CHENGE,CYPA,1,1,2,1,
438 | 1 Q2110C,3,ROUTID)
439 | TEMP=CYPA*SW*SSPN/(SR*BLREF*1641.645)
440 | DO 1010 I=1,NALPHA
441 | CYPWSP(I)=TEMP*ALSCHD(I)
442 | 1010 CONTINUE
443 | C
444 | C ----SUPER WING,WING-BODY ROLLING DERIVATIVE,CNP---
445 | C
446 | BCOTLE=BETA*COTLE
447 | IF(BCOTLE.GE.1.)GO TO 1030
448 | C
449 | C FIGURE 7.1.2.3-14 A-D
450 | C
451 | CALL INTEP3( BAW, BCOTLE, LAMDA, 0, 0, 0, 1, 1, 0
452 | 1 ,X1314A,X2314A,Y2314A,10,14,Q2314A
453 | 2 ,X1314B,X2314B,Y2314B,10,14,Q2314B
454 | 3 ,X1314C,X2314C,Y2314C,10,13,Q2314C
455 | 4 ,X1314D,X2314D,Y2314D,10,13,Q2314D,CNPTAS)
456 | CNPA1 =CNPTAS*TANLE
457 | C
458 | C -- FIGURE 7.1.2.3-16 --
459 | C
460 | CALL INTERX(1,X12316,BCOTLE,I22316,Y12316,CNPAAS,9,9,1,0,0,0,1,
461 | 1 0,0,0,Q12316,3,ROUTID)
462 | CNPA2=CNPAAS*AW
463 | CNPA3=CNPAAS*AW*TANLE**2
464 | CNPA=CNPA1+CNPA2+CNPA3
465 | CNAPE=SAVE*(CNPA+CYPA*(XCG-XW)/CR*AW*(1.+LAMDA))
466 | DO 1020 I=1,NALPHA
467 | 1020 CNPWBH(I)=(CNPAE-CLPWBH)*ALSCHD(I)/RAD
468 | GO TO 1050
469 | 1030 CONTINUE
470 | C
471 | C FIGURE 7.1.2.3-17 A-D
472 | C
473 | CALL INTEP3( BAW, BCOTLE, LAMDA, 0, 0, 0, 1, 1, 0,
474 | 1 X1317A,X2317A,Y2317A,5,15,Q2317A,
475 | 2 X1317B,X2317B,Y2317B,5,13,Q2317B,
476 | 3 X1317C,X2317C,Y2317C,5,15,Q2317C,
477 | 4 X1317D,X2317D,Y2317D,5,14,Q2317D,CNPBA)
478 | AAAAA=BETA*CNPBA
479 | BBBBB=2.*XCG/(BLREF*AW*(1.+LAMDA))-.5*TANLE
480 | CCCCC=(AAAAA+BBBBB*CYPA*BLREF/(2.*SSPN))*SAVE
481 | DO 1040 I=1,NALPHA
482 | CNPWBH(I)=(CCCCC-CLPWBH)*ALSCHD(I)/RAD
483 | 1040 CONTINUE
484 | 1050 CONTINUE
485 | RETURN
486 | END
487 |
--------------------------------------------------------------------------------
/test/output/README.md:
--------------------------------------------------------------------------------
1 | This is an empty directory to hold test results. All other files in this directory are ignored.
2 |
--------------------------------------------------------------------------------
/test/test.py:
--------------------------------------------------------------------------------
1 | '''
2 | Created on Jul 15, 2012
3 |
4 | @author: jgoppert
5 | '''
6 | import unittest
7 | import sys
8 | import os
9 | from fortran_tools import Fixed2Free
10 | import tempfile
11 | print tempfile.gettempdir()
12 |
13 | class Test(unittest.TestCase):
14 |
15 | def setUp(self):
16 | self.path = os.path.abspath(os.path.dirname(__file__))
17 | print self.path
18 |
19 | def test_outpt2(self):
20 |
21 | filenames=['airfol','atmos','auxout','fltcl','outpt2','subryw','supryw']
22 |
23 | print "current directory: ", os.path.abspath(os.path.curdir)
24 |
25 | for filename in filenames:
26 |
27 | input_path=os.path.join(self.path, 'input', filename+'.f')
28 | output_path=os.path.join(self.path, 'output', filename+'.f90')
29 |
30 |
31 | print "checking file:", input_path
32 |
33 | Fixed2Free.from_argv(['', input_path, output_path, '--style'])
34 |
35 | expected_path=os.path.join(self.path, 'expected', filename+'.f90')
36 |
37 | with open(output_path, 'rb') as output_file:
38 | output = output_file.readlines()
39 | with open(expected_path, 'rb') as expected_file:
40 | expected = expected_file.readlines()
41 |
42 | for i in xrange(len(expected)):
43 | if output[i] != expected[i]:
44 | raise Exception(output_path+": line " +str(i)+" does not match " + expected_path)
45 |
46 | if __name__ == "__main__":
47 | #if len(sys.argv) == 1:
48 | sys.argv = ['', 'Test.testfixed2free']
49 | unittest.main()
--------------------------------------------------------------------------------