Télécharger cotra1.eso

Retour à la liste

Numérotation des lignes :

cotra1
  1. C COTRA1 SOURCE OF166741 25/09/30 21:15:06 12371
  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 PPARAM
  39. -INC CCOPTIO
  40. -INC CCREEL
  41.  
  42. -INC SMLREEL
  43. -INC SMEVOLL
  44.  
  45. PARAMETER(XPREC=1.D-3,UN=1.D0)
  46. DIMENSION TRAC(*)
  47.  
  48. NTRAC=0
  49. KERRE=0
  50.  
  51. C Quelques verifications d'usage :
  52. C===================================
  53. c*C= Module de Young nul ?
  54. c* IF (YUNG.LE.XZERO) THEN
  55. c* KERRE=325
  56. c* RETURN
  57. c* ENDIF
  58. C= Pointeur sur la courbe de traction errone ?
  59. IF (ITRAC.LE.0) THEN
  60. KERRE=354
  61. RETURN
  62. ENDIF
  63.  
  64. C= On recupere l'objet EVOLUTION
  65. MEVOLL = ITRAC
  66. SEGACT,MEVOLL
  67. KEVOLL = mevoll.IEVOLL(1)
  68. C*// SEGDES,MEVOLL
  69.  
  70. SEGACT,KEVOLL
  71. MLREEL = kevoll.IPROGX
  72. MLREE1 = kevoll.IPROGY
  73. C*// SEGDES,KEVOLL
  74.  
  75. SEGACT,MLREEL,MLREE1
  76. NBPOIX = MLREEL.PROG(/1)
  77. NBPOIY = MLREEL.PROG(/1)
  78.  
  79. NTRAC = 2*NBPOIX
  80. C
  81. C TROP DE POINTS SUR LA COURBE DE TRACTION OU PAS ASSEZ
  82. C
  83. IF (NBPOIX.NE.NBPOIY) THEN
  84. KERRE=272
  85. RETURN
  86. ENDIF
  87. IF (NBPOIX.LT.3) THEN
  88. KERRE=272
  89. RETURN
  90. ENDIF
  91. IF (NTRAC.GT.LTRAC) THEN
  92. KERRE=271
  93. RETURN
  94. ENDIF
  95. C
  96. C Premier point a abscisse nulle et ordonnee non nulle (> 0)
  97. C VERIF LIMITE ELASTIQUE NON NULLLE
  98. C
  99. PSIG = MLREE1.PROG(1)
  100. IF (PSIG.LE.0.D0) THEN
  101. REAERR(1) = PSIG0
  102. CALL ERREUR(1091)
  103. KERRE=30
  104. RETURN
  105. ENDIF
  106. PEPS = mlreel.PROG(1)
  107. IF (ABS(PEPS).GT.XZPREC) THEN
  108. REAERR(1)=PEPS
  109. CALL ERREUR(1099)
  110. KERRE=35
  111. RETURN
  112. ENDIF
  113. C
  114. C Remplissage de la courbe de traction Contrainte-Deformation plastique
  115. C
  116. NCOURB = 2
  117. TRAC(1)= PSIG
  118. TRAC(2)= 0.D0
  119. DO I = 2, NBPOIX
  120. PEPS = mlreel.PROG(I)
  121. PSIG = MLREE1.PROG(I)
  122. I1=I-1
  123. DEPS = PEPS - mlreel.PROG(I1)
  124. IF (DEPS.LE.0.D0) THEN
  125. CALL ERREUR(1101)
  126. KERRE=33
  127. RETURN
  128. ENDIF
  129. c*C VERIF DE LA PENTE
  130. c* PENTE = (PSIG-MLREE1.PROG(I1))/DEPS
  131. c* IF(ABS(PENTE-YUNG).LT.(1.D-3*YUNG)) THEN
  132. c* CALL ERREUR(1102)
  133. c* KERRE=33
  134. c* RETURN
  135. c* ENDIF
  136. NCOURB = NCOURB+2
  137. TRAC(NCOURB-1) = PSIG
  138. TRAC(NCOURB) = PEPS
  139. ENDDO
  140. C
  141. C ON REMPLIT JUSQUE AU BOUT
  142. C
  143. IF (NCOURB.LT.LTRAC) THEN
  144. NCOURB=NCOURB+2
  145. DEPS = TRAC(NCOURB )-TRAC(NCOURB-2)
  146. DSIG = TRAC(NCOURB-1)-TRAC(NCOURB-3)
  147. DO I=NCOURB,LTRAC,2
  148. TRAC(I ) = TRAC(I-2) + DEPS
  149. TRAC(I-1) = TRAC(I-3) + DSIG
  150. ENDDO
  151. ENDIF
  152.  
  153. RETURN
  154. END
  155.  
  156.  
  157.  

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