Télécharger defval.eso

Retour à la liste

Numérotation des lignes :

defval
  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.  
  56. -INC PPARAM
  57. -INC CCOPTIO
  58. -INC SMCHAML
  59. *
  60. SEGMENT MPTVAL
  61. INTEGER IPOS(NS) ,NSOF(NS)
  62. INTEGER IVAL(NCOSOU)
  63. CHARACTER*16 TYVAL(NCOSOU)
  64. ENDSEGMENT
  65. *
  66. CHARACTER*8 CMATE
  67. *
  68. SEGMENT WRK1
  69. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  70. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  71. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  72. ENDSEGMENT
  73. *
  74. SEGMENT WRK5
  75. REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  76. ENDSEGMENT
  77. *
  78. SEGMENT WTRAV
  79. REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  80. REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  81. REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  82. REAL*8 XLOC(3,3),XGLOB(3,3)
  83. REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  84. ENDSEGMENT
  85. *
  86. * recuperation de valmat et de valcar
  87. *
  88. NUCAR=VALCAR(/1)
  89. NSTRS=SIG0(/1)
  90. NVARI=VAR0(/1)
  91. CALL ZERO(VALMAT,NUMAT1,1)
  92. CALL ZERO(VALCAR,NUCAR,1)
  93. *
  94. MPTVAL=IMAT
  95. DO 1005 IM=1,NUMAT1
  96. IF (IVAL(IM).NE.0) THEN
  97. MELVAL=IVAL(IM)
  98. IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN
  99. IBMN=MIN(IB ,VELCHE(/2))
  100. IGMN=MIN(IGAU,VELCHE(/1))
  101. VALMAT(IM)=VELCHE(IGMN,IBMN)
  102. ELSE IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN
  103. IBMN=MIN(IB ,IELCHE(/2))
  104. IGMN=MIN(IGAU,IELCHE(/1))
  105. VALMAT(IM)=DBLE(IELCHE(IGMN,IBMN))
  106. ELSE
  107. VALMAT(IM)=0.D0
  108. ENDIF
  109. ELSE
  110. VALMAT(IM)=0.D0
  111. ENDIF
  112. 1005 CONTINUE
  113. ** valmat est dimensionnee a 4 dans le cas test endoaxi1
  114. ** et n'est jamais utilise au dessus
  115. * IF(INPLAS.EQ.26) THEN
  116. * VALMAT(7)=VALMAT(3)
  117. * DO 1006 ICOMP=3,6
  118. * VALMAT(ICOMP)=0.D0
  119. *1006 CONTINUE
  120. * ENDIF
  121. *
  122. IF ((MFR.EQ.7.OR.MFR.EQ.13.OR.MFR.EQ.15.OR.MFR.EQ.17).AND.
  123. 1 CMATE.NE.'SECTION') THEN
  124. *
  125. IF (MFR.EQ.15) THEN
  126. NUCAR=NUCAR/2
  127. IE=1
  128. DO 1007 IC=1,3,2
  129. MPTVAL=IVACAR
  130. DO 1007 ICOMP=1,NUCAR
  131. MELVAL=IVAL(ICOMP)
  132. IAUX=MELVAL
  133. IF (IAUX.NE.0) THEN
  134. IGMN=MIN(IC,VELCHE(/1))
  135. IBMN=MIN(IB,VELCHE(/2))
  136. VALCAR(IE)=VELCHE(IGMN,IBMN)
  137. ELSE
  138. VALCAR(IE)=0.D0
  139. ENDIF
  140. IE=IE+1
  141. 1007 CONTINUE
  142. *
  143. ELSE
  144. DO 1010 ICOMP=1,NUCAR
  145. MPTVAL=ICAR
  146. MELVAL=IVAL(ICOMP)
  147. IAUX=MELVAL
  148. VALCAR(ICOMP)=0.D0
  149. DO 1008 IAUX1=1,NBPTEL
  150. IF (IAUX.NE.0) THEN
  151. IBMN=MIN(IB ,VELCHE(/2))
  152. IGMN=MIN(IAUX1,VELCHE(/1))
  153. VALCAR(ICOMP)=VALCAR(ICOMP)+VELCHE(IBMN,IGMN)
  154. ENDIF
  155. IF(IAUX1.EQ.NBPTEL) VALCAR(ICOMP)=VALCAR(ICOMP)/NBPTEL
  156. 1008 CONTINUE
  157. 1010 CONTINUE
  158. ENDIF
  159. ENDIF
  160. *
  161. * on recupere les contraintes initiales
  162. *
  163. MPTVAL=IVASTR
  164. DO 1101 IC=1,NSTRS
  165. MELVAL=IVAL(IC)
  166. IBMN=MIN(IB,VELCHE(/2))
  167. IGMN=MIN(IGAU,VELCHE(/1))
  168. SIG0(IC)=VELCHE(IGMN,IBMN)
  169. 1101 continue
  170. *
  171. * on recupere les variables internes
  172. *
  173. MPTVAL=IVARI
  174. DO IC=1,NVARI
  175. MELVAL=IVAL(IC)
  176. IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN
  177. IBMN=MIN(IB,IELCHE(/2))
  178. IGMN=MIN(IGAU,IELCHE(/1))
  179. VAR0(IC)=DBLE(IELCHE(IGMN,IBMN))
  180. ELSE IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN
  181. IBMN=MIN(IB,VELCHE(/2))
  182. IGMN=MIN(IGAU,VELCHE(/1))
  183. VAR0(IC)=VELCHE(IGMN,IBMN)
  184. ENDIF
  185. END DO
  186. *
  187. * on recupere les deformations inelastiques initiales si besoin
  188. *
  189. IF(IND.EQ.1.OR.INPLAS.EQ.31.OR.INPLAS.EQ.30
  190. . .OR.INPLAS.EQ.34.OR.INPLAS.EQ.37
  191. . .OR.INPLAS.EQ.47.OR.INPLAS.EQ.66
  192. . .OR.INPLAS.EQ.75.OR.INPLAS.EQ.118
  193. . .OR.INPLAS.EQ.141) THEN
  194. MPTVAL=IVADEF
  195. DO 1103 IC=1,NDEF
  196. MELVAL=IVAL(IC)
  197. IBMN=MIN(IB,VELCHE(/2))
  198. IGMN=MIN(IGAU,VELCHE(/1))
  199. EPIN0(IC)=VELCHE(IGMN,IBMN)
  200. 1103 continue
  201. ENDIF
  202. *
  203. * on recupere les deformations totales si besoin
  204. *
  205. IF(MFR.EQ.33) THEN
  206. MPTVAL=IVADET
  207. DO 1104 IC=1,NDEF
  208. MELVAL=IVAL(IC)
  209. IBMN=MIN(IB,VELCHE(/2))
  210. IGMN=MIN(IGAU,VELCHE(/1))
  211. EPST0(IC)=VELCHE(IGMN,IBMN)
  212. 1104 continue
  213. ENDIF
  214. *
  215. * on recupere les increments de deformations totales
  216. *
  217. MPTVAL=IVADS
  218. DO 1105 IC=1,NSTRS
  219. MELVAL=IVAL(IC)
  220. IBMN=MIN(IB,VELCHE(/2))
  221. IGMN=MIN(IGAU,VELCHE(/1))
  222. DEPST(IC)=VELCHE(IGMN,IBMN)
  223. 1105 continue
  224. *
  225. IF(MFR.EQ.27.OR.MFR.EQ.49) THEN
  226. *
  227. * on cherche la section de l'element ib
  228. *
  229. MPTVAL=ICAR
  230. MELVAL=IVAL(1)
  231. IAUX=MELVAL
  232. IF (IAUX.NE.0) THEN
  233. IBMN=MIN(IB ,VELCHE(/2))
  234. IGMN=MIN(IGAU,VELCHE(/1))
  235. SECT=VELCHE(IGMN,IBMN)
  236. ELSE
  237. SECT=0.D0
  238. ENDIF
  239. ENDIF
  240. *
  241. * prise en compte de l'epaisseur et de l'excentrement
  242. * dans le cas des coques minces avec ou sans cisaillement
  243. * transverse
  244. *
  245. IF ((CMATE.EQ.'ISOTROPE'.OR.CMATE.EQ.'ORTHOTRO'.
  246. 1 OR.CMATE.EQ.'UNIDIREC').AND.
  247. 2 (MFR.EQ.3.OR.MFR.EQ.9)) THEN
  248. MPTVAL=ICAR
  249. MELVAL=IVAL(1)
  250. IAUX=MELVAL
  251. IF (IAUX.NE.0) THEN
  252. IBMN=MIN(IB ,VELCHE(/2))
  253. IGMN=MIN(IGAU,VELCHE(/1))
  254. EPAIST=VELCHE(IGMN,IBMN)
  255. ELSE
  256. EPAIST=0.D0
  257. ENDIF
  258. ENDIF
  259. *
  260. RETURN
  261. END
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  

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