C MAPALI SOURCE CB215821 16/04/21 21:17:43 8920 C MAPALI SOURCE DJ 93/01/12 21:20:55 781 SUBROUTINE MAPALI(XE,NBNN,WORK,B,KERRE) C======================================================================= C RECHERCHE DU REPERE LOCAL DE LIA2 ( element de liaison a 2 noeuds) C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XE(3,NBNN),B(3,3),WORK(9) * --------------------------------------------------- VX2P=WORK(7) VY2P=WORK(8) VZ2P=WORK(9) 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 KERRE=0 IF(AL.EQ.0.D0) THEN KERRE=1 GO TO 999 ENDIF C VX3=VY1*VZ2P-VY2P*VZ1 VY3=VX2P*VZ1-VX1*VZ2P VZ3=VX1*VY2P-VX2P*VY1 VL3=SQRT(VX3*VX3+VY3*VY3+VZ3*VZ3) C B(1,1)=VX1/VL1 B(1,2)=VY1/VL1 B(1,3)=VZ1/VL1 B(3,1)=VX3/VL3 B(3,2)=VY3/VL3 B(3,3)=VZ3/VL3 B(2,1)=B(3,2)*B(1,3)-B(3,3)*B(1,2) B(2,2)=B(3,3)*B(1,1)-B(1,3)*B(3,1) B(2,3)=B(3,1)*B(1,2)-B(3,2)*B(1,1) 999 CONTINUE C * WRITE(*,*) ' matrice BPSS ' * WRITE(*,1190) ((B(IA,IC),IA=1,3),IC=1,3) *1199 FORMAT(12(1X,E8.2)) RETURN END