Télécharger clcrit.eso

Retour à la liste

Numérotation des lignes :

clcrit
  1. C CLCRIT SOURCE CHAT 05/01/12 22:04:33 5004
  2. SUBROUTINE CLCRIT (SIGMA,DSIGT,RT,DEFP,DDEFP,DEFRF,NBVECD,KOMPR,
  3. . JECRO,KRITER,KRITC1,KRITC2,KRITC3,KRITE1,KRITE2,KRITE3)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7.  
  8. -INC PPARAM
  9. -INC CCOPTIO
  10. C
  11. DIMENSION SIGMA(*),DSIGT(*),SIGMAT(6),SIG(3),VECP(3),JECRO(*),
  12. . DEFP(*),DDEFP(*),DEFPT(6),DEFRF(*),RT(*),KOMPR(*)
  13. C
  14. C INITIALISATION
  15. C
  16. RFE=1.D-8
  17. KRITC1=0
  18. KRITC2=0
  19. KRITC3=0
  20. KRITE1=0
  21. KRITE2=0
  22. KRITE3=0
  23. C
  24. DO 10 I=1,6
  25. SIGMAT(I)=SIGMA(I)+DSIGT(I)
  26. DEFPT(I)=DEFP(I)+DDEFP(I)
  27. 10 CONTINUE
  28. C
  29. C **********************************************************************
  30. C ******************* CAS DE NB DE VECT PROPRES DONNES = 0 *************
  31. C **********************************************************************
  32. C
  33. IF(NBVECD.EQ.0) THEN
  34. C
  35. CALL VPMAX3 (SIGMAT,SIGMAX,VECP)
  36. C
  37. IF(SIGMAX.GT.RT(3)) THEN
  38. KRITC3=1
  39. ENDIF
  40. C
  41. RETURN
  42. ENDIF
  43. C
  44. C **********************************************************************
  45. C ******************* CAS DE NB DE VECT PROPRES DONNES = 1 *************
  46. C **********************************************************************
  47. C
  48. IF(NBVECD.EQ.1) THEN
  49. C
  50. IF(ABS(DEFRF(3)).LT.1.D0) THEN
  51. IF(DEFP(3).GT.DEFRF(3).AND.
  52. . (DDEFP(3).LT.0.D0.AND.ABS(DDEFP(3)).GT.RFE)) THEN
  53. IF(DEFPT(3).LT.DEFRF(3)) THEN
  54. KRITE3=1
  55. ENDIF
  56. ENDIF
  57. IF(DEFP(3).LT.DEFRF(3).AND.
  58. . (DDEFP(3).GT.0.D0.AND.ABS(DDEFP(3)).GT.RFE)) THEN
  59. IF(DEFPT(3).GT.DEFRF(3)) THEN
  60. KRITE3=1
  61. ENDIF
  62. ENDIF
  63. ENDIF
  64. C
  65. IF(JECRO(3).NE.1) THEN
  66. RTI=RT(3)
  67. IF(KOMPR(3).EQ.1) RTI=0.D0
  68. IF(SIGMAT(3).GT.RTI) THEN
  69. KRITC3=1
  70. IF(KRITE3.EQ.0) KRITER=KRITER+4
  71. ENDIF
  72. ENDIF
  73. C
  74. SIG(1)=SIGMAT(1)
  75. SIG(2)=SIGMAT(2)
  76. SIG(3)=SIGMAT(4)
  77. C
  78. IF(IIMPI.EQ.9) THEN
  79. WRITE(IOIMP,*) 'SIGMAT1 =',SIG(1)
  80. WRITE(IOIMP,*) 'SIGMAT2 =',SIG(2)
  81. WRITE(IOIMP,*) 'SIGMAT4 =',SIG(3)
  82. ENDIF
  83. C
  84. CALL DIAGOD (SIG)
  85. C
  86. IF(IIMPI.EQ.9) THEN
  87. WRITE(IOIMP,*) 'SIG1 =',SIG(1)
  88. WRITE(IOIMP,*) 'SIG2 =',SIG(2)
  89. WRITE(IOIMP,*) 'ANGL =',SIG(3)
  90. ENDIF
  91. C
  92. IF(SIG(1).GT.RT(1)) THEN
  93. KRITC1=1
  94. ENDIF
  95. C
  96. IF(SIG(2).GT.RT(2)) THEN
  97. KRITC2=1
  98. ENDIF
  99. C
  100. RETURN
  101. ENDIF
  102. C
  103. C **********************************************************************
  104. C ******************* CAS DE NB DE VECT PROPRES DONNES = 2 *************
  105. C **********************************************************************
  106. C
  107. IF(NBVECD.EQ.2) THEN
  108. C
  109. IF(ABS(DEFRF(1)).LT.1.D0) THEN
  110. IF(DEFP(1).GT.DEFRF(1).AND.
  111. . (DDEFP(1).LT.0.D0.AND.ABS(DDEFP(1)).GT.RFE)) THEN
  112. IF(DEFPT(1).LT.DEFRF(1)) THEN
  113. KRITE1=1
  114. ENDIF
  115. ENDIF
  116. IF(DEFP(1).LT.DEFRF(1).AND.
  117. . (DDEFP(1).GT.0.D0.AND.ABS(DDEFP(1)).GT.RFE)) THEN
  118. IF(DEFPT(1).GT.DEFRF(1)) THEN
  119. KRITE1=1
  120. ENDIF
  121. ENDIF
  122. ENDIF
  123. C
  124. IF(JECRO(1).NE.1) THEN
  125. RTI=RT(1)
  126. IF(KOMPR(1).EQ.1) RTI=0.D0
  127. IF(SIGMAT(1).GT.RTI) THEN
  128. KRITC1=1
  129. IF(KRITE1.EQ.0) KRITER=KRITER+1
  130. ENDIF
  131. ENDIF
  132. C
  133. IF(ABS(DEFRF(2)).LT.1.D0) THEN
  134. IF(DEFP(2).GT.DEFRF(2).AND.
  135. . (DDEFP(2).LT.0.D0.AND.ABS(DDEFP(2)).GT.RFE)) THEN
  136. IF(DEFPT(2).LT.DEFRF(2)) THEN
  137. KRITE2=1
  138. ENDIF
  139. ENDIF
  140. IF(DEFP(2).LT.DEFRF(2).AND.
  141. . (DDEFP(2).GT.0.D0.AND.ABS(DDEFP(2)).GT.RFE)) THEN
  142. IF(DEFPT(2).GT.DEFRF(2)) THEN
  143. KRITE2=1
  144. ENDIF
  145. ENDIF
  146. ENDIF
  147. C
  148. IF(JECRO(2).NE.1) THEN
  149. RTI=RT(2)
  150. IF(KOMPR(2).EQ.1) RTI=0.D0
  151. IF(SIGMAT(2).GT.RTI) THEN
  152. KRITC2=1
  153. IF(KRITE2.EQ.0) KRITER=KRITER+2
  154. ENDIF
  155. ENDIF
  156. C
  157. IF(ABS(DEFRF(3)).LT.1.D0) THEN
  158. IF(DEFP(3).GT.DEFRF(3).AND.
  159. . (DDEFP(3).LT.0.D0.AND.ABS(DDEFP(3)).GT.RFE)) THEN
  160. IF(DEFPT(3).LT.DEFRF(3)) THEN
  161. KRITE3=1
  162. ENDIF
  163. ENDIF
  164. IF(DEFP(3).LT.DEFRF(3).AND.
  165. . (DDEFP(3).GT.0.D0.AND.ABS(DDEFP(3)).GT.RFE)) THEN
  166. IF(DEFPT(3).GT.DEFRF(3)) THEN
  167. KRITE3=1
  168. ENDIF
  169. ENDIF
  170. ENDIF
  171. C
  172. IF(JECRO(3).NE.1) THEN
  173. RTI=RT(3)
  174. IF(KOMPR(3).EQ.1) RTI=0.D0
  175. IF(SIGMAT(3).GT.RTI) THEN
  176. KRITC3=1
  177. IF(KRITE3.EQ.0) KRITER=KRITER+4
  178. ENDIF
  179. ENDIF
  180. C
  181. RETURN
  182. ENDIF
  183. C
  184. END
  185.  
  186.  

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