16.4 Computer Program for Free Vibration Analysis of Framed Structures
579
Table 16.3 (continued)
SUBROUTINE R8URAN(ND,U,N,M,IRENT,GES)
**
INPUTS RANDOM NUMBERS INTO U
**
DIMENSION U(300,20)
K=1
IF(IRENT .NE. 0)K=M
IRENT=1
DO 1 I=1,N
DO 1 J=K,M
IF(GES .EQ. 0.0)GES=0.31415926
Y=GES*GES
2
Y=Y*10.0
IF(Y-1.0)2,5,5
5
CONTINUE
NZ=Y
Y=Y-NZ
U(I,J)=Y
1
GES=Y
RETURN
END
**************************SUBROUTINE R8UORT******************************
SUBROUTINE R8UORT(ND,W,N,M,LOCK)
**
ORTHONORMALISES VECTORS IN W BY SCHMIDT PROCESS
**
DIMENSION W(300,20)
DO 1 I=LOCK,M
DO 1 J=1,I
EL=0.0
DO 4 K=1,N
4
EL=EL+W(K,J)*W(K,I)
IF(I-J)10,5,10
10
CONTINUE
DO 6 K=1,N
6
W(K,I)=W(K,I)-EL*W(K,J)
GO TO 1
5
D=1.0/SQRT(EL)
DO 3 K=1,N
W(K,I)=D*W(K,I)
3
CONTINUE
1
CONTINUE
RETURN
END
**************************SUBROUTINE R8UBAC******************************
SUBROUTINE R8UBAC(ND,U,V,NK,N,M,LOCK)
**
SOLVES LT*V=U BY BACK SUBSTITUTION
**
DIMENSION U(300,20),V(300,20)
COMMON/A/NNF,NBH,L(7500),G(7500),GL(300),LD(300),GD(300)
INTEGER Q,GD
REAL L
DO 20 K=LOCK,M
DO 20 I=1,N
20
V(I,K)=U(I,K)/L(LD(I))
DO 22 IT=2,N
I=N+2-IT
I1=I-1
Q=LD(I)-I
M1=1+LD(I-1)-Q
IF(M1-I)10,22,10
10
CONTINUE
DO 21 J=M1,I1
DO 21 K=LOCK,M
V(J,K)=V(J,K)-L(J+Q)*V(I,K)/L(LD(J))
21
CONTINUE
22
CONTINUE
RETURN
END
(continued)
579
Table 16.3 (continued)
SUBROUTINE R8URAN(ND,U,N,M,IRENT,GES)
**
INPUTS RANDOM NUMBERS INTO U
**
DIMENSION U(300,20)
K=1
IF(IRENT .NE. 0)K=M
IRENT=1
DO 1 I=1,N
DO 1 J=K,M
IF(GES .EQ. 0.0)GES=0.31415926
Y=GES*GES
2
Y=Y*10.0
IF(Y-1.0)2,5,5
5
CONTINUE
NZ=Y
Y=Y-NZ
U(I,J)=Y
1
GES=Y
RETURN
END
**************************SUBROUTINE R8UORT******************************
SUBROUTINE R8UORT(ND,W,N,M,LOCK)
**
ORTHONORMALISES VECTORS IN W BY SCHMIDT PROCESS
**
DIMENSION W(300,20)
DO 1 I=LOCK,M
DO 1 J=1,I
EL=0.0
DO 4 K=1,N
4
EL=EL+W(K,J)*W(K,I)
IF(I-J)10,5,10
10
CONTINUE
DO 6 K=1,N
6
W(K,I)=W(K,I)-EL*W(K,J)
GO TO 1
5
D=1.0/SQRT(EL)
DO 3 K=1,N
W(K,I)=D*W(K,I)
3
CONTINUE
1
CONTINUE
RETURN
END
**************************SUBROUTINE R8UBAC******************************
SUBROUTINE R8UBAC(ND,U,V,NK,N,M,LOCK)
**
SOLVES LT*V=U BY BACK SUBSTITUTION
**
DIMENSION U(300,20),V(300,20)
COMMON/A/NNF,NBH,L(7500),G(7500),GL(300),LD(300),GD(300)
INTEGER Q,GD
REAL L
DO 20 K=LOCK,M
DO 20 I=1,N
20
V(I,K)=U(I,K)/L(LD(I))
DO 22 IT=2,N
I=N+2-IT
I1=I-1
Q=LD(I)-I
M1=1+LD(I-1)-Q
IF(M1-I)10,22,10
10
CONTINUE
DO 21 J=M1,I1
DO 21 K=LOCK,M
V(J,K)=V(J,K)-L(J+Q)*V(I,K)/L(LD(J))
21
CONTINUE
22
CONTINUE
RETURN
END
(continued)
