Télécharger defval.eso

Retour à la liste

Numérotation des lignes :

  1. C DEFVAL SOURCE BP208322 17/03/01 21:17:00 9325
  2. SUBROUTINE DEFVAL(NUMAT1,NBPTEL,NDEF,
  3. . IMAT,IVACAR,ICAR,IVASTR,IVARI,IVADEF,IVADET,
  4. . IVADS,MFR,CMATE,INPLAS,IB,IGAU,IND,
  5. . WTRAV,WRK1,WRK5,SECT,EPAIST)
  6. *
  7. *********************************************************
  8. * ENTREES
  9. *********************************************************
  10. *
  11. * NUMAT1 : dimension de VALMAT
  12. * NUCAR : dimension de VALCAR
  13. * NBPTEL : nombre de points de Gauss par éléments
  14. * NSTRS : nombre de composantes du tenseur des contraintes
  15. * NVARI : nombre de variables internes
  16. * NDEF : nombre de composantes du tenseur des deformations
  17. * IMAT : pointeur sur un segment mptval de materiau (utilise par calsig)
  18. * IVACAR : pointeur sur un segment mptval de cacarteristiques geometriques
  19. * ICAR : pointeur sur un segment mptval de caracteristiques
  20. * geometriques (utilise par calsig)
  21. * IVASTR : pointeur sur un segment mptval de contraintes
  22. * IVARI : pointeur sur un segment mptval de variables internes
  23. * IVADEF : pointeur sur un segment mptval de deformations
  24. * IVADET : pointeur sur un segment mptval de deformations
  25. * IVADS : pointeur sur un segment mptval de contraintes (increments)
  26. * MFR : formulation de l'élément
  27. * CMATE : nom du matériau
  28. * INPLAS : numéro de matériau inélastique
  29. * IB : numéro de l'élément
  30. * IGAUS : numéro du point de Gauss
  31. * IND : indice de prise en compte des déformations plastiques initiales
  32. * IND=1 : oui
  33. * IND=0 : non
  34. *
  35. **********************************************************************
  36. * SORTIES
  37. **********************************************************************
  38. *
  39. * VALMAT(NUMAT1) : champ de caratéristiques du matériau
  40. * VALCAR(NUCAR) : (WTRAV)
  41. * SIG0(NSTRS) : contraintes au début du pas (WRK1)
  42. * EPST0(NSTRS) : deformations au début du pas (WRK5)
  43. * VAR0(NVARI) : variables internes au début du pas (WRK1)
  44. * EPIN0(NVARI) : déformations inélastiques au début du pas
  45. * (éventuellement) (WRK5)
  46. * DEPST(NSTRS) : incrément de déformation totale (WRK1)
  47. * SECT : section de l'élément IB (éventuel)
  48. * EPAIST : épaisseur et excentrement ( éventuel)
  49. *
  50. ***********************************************************************
  51. *
  52. IMPLICIT INTEGER(I-N)
  53. IMPLICIT REAL*8(A-H,O-Z)
  54. *
  55. -INC CCOPTIO
  56. -INC SMCHAML
  57. *
  58. SEGMENT MPTVAL
  59. INTEGER IPOS(NS) ,NSOF(NS)
  60. INTEGER IVAL(NCOSOU)
  61. CHARACTER*16 TYVAL(NCOSOU)
  62. ENDSEGMENT
  63. *
  64. CHARACTER*8 CMATE
  65. *
  66. SEGMENT WRK1
  67. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  68. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  69. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  70. ENDSEGMENT
  71. *
  72. SEGMENT WRK5
  73. REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  74. ENDSEGMENT
  75. *
  76. SEGMENT WTRAV
  77. REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  78. REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  79. REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  80. REAL*8 XLOC(3,3),XGLOB(3,3)
  81. REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  82. ENDSEGMENT
  83. *
  84. * recuperation de valmat et de valcar
  85. *
  86. NUCAR=VALCAR(/1)
  87. NSTRS=SIG0(/1)
  88. NVARI=VAR0(/1)
  89. CALL ZERO(VALMAT,NUMAT1,1)
  90. CALL ZERO(VALCAR,NUCAR,1)
  91. *
  92. MPTVAL=IMAT
  93. DO 1005 IM=1,NUMAT1
  94. IF (IVAL(IM).NE.0) THEN
  95. MELVAL=IVAL(IM)
  96. IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN
  97. IBMN=MIN(IB ,VELCHE(/2))
  98. IGMN=MIN(IGAU,VELCHE(/1))
  99. VALMAT(IM)=VELCHE(IGMN,IBMN)
  100. ELSE IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN
  101. IBMN=MIN(IB ,IELCHE(/2))
  102. IGMN=MIN(IGAU,IELCHE(/1))
  103. VALMAT(IM)=DBLE(IELCHE(IGMN,IBMN))
  104. ELSE
  105. VALMAT(IM)=0.D0
  106. ENDIF
  107. ELSE
  108. VALMAT(IM)=0.D0
  109. ENDIF
  110. 1005 CONTINUE
  111. ** valmat est dimensionnee a 4 dans le cas test endoaxi1
  112. ** et n'est jamais utilise au dessus
  113. * IF(INPLAS.EQ.26) THEN
  114. * VALMAT(7)=VALMAT(3)
  115. * DO 1006 ICOMP=3,6
  116. * VALMAT(ICOMP)=0.D0
  117. *1006 CONTINUE
  118. * ENDIF
  119. *
  120. IF ((MFR.EQ.7.OR.MFR.EQ.13.OR.MFR.EQ.15.OR.MFR.EQ.17).AND.
  121. 1 CMATE.NE.'SECTION') THEN
  122. *
  123. IF (MFR.EQ.15) THEN
  124. NUCAR=NUCAR/2
  125. IE=1
  126. DO 1007 IC=1,3,2
  127. MPTVAL=IVACAR
  128. DO 1007 ICOMP=1,NUCAR
  129. MELVAL=IVAL(ICOMP)
  130. IAUX=MELVAL
  131. IF (IAUX.NE.0) THEN
  132. IGMN=MIN(IC,VELCHE(/1))
  133. IBMN=MIN(IB,VELCHE(/2))
  134. VALCAR(IE)=VELCHE(IGMN,IBMN)
  135. ELSE
  136. VALCAR(IE)=0.D0
  137. ENDIF
  138. IE=IE+1
  139. 1007 CONTINUE
  140. *
  141. ELSE
  142. DO 1010 ICOMP=1,NUCAR
  143. MPTVAL=ICAR
  144. MELVAL=IVAL(ICOMP)
  145. IAUX=MELVAL
  146. VALCAR(ICOMP)=0.D0
  147. DO 1008 IAUX1=1,NBPTEL
  148. IF (IAUX.NE.0) THEN
  149. IBMN=MIN(IB ,VELCHE(/2))
  150. IGMN=MIN(IAUX1,VELCHE(/1))
  151. VALCAR(ICOMP)=VALCAR(ICOMP)+VELCHE(IBMN,IGMN)
  152. ENDIF
  153. IF(IAUX1.EQ.NBPTEL) VALCAR(ICOMP)=VALCAR(ICOMP)/NBPTEL
  154. 1008 CONTINUE
  155. 1010 CONTINUE
  156. ENDIF
  157. ENDIF
  158. *
  159. * on recupere les contraintes initiales
  160. *
  161. MPTVAL=IVASTR
  162. DO 1101 IC=1,NSTRS
  163. MELVAL=IVAL(IC)
  164. IBMN=MIN(IB,VELCHE(/2))
  165. IGMN=MIN(IGAU,VELCHE(/1))
  166. SIG0(IC)=VELCHE(IGMN,IBMN)
  167. 1101 continue
  168. *
  169. * on recupere les variables internes
  170. *
  171. MPTVAL=IVARI
  172. DO IC=1,NVARI
  173. MELVAL=IVAL(IC)
  174. IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN
  175. IBMN=MIN(IB,IELCHE(/2))
  176. IGMN=MIN(IGAU,IELCHE(/1))
  177. VAR0(IC)=DBLE(IELCHE(IGMN,IBMN))
  178. ELSE IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN
  179. IBMN=MIN(IB,VELCHE(/2))
  180. IGMN=MIN(IGAU,VELCHE(/1))
  181. VAR0(IC)=VELCHE(IGMN,IBMN)
  182. ENDIF
  183. END DO
  184. *
  185. * on recupere les deformations inelastiques initiales si besoin
  186. *
  187. IF(IND.EQ.1.OR.INPLAS.EQ.31.OR.INPLAS.EQ.30
  188. . .OR.INPLAS.EQ.34.OR.INPLAS.EQ.37
  189. . .OR.INPLAS.EQ.47.OR.INPLAS.EQ.66
  190. . .OR.INPLAS.EQ.75.OR.INPLAS.EQ.118
  191. . .OR.INPLAS.EQ.141) THEN
  192. MPTVAL=IVADEF
  193. DO 1103 IC=1,NDEF
  194. MELVAL=IVAL(IC)
  195. IBMN=MIN(IB,VELCHE(/2))
  196. IGMN=MIN(IGAU,VELCHE(/1))
  197. EPIN0(IC)=VELCHE(IGMN,IBMN)
  198. 1103 continue
  199. ENDIF
  200. *
  201. * on recupere les deformations totales si besoin
  202. *
  203. IF(MFR.EQ.33) THEN
  204. MPTVAL=IVADET
  205. DO 1104 IC=1,NDEF
  206. MELVAL=IVAL(IC)
  207. IBMN=MIN(IB,VELCHE(/2))
  208. IGMN=MIN(IGAU,VELCHE(/1))
  209. EPST0(IC)=VELCHE(IGMN,IBMN)
  210. 1104 continue
  211. ENDIF
  212. *
  213. * on recupere les increments de deformations totales
  214. *
  215. MPTVAL=IVADS
  216. DO 1105 IC=1,NSTRS
  217. MELVAL=IVAL(IC)
  218. IBMN=MIN(IB,VELCHE(/2))
  219. IGMN=MIN(IGAU,VELCHE(/1))
  220. DEPST(IC)=VELCHE(IGMN,IBMN)
  221. 1105 continue
  222. *
  223. IF(MFR.EQ.27.OR.MFR.EQ.49) THEN
  224. *
  225. * on cherche la section de l'element ib
  226. *
  227. MPTVAL=ICAR
  228. MELVAL=IVAL(1)
  229. IAUX=MELVAL
  230. IF (IAUX.NE.0) THEN
  231. IBMN=MIN(IB ,VELCHE(/2))
  232. IGMN=MIN(IGAU,VELCHE(/1))
  233. SECT=VELCHE(IGMN,IBMN)
  234. ELSE
  235. SECT=0.D0
  236. ENDIF
  237. ENDIF
  238. *
  239. * prise en compte de l'epaisseur et de l'excentrement
  240. * dans le cas des coques minces avec ou sans cisaillement
  241. * transverse
  242. *
  243. IF ((CMATE.EQ.'ISOTROPE'.OR.CMATE.EQ.'ORTHOTRO'.
  244. 1 OR.CMATE.EQ.'UNIDIREC').AND.
  245. 2 (MFR.EQ.3.OR.MFR.EQ.9)) THEN
  246. MPTVAL=ICAR
  247. MELVAL=IVAL(1)
  248. IAUX=MELVAL
  249. IF (IAUX.NE.0) THEN
  250. IBMN=MIN(IB ,VELCHE(/2))
  251. IGMN=MIN(IGAU,VELCHE(/1))
  252. EPAIST=VELCHE(IGMN,IBMN)
  253. ELSE
  254. EPAIST=0.D0
  255. ENDIF
  256. ENDIF
  257. *
  258. RETURN
  259. END
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  

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