subroutine vusdfld( c Read only - * nblock, nstatev, nfieldv, nprops, ndir, nshr, * jElem, kIntPt, kLayer, kSecPt, * stepTime, totalTime, dt, cmname, * coordMp, direct, T, charLength, props, * stateOld, c Write only - * stateNew, field ) c include 'vaba_param.inc' c dimension jElem(nblock), coordMp(nblock,*), * direct(nblock,3,3), T(nblock,3,3), * charLength(nblock), props(nprops), * stateOld(nblock,nstatev), * stateNew(nblock,nstatev), * field(nblock,nfieldv) character*80 cmname c C Local arrays from vgetvrm are dimensioned to C Maximum block size (maxblk) parameter( nrData=6 ) character*3 cData(maxblk*nrData) dimension rData(maxblk*nrData), jData(maxblk*nrData) dimension stress(nblock,nrData) dimension eigVal(nblock,3) C ! Surface evolution Do k=1, nblock counter=0 if(stateNew(k,3).ge.Dmax) then Do j=1,nblock if(counter.gt.1)exit rou=charLength(k)*1.1d0 di=((coordMp(j,1)-coordMp(k,1))**2.d0+(coordMp(j,2) 1 -coordMp(k,2))**2.d0+(coordMp(j,3)-coordMp(k,3))**2.d0) 2 **0.5d0 if((di.le.rou).and.(j.ne.k))then stateNew(j,6)=1 counter=counter+1 end if end do end if d=coordMp(1,3) stateNew(k,7)=coordMp(1,1) end do ! Do k=1,nblock ! stateNew(k,7)=nblock ! end Do C return end