578
16 Computer Programs in Vibration Analysis
Table 16.3 (continued)
XCM=1.0
L(1)=SQRT(L(1))
DO 1 I=2,N
Q=LD(I)-I
M1=1+LD(I-1)-Q
DO 2 J=M1,I
NN=0
EL=L(J+Q)
IF(J-1)10,2,10
10
CONTINUE
KK=LD(J)-J
NN=1+LD(J-1)-KK
NN=MAX0(NN,M1)
IF(NN-J)15,2,15
15
CONTINUE
J1=J-1
DO 3 K=NN,J1
3
EL=EL-L(Q+K)*L(KK+K)
2
L(J+Q)=EL/L(LD(J))
IF(EL .LE. 0)GO TO 5
XC=1./L(I+Q)
IF(XC-XCM)1,20,20
20
CONTINUE
XCM=XC
JCM=I
1
L(LD(I))=SQRT(EL)
ICM=INT(ALOG10(XCM))+1
IER=2
GO TO 6
5
IER=3
N=-N
WRITE(2,*)'ERROR***
STIFFNESS MATRIX NOT POSITIVE DEFINITE'
6
RETURN
END
**************************SUBROUTINE R8UPRE1*****************************
SUBROUTINE R8UPRE1(ND,U,V,NA,N,M,LOCK,IRENT)
**
PERFORMS PREMATMULTIPLICATION V=AU
**
DIMENSION U(300,20),V(300,20)
COMMON/A/NNF,NBH,G(7500),L(7500),GL(300),GD(300),LD(300)
INTEGER Q,GD
REAL L,LK
DO 1 I=1,N
LK=L(LD(I))
DO 1 K=LOCK,M
1
V(I,K)=U(I,K)*LK
DO 8 I=2,N
Q=LD(I)-I
M1=1+LD(I-1)-Q
DO 8 K=LOCK,M
IF(M1-I)10,8,10
10
CONTINUE
IF(IRENT-2)15,6,15
15
CONTINUE
I1=I-1
DO 5 J=M1,I1
5
V(I,K)=V(I,K)+L(J+Q)*U(J,K)
6
CONTINUE
DO 4 J=M1,I1
V(J,K)=V(J,K)+L(J+Q)*U(I,K)
4
CONTINUE
8
CONTINUE
RETURN
END
**************************SUBROUTINE R8URAN******************************
(continued)
Précédent

- 586/628

Suivant