mapaex
C MAPAEX SOURCE BL174031 17/08/01 21:15:01 9523 C MAPAEX SOURCE DJ 93/01/12 21:20:55 781 C======================================================================= C RECHERCHE DU REPERE LOCAL DE BAEX ( barre 3D excentre) C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * --------------------------------------------------- C DO 13 I=1,2 DO 13 J=1,LRE TGL(I,J)=0.D0 13 CONTINUE C VX1=XE(1,2)-XE(1,1) VY1=XE(2,2)-XE(2,1) VZ1=XE(3,2)-XE(3,1) VL1=SQRT(VX1*VX1+VY1*VY1+VZ1*VZ1) AL=VL1 C KERRE=0 IF(AL.EQ.0.D0) THEN KERRE=1 GO TO 999 ENDIF C VX2=VY3P*VZ1-VY1*VZ3P VY2=VX1*VZ3P-VX3P*VZ1 VZ2=VX3P*VY1-VX1*VY3P VL2=SQRT(VX2*VX2+VY2*VY2+VZ2*VZ2) C * correction 1 BL : passage au repere local seg2 B(1,1)=VX1/VL1 B(1,2)=VY1/VL1 B(1,3)=VZ1/VL1 B(3,1)=-1*VX2/VL2 B(3,2)=-1*VY2/VL2 B(3,3)=-1*VZ2/VL2 B(2,1)=B(3,2)*B(1,3)-B(1,2)*B(3,3) B(2,2)=B(1,1)*B(3,3)-B(3,1)*B(1,3) B(2,3)=B(3,1)*B(1,2)-B(1,1)*B(3,2) * fin correction 1 BL C LIB=6 C DO 20 I=1,2 DO 10 J=1,3 L1=(I-1)*LIB+J TGL(I,L1)=B(1,J) IF(LIB.EQ.6) THEN L2=I*LIB-2 L3=I*LIB-1 L4=I*LIB * correction 2 BL : prise en compte des 2 excentrements TGL(I,L2)= B(2,1)*EXCZ-B(3,1)*EXCY TGL(I,L3)= B(2,2)*EXCZ-B(3,2)*EXCY TGL(I,L4)= B(2,3)*EXCZ-B(3,3)*EXCY * fin correction 2 BL ELSE L2=I*LIB-1 L3=I*LIB TGL(I,L2)= B(2,1)*EXCZ TGL(I,L3)= B(2,2)*EXCZ ENDIF 10 CONTINUE 20 CONTINUE 999 CONTINUE C * WRITE(*,*) ' ======================== calcul TGL ds mapaex ' * WRITE(*,*) ' matrice B elem =',IB * WRITE(*,1190) ((B(IA,IC),IA=1,3),IC=1,3) * WRITE(*,*) ' XGENE passage' * DO 110 I =1,2 * WRITE(*,1199) (TGL(I,IC),IC=1,LRE) * 110 CONTINUE *1190 FORMAT(3(3(2X,E10.4),/)) *1199 FORMAT(12(1X,E8.2)) RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales