anchor.diff:  c
    30   continue
           ierr=3
  +        errstrng="read_diff"
           close(kr)
  +        return
  +c
  +c...  error opening output file
  +c
  + 40   continue
  +        ierr=2
  +        errstrng="read_diff"
  +        close(kw)
  +        return
  +c
  +c...  error writing to output file
  +c
  + 50   continue
  +        ierr=4
  +        errstrng="read_diff"
  +        close(kw)
           return
   c
    6000 format(//' differential forces on slippery nodes'//
  
positive.code: c
  c...  open input file
  c
        ierr=0
        call fill(diforc,zero,ndof*numnp)
        call ifill(idhist,izero,numnp)
        if(numslp.eq.0.or.numdif.eq.0) return
        open(kr,file=difile,status="old",err=20)
  c
  c...  read differential force info and output results, if desired
  c
        call pskip(kr)
        nlines=0
        npage=50
        if(idout.gt.0) open(kw,file=ofile,status="old",access="append")
        do i=1,numdif
          read(kr,*,end=30,err=30) n,idhist(n),(diforc(j,n),j=1,ndof)
          slipry=.false.
          if(idout.gt.0) then
            nlines=nlines+1
            if(nlines.eq.1.or.mod(nlines,npage).eq.0) then
              write(kw,6000) (labeld(j),j=1,ndof)
              write(kw,*) ' '
            end if
            write(kw,7000) n,idhist(n),(diforc(j,n),j=1,ndof)
          end if
          do j=1,numslp
            if(n.eq.nslip(2,j)) slipry=.true.
          end do
          if(.not.slipry) then
            ierr=4
            return
          end if
        end do
        close(kr)
        if(idout.gt.0) close(kw)
  c
  c...  normal return
  c
  
negative.code:       end
  c
  c version
  c $Id: read_diff.f,v 1.2 2004/07/12 14:34:29 willic3 Exp $
  c
  c Generated automatically by Fortran77Mill on Wed May 21 14:15:03 2003
  c
  