Télécharger theta.eso

Retour à la liste

Numérotation des lignes :

  1. C THETA SOURCE CB215821 19/08/01 21:16:39 10279
  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'
  43. CALL MESLIR(-137)
  44. CALL LIROBJ('MMODEL ',IPMODL,1,IRET)
  45. CALL ACTOBJ('MMODEL ',IPMODL,1)
  46. IF (IERR.NE.0) RETURN
  47. C =====
  48. C 1.2 - Lecture OBLIGATOIRE du champ de caracteristiques (IPCHA1)
  49. C =====
  50. IPCHA1=0
  51. CALL LIROBJ('MCHAML ',IPCHA1,1,IRET)
  52. CALL ACTOBJ('MCHAML ',IPCHA1,1)
  53. IF (IERR.NE.0) RETURN
  54. call reduaf(ipcha1,ipmodl,ipch,0,ir,ker)
  55. if (ir.ne.1) call erreur(ker)
  56. IF (IERR.NE.0) RETURN
  57. ipcha1=ipch
  58. C =====
  59. C 1.3 - Lecture OBLIGATOIRE du champ de temperatures donne par :
  60. C 1) un CHPOINT (IPCHPO) converti en MCHAML (IPCHE2)
  61. C ou 2) un MCHAML (IPCHA2) qui est duplique en IPCHE2
  62. C =====
  63. C= 1.3.1 - Syntaxe 1 : lecture d'un CHPOINT
  64. CALL LIROBJ('CHPOINT ',IPCHPO,0,IRET)
  65. IF (IERR.NE.0) RETURN
  66. IF (IRET.NE.0) THEN
  67. CALL ACTOBJ('CHPOINT ',IPCHPO,1)
  68. IPCHE1=IPCHA1
  69. CALL CHAME1(0,IPMODL,IPCHPO,' ',IPCHE2,1)
  70. IF (IERR.NE.0) RETURN
  71. ELSE
  72. C= 1.3.2 - Syntaxe 2 : lecture d'un MCHAML
  73. C= Mise en ordre des MCHAML lus
  74. C= 1 -> IPCHE1 = Caracteristiques, 2 -> IPCHE2 = Temperatures
  75. IPCHA2=0
  76. CALL LIROBJ('MCHAML ',IPCHA2,1,IRET)
  77. CALL ACTOBJ('MCHAML ',IPCHA2,1)
  78. IF (IERR.NE.0) RETURN
  79. call reduaf(ipcha2,ipmodl,ipch,0,ir,ker)
  80. if (ir.ne.1) call erreur(ker)
  81. IF (IERR.NE.0) RETURN
  82. ipcha2=ipch
  83. IPCHE1=0
  84. IPCHE2=0
  85. CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES','TEMPERATURES',
  86. . IPCHE1,IPCHE2)
  87. C= 1.3.3 - ERREUR si les sous-types ne sont pas corrects
  88. IF (IPCHE1.EQ.0.OR.IPCHE2.EQ.0) THEN
  89. CALL ERREUR(554)
  90. RETURN
  91. ENDIF
  92. C= 1.3.4 - Copie du MCHAML de temperatures pour la linearisation
  93. CALL ECROBJ('MCHAML ',IPCHE2)
  94. CALL COPIER
  95. CALL LIROBJ('MCHAML ',IPCHE2,1,IRET)
  96. IF (IERR.NE.0) RETURN
  97. ENDIF
  98.  
  99. C 2 - LINEARISATION DES TEMPERATURES POUR LES NOEUDS MILIEUX
  100. C ============================================================
  101. CALL LINEAT(IPCHE2)
  102.  
  103. C 3 - CALCUL DU MCHAML DE CONTRAINTES THERMIQUES
  104. C ================================================
  105. CALL THETAP(IPMODL,IPCHE1,IPCHE2,IPSTRS,IRET)
  106.  
  107. C 4 - ECRITURE DU MCHAML RESULTAT
  108. C =================================
  109. IF (IRET.EQ.1) THEN
  110. CALL ACTOBJ('MCHAML ',IPSTRS,1)
  111. CALL ECROBJ('MCHAML ',IPSTRS)
  112. ENDIF
  113. CALL DTCHAM(IPCHE2)
  114.  
  115. END
  116.  
  117.  
  118.  
  119.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales