noeinc
C NOEINC SOURCE OF166741 23/03/03 21:15:03 11416 C*********************************************************************** C NOM : noeinc.eso C DESCRIPTION : Tableau des MELEME / POINTS nommes dont les numeros de C noeuds sont strictement inclus dans ICPR1 C*********************************************************************** C HISTORIQUE : 10/10/2018 : BERTHINC : Creation C 01/08/2022 : OF : Modifications diverses C*********************************************************************** C Priere de PRENDRE LE TEMPS DE COMPLETER LES COMMENTAIRES C en cas de modification de ce sous-programme afin de faciliter C la maintenance ! C*********************************************************************** C APPELE PAR : SORMED.ESO C*********************************************************************** C ENTREES : CTYP, ICPR1 C SORTIES : IREP1 C*********************************************************************** IMPLICIT INTEGER(i-n) IMPLICIT REAL*8(a-h,o-z) -INC PPARAM -INC CCOPTIO -INC CCMED -INC SMELEME -INC SMMED CHARACTER*(*) CTYP C Segment de travail SEGMENT icpr(ic) icpr = ICPR1 c* segact,icpr <- suppose actif en entree IREP1 = 0 C*********************************************************************** C On recupere les entites nommes et leurs noms IF (IERR.NE.0) RETURN NBENT1 = 0 C **************************************************************** C * CAS des objets de type 'MAILLAGES' C **************************************************************** C Note : Les maillages nommes ne sont pas necessairement actives ! C Ils sont actives puis desactives si non retenus. IF (CTYP .EQ. 'MAILLAGE') THEN C On repere quel MELEME nomme est inclus dans IMEL1 DO ii = 1, NBENT SEGACT,IPT1 NBSOUS = IPT1.LISOUS(/1) ides = 1 C Cas MELEME SIMPLE IF (NBSOUS .EQ. 0) THEN DO iel = 1, IPT1.NUM(/2) DO inoe = 1, IPT1.NUM(/1) IF(icpr(IPT1.NUM(inoe,iel)) .EQ. 0) GOTO 10 ENDDO ENDDO C Cas MELEME COMPLEXE ELSE DO isous=1,NBSOUS IPT2 = IPT1.LISOUS(isous) SEGACT,IPT2 DO iel=1,IPT2.NUM(/2) DO inoe=1,IPT2.NUM(/1) IF(icpr(IPT2.NUM(inoe,iel)) .EQ. 0) GOTO 10 ENDDO ENDDO ENDDO ENDIF ides = 0 NBENT1=NBENT1+1 10 CONTINUE IF (ides.EQ.1) SEGDES,IPT1 ENDDO C **************************************************************** C * CAS des objets de type 'POINT' C **************************************************************** ELSE IF (CTYP .EQ. 'POINT ')THEN C On repere quel POINT nomme est inclus dans IMEL1 DO ii = 1, NBENT IF (icpr(inoe) .NE. 0) THEN NBENT1=NBENT1+1 END IF ENDDO ELSE ENDIF C Ajustement final IF (NBENT1 .NE. NBENT) THEN NBENT=NBENT1 SEGADJ,SREPER ENDIF IREP1 = SREPER c segdes,icpr c return END
© Cast3M 2003 - Tous droits réservés.
Mentions légales