2 NSLIP, NSLPTL, NSET, H, PROP, ND) CFIXB
C----- This subroutine calculates the current self- and latent-
C hardening moduli for all slip systems in a rate-dependent single C crystal. Two kinds of hardening law are used here. The first
C law, proposed by Asaro, and Pierce et al, assumes a HYPER SECANT C relation between self- and latent-hardening moduli and overall C shear strain. The Bauschinger effect has been neglected. The C second is Bassani's hardening law, which gives an explicit C expression of slip interactions between slip systems. The C classical three stage hardening for FCC single crystal could be C simulated.
C----- The hardening coefficients are assumed the same for all slip C systems in each set, though they could be different from set to C set, e.g. <110>{111} and <110>{100}.
C----- Users who want to use their own self- and latent-hardening law C may change the function subprograms HSELF (self hardening) and C HLATNT (latent hardening). The parameters characterizing these C hardening laws are passed into HSELF and HLATNT through array C PROP.
C----- Function subprograms: C
C HSELF -- User-supplied self-hardening function in a slip C system C
C HLATNT -- User-supplied latent-hardening function
C----- Variables: C
C GAMMA -- shear strain in all slip systems at the start of time C step (INPUT)
C TAUSLP -- resolved shear stress in all slip systems (INPUT) C GSLIP -- current strength (INPUT)
CFIX GMSLTL -- total cumulative shear strains on each individual slip system CFIX (INPUT)
C GAMTOL -- total cumulative shear strains over all slip systems C (INPUT)
C NSLIP -- number of slip systems in each set (INPUT)
C NSLPTL -- total number of slip systems in all the sets (INPUT)
C NSET -- number of sets of slip systems (INPUT) C
C H -- current value of self- and latent-hardening moduli C (OUTPUT)
C H(i,i) -- self-hardening modulus of the ith slip system C (no sum over i)
C H(i,j) -- latent-hardening molulus of the ith slip
C system due to a slip in the jth slip system C (i not equal j) C
C PROP C C
C C C C C C C C C C C C C
C C C C C C C C C C C C C C C C C C -- material constants characterizing the self- and latent- hardening law (INPUT) For the HYPER SECANT hardening law
PROP(1,i) -- initial hardening modulus H0 in the ith set of slip systems
PROP(2,i) -- saturation stress TAUs in the ith set of slip systems
PROP(3,i) -- initial critical resolved shear stress TAU0 in the ith set of slip systems PROP(9,i) -- ratio of latent to self-hardening Q in the ith set of slip systems
PROP(10,i)-- ratio of latent-hardening from other sets of slip systems to self-hardening in the ith set of slip systems Q1 For Bassani's hardening law
PROP(1,i) -- initial hardening modulus H0 in the ith set of slip systems
PROP(2,i) -- stage I stress TAUI in the ith set of
slip systems (or the breakthrough stress where large plastic flow initiates) PROP(3,i) -- initial critical resolved shear stress TAU0 in the ith set of slip systems
PROP(4,i) -- hardening modulus during easy glide Hs in the ith set of slip systems
PROP(5,i) -- amount of slip Gamma0 after which a given interaction between slip systems in the ith set reaches peak strength
PROP(6,i) -- amount of slip Gamma0 after which a given interaction between slip systems in the ith set and jth set (i not equal j) reaches peak strength
PROP(7,i) -- representing the magnitude of the strength
C of interaction in the ith set of slip C system
C PROP(8,i) -- representing the magnitude of the strength C of interaction between the ith set and jth C set of system
C PROP(9,i) -- ratio of latent to self-hardening Q in the C ith set of slip systems
C PROP(10,i)-- ratio of latent-hardening from other sets C of slip systems to self-hardening in the C ith set of slip systems Q1 C
C ND -- leading dimension of arrays defined in subroutine UMAT C (INPUT)
C----- Use single precision on cray C
IMPLICIT REAL*8 (A-H,O-Z) EXTERNAL HSELF, HLATNT CFIXA
DIMENSION GAMMA(NSLPTL), TAUSLP(NSLPTL), GMSLTL(NSLPTL), 2 GSLIP(NSLPTL), NSLIP(NSET), PROP(16,NSET), 3 H(ND,NSLPTL) CFIXB
CHECK=0. DO I=1,NSET DO J=4,8
CHECK=CHECK+ABS(PROP(J,I)) END DO END DO
C----- CHECK=0 -- HYPER SECANT hardening law C otherwise -- Bassani's hardening law
ISELF=0
DO I=1,NSET ISET=I
DO J=1,NSLIP(I) ISELF=ISELF+1
DO LATENT=1,NSLPTL
IF (LATENT.EQ.ISELF) THEN CFIXA
H(LATENT,ISELF)=HSELF(GAMMA,GMSLTL,GAMTOL,NSLPTL, 2 NSET,NSLIP,PROP(1,I),CHECK, 3 ISELF,ISET) CFIXB
ELSE CFIXA
H(LATENT,ISELF)=HLATNT(GAMMA,GMSLTL,GAMTOL,NSLPTL, 2 NSET,NSLIP,PROP(1,I),CHECK, 3 ISELF,ISET,LATENT) CFIXB
END IF END DO
END DO END DO
RETURN END
C-----------------------------------
C----- Use single precision on cray CFIXA
REAL*8 FUNCTION HSELF(GAMMA,GMSLTL,GAMTOL,NSLPTL,NSET, 2 NSLIP,PROP,CHECK,ISELF,ISET) CFIXB
C----- User-supplied self-hardening function in a slip system
C----- Use single precision on cray C
IMPLICIT REAL*8 (A-H,O-Z) CFIXA
DIMENSION GAMMA(NSLPTL), NSLIP(NSET), PROP(16), 2 GMSLTL(NSLPTL) CFIXB
IF (CHECK.EQ.0.) THEN
C----- HYPER SECANT hardening law by Asaro, Pierce et al
TERM1=PROP(1)*GAMTOL/(PROP(2)-PROP(3))