!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!     Subroutine VUMAT
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!-----------------------------------------------------------------------
      SUBROUTINE VUMAT(
     + NBLOCK, NDIR, NSHR, NSTATEV, NFIELDV, NPROPS, LANNEAL, STEPTIME,
     + TOTALTIME, DT, CMNAME, COORDMP, CHARLENGTH, PROPS, DENSITY,
     + STRAININC, RELSPININC, TEMPOLD, STRETCHOLD, DEFGRAdoLD, FIELdoLD,
     + STRESSOLD, STATEOLD, ENERINTERNOLD, ENERINELASOLD, TEMPNEW,
     + STRETCHNEW, DEFGRADNEW, FIELDNEW,
     + STRESSNEW, STATENEW, ENERINTERNNEW, ENERINELASNEW)
C
      INCLUDE 'VABA_PARAM.INC'
!-----------------------------------------------------------------------
!-----Declaration ABAQUS variables
!-----------------------------------------------------------------------
      character*(*) CMNAME
      DIMENSION PROPS(NPROPS), DENSITY(NBLOCK), COORDMP(NBLOCK,*),
     + CHARLENGTH(*), STRAININC(NBLOCK,NDIR+NSHR), RELSPININC(*),
     + TEMPOLD(*), FIELdoLD(NBLOCK,NFIELDV),FIELDNEW(NBLOCK,NFIELDV),
     + STRESSOLD(NBLOCK,NDIR+NSHR), STATEOLD(NBLOCK,NSTATEV),
     + ENERINTERNOLD(NBLOCK),  ENERINELASOLD(NBLOCK), TEMPNEW(*),
     + STRETCHOLD(NBLOCK,NDIR+NSHR), DEFGRADOLD(NBLOCK,NDIR+2*NSHR),
     + STRETCHNEW(NBLOCK,NDIR+NSHR), DEFGRADNEW(NBLOCK,NDIR+2*NSHR),
     + STRESSNEW(NBLOCK,NDIR+NSHR), STATENEW(NBLOCK,NSTATEV),
     + ENERINTERNNEW(NBLOCK), ENERINELASNEW(NBLOCK)
!-----------------------------------------------------------------------
!-----Declaration parameters
!-----------------------------------------------------------------------
      parameter( zero = 0., one = 1., two = 2., three = 3.,
     1 third = one/three, half = .5, twoThirds = two/three,
     2 threeHalfs = 1.5 )
! You can start to write in column 7
      real a ! this is a float number
      integer b ! this is an integer 1 3 5 120 -20
      character*(*) c ! this is a string 'toto'
      logical d ! true or false statements
!     precision
      real   a1 ! single precision real
      real*8 a2, a3, a4 ! double precision real
c      real*16 a3 ! quadruple precision real
!     vectors and matrices
      real*8 e(3) ! this is a 3 lines vector
      real*8 f(3,3) ! this is a 3x3 matrix
!-----------------------------------------------------------------------
!-----Declaration elastic parameters
!-----------------------------------------------------------------------
      real*8 BULK,R2G,E0,NU
!-----------------------------------------------------------------------
!-----Declaration internal variables
!-----------------------------------------------------------------------
      integer i,k
      integer KINC,NTENS,NSTATV
      real*8 PROPS2(NPROPS),STRESS(NDIR+NSHR),DSTRAN(NDIR+NSHR)
      real*8 STATEV(NSTATEV),DDSDDE(NDIR+NSHR,NDIR+NSHR)
!-----------------------------------------------------------------------
!     Both are equivalent
!-----------------------------------------------------------------------
      e(1) = 1.0
      e(2) = 1.0
      e(3) = 1.0
c
      e = 1.0
!-----------------------------------------------------------------------
!     Watch out for uninitialized variables !
!-----------------------------------------------------------------------
      a2 = 3.5
      a4 = 5.0
      e(2) = a2+a3+a4
      e(3) = a2/a3 ! always check the denominator
!
      a4 = e(4)*5.0 ! will most likely run... check the bounds
!----------------------------------------------------------------------- 
      a2 = 5.0+5050
     .     +125 

      print*,'test',a3,a2,a4,e(1)
      write(*,*) 'test',a3,a2,a4,e(1)

      write(*,95) 'test',a3,a2,a4,e(1)
!-----------------------------------------------------------------------
!     Initialization step (elastic)
!-----------------------------------------------------------------------
      if((steptime.eq.totaltime).and.(steptime.eq.zero))then
         K = 2.511

!-----------------------------------------------------------------------
!     Ordinary increment
!-----------------------------------------------------------------------
      else

      endif
!-----------------------------------------------------------------------
!     End of subroutine
!-----------------------------------------------------------------------
      return
      end