Télécharger ccotr4.eso

Retour à la liste

Numérotation des lignes :

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

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