anchor.diff:  c
         integer neq,numnp,ndmatsz,numelt,nconsz,numat,numrot,ierr
         integer ien(nconsz),lm(ndof,nconsz),lmx(ndof,nconsz)
  -      integer infiel(6,numelt),iddmat(nstr,nstr),infmat(6,numat)
  -      integer infetype(4,netypes)
  +      integer infiel(6,numelt),iddmat(nstr,nstr),infmat(3,numat)
  +      integer infmatmod(5,nmatmodmax),infetype(4,netypes)
         character errstrng*(*)
         double precision bdisp(neq),x(nsd,numnp),d(ndof,numnp)
         double precision deld(ndof,numnp),s(neemax*neemax)
  
positive.code: c
        include "ndimens.inc"
        include "nshape.inc"
        include "nconsts.inc"
        include "rconsts.inc"
  c
  
negative.code: 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
  