Télécharger eptbba.eso

Retour à la liste

Numérotation des lignes :

eptbba
  1. C EPTBBA SOURCE SP204843 23/11/30 21:15:09 11798
  2. SUBROUTINE EPTBBA(MELE,IPCHA1,IPMINT,IPMAIL,IPCHA2)
  3.  
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6.  
  7. -INC PPARAM
  8. -INC CCOPTIO
  9. -INC SMCOORD
  10. -INC SMELEME
  11. -INC SMCHAML
  12. -INC SMINTE
  13.  
  14. PARAMETER (NIC=6)
  15.  
  16. LOGICAL QUAD
  17. CHARACTER*2 MOEP1
  18. DIMENSION ICQUAD(NIC)
  19.  
  20. C-----------------------------------------------------------------------
  21. C---- Elements incompressibles (MFR = 31) ------------------------------
  22. C-----------------------------------------------------------------------
  23. C NOM : ICT3, ICQ4, ICC8, ICT4, ICP6, ICY5/
  24. C DATA ICLINE / 69 , 70 , 73 , 74 , 75 , 273 /
  25. C NOM : ICT6, ICQ8, IC20, IC10, IC15, IC13/
  26. DATA ICQUAD / 71 , 72 , 76 , 77 , 78 , 274 /
  27.  
  28. SEGMENT MVAL
  29. REAL*8 XVAL(NVAL)
  30. ENDSEGMENT
  31.  
  32. C Resultat par defaut
  33. IPCHA2 = IPCHA1
  34.  
  35. C Si element ICT3 ou ICT4, rien a faire
  36. IF (MELE.EQ.69.OR.MELE.EQ.74) RETURN
  37.  
  38. C Element quadratique ?
  39. QUAD = .FALSE.
  40. DO IIC=1,NIC
  41. IF (MELE.EQ.ICQUAD(IIC)) QUAD = .TRUE.
  42. ENDDO
  43.  
  44. C Si element QUAD, on ne fait rien pour l'instant
  45. IF (QUAD) RETURN
  46.  
  47. C----------------------------------------------------------------------C
  48. C ELEMENTS LINEAIRES C
  49. C----------------------------------------------------------------------C
  50.  
  51. C Initialisation MCHAML de sortie
  52. MCHAML = IPCHA1
  53. SEGINI,MCHAM2 = MCHAML
  54. IPCHA2 = MCHAM2
  55.  
  56. C Initialisations boucle sur les valeurs du champ
  57. NCP1 = IELVAL(/1)
  58. MELVAL = IELVAL(1)
  59. NPG1 = VELCHE(/1)
  60. NEL1 = VELCHE(/2)
  61.  
  62. C Activation du MINTE :
  63. MINTE = IPMINT
  64. SEGACT,MINTE
  65.  
  66. C Segment de valeurs aux points de Gauss
  67. NVAL = NPG1
  68. SEGINI,MVAL
  69.  
  70. C Boucle sur les elements :
  71. DO 1 IEL1=1,NEL1
  72.  
  73. C Calcul de la deformation volumique moyenne dans l'element
  74. C----------------------------------------------------------
  75.  
  76. C EPTVM1 : def. vol. moy. au pt de Gauss
  77. EPTVM1 = 0.D0
  78. SOMMG1 = 0.D0
  79.  
  80. C Boucle sur les points de Gauss
  81. DO 10 IPG1=1,NPG1
  82.  
  83. C EPTV1 : def. vol. au pt de Gauss (Tr(epth))
  84. EPTV1 = 0.D0
  85.  
  86. C Boucle sur les composantes du champ
  87. NCEP1 = 0
  88. DO 100 ICP1=1,NCP1
  89. MOEP1 = NOMCHE(ICP1)(1:2)
  90. IF (MOEP1.EQ.'EP') THEN
  91. NCEP1 = NCEP1 + 1
  92. MELVAL = IELVAL(ICP1)
  93. c write(6,*) 'VELCHE(IPG1,IEL1)=',VELCHE(IPG1,IEL1)
  94. EPTV1 = EPTV1 + VELCHE(IPG1,IEL1)
  95. ENDIF
  96. 100 CONTINUE
  97. EPTV1 = EPTV1 / FLOAT(NCEP1)
  98. c write(6,*) 'POIGAU(IPG1),EPTV1=',POIGAU(IPG1),EPTV1
  99. EPTVM1 = EPTVM1 + POIGAU(IPG1)*EPTV1
  100. SOMMG1 = SOMMG1 + POIGAU(IPG1)
  101.  
  102. C On stocke la valeur de EPTV1 a ce point de Gauss
  103. XVAL(IPG1) = EPTV1
  104.  
  105. 10 CONTINUE
  106. EPTVM1 = EPTVM1 / SOMMG1
  107.  
  108. c write(6,*) 'EPTV1,EPTVM1=',EPTV1,EPTVM1
  109.  
  110. C "Affaiblissement" de la deformation thermique dans l'element (BBAR)
  111. C--------------------------------------------------------------------
  112.  
  113. C On travaille sur le champ resultat
  114. MCHAML = IPCHA2
  115.  
  116. C Boucle sur les points de Gauss
  117. DO 20 IPG1=1,NPG1
  118.  
  119. C Boucle sur les composantes du champ
  120. DO 200 ICP1=1,NCP1
  121. MOEP1 = NOMCHE(ICP1)(1:2)
  122. IF (MOEP1.EQ.'EP') THEN
  123. MELVAL = IELVAL(ICP1)
  124. XVAL1 = VELCHE(IPG1,IEL1) - XVAL(IPG1) + EPTVM1
  125. VELCHE(IPG1,IEL1) = XVAL1
  126. ENDIF
  127. 200 CONTINUE
  128.  
  129. 20 CONTINUE
  130.  
  131. 1 CONTINUE
  132.  
  133. C Menage memoire tableau MVAL
  134. SEGSUP,MVAL
  135.  
  136. RETURN
  137. END
  138.  
  139.  
  140.  

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