1      SUBROUTINE TRIMRT
2C
3C***  CALCULATES SUBSONIC TRIM WITH WING OR HORIZONTAL TAIL CONTROL
4C
5      COMMON /OVERLY/ NLOG,NMACH,IZ,NALPHA
6      COMMON /FLAPIN/ F(69)
7      COMMON /IHT/    PHT, HT(380)
8      COMMON /IVT/    PVT, VT(380)
9      COMMON /IDWASH/ PDWASH, DWASH(60)
10      COMMON /IWING/  PWING, WING(400)
11      COMMON /IBODY/  PBODY, BODY(400)
12      COMMON /WINGD/  A(195),B(49)
13      COMMON /HTDATA/ AHT(195),BHT(49)
14      COMMON /POWR/   PW(293),TRM(22)
15      COMMON /IBW/    PBW, BW(380)
16      COMMON /IBWH/   PBWH, BWH(380)
17      COMMON /IBWHV/  PBWHV, BWHV(380)
18      COMMON /FLGTCD/ FLC(93)
19      COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
20     1                HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
21     2                TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
22     3                HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
23     4                VFPL,VFSC,CTAB
24C
25      LOGICAL  FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
26     1         HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
27     2         TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
28     3         HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
29     4         VFPL,VFSC,CTAB
30      REAL NTRIM
31      DIMENSION UTCL(20),UTCM(20),UTCD(20),ALPHA(20),DCM(10),DCL(10),
32     1          DCLMAX(10),DCDMIN(10),CHD(10),CDI(200)
33      DIMENSION DELTA(10)
34      DIMENSION DCM2(10),DELT(10),ROUTID(2)
35      DIMENSION C1(6),C2(6),C3(6),C4(6),C5(6)
36      DIMENSION DELTAT(20),DCLT(20),CLMAXT(20),CDMINT(20),CHDT(20),
37     1          CDIT(20)
38      EQUIVALENCE (UTCL(1),HT(201)),(UTCM(1),HT(241)),(UTCD(1),HT(221))
39     1         ,(ALPHA(1),TRM(1)),(DELTAT(1),VT(201)),(DCLT(1),VT(221))
40     2       ,(CLMAXT(1),VT(241)),(CDMINT(1),VT(281)),(CHDT(1),VT(321))
41     3       ,(CDIT(1),VT(261)),(NTRIM,TRM(21))
42      EQUIVALENCE (TSTOP,TRM(22))
43      EQUIVALENCE (DELTA(1),F(1))
44      EQUIVALENCE (DCM(1),WING(211)),(DCL(1),WING(201))
45     1,(DCDMIN(1),WING(231)),(CHD(1),WING(261)),(CDI(1),BODY(201))
46     2,(DCLMAX(1),WING(221))
47      DATA ROUTID/4HTRIM,4HRT  /
48C
49      IN=0
50      I1=0
51      I2=0
52      I3=0
53      I4=0
54C
55C    -----TRIM HERE WITH CONTROL DEVICE ON WING OR TAIL
56C
57      NDELTA=F(16)+.5
58      NDELTA = NDELTA - 1
59      IF(WGPL.AND.HTPL)GO TO 1030
60      IF(BO)GO TO 1010
61C
62C    -----HERE FOR WING ALONE TRIM
63C
64      DO 1000 J=1,NALPHA
65         UTCL(J)=WING(J+20)
66         UTCM(J)=WING(J+40)
67 1000 UTCD(J)=WING(J)
68      ACLMAX=B(43)
69      GO TO 1050
70C
71C    -----HERE FOR WING-BODY TRIM
72C
73 1010 DO 1020 J=1,NALPHA
74         UTCL(J)=BW(J+20)
75         UTCM(J)=BW(J+40)
76 1020 UTCD(J)=BW(J)
77      ACLMAX=B(43)
78      GO TO 1050
79C
80C    -----HERE FOR WING-BODY-TAIL TRIM
81C
82 1030 DO 1040 J=1,NALPHA
83         UTCL(J)=BWH(J+20)
84         UTCM(J)=BWH(J+40)
85         UTCD(J)=BWH(J)
86         IF(VTPL .OR. VFPL) UTCD(J)=BWHV(J)
87 1040 CONTINUE
88      ACLMAX=BHT(43)
89 1050 CONTINUE
90      NTRIM=NALPHA
91      IF(DCM(1).GT.DCM(NDELTA))GO TO 1070
92      DO 1060 J=1,NDELTA
93         DELT(J)=DELTA(J)
94 1060 DCM2(J)=DCM(J)
95      GO TO 1090
96 1070 DO 1080 J=1,NDELTA
97         N=NDELTA-J+1
98         DELT(N)=DELTA(J)
99 1080 DCM2(N)=DCM(J)
100 1090 DO 1100 J=1,NALPHA
101         ALPHA(J)=FLC(J+22)-DWASH(J+20)
102 1100 CONTINUE
103      DO 1130 J=1,NALPHA
104         IF(ALPHA(J).GT.ACLMAX)GO TO 1110
105         ARG=-UTCM(J)
106         IF(ARG.LT.DCM2(1).OR.ARG.GT.DCM2(NDELTA))GO TO 1120
107         CALL TBFUNX(ARG,DELTAT(J),DYDX,NDELTA,DCM2,DELT,C1,IN,MI,NG
108     1               ,0,0,4HDELT,1,ROUTID)
109         CALL TBFUNX(DELTAT(J),DCLT(J),DYDX,NDELTA,DELTA,DCL,C2,I2,
110     1               MI,NG,0,0,4HDCLT,1,ROUTID)
111         IF(F(17).LE.5.)CALL TBFUNX(DELTAT(J),CLMAXT(J),DYDX,NDELTA,
112     1                  DELTA,DCLMAX,C3,I3,MI,NG,0,0,4HCLMT,1,ROUTID)
113         IF(F(17).LE.2.)CALL TBFUNX(DELTAT(J),CDMINT(J),DYDX,NDELTA,
114     1                DELTA,DCDMIN,C4,I4,MI,NG,0,0,4HCDMT,1,ROUTID)
115         IF(F(17).EQ.1.)CALL TBFUNX(DELTAT(J),CHDT(J),DYDX,NDELTA,DELTA,
116     1                  CHD,C5,I5,MI,NG,0,0,4HCHDT,1,ROUTID)
117         IF(F(17).LE.6.)CALL TLINEX(DELTA,ALPHA,CDI,NDELTA,NALPHA
118     1              ,DELTAT(J),ALPHA(J),CDIT(J),0,0,0,0,4HCDIT,1,ROUTID)
119         GO TO 1130
120 1110    NTRIM=J-1
121         TSTOP=2.
122         GO TO 1140
123 1120    NTRIM=J-1
124         TSTOP=1.
125         GO TO 1140
126 1130 CONTINUE
127 1140 CONTINUE
128      RETURN
129      END
130