Télécharger ottoec.eso

Retour à la liste

Numérotation des lignes :

ottoec
  1. C OTTOEC SOURCE CHAT 05/01/13 02:07:24 5004
  2. SUBROUTINE OTTOEC(NCA,NN,SIGMA,W,WMAX,SMAX,BILIN,WRUPT,BTR,
  3. & XLTR,XINVL,SBILI,FCRIT,FCRIT2,PENTE,PENTE2,LEBIL,ISING,
  4. & PRECIE,PRECIZ,XCOMP,XLAMC,KERRE)
  5. C=========================================================================
  6. C
  7. C ENTREES :
  8. C SIGMA,W,WMAX,SMAX,BILIN,WRUPT,BTR,XLTR,XINVL,SBILI
  9. C
  10. C
  11. C SORTIES :
  12. C FCRIT
  13. C
  14. C==========================================================================
  15. C
  16. IMPLICIT INTEGER(I-N)
  17. IMPLICIT REAL*8(A-H,O-Z)
  18. -INC PPARAM
  19. -INC CCOPTIO
  20. C
  21. PARAMETER (XZER=0.D0,UNDEMI=.5D0,UN=1.D0,DEUX=2.D0,TROIS=3.D0)
  22. PARAMETER (NC=4)
  23. C
  24. DIMENSION SIGMA(6),W(3),WMAX(3),BILIN(3),WREOUV(3),
  25. & WRUPT(3),XLTR(3),XINVL(3),SBILI(3)
  26. DIMENSION FCRIT(*),FCRIT2(*),NN(*),SMAX(*),XCOMP(*)
  27. DIMENSION LEBIL(*),ISING(*)
  28. DIMENSION PENTE(*),PENTE2(*)
  29. *
  30. DIMENSION DFF(6),DGG(6)
  31.  
  32. C
  33. C INITIALISATIONS
  34. C
  35. KERRE=0
  36. DO IC=1,NC
  37. FCRIT(IC)=-1.D4*PRECIZ
  38. FCRIT2(IC)=-1.D4*PRECIZ
  39. LEBIL(IC)=0
  40. ENDDO
  41. *
  42. *
  43. DO IC=1,NCA
  44. JC=NN(IC)
  45. *
  46. GO TO (1,1,1,4),JC
  47. *
  48. KERRE=99
  49. RETURN
  50. *
  51. 1 CONTINUE
  52. *-----------------
  53. *
  54. IF (XINVL(JC).NE.XZER) THEN
  55. *
  56. WREOUV(JC) = BTR*MIN(WMAX(JC),WRUPT(JC))
  57. PRECIW=PRECIE/XINVL(JC)
  58.  
  59. IF(IIMPI.EQ.42) THEN
  60. PRINT *,' '
  61. PRINT *,'OTTOEC - JC =',JC
  62. PRINT *,'OTTOEC - W =',W(JC)
  63. PRINT *,'OTTOEC - WMAX =',WMAX(JC)
  64. PRINT *,'OTTOEC - WREOUV =',WREOUV(JC)
  65. PRINT *,'OTTOEC - WRUPT =',WRUPT(JC)
  66. PRINT *,'OTTOEC - ISING =',ISING(JC)
  67. ENDIF
  68.  
  69. *
  70. *
  71. * cas ou le materiau n'est pas totalement casse
  72. * ---------------------------------------------
  73. *
  74. IF(WMAX(JC).LT.WRUPT(JC)) THEN
  75.  
  76. IF(ABS(W(JC)-WREOUV(JC)).LT.PRECIW) THEN
  77.  
  78. IF(WMAX(JC).EQ.0.D0.OR.BTR.EQ.UN) THEN
  79. *
  80. * le materiau vient d'atteindre la limite
  81. *
  82. CALL OTTOFU(XINVL,XLTR,WRUPT,BTR,BILIN,SBILI,W,
  83. & WMAX,SMAX,PENTE,JC)
  84. FCRIT(JC)=SIGMA(JC)-SMAX(JC)
  85.  
  86. ELSE
  87.  
  88. *
  89. *
  90. IF(IIMPI.EQ.42) THEN
  91. PRINT *,'CAS W=WREOUV DANS OTTOEC'
  92. ENDIF
  93.  
  94.  
  95. FCRIT(JC)=SIGMA(JC)
  96. IF(FCRIT(JC).GE.-PRECIZ) THEN
  97. *
  98. * ici on pourrait aussi tester que w > wreouv
  99. *
  100. PENTE(JC) = SMAX(JC)/(WMAX(JC)-WREOUV(JC))
  101. LEBIL(JC)=1
  102. FCRIT(JC)= SIGMA(JC) -
  103. & PENTE(JC)*(W(JC)-WREOUV(JC))
  104. ENDIF
  105. ENDIF
  106. *
  107.  
  108. ELSE IF(W(JC).GT.WREOUV(JC)) THEN
  109.  
  110.  
  111. IF(W(JC)-WMAX(JC).GT.PRECIW) THEN
  112.  
  113. PRINT *,' OTTOEC - W > WMAX SELON ',JC
  114. PRINT *,'W(JC) =',W(JC)
  115. PRINT *,'WMAX(JC) =',WMAX(JC)
  116. KERRE=7
  117. RETURN
  118. *
  119. ELSE IF(ABS(W(JC)-WMAX(JC)).LT.PRECIW) THEN
  120. *
  121. *
  122. IF(IIMPI.EQ.42) THEN
  123. PRINT *,'CAS W=WMAX DANS OTTOEC'
  124. PRINT *,'ISING(JC) =',ISING(JC)
  125. ENDIF
  126. *
  127. CALL OTTOFU(XINVL,XLTR,WRUPT,BTR,BILIN,
  128. & SBILI,W,WMAX,SMAX,PENTE,JC)
  129. FCRIT(JC)=SIGMA(JC)-SMAX(JC)
  130.  
  131. IF(IIMPI.EQ.42) THEN
  132. PRINT *,'SIGMA=',SIGMA(JC)
  133. PRINT *,'SMAX =',SMAX(JC)
  134. PRINT *,'FCRIT=',FCRIT(JC)
  135. ENDIF
  136. *
  137. * CAS ISING=0 ON CALCULE 2 PENTES
  138. *
  139. PENTE2(JC) = SMAX(JC)/(WMAX(JC)-WREOUV(JC))
  140. FCRIT2(JC) = SIGMA(JC)-PENTE2(JC)*(W(JC)-WREOUV(JC))
  141. *
  142. IF(ISING(JC).EQ.0) THEN
  143. LEBIL(JC)=2
  144. ISING(JC)=1
  145. *
  146. * CAS ISING=2 : PENTE POST-PIC
  147. *
  148. ELSE IF(ISING(JC).EQ.2) THEN
  149. LEBIL(JC)=0
  150. *
  151. * CAS ISING=3 : PENTE SECANTE
  152. *
  153. ELSE IF(ISING(JC).EQ.3) THEN
  154. LEBIL(JC)=1
  155. PENTE(JC)=PENTE2(JC)
  156. *
  157. IF(W(JC).LT.WMAX(JC)) THEN
  158. FCRIT(JC)= SIGMA(JC) -
  159. & PENTE(JC)*(W(JC)-WREOUV(JC))
  160. ENDIF
  161. ENDIF
  162.  
  163. ELSE IF(W(JC).LT.WMAX(JC)) THEN
  164.  
  165. PENTE(JC) = SMAX(JC)/(WMAX(JC)-WREOUV(JC))
  166. FCRIT(JC)= SIGMA(JC) - PENTE(JC)*(W(JC)-WREOUV(JC))
  167. LEBIL(JC)=1
  168.  
  169. ENDIF
  170.  
  171. ELSE IF(W(JC).LT.WREOUV(JC)) THEN
  172. PRINT *,' OTTOEC - W < WREOUV SELON ',JC
  173. PRINT *,'W(JC) =',W(JC)
  174. PRINT *,'WREOUV(JC) =',WREOUV(JC)
  175. KERRE=7
  176. RETURN
  177. ENDIF
  178. *
  179. * cas ou le materiau est totalement casse
  180. * ---------------------------------------
  181. *
  182. ELSE IF(WMAX(JC).GE.WRUPT(JC)) THEN
  183.  
  184. FCRIT(JC)=SIGMA(JC)
  185.  
  186. IF(IIMPI.EQ.42) THEN
  187. PRINT *,'W(JC) =',W(JC)
  188. PRINT *,'WREOUV(JC) =',WREOUV(JC)
  189. ENDIF
  190. *
  191. IF(ABS(W(JC)-WREOUV(JC)).LT.PRECIW) THEN
  192.  
  193. IF(IIMPI.EQ.42) THEN
  194. PRINT *,' OTTOEC - ON EST A LA LIMITE '
  195. ENDIF
  196. *
  197. IF(FCRIT(JC).GE.-PRECIZ) THEN
  198. PENTE(JC)=0.D0
  199. LEBIL(JC)=1
  200. ENDIF
  201. *
  202. ELSE IF(W(JC).GT.WREOUV(JC)) THEN
  203. LEBIL(JC)=1
  204. PENTE(JC)=0.D0
  205. ENDIF
  206.  
  207. ENDIF
  208.  
  209. ENDIF
  210. GO TO 100
  211. *
  212. 4 CONTINUE
  213. *-----------------
  214. *
  215. CALL OTTOCP(SIGMA,FCR4,XLTR,DFF,DGG,H4,
  216. & PRECIE,PRECIZ,XCOMP,XLAMC,KERRE)
  217.  
  218.  
  219. FCRIT(4) = FCR4
  220. * IF(IIMPI.EQ.42) THEN
  221. * WRITE(IOIMP,78000) FCR4
  222. *78000 FORMAT( 2X, ' OTTOEC - FCR4 '
  223. * & /(1(1X,1PE12.5)/)/)
  224. * ENDIF
  225. GO TO 100
  226. *
  227. 100 CONTINUE
  228. *
  229. ENDDO
  230. *
  231. IF(IIMPI.EQ.42) THEN
  232. WRITE(IOIMP,77000) (FCRIT(IC),IC=1,4)
  233. 77000 FORMAT( 2X, ' OTTOEC - FCRIT '/(4(1X,1PE12.5)/)/)
  234. WRITE(IOIMP,77001) (LEBIL(IC),IC=1,4)
  235. 77001 FORMAT( 2X, ' OTTOEC - LEBIL '/(4I4)/)
  236. WRITE(IOIMP,77003) (PENTE(IC),IC=1,4)
  237. 77003 FORMAT( 2X, ' OTTOEC - PENTE '/(4(1X,1PE12.5)/)/)
  238. ENDIF
  239. *
  240. RETURN
  241. END
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  

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