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