1 : C VPMAX3 SOURCE CHAT 05/01/13 04:09:49 5004 2 : SUBROUTINE VPMAX3 (SIG,SIGMAX,VECP) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : -INC CCOPTIO 6 : C 7 : DIMENSION SIG(*),VECP(*),A(3,3),D(3),S(3,3) 8 : C 9 : C CETTE ROUTINE SERT A CALCULER LA VALEUR MAX DE SIG ET LE 10 : C VECTEUR PROPRE QUI CORRESPOND 11 : C ENTREES : 12 : C SIG : TENSEUR DE CONTRAINTES 13 : C IIMPI : INDICE D IMPRESSION INTERNE 14 : C SORTIES : 15 : C SIGMAX : CONTRAINTE MAX 16 : C VECP : VECTEUR PROPRE CORRESPONDANT 17 : C 18 : C INITIALISATION 19 : C 20 : A(1,1)=SIG(1) 21 : A(2,2)=SIG(2) 22 : A(3,3)=SIG(3) 23 : A(1,2)=SIG(4) 24 : A(2,1)=SIG(4) 25 : A(2,3)=SIG(5) 26 : A(3,2)=SIG(5) 27 : A(3,1)=SIG(6) 28 : A(1,3)=SIG(6) 29 : C 29 : CALL JACOB3(A,3,D,S) 30 : C 31 : C CALCUL DE LA VALEUR PROPRE MAXI ET SON VECTEUR PROPRE 32 : C 33 : VECP(1)=S(1,1) 34 : VECP(2)=S(2,1) 35 : VECP(3)=S(3,1) 36 : SIGMAX=D(1) 37 : C 38 : DO 1 I=2,3 39 : IF(SIGMAX.GE.D(I)) GO TO 1 40 : SIGMAX=D(I) 41 : DO 2 J=1,3 42 : VECP(J)=S(J,I) 43 : 2 CONTINUE 44 : 1 CONTINUE 45 : C 46 : DO 3 I=1,3 47 : IF(ABS(VECP(I)).LT.1.D-9) VECP(I)=0.D0 48 : 3 CONTINUE 49 : C 50 : IF(IIMPI.EQ.9) 51 : . WRITE(IOIMP,1000) (SIG(I),I=1,6),SIGMAX,(VECP(I),I=1,3), 52 : . ((A(I,J),J=1,3),I=1,3),(D(I),I=1,3), 53 : . ((S(I,J),J=1,3),I=1,3) 54 : 1000 FORMAT(1X,'SIG =',6(3X,D12.5),/,1X,'SIGMAX=',D12.5,/, 55 : .1X,'VECP=',3(3X,D12.5),/,1X,'AAA =',3(3(3X,D12.5),/), 56 : .1X,'DDD =',3(3X,D12.5),/,1X,'SSS =',3(3(3X,D12.5),/)) 57 : C 58 : RETURN 59 : END 60 :
© Cast3M 2003 - All rights reserved.
Disclaimer