C IDPRIN    SOURCE    OF166741  26/02/23    21:15:20     12480          

C=======================================================================
C=    RECHERCHE DES NOMS DE COMPOSANTES DE CONTRAINTES PRINCIPALES     =
C=    ------------------------------------------------------------     =
C=                                                                     =
C= Entrees :                                                           =
C=   IPMODL    pointeur ACTIF sur objet IMODEL                         =
C=   IFOU      valeur de IFOUR de CCOPTIO                              =
C=                                                                     =
C= Sorties :                                                           =
C=   IPNOMC    pointeur de type NOMID sur les listes de noms de        =
C=             composantes OBLigatoires et FACultatives                =
C=   NBROBL    nombre de composantes OBLigatoires                      =
C=   NBRFAC    nombre de composantes FACultatives                      =
C=                                                                     =
C=  Remarque : Voir INOMID ou CCOPTIO pour signification IFOUR         =
C=======================================================================
C
      SUBROUTINE IDPRIN(IPMODL,IFOU,IPNOMC,NBROBL,NBRFAC)
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
-INC PPARAM
-INC CCOPTIO
C==DEB= FORMULATION HHO == Include specifique ==========================
-INC CCHHOPA
C==FIN= FORMULATION HHO ================================================
C
-INC SMMODEL
C
      NBROBL = 0
      NBRFAC = 0
C
      IMODEL=IPMODL
      NOMID =IMODEL.LNOMID(9)
C
C     Ne pas recreer le NOMID si deja present
      IF (NOMID.NE.0) THEN
        NBROBL=LESOBL(/2)
        NBRFAC=LESFAC(/2)
        IPNOMC=NOMID
        RETURN
      ENDIF
C
      MELE=IMODEL.NEFMOD
      MFR =NUMMFR(MELE)
      MFR2=NUMFOR(IMODEL)
C     =================================================================
C     FORMULATION MECANIQUE/POREUX/LIAISON
C     =================================================================
      IF ((MFR2.EQ.2) .OR. (MFR2.EQ.33) .OR. (MFR2.EQ.24)) THEN
C
C       ELEMENT MASSIF - MILIEU POREUX & FORMULATION HHO
C       ================================================
        IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.33.OR.MFR.EQ.35.OR.
     &      MFR.EQ.63.OR.MFR.EQ.HHO_MFR_ELEMENT) THEN
          IF (MFR.EQ.1.AND.IFOU.GE.3.AND.IFOU.LE.15) THEN
            NBROBL=3
            SEGINI,NOMID
            LESOBL(1)='SI11'
            LESOBL(2)='SI22'
            LESOBL(3)='SI33'
          ELSE
            NBROBL=12
            SEGINI,NOMID
            LESOBL(1)='SI11'
            LESOBL(2)='SI22'
            LESOBL(3)='SI33'
            LESOBL(4)='COX1'
            LESOBL(5)='COY1'
            LESOBL(6)='COZ1'
            LESOBL(7)='COX2'
            LESOBL(8)='COY2'
            LESOBL(9)='COZ2'
            LESOBL(10)='COX3'
            LESOBL(11)='COY3'
            LESOBL(12)='COZ3'
          ENDIF
C
C       Elements COQUES ET COQUES EPAISSES
C       ==================================
        ELSE IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
          NBROBL=8
          SEGINI,NOMID
          LESOBL(1)='SI11'
          LESOBL(2)='SI22'
          LESOBL(3)='COX1'
          LESOBL(4)='COY1'
          LESOBL(5)='COZ1'
          LESOBL(6)='COX2'
          LESOBL(7)='COY2'
          LESOBL(8)='COZ2'
C
C       Elements LINESPRING et TUYAU FISSURE
C       ====================================
        ELSE IF (MFR.EQ.15.OR.MFR.EQ.17) THEN
          IF (IFOU.EQ.2) THEN
            NBROBL=1
            SEGINI,NOMID
            LESOBL(1)='SI11'
          ENDIF
        ENDIF
C     =================================================================
C     FORMULATION NAVIER_STOKES
C     =================================================================
      ELSE IF (MFR2.EQ.52) THEN
        NBROBL=1
        SEGINI,NOMID
        LESOBL(1)='PN'
C     =================================================================
      ENDIF
C
      IF (NOMID.NE.0) SEGACT,NOMID*NOMOD
      IPNOMC=NOMID
      END
 
 
