Télécharger crbtra.eso

Retour à la liste

Numérotation des lignes :

crbtra
  1. C CRBTRA SOURCE CHAT 05/01/12 22:27:51 5004
  2. SUBROUTINE CRBTRA(PROPS,NPROPS,TRAC,LTRAC,KINC)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C-----------------------------------------------------------------------
  6. C
  7. C DESCRIPTION FONCTIONNELLE :
  8. C -------------------------
  9. C
  10. C Dependance UMAPLI
  11. C => Dependance en deuxieme niveau du module Utilisateur UMAT
  12. C
  13. C Pre-traitement courbe de traction : mise en forme des donnees
  14. C pour les dependances issues de CAST3M
  15. C Programmation conforme a CCOTRA
  16. C
  17. C ENTREES : PROPS,NPROPS
  18. C SORTIES : TRAC,LTRAC,KINC
  19. C
  20. C-----------------------------------------------------------------------
  21. C Arguments de l'interface
  22. C
  23. INTEGER NPROPS, LTRAC, KINC
  24. REAL*8 PROPS(NPROPS), TRAC(*)
  25. C
  26. C Variables locales
  27. C
  28. INTEGER N1, NPOINT, N2, I, I1
  29. REAL*8 YUNG, PEPS, PSIG, PENTE, RA, DEPS
  30. C
  31. C------------------- Debut du code executable --------------------------
  32. C
  33. C Definition de la courbe de traction :
  34. C - au moins 3 points
  35. C - au plus 131 points
  36. C
  37. N1 = NPROPS-2
  38. IF (N1.LT.6) THEN
  39. KINC = -501
  40. RETURN
  41. ENDIF
  42. IF (N1.GT.262) THEN
  43. KINC = -502
  44. RETURN
  45. ENDIF
  46. C
  47. NPOINT = N1/2
  48. N2 = 2*NPOINT
  49. IF (N2.NE.N1) THEN
  50. KINC = -503
  51. RETURN
  52. ENDIF
  53. C
  54. C Module d'Young non nul
  55. C
  56. YUNG = PROPS(1)
  57. IF (YUNG.EQ.0.D0) THEN
  58. KINC = -504
  59. RETURN
  60. ENDIF
  61. C
  62. C Le premier point de definition est l'origine
  63. C
  64. PEPS = PROPS(3)
  65. PSIG = PROPS(4)
  66. IF (PSIG.NE.0.D0.OR.PEPS.NE.0.D0) THEN
  67. KINC = -505
  68. RETURN
  69. ENDIF
  70. C
  71. C Limite elastique non nulle
  72. C
  73. PSIG = PROPS(6)
  74. IF (PSIG.EQ.0.D0) THEN
  75. KINC = -506
  76. RETURN
  77. ENDIF
  78. PEPS = PROPS(5)
  79. IF (PEPS.EQ.0.D0) THEN
  80. KINC = -507
  81. RETURN
  82. ENDIF
  83. PENTE=PSIG/PEPS
  84. RA=ABS(PENTE-YUNG)/YUNG
  85. IF (RA.GT.1.D-2) THEN
  86. KINC = -508
  87. RETURN
  88. ENDIF
  89. C
  90. C Verification de la pente
  91. C
  92. DO 100 I=3,NPOINT
  93. I1=I-1
  94. DEPS=PROPS(2+(2*I)-1)-PROPS(2+(2*I1)-1)
  95. IF (DEPS.EQ.0.D0) THEN
  96. KINC = -509
  97. RETURN
  98. ENDIF
  99. PENTE=(PROPS(2+(2*I))-PROPS(2+(2*I1)))/DEPS
  100. IF (PENTE.GE.YUNG) THEN
  101. KINC = -510
  102. RETURN
  103. ENDIF
  104. 100 CONTINUE
  105. C
  106. LTRAC=1
  107. TRAC(1)=PROPS(6)
  108. TRAC(2)=0.D0
  109. DO 695 I=3,NPOINT
  110. PEPS=PROPS(2+(2*I)-1)
  111. PSIG=PROPS(2+(2*I))
  112. LTRAC=LTRAC+1
  113. TRAC(2*LTRAC-1)=PSIG
  114. TRAC(2*LTRAC)=PEPS-PSIG/YUNG
  115. 695 CONTINUE
  116. C
  117. RETURN
  118. END
  119.  
  120.  
  121.  

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