C ISOVAL SOURCE PV 09/03/12 21:25:36 6325 SUBROUTINE ISOVAL IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : ISOVAL C DESCRIPTION : Construit le maillage de l'isovaleur d'un champ par C éléments C C 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 : C ENTREES/SORTIES : C SORTIES : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 15/12/2008, version initiale C HISTORIQUE : v1, 15/12/2008, 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 CCOPTIO -INC CCREEL -INC SMCHAML CHARACTER*8 MCHA INTEGER IMPR,IRET * * Executable statements * IMPR=0 IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans isoval.eso' * MCHA='MCHAML ' CALL LIROBJ(MCHA,MCHELM,1,IRETOU) * 37 2 * On ne trouve pas d'objet de type %m1:8 IF (IRETOU.NE.1) THEN MOTERR(1:8)=MCHA CALL ERREUR(37) RETURN ENDIF * CALL LIRREE(XISO,1,IRETOU) * 37 2 * On ne trouve pas d'objet de type %m1:8 IF (IRETOU.NE.1) THEN MOTERR(1:8)='FLOTTANT' CALL ERREUR(37) RETURN ENDIF * * Recherche du maximum * IPLMOT=0 IPLACE=0 KPLUS=1 LABSO=1 CALL MAXICH(MCHELM,IPLMOT,MCHA,IPLACE,XMAX,KPLUS,LABSO) XTOL=MAX(XMAX*XZPREC,XPETIT) * * Calcul de l'isovaleur * CALL ISOVA1(MCHELM,XISO,XTOL,MELEME) * * On renvoie le résultat * CALL ECROBJ('MAILLAGE',MELEME) RETURN * * End of subroutine ISOVAL * END