Télécharger ccotra.eso

Retour à la liste

Numérotation des lignes :

  1. C CCOTRA SOURCE CB215821 18/12/04 21:15:10 10020
  2. SUBROUTINE CCOTRA(WRK52,WRK2,NCOURB,WRK53)
  3. C COTRAC SOURCE AM 97/12/23 21:41:23 3015
  4. c SUBROUTINE COTRAC(WRK0,WRK2,NCOURB,KERRE)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. -INC SMEVOLL
  8. -INC SMLREEL
  9. -INC DECHE
  10. -INC CCREEL
  11. -INC CCOPTIO
  12. SEGMENT/WRK2/(TRAC(LTRAC)*D)
  13. DATA NCOMAX/130/
  14. KERRE=0
  15. MEVOLL=nint(XMAT(5))
  16.  
  17. SEGACT MEVOLL
  18. KEVOLL=IEVOLL(1)
  19. SEGACT KEVOLL
  20. MLREEL=IPROGX
  21. MLREE1=IPROGY
  22.  
  23. SEGACT MLREEL,MLREE1
  24. NBPOIX=PROG(/1)
  25. NBPOIY=MLREE1.PROG(/1)
  26. IF(NBPOIX.GT.NCOMAX+1) KERRE=31
  27. IF(NBPOIX.LT.3) KERRE=32
  28. IF(KERRE.NE.0) RETURN
  29. C
  30. C TESTS SUR LES POINTS DE LA COURBE ( A COMPLETER )
  31. C
  32. YUNG=XMAT(1)
  33. IF(YUNG .LE. 0.D0) THEN
  34. REAERR(1)=YUNG
  35. CALL ERREUR(1090)
  36. KERRE=34
  37. RETURN
  38. ENDIF
  39. PSIG=MLREE1.PROG(1)
  40. PEPS=PROG(1)
  41. IF(PSIG.NE.0.D0 .OR. PEPS.NE.0.D0) THEN
  42. REAERR(1)=PEPS
  43. REAERR(2)=PSIG
  44. CALL ERREUR(1092)
  45. KERRE=35
  46. RETURN
  47. ENDIF
  48. C
  49. C VERIF DE LA LIMITE ELASTIQUE NON NULLE
  50. C
  51. PSIG =MLREE1.PROG(2)
  52. IF(PSIG.EQ.0.D0) THEN
  53. REAERR(1)=PSIG
  54. CALL ERREUR(1091)
  55. KERRE=30
  56. RETURN
  57. ENDIF
  58. PEPS=PROG(2)
  59. IF(PEPS.EQ.0.D0) THEN
  60. REAERR(1)=PEPS
  61. CALL ERREUR(1089)
  62. KERRE=35
  63. RETURN
  64. ENDIF
  65. PENTE=PSIG/PEPS
  66. RA=ABS(PENTE-YUNG)/YUNG
  67. IF(RA.GT.1.D-3) THEN
  68. REAERR(1)=PENTE
  69. REAERR(2)=YUNG
  70. CALL ERREUR(1088)
  71. KERRE=36
  72. RETURN
  73. ENDIF
  74. C
  75. C VERIF DE LA PENTE
  76. C
  77. DO 100 I=3,NBPOIX
  78. I1=I-1
  79. DEPS=PROG(I)-PROG(I1)
  80. IF(DEPS.LE.0.D0) THEN
  81. CALL ERREUR(1087)
  82. KERRE=33
  83. RETURN
  84. ENDIF
  85. PENTE=(MLREE1.PROG(I)-MLREE1.PROG(I1))/DEPS
  86. IF(PENTE.GT.1.01*YUNG) THEN
  87. REAERR(1)=PENTE
  88. REAERR(2)=YUNG
  89. CALL ERREUR(1088)
  90. KERRE=33
  91. RETURN
  92. ENDIF
  93. 100 CONTINUE
  94. NCOURB=1
  95. TRAC(1)=MLREE1.PROG(2)
  96. TRAC(2)=0.D0
  97. DO 695 I=3,NBPOIX
  98. PEPS=PROG(I)
  99. PSIG=MLREE1.PROG(I)
  100. NCOURB=NCOURB+1
  101. TRAC(2*NCOURB-1)=PSIG
  102. TRAC(2*NCOURB)=PEPS-PSIG/YUNG
  103. 695 CONTINUE
  104.  
  105. END
  106.  
  107.  

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