tilting

Upload: dptirkey

Post on 14-Jan-2016

221 views

Category:

Documents


0 download

DESCRIPTION

Tilting

TRANSCRIPT

CC TILTING PROPROTOR AIRCRAFT DYNAMICSC WAYNE JOHNSON NASA-ARC/USAAMRDLC FEBRUARY 1976C COMMON /TRCOEF/A2(1936),A1(1936),A0(1936),B0(748),MX,MX1,MV,MVG,DO- 1F1(44) INTEGER DOF1 COMMON /RCOEF/A2R(30,30),A1R(30,30),A0R(30,30),AA2R(30,6),AA1R(30,- 16),AA0R(30,6),BR(30,8),BGR(30,3),C2R(6,30),C1R(6,30),C0R(6,30),CA2- 2R(6,6),CA1R(6,6),CA0R(6,6),DGR(6,3) COMMON /ACOEF/CAW(6,11),CBW(3,3),A2W(11,13),A1W(11,13),A0W(11,13),- 1BW(11,2),BGW(11,3),AAW(11,6) COMMON /AINPUT/TITLE(18),VTIP,RPM,VEL,VKTS,ATILT,OPUNIT,ALTMSL,TEM- 1P,ALTAGL,ACLIMB,APITCH,COLL,LNGCYC,WEIGHT,AFLAP,ITER,EPTRIM,FACTOR- 2,PTRIM,DOF(44),CON(14),GUST(3),OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,- 3OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,MPER,- 4JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP(44),CONP(17),- 5THETFP,THETAF,CNTRL0, CNTRLS,VELX,VELZ,GRAV,DENSE,CSOUND,FREQ(100) COMMON /BINPUT/ASHAFT,ACANT,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRT- 1R,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KENG,IENG,EDAMPC,T- 2HRTLC,NRPOWR,KRLGE,KPMC(8),KPMS(8),HMAST,FSPIV,WLPIV,BLPIV,FSCG,WL- 3CG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYLO- 4N,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 5CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- 6AL,CNTRLZ(6),COLLZ0,COLLZ2,K0TRIM,QMASSS(8),QFREQS(8),QDAMPS(8),ZE- 7TARS(3,8),GAMARS(3,8),QMASSA(8),QFREQA(8),QDAMPA(8),ZETARA(3,8),GA- 8MARA(3,8),AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR,ZRTR,XWB,ZWB,XHT,ZHT- 9,XVT,ZVT,TMEAN,TCFES(6,3),TCFEA(6,2),RSF(3,3),RFV(3,3),RSV(3,3),ZA- AGL,CSEGE,LAMDA0,TAUW,TAUH,TAUV,CWRTR,CHRTR,CVRTR,NEM,EDAMP,QTHRTL INTEGER OPUNIT,DOF,CON,GUST,OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,OPI- 1NTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,RESPON,D- 2OFP,CONP REAL LNGCYC,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRTR,KPRGOV,KIRGOV,- 1KPEGOV,KIEGOV,KMAST,KICS,KENG,IENG,NRPOWR,KRLGE,KPMC,KPMS,IXX,IYY,- 2IZZ, IXZ,MPYLON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,K- 3S1CFE,KTCFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,KACFE,KRCFE,KP- 4EDAL,LAMDA0 COMMON /RINPUT/HHR(667) EQUIVALENCE (RADIUS,HHR(14)),(VTIPN,HHR(79)),(IB,HHR(32)),(NBLADE,- 1HHR(2)),(NBM,HHR(9)),(NTM,HHR(10)),(OMEGA,HHR(13)),(GIMBAL,HHR(11)- 3),(KPB(1),HHR(50)),(KPG,HHR(35)),(TRC,HHR(21)),(TRS,HHR(22)),(MU,H- 4HR(6)),(MUY,HHR(88)),(MUZ,HHR(89)),(LAMDA,HHR(7)),(KHLMDA,HHR(655)- 5),(KFLMDA,HHR(656)),(GAMMA,HHR(12)),(SIGMA,HHR(15)),(OPAERR,HHR(16- 6)),(OPMODE,HHR(26)),(ROTATE,HHR(663)) INTEGER GIMBAL,OPAERR,OPMODE,ROTATE REAL MU,MUY,MUZ,LAMDA,KHLMDA,KFLMDA,KPB(5),KPG,IB REAL B(616),BG(132),PHI(1800) EQUIVALENCE (B0(1),B(1)),(B0(617),BG(1)) INTEGER DOF0(44) REAL CKNOT(2),C2H(11,6),C1H(11,6),C0H(11,6),BGH(30,3),DGH(6,3) EQUIVALENCE (B0(1),BGH(1,1)),(B0(91),DGH(1,1)) DATA CKNOT/.5924838,1.943845/ DATA CVERT/57.29578/

