anchor.diff:        data eltype/"hex","wrick","prism","pyr","tet",
        & "hex","wrick","prism","pyr","tet"/
   c
  +c...  intrinsic functions
  +c
  +      intrinsic char,real
  +c
   c...  external functions
   c
         integer nchar,nnblnk
  
positive.code:       if(ietype.eq.60) indtype=ieight
        if(ietype.eq.61) indtype=inine
        if(ietype.eq.62) indtype=10
  c
        ielg=izero
        do ifam=1,nvfamilies
          nelfamily=ivfamily(1,ifam)
          matmodel=ivfamily(2,ifam)
          do ielf=1,nelfamily
            ielg=ielg+1
            do j=1,nen
              itmp(j)=ien(j,ielg)
            end do
            write(kucd,"(2i7,2x,a4,20i7)") ielg,matmodel,eltype(indtype),
       &     (itmp(inducd(j,indtype)),j=1,nen)
          end do
        end do
        close(kucd)
  c
  c...  write Gauss point info
  c
        iopt=itwo
        call open_ucd(kucd,iprestress,nstep,ucdroot,iopt)
        write(kucd,"(5i7)") ngpts,numelg,nngattr,negattr,nmattr
  c
  c...  write Gauss coordinates
  c
        igpt=izero
        do ielg=1,numelv
          call lcoord(x,xl,ien(1,ielg),nen,numnp)
          do l=1,ngauss
            igpt=igpt+ione
            xg(1)=zero
            xg(2)=zero
            xg(3)=zero
            do j=1,nen
              xg(1)=xg(1)+xl(1,j)*sh(4,j,l)
              xg(2)=xg(2)+xl(2,j)*sh(4,j,l)
              xg(3)=xg(3)+xl(3,j)*sh(4,j,l)
            end do
            write(kucd,"(i7,3(2x,1pe15.8))") igpt,(xg(j),j=1,nsd)
          end do
        end do
        close(kucd)
        return
        end
  c
  c version
  c $Id: write_ucd_mesh.f,v 1.8 2005/05/11 21:07:00 willic3 Exp $
  c
  c Generated automatically by Fortran77Mill on Wed May 21 14:15:03 2003
  c
  
negative.code: c
  c...  subroutine arguments
  c
        integer numnp,numelv,nvfamilies,nen,ngauss,ietype,kucd,iucd
        integer ien(nen,numelv),ivfamily(5,nvfamilies)
        integer istatout(nstatesmax,3),nstatout(3)
        character ucdroot*(*)
  