Télécharger ottoxf.eso

Retour à la liste

Numérotation des lignes :

  1. C OTTOXF SOURCE CHAT 05/01/13 02:08:01 5004
  2. SUBROUTINE OTTOXF(SIG0,DSIGT,XINVL,XLTR,NFISSU,NVF,
  3. & XXF,PRECIZ,KERRE)
  4. *
  5. C==========================================================================
  6. C
  7. C ENTREES :
  8. C SIG0,DSIGT,NFISSU,NVF,XLTR,XINVL
  9. C
  10. C SORTIES :
  11. C XXF
  12. C==========================================================================
  13. C
  14. IMPLICIT INTEGER(I-N)
  15. IMPLICIT REAL*8(A-H,O-Z)
  16. -INC CCOPTIO
  17. C
  18. PARAMETER (XZER=0.D0,UN=1.D0)
  19. C
  20. DIMENSION SIG0(6),DSIGT(6),XLTR(3),XINVL(3)
  21. *
  22. DIMENSION A3(3,3),B3(3,3),D3(3),XXF(3)
  23. *
  24. DO IC=1,3
  25. XXF(IC)=1.D4
  26. ENDDO
  27. C
  28. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  29. C LES TROIS DIRECTIONS SONT DEJA FISSUREES
  30. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  31. C
  32. IF (NFISSU.EQ.3) THEN
  33. RETURN
  34. ENDIF
  35. C
  36. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  37. C DEUX DIRECTIONS SONT DEJA FISSUREES
  38. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  39. C
  40. IF (NFISSU.EQ.2) THEN
  41. C
  42. C SEULE LA DIRECTION no IFIS N EST PAS FISSUREE
  43. C
  44. IF ((XINVL(1)*XINVL(2)).NE.XZER) IFIS=3
  45. IF ((XINVL(1)*XINVL(3)).NE.XZER) IFIS=2
  46. IF ((XINVL(2)*XINVL(3)).NE.XZER) IFIS=1
  47. *
  48. IF (DSIGT(IFIS).NE.XZER) THEN
  49. XXF(IFIS)=(XLTR(IFIS)-SIG0(IFIS))/DSIGT(IFIS)
  50. ENDIF
  51. ENDIF
  52. C
  53. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  54. C UNE DIRECTION EST DEJA FISSUREE
  55. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  56. C
  57. IF (NFISSU.EQ.1) THEN
  58. C
  59. C SEULE LA DIRECTION no IFIS EST FISSUREE
  60. C
  61. IF (XINVL(1).NE.XZER) IFIS=1
  62. IF (XINVL(2).NE.XZER) IFIS=2
  63. IF (XINVL(3).NE.XZER) IFIS=3
  64. *
  65. * IF(IIMPI.EQ.42) THEN
  66. * WRITE(IOIMP,77004) IFIS
  67. *77004 FORMAT( 2X, 'OTTOXF - IFIS =',I4/)
  68. * ENDIF
  69. C
  70. C CAS 1 :
  71. C DEUX DIRECTIONS DE FAIBLESSE NON FISSUREE, UNE DIRECTION FISSUREE
  72. C
  73. C remarque : ce cas est identique a une direction de faiblesse
  74. C non fissuree et une direction de fissuration.
  75. C
  76. IF (NVF.EQ.2.OR.NVF.EQ.1) THEN
  77. C
  78. C direction 1 fissuree
  79. C
  80.  
  81. IF (IFIS.EQ.1) THEN
  82. IF (DSIGT(2).NE.XZER) THEN
  83. XXF(2)=(XLTR(2)-SIG0(2))/DSIGT(2)
  84. ENDIF
  85. IF (DSIGT(3).NE.XZER) THEN
  86. XXF(3)=(XLTR(3)-SIG0(3))/DSIGT(3)
  87. ENDIF
  88. ENDIF
  89. C
  90. C direction 2 fissuree
  91. C
  92. IF (IFIS.EQ.2) THEN
  93. IF (DSIGT(1).NE.XZER) THEN
  94. XXF(1)=(XLTR(1)-SIG0(1))/DSIGT(1)
  95. ENDIF
  96. IF (DSIGT(3).NE.XZER) THEN
  97. XXF(3)=(XLTR(3)-SIG0(3))/DSIGT(3)
  98. ENDIF
  99. ENDIF
  100. C
  101. C direction 3 fissuree
  102. C
  103. C remarque : ce cas est impossible s il n y a qu une direction imposee
  104. C et une direction de fissuration.
  105. C
  106. IF (IFIS.EQ.3) THEN
  107. IF (DSIGT(1).NE.XZER) THEN
  108. XXF(1)=(XLTR(1)-SIG0(1))/DSIGT(1)
  109. ENDIF
  110. IF (DSIGT(2).NE.XZER) THEN
  111. XXF(2)=(XLTR(2)-SIG0(2))/DSIGT(2)
  112. ENDIF
  113. ENDIF
  114. ENDIF
  115. C
  116. C CAS 2 : PAS DE DIRECTION DE FAIBLESSE
  117. C
  118. C---------rq XLTR(2)=XLTR(3) puisque l on n a pas fissure---------
  119. C-----------et qu il n y a pas de direction de faiblesse----------
  120. C
  121. IF (NVF.EQ.0) THEN
  122. C
  123. CALL ZERO(A3,3,3)
  124. CALL ZERO(B3,3,3)
  125. A3(1,1)=SIG0(2)-XLTR(2)
  126. A3(1,2)=SIG0(6)
  127. A3(2,1)=SIG0(6)
  128. A3(2,2)=SIG0(3)-XLTR(2)
  129. *
  130. B3(1,1)=DSIGT(2)
  131. B3(1,2)=DSIGT(6)
  132. B3(2,1)=DSIGT(6)
  133. B3(2,2)=DSIGT(3)
  134. CALL OTTOB3(A3,B3,2,D3,KERRE)
  135. IF(KERRE.NE.0) RETURN
  136. C
  137. XXF(2)=D3(1)
  138. XXF(3)=D3(2)
  139. ENDIF
  140. RETURN
  141. ENDIF
  142. C
  143. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  144. C AUCUNE DIRECTION DEJA FISSUREE
  145. C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  146. C
  147. IF (NFISSU.EQ.0) THEN
  148. C
  149. C CAS 1 : DEUX OU TROIS DIRECTIONS DE FAIBLESSE
  150. C
  151.  
  152. IF (NVF.EQ.2.OR.NVF.EQ.3) THEN
  153. IF (DSIGT(1).NE.XZER) THEN
  154. XXF(1)=(XLTR(1)-SIG0(1))/DSIGT(1)
  155. ENDIF
  156. IF (DSIGT(2).NE.XZER) THEN
  157. XXF(2)=(XLTR(2)-SIG0(2))/DSIGT(2)
  158. ENDIF
  159. IF (DSIGT(3).NE.XZER) THEN
  160. XXF(3)=(XLTR(3)-SIG0(3))/DSIGT(3)
  161. ENDIF
  162. ENDIF
  163. C
  164. C CAS 2 : UNE DIRECTION DE FAIBLESSE
  165. C
  166. IF (NVF.EQ.1) THEN
  167. IF (DSIGT(1).NE.XZER) THEN
  168. XXF(1)=(XLTR(1)-SIG0(1))/DSIGT(1)
  169. ENDIF
  170. C
  171. CALL ZERO(A3,3,3)
  172. CALL ZERO(B3,3,3)
  173. *
  174. A3(1,1)=SIG0(2)-XLTR(2)
  175. A3(1,2)=SIG0(6)
  176. A3(2,1)=SIG0(6)
  177. A3(2,2)=SIG0(3)-XLTR(2)
  178. *
  179. B3(1,1)=DSIGT(2)
  180. B3(1,2)=DSIGT(6)
  181. B3(2,1)=DSIGT(6)
  182. B3(2,2)=DSIGT(3)
  183. *
  184. CALL OTTOB3(A3,B3,2,D3,KERRE)
  185. IF(KERRE.NE.0) RETURN
  186. *
  187. XXF(2)=D3(1)
  188. XXF(3)=D3(2)
  189. ENDIF
  190. C
  191. C CAS 3 : PAS DE DIRECTION DE FAIBLESSE
  192. C
  193. IF (NVF.EQ.0) THEN
  194. *
  195. A3(1,1)=SIG0(1)-XLTR(1)
  196. A3(1,2)=SIG0(4)
  197. A3(1,3)=SIG0(5)
  198. A3(2,1)=SIG0(4)
  199. A3(2,2)=SIG0(2)-XLTR(1)
  200. A3(2,3)=SIG0(6)
  201. A3(3,1)=SIG0(5)
  202. A3(3,2)=SIG0(6)
  203. A3(3,3)=SIG0(3)-XLTR(1)
  204. *
  205. B3(1,1)=DSIGT(1)
  206. B3(1,2)=DSIGT(4)
  207. B3(1,3)=DSIGT(5)
  208. B3(2,1)=DSIGT(4)
  209. B3(2,2)=DSIGT(2)
  210. B3(2,3)=DSIGT(6)
  211. B3(3,1)=DSIGT(5)
  212. B3(3,2)=DSIGT(6)
  213. B3(3,3)=DSIGT(3)
  214. *
  215. CALL OTTOB3(A3,B3,3,D3,KERRE)
  216. IF(KERRE.NE.0) RETURN
  217. *
  218. XXF(1)=D3(1)
  219. XXF(2)=D3(2)
  220. XXF(3)=D3(3)
  221.  
  222. ENDIF
  223. ENDIF
  224.  
  225. RETURN
  226. END
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  

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