vtf-logo

clawpack/applications/scaling/2d/ShockTurb/src/combl.f

c     =====================================================
      subroutine combl()
c     =====================================================
c     
c     Create and initialize application specific common-blocks.
c
c     Copyright (C) 2003-2007 California Institute of Technology
c     Ralf Deiterding, David Hill
c
      implicit double precision (a-h,o-z)
c
      include  "cuser.i"
c
      character *16 cwork
      dimension cwork(2)
      parameter( lmechout = 13 )
c
      gamma  = 1.4d0  
      gamma1 = 0.4d0
      q0 = 0.d0  
c
      cwork(1)= 'Gas-light'
      cwork(2)= 'Gas-heavy'
      Wk(1) = 1.d0
      Wk(2) = 5.d0
      RU = 8317.d0
      PA = 1.d0
c
      pi = 4.d0*atan(1.d0)
c
c     Pre-shock conditions
c
      p0    = 1.d0
      rho0  = 1.d0
      c0 = dsqrt(gamma*p0/rho0)
      u0 = 0.d0
c
c     Interface
c
      x0 = 0.5d0      
      rgas1 = RU/Wk(1)
      rgas2 = RU/Wk(2) 
      p2 = p0
c
      rho1 = p2/(p0/rho0/rgas1)/rgas2
      ai = 0.1d0
      aw = 2.5d0
      ap = 20.d0
c
c     Shock location
c
      xs = 0.25      
      amach = 10.d0
      gas1=gamma1/(gamma+1.d0)
      pshk=p0*(1.0d0+2.d0*gamma/(gamma+1.d0)*(amach*amach-1.d0))
      rhoshk=rho0*(pshk/p0+gas1)/(gas1*pshk/p0+1.d0)
      ushk=((rhoshk-rho0)*c0*amach+rho0*u0)/rhoshk      
c
      open(unit=lmechout, status='unknown', form='formatted', 
     &     file='chem.dat')
      write (lmechout,400) RU
      write (lmechout,401) PA
      write (lmechout,402) (k,cwork(k),k=1,2)        
      write (lmechout,403) (k,Wk(k),k=1,2)        
      close (lmechout)
c
 400  format('RU       ',e16.8)
 401  format('PA       ',e16.8)
 402  format('Sp(',i2.2,')     ',a16)
 403  format('W(',i2.2,')    ',e16.8)
c
      return
      end