C INVARI SOURCE CB215821 19/07/30 21:16:56 10273 * SUBROUTINE INVARI * *--------------------------------------------------------------------- * * CALCUL DES 3 INVARIANTS D'UN TENSEUR D'ORDRE 2 * * SYNTAXE : * --------- * * CH1 CH2 CH3 = INVA MOD CHEL (CAR) ( MOT ); * * MOD MODELE DE CALCUL, TYPE MMODEL * CHEL OBJET DE TYPE MCHAML DE SOUS TYPE CONTRAINTES * OU DEFORMATIONS * CAR OBJET DE TYPE MCHAML DE SOUS TYPE CARACTERISTIQUES * MOT MOT QUI INDIQUE POUR LES COQUES OU ON CALCULE LES * CONTRAINTES * CH1 OBJET DE TYPE MCHAML DE SOUS TYPE STRESSES * CH2 OBJET DE TYPE MCHAML DE SOUS TYPE STRESSES * CH3 OBJET DE TYPE MCHAML DE SOUS TYPE STRESSES * * PASSAGE AUX NOUVEAU CHAMELEM PAR JM CAMPENON LE 12/90 * *-------------------------------------------------------------------- * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO CHARACTER*4 MOCLE(3) DATA MOCLE/'SUPE','MOYE','INFE'/ * IPCHE1=0 IPCHE2=0 * CALL LIROBJ('MMODEL ',IPMODL,1,IRET) IF(IERR.NE.0) RETURN CALL ACTOBJ('MMODEL ',IPMODL,1) * CALL LIROBJ('MCHAML ',IPIN,1,IRET) IF(IERR.NE.0) RETURN CALL ACTOBJ('MCHAML ',IPIN,1) CALL REDUAF(IPIN,IPMODL,IPCHE1,0,IR,KER) IF(IR .NE. 1) CALL ERREUR(KER) IF(IERR .NE. 0) RETURN * CALL LIROBJ('MCHAML',IPIN,0,IRET) IF (IERR.NE.0) RETURN IPCHE2=0 IF (IRET .EQ. 1) THEN CALL ACTOBJ('MCHAML',IPIN,1) CALL REDUAF(IPIN,IPMODL,IPCHE2,0,IR,KER) IF(IR .NE. 1) CALL ERREUR(KER) IF(IERR .NE. 0) RETURN ENDIF * * LECTURE D'UN MOT SI NECESSAIRE * IMIL=0 CALL LIRMOT(MOCLE,3,IMOT,0) IF (IMOT.EQ.1) IMIL=1 IF (IMOT.EQ.3) IMIL=-1 * CALL INVACA(IPMODL,IPCHE1,IPCHS1,IPCHS2,IPCHS3,IPCHE2,IMIL,IRET) IF(IERR .NE. 0 .OR. IRET.EQ.0) RETURN * CALL ACTOBJ('MCHAML',IPCHS3,1) CALL ACTOBJ('MCHAML',IPCHS2,1) CALL ACTOBJ('MCHAML',IPCHS1,1) CALL ECROBJ('MCHAML',IPCHS3) CALL ECROBJ('MCHAML',IPCHS2) CALL ECROBJ('MCHAML',IPCHS1) END