C----------------------------------------------------------------------- C nek5000 user-file template C C user specified routines: C - userbc : boundary conditions C - useric : initial conditions C - uservp : variable properties C - userf : local acceleration term for fluid C - userq : local source term for scalars C - userchk: general purpose routine for checking errors etc. 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' C c ffx = 0.002 INCREASED DUE TO INCREASED LENGTH ffx = 0.0 ffy = 0.0 ffz = 0.0 return end c----------------------------------------------------------------------- subroutine userq (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' C qvol = 0.0 source = 0.0 return end c----------------------------------------------------------------------- subroutine userchk include 'SIZE' include 'TOTAL' include 'NEKUSE' c integer mynxo c ifreguo = .true. ! dump on regular (uniform) grid instead of GLL c nrg = 16 ! dimension of regular grid (nrg**ndim) c nxo = 10 ! nxo is the number of points (in each direction) to use c call load_fld('slope0.f00002') c mynxo = 10 c ifreguo = .true. ! Tells prepost to interpolate to uniformly spaced c grid in each element c nxo = mynxo ! nxo is the number of points (in each direction) to use cw ithin the elements c c c call prepost(.true.,"his") c call prepost() c c call outpost() c ccccccccccccccccccccccccccccc call hpts() return end c----------------------------------------------------------------------- subroutine userbc (i,j,k,eg) include 'SIZE' include 'TOTAL' include 'NEKUSE' common /ogeom/ ox(lx1,ly1,lz1,lelv) $ , oy(lx1,ly1,lz1,lelv) integer e,eg c e = gllel(eg) c xo = ox(i,j,k,e) c yo = oy(i,j,k,e) ux = 0.0 uy = 0.0 uz = 0.0 temp=0.0 return end c----------------------------------------------------------------------- subroutine useric (i,j,k,eg) include 'SIZE' include 'TOTAL' include 'NEKUSE' common /ogeom/ ox(lx1,ly1,lz1,lelv) $ , oy(lx1,ly1,lz1,lelv) integer e,eg c e = gllel(eg) c xo = ox(i,j,k,e) c yo = oy(i,j,k,e) ux = 1.0 uy = 0.0 uz = 0.0 temp = 0.0 return end c----------------------------------------------------------------------- subroutine usrdat include 'SIZE' include 'TOTAL' param(66) = 6 param(67) = 6 return end c----------------------------------------------------------------------- subroutine usrdat2 include 'SIZE' include 'TOTAL' c real a,b,c c real equ1 c real height c real temp1, temp2 c c c a = 0.15 c b = 4.0 c c = 0.5 c c ntot = nx1*ny1*nz1*nelt c c height = 2.0 c c do i=1,ntot c c temp1 = xm1(i,1,1,1) c temp2 = ym1(i,1,1,1) c c equ1 = ( (((-1.0)*a)*(temp1-b)**(2)) + c ) c c if ( (equ1)>(0.0) ) then c ym1(i,1,1,1) = temp2 + c &( ( (((-1.0)*a)*(temp1-b)**(2)) + c ) * c & (1.0-(temp2/height)) ) c endif c enddo c param(59) = 1. ! Force nek5 to recognize element deformation. c call fix_geom return end c----------------------------------------------------------------------- subroutine usrdat3 return end c-----------------------------------------------------------------------