Download crbtra.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer