4 subroutine physbd(val,aux,nrow,ncol,nvar,naux,
6 2 xleft, xright, ybot, ytop,
7 3 xlower,ylower,xupper,yupper,
8 4 xperiodic, yperiodic)
61 implicit double precision (a-h,o-z)
62 logical xperiodic, yperiodic
65 dimension val(nrow,ncol,nvar), aux(nrow,ncol,naux)
69 if (xright .gt.
xupper+hxmarg)
then 70 nxr = (xright -
xupper + hxmarg)/hx
72 ibeg = max0(nrow-nxr, 1)
76 val(i,j,ivar) = val(2*ibeg-1-i,j,ivar)
81 if (ybot .lt.
ylower-hymarg)
then 82 nyb = (
ylower+hymarg-ybot)/hy
92 if (ytop .gt.
yupper+hymarg)
then 93 nyt = (ytop -
yupper + hymarg)/hy
94 jbeg = max0(ncol-nyt+1, 1)
95 x0 = disp + 10.d0*time/cos(pi/6.d0)
99 ycen = ybot + float(j-.5d0)*hy
102 xcen = xleft + float(i-.5d0)*hx
104 call cellave(xcen-hx/2.d0,ycen-hy/2.d0,hx,hy,wl)
106 rho = (1.d0-wl)*rhoamb + wl*rhoshk
107 u = (1.d0-wl)*uamb + wl*ushk
108 v = (1.d0-wl)*vamb + wl*vshk
109 p = (1.d0-wl)*pamb + wl*pshk
114 val(i,j,4) = p/gamma1 + .5d0*rho*(u*u+v*v)
121 if (xleft .lt.
xlower-hxmarg)
then 122 nxl = (
xlower+hxmarg-xleft)/hx
126 val(i,j,2) = rhoshk * ushk
127 val(i,j,3) = rhoshk * vshk
128 val(i,j,4) = rhoshk*(eshk+.5d0*(ushk**2+vshk**2))
subroutine cellave(xlow, ylow, dx, dy, wl)
The module contains the definition of a "node descriptor" as well as other global variables used duri...