C NBDEL     SOURCE    CB215821  18/09/27    21:15:31     9936           
      SUBROUTINE NBDEL(MAIL,
     $     NBDELM,
     $     IMPR,IRET)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C***********************************************************************
C NOM         : NBDEL
C DESCRIPTION : Compte le nombre d'éléments d'un maillage.
C LANGAGE     : ESOPE
C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
C               mél : gounand@semt2.smts.cea.fr
C***********************************************************************
C APPELES          : -
C APPELES (UTIL)   : OOOETA
C APPELE PAR       : RPELEN
C***********************************************************************
C ENTREES            : MAIL
C SORTIES            : NBDELM
C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
C***********************************************************************
C VERSION    : v1, 12/05/99, version initiale
C HISTORIQUE : v1, 12/05/99, création
C HISTORIQUE :
C HISTORIQUE :
C***********************************************************************
C Prière de PRENDRE LE TEMPS de compléter les commentaires
C en cas de modification de ce sous-programme afin de faciliter
C la maintenance !
C***********************************************************************

-INC PPARAM
-INC CCOPTIO
-INC SMELEME
      POINTEUR MAIL.MELEME
      POINTEUR SOUMAI.MELEME
*
      INTEGER MAETA,SMETA
      INTEGER NBDELM
      INTEGER IMPR,IRET
*
      INTEGER NBSOUS,INBSOU
*
* Executable statements
*
      IF (IMPR.GT.1) THEN
         WRITE(IOIMP,*) 'Entrée dans nbdel.eso'
      ENDIF
      NBDELM=0
      CALL OOOETA(MAIL,MAETA,IMOD)
      IF (MAETA.NE.1) SEGACT MAIL
      NBSOUS=MAIL.LISOUS(/1)
      IF (NBSOUS.EQ.0) THEN
         NBDELM=MAIL.NUM(/2)
      ELSE
         DO 1 INBSOU=1,NBSOUS
            SOUMAI=MAIL.LISOUS(INBSOU)
            CALL OOOETA(SOUMAI,SMETA,IMOD)
            IF (SMETA.NE.1) SEGACT SOUMAI
            NBDELM=NBDELM+SOUMAI.NUM(/2)
            IF (SMETA.NE.1) SEGDES SOUMAI
 1       CONTINUE
      ENDIF
      IF (MAETA.NE.1) SEGDES MAIL
*
* Normal termination
*
      IRET=0
      RETURN
*
* Format handling
*
*
* Error handling
*
 9999 CONTINUE
      IRET=1
      WRITE(IOIMP,*) 'An error was detected in subroutine nbdel'
      RETURN
*
* End of subroutine NBDEL
*
      END



 
