anchor.diff:  c
   c...  subroutine arguments
   c
  -      integer neq,numnp,ndmatsz,numelt,nconsz,numat,numrot,ierr
  -      integer ien(nconsz),lm(ndof,nconsz),lmx(ndof,nconsz)
  -      integer infiel(7,numelt),iddmat(nstr,nstr),infmat(3,numat)
  -      integer infmatmod(5,nmatmodmax),infetype(4,netypes)
  +      integer neq,numnp,nvfamilies,numelv,nen,ngauss,nee,numrot,ierr
  +      integer ien(nen,numelv),lm(ndof*nen,numelv),lmx(ndof*nen,numelv)
  +      integer ivfamily(5,nvfamilies),infmatmod(6,nmatmodmax)
         character errstrng*(*)
         double precision bintern(neq),x(nsd,numnp),d(ndof,numnp)
         double precision deld(ndof,numnp),s(neemax*neemax)
  -      double precision stemp(neemax*neemax),dmat(nddmat,ndmatsz)
  -      double precision gauss(nsd+1,ngaussmax,netypes)
  -      double precision sh(nsd+1,nenmax,ngaussmax,netypes)
  -      double precision shj(nsd+1,nenmax,ngaussmax,netypes)
  +      double precision stemp(neemax*neemax),dmat(nddmat*ngauss,numelv)
  +      double precision gauss(nsd+1,ngauss)
  +      double precision sh(nsd+1,nen,ngauss)
  +      double precision shj(nsd+1,nen,ngauss)
         double precision skew(nskdim,numnp)
   c
   c...  external routines
  
positive.code: c
  c...  local variables
  c
        integer matgpt,imat,matmodel,nmatel,imatvar,ngtest,ielg,iel,indien
        integer ietype,nen,inddmat,ngauss,nee,ngaussdim,i
        double precision p(60),dld(60)
  cdebug      integer idb
  c
  cdebug      write(6,*) "Hello from formdf_ss_f!"
  c
        matgpt=1
  c
  c...  loop over material groups
  c
        do imat=1,numat
          matmodel=infmat(1,imat)
          nmatel=infmat(2,imat)
          imatvar=infmatmod(4,matmodel)
          ngtest=0
          if(imatvar.eq.izero) ngtest=ngaussmax
          do ielg=matgpt,matgpt+nmatel-1
            iel=infiel(4,ielg)
            indien=infiel(1,iel)
            ietype=infiel(3,iel)
            nen=infetype(2,ietype)
  c
  c...  localize displacement BC
  c
            call ldisbc(dld,deld,ien(indien),lm(1,indien),nen,numnp)
            do i=1,ndof*nen
              if(dld(i).ne.zero) go to 100
            end do
  
negative.code: c
            call fill(p,zero,nee)
            call dsymv("u",nee,one,s,nee,dld,ione,zero,p,ione)
            call addfor(bintern,p,lm(1,ielg),lmx(1,ielg),neq,nee)
   150      continue
          end do
        end do
        return
        end
  c
  c version
  c $Id: formdf_ss.f,v 1.8 2005/03/21 19:12:43 willic3 Exp $
  c
  c Generated automatically by Fortran77Mill on Wed May 21 14:15:03 2003
  c
  