Download damstc.eso

Back to the list

   1 : C DAMSTC    SOURCE    PV        07/11/23    21:16:17     5978           
   2 : C---------------------------------------------------------------------
   3 : C
   4 : C
   5 :       SUBROUTINE DAMSTC (ISTEG, ITERA,
   6 :      .                   NCRIT, NDIME, NDIM1, NSTRE, NSTR1, NTEMP,
   7 :      .                   AVALC, AVALT, BPCOM, BVALC, BVALT,
   8 :      .                   DAMAC, DAMAT, DMATX, DSTRA, DSIGT, EBOU1,
   9 :      .                   EQUIC, EQUIT,
  10 :      .                   POISS, SGEFF, SGTOT, STRIN, TANGB,
  11 :      .                   THREC, THRET, THRUC, THR0C, THR0T, YOUNG,
  12 :      .                   STYPE)
  13 : C
  14 : C=====================================================================
  15 : C                                                                    =
  16 : C    THIS SUBROUTINE DETERMINES IF THE GAUSS POINT IS DAMAGED OR     = 
  17 : C    PLASTIFIED. RATE EFFECTS ARE ALSO TAKEN INTO ACCOUNT.           =
  18 : C                                                                    =
  19 : C       NCRIT = 1     DAMAGE MODEL (TENSION (EXPONENTIAL), DT        =
  20 : C                                   COMPRESSION          , DC)       =
  21 : C                                                                    =
  22 : C       NCRIT = 2     DAMAGE MODEL (TENSION (LINEAR), DT             =
  23 : C                                   COMPRESSION     , DC)            =
  24 : C    VARIABLES:                                                      =
  25 : C                                                                    =
  26 : C       DMATX                       ELASTIC CONSTITUTIVE MATRIX      =
  27 : C       DSTRA                       DIFFERENTIAL STRAIN              =
  28 : C       BETAM                       ROTATION MATRIX                  =
  29 : C       PROSI & SOXYZ               AUXILIAR MATRICES FOR ROTATION   =
  30 : C       STRIN                       INITIAL STRESSES (TEMPERATURE)   =
  31 : C                                                                    =
  32 : C                                             - TENSION -            =
  33 : C       EQUIT                       CURRENT EQUIVALENT STRAIN        =
  34 : C       DAMAT                       DAMAGE INTERNAL VARIABLE         =
  35 : C       THRET                       THRESHOLD FOR DAMAGE             =
  36 : C       AVALT                       PARAMETER AT (LINEAR + EXPON.)   =
  37 : C       BVALT                       PARAMETER BT (LINEAR)            =
  38 : C       SGTEN                       POSITIVE STRESSES                =
  39 : C                                                                    =
  40 : C                                             - COMPRESSION -        =
  41 : C       EQUIC                       CURRENT EQUIVALENT STRAIN        =
  42 : C       DAMAC                       DAMAGE INTERNAL VARIABLE         =
  43 : C       THREC                       THRESHOLD FOR DAMAGE             =
  44 : C       AVALC                       PARAMETER AC                     =
  45 : C       BVALC                           "     BC                     =
  46 : C       SGCOM                       NEGATIVE STRESSES                =
  47 : C                                                                    =
  48 : C       SGEFF                       EFFECTIVE STRESS=DO:E-SOP        =
  49 : C       SGTOT                       FINAL CAUCHY STRESSES            =
  50 : C                                                                    =
  51 : C   ALL STRESSES ACCORDING TO:                                       =
  52 : C                                                                    =
  53 : C            STRES = (SXX, SYY, SZZ, SXY, SXZ, SYZ)    NSTRE=6       =
  54 : C            STRES = (SRR, SZZ, SRZ, S00)              NSTRE=4       =
  55 : C            STRES = (SXX, SYY, SZZ, SXY)              NSTRE=3       =
  56 : C                                                                    =
  57 : C   AUTHOR: RUI FARIA                           VERSION: 96.09.14    =
  58 : C                                               --------             =
  59 : C=====================================================================
  60 : C
  61 :       IMPLICIT INTEGER(I-N)
  62 :       IMPLICIT real*8 (a-h,o-z)
  63 :       INTEGER*4 ISTEG, ITERA, NTEMP
  64 :       INTEGER*4 NCRIT, NDIME, NDIM1, NSTRE, NSTR1 
  65 :       REAL*8    AVALC, AVALT, BPCOM, BVALT, BVALC, DAMAC, 
  66 :      .          DAMAT, EBOU1, EQUIC, EQUIT, 
  67 :      .          GVALC, 
  68 :      .          HVALC, POISS, STRIN, TANGB, THREC, THRET, 
  69 :      .          THRUC, THR0C, THR0T, YOUNG, DSIGT(NSTR1),
  70 :      .          DSTRA (NSTR1), SGEFF (NSTR1), SGTOT (NSTR1),
  71 :      .          DMATX (NSTRE,NSTRE) 
  72 : C
  73 :       INTEGER*4 ISTR1, NTENS, NCOMP
  74 :       REAL*8    EUTRI, POWER, PROV1,
  75 :      .          REDTE, REDCO, ZEROM,
  76 :      .          SGCOM (6), SGTEN (6), STRIA (6), 
  77 :      .          BETAM (3,3), PROSI (3,3), SOXYZ (3,3)
  78 : C
  79 :       PARAMETER (ZEROM = 1.0 D-10)
  80 :       CHARACTER*6 STYPE
  81 : C
  82 : C
  83 : C=====----------------------------------------------------------------
  84 : C  NEW TRIAL STRESS TENSOR                                           |
  85 : C=====----------------------------------------------------------------
  86 : C     
  86 :       CALL MATVE1 (DMATX,DSTRA,NSTR1,NSTR1,DSIGT,1)
  87 : C
  88 : c
  89 :       DO ISTR1 = 1, NSTR1
  90 :          STRIA (ISTR1) = SGEFF (ISTR1) + DSIGT (ISTR1)
  91 :          SGEFF (ISTR1) = STRIA (ISTR1)
  92 :       END DO
  93 : c
  93 :       CALL PARTIT (NDIME, NSTR1, NTENS, NCOMP,
  94 :      .             BETAM, SGEFF, SGTEN, SGCOM) 
  95 : C=====----------------------------------------------------------------
  96 : C                        ==  COMPRESSION  ==                         |
  97 : C=====----------------------------------------------------------------
  98 : C  CONTROL OF POSSIBLE NO-EXISTENCE OF DAMAGE AND PLASTICITY         |
  99 : C=====----------------------------------------------------------------
 100 :       IF (NCOMP .GT. 0)  THEN
 101 : c
 101 :           CALL EQUIST (SGCOM, TANGB, YOUNG,   -1, EQUIC)
 102 :       ELSE
 103 :           EQUIC = 0.0 D0
 104 :           GO TO 2002
 105 :       END IF
 106 : C=====----------------------------------------------------------------
 107 : C  CONTROL IF PLASTICITY IS DESIRED                                  |
 108 : C=====----------------------------------------------------------------
 109 : C
 110 : c
 111 :       IF (BPCOM .EQ. 0.0 D0)  GO TO 2002
 112 :       IF (EQUIC .LE. THREC)   GO TO 2002
 113 : C
 114 : C=====----------------------------------------------------------------
 115 : C  CONTROL OF POWER CONDITION                                        |
 116 : C=====----------------------------------------------------------------
 117 :       POWER = 0.0 D0
 118 :       EUTRI = 0.0 D0
 119 :       DO ISTR1 = 1, NSTR1
 120 :          PROV1 = STRIA (ISTR1)
 121 :          POWER = POWER + PROV1 * DSTRA (ISTR1)
 122 :          EUTRI = EUTRI + PROV1**2
 123 :       END DO                          
 124 : C
 125 :       EUTRI = SQRT  (EUTRI)
 126 : C
 127 :       IF (POWER .LE. 0.0 D0)  GO TO 2002
 128 : C=====----------------------------------------------------------------
 129 : C  POSSIBLE UPDATING OF EFFECTIVE STRESSES (PLASTIC EVOLUTION)       |
 130 : C=====----------------------------------------------------------------
 131 :       PROV1 = 1.0 D0 - BPCOM * POWER / EUTRI**2
 132 : C
 133 :       IF (PROV1 .LT. 0.0 D0)  THEN
 134 :           PROV1 = 1.0 D0
 135 :       END IF
 136 : C      
 137 :       DO ISTR1 = 1, NSTR1
 138 :          SGEFF (ISTR1) = STRIA (ISTR1) * PROV1
 139 :       END DO
 140 : C
 140 :       CALL PARTIT (NDIME, NSTR1, NTENS, NCOMP,
 141 :      .             BETAM, SGEFF, SGTEN, SGCOM) 
 142 : C
 143 :       IF (NCOMP .GT. 0)  THEN
 143 :           CALL EQUIST (SGCOM, TANGB, YOUNG,   -1, EQUIC)
 144 : C
 145 :           IF (EQUIC .LT. THREC)  THEN
 146 :               DO ISTR1 = 1, NSTR1
 147 :                  SGEFF (ISTR1) = STRIA (ISTR1)
 148 :               END DO
 149 : C
 149 :               CALL PARTIT (NDIME, NSTR1, NTENS, NCOMP,
 150 :      .                     BETAM, SGEFF, SGTEN, SGCOM) 
 150 :               CALL EQUIST (SGCOM, TANGB, YOUNG,    -1, EQUIC)
 151 : C
 152 :           END IF
 153 :           GO TO 2002
 154 :       ELSE
 155 :           DO ISTR1 = 1, NSTR1
 156 :              SGEFF (ISTR1) = STRIA (ISTR1)
 157 :           END DO
 158 : C
 158 :           CALL PARTIT (NDIME, NSTR1, NTENS, NCOMP,
 159 :      .                 BETAM, SGEFF, SGTEN, SGCOM) 
 160 : C
 161 :           EQUIC = 0.0 D0
 162 :           GO TO 2002
 163 :       END IF
 164 : C
 165 :  2002 CONTINUE
 166 : C
 167 : C=====----------------------------------------------------------------
 168 : C  CHECKING FOR DAMAGE AND UPDATING OF INTERNAL VARIABLES            |
 169 : C=====----------------------------------------------------------------
 170 : C
 171 :       IF (EQUIC .GE. THREC)  THREC = EQUIC
 172 : C
 173 :       DAMAC = 1.0 D0 - THR0C / THREC * (1.0 D0 - AVALC) -
 174 :      .                 AVALC * EXP (BVALC*(THR0C-THREC))
 175 : C
 176 :       IF (DAMAC .GT. 1.0 D0)  DAMAC = 1.0 D0              
 177 :       IF (DAMAC .LT. 0.0 D0)  DAMAC = 0.0 D0
 178 : C
 179 : C=====----------------------------------------------------------------
 180 : C                       ==  TENSION  ==                              |
 181 : C=====----------------------------------------------------------------
 182 :       IF (NTENS .GT. 0)  THEN
 182 :           CALL EQUIST (SGTEN, TANGB, YOUNG,    +1, EQUIT)
 183 :       ELSE
 184 :           EQUIT = 0.0 D0
 185 :       END IF
 186 : C=====----------------------------------------------------------------
 187 : C  CHECKING FOR DAMAGE AND UPDATING OF INTERNAL VARIABLES            |
 188 : C=====----------------------------------------------------------------
 189 : C
 190 :       IF (EQUIT .GE. THRET)  THRET = EQUIT
 191 : C
 192 :       IF (NCRIT .EQ. 1)  THEN
 193 :           PROV1 = THR0T / THRET
 194 :           DAMAT = 1.0 D0 - PROV1 * EXP (AVALT*(1.0D0-1.0D0/PROV1))
 195 :       END IF
 196 :       IF (NCRIT .EQ. 2)  THEN
 197 :           DAMAT = 1.0 D0 - AVALT / THRET + BVALT
 198 :       END IF
 199 : C
 200 :       IF (DAMAT .GT. 1.0 D0)  DAMAT = 1.0 D0
 201 :       IF (DAMAT .LT. 0.0 D0)  DAMAT = 0.0 D0
 202 : C=====----------------------------------------------------------------
 203 : C  ROTATION OF POSITIVE EFFECTIVE STRESS TENSOR, FROM EIGEN TO       |
 204 : C  GLOBAL SYSTEM                                                     |
 205 : C=====----------------------------------------------------------------
 205 :       CALL EIGGLO (NDIME, NSTR1, NTENS, 
 206 :      .             BETAM, PROSI, SGTEN, SOXYZ)
 207 : C=====----------------------------------------------------------------
 208 : C  NEGATIVE EFFECTIVE STRESS TENSOR                                  |
 209 : C=====----------------------------------------------------------------
 210 :       DO ISTR1 = 1, NSTR1
 211 :          SGCOM (ISTR1) = SGEFF (ISTR1) - SGTEN (ISTR1)
 212 :       END DO
 213 : C=====----------------------------------------------------------------
 214 : C  COMPUTE CAUCHY STRESSES ACCORDING TO DAMAGE AND PLASTICITY        |
 215 : C=====----------------------------------------------------------------
 216 :       REDTE = 1.0 D0 - DAMAT
 217 :       REDCO = 1.0 D0 - DAMAC
 218 : C
 219 :       eps1=0.d0
 220 :       eps2=0.d0
 221 :       DO ISTR1 = 1, NSTR1
 222 :          SGTOT (ISTR1) = REDTE * SGTEN (ISTR1) + REDCO * SGCOM (ISTR1)
 223 :          eps1=eps1+(SGTOT(ISTR1)-STRIA(ISTR1))**2
 224 :          eps2=eps2+SGTOT(ISTR1)**2       
 225 :       END DO
 226 :       
 227 : C
 228 :       RETURN
 229 :       END
 230 : 
 231 : 
 232 :  
 233 :  
 234 :  
 235 :  

© Cast3M 2003 - All rights reserved.
Disclaimer