xyzdia
C XYZDIA SOURCE CHAT 05/01/13 04:16:02 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION DSIGP(*),SIGEL(*),W1(*),W2(*),VECPRO(*) C DIAGONALISATION DE 2 TENSEURS CONTRAINTES GO TO (60,61,61,63,64,65,66,66,68,69,70,71,65),ITYP 71 CONTINUE C TUYAUX GO TO 640 70 CONTINUE C POUTRES GO TO 640 69 CONTINUE GO TO 640 68 CONTINUE GO TO 640 66 CONTINUE C COQUE OU MEMBRANE A NU =0 C OU EN CONT PLANES GO TO 640 65 CONTINUE C CONTRAINTES PLANES GO TO 615 64 CONTINUE C MATER QUELCONQUE C DIAGONALISATION DO 6403 IB=1,3 W1(IB)=0. W2(IB)=0. DO 6404 IC=1,3 IP=3*(IB-1)+IC W1(IB)=W1(IB)+VECPRO(IP)*SIGEL(IC) 6404 W2(IB)=W2(IB)+VECPRO(IP)*DSIGP(IC) 6403 CONTINUE DO 6405 IB=1,3 SIGEL(IB)=W1(IB) 6405 DSIGP(IB)=W2(IB) GO TO 640 61 CONTINUE 615 CONTINUE B1=B B2=B IBO=2 IF(ITYP.EQ.3.OR.ITYP.EQ.6) IBO=1 DO 613 IK=1,IBO IP=(IK-1)*3 W1(1)=SIGEL(IP+1) W2(1)=DSIGP(IP+1) SIGEL(IP+1)= B1*W1(1)+B2*SIGEL(IP+2) SIGEL(IP+2)=-B2*W1(1)+B1*SIGEL(IP+2) DSIGP(IP+1)= B1*W2(1)+B2*DSIGP(IP+2) DSIGP(IP+2)=-B2*W2(1)+B1*DSIGP(IP+2) 613 CONTINUE GO TO 640 63 CONTINUE GO TO 640 60 CONTINUE X=0. Y=0. DO 8 IB=1,3 X=X+SIGEL(IB) Y=Y+DSIGP(IB) W1(IB)=SIGEL(IB) 8 W2(IB)=DSIGP(IB) SIGEL(1)=A*X DSIGP(1)=A*Y SIGEL(2)=B*(W1(1)-W1(2)) DSIGP(2)=B*(W2(1)-W2(2)) SIGEL(3)=C*(W1(1)+W1(2))+D*W1(3) DSIGP(3)=C*(W2(1)+W2(2))+D*W2(3) 640 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales