dimesh
C DIMESH SOURCE GOUNAND 24/11/06 21:15:08 12073 IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : DIMESH C DESCRIPTION : Renvoie la dimension des éléments du maillage C ou une erreur si plusieurs dimensions C Pareil que la procédure DIMM C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : C APPELES (E/S) : C APPELES (BLAS) : C APPELES (CALCUL) : C APPELE PAR : C*********************************************************************** C SYNTAXE GIBIANE : C ENTREES : MELEME C ENTREES/SORTIES : C SORTIES : IDMESH C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 14/10/2005, version initiale C HISTORIQUE : v1, 14/10/2005, 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 CCGEOME -INC SMELEME * CHARACTER*4 NOMEL LOGICAL LPART,LFIDIM INTEGER IMPR,IRET * * Executable statements * IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans dimesh.eso' * LFIDIM=.FALSE. IDMESH=-1 * * CALL ECROBJ('MAILLAGE',MELEME) * CALL PRLIST SEGACT MELEME NBSOUS=LISOUS(/1) LPART=(NBSOUS.NE.0) IF (LPART) THEN NSOUS=NBSOUS ELSE NSOUS=1 ENDIF DO ISOUS=1,NSOUS IF (LPART) THEN IPT1=LISOUS(ISOUS) SEGACT IPT1 ELSE IPT1=MELEME ENDIF ITYP=IPT1.ITYPEL IF (ITYP.LE.0) THEN WRITE(IOIMP,*) 'ITYPEL=',ITYP,' <=0 ?' GOTO 9999 ENDIF NOMEL=NOMS(ITYP) IF (IRET.NE.0) GOTO 9999 IF (LFIDIM) THEN IF (IDIMEL.NE.IDMESH) THEN WRITE(IOIMP,*) 'Composite mesh not allowed' GOTO 9999 ENDIF ELSE IDMESH=IDIMEL LFIDIM=.TRUE. ENDIF IF (LPART) THEN SEGDES IPT1 ENDIF ENDDO SEGDES MELEME IF (.NOT.LFIDIM) THEN WRITE(IOIMP,*) 'No known elements in this mesh' GOTO 9999 ENDIF * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine dimesh' RETURN * * End of subroutine DIMESH * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales