C DIMEN3    SOURCE    MB234859  26/07/31    21:15:01     12613          
      SUBROUTINE DIMEN3 (IPRIGI,NBRINC)
************************************************************************
*
*                             D I M E N 3
*                             -----------
*
* FONCTION:
* ---------
*
*     DONNER LE NOMBRE D'INCONNUES DU PROBLEME PHYSIQUE ASSOCIE A UN
*     OBJET 'RIGIDITE'.
*
* MODE D'APPEL:
* -------------
*
*     CALL DIMEN3 (IPRIGI,NBRINC)
*
* PARAMETRES:  (E)=ENTREE   (S)=SORTIE
* -----------
*
*     IPRIGI  ENTIER    (E)  POINTEUR D'UNE 'RIGIDITE'.
*     NBRINC  ENTIER    (S)  NOMBRE D'INCONNUES DE LA 'RIGIDITE'.
*
* REMARQUE :
* ----------
*
*     IL N'EST PAS NECESSAIRE DE FACTORISER L'OBJET RIGIDITE POUR 
*     CONNAITRE LE NOMBRE D'INCONNUES DU PROBLEME
*     APPEL A ASSEM1/ASNS1 PLUTOT QUE TRIANG/LDMT1
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
*     PASCAL MANIGOT     26 AOUT 1985
*
* LANGAGE:
* --------
*
*     ESOPE + FORTRAN77
*
************************************************************************
*
      IMPLICIT INTEGER(I-N)
-INC PPARAM
-INC CCOPTIO
-INC SMMATRI
-INC SMRIGID
-INC CCREEL
C
      SEGMENT,IPOS(NNOE1)
C
      INSYM = 0
      MRIGID = IPRIGI
      SEGACT,MRIGID
      NRG = IRIGEL(/1)
      NBR = IRIGEL(/2)
C     bp, 2014-11-27 : petit ajout pour les rigidites vides
      IF(NBR.EQ.0) THEN
        NBRINC=0
        SEGDES,MRIGID
        RETURN
      ENDIF
      IPMATR=ICHOLE
      IF (IPMATR.NE.0) THEN
        MMATRI=IPMATR
        SEGACT,MMATRI
        MILIGN=IILIGN
        SEGACT,MILIGN
        NBRINC=IPNO(/1)
        SEGDES,MILIGN
        SEGDES,MMATRI
        GOTO 100
      ENDIF

C
      IF (NORINC.GT.0  .AND. NORIND.GT.0) INSYM = 1
      IF (NRG.GE.7) THEN
        DO  9 IN=1,NBR
          IANTI=IRIGEL(7,IN)
          IF (IANTI.GT.0) THEN
            INSYM = 1
            GOTO 10
          ENDIF
   9    CONTINUE
  10    CONTINUE
      ENDIF
C
      CALL ECRCHA('NOOP')
      CALL ASSEM1(IPRIGI,INSYM,MMATRX,INUINX,
     &            ITOPOX,IPOX,IITOPX,INCTRX,
     &            ITOPOZ,IPOZ,IITOPZ,INCTRZ)
      IPOS=IPOX
      SEGACT,IPOS
      NBNNOE=IPOS(/1)
      NBRINC=IPOS(NBNNOE)
C
 100  CONTINUE
      END
 
