c----------------------------------------------------------------------- c c 8/27/03 c c This is the .usr file for a 3D Hagen-Poiseiulle flow, assuming c a unit-radius pipe (in the x-y plane) with flow in the z direction. c c Periodic boundary conditions in z are assumed. c c A unit-amplitude parabolic profile is specified as U = 1-r^2. c c The required forcing function, dp/dz, is given by: c c A*dx*dp/dz = -2 mu * 2piR*dx ( R = 1 ) c c c dp c ==> -- = - 4 mu c dz c c----------------------------------------------------------------------- subroutine uservp (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' C udiff =0. utrans=0. return end c----------------------------------------------------------------------- subroutine userf (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' ffx = 0.0 ffz = 0.0 ffy = 0.0 ! include swirl if (y .gt. 0) ffy=temp*temp/y return end c----------------------------------------------------------------------- subroutine userq (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' C qvol = 0.0 ! include swirl if (y .gt. 0) then visc = param(2) qvol = -uy*temp/y endif return end c----------------------------------------------------------------------- subroutine userchk ! called once per step include 'SIZE' include 'TOTAL' c call avg_all return end c----------------------------------------------------------------------- subroutine userbc (ix,iy,iz,iside,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' REAL::PI,sw PI=3.14159 sw=0.8944 ux=1.0 uy=0.0 uz=0.0 temp=0.0 if (x .eq. 0.0) then if (y .lt. 1.0) then temp=y*(2-y**2)*sw else temp=sw/y end if end if return end c----------------------------------------------------------------------- subroutine useric (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' ux = 0. uy = 0. uz = 0. temp=0.0 return end c----------------------------------------------------------------------- subroutine usrdat include 'SIZE' include 'TOTAL' return end c----------------------------------------------------------------------- subroutine usrdat2 include 'SIZE' include 'TOTAL' return end c----------------------------------------------------------------------- subroutine usrdat3 return end c----------------------------------------------------------------------- c c automatically added by makenek subroutine usrsetvert(glo_num,nel,nx,ny,nz) ! to modify glo_num integer*8 glo_num(1) return end