c     ----------------------------------------------------------
c     getViscocity
c     ----------------------------------------------------------
      function getViscosity()
      implicit none

      real*8 getViscosity

      getViscosity = 1.d-3
c      getViscosity = 0.d0
c      getViscosity = 1.d2

      return
      end

c     ----------------------------------------------------------
c     getTopPsiBound
c     ----------------------------------------------------------
      function getTopPsiBound()
      implicit none
      real*8 getTopPsiBound
      getTopPsiBound = 0.d0
      return 
      end

c     ----------------------------------------------------------
c     getBottomPsiBound
c     ----------------------------------------------------------
      function getBottomPsiBound()
      implicit none
      real*8 getBottomPsiBound
      getBottomPsiBound = 0.d0
      return 
      end

c     ----------------------------------------------------------
c     getTopWBound
c     ----------------------------------------------------------
      function getTopWBound()
      implicit none
      real*8 getTopWBound
      getTopWBound = 0.d0
      return 
      end

c     ----------------------------------------------------------
c     getBottomWBound
c     ----------------------------------------------------------
      function getBottomWBound()
      implicit none
      real*8 getBottomWBound
      getBottomWBound = 0.d0
      return 
      end

c     ----------------------------------------------------------
c     iniUVal
c     ----------------------------------------------------------
      function iniUVal(x, y)
      implicit none

      real*8 pi
      parameter(pi=3.1415926535898)

      real*8 x,y, iniUVal

c     Put your function here
      iniUVal = 0.d0

c     Choice 1
c      iniUVal = y*y*
c     *     (1-y)*(1-y)*
c     *     (1-2.d0*y)

c     2nd Deriv of choice 1 is 
c     2 -24*y +60*y*y-40*y*y*y
c     or equivalently (in Horner form)
c     2-y*(24.d0-y*(6.d1-y*4.d1))

c     x component of curl of
c     sin(2*pi*x)cos(4*pi*y)
      iniUVal = -2.d0*
     *     sin(2*pi*x)*sin(4*pi*y)


      return
      end

c     ----------------------------------------------------------
c     iniVVal
c     ----------------------------------------------------------
      function iniVVal(x, y)
      implicit none

      real*8 pi
      parameter(pi=3.1415926535898)

      real*8 x,y, iniVVal

c     Put your function here
c      iniVVal = 0.d0

      iniVVal = -1.d0*
     *     cos(2*pi*x)*cos(4*pi*y)

      return
      end


c     ----------------------------------------------------------
c     getForcingX
c     ----------------------------------------------------------
      function getForcingX(x, y)
      implicit none

      real*8 x,y, getForcingX
      real*8 getViscosity

      real*8 pi
      parameter(pi=3.1415926535898)

c     Put your function here
c      getForcingX = 0.d0

c     Choice 1
      getForcingX = -1.d1*
     *     getViscosity()*
     *     (2.d0-y*
     *     (24.d0-y*(6.d1-y*4.d1)))

      return
      end

c     ----------------------------------------------------------
c     getForcingY
c     ----------------------------------------------------------
      function getForcingY(x, y)
      implicit none

      real*8 x,y, getForcingY
      
      real*8 pi
      parameter(pi=3.1415926535898)

c     Put your function here
      getForcingY = 0.d0

      return
      end

c     ----------------------------------------------------------
c     getBounds
c     ----------------------------------------------------------
      subroutine getBounds(xMin, xMax,
     *     yMin,yMax)
      implicit none
      real*8 xMin, xMax, yMin, yMax

      xMin = 0.d0
      xMax = 1.d0

      yMin = 0.d0
      yMax = 1.d0

      return
      end