C TRIANG    SOURCE    MB234859  26/01/26    21:15:18     12460          
      SUBROUTINE TRIANG(KRIGI,PREC,istab)
C=======================================================================
C   ASSEMBLE LES PETITES MATRICES RIGIDITE ET LES MET SOUS LA FORME
C   Lt.D.L.
C   IL LE POINTEUR DE LA MATRICE RESULTANTE DANS ICHOLE
C=======================================================================
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
-INC SMRIGID
-INC PPARAM
-INC CCOPTIO
-INC SMMATRI
      IF(IIMPI.EQ.1)THEN
         CALL GIBTEM(XKT)
         INTERR(1)=INT(XKT)
         CALL ERREUR(-259)
      ENDIF
      IF(IIMPI.EQ.1)WRITE(IOIMP,10)
 10   FORMAT(' L''IMPRESSION PRECEDENTE EST  AVANT ASSEM1 ')
*
      CALL ASSEM1(KRIGI,MMATRX,INUINX,ITOPOX,IMINIX,IPOX,INCTRX,IITOPX)
      IF(IERR.NE.0) RETURN
      IF(IIMPI.EQ.1)THEN
         CALL GIBTEM(XKT)
         INTERR(1)=INT(XKT)
         CALL ERREUR(-259)
      ENDIF
      IF(IIMPI.EQ.1)WRITE(IOIMP,11)
   11  FORMAT(' L''IMPRESSION PRECEDENTE EST  AVANT ASSEM2')
       CALL ASSEM2(KRIGI,ITOPOX,INUINX,IMINIX,MMATRX,IPOX,INCTRX,IITOPX)
      IF(IERR.NE.0) RETURN
*
      IF(IIMPI.EQ.1)THEN
         CALL GIBTEM(XKT)
         INTERR(1)=INT(XKT)
         CALL ERREUR(-259)
      ENDIF
      IF(IIMPI.EQ.1)WRITE(IOIMP,12)
  12  FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT CHOLE ')
      IF(IERR.NE.0) GO TO 5000
*  sauvegarde de la matrice assemblee sous forme creuse
      call graco11(mmatrx,ilicre,1)
      MRIGID=KRIGI
      SEGACT MRIGID*MOD
      nbnnma=0
      nligra=0
      xmatri=0
      CALL SHOLE(MMATRX,PREC,istab,nbnnma,nligra,xmatri)
CC    CALL CHOLE(MMATRX,PREC,istab,nbnnma,nligra,xmatri)
      mmatri=mmatrx
      segact mmatri
      IF(IERR.NE.0) RETURN
      IF(IIMPI.EQ.1)THEN
         CALL GIBTEM(XKT)
         INTERR(1)=INT(XKT)
         CALL ERREUR(-259)
      ENDIF
      IF(IERR.NE.0) GO TO 5000
      IF(IIMPI.EQ.1) WRITE(IOIMP,13)
   13 FORMAT(' L''IMPRESSION PRECEDENTE EST APRES CHOLE')
      MRIGID=KRIGI
      SEGACT MRIGID*MOD
      ICHOLE=MMATRX
      SEGDES MRIGID
 5000 CONTINUE
      RETURN
      END
 
 
