subroutine uinter(stress,ddsddr,amki,amski,flux,ddfddt,ddsddt, 1 ddfddr,statev,sed,sfd,spd,svd,scd,pnewdt,rdisp,drdisp, 2 temp,dtemp,predef,dpred,time,dtime,freqr,ciname,slname, 3 msname,props,coords,aLocalDir,drot,area,chrLngth,node,ndir, 4 nstatv,npred,nprops,mcrd,kstep,kinc,kit,linper,lOpenClose, 5 lState,lSdi,lPrint) c include 'aba_param.inc' c dimension stress(ndir),ddsddr(ndir,ndir),flux(2),ddfddt(2,2), $ ddsddt(ndir,2),ddfddr(2,ndir),statev(nstatv),rdisp(ndir), $ drdisp(ndir),temp(2),dtemp(2),predef(2,npred),dpred(2,npred), $ time(2),props(nprops),coords(mcrd),aLocalDir(mcrd,mcrd), $ drot(2,2),amki(ndir,ndir),amski(ndir,ndir) character*80 ciname,slname,msname parameter(toler = 1.D-12, zero=0.d0, one=1.d0, two=2.d0, $ half = one/two) c c User defined interfacial constitutive behavior. c c c Local variables dp = zero c Material properties c ekbar = props(1) ! Modulus in the normal direction c if ( rdisp(1) .ge. toler) then c lOpenClose = 1 c Compute P_(t+dt) and T_crit c dp = ekbar*drdisp(1) stress(1) = stress(1) + dp ddsddr(1,1) = ekbar else lOpenClose = 0 c end if c return end