Download cotat2.eso

Back to the list

   1 : C COTAT2    SOURCE    KICH      09/09/11    21:17:37     6505           
   2 : C ROTAT2    SOURCE    AM        00/12/13    21:42:14     4045           
   3 : C MAZARS    SOURCE    AM        93/02/26    21:18:27     808
   4 :       SUBROUTINE COTAT2 (WRK52,WRK53,WRK54,WRKK2,NSTRS1,NVARI,ICARA)
   5 : C
   6 : C
   7 : C     variables en entree
   8 : C
   9 : C
  10 : C     WRK0     pointeur sur un segment deformation au pas precedent
  11 : C
  12 : C     WRK1     pointeur sur un segment increment de deformation
  13 : C
  14 : C     WRKK2     pointeur sur un segment variables internes au pas precedent
  15 : C
  16 : C     WRK5      pointeur sur un segment de deformations inelastiques
  17 : C
  18 : C     XMATER     constantes du materiau
  19 : C
  20 : C     NSTRS1      nombre de composantes dans les vecteurs des contraintes
  21 : C                                        et les vecteurs des deformations
  22 : C
  23 : C     NVARI      nombre de variables internes (doit etre egal a 2)
  24 : C
  25 : C     NMATT      nombre de constantes du materiau
  26 : C
  27 : C     ISTEP      flag utilise pour separer les etapes dans un calcul non local
  28 : C                ISTEP=0 -----> calcul local
  29 : C                ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  30 : C                ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  31 : C                               a partir des seuils moyennes
  32 : C
  33 : C     variables en sortie
  34 : C
  35 : C     VARINF      variables internes finales
  36 : C
  37 : C     SIGMAF      contraintes finales
  38 : C
  39 : C     C. LA BORDERIE MARS 1992
  40 : C     declaration des variables
  41 : C
  42 : C
  43 :       IMPLICIT INTEGER(I-N)
  44 :       IMPLICIT REAL*8(A-H,O-Z)
  45 : -INC CCOPTIO
  46 : -INC DECHE
  47 : *
  48 :       SEGMENT WRKK2
  49 :          REAL*8 EPSILI(NSTRS1)
  50 :       ENDSEGMENT
  51 :       INTEGER NSTRS11,NVARI
  52 :       REAL*8 EPSILO(6),EPSNT(3),SIGNT(3),T(3,3),EPSXY(3),SIGXY(3)
  53 :       REAL*8 MUP0,MU,MUP,EPCR
  54 :       REAL*8 EPSMAX,EPSNN,EPSMAX1
  55 :       REAL*8 SINUS,COSINUS
  56 :       INTEGER CAS
  57 :       PARAMETER (XZERO=0.D0 , UN=1.D0 , DEUX=2.D0, XPETIT=1.D-12)
  58 : 
  59 : C
  60 : C
  61 : C     recuperation des variables initiales dans les tableaux
  62 : C
  63 : C
  64 :       N=NSTRS1
  65 :       CMATE = 'ISOTROPE'
  66 :       YOUN = XMAT(1)
  67 :       XNU  = XMAT(2)
  68 :       EPCR = XMAT(5)
  69 :       MUP0 = XMAT(6)
  70 :       EPSMAX = VAR0(1)
  71 :       EPSNN=VAR0(2)
  72 : C
  73 : C        calcul de la deformation totale
  74 : C
  75 :       DO 100 ISTRS=1,NSTRS1
  76 :          EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  77 : 100   CONTINUE
  78 :       EPSXY(1)=EPSILO(1)
  79 :       EPSXY(2)=EPSILO(2)
  80 :       EPSXY(3)=EPSILO(4)
  80 :       CALL DIACL (EPSXY,SINUS,COSINUS)
  81 :       t(1,1)=COSINUS**2
  82 :       t(2,1)=SINUS**2
  83 :       t(3,1)=-2.D0*COSINUS*SINUS
  84 :       t(1,2)=SINUS**2
  85 :       t(2,2)=COSINUS**2
  86 :       t(3,2)=2.D0*COSINUS*SINUS
  87 :       t(1,3)=COSINUS*SINUS
  88 :       t(2,3)=-COSINUS*SINUS
  89 :       t(3,3)=COSINUS**2 - SINUS**2
  90 :       DO I=1,3
  91 :         EPSNT(I)=0.D0
  92 :                 DO J=1,3
  93 :                    EPSNT(I)=EPSNT(I)+T(I,J)*EPSXY(J)
  94 :                  END DO
  95 :       END DO
  96 : *
  97 : *INITIALISATION DU EPSM
  98 : *
  99 :       IF (ISTEP .EQ. 2) THEN
 100 :         EPSNNM=EPSNN
 101 :       ELSE 
 102 :         EPSNNM=EPSNT(1)
 103 :       END IF
 104 :       EPSMAX1=MAX(EPSMAX,EPCR)
 105 : *
 106 : *CALCUL DE MU DANS LES DIFFERENTS CAS
 107 : *
 108 :         IF (EPSNNM.LE.0.d0) THEN 
 109 :           MUP=1.D0
 110 :           MU=MUP
 111 :           CAS=1
 112 :         ELSE IF (EPSNNM .LE. EPSMAX1) THEN
 113 :           IF (EPSMAX1.LE. EPCR*(1.D0-1.D0/MUP0))THEN
 114 :             MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/EPSMAX1
 115 :           ELSE
 116 :             MUP=0.D0
 117 :           END IF
 118 :                  CAS=2
 119 :           MU=MUP
 120 :         ELSE IF (EPSNNM .LE. EPCR*(1.D0-1.D0/MUP0))THEN
 121 :           IF (EPSMAX1 .LT. EPCR)THEN
 122 :             MUP=(EPCR+MUP0*(EPSNNM-EPCR)-EPSMAX1)/(EPSNNM-EPSMAX1)
 123 :           ELSE
 124 :             MUP=MUP0
 125 :           END IF
 126 :           MU=(EPCR+MUP0*(EPSNNM-EPCR))/EPSNNM
 127 :           EPSMAX=EPSNNM
 128 :           CAS=3
 129 :         ELSE
 130 :           IF ( EPSMAX1 .LT. EPCR*(1.D0-1.D0/MUP0))  then
 131 :             MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/(EPSMAX1-EPSNNM)
 132 :           ELSE
 133 :             MUP=0.D0
 134 :           END IF
 135 :           MU=0.D0
 136 :           CAS=4
 137 :           EPSMAX1=EPSNNM
 138 :         END IF
 139 : C
 140 : C       On calcule la contrainte dans le repere principal
 141 : C
 142 :       IF (ISTEP .NE. 1) THEN
 143 :         EPSNN=EPSNT(1)
 144 :         EPSTT=EPSNT(2)
 145 :         SIGNN=MU*YOUN/(1.D0-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
 146 :         SIGTT=YOUN/(1.D0-XNU*XNU*MU)*(EPSTT+XNU*MU*EPSNN)          
 147 :         SIGNT(1)=SIGNN
 148 :         SIGNT(2)=SIGTT
 149 :         SIGNT(3)=0.D0
 150 : C
 151 : C       Finalement la contrainte est calculee dans le repere de travail
 152 : C
 153 :         DO I=1,3
 154 :           SIGXY(I)=0.D0
 155 :           DO J=1,3
 156 :             SIGXY(I)=SIGXY(I)+T(J,I)*SIGNT(J)
 157 :           END DO
 158 :         END DO
 159 :         SIGF(1)=SIGXY(1)
 160 :         SIGF(2)=SIGXY(2)
 161 :         SIGF(3)=XZERO
 162 :         SIGF(4)=SIGXY(3)
 163 : 
 164 : C
 165 : C         et les deformations inelastiques finales
 166 : C
 167 :          EPSIN=(UN-MU)/(UN-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
 168 :          EPINF(1)=T(1,1)*EPSIN
 169 :          EPINF(2)=T(1,2)*EPSIN
 170 :          EPINF(3)=XZERO
 171 :          EPINF(4)=T(1,3)*EPSIN
 172 :       END IF
 173 :       VARF(1)= MAX(EPSMAX,EPSNN)
 174 :       VARF(2)=EPSNNM
 175 : C      print*,cas,epsmax1,epsnnm,mu,epsin
 176 : C      print*,'epsnt=',epsnt
 177 : C      print*,'signt=',signt
 178 : C      print*,'sigxy=',sigxy evol1 fx);
 179 : C      print*,'istep=',istep
 180 : C      print*,'epsnn=',epsnn
 181 : C      print*,'epsnnm=',epsnnm
 182 : C      print*,'epcr=',epcr,'mup0=',mup0
 183 : C      print*,'mu=',mu,epsin
 184 : C      PRINT*,'VARF',(VARF(I),I=1,2)
 185 : C      PRINT*,'EPINF',(EPINF(I),I=1,NSTRS1)
 186 : C      PRINT*,'SIGF',(SIGF(I),I=1,NSTRS1)
 187 : C      PRINT*,'EPSILO',(EPSILO(I),I=1,NSTRS1)
 188 : C      PRINT*,'EPSILI',(EPSILI(I),I=1,NSTRS1)
 189 : C      PRINT*,'DEPST',(DEPST(I),I=1,NSTRS1)
 190 : C      print*
 191 :       RETURN
 192 :       END
 193 :  
 194 :  
 195 :  
 196 :  
 197 :  
 198 :  
 199 :  

© Cast3M 2003 - All rights reserved.
Disclaimer