Télécharger clmodu.eso

Retour à la liste

Numérotation des lignes :

  1. C CLMODU SOURCE CHAT 05/01/12 22:08:39 5004
  2. SUBROUTINE CLMODU (YUNG,CONTRI,OUVERI,DCONTI,DEPSTI,RTI,
  3. . XLTRI,XLTTI,EPTTI,EPTRI,EPRSI,
  4. . ETI,EPPRFI,EPSPRI,JECROI,KOMPRI,JECHAI,
  5. . KERRE)
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. -INC CCOPTIO
  9. C
  10. C***********************************************************************
  11. C**************************** INITIALISATION ***************************
  12. C***********************************************************************
  13. C
  14. RFE=1.D-8
  15. RFS=YUNG*RFE
  16. EPPTI=EPTTI-XLTTI/YUNG
  17. EPSPRI=EPRSI
  18. IF(XLTRI.GT.0.D0.AND.RTI.LE.RFS) EPSPRI=EPTRI
  19. JECROI=0
  20. KOMPRI=0
  21. C
  22. IF(IIMPI.EQ.9) THEN
  23. WRITE(IOIMP,1001) YUNG,RTI
  24. WRITE(IOIMP,1002) CONTRI,OUVERI,DCONTI,DEPSTI
  25. WRITE(IOIMP,1003) XLTRI,XLTTI,EPTTI
  26. WRITE(IOIMP,1004) EPTRI,EPRSI,EPPTI
  27. 1001 FORMAT(2X,'YUNG =',1PE12.5,2X,'RTI =',1PE12.5)
  28. 1002 FORMAT(2X,'CONTRI=',1PE12.5,2X,'OUVERI=',1PE12.5,/,
  29. . 2X,'DCONTI=',1PE12.5,2X,'DEPSTI=',1PE12.5)
  30. 1003 FORMAT(2X,'XLTRI =',1PE12.5,2X,'XLTTI =',1PE12.5,
  31. . 2X,'EPTTI =',1PE12.5)
  32. 1004 FORMAT(2X,'EPTRI =',1PE12.5,2X,'EPRSI =',1PE12.5,
  33. . 2X,'EPPTI =',1PE12.5)
  34. ENDIF
  35. C
  36. C***********************************************************************
  37. C*********************** DIFFERENTS CAS PREVUS *************************
  38. C***********************************************************************
  39. C
  40. IF(XLTRI.GT.0.D0.AND.RTI.GT.RFS) THEN
  41. C
  42. IF(XLTTI.GT.0.D0) THEN
  43. IF(RTI.GE.XLTTI) THEN
  44. EPSPRI=((XLTRI-RTI)/(XLTRI-XLTTI))*EPPTI
  45. ELSE
  46. EPSPRI=EPPTI+((1.D0-RTI/XLTTI)*(EPTRI-EPPTI))
  47. ENDIF
  48. ELSE
  49. EPSPRI=(1.D0-RTI/XLTRI)*EPTRI
  50. ENDIF
  51. C
  52. EPRMA=(1.D0-(SQRT(RTI/XLTRI)))*EPSPRI
  53. EPRMI=(1.D0-(SQRT(RTI/XLTRI)))*EPRSI
  54. EPRM=MIN(EPRMA,EPRMI)
  55. C
  56. IF(RTI.LT.XLTRI) THEN
  57. C
  58. IF(ABS(CONTRI-RTI).LT.RFS) THEN
  59. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  60. . JECHAI.EQ.1) GO TO 200
  61. GO TO 300
  62. ELSE
  63. C
  64. IF(CONTRI.GT.RFS) THEN
  65. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  66. . JECHAI.EQ.1) GO TO 500
  67. GO TO 300
  68. ELSE
  69. C
  70. IF(ABS(CONTRI).LE.RFS) THEN
  71. IF(OUVERI.GT.EPRM.AND.(ABS(OUVERI-EPRM)).GT.RFE) THEN
  72. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  73. . JECHAI.EQ.1) GO TO 500
  74. GO TO 400
  75. ELSE
  76. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  77. . JECHAI.EQ.1) GO TO 500
  78. GO TO 100
  79. ENDIF
  80. ELSE
  81. C
  82. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  83. . JECHAI.EQ.1) GO TO 102
  84. GO TO 100
  85. ENDIF
  86. ENDIF
  87. ENDIF
  88. C
  89. ELSE
  90. IF(ABS(CONTRI-RTI).LT.RFS) THEN
  91. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  92. . JECHAI.EQ.1) GO TO 200
  93. GO TO 100
  94. ELSE
  95. C
  96. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  97. . JECHAI.EQ.1 ) GO TO 101
  98. GO TO 100
  99. ENDIF
  100. ENDIF
  101. ENDIF
  102. C
  103. IF(XLTRI.EQ.0.D0.OR.RTI.LE.RFS) THEN
  104. EPRM=EPRSI
  105. IF(ABS(CONTRI).LE.RFS) THEN
  106. IF(OUVERI.GT.EPRM.AND.(ABS(OUVERI-EPRM)).GT.RFE) THEN
  107. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  108. . JECHAI.EQ.1) GO TO 401
  109. GO TO 400
  110. ELSE
  111. C
  112. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  113. . JECHAI.EQ.1) GO TO 401
  114. GO TO 100
  115. ENDIF
  116. ELSE
  117. C
  118. IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  119. . JECHAI.EQ.1) GO TO 102
  120. GO TO 100
  121. ENDIF
  122. ENDIF
  123. C
  124. 999 KERRE=469
  125. RETURN
  126. C
  127. C***********************************************************************
  128. C************************ MODULE ELASTIQUE YUNG ************************
  129. C***********************************************************************
  130. C****** DOMAINE DE LA COMPRESSION **************************************
  131. C***********************************************************************
  132. C
  133. 100 ETI=YUNG
  134. EPPRFI=-1.D0
  135. JECHAI=2
  136. RETURN
  137. C
  138. C***********************************************************************
  139. C****** DOMAINE DE LA TRACTION *****************************************
  140. C***********************************************************************
  141. C
  142. 101 ETI=YUNG
  143. EPPRFI=1.D0
  144. JECHAI=1
  145. RETURN
  146. C
  147. C***********************************************************************
  148. C****** DECHARGE DANS LE DOMAINE DE LA COMPRESSION *********************
  149. C***********************************************************************
  150. C
  151. 102 ETI=YUNG
  152. EPPRFI=EPRM
  153. JECHAI=1
  154. KOMPRI=1
  155. RETURN
  156. C
  157. C***********************************************************************
  158. C***************** CALCUL DE LA BRANCHE DESCENDANTE ET *****************
  159. C***********************************************************************
  160. C
  161. 200 IF(XLTTI.GT.0.D0) THEN
  162. IF(RTI.GT.XLTTI) THEN
  163. ETI=YUNG*(XLTTI-XLTRI)/((YUNG*EPPTI)+(XLTTI-XLTRI))
  164. EPPRFI=EPPTI
  165. ELSE
  166. ETI=YUNG*XLTTI/((YUNG*(EPPTI-EPTRI))+XLTTI)
  167. EPPRFI=EPTRI
  168. ENDIF
  169. ELSE
  170. ETI=YUNG*XLTRI/((YUNG*(-EPTRI))+XLTRI)
  171. EPPRFI=EPTRI
  172. ENDIF
  173. JECHAI=1
  174. JECROI=1
  175. RETURN
  176. C
  177. C***********************************************************************
  178. C***************** CALCUL DU MODULE DE DECHARGE ED *********************
  179. C***********************************************************************
  180. C
  181. 300 EPPRFI=OUVERI-(CONTRI*EPSPRI/(SQRT(XLTRI*RTI)))
  182. C
  183. IF(ABS(CONTRI-RTI).LT.RFS) THEN
  184. ETI=(YUNG*(SQRT(XLTRI*RTI)))/((SQRT(XLTRI*RTI))+(YUNG*EPSPRI))
  185. ELSE
  186. C
  187. OUVMAX=(1.D0-((RTI-CONTRI)/(SQRT(XLTRI*RTI))))*EPSPRI
  188. OUVMIN=EPRM+((EPSPRI-EPRM)*CONTRI/RTI)
  189. EPPMAX=(1.D0-(SQRT(RTI/XLTRI)))*EPSPRI
  190. EPPMIN=EPRM+((EPPMAX-EPRM)*CONTRI/RTI)
  191. C
  192. IF(IIMPI.EQ.9) THEN
  193. WRITE(IOIMP,1005) EPPRFI
  194. WRITE(IOIMP,1006) EPRM,EPSPRI
  195. WRITE(IOIMP,1007) OUVMAX,OUVMIN
  196. WRITE(IOIMP,1008) EPPMAX,EPPMIN
  197. 1005 FORMAT(2X,'EPPRFI=',1PE12.5)
  198. 1006 FORMAT(2X,'EPRM =',1PE12.5,2X,'EPSPRI=',1PE12.5)
  199. 1007 FORMAT(2X,'OUVMAX=',1PE12.5,2X,'OUVMIN=',1PE12.5)
  200. 1008 FORMAT(2X,'EPPMAX=',1PE12.5,2X,'EPPMIN=',1PE12.5)
  201. ENDIF
  202. C
  203. IF(OUVERI.LT.EPPMIN.OR.OUVERI.GT.EPSPRI) GO TO 999
  204. C
  205. IF(OUVERI.LT.OUVMIN.OR.OUVERI.GT.OUVMAX) THEN
  206. IF(OUVERI.LT.OUVMIN.AND.OUVERI.GE.EPPMIN)
  207. . ETI=(YUNG*CONTRI)/((YUNG*(OUVERI-EPPMIN))+CONTRI)
  208. IF(OUVERI.GT.OUVMAX.AND.OUVERI.LE.EPSPRI)
  209. . ETI=(YUNG*CONTRI)/((YUNG*(OUVERI-EPPMAX))+CONTRI)
  210. ELSE
  211. ETI=(YUNG*(SQRT(XLTRI*RTI)))/((SQRT(XLTRI*RTI))+(YUNG*EPSPRI))
  212. ENDIF
  213. ENDIF
  214. JECHAI=2
  215. RETURN
  216. C
  217. C***********************************************************************
  218. C************************** MODULE E0 = ZERO ***************************
  219. C***********************************************************************
  220. C****** CAS DE DECHARGE ************************************************
  221. C***********************************************************************
  222. C
  223. 400 ETI=0.D0
  224. EPPRFI=EPRM
  225. JECHAI=2
  226. RETURN
  227. C
  228. C***********************************************************************
  229. C****** CAS DE RECHARGE ************************************************
  230. C***********************************************************************
  231. C
  232. 401 ETI=0.D0
  233. EPPRFI=1.D0
  234. JECHAI=1
  235. RETURN
  236. C
  237. C***********************************************************************
  238. C***************** CALCUL DU MODULE DE RECHARGE EC *********************
  239. C***********************************************************************
  240. C
  241. 500 ETI=(YUNG*(RTI-CONTRI))/((RTI-CONTRI)+YUNG*(EPSPRI-OUVERI))
  242. EPPRFI=EPSPRI
  243. JECHAI=1
  244. IF(ETI.LT.0.D0.AND.(ABS(ETI)).GT.RFS) JECROI=1
  245. RETURN
  246. C
  247. END
  248.  
  249.  

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