C DIMEN3 SOURCE CHAT 09/10/09 21:17:14 6519 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'. * * REMARQUES: * ---------- * * CE SOUS-PROGRAMME FACTORISE L'OBJET 'RIGIDITE', SI CE N'EST DEJA * FAIT. * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 26 AOUT 1985 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC SMMATRI -INC SMRIGID * integer insym insym = 0 MRIGID = IPRIGI SEGACT,MRIGID NRG = IRIGEL(/1) NBR = IRIGEL(/2) IPMATR = ICHOLE c * IF(NORINC.GT.0 .AND. NORIND.GT.0) THEN INSYM = 1 ENDIF IF (NRG.GE.7) THEN DO 9 IN = 1,NBR IANTI=IRIGEL(7,IN) IF(IANTI.GT.0) THEN INSYM = 1 ENDIF 9 CONTINUE ENDIF C SEGDES,MRIGID IF (IPMATR .EQ. 0) THEN IF (INSYM .EQ. 0) THEN CALL TRIANG (IPRIGI,1D-18) ELSE CALL ldmt1(IPRIGI,1d-18) ENDIF IF (IERR .NE. 0) RETURN MRIGID = IPRIGI SEGACT,MRIGID IPMATR = ICHOLE SEGDES,MRIGID END IF * MMATRI = IPMATR SEGACT,MMATRI MILIGN = IILIGN SEGACT,MILIGN NBRINC = IPNO(/1) SEGDES,MILIGN SEGDES,MMATRI * END