vtf-logo

clawpack/applications/testing/3d/GFMBCTest/src/init3.f

c
c     =====================================================
       subroutine ic(maxmx,maxmy,maxmz,meqn,mbc,mx,my,mz,
     &     x,y,z,dx,dy,dz,q)
c     =====================================================
c
c      Copyright (C) 2003-2007 California Institute of Technology
c      Ralf Deiterding, ralf@amroc.net
c
       implicit double precision (a-h,o-z)
c
       include  "cuser.i"
c
       dimension q(meqn, 1-mbc:maxmx+mbc, 1-mbc:maxmy+mbc, 
     &      1-mbc:maxmz+mbc)
       dimension x(1-mbc:maxmx+mbc),y(1-mbc:maxmy+mbc),
     &      z(1-mbc:maxmz+mbc)
c
       pi   = 4.d0*datan(1.d0)
       pi2  = 2.d0*pi
       disp = 0.0d0
c
       idisc = 1
       alf   = 1.d0
       beta  = 0.d0
       x0    = .4d0
       y0    = 0.d0
       
       rhol  = 50.d0
       rhor  = 1.d0
       pl    = 50.d0
       pr    = 1.d0
       ul    = 1.d0
       ur    = 2.d0
       vl    = 0.d0      
       vr    = 0.d0      
       wl    = 1.d0      
       wr    = 2.d0      
       
      do 60 k = 1, mz
         do 60 j = 1, my
            do 60 i = 1, mx
             
               call cellave(x(i)-dx/2.d0,y(j)-dy/2.d0,dx,dy,fl)
               q(1,i,j,k) = fl*rhol + (1.d0-fl)*rhor
               q(2,i,j,k) = fl*rhol*ul + (1.d0-fl)*rhor*ur
               q(3,i,j,k) = fl*rhol*vl + (1.d0-fl)*rhor*vr
               q(4,i,j,k) = fl*rhol*wl + (1.d0-fl)*rhor*wr
               q(5,i,j,k) = fl*(pl/gamma1) + (1.d0-fl)*(pr/gamma1) +
     &            0.5d0*(q(2,i,j,k)**2 + q(3,i,j,k)**2 + 
     &              q(4,i,j,k)**2)/q(1,i,j,k)
 60         continue
         
       return
       end