fcns.f.html clawcode2html   
 Source file:   fcns.f
 Directory:   /Users/rjl/rjlsvn/papers/pathconwb10/code
 Converted:   Fri Jan 8 2010 at 15:48:01
 This documentation file will not reflect any later changes in the source file.

 

c    # Several functions needed elsewhere.
c     ===================================================================

      double precision function qtrue(x,t,u)
c     # true solution
      implicit double precision (a-h,o-z)

      qtrue = q0(x-u*t,u) * dexp((sigma(x-u*t)-sigma(x))/u)
c
      return
      end

c     ===================================================================

      double precision function q0(x,u)
c     # initial data
      implicit double precision (a-h,o-z)

      q0 = qss(x,u) 
c     q0 = q0 + 0.3d0*dexp(-8.d0*(x-1.d0)**2) * dcos(10.d0*(x-1.d0))
      if (x.gt.-11.d0 .and. x.lt.-10.5d0) q0 = q0 + 0.2d0
      return
      end

c     ===================================================================

      double precision function qss(x,u)
c     # steady state solution
      implicit double precision (a-h,o-z)

      qss = dexp(-sigma(x)/u)
      return
      end

c     ===================================================================

      double precision function sigma(x)
      implicit double precision (a-h,o-z)
c     # source term function

      A = 8.d0
      beta = 1.d0
      x0 = 5.d0
      B = 0.5d0*dlog(1.0d0/1.4d0)
      gamma = 1.d0
      sigma = A*dexp(-beta*(x-x0)**2) + B*(dtanh(gamma*(x-x0)) + 1.d0)
c
      return
      end