Télécharger cotra1.eso

Retour à la liste

Numérotation des lignes :

cotra1
  1. C COTRA1 SOURCE CB215821 22/03/07 21:15:02 11307
  2.  
  3. SUBROUTINE COTRA1 (ITRAC,YUNG,LTRAC,TRAC,NTRAC,KERRE)
  4.  
  5. C=======================================================================
  6. C= Remplissage de la courbe Contrainte-Deformation plastique utile =
  7. C= pour le calcul de la matrice tangente a partir de la courbe de =
  8. C= traction Contrainte-Deformation (totale) =
  9. C= =
  10. C= Entrees : =
  11. C= --------- =
  12. C= ITRAC Pointeur sur un objet EVOLUTION de la courbe de traction =
  13. C= Segment desactive en E/S =
  14. C= YUNG Module de YOUNG (pente initiale de la courbe) =
  15. C= LTRAC Nombre maximal de valeurs de la courbe Sigma-Def.Plas =
  16. C= Dimension du vecteur TRAC lors de sa declaration FORTRAN =
  17. C= Sorties : =
  18. C= --------- =
  19. C= TRAC(*) Points de la courbe Contrainte-Deformation plastique =
  20. C= TRAC(1,3,5,7,...) Contraintes =
  21. C= TRAC(2,4,6,8,...) Deformations plastiques =
  22. C= NTRAC Nombre de valeurs de la courbe TRAC (Sigma-Def.Plas) =
  23. C= KERRE Indicateur de SUCCES (= 0) et d'ERREUR sinon =
  24. C= =
  25. C= Les valeurs de KERRE de l'ERREUR associee sont : ERREUR( ) =
  26. C= Contrainte ultime nulle 270 =
  27. C= Trop de points sur la courbe de traction 271 =
  28. C= Pas assez de points sur la courbe de traction 272 =
  29. C= Pente en un point superieure au module de Young 273 =
  30. C= Module de Young du materiau nul 325 =
  31. C= Pente a l'origine non egale au module de Young 330 =
  32. C= Courbe de traction vide 354 =
  33. C=======================================================================
  34.  
  35. IMPLICIT INTEGER(I-N)
  36. IMPLICIT REAL*8(A-H,O-Z)
  37.  
  38. -INC SMEVOLL
  39. -INC SMLREEL
  40. -INC CCREEL
  41. -INC PPARAM
  42. -INC CCOPTIO
  43.  
  44. PARAMETER(XPREC=1.D-3,XZER=0.D0,UN=1.D0)
  45. DIMENSION TRAC(*)
  46.  
  47. KERRE=0
  48. C Quelques verifications d'usage :
  49. C===================================
  50. C= Module de Young nul ?
  51. IF (YUNG.LE.XZER) THEN
  52. KERRE=325
  53. RETURN
  54. ENDIF
  55. C= Pointeur sur la courbe de traction errone ?
  56. IF (ITRAC.LE.0) THEN
  57. KERRE=354
  58. RETURN
  59. ENDIF
  60. C= On recupere l'objet EVOLUTION
  61. MEVOLL=ITRAC
  62. SEGACT,MEVOLL
  63. KEVOLL=IEVOLL(1)
  64. C*// SEGDES,MEVOLL
  65. C
  66. SEGACT,KEVOLL
  67. MLREEL=IPROGX
  68. MLREE1=IPROGY
  69. C*// SEGDES,KEVOLL
  70. C
  71. SEGACT,MLREEL,MLREE1
  72. NBPOIX=PROG(/1)
  73. C
  74. C TROP DE POINTS SUR LA COURBE DE TRACTION OU PAS ASSEZ
  75. C
  76. IF (NBPOIX.LT.3) THEN
  77. KERRE=272
  78. GOTO 777
  79. ENDIF
  80. NTRAC=2*NBPOIX
  81. IF (NTRAC.GT.LTRAC) THEN
  82. KERRE=271
  83. GOTO 777
  84. ENDIF
  85. C
  86. C VERIF LIMITE ELASTIQUE NON NULLLE
  87. C
  88. PSIG =MLREE1.PROG(1)
  89. IF(PSIG.LT.0.D0) THEN
  90. REAERR(1)=PSIG
  91. CALL ERREUR(1091)
  92. KERRE=30
  93. RETURN
  94. ENDIF
  95. PEPS=PROG(1)
  96. IF(ABS(PEPS).GT.XZPREC) THEN
  97. REAERR(1)=PEPS
  98. CALL ERREUR(1099)
  99. KERRE=35
  100. RETURN
  101. ENDIF
  102. C
  103. C
  104. C VERIF DE LA PENTE
  105. C
  106. DO 100 I=2,NBPOIX
  107. I1=I-1
  108. DEPS=PROG(I)-PROG(I1)
  109. IF(DEPS.LE.0.D0) THEN
  110. CALL ERREUR(1101)
  111. KERRE=33
  112. RETURN
  113. ENDIF
  114. PENTE=(MLREE1.PROG(I)-MLREE1.PROG(I1))/DEPS
  115. IF(ABS(PENTE-YUNG).LT.(1.D-3*YUNG)) THEN
  116. CALL ERREUR(1102)
  117. KERRE=33
  118. RETURN
  119. ENDIF
  120. 100 CONTINUE
  121.  
  122. C Remplissage de la courbe de traction Contrainte-Deformation plastique
  123. C
  124. NCOURB = 2
  125. TRAC(1)= MLREE1.PROG(1)
  126. TRAC(2)= 0.D0
  127. DO 200 I=2,NBPOIX
  128. PEPS = PROG(I)
  129. PSIG = MLREE1.PROG(I)
  130. NCOURB = NCOURB+2
  131. TRAC(NCOURB-1) = PSIG
  132. TRAC(NCOURB) = PEPS
  133. 200 CONTINUE
  134. C
  135. C ON REMPLIT JUSQUE AU BOUT
  136. C
  137. IF (NCOURB.LT.LTRAC) THEN
  138. NCOURB=NCOURB+2
  139. DEPS = TRAC(NCOURB )-TRAC(NCOURB-2)
  140. DSIG = TRAC(NCOURB-1)-TRAC(NCOURB-3)
  141. DO 250 I=NCOURB,LTRAC,2
  142. TRAC(I ) = TRAC(I-2) + DEPS
  143. TRAC(I-1) = TRAC(I-3) + DSIG
  144. 250 CONTINUE
  145. ENDIF
  146.  
  147. 777 CONTINUE
  148.  
  149. RETURN
  150. END
  151.  
  152.  

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