C
C User subroutine VDLOAD
      subroutine vdload (
C Read only (unmodifiable) variables -
     *     nblock, ndim, stepTime, totalTime, 
     *     amplitude, curCoords, velocity, dircos, 
     *     jltyp, sname,
C Write only (modifiable) variable -
     *     value )
C
      include 'vaba_param.inc'
      parameter ( 
     *     d0 = 120.00d0,
     *     pa = 0.0d0,
     *     ps = 364.0d0,
     *     theta = 0.124651928275d-3,
c     *     theta = 0.1569262d-3,
     *     timea = 0.01875d-3,
     *     timed = 0.195d-3,
     *     zero = 0.0d0,
     *     one = 1.0d0
     *     )
C
      dimension curCoords(nblock,ndim), 
     *     velocity(nblock,ndim),
     *     dircos(nblock,ndim,ndim), 
     *     value(nblock)
      character*80 sname
c    
c     local variables
c 
      real xx,yy,zz,dd,dd0,xc,yc,zc,tt,Tint,press
c
      xc = zero
      yc = zero
      zc = zero
      time = totalTime
      dd0 = d0 * d0
      Tint = timed-timea
      tt = time - timea
      do k = 1, nblock
         press = zero
         if ((time .gt. timea) .and. (time .le. timed)) then
                xx = curCoords(k,1) - xc
                yy = curCoords(k,2) - yc
                zz = curCoords(k,3) - zc
                xx = xx * xx
                yy = yy * yy
                zz = zz * zz
                dd = xx + yy + zz
                press = (ps-pa) * (one - (tt/Tint))
                press = press * (exp(-tt/theta))
                press = press * (exp(-dd/dd0))
         end if
         value(k) = amplitude * press
c         write(*,*) time, value(k)
      end do
*     
      return
      end
c
c===================================================



