SUBROUTINE UHARD(SYIELD,HARD,EQPLAS,EQPLASRT,TIME,DTIME,TEMP, 1 DTEMP,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,CMNAME,NSTATV, 2 STATEV,NUMFIELDV,PREDEF,DPRED,NUMPROPS,PROPS) C INCLUDE 'ABA_PARAM.INC' C INTEGER i CHARACTER*80 CMNAME DOUBLE PRECISION rinf,pm,sy,em,ey_0,strain,strain_0,SYIELD_0 DIMENSION HARD(5),STATEV(NSTATV),TIME(*), $ PREDEF(NUMFIELDV),DPRED(*),PROPS(*) PARAMETER (one=1.d0) C user coding to define SYIELD,HARD(1),HARD(2),HARD(3) C C C C Yield Stress calculated from Exponential Law xk = PROPS(1) pn = PROPS(2) sy = PROPS(3) xkpa = PROPS(4) xm = PROPS(5) C C SYIELD0 = sy + xk*EQPLAS**pn SYIELD = ((EQPLASRT/xkpa)**(one/xm)+one)*SYIELD0 HARD(1) = xk*EQPLAS**(pn-one) HARD(2)=0.0 if(EQPLASRT.ne.zero)then HARD(2) = SYIELD0/xkpa*(EQPLASRT/xkpa)**(one/xm-one) end if HARD(3) = 0.0 C RETURN END