Umat crystal plasticity

download Umat crystal plasticity

of 35

  • date post

    01-Sep-2015
  • Category

    Documents

  • view

    298
  • download

    19

Embed Size (px)

description

crystal plasticity code

Transcript of Umat crystal plasticity

  • 1 SUBROUTINE UMAT(stress,statev,ddsdde,sse,spd,scd,2 1 rpl, ddsddt, drplde, drpldt,3 2 stran,dstran,time,dtime,temp,dtemp,predef,dpred,cmname,4 3 ndi,nshr,ntens,nstatv,props,nprops,coords,drot,pnewdt,5 4 celent,dfgrd0,dfgrd1,noel,npt,layer,kspt,kstep,kinc)6 c WRITE (6,*) '7 c NOTE: MODIFICATIONS TO *UMAT FOR ABAQUS VERSION 5.3 (14 APR '94)8 c 9 c (1) The list of variables above defining the *UMAT subroutine, 10 c and the first (standard) block of variables dimensioned below, 11 c have variable names added compared to earlier ABAQUS versions. 12 c13 c (2) The statement: include 'aba_param.inc' must be added as below.14 c15 c (3) As of version 5.3, ABAQUS files use double precision only.16 c The file aba_param.inc has a line "implicit real*8" and, since 17 c it is included in the main subroutine, it will define the variables18 c there as double precision. But other subroutines still need the19 c definition "implicit real*8" since there may be variables that are20 c not passed to them through the list or common block.21 c22 c (4) This is current as of version 5.6 of ABAQUS.23 c24 c (5) Note added by J. W. Kysar (4 November 1997). This UMAT has been25 c modified to keep track of the cumulative shear strain in each 26 c individual slip system. This information is needed to correct an27 c error in the implementation of the Bassani and Wu hardening law.28 c Any line of code which has been added or modified is preceded29 c immediately by a line beginning CFIXA and succeeded by a line 30 c beginning CFIXB. Any comment line added or modified will begin 31 c with CFIX.32 c33 c The hardening law by Bassani and Wu was implemented incorrectly.34 c This law is a function of both hyperbolic secant squared and hyperbolic35 c tangent. However, the arguments of sech and tanh are related to the *total*36 c slip on individual slip systems. Formerly, the UMAT implemented this37 c hardening law by using the *current* slip on each slip system. Therein 38 c lay the problem. The UMAT did not restrict the current slip to be a 39 c positive value. So when a slip with a negative sign was encountered, the 40 c term containing tanh led to a negative hardening rate (since tanh is an 41 c odd function).42 43 c The UMAT has been fixed by adding state variables to keep track of the 44 c *total* slip on each slip system by integrating up the absolute value 45 c of slip rates for each individual slip system. These "solution dependent 46 c variables" are available for postprocessing. The only required change 47 c in the input file is that the DEPVAR command must be changed.48 c 49 C----- Use single precision on Cray by50 C (1) deleting the statement "IMPLICIT*8 (A-H,O-Z)";51 C (2) changing "REAL*8 FUNCTION" to "FUNCTION";52 C (3) changing double precision functions DSIGN to SIGN.53 C54 C----- Subroutines:55 C56 C ROTATION -- forming rotation matrix, i.e. the direction 57 C cosines of cubic crystal [100], [010] and [001]58 C directions in global system at the initial 59 C state60 C61 C SLIPSYS -- calculating number of slip systems, unit 62 C vectors in slip directions and unit normals to 63 C slip planes in a cubic crystal at the initial 64 C state65 C66 C GSLPINIT -- calculating initial value of current strengths 67 C at initial state68 C69 C STRAINRATE -- based on current values of resolved shear 70 C stresses and current strength, calculating 71 C shear strain-rates in slip systems72 C73 C LATENTHARDEN -- forming self- and latent-hardening matrix 74 C75 C ITERATION -- generating arrays for the Newton-Rhapson 76 C iteration77 C78 C LUDCMP -- LU decomposition79 C80 C LUBKSB -- linear equation solver based on LU 81 C decomposition method (must call LUDCMP first)82 83 84 C----- Function subprogram:

  • 85 86 C F -- shear strain-rates in slip systems87 88 89 C----- Variables:90 C91 C STRESS -- stresses (INPUT & OUTPUT)92 C Cauchy stresses for finite deformation93 C STATEV -- solution dependent state variables (INPUT & OUTPUT)94 C DDSDDE -- Jacobian matrix (OUTPUT)95 96 C----- Variables passed in for information:97 C98 C STRAN -- strains99 C logarithmic strain for finite deformation 100 C (actually, integral of the symmetric part of velocity101 C gradient with respect to time)102 C DSTRAN -- increments of strains103 C CMNAME -- name given in the *MATERIAL option104 C NDI -- number of direct stress components105 C NSHR -- number of engineering shear stress components106 C NTENS -- NDI+NSHR107 C NSTATV -- number of solution dependent state variables (as 108 C defined in the *DEPVAR option)109 C PROPS -- material constants entered in the *USER MATERIAL 110 C option111 C NPROPS -- number of material constants112 C113 114 C----- This subroutine provides the plastic constitutive relation of 115 C single crystals for finite element code ABAQUS. The plastic slip116 C of single crystal obeys the Schmid law. The program gives the 117 C choice of small deformation theory and theory of finite rotation 118 C and finite strain.119 C The strain increment is composed of elastic part and plastic 120 C part. The elastic strain increment corresponds to lattice 121 C stretching, the plastic part is the sum over all slip systems of 122 C plastic slip. The shear strain increment for each slip system is123 C assumed a function of the ratio of corresponding resolved shear 124 C stress over current strength, and of the time step. The resolved125 C shear stress is the double product of stress tensor with the slip126 C deformation tensor (Schmid factor), and the increment of current 127 C strength is related to shear strain increments over all slip 128 C systems through self- and latent-hardening functions.129 130 C----- The implicit integration method proposed by Peirce, Shih and 131 C Needleman (1984) is used here. The subroutine provides an option132 C of iteration to solve stresses and solution dependent state 133 C variables within each increment.134 135 C----- The present program is for a single CUBIC crystal. However, 136 C this code can be generalized for other crystals (e.g. HCP, 137 C Tetragonal, Orthotropic, etc.). Only subroutines ROTATION and 138 C SLIPSYS need to be modified to include the effect of crystal 139 C aspect ratio.140 C141 142 C----- Important notice:143 C144 C (1) The number of state variables NSTATV must be larger than (or 145 CFIX equal to) TEN (10) times the total number of slip systems in146 C all sets, NSLPTL, plus FIVE (5)147 CFIX NSTATV >= 10 * NSLPTL + 5148 C Denote s as a slip direction and m as normal to a slip plane.149 C Here (s,-m), (-s,m) and (-s,-m) are NOT considered 150 C independent of (s,m). The number of slip systems in each set151 C could be either 6, 12, 24 or 48 for a cubic crystal, e.g. 12 152 C for {110}.153 C154 C Users who need more parameters to characterize the 155 C constitutive law of single crystal, e.g. the framework 156 C proposed by Zarka, should make NSTATV larger than (or equal 157 C to) the number of those parameters NPARMT plus nine times 158 C the total number of slip systems, NSLPTL, plus five159 CFIX NSTATV >= NPARMT + 10 * NSLPTL + 5160 C161 C (2) The tangent stiffness matrix in general is not symmetric if 162 C latent hardening is considered. Users must declare "UNSYMM" 163 C in the input file, at the *USER MATERIAL card.164 C165 166 PARAMETER (ND=150)167 C----- The parameter ND determines the dimensions of the arrays in 168 C this subroutine. The current choice 150 is a upper bound for a

  • 169 C cubic crystal with up to three sets of slip systems activated. 170 C Users may reduce the parameter ND to any number as long as larger171 C than or equal to the total number of slip systems in all sets. 172 C For example, if {110} is the only set of slip system 173 C potentially activated, ND could be taken as twelve (12). 174 c175 include 'aba_param.inc'176 c177 CHARACTER*8 CMNAME178 EXTERNAL F179 180 dimension stress(ntens),statev(nstatv),181 1 ddsdde(ntens,ntens),ddsddt(ntens),drplde(ntens),182 2 stran(ntens),dstran(ntens),time(2),predef(1),dpred(1),183 3 props(nprops),coords(3),drot(3,3),dfgrd0(3,3),dfgrd1(3,3)184 185 DIMENSION ISPDIR(3), ISPNOR(3), NSLIP(3), 186 2 SLPDIR(3,ND), SLPNOR(3,ND), SLPDEF(6,ND), 187 3 SLPSPN(3,ND), DSPDIR(3,ND), DSPNOR(3,ND), 188 4 DLOCAL(6,6), D(6,6), ROTD(6,6), ROTATE(3,3), 189 5 FSLIP(ND), DFDXSP(ND), DDEMSD(6,ND), 190 6 H(ND,ND), DDGDDE(ND,6), 191 7 DSTRES(6), DELATS(6), DSPIN(3), DVGRAD(3,3),192 8 DGAMMA(ND), DTAUSP(ND), DGSLIP(ND), 193 9 WORKST(ND,ND), INDX(ND), TERM(3,3), TRM0(3,3), ITRM(3)194 195 DIMENSION FSLIP