1 : C THETA SOURCE PV 09/03/26 21:15:44 6346 2 : 3 : C======================================================================= 4 : C= T H E T A = 5 : C= --------- = 6 : C= = 7 : C= OPERATEUR CAST3M "THETA" : = 8 : C= -------------------------- = 9 : C= SIG1 = 'THETA' MODL1 | CHP1 | CARA1 ; = 10 : C= | CHEL1 | = 11 : C= = 12 : C= Cet operateur sert a calculer les contraintes dues a un champ de = 13 : C= temperatures (contraintes dites thermiques). = 14 : C= = 15 : C= ARGUMENTS : = 16 : C= ----------- = 17 : C= MODL1 (MMODEL) Modele (global) associe a la structure = 18 : C= CHP1 (CHPOINT) Temperatures aux NOEUDS = 19 : C= CHEL1 (MCHAML) Temperatures donnees par ELEMENT = 20 : C= Sous-type 'TEMPERATURES' = 21 : C= CARA1 (MCHAML) Caracteristiques des materiaux = 22 : C= Sous-type 'CARACTERISTIQUES' = 23 : C= = 24 : C= RESULTAT : = 25 : C= ---------- = 26 : C= SIG1 (MCHAML) Contraintes d'origine thermique = 27 : C======================================================================= 28 : 29 : SUBROUTINE THETA 30 : 31 : IMPLICIT INTEGER(I-N) 32 : IMPLICIT REAL*8 (A-H,O-Z) 33 : 34 : -INC CCOPTIO 35 : -INC SMCHAML 36 : -INC SMELEME 37 : 38 : C 1 - LECTURE DES ARGUMENTS DE L'OPERATEUR 39 : C ========================================== 40 : C 1.1 - Lecture OBLIGATOIRE du modele (IPMODL) 41 : C ===== 42 : MOTERR(1:8)='MODELE' 42 : CALL MESLIR(-137) 42 : CALL LIROBJ('MMODEL',IPMODL,1,IRET) 43 : IF (IERR.NE.0) RETURN 44 : C ===== 45 : C 1.2 - Lecture OBLIGATOIRE du champ de caracteristiques (IPCHA1) 46 : C ===== 47 : IPCHA1=0 47 : CALL LIROBJ('MCHAML',IPCHA1,1,IRET) 48 : IF (IERR.NE.0) RETURN 48 : call reduaf(ipcha1,ipmodl,ipch,0,ir,ker) 48 : if (ir.ne.1) call erreur(ker) 49 : IF (IERR.NE.0) RETURN 50 : ipcha1=ipch 51 : C ===== 52 : C 1.3 - Lecture OBLIGATOIRE du champ de temperatures donne par : 53 : C 1) un CHPOINT (IPCHPO) converti en MCHAML (IPCHE2) 54 : C ou 2) un MCHAML (IPCHA2) qui est duplique en IPCHE2 55 : C ===== 56 : C= 1.3.1 - Syntaxe 1 : lecture d'un CHPOINT 56 : CALL LIROBJ('CHPOINT',IPCHPO,0,IRET) 57 : IF (IERR.NE.0) RETURN 58 : IF (IRET.NE.0) THEN 59 : IPCHE1=IPCHA1 59 : CALL CHAME1(0,IPMODL,IPCHPO,' ',IPCHE2,1) 60 : IF (IERR.NE.0) RETURN 61 : ELSE 62 : C= 1.3.2 - Syntaxe 2 : lecture d'un MCHAML 63 : C= Mise en ordre des MCHAML lus 64 : C= 1 -> IPCHE1 = Caracteristiques, 2 -> IPCHE2 = Temperatures 65 : IPCHA2=0 65 : CALL LIROBJ('MCHAML', IPCHA2,1,IRET) 66 : IF (IERR.NE.0) RETURN 66 : call reduaf(ipcha2,ipmodl,ipch,0,ir,ker) 66 : if (ir.ne.1) call erreur(ker) 67 : IF (IERR.NE.0) RETURN 68 : ipcha2=ipch 69 : IPCHE1=0 70 : IPCHE2=0 70 : CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES','TEMPERATURES', 71 : . IPCHE1,IPCHE2) 72 : C= 1.3.3 - ERREUR si les sous-types ne sont pas corrects 73 : IF (IPCHE1.EQ.0.OR.IPCHE2.EQ.0) THEN 73 : CALL ERREUR(554) 74 : RETURN 75 : ENDIF 76 : C= 1.3.4 - Copie du MCHAML de temperatures pour la linearisation 76 : CALL ECROBJ('MCHAML',IPCHE2) 76 : CALL COPIER 76 : CALL LIROBJ('MCHAML',IPCHE2,1,IRET) 77 : IF (IERR.NE.0) RETURN 78 : ENDIF 79 : 80 : C 2 - LINEARISATION DES TEMPERATURES POUR LES NOEUDS MILIEUX 81 : C ============================================================ 81 : CALL LINEAT(IPCHE2) 82 : 83 : C 3 - CALCUL DU MCHAML DE CONTRAINTES THERMIQUES 84 : C ================================================ 84 : CALL THETAP(IPMODL,IPCHE1,IPCHE2,IPSTRS,IRET) 85 : 86 : C 4 - ECRITURE DU MCHAML RESULTAT 87 : C ================================= 87 : IF (IRET.EQ.1) CALL ECROBJ('MCHAML',IPSTRS) 87 : CALL DTCHAM(IPCHE2) 88 : 89 : RETURN 90 : END 91 : 92 : 93 : 94 : 95 : 96 :
© Cast3M 2003 - All rights reserved.
Disclaimer