C C Isotropic hardening for UHARDMTS.inp C SUBROUTINE UHARD(SYIELD,HARD,EQPLAS,EQPLASRT,TIME,DTIME,TEMP, $ DTEMP,NOEL,NPT,LAYER,KSPT,KSTEP,KINC, $ CMNAME,NSTATV,STATEV,NUMFIELDV, $ PREDEF,DPREDEF,NUMPROPS,PROPS) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME C DIMENSION HARD(3),STATEV(NSTATV),TIME(*), $ PREDEF(NUMFIELDV),DPREDEF(*),PROPS(*) C IF (EQPLAS.LE.PROPS(2)) THEN SYIELD = PROPS(1) ELSE IF (EQPLAS.LE.PROPS(4)) THEN SYIELD = PROPS(1) + (PROPS(3)-PROPS(1)) * $ (EQPLAS - PROPS(2)) / (PROPS(4) - PROPS(2)) HARD(1) = (PROPS(3)-PROPS(1)) / (PROPS(4) - PROPS(2)) ELSE IF (EQPLAS.LE.PROPS(6)) THEN SYIELD = PROPS(3) + (PROPS(5)-PROPS(3)) * $ (EQPLAS - PROPS(4)) / (PROPS(6) - PROPS(4)) HARD(1) = (PROPS(5)-PROPS(3)) / (PROPS(6) - PROPS(4)) ELSE SYIELD = PROPS(5) ENDIF STATEV(1) = HARD(1) FIELDVARSUM = 0.0D0 DO I = 1,NUMFIELDV FIELDVARSUM = FIELDVARSUM + PREDEF(I) END DO C FIELD VARIABLES SHOULD SUM TO ONE AND HAVE NO IMPACT ON RESULT SYIELD = FIELDVARSUM * SYIELD FIELDVARSUM = 0.0D0 DO I = 1,NUMFIELDV FIELDVARSUM = FIELDVARSUM + DPREDEF(I) END DO C FIELD VARIABLE INCREMENTS SHOULD SUM TO ZERO C AND HAVE NO IMPACT ON RESULT SYIELD = FIELDVARSUM + SYIELD C RETURN END