Télécharger clmodu.eso

Retour à la liste

Numérotation des lignes :

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

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