C GRAD SOURCE AM 08/02/14 21:23:43 6050 C======================================================================= C= G R A D = C= ------- = C= = C= OPERATEUR CAST3M "GRAD" DE CALCUL DU GRADIENT D'UN CHAMP : = C= ---------------------------------------------------------- = C= GRA1 = 'GRAD' MODL1 CHP1 ou CHE1 ( CAR1 ) ; = C= = C= Cet operateur calcule le gradient d'un champ de temperatures ou = C= de deplacements. = C= = C= ARGUMENTS : = C= ----------- = C= MODL1 (MMODEL) Modele associe a la structure etudiee = C= CHP1 (CHPOINT) | Champ de deplacements (NOEUDS) = C= CHE1 (MCHAML) | ou de temperatures (ELEMENT) = C= CAR1 (MCHAML) Caracteristiques geometriques (facultatif) = C= Sous-type 'CARACTERISTIQUES' = C= = C= RESULTAT : = C= ---------- = C= GRA1 (MCHAML) Champ de gradients sur la structure = C= = C= SUO X.Z., le 16 novemebre 1986. = C= Christian LE BRETON et Denis ROBERT-MOUGIN, le 31 juillet 1989. = C= Modifications aux nouvelles normes par I. MONNIER, le 28 mai 1990. = C======================================================================= SUBROUTINE GRAD IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCOPTIO -INC CCHAMP C 1 - LECTURE DES ARGUMENTS DE L'OPERATEUR C ========================================== C 1.1 - Lecture OBLIGATOIRE du modele (IPMODL) C ===== CALL LIROBJ('MMODEL',IPMODL,1,IRET) IF (IERR.NE.0) RETURN C ===== C 1.2 - Syntaxe 1 : lecture d'un CHPOINT de depl. ou T (IPCHP1) C Transformation du CHPOINT en MCHAML aux noeuds (IPCHE2) C ===== IRET1=0 CALL LIROBJ('CHPOINT',IPCHP1,0,IRET1) IF (IERR.NE.0) RETURN IRET2=0 IF (IRET1.NE.0) THEN IPCHL1=IPCHP1 CALL CHAME1(0,IPMODL,IPCHP1,' ',IPCHE2,1) IF (IERR.NE.0) RETURN C ===== C 1.3 - Syntaxe 3 : lecture d'un MCHAML de depl. ou T (IPCHE2) C ERREUR si le mode de calcul est "generalise" C ===== ELSE IF (IFOUR.EQ.-3.OR. . (IFOUR.GE.7.AND.IFOUR.LE.11).OR.IFOUR.EQ.14) THEN MOTERR(1:8)='CHPOINT ' CALL ERREUR(37) RETURN ENDIF IPCHL1=0 CALL LIROBJ('MCHAML',IPCHE2,1,IRET2) IF (IERR.NE.0) RETURN ENDIF C ===== C 1.4 - Lecture FACULTATIVE des caracteristiques geometriques (IPCHE1) C ===== IRET3=0 CALL LIROBJ('MCHAML',IPCHE1,0,IRET3) IF (IERR.NE.0) RETURN IF (IRET3.NE.0.AND.IRET2.NE.0) THEN CALL RNGCHA(IPCHE1,IPCHE2,'CARACTERISTIQUES', . 'DEPLACEMENTS',IPCHA1,IPCHA2) IF (IPCHA1.EQ.0.OR.IPCHA2.EQ.0) THEN CALL ERREUR(805) RETURN ENDIF IPCHE1=IPCHA1 IPCHE2=IPCHA2 ENDIF C ===== C 1.5 - Lecture FACULTATIVE du mot 'CONS' C ===== ISCA=0 CALL LIRMOT('CONS',1,ISCA,0) IF (ISCA.EQ.0) THEN CALL GRAD1(IPMODL,IPCHE2,IPCHE1,IPCHL1,IRET) ELSE CALL GRAD2(IPMODL,IPCHE2,IPCHE1,IPCHL1,IRET) ENDIF IF (IRET.EQ.1) THEN IF (IRET1.NE.0) CALL DTCHAM(IPCHE2) CALL ECROBJ('MCHAML',IPCHL1) ENDIF RETURN END