C MAPALU    SOURCE    CB215821  16/04/21    21:17:43     8920
      SUBROUTINE MAPALU(NMATT,WORK,B,IDIM)
C=======================================================================
C     RECUPERATION DU REPERE LOCAL DE JOI1 ( element de liaison a 2 noeuds)
C=======================================================================
      IMPLICIT INTEGER (I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION B(3,3),WORK(NMATT)
* ---------------------------------------------------
C
      IF(IDIM.EQ.3) THEN
       VX1=WORK(1)
       VY1=WORK(2)
       VZ1=WORK(3)
       VL1=SQRT(VX1*VX1+VY1*VY1+VZ1*VZ1)
C
       VX2=WORK(4)
       VY2=WORK(5)
       VZ2=WORK(6)
       VL2=SQRT(VX2*VX2+VY2*VY2+VZ2*VZ2)
*
       B(1,1)=VX1/VL1
       B(1,2)=VY1/VL1
       B(1,3)=VZ1/VL1
       B(2,1)=VX2/VL2
       B(2,2)=VY2/VL2
       B(2,3)=VZ2/VL2
       B(3,1)=B(1,2)*B(2,3)-B(1,3)*B(2,2)
       B(3,2)=B(1,3)*B(2,1)-B(1,1)*B(2,3)
       B(3,3)=B(1,1)*B(2,2)-B(1,2)*B(2,1)
*
      ELSE IF (IDIM.EQ.2) THEN
       VX1=WORK(1)
       VY1=WORK(2)
       VL1=SQRT(VX1*VX1+VY1*VY1)
*
       B(1,1)=VX1/VL1
       B(1,2)=VY1/VL1
       B(1,3)=0
       B(2,1)=B(1,2)*(-1.D0)
       B(2,2)=B(1,1)
       B(2,3)=0
       B(3,1)=0
       B(3,2)=0
       B(3,3)=1
      ENDIF
*
C
*      WRITE(*,*) ' matrice  BPSS  '
*      WRITE(*,1190) ((B(IA,IC),IA=1,3),IC=1,3)
*1199  FORMAT(12(1X,E8.2))
      RETURN
      END






