C RICOQ     SOURCE    CB215821  26/08/24    21:18:16     12622          
      SUBROUTINE RICOQ(RE,XA,HM,E,RIGL,REP,REM,P,XE,YE,ZE,XX,YY,RAI)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION            E(3,3),RIGL(18,18),REP(9,9),REM(6,6),
     1P(3,3),XE(3),YE(3),ZE(3),XX(3,3),YY(3,3)
      DIMENSION RE(18,18),XA(3,3)
      DATA EPSI/1.E-9/
*
      DO102I=1,18
      DO9J=1,18
      RE(I,J)=0.D0
      RIGL(I,J)=0.D0
    9 CONTINUE
  102 CONTINUE
      DO 1 I=1,3
      XE(I)=XA(1,I)
      YE(I)=XA(2,I)
      ZE(I)=XA(3,I)
    1 CONTINUE
      CALL       PASSA(XE,YE,ZE,    P,X13,X23,Y13,Y23)
      S=0.5*Y13*(X13-X23)
*     SPECIAL    RIGI      PSI Z
      RKZ= RAI*HM*S*EPSI
      CALL RICOQ0(RIGL,X13,X23,Y13,Y23,RKZ)
*
      CALL RIMT6(REM,E,RAI,X13,X23,Y13,HM,S)
      DO103I=1,6
      DO100J=I,6
      REM(J,I)=REM(I,J)
  100 CONTINUE
  103 CONTINUE
      CALL RIPP9(REP,E,RAI,X13,X23,Y13,HM,S)
      DO104I=1,9
      DO101J=I,9
      REP(J,I)=REP(I,J)
  101 CONTINUE
  104 CONTINUE
      DO105K=1,3
      K1=K-1
      DO2L=K,3
      L1=L-1
      DO 106 I=1,2
      M=6*K1+I
      ML=2*K1+I
      DO 3 J=1,2
      N=6*L1+J
      NL=2*L1+J
      RIGL(M,N)=RIGL(M,N)+REM(ML,NL)
    3 CONTINUE
  106 CONTINUE
      DO 107 I=1,3
      M=6*K1+2+I
      ML=3*K1+I
      DO 4 J=1,3
      N=6*L1+J+2
      NL=3*L1+J
      RIGL(M,N)=RIGL(M,N)+REP(ML,NL)
    4 CONTINUE
  107 CONTINUE
    2 CONTINUE
  105 CONTINUE
      DO 108 K=1,6
      K1=3*(K-1)
      DO6L=K,6
      L1=3*(L-1)
      DO 109 I=1,3
      IM=I+K1
      DO 7 J=1,3
      JM=J+L1
      XX(I,J)=RIGL(IM,JM)
    7 CONTINUE
  109 CONTINUE
      CALL PRODT(YY,XX,P,3,3)
      DO 110 I=1,3
      IM=I+K1
      DO 8 J=1,3
      JM=J+L1
      RE(IM,JM)=YY(I,J)
    8 CONTINUE
  110 CONTINUE
    6 CONTINUE
  108 CONTINUE
      DO 111 I=1,18
      DO 10 J=1,I
      RE(I,J)=RE(J,I)
   10 CONTINUE
  111 CONTINUE
*     DO 555 I=1,18
*     WRITE(6,77882) I
*77882 FORMAT('0  LIGNE ',I4//)
*     WRITE(6,77881) ( RE(I,J),J=1,18)
*77881 FORMAT(1X,6(1X,1PE12.5)/)
*555   CONTINUE
      RETURN
      END

 
