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