16.5 Computer Program for the Free Vibration Analysis of Ships …
591
Table 16.6 (continued)
CC=SS*COT
134 IF(YH)136,136,138
136 TEM=CC
CC=SS
SS=-TEM
138 TEP=CC*CC-SS*SS
TEM=2.0*SS*CC
D=D*TEP+C*TEM
H=H*TEP-HJ*TEM
ED=2.0*E*D
EDH=ED-H
DEN=G+2.0*(E*E+D*D)
IF(DEN-EP*1.E-05)142,142,140
140 TEE=EDH/(DEN+DEN)
IF(ABS(TEE)-EP)142,142,144
142 CH=1.0
SH=0.0
GO TO 146
144 CH=1.0/SQRT(1.0-TEE*TEE)
SH=CH*TEE
146 C1=CH*CC-SH*SS
C2=CH*CC+SH*SS
S1=CH*SS+SH*CC
S2=-CH*SS+SH*CC
IF(ABS(S1)-EP) 148,148,150
148 IF(ABS(S2)-EP) 164,164,150
150 MARK=0
DO 152 J=1,N
TEP=A(K,J)
TEM=A(M,J)
A(K,J)=C1*TEP+S1*TEM
152 A(M,J)=S2*TEP+C2*TEM
DO 154 J=1,N
TEP=A(J,K)
TEM=A(J,M)
A(J,K)=C2*TEP-S2*TEM
154 A(J,M)=-S1*TEP+C1*TEM
IF(ISW)156,164,160
156 DO 158 J=1,N
TEP=T(K,J)
TEM=T(M,J)
T(K,J)=C1*TEP+S1*TEM
158 T(M,J)=S2*TEP+C2*TEM
GO TO 164
160 DO 162 J=1,N
TEP=T(J,K)
TEM=T(J,M)
T(J,K)=C2*TEP-S2*TEM
162 T(J,M)=-S1*TEP+C1*TEM
164 CONTINUE
166 CONTINUE
WRITE(*,1)
1
FORMAT(30X,'EIGEN-MAXIMUM ITERATIONS REACHED')
168 RETURN
END
591
Table 16.6 (continued)
CC=SS*COT
134 IF(YH)136,136,138
136 TEM=CC
CC=SS
SS=-TEM
138 TEP=CC*CC-SS*SS
TEM=2.0*SS*CC
D=D*TEP+C*TEM
H=H*TEP-HJ*TEM
ED=2.0*E*D
EDH=ED-H
DEN=G+2.0*(E*E+D*D)
IF(DEN-EP*1.E-05)142,142,140
140 TEE=EDH/(DEN+DEN)
IF(ABS(TEE)-EP)142,142,144
142 CH=1.0
SH=0.0
GO TO 146
144 CH=1.0/SQRT(1.0-TEE*TEE)
SH=CH*TEE
146 C1=CH*CC-SH*SS
C2=CH*CC+SH*SS
S1=CH*SS+SH*CC
S2=-CH*SS+SH*CC
IF(ABS(S1)-EP) 148,148,150
148 IF(ABS(S2)-EP) 164,164,150
150 MARK=0
DO 152 J=1,N
TEP=A(K,J)
TEM=A(M,J)
A(K,J)=C1*TEP+S1*TEM
152 A(M,J)=S2*TEP+C2*TEM
DO 154 J=1,N
TEP=A(J,K)
TEM=A(J,M)
A(J,K)=C2*TEP-S2*TEM
154 A(J,M)=-S1*TEP+C1*TEM
IF(ISW)156,164,160
156 DO 158 J=1,N
TEP=T(K,J)
TEM=T(M,J)
T(K,J)=C1*TEP+S1*TEM
158 T(M,J)=S2*TEP+C2*TEM
GO TO 164
160 DO 162 J=1,N
TEP=T(J,K)
TEM=T(J,M)
T(J,K)=C2*TEP-S2*TEM
162 T(J,M)=-S1*TEP+C1*TEM
164 CONTINUE
166 CONTINUE
WRITE(*,1)
1
FORMAT(30X,'EIGEN-MAXIMUM ITERATIONS REACHED')
168 RETURN
END
