C MELCOM    SOURCE    CB215821  20/11/25    13:34:13     10792          
      SUBROUTINE MELCOM(MPRIB,CHPOD,MPRIC,
     $     MAIPRI,
     $     IMPR,IRET)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C***********************************************************************
C NOM         : MELCOM
C DESCRIPTION : Construction du maillage des points communs au maillage
C      primal de B ,au maillage dual de C et au maillage sous-tendant
C      CHPOD (si CHPOD.NE.0)
C
C LANGAGE     : ESOPE
C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
C               mél : gounand@semt2.smts.cea.fr
C***********************************************************************
C APPELES          : MELAND
C APPELES (E/S)    : LIROBJ, ECROBJ, ECRCHA
C APPELES (UTIL.)  : EXTRAI
C APPELE PAR       : PROMAT
C***********************************************************************
C ENTREES            : MPRIB, CHPOD, MPRIC
C SORTIES            : MAIPRI
C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
C***********************************************************************
C VERSION    : v1, 02/02/2000, version initiale
C HISTORIQUE : v1, 02/02/2000, 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 MPRIB.MELEME
      POINTEUR MPRID.MELEME
      POINTEUR MPRIC.MELEME
      POINTEUR MAIPRI.MELEME
-INC SMCHPOI
      POINTEUR CHPOD.MCHPOI
*
* Includes persos
*
      INTEGER NBMEL
      SEGMENT MELS
      POINTEUR LISMEL(NBMEL).MELEME
      ENDSEGMENT
      POINTEUR GPMELS.MELS
*
      INTEGER IMPR,IRET
*
* Executable statements
*
      IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans melcom.eso'
      NBMEL=0
      SEGINI GPMELS
      GPMELS.LISMEL(**)=MPRIB
      GPMELS.LISMEL(**)=MPRIC
      IF (CHPOD.NE.0) THEN
         CALL ECRCHA('MAIL')
         CALL ECROBJ('CHPOINT ',CHPOD)
         CALL EXTRAI
         CALL LIROBJ('MAILLAGE',MPRID,1,IRET)
         IF (IRET.EQ.0) THEN
            write(ioimp,*) 'erreur extraction du maillage de chpod'
            goto 9999
         ENDIF
         GPMELS.LISMEL(**)=MPRID
      ENDIF
      CALL MELAND(GPMELS,
     $     MAIPRI,
     $     IMPR,IRET)
      IF (IRET.NE.0) GOTO 9999
      SEGSUP GPMELS
*
* Normal termination
*
      IRET=0
      RETURN
*
* Format handling
*
*
* Error handling
*
 9999 CONTINUE
      IRET=1
      WRITE(IOIMP,*) 'An error was detected in subroutine melcom'
      RETURN
*
* End of subroutine MELCOM
*
      END



 
