1 : C XYZDIA SOURCE CHAT 05/01/13 04:16:02 5004 2 : SUBROUTINE XYZDIA(DSIGP,SIGEL,W1,W2,A,B,C,D,ITYP,VECPRO) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : DIMENSION DSIGP(*),SIGEL(*),W1(*),W2(*),VECPRO(*) 6 : C DIAGONALISATION DE 2 TENSEURS CONTRAINTES 7 : GO TO (60,61,61,63,64,65,66,66,68,69,70,71,65),ITYP 8 : 71 CONTINUE 9 : C TUYAUX 10 : GO TO 640 11 : 70 CONTINUE 12 : C POUTRES 13 : GO TO 640 14 : 69 CONTINUE 15 : GO TO 640 16 : 68 CONTINUE 17 : GO TO 640 18 : 66 CONTINUE 19 : C COQUE OU MEMBRANE A NU =0 20 : C OU EN CONT PLANES 21 : GO TO 640 22 : 65 CONTINUE 23 : C CONTRAINTES PLANES 24 : GO TO 615 25 : 64 CONTINUE 26 : C MATER QUELCONQUE 27 : C DIAGONALISATION 28 : DO 6403 IB=1,3 29 : W1(IB)=0. 30 : W2(IB)=0. 31 : DO 6404 IC=1,3 32 : IP=3*(IB-1)+IC 33 : W1(IB)=W1(IB)+VECPRO(IP)*SIGEL(IC) 34 : 6404 W2(IB)=W2(IB)+VECPRO(IP)*DSIGP(IC) 35 : 6403 CONTINUE 36 : DO 6405 IB=1,3 37 : SIGEL(IB)=W1(IB) 38 : 6405 DSIGP(IB)=W2(IB) 39 : GO TO 640 40 : 61 CONTINUE 41 : 615 CONTINUE 42 : B1=B 43 : B2=B 44 : IBO=2 45 : IF(ITYP.EQ.3.OR.ITYP.EQ.6) IBO=1 46 : DO 613 IK=1,IBO 47 : IP=(IK-1)*3 48 : W1(1)=SIGEL(IP+1) 49 : W2(1)=DSIGP(IP+1) 50 : SIGEL(IP+1)= B1*W1(1)+B2*SIGEL(IP+2) 51 : SIGEL(IP+2)=-B2*W1(1)+B1*SIGEL(IP+2) 52 : DSIGP(IP+1)= B1*W2(1)+B2*DSIGP(IP+2) 53 : DSIGP(IP+2)=-B2*W2(1)+B1*DSIGP(IP+2) 54 : 613 CONTINUE 55 : GO TO 640 56 : 63 CONTINUE 57 : GO TO 640 58 : 60 CONTINUE 59 : X=0. 60 : Y=0. 61 : DO 8 IB=1,3 62 : X=X+SIGEL(IB) 63 : Y=Y+DSIGP(IB) 64 : W1(IB)=SIGEL(IB) 65 : 8 W2(IB)=DSIGP(IB) 66 : SIGEL(1)=A*X 67 : DSIGP(1)=A*Y 68 : SIGEL(2)=B*(W1(1)-W1(2)) 69 : DSIGP(2)=B*(W2(1)-W2(2)) 70 : SIGEL(3)=C*(W1(1)+W1(2))+D*W1(3) 71 : DSIGP(3)=C*(W2(1)+W2(2))+D*W2(3) 72 : 640 CONTINUE 73 : RETURN 74 : END 75 :
© Cast3M 2003 - All rights reserved.
Disclaimer