      subroutine uhyper(bi1,bi2,aj,u,ui1,ui2,ui3,temp,noel,
     .                 cmname,incmpflag,numstatev,statev,
     .                 numfieldv,fieldv,fieldvinc,numprops,props)

      include 'aba_param.inc'

      character*8 cmname
      dimension ui1(3),ui2(6),ui3(6),statev(*),fieldv(*),
     .          fieldvinc(*),props(*)
c
      ta = 0.
      tb = 20.
      tc = 30.
      c10a = 80.
      c10b = 75.
      c10c = 70.
      c01a = 20.
      c01b = 18.
      c01c = 16.
c
      d1 = 0.001
c
      if(temp .le. ta) then
        c10 = c10a
        c01 = c01a
      else if(temp .gt. ta .and. temp .le. tb) then
        c10 = c10a+(c10b-c10a)/(tb-ta)*(temp-ta)
        c01 = c01a+(c01b-c01a)/(tb-ta)*(temp-ta)
      else if(temp .gt. tb .and. temp .le. tc) then
        c10 = c10b+(c10c-c10b)/(tc-tb)*(temp-tb)
        c01 = c01b+(c01c-c01b)/(tc-tb)*(temp-tb)
      else if(temp .gt. tc) then
        c10 = c10c
        c01 = c01c
      end if
c
      if(incmpflag.eq.0) then
c     compressible:
        u = c10*(bi1-3.)+c01*(bi2-3.)+((aj-1.)**2)/d1
      else
c     incompressible:
        u = c10*(bi1-3.)+c01*(bi2-3.)
      end if
      ui1(1) = c10
      ui1(2) = c01
      ui1(3) = 2./d1*(aj-1.)
      ui2(1) = 0.
      ui2(2) = 0.
      ui2(3) = 2./d1
      ui2(4) = 0.
      ui2(5) = 0.
      ui2(6) = 0.
      ui3(1) = 0.
      ui3(2) = 0.
      ui3(3) = 0.
      ui3(4) = 0.
      ui3(5) = 0.
      ui3(6) = 0.

      return
      end

