21 common /cchar/ ct_vx(0:lorder+1)
23 common /scruz/ cx(lx1*ly1*lz1*lelt)
24 $ , cy(lx1*ly1*lz1*lelt)
25 $ , cz(lx1*ly1*lz1*lelt)
26 $ , hmsk(lx1*ly1*lz1*lelt)
29 if (igeom.eq.1)
return
30 if (param(99).lt.0)
return
35 if (ifmhd) nelc = max(nelv,nelfld(ifldmhd))
36 if (ifmhd)
call exitti(
'no characteristics for mhd yet$',istep)
39 if (igeom.gt.2) ifnew = .false.
42 call opsub3(cx,cy,cz,vx,vy,vz,wx,wy,wz)
56 call rzero(bdivw,n*lorder)
84 parameter(lxyz1=lx1*ly1*lz1)
85 common /ctmp1/ work(lxyz1,lelt)
87 real mask(lxyz1,1),u(lxyz1,1),v(lxyz1,1),w(lxyz1,1)
92 ntot1 = lx1*ly1*lz1*nelv
93 call rzero (work,ntot1)
94 call rone (mask,ntot1)
100 if (cb(1:1).eq.
'v' .or. cb(1:1).eq.
'V' .or.
101 $ cb.eq.
'mv ' .or. cb.eq.
'MV ')
then
103 call faccl3 (work(1,e),u(1,e),unx(1,1,f,e),f)
104 call faddcl3(work(1,e),v(1,e),uny(1,1,f,e),f)
106 $
call faddcl3(work(1,e),w(1,e),unz(1,1,f,e),f)
108 call fcaver (vaver,work,e,f)
110 if (vaver.lt.0)
call facev (mask,e,f,0.0,lx1,ly1,lz1)
112 if (cb(1:2).eq.
'ws' .or. cb(1:2).eq.
'WS')
113 $
call facev (mask,e,f,0.0,lx1,ly1,lz1)
115 call dsop(mask,
'MUL',lx1,ly1,lz1)
130 common /dealias1/ zd(lxd),wd(lxd)
137 if (.not.ifgeom.and.ilstep.gt.1)
return
138 if (ifgeom.and.ilstep.eq.istep)
return
144 call zwgl (zd,wd,lxd)
152 call intp_rstd(rx(1,1,e),rxm1(1,1,1,e),lx1,lxd,if3d,0)
153 call intp_rstd(rx(1,2,e),rym1(1,1,1,e),lx1,lxd,if3d,0)
154 call intp_rstd(rx(1,3,e),rzm1(1,1,1,e),lx1,lxd,if3d,0)
155 call intp_rstd(rx(1,4,e),sxm1(1,1,1,e),lx1,lxd,if3d,0)
156 call intp_rstd(rx(1,5,e),sym1(1,1,1,e),lx1,lxd,if3d,0)
157 call intp_rstd(rx(1,6,e),szm1(1,1,1,e),lx1,lxd,if3d,0)
158 call intp_rstd(rx(1,7,e),txm1(1,1,1,e),lx1,lxd,if3d,0)
159 call intp_rstd(rx(1,8,e),tym1(1,1,1,e),lx1,lxd,if3d,0)
160 call intp_rstd(rx(1,9,e),tzm1(1,1,1,e),lx1,lxd,if3d,0)
167 w = wd(i)*wd(j)*wd(k)
169 rx(l,ii,e) = w*rx(l,ii,e)
182 call intp_rstd(rx(1,1,e),rxm1(1,1,1,e),lx1,lxd,if3d,0)
183 call intp_rstd(rx(1,2,e),rym1(1,1,1,e),lx1,lxd,if3d,0)
184 call intp_rstd(rx(1,3,e),sxm1(1,1,1,e),lx1,lxd,if3d,0)
185 call intp_rstd(rx(1,4,e),sym1(1,1,1,e),lx1,lxd,if3d,0)
193 rx(l,ii,e) = w*rx(l,ii,e)
subroutine exitti(stringi, idata)
subroutine facev(a, ie, iface, val, nx, ny, nz)
subroutine set_char_mask(mask, u, v, w)
subroutine setup_convect(igeom)
subroutine set_dealias_rx
subroutine set_conv_char(ct, c, ux, uy, uz, nelc, tau, ifnew)
subroutine set_binv(bmnv, hmsk, n)
subroutine set_bdivw(bdivw, hmsk, n)
subroutine set_convect_new(cr, cs, ct, ux, uy, uz)
subroutine intp_rstd(ju, u, mx, md, if3d, idir)
subroutine set_convect_cons(cx, cy, cz, ux, uy, uz)
subroutine set_bmass(bmass, hmsk, n)
subroutine dsop(u, op, nx, ny, nz)
subroutine opsub3(a1, a2, a3, b1, b2, b3, c1, c2, c3)
subroutine zwgl(Z, W, NP)
subroutine faddcl3(a, b, c, iface1)
subroutine fcaver(xaver, a, iel, iface1)
subroutine faccl3(a, b, c, iface1)