Télécharger cotrac.eso

Retour à la liste

Numérotation des lignes :

cotrac
  1. C COTRAC SOURCE OF166741 25/09/30 21:15:09 12371
  2.  
  3. C-----------------------------------------------------------------------
  4. C
  5. C CETTE SUBROUTINE RENVOIE LA RELATION CONTRAINTE-DEFORMATION
  6. C DANS LE SEGMENT WRK2 A PARTIR DE LA COURBE D'ECROUISSAGE,
  7. C I.E. LA COURBE CONTRAINTE VS DEFORMATION PLASTIQUE.
  8. C
  9. C LE PREMIER POINT DE LA COURBE FOURNIT SIGY,
  10. C LA DEFORMATION PLASTIQUE ASSOCIEE EST NULLE.
  11. C
  12. C-----------------------------------------------------------------------
  13. SUBROUTINE COTRAC(WRK0,WRK2,NCOURB,KERRE)
  14.  
  15. IMPLICIT INTEGER(I-N)
  16. IMPLICIT REAL*8(A-H,O-Z)
  17.  
  18. -INC PPARAM
  19. -INC CCOPTIO
  20. -INC CCREEL
  21.  
  22. -INC SMEVOLL
  23. -INC SMLREEL
  24.  
  25. SEGMENT/WRK0/(XMAT(NCOMAT)*D)
  26. SEGMENT/WRK2/(TRAC(LTRAC)*D)
  27.  
  28. DATA NCOMAX/130/
  29.  
  30. KERRE=0
  31. c*C
  32. c*C VERIFICATION DU MODULE DE YOUNG
  33. c*C
  34. c* YUNG=XMAT(1)
  35. c* IF(YUNG.LE.0.D0) THEN
  36. c* REAERR(1)=YUNG
  37. c* CALL ERREUR(1090)
  38. c* KERRE=34
  39. c* RETURN
  40. c* ENDIF
  41.  
  42. MEVOLL = nint(XMAT(5))
  43. IF(MEVOLL.EQ.0) THEN
  44. KERRE=37
  45. RETURN
  46. ENDIF
  47.  
  48. SEGACT MEVOLL
  49. KEVOLL=IEVOLL(1)
  50. SEGACT KEVOLL
  51. MLREEL=IPROGX
  52. MLREE1=IPROGY
  53.  
  54. SEGACT MLREEL,MLREE1
  55. NBPOIX=MLREEL.PROG(/1)
  56. IF (NBPOIX.LT.2) THEN
  57. CALL ERREUR(1100)
  58. KERRE=21
  59. RETURN
  60. ENDIF
  61. IF (NBPOIX.GT.NCOMAX+1) THEN
  62. KERRE=31
  63. RETURN
  64. ENDIF
  65. NBPOIY=MLREE1.PROG(/1)
  66. IF (NBPOIX.NE.NBPOIY) THEN
  67. CALL ERREUR(1100)
  68. KERRE=21
  69. RETURN
  70. ENDIF
  71. C
  72. C VERIF DE LA LIMITE ELASTIQUE NON NULLE
  73. C
  74. PSIG = MLREE1.PROG(1)
  75. IF (PSIG.LT.0.D0) THEN
  76. REAERR(1)=PSIG
  77. CALL ERREUR(1091)
  78. KERRE=30
  79. RETURN
  80. ENDIF
  81. PEPS = MLREEL.PROG(1)
  82. IF(ABS(PEPS).GT.XZPREC) THEN
  83. REAERR(1)=PEPS
  84. CALL ERREUR(1099)
  85. KERRE=35
  86. RETURN
  87. ENDIF
  88.  
  89. C DONNEE DE LA COURBE SOUS FORME D'UNE LISTE
  90. NCOURB = 1
  91. TRAC(1)= PSIG
  92. TRAC(2)= 0.D0
  93. C
  94. DO I = 2, NBPOIX
  95. PEPS = MLREEL.PROG(I)
  96. PSIG = MLREE1.PROG(I)
  97. I1 = I-1
  98. C VERIF ABSCISSE STRICTEMENT CROISSANTE
  99. DEPS = PEPS-MLREEL.PROG(I1)
  100. IF (DEPS.LE.0.D0) THEN
  101. CALL ERREUR(1101)
  102. KERRE=33
  103. RETURN
  104. ENDIF
  105. c*C VERIF DE LA PENTE
  106. c* PENTE=(PSIG-MLREE1.PROG(I1))/DEPS
  107. c* IF (ABS(PENTE-YUNG).LT.(1.D-3*YUNG)) THEN
  108. c** REAERR(1)=PENTE
  109. c** REAERR(2)=YUNG
  110. c* CALL ERREUR(1102)
  111. c* KERRE=33
  112. c* RETURN
  113. c* ENDIF
  114. NCOURB = NCOURB+1
  115. TRAC(2*NCOURB-1) = PSIG
  116. TRAC(2*NCOURB) = PEPS
  117. ENDDO
  118.  
  119. c return
  120. END
  121.  
  122.  
  123.  

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