c----------------------------------------------------------------------- C C USER SPECIFIED ROUTINES: C C - boundary conditions C - initial conditions C - variable properties C - local acceleration for fluid (a) C - forcing function for passive scalar (q) C - general purpose routine for checking errors etc. C c----------------------------------------------------------------------- subroutine uservp (ix,iy,iz,eg) include 'SIZE' include 'TOTAL' include 'NEKUSE' integer e,f,eg c e = gllel(eg) udiff =0. utrans=0. return end c----------------------------------------------------------------------- subroutine userf (ix,iy,iz,eg) include 'SIZE' include 'TOTAL' include 'NEKUSE' integer e,f,eg c e = gllel(eg) c Note: this is an acceleration term, NOT a force! c Thus, ffx will subsequently be multiplied by rho(x,t). ffx = 0.0 ffy = 0.0 ffz = 0.0 return end c----------------------------------------------------------------------- subroutine userq (ix,iy,iz,eg) include 'SIZE' include 'TOTAL' include 'NEKUSE' integer e,f,eg c e = gllel(eg) qvol = 0.0 source = 0.0 return end c----------------------------------------------------------------------- subroutine userchk include 'SIZE' include 'TOTAL' ifxyo = .true. if (iostep.gt.0.and.istep.gt.iostep) ifxyo = .false. return end c----------------------------------------------------------------------- subroutine userbc (ix,iy,iz,iside,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' common /profux/ ua,xx(21),uu(21) integer m real min m = 23 min = 0.22 c ux = 1.0 uy = 0.0 uz = 0.0 c if(y .lt. min .and. y .ge. 0) then do i=1,m if(y .ge. xx(i) .and. y .lt. xx(i+1)) then ua = ((y - xx(i))/(xx(i+1) - xx(i)))*(uu(i+1)-uu(i)) ux = ua + uu(i) endif enddo endif return end c----------------------------------------------------------------------- subroutine useric (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' common /profux/ ua,xx(21),uu(21) integer m real min ux = 1.0 uy = 0.0 uz = 0.0 c m = 23 min = 0.22 c open(unit=98,file='ux.prof') c do i=1,m read(98,*) uu(i),xx(i) enddo close(98) c if(y .lt. min .and. y .ge. 0) then do i=1,m if(y .ge. xx(i) .and. y .le. xx(i+1)) then ua = ((y - xx(i))/(xx(i+1) - xx(i)))*(uu(i+1)-uu(i)) ux = ua + uu(i) endif enddo endif if (y < 0) ux = 0.0 return end c----------------------------------------------------------------------- subroutine usrdat include 'SIZE' include 'TOTAL' c return end c----------------------------------------------------------------------- subroutine usrdat3 include 'SIZE' include 'TOTAL' c return end c----------------------------------------------------------------------- subroutine usrdat2 ! Modify geometry include 'SIZE' include 'TOTAL' param(66) = 4 param(67) = 4 return end c-----------------------------------------------------------------------