C ISMSYM SOURCE PV 20/09/26 21:17:29 10724 SUBROUTINE ISMSYM(MATELE, $ LSYM, $ IMPR,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : ISMSYM C DESCRIPTION : Symétrie (ou non) des matrices élémentaires => symétrie C (ou non) de la matrice assemblée. C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELE PAR : PRASEM C*********************************************************************** C ENTREES : MATELE C SORTIES : LSYM C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 21/12/99, version initiale C HISTORIQUE : v1, 21/12/99, 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 SMMATRIK POINTEUR MATELE.MATRIK * INTEGER IMPR,IRET * INTEGER IMATE,NMATE INTEGER ISYM LOGICAL LSYM * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ismsym' LSYM=.TRUE. SEGACT MATELE NMATE=MATELE.IRIGEL(/2) DO 1 IMATE=1,NMATE ISYM=MATELE.IRIGEL(7,IMATE) IF (ISYM.EQ.-3.OR. $ (ISYM.GE.1.AND.ISYM.LE.3).OR. $ (ISYM.EQ.6).OR.(ISYM.EQ.8).OR.(ISYM.EQ.9)) THEN LSYM=.FALSE. ENDIF 1 CONTINUE SEGDES MATELE * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine ismsym' RETURN * * End of subroutine ISMSYM * END