C S0DTNO    SOURCE    CHAT      06/03/29    21:32:47     5360
      SUBROUTINE S0DTNO(IPADET,COORD,IDIMC,NBN,NBNMAX,
     >                     NOETRI,NOEMAX,iarr)
C     *****************************************************************
C     OBJET : SUPPRIME LE POINT ISOLE OU LIBRE
C     EN ENTREE :
C        IPADET : LE POINT A SUPPRIMER
C        COORD : TABLEAU DES COORDONNEES DE TOUS LES POINTS
C        IDIMC : DIMENSION DE L'ESPACE
C        NBN   : NOMBRE DE NOEUDS DEJA EXISTANT
C        NBNMAX: NOMBRE MAXIMUM DE NOEUD DANS COORD (POURRA SERVIR)
C        NOEMAX : SI = 0 NOETRI N'EST PAS MIS A JOUR
C                   SINON NOEMAX = TAILLE DE NOETRI
C     EN SORTIE :
C        COORD, NOETRI ET NBN MODIFIES
C        iarr  : CODE D'ERREUR 0 SI OK, -1 SI C'EST IMPOSSIBLE
C     *****************************************************************
      IMPLICIT INTEGER(I-N)
      REAL*8    COORD(*)
      INTEGER IPADET,IDIMC,NBN,NBNMAX,iarr
      INTEGER NOETRI(*),NOEMAX
C
      INTEGER J
C     --- ON NE PEUT SUPPRIMER QUE LE DERNIER POINT
C         IL DOIT ETRE ISOLE ---
      IF((IPADET.NE.NBN ).OR.
     >   ((NOEMAX.NE.0).AND.(NOETRI(IPADET).NE.0)))THEN
        iarr = -1
        CALL DSERRE(1,iarr,'ST',
     >              'DANS S0DTNO : POINT ENCORE CONNECTE')
        GOTO 999
      ENDIF
C
      DO 10 J=1,IDIMC
        COORD((NBN-1)*IDIMC+J) = 0.0D0
   10 CONTINUE
      NBN = NBN - 1
      iarr = 0
  999 END



