anchor.diff:  c
   c...  subroutine arguments
   c
  -      integer nstate,nprop
  +      integer nstate,nprop,ierr
         integer iddmat(nstr,nstr)
  -      double precision state(nstr,nstate),dmat(nddmat),prop(nprop)
  +      character errstrng*(*)
  +      double precision state(nstr,nstate),dstate(nstr,nstate)
  +      double precision dmat(nddmat),prop(nprop),tmax
         logical matchg
   c
   c...  local variables
   c
  -      integer i,j
  -      double precision e,pr,pr1,pr2,pr3,fac,dd,od,ss
  -c
  +c
  +      tmax=big
         if(.not.matchg) return
   c
  -      call fill(dmat,zero,nddmat)
  -      e=prop(2)
  -      pr=prop(3)
  -      pr1=one-pr
  -      pr2=one+pr
  -      pr3=one-two*pr
  -      fac=e/(pr2*pr3)
  -      dd=pr1*fac
  -      od=pr*fac
  -      ss=half*pr3*fac
  -      do i=1,3
  -        dmat(iddmat(i,i))=dd
  -        dmat(iddmat(i+3,i+3))=ss
  -        do j=i+1,3
  -          dmat(iddmat(i,j))=od
  -        end do
  -      end do
  -      return
  -      end
  -c
  -c
  -      subroutine td_mat_strs_1(state,dmat,prop,iddmat,nstate,nprop)
  +      call elas_mat_1(dmat,prop,iddmat,nprop,ierr,errstrng)
  +      return
  +      end
  +c
  +c
  +      subroutine td_strs_1(state,dstate,ee,dmat,prop,iddmat,tmax,
  +     & nstate,nprop,matchg,ierr,errstrng)
  +c
  +c...  subroutine to compute the current stress for the time-dependent
  +c     solution.
  +c     Note that only the upper triangle is used (or available), as
  +c     dmat is assumed to always be symmetric.
  +c
  +      include "implicit.inc"
  +c
  +c...  parameter definitions
  +c
  +      include "ndimens.inc"
  +      include "nconsts.inc"
  +      include "rconsts.inc"
  +c
  +c...  subroutine arguments
  +c
  +      integer nstate,nprop,ierr
  +      integer iddmat(nstr,nstr)
  +      character errstrng*(*)
  +      logical matchg
  +      double precision state(nstr,nstate),dstate(nstr,nstate),ee(nstr)
  +      double precision dmat(nddmat),prop(nprop),tmax
  +c
  +      call dcopy(nstr,ee,ione,state(1,2),ione)
  +      call dspmv("u",nstr,one,dmat,state(1,2),ione,zero,state(1,1),ione)
  +c
  +      return
  +      end
  +c
  +c
  +      subroutine td_strs_mat_1(state,dstate,ee,dmat,prop,iddmat,tmax,
  +     & nstate,nprop,matchg,ierr,errstrng)
   c
   c...  subroutine to compute the current stress and updated material
   c     matrix for the time-dependent solution.  Since this is a purely
  -c     elastic material, the material matrix should not change.  If the
  -c     material properties have changed for a time step, this should
  -c     already be reflected in the current dmat.
  +c     elastic material, the material matrix should not change unless the
  +c     material properties have changed for a time step.
   c     Note that only the upper triangle is used (or available), as
   c     dmat is assumed to always be symmetric.
   c
  
positive.code:       end
  c
  c
        subroutine td_mat_1(state,dmat,prop,iddmat,nstate,nprop,matchg)
  c
  c...  subroutine to form the material matrix for an integration point
  c     for the time-dependent solution.  This routine is meant to be
  
negative.code: c
  c...  subroutine arguments
  c
        integer nstate,nprop,ierr
        integer iddmat(nstr,nstr)
        character errstrng*(*)
        logical matchg
        double precision state(nstr,nstate),dstate(nstr,nstate),ee(nstr)
        double precision dmat(nddmat),prop(nprop),tmax
  c
        if(matchg) call elas_mat_1(dmat,prop,iddmat,nprop,ierr,errstrng)
        call td_strs_1(state,dstate,ee,dmat,prop,iddmat,tmax,nstate,nprop,
       & matchg,ierr,errstrng)
  c
        return
        end
  c       
  
  c version
  c $Id: mat_1.f,v 1.3 2004/06/25 21:40:09 willic3 Exp $
  
  c Generated automatically by Fortran77Mill on Tue May 18 14:18:50 2004
  
  