NAMELIST /NLCYC/NCYCLE NAMELIST /NLTR/VTIP,RPM,VEL,VKTS,VELX,VELZ,WEIGHT,ATILT,ASHAFT,ACA- 1NT,ALTMSL,TEMP,ALTAGL,DENSE,CSOUND,ALTD,GRAV,ACLIMB,APITCH,THETFP,- 2THETAF,COLL,LNGCYC,AFLAP,DOF,CON,GUST,OPUNIT,OPSYMM,OPFLOW,OPTORS,- 3OPMOTR,OPLMDA,OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEB- 4UG,TONLY,MPER,JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP- 5,CONP,ITER,EPTRIM,FACTOR,PTRIM,FREQ,HMAST,FSPIV,WLPIV,BLPIV,FSCG,W- 6LCG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYL- 7ON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR- 8,ZRTR,XWB,ZWB,XHT,ZHT,XVT,ZVT,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 9CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- AAL,CNTRLZ,COLLZ0,COLLZ2,K0TRIM,CNTRL0,CNTRLS,TMEAN,TCFES,TCFEA,RSF- B,RFV,RSV,NEM,QMASSS,QFREQS,QDAMPS,ZETARS,GAMARS,QMASSA,QFREQA,QDAM- CPA,ZETARA,GAMARA,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KEN- DG,IENG,EDAMPC,THRTLC,NRPOWR,KRLGE,KPMC,KPMS,EDAMP,QTHRTL,ZAGL,CSEG- EE,LAMDA0,DLDZ,CNSTL,KRRH,KRRF,KRRL,KLTRIM,KWRTR,KHRTR,KVRTR,TAUW,T- FAUH,TAUV,CWRTR,CHRTR,CVRTR NAMELIST /NLEQ/A2,A1,A0,B0,MX,MX1,MV,MVG,MX0,DOF0,DOF1 NAMELIST /NLR/A2R,A1R,A0R,AA2R,AA1R,AA0R,BR,BGR,C2R,C1R,C0R,CA2R,- 1CA1R,CA0R,DGR NAMELIST /NLS/CAW,CBW,A2W,A1W,A0W,BW,BGW,AAW 999 FORMAT (1H1/1X,'TILTING PROPROTOR AIRCRAFT DYNAMICS',10X,18A4//) 998 FORMAT (1X,'OPERATING STATE',69X,'ROTOR PARAMETERS'/ - 16X,'VELOCITY (KNOTS) =',F8.2,15X,'TILT ANGLE (DEG) =',F7.2,18X,'RA- 2DIUS (FT OR M) =',F7.2/6X,'V/(OMEGA*R) =',F8.4,58X,'OMEGA (RA- 3D/SEC) =',F7.2/6X,'TIP SPEED (FPS OR MPS) =',F7.2,10X,'ALTITUDE M- 4SL (FT OR M) =',F7.0,12X,'IB (SLUG-FT2 OR KG-M2) =',F7.0) 997 FORMAT (6X,'ROTATIONAL SPEED (RPM) =',F7.2,10X,'TEMPERATURE (F OR - 1C) =',F7.2,11X,'NUMBER OF BLADES =',I5) 996 FORMAT (6X,'ROTATIONAL SPEED (RPM) =',F7.2,10X,'STANDARD DAY',31X,- 1'NUMBER OF BLADES =',I5) 995 FORMAT (6X,'THETA-FP (DEG) =',F7.2,18X,'PRESSURE ALT (FT OR M) =' - 1,F7.0,12X,'LOCK NUMBER =',F7.3/6X,'CLIMB SPEED (FPS OR MPS) =- 2',F7.2, 8X,'AIR DENSITY RATIO =',F7.4,17X,'ROTOR SOLIDITY =',F7.- 34) 994 FORMAT (6X,'ALTITUDE AGL (FT OR M) =',F8.2, 9X,'SOUND SPEED (FPS O- 1R MPS) =',F8.2, 9X,'COUNTER-CLOCKWISE ROTATION'/6X,'CG STATION (FT- 2 OR M) =',F9.3/6X,'GROSS WEIGHT (LB OR KG) =',F8.0) 993 FORMAT (6X,'ALTITUDE AGL (FT OR M) =',F8.2, 9X,'SOUND SPEED (FPS O- 1R MPS) =',F8.2, 9X,'CLOCKWISE ROTATION'/6X,'CG STATION (FT OR M) =- 2',F9.3/6X,'GROSS WEIGHT (LB OR KG) =',F8.0) 992 FORMAT ( /1X,'OPTIONS'/ - 110X,'OPSYMM =',I2,7X,'IF 1, SYMMETRIC/ IF -1, ANTISYMMETRIC'/ - 210X,'OPFLOW =',I2,7X,'IF 0, AXIAL FLOW/ LT 0, CONSTANT COEFF/ GT 0- 3, PERIODIC COEFF'/10X,'OPTRIM =',I2,7X,'IF 0, NO TRIM/ LT 0, NO IT- 4ERATIONS/ IF 1, TRIM T,H,MY/ IF 2, TRIM T,H,MY,P'/ - 510X,'OPMOTR =',I2,7X,'IF 0, AUTOROTATION/ IF 1, CONSTANT SPEED/ IF- 6 2, MOTOR/ IF 3, POWER OUT'/10X,'OPGOVR =',I2,7X,'IF 0, NO GOVERNO- 8R/ IF 1, GOVERNOR/ IF 2, INPUT GAINS'/10X,'OPGRND =',I2,7X,'IF 0, - 9OUT OF GROUND EFFECT'/ - A10X,'OPAERO =',I2,7X,'IF 0, NO PERTURBATION AIRCRAFT AERO FORCES'/- B10X,'OPMODE =',I2,7X,'IF 0, RIGID BLADE MODES/ IF 2, READ MODES/ I- CF 3, PUNCH MODES/ IF 4, ARTICULATED MODES'/10X,'OPAERO =',I2,7X,'I- DF 0, ONLY CLA TERMS IN ROTOR AERO/ LT 0, NO STALL'/ - E10X,'OPTORS =',I2,7X,'IF 0, DOF/ IF 1, RIGID/ IF 2, QUASISTATIC'/ - F10X,'OPLMDA =',I2,7X,'IF 0, QUASISTATIC INFLOW DYNAMICS'/ - G10X,'OPINTR =',I2,7X,'IF 0, QUASISTATIC AERO INTERFERENCE'/ - H10X,'OPQRTR =',I2,7X,'IF 1, QUASISTATIC ROTOR/ IF 2, ALL QUASISTAT- IIC EXCEPT RIGID BODY') 991 FORMAT ( /1X,'ORDER OF VARIABLES'/10X,'DOF = B0,B1C,B1S,BN/2 T0- 1,T1C,T1S,TN/2 BGC,BGS,PSI L0,LC,LS PSIE TF,XF,ZF ELASTIC- 2 LW,LH'/10X,'CON = T0,T1C,T1S,TN/2 TT DF,DE D0,D1S,DT'/10X- 3,'GUST = UG,VG,WG') 990 FORMAT ( /1X,'ORDER OF VARIABLES'/10X,'DOF = B0,B1C,B1S,BN/2 T0- 1,T1C,T1S,TN/2 BGC,BGS,PSI L0,LC,LS PSIE PHIF,PSIF,YF ELA- 2STIC LW,LV'/10X,'CON = T0,T1C,T1S,TN/2 TT DA,DR D1C,DP'/10- 3X,'GUST = UG,VG,WG') 989 FORMAT ( /10X,'DOF =',1X,15I1,3X,9I1,3X,3I1,3X,3I1,3X,I1,3X,3I1,3X- 1,8I1,3X,2I1/10X,'CON =',1X,8I1,3X,I1,3X,2I1,3X,3I1/10X,'GUST =',1X- 2,3I1) 988 FORMAT (//1X,'COMPUTATION PARAMETERS',15X,'CSYSAN - STEPS =',I4,5X- 1,'ROOT LOCUS =',I3,7X,'FREQ RESPONSE =',I3/38X,'PSYSAN - STEPS =',- 2I4,5X,'PLOT MAX =',F7.2,5X,'NUMBER OF FREQ =',I4/38X,'DOF PLOT = '- 3,44I1) 987 FORMAT (38X,'CON AND GUST PLOT = ',17I1) 986 FORMAT (1X,'ENGLISH UNITS (FT, SLUG, SEC)') 985 FORMAT (1X,'METRIC UNITS (M, KG, SEC)') READ (5,NLCYC) DO 1 JCYCLE=1,NCYCLE VEL=0. VKTS=0. VTIP=0. RPM=0. READ (5,NLTR) IF ((OPUNIT.NE.1).AND.(OPUNIT.NE.2)) OPUNIT=1 IF ((RPM .NE. 0.) .AND. (VTIP .EQ. 0.)) VTIP=RADIUS*RPM*.1047198 IF (VTIP .EQ. 0.) VTIP=VTIPN IF (RPM .EQ. 0.) RPM=VTIP/RADIUS/.1047198 IF (VEL .EQ. 0.) VEL=VKTS/VTIP/CKNOT(OPUNIT) IF (VKTS .EQ. 0.) VKTS=VEL*VTIP*CKNOT(OPUNIT) CALL AIR(ALTMSL,TEMP,DENSE,CSOUND,GRAV,ALTD,OPUNIT) CALL TRII(T75,T1C,T1S,1) CALL RTRII(OPREAD,DEBUG,VTIP,T75,T1C,T1S,DENSE,CSOUND,OPUNIT) IF ((OPMOTR .NE. 0) .AND. (OPMOTR .NE. 3)) GO TO 120 PTRIM=0. IF (OPTRIM .GT. 0) OPTRIM=2 120 IF ((OPSYMM .LT. 0) .OR. (OPMOTR .EQ. 1)) OPGOVR=0 DO 20 K=1,44 IF (DOF(K) .NE. 0) DOF(K)=1 IF (NBLADE .NE. 2) GO TO 123 IF ((K .GE. 11) .AND. (K .LE. 15)) DOF(K)=0 IF ((K .GE. 22) .AND. (K .LE. 24)) DOF(K)=0 123 IF (K .GT. 14) GO TO 20 IF (CON(K) .NE. 0) CON(K)=1 IF ((K .GT. NBLADE) .AND. (K .LE. 8)) CON(K)=0 IF (K .GT. 3) GO TO 20 IF (GUST(K) .NE. 0) GUST(K)=1 20 CONTINUE IF (NBLADE .EQ. 2) DOF(26)=0 IF (GIMBAL .EQ. 0) DOF(25)=0 IF (GIMBAL .EQ. 0) DOF(26)=0 IF (OPMOTR .EQ. 1) DOF(27)=0 IF (OPMOTR .LE. 1) DOF(31)=0 IF (OPSYMM .LT. 0) CON(14)=0 IF (OPSYMM .GT. 0) GUST(2)=0 IF (OPGRND .NE. 0) DOF(28)=1 IF (OPTORS .EQ. 0) GO TO 124 DO 125 K=16,24 IF (OPTORS .EQ. 1) DOF(K)=0 IF ((OPTORS .EQ. 2) .AND. (K .LE. 15+NBLADE)) DOF(K)=1 125 CONTINUE 124 NBM=0 DO 22 K=1,5 DO 22 KB=1,NBLADE J=(K-1)*NBLADE+KB IF (J .GT. 15) GO TO 22 IF (DOF(J) .NE. 0) NBM=K 22 CONTINUE NBM=MAX0(1,NBM) NTM=0 DO 23 K=1,3 DO 23 KB=1,NBLADE J=(K-1)*NBLADE+KB IF (J .GT. 9) GO TO 23 IF (DOF(J+15) .NE. 0) NTM=K 23 CONTINUE NTM=MAX0(1,NTM) NEM=0 DO 24 K=1,8 IF (DOF(K+34) .NE. 0) NEM=K 24 CONTINUE NEM=MAX0(1,NEM) MXP=0 MVP=0 DO 221 I=1,44 IF ((I.GE.16).AND.(I.LE.24).AND.(OPTORS.EQ.2)) GO TO 221 IF ((I.GE.28).AND.(I.LE.30).AND.(OPLMDA.EQ.0)) GO TO 221 IF ((I.GE.43).AND.(I.LE.44).AND.(OPINTR.EQ.0)) GO TO 221 IF ((I.LE.31).AND.(OPQRTR.NE.0)) GO TO 221 IF ((I.GE.35).AND.(OPQRTR.EQ.2)) GO TO 221 MXP=MXP+DOF(I) 221 CONTINUE DO 222 I=1,14 MVP=MVP+CON(I) IF (I .LE. 3) MVP=MVP+GUST(I) 222 CONTINUE VCLIMB=VEL*VTIP*SIN(ACLIMB/CVERT) PRINT 999, (TITLE(I), I=1,18) PRINT 998, VKTS,ATILT,RADIUS,VEL,OMEGA,VTIP,ALTMSL,IB IF (TEMP .LE. 999.) PRINT 997, RPM,TEMP,NBLADE IF (TEMP .GE. 1000.) PRINT 996, RPM,NBLADE PRINT 995, ACLIMB,ALTD,GAMMA,VCLIMB,DENSE,SIGMA IF (ROTATE .EQ. 1) PRINT 994, ALTAGL,CSOUND,FSCG,WEIGHT IF (ROTATE .EQ.-1) PRINT 993, ALTAGL,CSOUND,FSCG,WEIGHT PRINT 992, OPSYMM,OPFLOW,OPTRIM,OPMOTR,OPGOVR,OPGRND,OPAERO,OPMODE- 1,OPAERR,OPTORS,OPLMDA,OPINTR,OPQRTR IF (OPSYMM .GT. 0) PRINT 991 IF (OPSYMM .LT. 0) PRINT 990 PRINT 989, (DOF(I), I=1,44),(CON(I), I=1,14),(GUST(I), I=1,3) PRINT 988, JCNST,LOCUS,RESPON,MPER,PLOTMX,NF,(DOFP(I), I=1,MXP) PRINT 987, (CONP(I), I=1,MVP) IF (OPUNIT .EQ. 1) PRINT 986 IF (OPUNIT .EQ. 2) PRINT 985 CALL TRII(T75,T1C,T1S,2) CALL MODE CALL TRTRIM IF (TONLY .NE. 0) GO TO 101 IF (DEBUG .GE. 2) WRITE (6,NLTR) GO TO 1 101 CONTINUE PERIOD=6.283185/FLOAT(NBLADE) IF (NBLADE/2*2 .EQ. NBLADE) PERIOD=2.*PERIOD DT=PERIOD/FLOAT(MPER) MT=0 IF (OPFLOW .GT. 0) MT=MPER MT1=MT+1 NBLD=NBLADE IF (OPFLOW .LT. 0) NBLD=JCNST DO 2 JT=1,MT1 NT=JT-1 PSI=FLOAT(NT)*DT IF ((NBLADE.GE.3).AND.(OPFLOW.EQ.0)) CALL ROTOR0 IF ((NBLADE.GE.3).AND.(OPFLOW.NE.0)) CALL ROTOR(OPFLOW,PSI,NBLD) IF (NBLADE .EQ. 2) CALL ROTOR2(OPFLOW,PSI,NBLD) CALL TRBODY DO 131 I=1,3 DO 132 K=1,30 BGH(K,I)=0. DO 132 J=1,3 132 BGH(K,I)=BGH(K,I)+BGR(K,J)*RSV(J,I) DO 133 K=1,6 DGH(K,I)=0. DO 133 J=1,3 133 DGH(K,I)=DGH(K,I)+DGR(K,J)*RSV(J,I) 131 CONTINUE DO 134 I=1,3 DO 135 K=1,30 135 BGR(K,I)=BGH(K,I) DO 134 K=1,6 134 DGR(K,I)=DGH(K,I) DO 136 I=1,3 DO 136 K=1,11 BGH(K,I)=0. DO 136 J=1,3 136 BGH(K,I)=BGH(K,I)+BGW(K,J)*RFV(J,I) DO 137 I=1,3 DO 137 K=1,11 137 BGW(K,I)=BGH(K,I) CNST1=1.+KRRL IF (OPSYMM .LT. 0) CNST1=1.-KRRL DO 231 I=1,30 A1R(28,I)=CNST1*A1R(28,I) 231 A0R(28,I)=CNST1*A0R(28,I) DO 232 I=1,6 AA1R(28,I)=CNST1*AA1R(28,I) AA0R(28,I)=CNST1*AA0R(28,I) IF (I .GT. 3) GO TO 232 BGR(28,I)=CNST1*BGR(28,I) 232 CONTINUE DO 31 I=1,1936 A2(I)=0. A1(I)=0. 31 A0(I)=0. DO 32 I=1,748 32 B0(I)=0. DO 33 I=1,30 DO 33 K=1,30 JA=(I-1)*44+K A2(JA)=A2R(K,I) A1(JA)=A1R(K,I) 33 A0(JA)=A0R(K,I) DO 34 I=1,8 DO 34 K=1,30 JB=(I-1)*44+K 34 B(JB)=BR(K,I) DO 35 I=1,3 DO 35 K=1,30 JB=(I-1)*44+K 35 BG(JB)=BGR(K,I) CNSTL=GAMMA/(SIGMA*5.7)*DENSE A2(1216)=A2(1216)+.85*CNSTL A2(1261)=A2(1261)+.22*CNSTL A2(1306)=A2(1306)+.22*CNSTL CNST1=SQRT((MU**2+MUY**2)/KFLMDA**2+LAMDA0**2/KHLMDA**4) A1(1261)=A1(1261)+CNST1*CNSTL A1(1306)=A1(1306)+CNST1*CNSTL CNSTL=CNSTL*2.*(CNST1+(LAMDA0-MUZ)*LAMDA0/KHLMDA**4/CNST1) A1(1216)=A1(1216)+CNSTL IF (OPMOTR .LE. 1) GO TO 234 CIENG=IENG*RTRANS**2/(FLOAT(NBLADE)*IB) CNST1=FLOAT(NBLADE)*IB*OMEGA**2 CICS=0. IF (OPSYMM .LT. 0) CICS=KICS CKMR=KMAST/(KMAST+CICS) CKMI=CKMR*CICS/CNST1 CNST1=KENG/(KMAST+KENG+CICS)/CNST1 CKEM=CNST1*(KMAST+CISC) CKEI=CNST1*CICS A2(1171)=A2(1171)+CKMR*CIENG A2(1347)=A2(1347)+CKMR*CIENG A1(1171)=A1(1171)+CKMR*EDAMP A1(1347)=A1(1347)+CKMR*EDAMP A0(1171)=A0(1171)+CKMI B(379)=B(379)+CKMR*QTHRTL A2(1175)=A2(1175)+CIENG A2(1351)=A2(1351)+CIENG A1(1175)=A1(1175)+EDAMP A1(1351)=A1(1351)+EDAMP A0(1175)=A0(1175)+CKEI A0(1351)=A0(1351)+CKEM B(383)=B(383)+QTHRTL 234 CNSTG=KENG/(KMAST+KENG) IEULER=1 IF (OPSYMM .LT. 0) IEULER=2 DO 41 I=1,11 DO 41 K=1,30 JA=(I+30)*44+K DO 41 J=1,6 A2(JA)=A2(JA)+AA2R(K,J)*CAW(J,I) A1(JA)=A1(JA)+AA1R(K,J)*CAW(J,I) IF (I .LE. IEULER) GO TO 41 A0(JA)=A0(JA)+AA0R(K,J)*CAW(J,I) 41 CONTINUE DO 42 I=1,30 DO 42 K=1,11 JA=(I-1)*44+K+31 DO 42 J=1,6 A2(JA)=A2(JA)-2.*AAW(K,J)*C2R(J,I) A1(JA)=A1(JA)-2.*AAW(K,J)*C1R(J,I) 42 A0(JA)=A0(JA)-2.*AAW(K,J)*C0R(J,I) DO 43 I=1,6 DO 43 K=1,11 C2H(K,I)=0. C1H(K,I)=0. C0H(K,I)=0. DO 43 J=1,6 C1H(K,I)=C1H(K,I)+2.*AAW(K,J)*CA1R(J,I) C0H(K,I)=C0H(K,I)+2.*AAW(K,J)*CA0R(J,I) IF ((I .LE. 3) .OR. (J .LE. 3)) GO TO 43 C2H(K,I)=C2H(K,I)+2.*AAW(K,J)*CA2R(J,I) 43 CONTINUE DO 44 I=1,13 DO 44 K=1,11 JA=(I+30)*44+K+31 A2(JA)=A2W(K,I) A1(JA)=A1W(K,I) A0(JA)=A0W(K,I) IF (I .GT. 11) GO TO 44 DO 48 J=1,6 A2(JA)=A2(JA)-C2H(K,J)*CAW(J,I) A1(JA)=A1(JA)-C1H(K,J)*CAW(J,I) IF (I .LE. IEULER) GO TO 48 A0(JA)=A0(JA)-C0H(K,J)*CAW(J,I) 48 CONTINUE 44 CONTINUE DO 45 I=1,IEULER IF (OPSYMM .GT. 0) IC=2 IF (OPSYMM .LT. 0) IC=2*I-1 DO 45 K=1,30 JA=(I+30)*44+K DO 45 J=1,3 A1(JA)=A1(JA)+AA2R(K,J)*CBW(J,IC) IF (K .GT. 11) GO TO 45 A1(JA+31)=A1(JA+31)-C2H(K,J)*CBW(J,IC) 45 CONTINUE DO 46 I=1,2 DO 46 K=1,11 JB=(I+8)*44+K+31 46 B(JB)=BW(K,I) DO 47 I=1,3 DO 47 K=1,11 JB=(I-1)*44+K+31 BG(JB)=BGW(K,I) DO 47 J=1,6 47 BG(JB)=BG(JB)+2.*AAW(K,J)*DGR(J,I) A2(1891)=TAUW A1(1891)=1. A1(1231)=2.*CWRTR A1(1936)=1. IF (OPSYMM .LT. 0) GO TO 241 A2(1936)=TAUH A1(1232)=2.*CHRTR GO TO 242 241 A2(1936)=TAUV A1(1232)=2.*CVRTR 242 IF (OPGRND .EQ. 0) GO TO 243 GLAMDA=(LAMDA0-MUZ)/(1.-(CSEGE*.25/ZAGL)**2) IF (OPSYMM .LT. 0) GO TO 244 DLDZ=CNSTL*GLAMDA*CSEGE**2*.125/ZAGL**3 SNT=SIN(THETAF) CST=COS(THETAF) A0(1392)=A0(1392)-DLDZ*(ZRTR*SNT+XRTR*CST) A0(1436)=A0(1436)-DLDZ*SNT A0(1480)=A0(1480)+DLDZ*CST DO 245 I=1,NEM JA=(I+33)*44+28 245 A0(JA)=A0(JA)+DLDZ*(-ZETARS(1,I)*SNT+ZETARS(3,I)*CST) GO TO 243 244 DLDZS=GLAMDA*CSEGE**2*.125/ZAGL**3 ZEFF=ZAGL/CSEGE DLDZUS= -GLAMDA*(((.1649*ZEFF-1.216)*ZEFF+2.726)*ZEFF-1.722) DLDZ=CNSTL*(DLDZS+AMIN1(0.,KRLGE*(DLDZUS-DLDZS))) SNT=SIN(THETAF) CST=COS(THETAF) A0(1392)=A0(1392)+DLDZ*YRTR*CST DO 246 I=1,NEM JA=(I+33)*44+28 246 A0(JA)=A0(JA)+DLDZ*(-ZETARA(1,I)*SNT+ZETARA(3,I)*CST) 243 CNSTC=B(61)*RADIUS CNSTS=B(106)*RADIUS IF (NBLADE .EQ. 2) GO TO 151 IF (OPTORS .EQ. 1) GO TO 153 DO 152 I=1,NEM JA=(I+33)*44+17 A0(JA)=A0(JA)+CNSTC*KPMC(I) 152 A0(JA+1)=A0(JA+1)+CNSTS*KPMS(I) GO TO 153 151 SNPSI=SIN(PSI) CSPSI=COS(PSI) DO 154 I=1,NEM JA=(I+33)*44+17 154 A0(JA)=A0(JA)+CNSTC*KPMC(I)*CSPSI+CNSTC*KPMS(I)*SNPSI 153 IF (OPTORS .NE. 1) GO TO 50 JN=44*NBLADE DO 52 J=1,JN 52 B(J)=-A0(J+660) DO 53 I=1,NBM DO 53 J=1,JN JA=(I-1)*JN+J IF (JA .GT. 660) GO TO 53 A0(JA)=A0(JA)-KPB(I)*A0(J+660) 53 CONTINUE IF (GIMBAL .EQ. 0) GO TO 54 JN=88 IF (NBLADE .EQ. 2) JN=44 DO 55 J=1,JN 55 A0(J+1056)=A0(J+1056)-KPG*A0(J+704) 54 IF (NBLADE .EQ. 2) GO TO 57 DO 58 J=1,44 58 A0(J+1144)=A0(J+1144)+TRS*A0(J+704)-TRC*A0(J+748) GO TO 56 57 TCYC=-TRC*SNPSI+TRS*CSPSI DO 59 J=1,44 59 A0(J+1144)=A0(J+1144)+TCYC*A0(J+704) 56 IF (NBLADE .EQ. 2) GO TO 155 DO 156 I=1,NEM DO 156 J=1,44 JA=(I+33)*44+J 156 A0(JA)=A0(JA)-(KPMC(I)*A0(J+704)+KPMS(I)*A0(J+748))*RADIUS GO TO 50 155 DO 158 I=1,NEM DO 158 J=1,44 JA=(I+33)*44+J 158 A0(JA)=A0(JA)-(KPMC(I)*CSPSI+KPMS(I)*SNPSI)*A0(J+704)*RADIUS 50 IF (OPGOVR .EQ. 0) GO TO 51 CNST1=1. IF (OPGOVR .NE. 2) CNST1=AMAX1(0.,AMIN1(1.,ATILT/90.)) DO 251 I=1,44 CNSTB=KIRGOV*B(I)+KIEGOV*B(I+352) A0(I+1144)=A0(I+1144)-CNSTB A0(I+1320)=A0(I+1320)-CNSTB*CNSTG CNSTB=(KPRGOV*B(I)+KPEGOV*B(I+352))*OMEGA*CNST1 A1(I+1144)=A1(I+1144)-CNSTB 251 A1(I+1320)=A1(I+1320)-CNSTB*CNSTG 51 IF (OPSYMM .LT. 0) GO TO 331 DO 332 I=1,3 DO 332 K=1,44 DO 332 J=1,6 JB=(I+10)*44+K J1=(J-1)*44+K IF (J .GE. 4) J1=J1+220 332 B(JB)=B(JB)+B(J1)*TCFES(J,I) GO TO 333 331 DO 334 I=1,2 DO 334 K=1,44 DO 334 J=1,6 JB=(I+10)*44+K J1=(J-1)*44+K IF (J .GE. 4) J1=J1+220 334 B(JB)=B(JB)+B(J1)*TCFEA(J,I) 333 CONTINUE MX=0 MX1=0 MX0=0 MV=0 MVG=0 DO 61 I=1,44 MX=MX+DOF(I) DOF1(I)=1 61 DOF0(I)=1 IF ((OPFLOW .NE. 0) .OR. (OPSYMM .LT. 0)) GO TO 62 IF ((OPGOVR.NE.0) .AND. ((KIRGOV.NE.0.).OR.(KIEGOV.NE.0.))) GO TO - 162 DOF1(27)=0 IF (DOF(27) .NE. 0) MX1=MX1+1 62 DO 63 I=28,30 DOF1(I)=0 IF (DOF(I) .EQ. 0) GO TO 63 MX1=MX1+1 IF (OPLMDA .NE. 0) GO TO 63 DOF0(I)=0 MX0=MX0+1 63 CONTINUE DO 64 I=43,44 DOF1(I)=0 IF (DOF(I) .EQ. 0) GO TO 64 MX1=MX1+1 IF (OPINTR .NE. 0) GO TO 64 DOF0(I)=0 MX0=MX0+1 64 CONTINUE IF (OPTORS .NE. 2) GO TO 65 DO 66 I=16,24 IF (DOF(I) .EQ. 0) GO TO 66 DOF0(I)=0 MX0=MX0+1 66 CONTINUE 65 IF (A0(1436) .EQ. 0.) DOF1(33)=0 IF (A0(1480) .EQ. 0.) DOF1(34)=0 IF ((DOF1(33).EQ.0).AND.(DOF(33).EQ.1)) MX1=MX1+1 IF ((DOF1(34).EQ.0).AND.(DOF(34).EQ.1)) MX1=MX1+1 IF (OPQRTR .EQ. 0) GO TO 161 DO 162 I=1,31 IF (DOF(I) .EQ. 0) GO TO 162 IF (DOF0(I) .EQ. 0) GO TO 162 IF ((OPSYMM .GT. 0) .AND. (I .EQ. 27)) GO TO 162 DOF0(I)=0 MX0=MX0+1 162 CONTINUE IF (OPQRTR .EQ. 1) GO TO 161 DO 163 I=35,44 IF (DOF(I) .EQ. 0) GO TO 163 IF (DOF0(I) .EQ. 0) GO TO 163 DOF0(I)=0 MX0=MX0+1 163 CONTINUE 161 DO 67 I=1,14 67 MV=MV+CON(I) DO 68 I=1,3 68 MVG=MVG+GUST(I) CALL DERED(44,14,3,DOF,CON,GUST,A2,A1,A0,B,BG,DOF1,DOF0) MVX=MX*MV MVGX=MX*MVG DO 69 I=1,MVGX I1=I+MVX 69 B0(I1)=BG(I) MV=MV+MVG IF (MX0 .NE. 0) CALL QSTRAN(MX,MX0,MX1,MV,A2,A1,A0,B0,DOF1,DOF0) IF (DEBUG .EQ. 0) GO TO 81 MXSQ1=MX*MX+1 IF (MXSQ1 .GT. 1936) GO TO 82 DO 83 I=MXSQ1,1936 A2(I)=0. A1(I)=0. 83 A0(I)=0. 82 MVX1=MX*MV+1 IF (MVX1 .GT. 748) GO TO 81 DO 85 I=MVX1,748 85 B0(I)=0. 81 IF (DEBUG .GE. 2) WRITE(6,NLTR) IF (DEBUG .EQ. 3) WRITE(6,NLR) IF (DEBUG .EQ. 3) WRITE(6,NLS) IF ((DEBUG.EQ.1).OR.(DEBUG.EQ.3)) WRITE(6,NLEQ) IF (OPFLOW .GT. 0) GO TO 3 CALL CSYSAN(NSYSAN,MX,MX1,MV,A2,A1,A0,B0,NFREQ,FREQ,NSTEP,DOF1,OME- 1GA) IF (LOCUS .GT. 0) CALL RPLOT(MX,MX1,JCYCLE,PLOTMX,LOCUS) IF ((RESPON.GT.0).AND.(LOCUS.LE.0)) CALL TRANS(B0,MX,MX1,MV,RESPON- 1,NF,DOFP,CONP) GO TO 2 3 NSYSAN=0 CALL PSYSAN(NSYSAN,MX,MX1,A2,A1,A0,PHI,DT,NT,MT,PERIOD,MT,DOF1) 2 CONTINUE 1 CONTINUE IF ((LOCUS .GT. 0) .OR. (RESPON .GT. 0)) CALL ENPLT(10.,0.) STOP END

SUBROUTINE TRTRIM COMMON /AINPUT/TITLE(18),VTIP,RPM,VEL,VKTS,ATILT,OPUNIT,ALTMSL,TEM- 1P,ALTAGL,ACLIMB,APITCH,COLL,LNGCYC,WEIGHT,AFLAP,ITER,EPTRIM,FACTOR- 2,PTRIM,DOF(44),CON(14),GUST(3),OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,- 3OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,MPER,- 4JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP(44),CONP(17),- 5THETFP,THETAF,CNTRL0, CNTRLS,VELX,VELZ,GRAV,DENSE,CSOUND,FREQ(100) COMMON /BINPUT/ASHAFT,ACANT,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRT- 1R,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KENG,IENG,EDAMPC,T- 2HRTLC,NRPOWR,KRLGE,KPMC(8),KPMS(8),HMAST,FSPIV,WLPIV,BLPIV,FSCG,WL- 3CG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYLO- 4N,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 5CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- 6AL,CNTRLZ(6),COLLZ0,COLLZ2,K0TRIM,QMASSS(8),QFREQS(8),QDAMPS(8),ZE- 7TARS(3,8),GAMARS(3,8),QMASSA(8),QFREQA(8),QDAMPA(8),ZETARA(3,8),GA- 8MARA(3,8),AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR,ZRTR,XWB,ZWB,XHT,ZHT- 9,XVT,ZVT,TMEAN,TCFES(6,3),TCFEA(6,2),RSF(3,3),RFV(3,3),RSV(3,3),ZA- AGL,CSEGE,LAMDA0,TAUW,TAUH,TAUV,CWRTR,CHRTR,CVRTR,NEM,EDAMP,QTHRTL INTEGER OPUNIT,DOF,CON,GUST,OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,OPI- 1NTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,RESPON,D- 2OFP,CONP REAL LNGCYC,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRTR,KPRGOV,KIRGOV,- 1KPEGOV,KIEGOV,KMAST,KICS,KENG,IENG,NRPOWR,KRLGE,KPMC,KPMS,IXX,IYY,- 2IZZ, IXZ,MPYLON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,K- 3S1CFE,KTCFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,KACFE,KRCFE,KP- 4EDAL,LAMDA0 COMMON /RINPUT/HHR(667) EQUIVALENCE (THETA(1),HHR(294)),(T1C,HHR(21)), (TWIST(- 11),HHR(396)),(LAMDA,HHR(7)),(MU,HHR(6)),(MUY,HHR(88)),(MUZ,HHR(89)- 2),(ALFHP,HHR(657)),(PSIHP,HHR(658)),(KFLMDA,HHR(656)),(KHLMDA,HHR(- 3655)),(VTOT,HHR(654)),(IRING,HHR(662)),(SIGMA,HHR(15)),(GAMMA,HHR(- 412)),(ROTATE,HHR(663)),(RADIUS,HHR(14)),(IB,HHR(32)),(NBLADE,HHR(2- 5)),(OMEGA,HHR(13)),(T1S,HHR(22)) INTEGER ROTATE REAL MU,MUY,MUZ,LAMDA,THETA(51),TWIST(51),KHLMDA,KFLMDA,IB COMMON /FADATA/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,DRG- 10W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB,S- 2PANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,LF- 3TEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,HHFA(9) REAL LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,KCLB,IWB,LFLA- 1PO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,IHT,LFTAV,LFTEV,IVT COMMON /XTRIM/LW,DW,MYW,YW,MXW,MZW,LH,DH,LV,DV,LAW,LFW,LEW,DAW,DFW- 1,DEW,MAW,MFW,NXBW,NZBW,YBW,LAH,LEH,DAH,DEH,LAV,LEV,DAV,DEV REAL LW,MYW,MXW,MZW,LH,LV,LAW,LFW,LEW,MAW,MFW,NXBW,NZBW,LAH,LEH,LA- 1V,LEV COMMON /ZTRIM/HHT1(27),CT,CH,CY,CMX,CMY,CQ,HHT2(2342) REAL ZERO(33) EQUIVALENCE (HHT1(1),ZERO(1)) REAL MOMY,FORCE(4),DERIV(4,4),LWAKE,CPOWR(2) INTEGER LMINV(5),MMINV(5) EQUIVALENCE (FORX,FORCE(1)),(FORZ,FORCE(2)),(MOMY,FORCE(3)),(POWR,- 1FORCE(4)) DATA CPOWR/550.,746./ DATA CVERT/57.29578/ 999 FORMAT (1H1,'PERFORMANCE AND TRIM'//) 997 FORMAT (//5X,'NO FORCE TRIM') 996 FORMAT (//5X,'NO TRIM') 995 FORMAT (//5X,'FORCE TRIM ITERATIONS =',I4,7X,'(MAXIMUM =',I4,', T- 1OLERANCE =',F7.4,')') 994 FORMAT (5X,'WEIGHT CW/S =',F10.6,10X,'TARGET POWER CP/S =',F10.6- 1) 993 FORMAT (5X,'WEIGHT CW/S =',F10.6) 992 FORMAT (/ 5X,'AIRCRAFT FORCES'/10X,'CFZ/S =',F10.6,10X,'WB LIFT ='- 1,F10.0, 5X,'HT LIFT =',F10.0, 5X,'VT LIFT =',F10.0/10X,'CFX/S =',F- 210.6,10X,'WB DRAG =',F10.0, 5X,'HT DRAG =',F10.0, 5X,'VT DRAG =',F- 310.0/10X,'CMY/S =',F10.6,10X,'WB MOMY =',F10.0/10X,'CP/S =',F10.6- 4) 998 FORMAT (5X,'VEL =',F8.4,11X,'ALPHA =',F11.2,5X,'COLL. STICK =',F8- 1.2, 7X,'(INPUT COLL =',F8.2,')'/5X,'VELX =',F8.4,10X,'ALPHA-HT =- 2',F8.2, 5X,'LONG. CYCLIC =',F8.2, 7X,'(INPUT LNGCYC =',F8.2,')'/5X- 3,'VELZ =',F8.4,33X,'THETA-F =',F12.2,7X,'(INPUT APITCH =',F8.2,')- 4'/5X,'VELC =',F8.4,10X,'DEL-F =',F8.2,8X,'THETA-FP =',F12.2,7X,'(I- 5NPUT ACLIMB =',F8.2,')'/5X,'VCLIMB =',F8.2, 8X,'DEL-E =',F8.2, 8X,- 6'K0TRIM =',I2,19X,'(K=1, TRIM CNTRL0/ K=0, TRIM CNTRLZ-1)' /5X,'P- 7CLIMB =',F9.2,30X,'AFLAP =',F8.2/5X,'POWER (HP) =',F9.2) 988 FORMAT (6X,I2,8X,5F9.4,8X,4F11.6) 989 FORMAT (1H1/20X,'C0',7X,'CZ',7X,'CS',7X,'TF',6X,'TFP',16X,'FX',9X,- 1'FZ',9X,'MY',10X,'P'/) DO 10 J=1,33 10 ZERO(J)=0. IF (TONLY .EQ. 0) PRINT 989 GM=AMASS*GRAV/(FLOAT(NBLADE)*IB*OMEGA**2/RADIUS)*5.7/(GAMMA*DENSE) V2=VEL*VEL*.5/(SIGMA*3.141593*RADIUS**2) DELF=TCFES(5,1)*CNTRL0+TCFES(5,2)*CNSTLS+CNTRLZ(5)/CVERT ALPHA=APITCH-ACLIMB+IWB IF (ABS(ALPHA) .GT. AMAXW) GO TO 121 LW=(LFTAW*ALPHA+LFTDW*AFLAP)/CVERT+LFTFW*(LFLAPO-LFLAPI)*DELF DW=DRG0W+LW*LW/PIEL2+DRGDW*AFLAP/CVERT+DRGFW*(LFLAPO-LFLAPI)*DELF GO TO 122 121 ALFS=SIGN(AMAXW,ALPHA) LW=(LFTAW*ALFS+LFTDW*AFLAP)/CVERT+LFTFW*(LFLAPO-LFLAPI)*DELF DW=(DRGSW-DRG0W)*(SIN(ALPHA/CVERT))**2+DRG0W 122 CTLMDA=.5*SQRT((GM*SIGMA-LW*.1519549*(VEL/RADIUS)**2)**2+(DW*.1591- 1549*(VEL/RADIUS)**2)**2) CTOS=1.0526*CTLMDA/SIGMA MDERIV=3 IF (OPTRIM .EQ. 2) MDERIV=4 ITERM=ITER+(1+(ITER-1)/10)*MDERIV+1 ITERD=MDERIV+10 ITERC=-1 5 ITERC=ITERC+1 ITERCR=MOD(ITERC-1,ITERD)+1 IF (ITERC .EQ. 0) ITERCR=0 CST=COS(THETAF-THETFP) SNT=SIN(THETAF-THETFP) CSTF=COS(THETAF) SNTF=SIN(THETAF) RFV(1,1)=CST RFV(2,1)=0. RFV(3,1)=SNT RFV(1,2)=0. RFV(2,2)=1. RFV(3,2)=0. RFV(1,3)=-SNT RFV(2,3)=0. RFV(3,3)=CST ONE=1. DO 21 I=1,3 ONE=-ONE RSV(I,1)=ONE*(RSF(I,1)*CST+RSF(I,3)*SNT) RSV(I,2)=ONE*RSF(I,2) 21 RSV(I,3)=ONE*(-RSF(I,1)*SNT+RSF(I,3)*CST) VELX=VEL*CST VELZ=VEL*SNT CSII=-RSV(1,1) CSJI= RSV(2,1) CSKI=-RSV(3,1) VTOT=0. MU=0. MUY=0. IF (OPFLOW .EQ. 0) GO TO 22 MU=-VEL*CSII MUY=VEL*CSJI*FLOAT(ROTATE) VTOT=MU*MU+MUY*MUY IF (VTOT .GT. 0.) VTOT=SQRT(VTOT) 22 MUZ=VEL*CSKI PSIHP=0. ALFHP=0. IF ((CSJI.NE.0.).OR.(CSII.NE.0.)) PSIHP=ATAN2(CSJI,-CSII)*CVERT CSII=CSII**2+CSJI**2 IF (CSII .GT. 0.) CSII=SQRT(CSII) IF ((CSKI.NE.0.).OR.(CSII.NE.0.)) ALFHP=ATAN2( CSKI,CSII)*CVERT IF ((ITERCR.GT.MDERIV+2) .OR. ((ITERCR.LE.1).AND.(ITERC.GT.2))) CT- 1LMDA=CT*SIGMA U2=(MU*MU+MUY*MUY)/KFLMDA**2 X1=.5*CTLMDA X2=KHLMDA**4 LAMDA0=MUZ+X1/SQRT(ABS(X1/KHLMDA**2+VEL*VEL)) DO 23 I=1,4 X3=(SQRT(LAMDA0*LAMDA0/X2+U2))**3 23 LAMDA0=(X3*MUZ+X1*(2.*LAMDA0*LAMDA0/X2+U2))/(X3+X1*LAMDA0/X2) IRING=0 IF (X1 .NE. 0.) X1=SQRT(ABS(X1)) IF (MU*MU+MUY*MUY+(2.*MUZ+3.*X1)**2 .GE. X1*X1) GO TO 24 IRING=1 LAMDA0=MUZ*((.373*MUZ*MUZ+.598*(MU*MU+MUY*MUY))/(X1*X1)-1.991)*KHL- 1MDA+MUZ 24 IF (VTOT .EQ. 0.) VTOT=.0001 IF (OPGRND .EQ. 0) GO TO 25 ZAGL=ALTAGL/RADIUS+XRTR*SNTF-ZRTR*CSTF U2=MU*MU+MUY*MUY+LAMDA0*LAMDA0 IF (U2 .GT. 0.) U2=1./SQRT(U2) CSEGE=(MU*(-RSF(1,1)*SNTF+RSF(1,3)*CSTF)-MUY*(-RSF(2,1)*SNTF+RSF(2- 1,3)*CSTF)-LAMDA0*(-RSF(3,1)*SNTF+RSF(3,3)*CSTF))*U2 LAMDA0=MUZ+(1.-(CSEGE*.25/ZAGL)**2)*(LAMDA0-MUZ) 25 KRRL=AMIN1(AMAX1(KRRH,KRRF),AMAX1(AMIN1(KRRH,KRRF),(2.-20.*VTOT)*K- 1RRH+(20.*VTOT-1.)*KRRF)) LAMDA=LAMDA0+KRRL*(LAMDA0-MUZ) CWRTR=KWRTR CHRTR=KHRTR CVRTR=0. FH1=LAMDA*RSF(1,1)+MU*RSF(3,1) FH3=LAMDA*RSF(1,3)+MU*RSF(3,3) LWAKE=ABS(FH1*(XRTR-XWB)+FH3*(ZRTR-ZWB))-LAMDA IF (LWAKE .GT. 0.) CWRTR=CWRTR*MU/(MU+LWAKE) LWAKE=ABS(FH1*(XRTR-XHT)+FH3*(ZRTR-ZHT))-LAMDA IF (LWAKE .GT. 0.) CHRTR=CHRTR*MU/(MU+LWAKE) ALPHA=0. U2=VELX**2+VELZ**2 IF (U2 .GT. 0.) U2=SQRT(U2) X1=VEL*VELZ+U2*(LAMDA-MUZ)*CWRTR*RSF(3,3)*KLTRIM X2=VEL*VELX+U2*(LAMDA-MUZ)*CWRTR*RSF(3,1)*KLTRIM IF ((X1.NE.0.).OR.(X2.NE.0.)) ALPHA=ATAN2(X1,X2) BETA=0. ALFHT=0. DAHT=0. IF (AREAW .NE. 0.) DAHT=LW/AREAW*.45/((SPANW**2/AREAW)**.735*(ABS(- 1XHT*RADIUS/CHORDW))**.25)*KLTRIM X1=VEL*(VELZ-DAHT*VELX)+U2*(LAMDA-MUZ)*CHRTR*RSF(3,3)*KLTRIM X2=VEL*(VELX+DAHT*VELZ)+U2*(LAMDA-MUZ)*CHRTR*RSF(3,1)*KLTRIM IF ((X1.NE.0.).OR.(X2.NE.0.)) ALFHT=ATAN2(X1,X2) ALFVT=0. T75 =TCFES(1,1)*CNTRL0+TCFES(1,2)*CNTRLS+CNTRLZ(1) T1C =TCFES(2,1)*CNTRL0+TCFES(2,2)*CNTRLS+CNTRLZ(2)/CVERT T1S =TCFES(3,1)*CNTRL0+TCFES(3,2)*CNTRLS+CNTRLZ(3)/CVERT DELF=TCFES(5,1)*CNTRL0+TCFES(5,2)*CNTRLS+CNTRLZ(5)/CVERT DELE=TCFES(6,1)*CNTRL0+TCFES(6,2)*CNTRLS+CNTRLZ(6)/CVERT DELA=0. DELR=0. DO 31 JR=1,51 31 THETA(JR)=T75+TWIST(JR)/CVERT CALL RTRIM(ITERC+1,CTOS) CALL ACHAR(ALPHA,BETA,DELF,DELA,ALFHT,DELE,ALFVT,DELR) FH1=RSF(1,1)*CH+RSF(2,1)*CY+RSF(3,1)*CT FH3=RSF(1,3)*CH+RSF(2,3)*CY+RSF(3,3)*CT FORX=-GM*SNTF+2.*FH1+V2*(-CST*(DW+DH+DV)+SNT*(LW+LH)) FORZ=GM*CSTF+2.*FH3+V2*(-SNT*(DW+DH+DV)-CST*(LW+LH)) MOMY=2.*ZRTR*FH1-2.*XRTR*FH3+2.*(RSF(1,2)*CMX+RSF(2,2)*CMY-RSF(3,2- 1)*CQ)+V2/RADIUS*MYW+V2*((-ZWB*CST+XWB*SNT)*DW+(ZWB*SNT+XWB*CST)*LW- 2)+V2*((-ZHT*CST+XHT*SNT)*DH+(ZHT*SNT+XHT*CST)*LH)+V2*((-ZVT*CST+XV- 3T*SNT)*DV) POWR=0. IF (OPTRIM .EQ. 2) POWR=2.*CQ*FLOAT(ROTATE)-PTRIM IF (TONLY .EQ. 0) PRINT 988, ITERCR,CNTRL0,CNTRLZ(1),CNTRLS,THETAF- 1,THETFP,(FORCE(I), I=1,4) IF ((OPTRIM .LE. 0) .OR. (ITERC .GE. ITERM)) GO TO 6 IF (ITERC .EQ. 0) GO TO 5 IF (((ITERCR.LE.MDERIV+2).AND.(ITERCR.GE.2)) .OR. (ITERC.EQ.1)) GO- 1 TO 149 IF (ITERC .EQ. MDERIV+3) GO TO 149 IF ((FORX**2+FORZ**2 .LE. (EPTRIM*GM)**2) .AND. (MOMY**2 .LE..0025- 1*(EPTRIM*GM)**2) .AND. (ABS(POWR) .LE. AMAX1(ABS(LAMDA*GM),.001)*E- 2PTRIM)) GO TO 6 149 GO TO (141,142,143,144,145),ITERCR 140 DO 40 I=1,MDERIV IF (K0TRIM .EQ. 1) CNTRL0=CNTRL0-DERIV(1,I)*FORCE(I) IF (K0TRIM .EQ. 0) CNTRLZ(1)=CNTRLZ(1)-DERIV(1,I)*FORCE(I) CNTRLS=CNTRLS-DERIV(2,I)*FORCE(I) THETAF=THETAF-DERIV(3,I)*FORCE(I) IF (OPTRIM .EQ. 2) THETFP=THETFP-DERIV(4,I)*FORCE(I) 40 CONTINUE GO TO 5 141 DO 41 I=1,MDERIV DO 41 J=1,MDERIV 41 DERIV(J,I)=FORCE(J) IF (K0TRIM .EQ. 1) CNTRL0=CNTRL0-.01*FACTOR IF (K0TRIM .EQ. 0) CNTRLZ(1)=CNTRLZ(1)-.01*FACTOR GO TO 5 142 DO 42 J=1,MDERIV 42 DERIV(J,1)=DERIV(J,1)-FORCE(J) IF (K0TRIM .EQ. 1) CNTRL0=CNTRL0+.01*FACTOR IF (K0TRIM .EQ. 0) CNTRLZ(1)=CNTRLZ(1)+.01*FACTOR CNTRLS=CNTRLS-.02*FACTOR GO TO 5 143 DO 43 J=1,MDERIV 43 DERIV(J,2)=DERIV(J,2)-FORCE(J) CNTRLS=CNTRLS+.02*FACTOR THETAF=THETAF-.02*FACTOR GO TO 5 144 DO 44 J=1,MDERIV 44 DERIV(J,3)=DERIV(J,3)-FORCE(J) THETAF=THETAF+.02*FACTOR IF (OPTRIM .EQ. 2) GO TO 46 DO 47 I=1,3 DERIV(I,4)=0. 47 DERIV(4,I)=0. DERIV(4,4)=1. GO TO 48 46 THETFP=THETFP-.02*FACTOR GO TO 5 145 IF (OPTRIM .NE. 2) GO TO 140 DO 45 J=1,MDERIV 45 DERIV(J,4)=DERIV(J,4)-FORCE(J) THETFP=THETFP+.02*FACTOR 48 DO 49 I=1,MDERIV DELTA=.02*FACTOR**2 IF (I .EQ. 1) DELTA=.01*FACTOR**2 DO 49 J=1,MDERIV 49 DERIV(J,I)=DERIV(J,I)/DELTA CALL MINV(DERIV,4,DEN,LMINV,MMINV) GO TO 5 6 PRINT 999 ALPHA=ALPHA*CVERT+IWB ALFHT=ALFHT*CVERT+IHT DELF=DELF*CVERT DELE=DELE*CVERT IF (K0TRIM .EQ. 1) ANG1=CNTRL0*CVERT IF (K0TRIM .EQ. 0) ANG1=CNTRLZ(1)*CVERT-TMEAN ANG2=CNTRLS*CVERT ANG3=THETAF*CVERT ANG4=THETFP*CVERT VELC=VEL*SIN(THETFP) VCLIMB=VELC*VTIP PCLIMB=VCLIMB*AMASS*GRAV/CPOWR(OPUNIT) POWR=2.*CQ*FLOAT(ROTATE) POWRHP=POWR*FLOAT(NBLADE)*IB*OMEGA**3*GAMMA*DENSE/CPOWR(OPUNIT)/5.- 17 QUE=.5*DENSE*VEL*VEL*GAMMA*OMEGA**2/RADIUS**3*IB*FLOAT(NBLADE)/(3.- 1141593*5.7*SIGMA) FLW=LW*QUE FDW=DW*QUE FMYW=MYW*QUE FLH=LH*QUE FDH=DH*QUE FLV=LV*QUE FDV=DV*QUE PRINT 998, VEL,ALPHA,ANG1,COLL,VELX,ALFHT,ANG2,LNGCYC,VELZ,ANG3,AP- 1ITCH,VELC,DELF,ANG4,ACLIMB,VCLIMB,DELE,K0TRIM,PCLIMB,AFLAP,POWRHP IF (OPTRIM) 61,62,63 61 PRINT 997 GO TO 64 62 PRINT 996 GO TO 65 63 PRINT 995, ITERC,ITERM,EPTRIM IF (OPTRIM .EQ. 2) PRINT 994, GM,PTRIM IF (OPTRIM .EQ. 1) PRINT 993, GM 64 PRINT 992, FORZ,FLW,FLH,FLV,FORX,FDW,FDH,FDV,MOMY,FMYW,POWR CALL RTRIMP 65 CONTINUE U2=MU*MU+MUY*MUY+LAMDA*LAMDA IF (U2 .GT. 0.) U2=1./SQRT(U2) TAUW=SQRT((XWB-XRTR)**2+(ZWB-ZRTR)**2)*U2 TAUH=SQRT((XHT-XRTR)**2+(ZHT-ZRTR)**2)*U2 TAUV=1. U2=U2*(MU*RSF(1,3)-MUY*RSF(2,3)-LAMDA*RSF(3,3)) CWRTR=CWRTR*U2 CHRTR=CHRTR*U2 EDAMP=0. IF (OPTRIM .NE. 0) EDAMP=EDAMPC*GAMMA*DENSE*CQ*FLOAT(ROTATE)/5.7 IF (OPMOTR .EQ. 3) EDAMP=0. X1=CPOWR(OPUNIT)*1.5*NRPOWR/(FLOAT(NBLADE)*IB*OMEGA**3) X2=GAMMA*DENSE*FLOAT(ROTATE)*CQ/(5.7*X1) X2=4.*X2*(1.-X2) IF (X2 .NE. 0.) X2=SQRT(ABS(X2)) QTHRTL=THRTLC*X1/57.3*X2 RETURN END

SUBROUTINE TRII(T75,T1C,T1S,N) COMMON /AINPUT/TITLE(18),VTIP,RPM,VEL,VKTS,ATILT,OPUNIT,ALTMSL,TEM- 1P,ALTAGL,ACLIMB,APITCH,COLL,LNGCYC,WEIGHT,AFLAP,ITER,EPTRIM,FACTOR- 2,PTRIM,DOF(44),CON(14),GUST(3),OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,- 3OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,MPER,- 4JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP(44),CONP(17),- 5THETFP,THETAF,CNTRL0, CNTRLS,VELX,VELZ,GRAV,DENSE,CSOUND,FREQ(100) COMMON /BINPUT/ASHAFT,ACANT,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRT- 1R,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KENG,IENG,EDAMPC,T- 2HRTLC,NRPOWR,KRLGE,KPMC(8),KPMS(8),HMAST,FSPIV,WLPIV,BLPIV,FSCG,WL- 3CG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYLO- 4N,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 5CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- 5AL,CNTRLZ(6),COLLZ0,COLLZ2,K0TRIM,QMASSS(8),QFREQS(8),QDAMPS(8),ZE- 6TARS(3,8),GAMARS(3,8),QMASSA(8),QFREQA(8),QDAMPA(8),ZETARA(3,8),GA- 7MARA(3,8),AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR,ZRTR,XWB,ZWB,XHT,ZHT- 8,XVT,ZVT,TMEAN,TCFES(6,3),TCFEA(6,2),RSF(3,3),RFV(3,3),RSV(3,3),ZA- 9GL,CSEGE,LAMDA0,TAUW,TAUH,TAUV,CWRTR,CHRTR,CVRTR,NEM,EDAMP,QTHRTL INTEGER OPUNIT,DOF,CON,GUST,OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,OPI- 1NTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,RESPON,D- 2OFP,CONP REAL LNGCYC,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRTR,KPRGOV,KIRGOV,- 1KPEGOV,KIEGOV,KMAST,KICS,KENG,IENG,NRPOWR,KRLGE,KPMC,KPMS,IXX,IYY,- 2IZZ, IXZ,MPYLON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,K- 3S1CFE,KTCFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,KACFE,KRCFE,KP- 4EDAL,LAMDA0 COMMON /RINPUT/HHR(667) EQUIVALENCE (RADIUS,HHR(14)),(ROTATE,HHR(663)),(GAMMA,HHR(12)),(SI- 1GMA,HHR(15)) INTEGER ROTATE COMMON /EINPUT/FCHARH(20),FCHARA(20),AAH(19),ELASTA(576,5),ELASTS(- 1576,5),QMSYM(8,5),QMASYM(8,5),QFSYM(8,5),QFASYM(8,5),QDSYM(8,5),QD- 1ASYM(8,5),ZSYM(3,8,5),ZASYM(3,8,5),GSYM(3,8,5),GASYM(3,8,5),KPMCA(- 28),KPMSA(8),KPMCS(8),KPMSS(8) COMMON /FEDATA/EZZN(10,10),EXXN(10,10),EZXN(10,10),EXZN(10,10),EZN- 1(10),EXN(10),ETN(10),EZTN(10,10),EXTN(10,10),ETTN(10,10),EZDN(10),- 2EXDN(10),EZLN(10),EXLN(10),ETLN(10),FZHN(10),FXHN(10),FTHN(10),FYW- 3N(10),FFHN(10),FYVN(10),FFVN(10),FPVN(10),IDENT(10) COMMON /FETEMP/EZZ(8,8),EXX(8,8),EZX(8,8),EXZ(8,8),EZ(8),EX(8),ET(- 18),EZT(8,8),EXT(8,8),ETT(8,8),EZD(8),EXD(8),EZL(8),EXL(8),ETL(8),F- 2ZH(8),FXH(8),FTH(8),FYW(8),FFH(8),FYV(8),FFV(8),FPV(8) COMMON /FADATA/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,DRG- 10W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB,S- 2PANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,LF- 3TEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,AAD2(9) REAL LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,KCLB,IWB,LFLA- 1PO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,IHT,LFTAV,LFTEV,IVT DIMENSION AAD1(39),EED(576),EEDN(860) EQUIVALENCE (AAD1(1),LFTAW),(EED(1),EZZ(1,1)),(EEDN(1),EZZN(1,1)) REAL K0CFE,CGW(2) NAMELIST /NLFUSE/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,D- 1RG0W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB- 2,SPANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,- 3LFTEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,EZZ,EXX,EZX,EXZ,- 4EZ,EX,ET,EZT,EXT,ETT,EZD,EXD,EZL,EXL,ETL,FZH,FXH,FTH,FYW,FFH,FYV,F- 5FV,FPV,QMASSS,QMASSA,QFREQS,QFREQA,QDAMPS,QDAMPA,KPMC,KPMS,ZETARS,- 6GAMARS,ZETARA,GAMARA DATA CVERT/57.29578/ DATA CGW/32.17405,1./ GO TO (1,2),N 1 THETAF=APITCH/CVERT THETFP=ACLIMB/CVERT CSA=COS(ATILT/CVERT) SNA=SIN(ATILT/CVERT) TMEAN=COLLZ0-COLLZ2*SNA**2 K0CFE=K00CFE+K01CFE*SNA IF (K0TRIM .LE. 1) GO TO 110 IF (K0TRIM .EQ. 3) GO TO 111 K0TRIM=1 IF (K0CFE .EQ. 0.) K0TRIM=0 GO TO 110 111 K0TRIM=1 IF (ATILT .EQ. 0.) K0TRIM=0 110 IF (K0TRIM .EQ. 0) GO TO 112 CNTRL0=COLL/CVERT CNTRLZ(1)=TMEAN/CVERT GO TO 113 112 CNTRL0=0. CNTRLZ(1)=(TMEAN+COLL)/CVERT 113 CNTRLS=LNGCYC/CVERT DO 11 I=1,6 DO 12 K=1,3 12 TCFES(I,K)=0. DO 11 K=1,2 11 TCFEA(I,K)=0. TCFES(1,1)=K0CFE TCFES(4,1)=KTCFE TCFES(5,1)=KFCFE TCFES(2,2)=-(KS0CFE+KS1CFE*SNA)*SIN(PSCFE/CVERT) TCFES(3,2)=-(KS0CFE+KS1CFE*SNA)*COS(PSCFE/CVERT) TCFES(6,2)=KECFE TCFES(4,3)=1. FPEDAL=(KP0CFE+KP1CFE*SNA)*AMAX1(.25,AMIN1(1.,2.125-.75*VKTS/40.*K- 1PEDAL)) TCFEA(1,1)=-(KC0CFE+KC1CFE*SNA) TCFEA(5,1)=-KACFE TCFEA(2,2)=FPEDAL*SIN(PPCFE/CVERT) TCFEA(3,2)=FPEDAL*COS(PPCFE/CVERT) TCFEA(6,2)=KRCFE AMASS=WEIGHT/CGW(OPUNIT) FSP=FSPYL-FSPIV WLP=WLPYL-WLPIV FSCGA=FSCG+MPYLON/AMASS*((SNA-1.)*FSP-CSA*WLP) WLCGA=WLCG+MPYLON/AMASS*(CSA*FSP+(SNA-1.)*WLP) FSP=(FSCG+FSCGA-2.*FSPIV)*(FSCG-FSCGA) WLP=(WLCG+WLCGA-2.*WLPIV)*(WLCG-WLCGA) AIXX=IXX+AMASS*WLP+CSA**2*(IZZPYL-IXXPYL)+2.*CSA*SNA*IXZPYL AIZZ=IZZ+AMASS*FSP-CSA**2*(IZZPYL-IXXPYL)-2.*CSA*SNA*IXZPYL AIYY=IYY+AMASS*(WLP+FSP) AIXZ=IXZ+AMASS*((WLCG-WLPIV)*(FSCG-FSCGA)+(FSCGA-FSPIV)*(WLCG-WLCG- 1A))+CSA*SNA*(IZZPYL-IXXPYL)-2.*CSA**2*IXZPYL CST=COS(ASHAFT/CVERT) SNT=SIN(ASHAFT/CVERT) CSP=COS(ACANT/CVERT) SNP=SIN(ACANT/CVERT) RSF(1,1)=-CSP*SNA*CST-CSA*SNT RSF(2,1)=-CSP*SNP*(1.-CSA)*CST-SNP*SNA*SNT RSF(3,1)=(CSP**2*CSA+SNP**2)*CST-CSP*SNA*SNT RSF(1,2)=-SNP*SNA RSF(2,2)=CSP**2+SNP**2*CSA RSF(3,2)=-CSP*SNP*(1.-CSA) RSF(1,3)=CSP*SNA*SNT-CSA*CST RSF(2,3)=CSP*SNP*(1.-CSA)*SNT-SNP*SNA*CST RSF(3,3)=-(CSP**2*CSA+SNP**2)*SNT-CSP*SNA*CST XRTR=(FSCGA-(FSPIV-HMAST*RSF(3,1)))/RADIUS YRTR=(BLPIV+HMAST*RSF(3,2))/RADIUS ZRTR=(WLCGA-(WLPIV-HMAST*RSF(3,3)))/RADIUS XWB=(FSCGA-FSWB)/RADIUS XHT=(FSCGA-FSHT)/RADIUS XVT=(FSCGA-FSVT)/RADIUS ZWB=(WLCGA-WLWB)/RADIUS ZHT=(WLCGA-WLHT)/RADIUS ZVT=(WLCGA-WLVT)/RADIUS T75=(TCFES(1,1)*CNTRL0+TCFES(1,2)*CNTRLS+CNTRLZ(1))*CVERT T1C=TCFES(2,1)*CNTRL0*CVERT+TCFES(2,2)*LNGCYC+CNTRLZ(2) T1S=TCFES(3,1)*CNTRL0*CVERT+TCFES(3,2)*LNGCYC+CNTRLZ(3) RETURN 2 CNSTH=(SIN(AMAX1(0.,AMIN1(90.,ATILT))/CVERT))**3 CNSTA=1.-CNSTH DO 31 I=1,20 31 AAD1(I)=FCHARH(I)*CNSTH+FCHARA(I)*CNSTA DO 32 I=1,19 32 AAD1(I+20)=AAH(I) IVT=0. AAD2(1)=XWB AAD2(2)=ZWB AAD2(3)=XHT AAD2(4)=ZHT AAD2(5)=XVT AAD2(6)=ZVT AAD2(7)=RADIUS AAD2(8)=GAMMA*DENSE/(SIGMA*5.7) AAD2(9)=AFLAP IF (OPSYMM .LT. 0) GO TO 51 IF ((ATILT .LE. 0.) .OR. (ATILT .GE. 90.)) GO TO 151 NA=IFIX(ATILT/30.)+2 CNST0=FLOAT(NA-1)-ATILT/30. CNST1=1.-CNST0 DO 152 I=1,576 152 EED(I)=CNST0*ELASTS(I,NA)+CNST1*ELASTS(I,NA+1) DO 61 I=1,NEM QMASSS(I)=CNST0*QMSYM(I,NA)+CNST1*QMSYM(I,NA+1) QFREQS(I)=CNST0*QFSYM(I,NA)+CNST1*QFSYM(I,NA+1) QDAMPS(I)=CNST0*QDSYM(I,NA)+CNST1*QDSYM(I,NA+1) DO 61 K=1,3 ZETARS(K,I)=CNST0*ZSYM(K,I,NA)+CNST1*ZSYM(K,I,NA+1) 61 GAMARS(K,I)=CNST0*GSYM(K,I,NA)+CNST1*GSYM(K,I,NA+1) GO TO 52 151 NA=1 IF (ATILT .GE. 90.) NA=5 DO 153 I=1,576 153 EED(I)=ELASTS(I,NA) DO 62 I=1,NEM QMASSS(I)=QMSYM(I,NA) QFREQS(I)=QFSYM(I,NA) QDAMPS(I)=QDSYM(I,NA) DO 62 K=1,3 ZETARS(K,I)=ZSYM(K,I,NA) 62 GAMARS(K,I)=GSYM(K,I,NA) GO TO 52 51 IF ((ATILT .LE. 0.) .OR. (ATILT .GE. 90.)) GO TO 154 NA=IFIX(ATILT/30.)+2 CNST0=FLOAT(NA-1)-ATILT/30. CNST1=1.-CNST0 DO 155 I=1,576 155 EED(I)=CNST0*ELASTA(I,NA)+CNST1*ELASTA(I,NA+1) DO 63 I=1,NEM QMASSA(I)=CNST0*QMASYM(I,NA)+CNST1*QMASYM(I,NA+1) QFREQA(I)=CNST0*QFASYM(I,NA)+CNST1*QFASYM(I,NA+1) QDAMPA(I)=CNST0*QDASYM(I,NA)+CNST1*QDASYM(I,NA+1) DO 63 K=1,3 ZETARA(K,I)=CNST0*ZASYM(K,I,NA)+CNST1*ZASYM(K,I,NA+1) 63 GAMARA(K,I)=CNST0*GASYM(K,I,NA)+CNST1*GASYM(K,I,NA+1) GO TO 52 154 NA=1 IF (ATILT .GE. 90.) NA=5 DO 156 I=1,576 156 EED(I)=ELASTA(I,NA) DO 64 I=1,NEM QMASSA(I)=QMASYM(I,NA) QFREQA(I)=QFASYM(I,NA) QDAMPA(I)=QDASYM(I,NA) DO 64 K=1,3 ZETARA(K,I)=ZASYM(K,I,NA) 64 GAMARA(K,I)=GASYM(K,I,NA) 52 IF (OPSYMM .LT. 0) GO TO 71 DO 72 I=1,NEM KPMC(I)=KPMCS(I) 72 KPMS(I)=KPMSS(I) GO TO 73 71 DO 74 I=1,NEM KPMC(I)=KPMCA(I) 74 KPMS(I)=KPMSA(I) 73 CONTINUE IF (OPREAD .GE. 2) READ(5,NLFUSE) DO 41 I=1,860 41 EEDN(I)=0. DO 42 I=1,10 IDENT(I)=0 IF (I .GT. NEM) GO TO 42 IDENT(I)=1 IF (OPSYMM .LT. 0) IDENT(I)=-1 42 CONTINUE DO 43 I=1,NEM EZN(I)=EZ(I) EXN(I)=EX(I) ETN(I)=ET(I)*RADIUS EZDN(I)=EZD(I) EXDN(I)=EXD(I) EZLN(I)=EZL(I)/RADIUS EXLN(I)=EXL(I)/RADIUS ETLN(I)=ETL(I) FZHN(I)=FZH(I) FXHN(I)=FXH(I) FTHN(I)=FTH(I)*RADIUS FYWN(I)=FYW(I) FFHN(I)=FFH(I)*RADIUS FYVN(I)=FYV(I) FFVN(I)=FFV(I)*RADIUS FPVN(I)=FPV(I)*RADIUS DO 43 K=1,NEM EZZN(K,I)=EZZ(K,I) EXXN(K,I)=EXX(K,I) EZXN(K,I)=EZX(K,I) EXZN(K,I)=EXZ(K,I) EZTN(K,I)=EZT(K,I)*RADIUS EXTN(K,I)=EXT(K,I)*RADIUS 43 ETTN(K,I)=ETT(K,I)*RADIUS**2 IF (DEBUG .GE. 2) WRITE(6,NLFUSE) RETURN END SUBROUTINE TRBODY COMMON /ACOEF/CA(6,11),CB(3,3),A2(11,13),A1(11,13),A0(11,13),B(11,- 12),BG(11,3),AA(11,6) COMMON /FAERO/CZDZ,CZDX,CZDT,CZDDZ,CXDZ,CXDX,CXDT,CTDZ,CTDX,CTDT,C- 1TDDZ,CZDQ(8),CZQ(8),CXDQ(8),CXQ(8),CTDQ(8),CTQ(8),CQDZ(8),CQDX(8),- 2CQDT(8),CQDQ(8,8),CQQ(8,8),CZF,CZE,CZLW,CZLH,CXF,CXE,CXLW,CXLH,CTF- 3,CTE,CTLW,CTLH,CQF(8),CQE(8),CQLW(8),CQLH(8),CFDF,CFDP,CFDY,CPDF,C- 4PDP,CPDY,CYDF,CYDP,CYDY,CFDQ(8),CFQ(8),CPDQ(8),CPQ(8),CYDQ(8),CYQ(- 58),CQDF(8),CQDP(8),CQDY(8),CQDQA(8,8),CQQA(8,8),CFA,CFR,CFLV,CPA,C- 6PR,CPLV,CYA,CYR,CYLV,CQA(8),CQR(8),CQLV(8),CFDZ,CFDX,CFLW,CPDZ,CPD- 7X,CPLW,CYDZ,CYDX,CYLW,CQDZA(8),CQDXA(8),CQLWA(8) COMMON /RINPUT/HHR(667) EQUIVALENCE (RADIUS,HHR(14)),(OMEGA,HHR(13)),(NBLADE,HHR(2)),(IB,H- 1HR(32)) REAL IB COMMON /AINPUT/HHA(291) COMMON /BINPUT/HHB(314) EQUIVALENCE (THETAF,HHA(184)),(GRAV,HHA(189)),(VEL,HHA(21)),(VELX,- 1HHA(187)),(VELZ,HHA(188)),(OPSYMM,HHA(99)),(DEBUG,HHA(111)),(OPAER- 2O,HHA(110)) EQUIVALENCE (AMASS,HHB(231)),(AIXX,HHB(232)),(AIYY,HHB(233)),(AIZZ- 1,HHB(234)),(AIXZ,HHB(235)),(XRTR,HHB(236)),(YRTR,HHB(237)),(ZRTR,H- 2HB(238)),(RSF(1,1),HHB(276)),(ZETARS(1,1),HHB(111)),(GAMARS(1,1),H- 3HB(135)),(QMASSS(1),HHB(87)),(QFREQS(1),HHB(95)),(QDAMPS(1),HHB(10- 43)),(ZETARA(1,1),HHB(183)),(GAMARA(1,1),HHB(207)),(QMASSA(1),HHB(1- 559)),(QFREQA(1),HHB(167)),(QDAMPA(1),HHB(175)),(NEM,HHB(312)) INTEGER OPSYMM,OPAERO,DEBUG REAL RSF(3,3),ZETARS(3,8),GAMARS(3,8),QMASSS(8),QFREQS(8),QDAMPS(8- 1),ZETARA(3,8),GAMARA(3,8),QMASSA(8),QFREQA(8),QDAMPA(8) REAL ZERO(625),MSTAR EQUIVALENCE (ZERO(1),CA(1,1)) DO 10 I=1,625 10 ZERO(I)=0. PHIF=0. VELY=0. SNT=SIN(THETAF) CST=COS(THETAF) CI=.5*FLOAT(NBLADE)*IB CM=CI/RADIUS**2 MSTAR=AMASS/CM GM=GRAV/(OMEGA**2*RADIUS)*MSTAR IF (OPSYMM .LT. 0) GO TO 11 A2(1,1)=AIYY/CI A2(2,2)=MSTAR A2(3,3)=MSTAR A1(2,1)=MSTAR*VELZ A1(3,1)=-MSTAR*VELX A0(2,1)= GM*CST A0(3,1)= GM*SNT DO 21 IE=1,NEM QM=QMASSS(IE)/CM QW=QFREQS(IE)*6.283185/OMEGA A2(IE+3,IE+3)=QM A1(IE+3,IE+3)=QM*QDAMPS(IE)*QW 21 A0(IE+3,IE+3)=QM*QW*QW CA(1,1)=RSF(1,1)*ZRTR-RSF(1,3)*XRTR CA(2,1)=RSF(2,1)*ZRTR-RSF(2,3)*XRTR CA(3,1)=RSF(3,1)*ZRTR-RSF(3,3)*XRTR CA(4,1)=RSF(1,2) CA(5,1)=RSF(2,2) CA(6,1)=RSF(3,2) CA(1,2)=RSF(1,1) CA(2,2)=RSF(2,1) CA(3,2)=RSF(3,1) CA(1,3)=RSF(1,3) CA(2,3)=RSF(2,3) CA(3,3)=RSF(3,3) DO 22 IE=1,NEM DO 22 I=1,3 DO 22 J=1,3 CA(I,IE+3)=CA(I,IE+3)+RSF(I,J)*ZETARS(J,IE) 22 CA(I+3,IE+3)=CA(I+3,IE+3)+RSF(I,J)*GAMARS(J,IE)*RADIUS IF (OPAERO .EQ. 0) GO TO 12 CALL HLAERO(VEL,VELX,VELY,VELZ,THETAF,PHIF,DEBUG) A2(1,3)=-CTDDZ A2(3,3)=A2(3,3)-CZDDZ A1(1,1)=-CTDT A1(1,2)=-CTDX A1(1,3)=-CTDZ A1(1,12)=-CTLW A1(1,13)=-CTLH A1(2,1)=A1(2,1)-CXDT A1(2,2)=-CXDX A1(2,3)=-CXDZ A1(2,12)=-CXLW A1(2,13)=-CXLH A1(3,1)=A1(3,1)-CZDT A1(3,2)=-CZDX A1(3,3)=-CZDZ A1(3,12)=-CZLW A1(3,13)=-CZLH B(1,1)=CTF B(1,2)=CTE B(2,1)=CXF B(2,2)=CXE B(3,1)=CZF B(3,2)=CZE BG(1,1)=CTDX BG(1,3)=CTDZ BG(2,1)=CXDX BG(2,3)=CXDZ BG(3,1)=CZDX BG(3,3)=CZDZ DO 23 IE=1,NEM A1(1,IE+3)=-CTDQ(IE) A1(2,IE+3)=-CXDQ(IE) A1(3,IE+3)=-CZDQ(IE) A1(IE+3,1)=-CQDT(IE) A1(IE+3,2)=-CQDX(IE) A1(IE+3,3)=-CQDZ(IE) A1(IE+3,12)=-CQLW(IE) A1(IE+3,13)=-CQLH(IE) A0(1,IE+3)=-CTQ(IE) A0(2,IE+3)=-CXQ(IE) A0(3,IE+3)=-CZQ(IE) B(IE+3,1)=CQF(IE) B(IE+3,2)=CQE(IE) BG(IE+3,1)=CQDX(IE) BG(IE+3,3)=CQDZ(IE) DO 23 JE=1,NEM A1(IE+3,JE+3)=A1(IE+3,JE+3)-CQDQ(IE,JE) 23 A0(IE+3,JE+3)=A0(IE+3,JE+3)-CQQ(IE,JE) GO TO 12 11 A2(1,1)=AIXX/CI A2(1,2)=(-AIXX*SNT-AIXZ*CST)/CI A2(2,1)=(-AIXX*SNT-AIXZ*CST)/CI A2(2,2)=(AIXX*SNT*SNT+AIZZ*CST*CST+2.*AIXZ*SNT*CST)/CI A2(3,3)=MSTAR A1(3,1)=-MSTAR*VELZ A1(3,2)=MSTAR*(VELZ*SNT+VELX*CST) A0(3,1)=-GM*CST DO 31 IE=1,NEM QM=QMASSA(IE)/CM QW=QFREQA(IE)*6.283185/OMEGA A2(IE+3,IE+3)=QM A1(IE+3,IE+3)=QM*QDAMPA(IE)*QW 31 A0(IE+3,IE+3)=QM*QW*QW CA(1,1)=-RSF(1,2)*ZRTR+RSF(1,3)*YRTR CA(2,1)=-RSF(2,2)*ZRTR+RSF(2,3)*YRTR CA(3,1)=-RSF(3,2)*ZRTR+RSF(3,3)*YRTR CA(4,1)=RSF(1,1) CA(5,1)=RSF(2,1) CA(6,1)=RSF(3,1) CA(1,2)=-RSF(1,1)*YRTR*CST+RSF(1,2)*(ZRTR*SNT+XRTR*CST)-RSF(1,3)*Y- 1RTR*SNT CA(2,2)=-RSF(2,1)*YRTR*CST+RSF(2,2)*(ZRTR*SNT+XRTR*CST)-RSF(2,3)*Y- 1RTR*SNT CA(3,2)=-RSF(3,1)*YRTR*CST+RSF(3,2)*(ZRTR*SNT+XRTR*CST)-RSF(3,3)*Y- 1RTR*SNT CA(4,1)=-RSF(1,1)*SNT+RSF(1,3)*CST CA(5,1)=-RSF(2,1)*SNT+RSF(2,3)*CST CA(6,1)=-RSF(3,1)*SNT+RSF(3,3)*CST CA(1,3)=RSF(1,2) CA(2,3)=RSF(2,2) CA(3,3)=RSF(3,2) DO 32 IE=1,NEM DO 32 I=1,3 DO 32 J=1,3 CA(I,IE+3)=CA(I,IE+3)+RSF(I,J)*ZETARA(J,IE) 32 CA(I+3,IE+3)=CA(I+3,IE+3)+RSF(I,J)*GAMARA(J,IE)*RADIUS IF (OPAERO .EQ. 0) GO TO 12 CALL HLAERO(VEL,VELX,VELY,VELZ,THETAF,PHIF,DEBUG) A1(1,1)=-CFDF A1(1,2)=-CFDP A1(1,3)=-CFDY A1(1,12)=-CFLW A1(1,13)=-CFLV A1(2,1)=-CPDF A1(2,2)=-CPDP A1(2,3)=-CPDY A1(2,12)=-CPLW A1(2,13)=-CPLV A1(3,1)=A1(3,1)-CYDF A1(3,2)=A1(3,2)-CYDP A1(3,3)=-CYDY A1(3,12)=-CYLW A1(3,13)=-CYLV B(1,1)=CFA B(1,2)=CFR B(2,1)=CPA B(2,2)=CPR B(3,1)=CYA B(3,2)=CYR BG(1,1)=CFDX BG(1,2)=CFDY BG(1,3)=CFDZ BG(2,1)=CPDX BG(2,2)=CPDY BG(2,3)=CPDZ BG(3,1)=CYDX BG(3,2)=CYDY BG(3,3)=CYDZ DO 33 IE=1,NEM A1(1,IE+3)=-CFDQ(IE) A1(2,IE+3)=-CPDQ(IE) A1(3,IE+3)=-CYDQ(IE) A1(IE+3,1)=-CQDF(IE) A1(IE+3,2)=-CQDP(IE) A1(IE+3,3)=-CQDY(IE) A1(IE+3,12)=-CQLWA(IE) A1(IE+3,13)=-CQLV(IE) A0(1,IE+3)=-CFQ(IE) A0(2,IE+3)=-CPQ(IE) A0(3,IE+3)=-CYQ(IE) B(IE+3,1)=CQA(IE) B(IE+3,2)=CQR(IE) BG(IE+3,1)=CQDXA(IE) BG(IE+3,2)=CQDY(IE) BG(IE+3,3)=CQDZA(IE) DO 33 JE=1,NEM A1(IE+3,JE+3)=A1(IE+3,JE+3)-CQDQA(IE,JE) 33 A0(IE+3,JE+3)=A0(IE+3,JE+3)-CQQA(IE,JE) 12 DO 41 I=1,11 AA(I,1)=2.*CA(3,I) AA(I,2)=CA(1,I) AA(I,3)=-CA(2,I) AA(I,4)=-2.*CA(6,I) AA(I,5)=CA(5,I) 41 AA(I,6)=-CA(4,I) CB(1,1)=-RSF(1,2)*VELZ CB(2,1)=-RSF(2,2)*VELZ CB(3,1)=-RSF(3,2)*VELZ CB(1,2)=RSF(1,1)*VELZ-RSF(1,3)*VELX CB(2,2)=RSF(2,1)*VELZ-RSF(2,3)*VELX CB(3,2)=RSF(3,1)*VELZ-RSF(3,3)*VELX CB(1,3)=RSF(1,2)*(VELZ*SNT+VELX*CST) CB(2,3)=RSF(2,2)*(VELZ*SNT+VELX*CST) CB(3,3)=RSF(3,2)*(VELZ*SNT+VELX*CST) RETURN END

SUBROUTINE AIR(ALT,TEMP,DENSE,CSOUND,GRAV,ALTD,OPUNIT) INTEGER OPUNIT DIMENSION H1(2),T0(2),T1(2),CS(2),G(2) DATA H1/145442.,44330.8/ DATA T1/459.67,273.15/ DATA T0/518.67,288.15/ DATA CS/1116.45,340.294/ DATA G/32.17405,9.80665/ TS=1.-ALT/H1(OPUNIT) T=TS IF (TEMP .LT. 999.) T=(T1(OPUNIT)+TEMP)/T0(OPUNIT) DENSE=TS**5.256115/T CSOUND=CS(OPUNIT)*SQRT(T) ALTD=H1(OPUNIT)*(1.-DENSE**.234956) GRAV=G(OPUNIT) RETURN END

SUBROUTINE TRLDECC TILTING PROPROTOR AIRCRAFT DYNAMICSC WAYNE JOHNSON NASA-ARC/USAAMRDLC FEBRUARY 1976C COMMON /TRCOEF/A2(1936),A1(1936),A0(1936),B0(748),MX,MX1,MV,MVG,DO- 1F1(44) INTEGER DOF1 COMMON /RCOEF/A2R(30,30),A1R(30,30),A0R(30,30),AA2R(30,6),AA1R(30,- 16),AA0R(30,6),BR(30,8),BGR(30,3),C2R(6,30),C1R(6,30),C0R(6,30),CA2- 2R(6,6),CA1R(6,6),CA0R(6,6),DGR(6,3) COMMON /ACOEF/CAW(6,11),CBW(3,3),A2W(11,13),A1W(11,13),A0W(11,13),- 1BW(11,2),BGW(11,3),AAW(11,6) COMMON /AINPUT/TITLE(18),VTIP,RPM,VEL,VKTS,ATILT,OPUNIT,ALTMSL,TEM- 1P,ALTAGL,ACLIMB,APITCH,COLL,LNGCYC,WEIGHT,AFLAP,ITER,EPTRIM,FACTOR- 2,PTRIM,DOF(44),CON(14),GUST(3),OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,- 3OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,MPER,- 4JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP(44),CONP(17),- 5THETFP,THETAF,CNTRL0, CNTRLS,VELX,VELZ,GRAV,DENSE,CSOUND,FREQ(100) COMMON /BINPUT/ASHAFT,ACANT,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRT- 1R,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KENG,IENG,EDAMPC,T- 2HRTLC,NRPOWR,KRLGE,KPMC(8),KPMS(8),HMAST,FSPIV,WLPIV,BLPIV,FSCG,WL- 3CG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYLO- 4N,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 5CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- 6AL,CNTRLZ(6),COLLZ0,COLLZ2,K0TRIM,QMASSS(8),QFREQS(8),QDAMPS(8),ZE- 7TARS(3,8),GAMARS(3,8),QMASSA(8),QFREQA(8),QDAMPA(8),ZETARA(3,8),GA- 8MARA(3,8),AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR,ZRTR,XWB,ZWB,XHT,ZHT- 9,XVT,ZVT,TMEAN,TCFES(6,3),TCFEA(6,2),RSF(3,3),RFV(3,3),RSV(3,3),ZA- AGL,CSEGE,LAMDA0,TAUW,TAUH,TAUV,CWRTR,CHRTR,CVRTR,NEM,EDAMP,QTHRTL INTEGER OPUNIT,DOF,CON,GUST,OPSYMM,OPFLOW,OPTORS,OPMOTR,OPLMDA,OPI- 1NTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,RESPON,D- 2OFP,CONP REAL LNGCYC,KRRL,KRRH,KRRF,KLTRIM,KWRTR,KHRTR,KVRTR,KPRGOV,KIRGOV,- 1KPEGOV,KIEGOV,KMAST,KICS,KENG,IENG,NRPOWR,KRLGE,KPMC,KPMS,IXX,IYY,- 2IZZ, IXZ,MPYLON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,K00CFE,K01CFE,KS0CFE,K- 3S1CFE,KTCFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,KACFE,KRCFE,KP- 4EDAL,LAMDA0 COMMON /RINPUT/HHR(667) EQUIVALENCE (RADIUS,HHR(14)),(VTIPN,HHR(79)),(IB,HHR(32)),(NBLADE,- 1HHR(2)),(NBM,HHR(9)),(NTM,HHR(10)),(OMEGA,HHR(13)),(GIMBAL,HHR(11)- 3),(KPB(1),HHR(50)),(KPG,HHR(35)),(TRC,HHR(21)),(TRS,HHR(22)),(MU,H- 4HR(6)),(MUY,HHR(88)),(MUZ,HHR(89)),(LAMDA,HHR(7)),(KHLMDA,HHR(655)- 5),(KFLMDA,HHR(656)),(GAMMA,HHR(12)),(SIGMA,HHR(15)),(OPAERR,HHR(16- 6)),(OPMODE,HHR(26)),(ROTATE,HHR(663)) INTEGER GIMBAL,OPAERR,OPMODE,ROTATE REAL MU,MUY,MUZ,LAMDA,KHLMDA,KFLMDA,KPB(5),KPG,IB NAMELIST /NLTR/VTIP,RPM,VEL,VKTS,VELX,VELZ,WEIGHT,ATILT,ASHAFT,ACA- 1NT,ALTMSL,TEMP,ALTAGL,DENSE,CSOUND,ALTD,GRAV,ACLIMB,APITCH,THETFP,- 2THETAF,COLL,LNGCYC,AFLAP,DOF,CON,GUST,OPUNIT,OPSYMM,OPFLOW,OPTORS,- 3OPMOTR,OPLMDA,OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEB- 4UG,TONLY,MPER,JCNST,NSYSAN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP- 5,CONP,ITER,EPTRIM,FACTOR,PTRIM,FREQ,HMAST,FSPIV,WLPIV,BLPIV,FSCG,W- 6LCG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,FSPYL,WLPYL,IXX,IYY,IZZ,IXZ,MPYL- 7ON,IXXPYL,IYYPYL,IZZPYL,IXZPYL,AMASS,AIXX,AIYY,AIZZ,AIXZ,XRTR,YRTR- 8,ZRTR,XWB,ZWB,XHT,ZHT,XVT,ZVT,K00CFE,K01CFE,KS0CFE,KS1CFE,PSCFE,KT- 9CFE,KFCFE,KECFE,KC0CFE,KC1CFE,KP0CFE,KP1CFE,PPCFE,KACFE,KRCFE,KPED- AAL,CNTRLZ,COLLZ0,COLLZ2,K0TRIM,CNTRL0,CNTRLS,TMEAN,TCFES,TCFEA,RSF- B,RFV,RSV,NEM,QMASSS,QFREQS,QDAMPS,ZETARS,GAMARS,QMASSA,QFREQA,QDAM- CPA,ZETARA,GAMARA,KPRGOV,KIRGOV,KPEGOV,KIEGOV,RTRANS,KMAST,KICS,KEN- DG,IENG,EDAMPC,THRTLC,NRPOWR,KRLGE,KPMC,KPMS,EDAMP,QTHRTL,ZAGL,CSEG- EE,LAMDA0,DLDZ,CNSTL,KRRH,KRRF,KRRL,KLTRIM,KWRTR,KHRTR,KVRTR,TAUW,T- FAUH,TAUV,CWRTR,CHRTR,CVRTR NAMELIST /NLEQ/A2,A1,A0,B0,MX,MX1,MV,MVG,MX0,DOF0,DOF1 NAMELIST /NLR/A2R,A1R,A0R,AA2R,AA1R,AA0R,BR,BGR,C2R,C1R,C0R,CA2R,- 1CA1R,CA0R,DGR NAMELIST /NLS/CAW,CBW,A2W,A1W,A0W,BW,BGW,AAW REAL B(616),BG(132),PHI(1800) EQUIVALENCE (B0(1),B(1)),(B0(617),BG(1)) INTEGER DOF0(44) REAL CKNOT(2),C2H(11,6),C1H(11,6),C0H(11,6),BGH(30,3),DGH(6,3) EQUIVALENCE (B0(1),BGH(1,1)),(B0(91),DGH(1,1)) DATA CKNOT/.5924838,1.943845/ DATA CVERT/57.29578/ 999 FORMAT (1H1/1X,'TILTING PROPROTOR AIRCRAFT EQUATIONS OF MOTION',10- 1X,18A4//) 998 FORMAT (1X,'OPERATING STATE',69X,'ROTOR PARAMETERS'/ - 16X,'VELOCITY (KNOTS) =',F8.2,15X,'TILT ANGLE (DEG) =',F7.2,18X,'RA- 2DIUS (FT OR M) =',F7.2/6X,'V/(OMEGA*R) =',F8.4,58X,'OMEGA (RA- 3D/SEC) =',F7.2/6X,'TIP SPEED (FPS OR MPS) =',F7.2,10X,'ALTITUDE M- 4SL (FT OR M) =',F7.0,12X,'IB (SLUG-FT2 OR KG-M2) =',F7.0) 997 FORMAT (6X,'ROTATIONAL SPEED (RPM) =',F7.2,10X,'TEMPERATURE (F OR - 1C) =',F7.2,11X,'NUMBER OF BLADES =',I5) 996 FORMAT (6X,'ROTATIONAL SPEED (RPM) =',F7.2,10X,'STANDARD DAY',31X,- 1'NUMBER OF BLADES =',I5) 995 FORMAT (6X,'THETA-FP (DEG) =',F7.2,18X,'PRESSURE ALT (FT OR M) =' - 1,F7.0,12X,'LOCK NUMBER =',F7.3/6X,'CLIMB SPEED (FPS OR MPS) =- 2',F7.2, 8X,'AIR DENSITY RATIO =',F7.4,17X,'ROTOR SOLIDITY =',F7.- 34) 994 FORMAT (6X,'ALTITUDE AGL (FT OR M) =',F8.2, 9X,'SOUND SPEED (FPS O- 1R MPS) =',F8.2, 9X,'COUNTER-CLOCKWISE ROTATION'/6X,'CG STATION (FT- 2 OR M) =',F9.3/6X,'GROSS WEIGHT (LB OR KG) =',F8.0) 993 FORMAT (6X,'ALTITUDE AGL (FT OR M) =',F8.2, 9X,'SOUND SPEED (FPS O- 1R MPS) =',F8.2, 9X,'CLOCKWISE ROTATION'/6X,'CG STATION (FT OR M) =- 2',F9.3/6X,'GROSS WEIGHT (LB OR KG) =',F8.0) 992 FORMAT ( /1X,'OPTIONS'/ - 110X,'OPSYMM =',I2,7X,'IF 1, SYMMETRIC/ IF -1, ANTISYMMETRIC'/ - 210X,'OPFLOW =',I2,7X,'IF 0, AXIAL FLOW/ LT 0, CONSTANT COEFF'/ - 3 10X,'OPTRIM =',I2,7X,'IF 0, NO TRIM/ LT 0, NO IT- 4ERATIONS/ IF 1, TRIM T,H,MY/ IF 2, TRIM T,H,MY,P'/ - 510X,'OPMOTR =',I2,7X,'IF 0, AUTOROTATION/ IF 1, CONSTANT SPEED/ IF- 6 2, MOTOR/ IF 3, POWER OUT'/10X,'OPGOVR =',I2,7X,'IF 0, NO GOVERNO- 8R/ IF 1, GOVERNOR/ IF 2, INPUT GAINS'/10X,'OPGRND =',I2,7X,'IF 0, - 9OUT OF GROUND EFFECT'/ - A10X,'OPAERO =',I2,7X,'IF 0, NO PERTURBATION AIRCRAFT AERO FORCES'/- B10X,'OPMODE =',I2,7X,'IF 0, RIGID BLADE MODES/ IF 2, READ MODES/ I- CF 3, PUNCH MODES/ IF 4, ARTICULATED MODES'/10X,'OPAERO =',I2,7X,'I- DF 0, ONLY CLA TERMS IN ROTOR AERO/ LT 0, NO STALL'/ - E10X,'OPTORS =',I2,7X,'IF 0, DOF/ IF 1, RIGID/ IF 2, QUASISTATIC'/ - F10X,'OPLMDA =',I2,7X,'IF 0, QUASISTATIC INFLOW DYNAMICS'/ - G10X,'OPINTR =',I2,7X,'IF 0, QUASISTATIC AERO INTERFERENCE'/ - H10X,'OPQRTR =',I2,7X,'IF 1, QUASISTATIC ROTOR/ IF 2, ALL QUASISTAT- IIC EXCEPT RIGID BODY') 991 FORMAT ( /1X,'ORDER OF VARIABLES'/10X,'DOF = B0,B1C,B1S,BN/2 T0- 1,T1C,T1S,TN/2 BGC,BGS,PSI L0,LC,LS PSIE TF,XF,ZF ELASTIC- 2 LW,LH'/10X,'CON = T0,T1C,T1S,TN/2 TT DF,DE D0,D1S,DT'/10X- 3,'GUST = UG,VG,WG') 990 FORMAT ( /1X,'ORDER OF VARIABLES'/10X,'DOF = B0,B1C,B1S,BN/2 T0- 1,T1C,T1S,TN/2 BGC,BGS,PSI L0,LC,LS PSIE PHIF,PSIF,YF ELA- 2STIC LW,LV'/10X,'CON = T0,T1C,T1S,TN/2 TT DA,DR D1C,DP'/10- 3X,'GUST = UG,VG,WG') 989 FORMAT ( /10X,'DOF =',1X,15I1,3X,9I1,3X,3I1,3X,3I1,3X,I1,3X,3I1,3X- 1,8I1,3X,2I1/10X,'CON =',1X,8I1,3X,I1,3X,2I1,3X,3I1/10X,'GUST =',1X- 2,3I1) 988 FORMAT (//1X,'COMPUTATION PARAMETERS',15X,'CSYSAN - STEPS =',I4//) 986 FORMAT (1X,'ENGLISH UNITS (FT, SLUG, SEC)') 985 FORMAT (1X,'METRIC UNITS (M, KG, SEC)') VEL=0. VKTS=0. VTIP=0. RPM=0. READ (5,NLTR) IF ((OPUNIT.NE.1).AND.(OPUNIT.NE.2)) OPUNIT=1 IF ((RPM .NE. 0.) .AND. (VTIP .EQ. 0.)) VTIP=RADIUS*RPM*.1047198 IF (VTIP .EQ. 0.) VTIP=VTIPN IF (RPM .EQ. 0.) RPM=VTIP/RADIUS/.1047198 IF (VEL .EQ. 0.) VEL=VKTS/VTIP/CKNOT(OPUNIT) IF (VKTS .EQ. 0.) VKTS=VEL*VTIP*CKNOT(OPUNIT) CALL AIR(ALTMSL,TEMP,DENSE,CSOUND,GRAV,ALTD,OPUNIT) CALL TRII(T75,T1C,T1S,1) CALL RTRII(OPREAD,DEBUG,VTIP,T75,T1C,T1S,DENSE,CSOUND,OPUNIT) IF (OPFLOW .GT. 0) OPFLOW=-1 IF ((OPMOTR .NE. 0) .AND. (OPMOTR .NE. 3)) GO TO 120 PTRIM=0. IF (OPTRIM .GT. 0) OPTRIM=2 120 IF ((OPSYMM .LT. 0) .OR. (OPMOTR .EQ. 1)) OPGOVR=0 DO 20 K=1,44 IF (DOF(K) .NE. 0) DOF(K)=1 IF (NBLADE .NE. 2) GO TO 123 IF ((K .GE. 11) .AND. (K .LE. 15)) DOF(K)=0 IF ((K .GE. 22) .AND. (K .LE. 24)) DOF(K)=0 123 IF (K .GT. 14) GO TO 20 IF (CON(K) .NE. 0) CON(K)=1 IF ((K .GT. NBLADE) .AND. (K .LE. 8)) CON(K)=0 IF (K .GT. 3) GO TO 20 IF (GUST(K) .NE. 0) GUST(K)=1 20 CONTINUE IF (NBLADE .EQ. 2) DOF(26)=0 IF (GIMBAL .EQ. 0) DOF(25)=0 IF (GIMBAL .EQ. 0) DOF(26)=0 IF (OPMOTR .EQ. 1) DOF(27)=0 IF (OPMOTR .LE. 1) DOF(31)=0 IF (OPSYMM .LT. 0) CON(14)=0 IF (OPSYMM .GT. 0) GUST(2)=0 IF (OPGRND .NE. 0) DOF(28)=1 IF (OPTORS .EQ. 0) GO TO 124 DO 125 K=16,24 IF (OPTORS .EQ. 1) DOF(K)=0 IF ((OPTORS .EQ. 2) .AND. (K .LE. 15+NBLADE)) DOF(K)=1 125 CONTINUE 124 NBM=0 DO 22 K=1,5 DO 22 KB=1,NBLADE J=(K-1)*NBLADE+KB IF (J .GT. 15) GO TO 22 IF (DOF(J) .NE. 0) NBM=K 22 CONTINUE NBM=MAX0(1,NBM) NTM=0 DO 23 K=1,3 DO 23 KB=1,NBLADE J=(K-1)*NBLADE+KB IF (J .GT. 9) GO TO 23 IF (DOF(J+15) .NE. 0) NTM=K 23 CONTINUE NTM=MAX0(1,NTM) NEM=0 DO 24 K=1,8 IF (DOF(K+34) .NE. 0) NEM=K 24 CONTINUE NEM=MAX0(1,NEM) VCLIMB=VEL*VTIP*SIN(ACLIMB/CVERT) PRINT 999, (TITLE(I), I=1,18) PRINT 998, VKTS,ATILT,RADIUS,VEL,OMEGA,VTIP,ALTMSL,IB IF (TEMP .LE. 999.) PRINT 997, RPM,TEMP,NBLADE IF (TEMP .GE. 1000.) PRINT 996, RPM,NBLADE PRINT 995, ACLIMB,ALTD,GAMMA,VCLIMB,DENSE,SIGMA IF (ROTATE .EQ. 1) PRINT 994, ALTAGL,CSOUND,FSCG,WEIGHT IF (ROTATE .EQ.-1) PRINT 993, ALTAGL,CSOUND,FSCG,WEIGHT PRINT 992, OPSYMM,OPFLOW,OPTRIM,OPMOTR,OPGOVR,OPGRND,OPAERO,OPMODE- 1,OPAERR,OPTORS,OPLMDA,OPINTR,OPQRTR IF (OPSYMM .GT. 0) PRINT 991 IF (OPSYMM .LT. 0) PRINT 990 PRINT 989, (DOF(I), I=1,44),(CON(I), I=1,14),(GUST(I), I=1,3) PRINT 988, JCNST IF (OPUNIT .EQ. 1) PRINT 986 IF (OPUNIT .EQ. 2) PRINT 985 CALL TRII(T75,T1C,T1S,2) CALL MODE CALL TRTRIM IF (TONLY .NE. 0) GO TO 101 IF (DEBUG .GE. 2) WRITE (6,NLTR) GO TO 1 101 CONTINUE NBLD=NBLADE IF (OPFLOW .LT. 0) NBLD=JCNST PSI=0. IF ((NBLADE.GE.3).AND.(OPFLOW.EQ.0)) CALL ROTOR0 IF ((NBLADE.GE.3).AND.(OPFLOW.NE.0)) CALL ROTOR(OPFLOW,PSI,NBLD) IF (NBLADE .EQ. 2) CALL ROTOR2(OPFLOW,PSI,NBLD) CALL TRBODY DO 131 I=1,3 DO 132 K=1,30 BGH(K,I)=0. DO 132 J=1,3 132 BGH(K,I)=BGH(K,I)+BGR(K,J)*RSV(J,I) DO 133 K=1,6 DGH(K,I)=0. DO 133 J=1,3 133 DGH(K,I)=DGH(K,I)+DGR(K,J)*RSV(J,I) 131 CONTINUE DO 134 I=1,3 DO 135 K=1,30 135 BGR(K,I)=BGH(K,I) DO 134 K=1,6 134 DGR(K,I)=DGH(K,I) DO 136 I=1,3 DO 136 K=1,11 BGH(K,I)=0. DO 136 J=1,3 136 BGH(K,I)=BGH(K,I)+BGW(K,J)*RFV(J,I) DO 137 I=1,3 DO 137 K=1,11 137 BGW(K,I)=BGH(K,I) CNST1=1.+KRRL IF (OPSYMM .LT. 0) CNST1=1.-KRRL DO 231 I=1,30 A1R(28,I)=CNST1*A1R(28,I) 231 A0R(28,I)=CNST1*A0R(28,I) DO 232 I=1,6 AA1R(28,I)=CNST1*AA1R(28,I) AA0R(28,I)=CNST1*AA0R(28,I) IF (I .GT. 3) GO TO 232 BGR(28,I)=CNST1*BGR(28,I) 232 CONTINUE DO 31 I=1,1936 A2(I)=0. A1(I)=0. 31 A0(I)=0. DO 32 I=1,748 32 B0(I)=0. DO 33 I=1,30 DO 33 K=1,30 JA=(I-1)*44+K A2(JA)=A2R(K,I) A1(JA)=A1R(K,I) 33 A0(JA)=A0R(K,I) DO 34 I=1,8 DO 34 K=1,30 JB=(I-1)*44+K 34 B(JB)=BR(K,I) DO 35 I=1,3 DO 35 K=1,30 JB=(I-1)*44+K 35 BG(JB)=BGR(K,I) CNSTL=GAMMA/(SIGMA*5.7)*DENSE A2(1216)=A2(1216)+.85*CNSTL A2(1261)=A2(1261)+.22*CNSTL A2(1306)=A2(1306)+.22*CNSTL CNST1=SQRT((MU**2+MUY**2)/KFLMDA**2+LAMDA0**2/KHLMDA**4) A1(1261)=A1(1261)+CNST1*CNSTL A1(1306)=A1(1306)+CNST1*CNSTL CNSTL=CNSTL*2.*(CNST1+(LAMDA0-MUZ)*LAMDA0/KHLMDA**4/CNST1) A1(1216)=A1(1216)+CNSTL IF (OPMOTR .LE. 1) GO TO 234 CIENG=IENG*RTRANS**2/(FLOAT(NBLADE)*IB) CNST1=FLOAT(NBLADE)*IB*OMEGA**2 CICS=0. IF (OPSYMM .LT. 0) CICS=KICS CKMR=KMAST/(KMAST+CICS) CKMI=CKMR*CICS/CNST1 CNST1=KENG/(KMAST+KENG+CICS)/CNST1 CKEM=CNST1*(KMAST+CISC) CKEI=CNST1*CICS A2(1171)=A2(1171)+CKMR*CIENG A2(1347)=A2(1347)+CKMR*CIENG A1(1171)=A1(1171)+CKMR*EDAMP A1(1347)=A1(1347)+CKMR*EDAMP A0(1171)=A0(1171)+CKMI B(379)=B(379)+CKMR*QTHRTL A2(1175)=A2(1175)+CIENG A2(1351)=A2(1351)+CIENG A1(1175)=A1(1175)+EDAMP A1(1351)=A1(1351)+EDAMP A0(1175)=A0(1175)+CKEI A0(1351)=A0(1351)+CKEM B(383)=B(383)+QTHRTL 234 CNSTG=KENG/(KMAST+KENG) IEULER=1 IF (OPSYMM .LT. 0) IEULER=2 DO 41 I=1,11 DO 41 K=1,30 JA=(I+30)*44+K DO 41 J=1,6 A2(JA)=A2(JA)+AA2R(K,J)*CAW(J,I) A1(JA)=A1(JA)+AA1R(K,J)*CAW(J,I) IF (I .LE. IEULER) GO TO 41 A0(JA)=A0(JA)+AA0R(K,J)*CAW(J,I) 41 CONTINUE DO 42 I=1,30 DO 42 K=1,11 JA=(I-1)*44+K+31 DO 42 J=1,6 A2(JA)=A2(JA)-2.*AAW(K,J)*C2R(J,I) A1(JA)=A1(JA)-2.*AAW(K,J)*C1R(J,I) 42 A0(JA)=A0(JA)-2.*AAW(K,J)*C0R(J,I) DO 43 I=1,6 DO 43 K=1,11 C2H(K,I)=0. C1H(K,I)=0. C0H(K,I)=0. DO 43 J=1,6 C1H(K,I)=C1H(K,I)+2.*AAW(K,J)*CA1R(J,I) C0H(K,I)=C0H(K,I)+2.*AAW(K,J)*CA0R(J,I) IF ((I .LE. 3) .OR. (J .LE. 3)) GO TO 43 C2H(K,I)=C2H(K,I)+2.*AAW(K,J)*CA2R(J,I) 43 CONTINUE DO 44 I=1,13 DO 44 K=1,11 JA=(I+30)*44+K+31 A2(JA)=A2W(K,I) A1(JA)=A1W(K,I) A0(JA)=A0W(K,I) IF (I .GT. 11) GO TO 44 DO 48 J=1,6 A2(JA)=A2(JA)-C2H(K,J)*CAW(J,I) A1(JA)=A1(JA)-C1H(K,J)*CAW(J,I) IF (I .LE. IEULER) GO TO 48 A0(JA)=A0(JA)-C0H(K,J)*CAW(J,I) 48 CONTINUE 44 CONTINUE DO 45 I=1,IEULER IF (OPSYMM .GT. 0) IC=2 IF (OPSYMM .LT. 0) IC=2*I-1 DO 45 K=1,30 JA=(I+30)*44+K DO 45 J=1,3 A1(JA)=A1(JA)+AA2R(K,J)*CBW(J,IC) IF (K .GT. 11) GO TO 45 A1(JA+31)=A1(JA+31)-C2H(K,J)*CBW(J,IC) 45 CONTINUE DO 46 I=1,2 DO 46 K=1,11 JB=(I+8)*44+K+31 46 B(JB)=BW(K,I) DO 47 I=1,3 DO 47 K=1,11 JB=(I-1)*44+K+31 BG(JB)=BGW(K,I) DO 47 J=1,6 47 BG(JB)=BG(JB)+2.*AAW(K,J)*DGR(J,I) A2(1891)=TAUW A1(1891)=1. A1(1231)=2.*CWRTR A1(1936)=1. IF (OPSYMM .LT. 0) GO TO 241 A2(1936)=TAUH A1(1232)=2.*CHRTR GO TO 242 241 A2(1936)=TAUV A1(1232)=2.*CVRTR 242 IF (OPGRND .EQ. 0) GO TO 243 GLAMDA=(LAMDA0-MUZ)/(1.-(CSEGE*.25/ZAGL)**2) IF (OPSYMM .LT. 0) GO TO 244 DLDZ=CNSTL*GLAMDA*CSEGE**2*.125/ZAGL**3 SNT=SIN(THETAF) CST=COS(THETAF) A0(1392)=A0(1392)-DLDZ*(ZRTR*SNT+XRTR*CST) A0(1436)=A0(1436)-DLDZ*SNT A0(1480)=A0(1480)+DLDZ*CST DO 245 I=1,NEM JA=(I+33)*44+28 245 A0(JA)=A0(JA)+DLDZ*(-ZETARS(1,I)*SNT+ZETARS(3,I)*CST) GO TO 243 244 DLDZS=GLAMDA*CSEGE**2*.125/ZAGL**3 ZEFF=ZAGL/CSEGE DLDZUS=-GLAMDA*(((.1649*ZEFF-1.216)*ZEFF+2.726)*ZEFF-1.722) DLDZ=CNSTL*(DLDZS+AMIN1(0.,KRLGE*(DLDZUS-DLDZS))) SNT=SIN(THETAF) CST=COS(THETAF) A0(1392)=A0(1392)+DLDZ*YRTR*CST DO 246 I=1,NEM JA=(I+33)*44+28 246 A0(JA)=A0(JA)+DLDZ*(-ZETARA(1,I)*SNT+ZETARA(3,I)*CST) 243 CNSTC=B(61)*RADIUS CNSTS=B(106)*RADIUS IF (NBLADE .EQ. 2) GO TO 151 IF (OPTORS .EQ. 1) GO TO 153 DO 152 I=1,NEM JA=(I+33)*44+17 A0(JA)=A0(JA)+CNSTC*KPMC(I) 152 A0(JA+1)=A0(JA+1)+CNSTS*KPMS(I) GO TO 153 151 SNPSI=SIN(PSI) CSPSI=COS(PSI) DO 154 I=1,NEM JA=(I+33)*44+17 154 A0(JA)=A0(JA)+CNSTC*KPMC(I)*CSPSI+CNSTC*KPMS(I)*SNPSI 153 IF (OPTORS .NE. 1) GO TO 50 JN=44*NBLADE DO 52 J=1,JN 52 B(J)=-A0(J+660) DO 53 I=1,NBM DO 53 J=1,JN JA=(I-1)*JN+J IF (JA .GT. 660) GO TO 53 A0(JA)=A0(JA)-KPB(I)*A0(J+660) 53 CONTINUE IF (GIMBAL .EQ. 0) GO TO 54 JN=88 IF (NBLADE .EQ. 2) JN=44 DO 55 J=1,JN 55 A0(J+1056)=A0(J+1056)-KPG*A0(J+704) 54 IF (NBLADE .EQ. 2) GO TO 57 DO 58 J=1,44 58 A0(J+1144)=A0(J+1144)+TRS*A0(J+704)-TRC*A0(J+748) GO TO 56 57 TCYC=-TRC*SNPSI+TRS*CSPSI DO 59 J=1,44 59 A0(J+1144)=A0(J+1144)+TCYC*A0(J+704) 56 IF (NBLADE .EQ. 2) GO TO 155 DO 156 I=1,NEM DO 156 J=1,44 JA=(I+33)*44+J 156 A0(JA)=A0(JA)-(KPMC(I)*A0(J+704)+KPMS(I)*A0(J+748))*RADIUS GO TO 50 155 DO 158 I=1,NEM DO 158 J=1,44 JA=(I+33)*44+J 158 A0(JA)=A0(JA)-(KPMC(I)*CSPSI+KPMS(I)*SNPSI)*A0(J+704)*RADIUS 50 IF (OPGOVR .EQ. 0) GO TO 51 CNST1=1. IF (OPGOVR .NE. 2) CNST1=AMAX1(0.,AMIN1(1.,ATILT/90.)) DO 251 I=1,44 CNSTB=KIRGOV*B(I)+KIEGOV*B(I+352) A0(I+1144)=A0(I+1144)-CNSTB A0(I+1320)=A0(I+1320)-CNSTB*CNSTG CNSTB=(KPRGOV*B(I)+KPEGOV*B(I+352))*OMEGA*CNST1 A1(I+1144)=A1(I+1144)-CNSTB 251 A1(I+1320)=A1(I+1320)-CNSTB*CNSTG 51 IF (OPSYMM .LT. 0) GO TO 331 DO 332 I=1,3 DO 332 K=1,44 DO 332 J=1,6 JB=(I+10)*44+K J1=(J-1)*44+K IF (J .GE. 4) J1=J1+220 332 B(JB)=B(JB)+B(J1)*TCFES(J,I) GO TO 333 331 DO 334 I=1,2 DO 334 K=1,44 DO 334 J=1,6 JB=(I+10)*44+K J1=(J-1)*44+K IF (J .GE. 4) J1=J1+220 334 B(JB)=B(JB)+B(J1)*TCFEA(J,I) 333 CONTINUE MX=0 MX1=0 MX0=0 MV=0 MVG=0 DO 61 I=1,44 MX=MX+DOF(I) DOF1(I)=1 61 DOF0(I)=1 IF ((OPFLOW .NE. 0) .OR. (OPSYMM .LT. 0)) GO TO 62 IF ((OPGOVR.NE.0) .AND. ((KIRGOV.NE.0.).OR.(KIEGOV.NE.0.))) GO TO - 162 DOF1(27)=0 IF (DOF(27) .NE. 0) MX1=MX1+1 62 DO 63 I=28,30 DOF1(I)=0 IF (DOF(I) .EQ. 0) GO TO 63 MX1=MX1+1 IF (OPLMDA .NE. 0) GO TO 63 DOF0(I)=0 MX0=MX0+1 63 CONTINUE DO 64 I=43,44 DOF1(I)=0 IF (DOF(I) .EQ. 0) GO TO 64 MX1=MX1+1 IF (OPINTR .NE. 0) GO TO 64 DOF0(I)=0 MX0=MX0+1 64 CONTINUE IF (OPTORS .NE. 2) GO TO 65 DO 66 I=16,24 IF (DOF(I) .EQ. 0) GO TO 66 DOF0(I)=0 MX0=MX0+1 66 CONTINUE 65 IF (A0(1436) .EQ. 0.) DOF1(33)=0 IF (A0(1480) .EQ. 0.) DOF1(34)=0 IF ((DOF1(33).EQ.0).AND.(DOF(33).EQ.1)) MX1=MX1+1 IF ((DOF1(34).EQ.0).AND.(DOF(34).EQ.1)) MX1=MX1+1 IF (OPQRTR .EQ. 0) GO TO 161 DO 162 I=1,31 IF (DOF(I) .EQ. 0) GO TO 162 IF (DOF0(I) .EQ. 0) GO TO 162 IF ((OPSYMM .GT. 0) .AND. (I .EQ. 27)) GO TO 162 DOF0(I)=0 MX0=MX0+1 162 CONTINUE IF (OPQRTR .EQ. 1) GO TO 161 DO 163 I=35,44 IF (DOF(I) .EQ. 0) GO TO 163 IF (DOF0(I) .EQ. 0) GO TO 163 DOF0(I)=0 MX0=MX0+1 163 CONTINUE 161 DO 67 I=1,14 67 MV=MV+CON(I) DO 68 I=1,3 68 MVG=MVG+GUST(I) CALL DERED(44,14,3,DOF,CON,GUST,A2,A1,A0,B,BG,DOF1,DOF0) MVX=MX*MV MVGX=MX*MVG DO 69 I=1,MVGX I1=I+MVX 69 B0(I1)=BG(I) MV=MV+MVG IF (MX0 .NE. 0) CALL QSTRAN(MX,MX0,MX1,MV,A2,A1,A0,B0,DOF1,DOF0) IF (DEBUG .EQ. 0) GO TO 81 MXSQ1=MX*MX+1 IF (MXSQ1 .GT. 1936) GO TO 82 DO 83 I=MXSQ1,1936 A2(I)=0. A1(I)=0. 83 A0(I)=0. 82 MVX1=MX*MV+1 IF (MVX1 .GT. 748) GO TO 81 DO 85 I=MVX1,748 85 B0(I)=0. 81 IF (DEBUG .GE. 2) WRITE(6,NLTR) IF (DEBUG .EQ. 3) WRITE(6,NLR) IF (DEBUG .EQ. 3) WRITE(6,NLS) IF ((DEBUG.EQ.1).OR.(DEBUG.EQ.3)) WRITE(6,NLEQ) 1 CONTINUE RETURN END

SUBROUTINE HLAERO(VEL,VELX,VELY,VELZ,THETAF,PHIF,DEBUG) INTEGER DEBUG COMMON /FAERO/CZDZ,CZDX,CZDT,CZDDZ,CXDZ,CXDX,CXDT,CTDZ,CTDX,CTDT,C- 1TDDZ,CZDQ(8),CZQ(8),CXDQ(8),CXQ(8),CTDQ(8),CTQ(8),CQDZ(8),CQDX(8),- 2CQDT(8),CQDQ(8,8),CQQ(8,8),CZF,CZE,CZLW,CZLH,CXF,CXE,CXLW,CXLH,CTF- 3,CTE,CTLW,CTLH,CQF(8),CQE(8),CQLW(8),CQLH(8),CFDF,CFDP,CFDY,CPDF,C- 4PDP,CPDY,CYDF,CYDP,CYDY,CFDQ(8),CFQ(8),CPDQ(8),CPQ(8),CYDQ(8),CYQ(- 58),CQDF(8),CQDP(8),CQDY(8),CQDQA(8,8),CQQA(8,8),CFA,CFR,CFLV,CPA,C- 6PR,CPLV,CYA,CYR,CYLV,CQA(8),CQR(8),CQLV(8),CFDZ,CFDX,CFLW,CPDZ,CPD- 7X,CPLW,CYDZ,CYDX,CYLW,CQDZA(8),CQDXA(8),CQLWA(8) COMMON /XTRIM/LW,DW,MYW,YW,MXW,MZW,LH,DH,LV,DV,LAW,LFW,LEW,DAW,DFW- 1,DEW,MAW,MFW,NXBW,NZBW,YBW,LAH,LEH,DAH,DEH,LAV,LEV,DAV,DEV REAL LW,MYW,MXW,MZW,LH,LV,LAW,LFW,LEW,MAW,MFW,NXBW,NZBW,LAH,LEH,LA- 1V,LEV COMMON /FADATA/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,DRG- 10W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB,S- 2PANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,LF- 3TEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,XWB,ZWB,XHT,ZHT,XV- 4T,ZVT,RADIUS,GAMSA,AFLAP REAL LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,KCLB,IWB,LFLA- 1PO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,IHT,LFTAV,LFTEV,IVT COMMON /FEDATA/EZZ(10,10),EXX(10,10),EZX(10,10),EXZ(10,10),EZ(10),- 1EX(10),ET(10),EZT(10,10),EXT(10,10),ETT(10,10),EZD(10),EXD(10),EZL- 2(10),EXL(10),ETL(10),FZH(10),FXH(10),FTH(10),FYW(10),FFH(10),FYV(1- 30),FFV(10),FPV(10),IDENT(10) REAL KLAW,KDAW,KLUW,KDUW,KLTW,KDTW,KLEW,KDEW,KLWW,KDWW,KLAH,KDAH,K- 1LUH,KDUH,KLTH,KDTH,KLEH,KDEH,KLWH,KDWH,KLAV,KDAV,KLUV,KDUV,KLTV,KD- 2TV,KLEV,KDEV,KLWV,KDWV,KMAW,KMUW,KLFW,KDFW REAL ZERO(530),LVT EQUIVALENCE (ZERO(1),CZDZ) NAMELIST /NLDB/LW,DW,MYW,YW,MXW,MZW - 1,LH,DH,LV,DV,LAW,LFW,LEW,DAW,DFW,DEW,MAW,MFW,NXBW,NZBW,YBW,LAH,LEH- 2,DAH,DEH,LAV,LEV,DAV,DEV, - 3CZDZ,CZDX,CZDT,CZDDZ,CXDZ,CXDX,CXDT,CTDZ,CTDX,CTDT,CTDDZ,CZDQ,CZQ,- 4CXDQ,CXQ,CTDQ,CTQ,CQDZ,CQDX,CQDT,CQDQ,CQQ,CZF,CZE,CZLW,CZLH,CXF,CX- 5E,CXLW,CXLH,CTF,CTE,CTLW,CTLH,CQF,CQE,CQLW,CQLH,CFDF,CFDP,CFDY,CPD- 6F,CPDP,CPDY,CYDF,CYDP,CYDY,CFDQ,CFQ,CPDQ,CPQ,CYDQ,CYQ,CQDF,CQDP,CQ- 7DY,CQDQA,CQQA,CFA,CFR,CFLV,CPA,CPR,CPLV,CYA,CYR,CYLV,CQA,CQR,CQLV,- 8CFDZ,CFDX,CFLW,CPDZ,CPDX,CPLW,CYDZ,CYDX,CYLW,CQDZA,CQDXA,CQLWA, - F KLAW,KDAW,KLUW,KDUW,KLTW,KDTW,KLEW,KDEW,KLWW,KDWW,KLAH,KDAH,K- GLUH,KDUH,KLTH,KDTH,KLEH,KDEH,KLWH,KDWH,KLAV,KDAV,KLUV,KDUV,KLTV,KD- HTV,KLEV,KDEV,KLWV,KDWV,KMAW,KMUW,KLFW,KDFW, - ALFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,DRG0W,DRGDW,DRGFW,- BDRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB,SPANW,AREAW,CHOR- CDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,AMAXH,IHT,S- DPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,EZZ,EXX,EZX,EXZ,EZ,EX,ET,EZT,EXT,- EETT,EZD,EXD,EZL,EXL,ETL,FZH,FXH,FTH,FYW,FFH,FYV,FFV,FPV,IDENT FLA(X1,X2,X3,X4)=((X2+X3)*CS*CS+2.*X3*SN*SN+(X4+X1)*SN*CS)/RAREA FDA(X1,X2,X3,X4)=((X4-X1)*CS*CS-2.*X1*SN*SN-(X2-X3)*SN*CS)/RAREA FLU(X1,X2,X3,X4)=(2.*X1*CS*CS-(X4-X1)*SN*SN-(X2-X3)*SN*CS)/RAREA FDU(X1,X2,X3,X4)=(2.*X3*CS*CS+(X2+X3)*SN*SN-(X4+X1)*SN*CS)/RAREA FLD(X1,X2)=(X1*CS+X2*SN)/RAREA FDL(X1,X2)=(X2*CS-X1*SN)/RAREA DO 1 I=1,530 1 ZERO(I)=0. IF (VEL .EQ. 0.) RETURN QY=COS(PHIF) RX=-SIN(THETAF) RY=SIN(PHIF)*COS(THETAF) RZ=COS(PHIF)*COS(THETAF) V1=GAMSA*VEL V2=V1*VEL RAREA=3.141593*RADIUS**2 RAREAR=RAREA*RADIUS PHIW=DIHEDW/57.29578 PSIW=SWEEPW/57.29578 CS=0. SN=0. IF ((VELX .EQ. 0.) .AND. (VELZ .EQ. 0.)) GO TO 2 CS=VELX/SQRT(VELX**2+VELZ**2) SN=VELZ/SQRT(VELX**2+VELZ**2) 2 KLAW=FLA(LW,LAW,DW,DAW) KDAW=FDA(LW,LAW,DW,DAW) KLUW=FLU(LW,LAW,DW,DAW) KDUW=FDU(LW,LAW,DW,DAW) KMAW=(MAW*CS+2.*MYW*SN)/RAREAR KMUW=(2.*MYW*CS-MAW*SN)/RAREAR KLTW=FLD(LAW,DAW) KDTW=FDL(LAW,DAW) KLEW=FLD(LEW,DEW) KDEW=FDL(LEW,DEW) KLFW=FLD(LFW,DFW) KDFW=FDL(LFW,DFW) KLWW=FLD(LAW+DW,DAW-LW) KDWW=FDL(LAW+DW,DAW-LW) KLAH=FLA(LH,LAH,DH,DAH) KDAH=FDA(LH,LAH,DH,DAH) KLUH=FLU(LH,LAH,DH,DAH) KDUH=FDU(LH,LAH,DH,DAH) KLTH=FLD(LAH,DAH) KDTH=FDL(LAH,DAH) KLEH=FLD(LEH,DEH) KDEH=FDL(LEH,DEH) KLWH=FLD(LAH+DH,DAH-LH) KDWH=FDL(LAH+DH,DAH-LH) CS=0. SN=0. IF ((VELX .EQ. 0.) .AND. (VELY .EQ. 0.)) GO TO 3 CS=VELX/SQRT(VELX**2+VELY**2) SN=VELY/SQRT(VELX**2+VELY**2) 3 KLAV=FLA(LV,LAV,DV,DAV) KDAV=FDA(LV,LAV,DV,DAV) KLUV=FLU(LV,LAV,DV,DAV) KDUV=FDU(LV,LAV,DV,DAV) KLTV=FLD(LAV,DAV) KDTV=FDL(LAV,DAV) KLEV=FLD(LEV,DEV) KDEV=FDL(LEV,DEV) KLWV=FLD(LAV+DV,DAV-LV) KDWV=FDL(LAV+DV,DAV-LV) DEDA=0. IF (AREAW .NE. 0.) DEDA=.45*LAW/AREAW/((SPANW**2/AREAW)**.735*(ABS- 1(XHT*RADIUS/CHORDW))**.25) DSDB=1. DSDP=0. DSDR=1. DEDA1=1.-DEDA DLF=LFLAPO-LFLAPI DLA=LAILO**2-LAILI**2 CZDZ=-V1*(KLAW+DEDA1*KLAH) CZDX=-V1*(KLUW+KLUH) CZDT=-V1*QY*(ZWB*KLUW-XWB*KLAW+ZHT*KLUH-XHT*KLAH) CZDDZ=-V1*DEDA*(ZHT*KLUH-XHT*KLAH) CXDZ=-V1*(KDAW+DEDA1*KDAH) CXDX=-V1*(KDUW+KDUH) CXDT=-V1*QY*(ZWB*KDUW-XWB*KDAW+ZHT*KDUH-XHT*KDAH) CTDZ=-V1*QY*(ZWB*KDAW-XWB*KLAW+DEDA1*(ZHT*KDAH-XHT*KLAH)-KMAW) CTDX=-V1*QY*(ZWB*KDUW-XWB*KLUW+DEDA1*(ZHT*KDUH-XHT*KLUH)-KMUW) CTDT=-V1*QY*QY*(XWB*XWB*KLAW+ZWB*ZWB*KDUW-XWB*ZWB*(KDAW+KLUW)+XHT*- 1XHT*KLAH+ZTH*ZHT*KDUH-XHT*ZHT*(KDAH+KLUH)) CTDDZ=-V1*QY*DEDA*(XHT*XHT*KLAH+ZHT*ZHT*KDUH-XHT*ZHT*(KDAH+KLUH)) CZF=-V2*DLF*KLFW CZE=-V2*KLEH CZLW=V1*KLWW CZLH=V1*KLWH CXF=-V2*DLF*KDFW CXE=-V2*KDEH CXLW=V1*KDWW CXLH=V1*KDWH CTF=-V2*QY*DLF*(ZWB*KDFW-XWB*KLFW-MFW/RAREAR) CTE=-V2*QY*(ZHT*KDEH-XHT*KLEH) CTLW=V1*QY*(ZWB*KDWW-XWB*KLWW-MAW/RAREAR) CTLH=V1*QY*(ZHT*KDWH-XHT*KLWH) LVT=XVT*RZ-ZVT*RX S1=.25*SPANW/RADIUS S2=(SPANW/RADIUS)**2/12. CFDF=-V1*(S2*KLAW+DSDP*ZVT*ZVT*KLAV) CFDP=-V1*(S2*(-RZ*KLUW+RX*KLAW)-DSDR*(ZVT*LVT*KLAV+ZVT*ZVT*RY*KLUV- 1)) CFDY=-V1*(S1*(PSIW*KLUW+PHIW*KLAW)*KCLB-DSDB*ZVT*KLAV-NXBW/RAREAR) CPDF=-V1*(S2*(-RZ*KDAW+RX*KLAW)-DSDP*(ZVT*LVT*KLAV+ZVT*ZVT*RY*KDAV- 1)) CPDP=-V1*(S2*(RZ*RZ*KDUW+RX*RX*KLAW-RZ*RX*(KDAW+KLUW))+DSDR*(LVT*L- 1VT*KLAV+(ZVT*RY)**2*KDUV+LVT*ZVT*RY*(KDAV+KLUV))) CPDY=-V1*(-S1*RZ*(PSIW*KDUW+PHIW*KDAW)+S1*RX*(PSIW*KLUW+PHIW*KLAW)- 1+DSDB*(LVT*KLAV+ZVT*RY*KDAV)-RZ*NZBW/RAREAR) CYDF=-V1*(S1*(PSIW*KDAW+PHIW*KLAW)-DSDP*ZVT*KLAV) CYDP=-V1*(-S1*RZ*(PSIW*KDUW+PHIW*KLUW)+S1*RX*(PSIW*KDAW+PHIW*KLAW)- 1+DSDR*(LVT*KLAV+ZVT*RY*KLUV)) CYDY=-V1*(DSDB*KLAV-YBW/RAREA) CFA=-V2*S1*DLA*KLEW CFR=V2*ZVT*KLEV CFLV=-V1*ZVT*KLWV CPA=-V2*S1*DLA*(RX*KLEW-RZ*KDEW) CPR=-V2*(LVT*KLEV+ZVT*RY*KDEV) CPLV=V1*(LVT*KLWV+ZVT*RY*KDWV) CYA=-V2*S1*DLA*(PSIW*KDEW+PHIW*KLEW) CYR=-V2*KLEV CYLV=V1*KLWV CFDZ=-V1*S1*KLAW CFDX=-V1*S1*KLUW CFLW=V1*S1*KLWW CPDZ=-V1*S1*(-RZ*KDAW+RX*KLAW) CPDX=-V1*S1*(-RZ*KDUW+RX*KLUW) CPLW=V1*S1*(-RZ*KDWW+RX*KLWW) CYDZ=-V1*(PSIW*KDAW+PHIW*KLAW) CYDX=-V1*(PSIW*KDUW+PHIW*KLUW) CYLW=V1*(PSIW*KDWW+PHIW*KLWW) IA=0 IS=0 DO 40 I=1,10 IF (IDENT(I)) 41,40,42 42 IS=IS+1 CEX=EX(I) CEZ=EZ(I) CFX=FXH(I) CFZ=FZH(I) CZDQ(IS)=-V1*(-CEX*KLUW-CEZ*KLAW+CFX*KLUH+CFZ*KLAH) CZQ(IS)=-V2*(ET(I)*KLTW+FTH(I)*KLTH) CXDQ(IS)=-V1*(-CEX*KDUW-CEZ*KDAW+CFX*KDUH+CFZ*KDAH) CXQ(IS)=-V2*(ET(I)*KDTW+FTH(I)*KDTH) CTDQ(IS)=-V1*QY*(-CEX*(ZWB*KDUW-XWB*KLUW)-CEZ*(ZWB*KDAW-ZWB*KLAW)+- 1CFX*(ZHT*KDUH-XHT*KLUH)+CFZ*(ZHT*KDAH-XHT*KLAH)) CTQ(IS)=-V2*(ET(I)*(ZWB*KDTW-XWB*KLTW)+FTH(I)*(ZHT*KDTH-XHT*KLTH)) CQDZ(IS)=-V1*(-CEX*KDAW-CEZ*KLAW+CFX*KDAH+CFZ*KLAH) CQDX(IS)=-V1*(-CEX*KDUW-CEZ*KLUW+CFX*KDUH+CFZ*KLUH) CQDT(IS)=-V1*QY*(-CEX*(ZWB*KDUW-XWB*KDAW)-CEZ*(ZWB*KLUW-XWB*KLAW)+- 1CFX*(ZHT*KDUH-XHT*KDAH)+CFZ*(ZHT*KLUH-XHT*KLAH)) CQF(IS)= V2*(EXD(I)*KDFW+EZD(I)*KLFW) CQE(IS)=-V2*(CFX*KDEH+CFZ*KLEH) CQLW(IS)=V1*(-CEX*KDWW-CEZ*KLWW) CQLH(IS)=V1*(CFX*KDWH+CFZ*KLWH) JS=0 DO 43 J=1,10 IF (IDENT(J) .NE. 1) GO TO 43 JS=JS+1 CQDQ(IS,JS)=-V1*(EZZ(I,J)*KLAW+EZX(I,J)*KLUW+EXZ(I,J)*KDAW+EXX(I,J- 1)*KDUW+.125*AREAW*CHORDW/RAREAR*ETT(I,J)+CFZ*(FZH(J)*KLAH+FXH(J)*K- 2LUH)+CFX*(FZH(J)*KDAH+FXH(J)*KDUH)) CQQ(IS,JS)=-V2*(-EXT(I,J)*KDTW-EZT(I,J)*KLTW+FTH(I)*(FZH(J)*KLTH+F- 1XH(J)*KDTH)) 43 CONTINUE GO TO 40 41 IA=IA+1 CEX=EXL(I) CEZ=EZL(I) S3=(SPANH/RADIUS)**2/12. S4=(SPANV/RADIUS)**2/12. CFDQ(IA)=-V1*(-CEX*KLUW-CEZ*KLAW+S3*FFH(I)*KLAH-FYV(I)*ZVT*KLAV) CFQ(IA)=-V2*(ETL(I)*KLTW+FPV(I)*ZVT*KLTV) CPDQ(IA)=-V1*(-CEX*(-RZ*KDUW+RX*KLUW)-CEZ*(-RZ*KDAW+RX*KLAW)+FFH(I- 1)*S3*(-RZ*KDAH+RX*KLAH)+FYV(I)*(LVT*KLAV+ZVT*RY*KDAV)) CPQ(IA)=-V2*(ETL(I)*(RX*KLTW-RZ*KDTW)-FPV(I)*(LVT*KLTV+ZVT*RY*KDTV- 1)) CYDQ(IA)=-V1*(-EX(I)*(PSIW*KDUW+PHIW*KLUW)-EZ(I)*(PSIW*KDAW+PHIW*K- 1LAW)+FYV(I)*KLAV) CYQ(IA)=-V2*(ET(I)*(PHIW*KLTW+PSIW*KDTW)-FPV(I)*KLTV) CQDF(IA)=-V1*(-CEX*KDAW-CEZ*KLAW+FFH(I)*S3*KLAH-FYV(I)*ZVT*KLAV) CQDP(IA)=-V1*(-CEX*(-RZ*KDUW+RX*KDAW)-CEZ*(-RZ*KLUW+RX*KLAW)+FFH(I- 1)*S3*(-RZ*KLUH+RX*KLAH)+FYV(I)*(LVT*KLAV+ZVT*RY*KLUV)) CQDY(IA)=-V1*(-EX(I)*(PSIW*KDUW+PHIW*KDAW)-EZ(I)*(PSIW*KLUW+PHIW*K- 1LAW)+FYV(I)*KLAV) CQA(IA)=V2*(EXD(I)*KDEW+EZD(I)*KLEW) CQR(IA)=-V2*FYV(I)*KLEV CQLV(IA)=V1*FYV(I)*KLWV CEX=EX(I)-FYW(I)*PSIW CEZ=EZ(I)-FYW(I)*PHIW CQDZA(IA)=V1*(CEX*KDAW+CEZ*KLAW) CQDXA(IA)=V1*(CEX*KDUW+CEZ*KLUW) CQLWA(IA)=-V1*(CEX*KDWW+CEZ*KLWW) JA=0 DO 44 J=1,10 IF (IDENT(J) .NE. -1) GO TO 44 JA=JA+1 CQDQA(IA,JA)=-V1*(EZZ(I,J)*KLAW+EZX(I,J)*KLUW+EXZ(I,J)*KDAW+EXX(I,- 1J)*KDUW+.125*AREAW*CHORDW/RAREAR*ETT(I,J)+FFH(I)*FFH(J)*S3*KLAH+(F- 2YV(I)*FYV(J)+S4*FFV(I)*FFV(J))*KLAV) CQQA(IA,JA)=V2*(EXT(I,J)*KDTW+EZT(I,J)*KLTW+FYV(I)*FPV(J)*KLTV) 44 CONTINUE 40 CONTINUE IF (DEBUG .EQ. 3) WRITE (6,NLDB) RETURN END

SUBROUTINE ACHAR(ALPHA,BETA,DELF,DELA,ALFHT,DELE,ALFVT,DELR) COMMON /XTRIM/LW,DW,MYW,YW,MXW,MZW,LH,DH,LV,DV,LAW,LFW,LEW,DAW,DFW- 1,DEW,MAW,MFW,NXBW,NZBW,YBW,LAH,LEH,DAH,DEH,LAV,LEV,DAV,DEV REAL LW,MYW,MXW,MZW,LH,LV,LAW,LFW,LEW,MAW,MFW,NXBW,NZBW,LAH,LEH,LA- 1V,LEV COMMON /FADATA/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,DRG- 10W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB,S- 2PANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,LF- 3TEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,XWB,ZWB,XHT,ZHT,XV- 4T,ZVT,RADIUS,GAMSA,AFLAP REAL LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,KCLB,IWB,LFLA- 1PO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,IHT,LFTAV,LFTEV,IVT DATA CVERT/57.29578/ ALF=ALPHA+IWB/CVERT IF (ABS(ALF) .GT. AMAXW/CVERT) GO TO 1 DF=AFLAP/CVERT LW=LFTAW*ALF+LFTDW*DF+LFTFW*(LFLAPO-LFLAPI)*DELF LAW=LFTAW LFW=LFTFW LEW=LFTEW DW=DRG0W+LW*LW/PIEL2+DRGDW*DF+DRGFW*(LFLAPO-LFLAPI)*DELF DAW=2.*LW*LAW/PIEL2 DFW=DRGFW IF (LAW .NE. 0.) DFW=DAW*LFW/LAW+DRGFW DEW=DRGEW IF (LAW .NE. 0.) DEW=DAW*LEW/LAW+DRGEW MYW=MOM0W+MOMAW*ALF+MOMDW*DF+MOMFW*(LFLAPO-LFLAPI)*DELF MAW=MOMAW MFW=MOMFW YW=SIDEB*BETA YBW=SIDEB MXW=(-KCLB*.25*SPANW*(SWEEPW*2.*LW+DIHEDW*(LFTAW+DW))/CVERT+ROLLB)- 1*BETA-.25*SPANW*(LAILO**2-LAILI**2)*LFTEW*DELA MZW=(.25*SPANW*(SWEEPW*2.*DW+DIHEDW*(DAW-LW))/CVERT+YAWB)*BETA+.25- 1*SPANW*(LAILO**2-LAILI**2)*DEW*DELA NXBW=ROLLB NZBW=YAWB GO TO 2 1 ALFS=SIGN(AMAXW/CVERT,ALF) LW=LFTAW*ALFS+LFTDW*DF+LFTFW*(LFLAPO-LFLAPI)*DELF LAW=0. LFW=0. LEW=0. DW=(DRGSW-DRG0W)*(SIN(ALF))**2+DRG0W DAW=(DRGSW-DRG0W)*SIN(2.*ALF) DFW=0. DEW=0. MYW=0. MAW=0. MFW=0. YW=0. YBW=0. MXW=0. MZW=0. NXBW=0. NZBW=0. 2 ALF=ALFHT+IHT/CVERT IF (ABS(ALF) .GT. AMAXH/CVERT) GO TO 3 LH=LFTAH*ALF+LFTEH*DELE LAH=LFTAH LEH=LFTEH GO TO 4 3 ALFS=SIGN(AMAXH/CVERT,ALF) LH=LFTAH*ALFS+LFTEH*DELE LAH=0. LEH=0. 4 DH=0. DAH=0. DEH=0. ALF=ALFVT+IVT/CVERT IF (ABS(ALF) .GT. AMAXV/CVERT) GO TO 5 LV=LFTAV*ALF+LFTEV*DELR LAV=LFTAV LEV=LFTEV GO TO 6 5 ALFS=SIGN(AMAXV/CVERT,ALF) LV=LFTAV*ALFS+LFTEV*DELR LAV=0. LEV=0. 6 DV=0. DAV=0. DEV=0. RETURN END BLOCK DATA COMMON /R1DATA/TYPE1,NBLAD1,DEL3G1,NTRM01,NTRM11,MU1,LAMDA1,MTIP1,- 1NBM1,NTM1,GIMBL1,GAMMA1,OMEGA1,RADUS1,SIGMA1,OPAER1,MRAER1,BBLD1,R- 2ROOT1,INCMP1,T1C1,T1S1,T751,MPSI1,MREV1,OPMOD1,OFFST1,MRMOD1,NONRT- 31,NCOLB1,CONE1,IB1,DEL11,XFA1,KPG1,GGS1,GQS1(5),GPS1(3),NCOLT1,WT0- 41,RFA1,HSPRC1,HSPRS1,KPB1(5),RPH1,XPH1,WTCH1,WTSH1,WTRH1,WTC1,WTS1- 5,WTR1,NUGC1,NUGS1,KFLAP1,KLAG1,HINGE1,KPIN1,ATNKP1(5),DROOP1,SWEEP- 61,DEL21,DEL31,ZFA1,VTIPN1,DEBUG1,EPMOD1,GLAG1,LDAMP1,EXDMP1,PHIPH1- 7,PHIPL1,LDMPC1,MUY1,MUZ1,CHORD1(51),XA1(51),MASS1(51),XI1(51),THET- 8A1(51),ITHET1(51),TWIST1(51),EIZZ1(51),EIXX1(51),GJ1(51),XC1(51),D- 9ENSE1,OPUNT1,ELAG1,VTOT1,KHLMD1,KFLMD1,ALFHP1,PSIHP1,T75IN1,T1CIN1- A,T1SIN1,IRING1,ROTAT1,FDROP1,FSWEP1,DEL41,DEL51 REAL MU1,LAMDA1,MTIP1,IB1,MASS1,ITHET1,KPG1,NUGC1,NUGS1,KPB1,KFLAP- 11,KLAG1,LDAMP1,LDMPC1,MUY1,MUZ1,KHLMD1,KFLMD1 INTEGER OPAER1,GIMBL1,OPMOD1,HINGE1,DEBUG1,OPUNT1,ROTAT1 COMMON /R2DATA/TYPE2,NBLAD2,DEL3G2,NTRM02,NTRM12,MU2,LAMDA2,MTIP2,- 1NBM2,NTM2,GIMBL2,GAMMA2,OMEGA2,RADUS2,SIGMA2,OPAER2,MRAER2,BBLD2,R- 2ROOT2,INCMP2,T1C2,T1S2,T752,MPSI2,MREV2,OPMOD2,OFFST2,MRMOD2,NONRT- 32,NCOLB2,CONE2,IB2,DEL12,XFA2,KPG2,GGS2,GQS2(5),GPS2(3),NCOLT2,WT0- 42,RFA2,HSPRC2,HSPRS2,KPB2(5),RPH2,XPH2,WTCH2,WTSH2,WTRH2,WTC2,WTS2- 5,WTR2,NUGC2,NUGS2,KFLAP2,KLAG2,HINGE2,KPIN2,ATNKP2(5),DROOP2,SWEEP- 62,DEL22,DEL32,ZFA2,VTIPN2,DEBUG2,EPMOD2,GLAG2,LDAMP2,EXDMP2,PHIPH2- 7,PHIPL2,LDMPC2,MUY2,MUZ2,CHORD2(51),XA2(51),MASS2(51),XI2(51),THET- 8A2(51),ITHET2(51),TWIST2(51),EIZZ2(51),EIXX2(51),GJ2(51),XC2(51),D- 9ENSE2,OPUNT2,ELAG2,VTOT2,KHLMD2,KFLMD2,ALFHP2,PSIHP2,T75IN2,T1CIN2- A,T1SIN2,IRING2,ROTAT2,FDROP2,FSWEP2,DEL42,DEL52 REAL MU2,LAMDA2,MTIP2,IB2,MASS2,ITHET2,KPG2,NUGC2,NUGS2,KPB2,KFLAP- 12,KLAG2,LDAMP2,LDMPC2,MUY2,MUZ2,KHLMD2,KFLMD2 INTEGER OPAER2,GIMBL2,OPMOD2,HINGE2,DEBUG2,OPUNT2,ROTAT2 COMMON /HINPUT/TITLE(18),VTIP,RPM,VEL,VKTS,OPUNIT,ALTMSL,TEMP,ALTA- 1GL,ACLIMB,AYAW,APITCH,AROLL,COLL,LNGCYC,LATCYC,PEDAL,WEIGHT,AFLAP,- 2ITER,EPTRIM,FACTOR,PTRIM,DOF(80),CON(26),GUST(3),OPSYMM,DOFSYM(80)- 3,CONSYM(26),GUSSYM(3),OPFLOW,OPTORS(2),OPMOTR,OPLMDA(2),OPINTR,OPQ- 4RTR,OPTRIM,OPGOVR,OPREAD,OPGRND,OPAERO,DEBUG,TONLY,MPER,JCNST,NSYS- 5AN,NSTEP,NFREQ,LOCUS,PLOTMX,RESPON,NF,DOFP(80),CONP(29),CNTRL0,CNT- 6RLC,CNTRLS,CNTRLP,THETFP,PSIFP,THETAF,PHIF,VELX,VELY,VELZ,GRAV,DEN- 7SE,CSOUND,FREQ(100) COMMON /GINPUT/ORIENT,ASHAFT(2),ACANT(2),K12H,K12F,K12L,K21H,K21F,- 1K21L,KLTRIM,KWRTR1,KWRTR2,KHRTR1,KHRTR2,KVRTR1,KVRTR2,CWRTR1,CWRTR- 22,CHRTR1,CHRTR2,CVRTR1,CVRTR2,TAUW,TAUH,TAUV,RTRANS,IENG,KMAST1,KM- 3AST2,KICS,KENG,ENGPOS,KPR1GV,KIR1GV,KPR2GV,KIR2GV,KPEGOV,KIEGOV,TH- 4RTLC,NRPOWR,EDAMPC,KPMC1(10),KPMS1(10),KPMC2(10),KPMS2(10),FSR1,WL- 5R1,BLR1,FSR2,WLR2,BLR2,FSCG,WLCG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT,IXX- 6,IYY,IZZ,IXZ,XRTR1,YRTR1,ZRTR1,XRTR2,YRTR2,ZRTR2,XWB,ZWB,XHT,ZHT,X- 7VT,ZVT,AMASS,AIXX,AIYY,AIZZ,AIXZ,KFCCFE,KRCCFE,KFPCFE,KRPCFE,PFCCF- 8E,PRCCFE,PFPCFE,PRPCFE,KF0CFE,KR0CFE,KFSCFE,KRSCFE,KCCFE,KSCFE,PCC- 9FE,PSCFE,K0CFE,KPCFE,KFCFE,KACFE,KECFE,KRCFE,KTCFE,CNTRLZ(11),TCFE- A(11,5),QMASS(10),QFREQ(10),QDAMP(10),ZETAR1(3,10),ZETAR2(3,10),GAM- BAR1(3,10),GAMAR2(3,10),NEM,RSF1(3,3),RSF2(3,3),RFV(3,3),RSV1(3,3),- CRSV2(3,3),ZAGL1,ZAGL2,CSEGE1,CSEGE2,LMDA01,LMDA02,EDAMP,QTHRTL INTEGER OPUNIT,ORIENT,DOF,CON,GUST,OPSYMM,DOFSYM,CONSYM,GUSSYM,OPF- 1LOW,OPTORS,OPMOTR,OPLMDA,OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREAD,OPGRND- 2,OPAERO,DEBUG,TONLY,RESPON,DOFP,CONP,ENGPOS REAL LNGCYC,LATCYC,K12H,K12F,K12L,K21H,K21F,K21L,KLTRIM,KWRTR1,KWR- 1TR2,KHRTR1,KHRTR2,KVRTR1,KVRTR2,IENG,KMAST1,KMAST2,KICS,KENG,KPR1G- 2V,KIR1GV,KPR2GV,KIR2GV,KPEGOV,KIEGOV,NRPOWR,KPMC1,KPMC2,KPMS1,KPMS- 32,IXX,IYY,IZZ,IXZ,KFCCFE,KRCCFE,KFPCFE,KRPCFE,KF0CFE,KR0CFE,KFSCFE- 4,KRSCFE,KCCFE,KSCFE,K0CFE,KPCFE,KFCFE,KACFE,KECFE,KRCFE,KTCFE,LMDA- 501,LMDA02 COMMON /FINPUT/LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,D- 1RG0W,DRGDW,DRGFW,DRGEW,PIEL2,AMAXW,DRGSW,SIDEB,ROLLB,YAWB,KCLB,IWB- 2,SPANW,AREAW,CHORDW,SWEEPW,DIHEDW,LFLAPO,LFLAPI,LAILO,LAILI,LFTAH,- 3LFTEH,AMAXH,IHT,SPANH,LFTAV,LFTEV,AMAXV,IVT,SPANV,EZZ(10,10),EXX(1- 40,10),EZX(10,10),EXZ(10,10),EZ(10),EX(10),ET(10),EZT(10,10),EXT(10- 5,10),ETT(10,10),EZD(10),EXD(10),EZL(10),EXL(10),ETL(10),FZH(10),FX- 6H(10),FTH(10),FYW(10),FFH(10),FYV(10),FFV(10),FPV(10) REAL LFTAW,LFTDW,LFTFW,LFTEW,MOM0W,MOMAW,MOMDW,MOMFW,KCLB,IWB,LFLA- 1PO,LFLAPI,LAILO,LAILI,LFTAH,LFTEH,IHT,LFTAV,LFTEV,IVTC DATA TITLE/72H OLD UTILITY HELICOPTER 1 / DATA OPUNIT/1/ DATA ORIENT/1/ DATA ALTMSL,TEMP,ALTAGL/0.,1000.,0./ DATA ASHAFT,ACANT/3.,0.,2*0./ DATA ACLIMB,AYAW/0.,0./ DATA APITCH,AROLL,COLL,LNGCYC,LATCYC,PEDAL,AFLAP/7*0./ DATA WEIGHT/11900./ DATA ITER,EPTRIM,FACTOR,PTRIM/10,.01,.5,0./ DATA DOF/4*0,4*1,26*0,4*1,23*0,6*1,13*0/ DATA CON,GUST/3*1,5*0,1,7*0,1,4*0,5*1,3*1/ DATA OPSYMM/0/ DATA DOFSYM,CONSYM,GUSSYM/61*0,-1,1,-1,1,-1,1,13*0,1,-1,1,5*0,-1,7- 1*0,1,4*0,1,-1,1,-1,1,1,-1,1/ DATA OPFLOW,OPTORS,OPMOTR,OPLMDA,OPINTR,OPQRTR,OPTRIM,OPGOVR,OPREA- 1D,OPGRND,OPAERO,DEBUG,TONLY/-1,2*1,1,2*0,0,0,1,0,0,0,1,0,1/ DATA MPER,JCNST/24,12/ DATA NSYSAN,NSTEP,NFREQ,FREQ/0,0,0,100*0./ DATA LOCUS,PLOTMX,RESPON,NF,CONP,DOFP/-1,2.99,-1,100,29*0,80*0/ DATA K12H,K12F,K21H,K21F/4*0./ DATA KLTRIM/0./ DATA KWRTR1,KWRTR2,KHRTR1,KHRTR2,KVRTR1,KVRTR2/2*0.,1.8,2*0.,.7/ DATA RTRANS,IENG,KMAST1,KMAST2,KICS,KENG,ENGPOS/6.,6.,4*3.E4,1/ DATA KPR1GV,KIR1GV,KPR2GV,KIR2GV,KPEGOV,KIEGOV/6*0./ DATA THRTLC,NRPOWR,EDAMPC/1.,1275.,1./ DATA KPMC1,KPMS1,KPMC2,KPMS2/40*0./ DATA FSR1,WLR1,BLR1,FSR2,WLR2,BLR2/0.,8.,0.,33.,0.,0./ DATA FSCG,WLCG,FSWB,WLWB,FSHT,WLHT,FSVT,WLVT/4*0.,28.,0.,31.,0./ DATA IXX,IYY,IZZ,IXZ/5895.,27500.,23088.,0./ DATA KCCFE,KSCFE,PCCFE,PSCFE,K0CFE,KPCFE/2*1.,2*0.,2*1./ DATA KFCFE,KACFE,KECFE,KRCFE,KTCFE/5*0./ DATA CNTRLZ/11*0./ DATA QMASS,QFREQ,QDAMP/20*1.,10*.01/ DATA ZETAR1,GAMAR1,ZETAR2,GAMAR2/120*0./ DATA EZZ,EXX,EZX,EXZ,EZ,EX,ET,EZT,EXT,ETT,EZD,EXD,EZL,EXL,ETL,FZH,- 1FXH,FTH,FYW,FFH,FYV,FFV,FPV/860*0./ DATA LFTAW,LFTDW,LFTFW,LFTEW/4*0./ DATA MOM0W,MOMAW,MOMDW,MOMFW/0.,570.,2*0./ DATA DRG0W,DRGDW,DRGFW,DRGEW,PIEL2/36.5,3*0.,140./ DATA AMAXW,DRGSW/20.,60./ DATA SIDEB,ROLLB,YAWB,KCLB/-170.,0