<div dir="ltr">Hi Nek,<div><br></div><div>Is there a subrountine in the nek I can get the turbulent dissipation rate in the position (x,y,z) which can have the similar interpolation function with interp_v below.</div><div><br></div><div><div>      subroutine interp_v(uvw,xyz,n)</div><div>c</div><div>c     evaluate velocity for list of points xyz</div><div>c</div><div>      include 'SIZE'</div><div>      include 'TOTAL'</div><div><br></div><div>      real uvw(ldim,n),xyz(ldim,n)</div><div><br></div><div>      parameter(nmax=lpart,nfldmx=ldim) </div><div><br></div><div>      common /rwk_intp/ </div><div>     $       fwrk(lx1*ly1*lz1*lelt,nfldmx),</div><div>     $       rwk(nmax,ldim+1),</div><div>     $       fpts(ldim*nmax),</div><div>     $       pts(ldim*nmax)</div><div>      common /iwk_intp/ </div><div>     $       iwk(nmax,3)</div><div><br></div><div><br></div><div>      integer icalld,e</div><div>      save    icalld</div><div>      data    icalld /0/</div><div><br></div><div>      nxyz  = nx1*ny1*nz1</div><div>      ntot  = nxyz*nelt</div><div><br></div><div>      if (n.gt.nmax) call exitti ('n > nmax in interp_v!$',n)</div><div>      </div><div>      if (nelgt.ne.nelgv) call exitti</div><div>     $   ('nelgt.ne.nelgv not yet supported in interp_v!$',nelgv)</div><div><br></div><div>      do i=1,n<span style="white-space:pre">                          </span>! ? not moving -> save?</div><div>         pts(i)     = xyz(1,i)</div><div>         pts(i + n) = xyz(2,i)</div><div>         if (if3d) pts(i + n*2) = xyz(3,i)</div><div>      enddo</div><div><br></div><div>      if (icalld.eq.0) then<span style="white-space:pre">           </span>! interpolation setup</div><div>        icalld = 1</div><div>        tolin  = 1.e-8</div><div>        call intp_setup(tolin)</div><div>      endif</div><div><br></div><div>      ! pack working array</div><div>      call opcopy(fwrk(1,1),fwrk(1,2),fwrk(1,3),vx,vy,vz)</div><div><br></div><div>      ! interpolate</div><div>      call intp_do(fpts,fwrk,ndim,</div><div>     $             pts(1),pts(1+n),pts(2*n+1),n,</div><div>     $             iwk,rwk,nmax,.true.)</div><div><br></div><div>      do i=1,n</div><div>         uvw(1,i) = fpts(i)</div><div>         uvw(2,i) = fpts(i + n)</div><div>         if(if3d) uvw(3,i) = fpts(i + n*2)</div><div>      enddo</div><div><br></div><div>      return</div><div>      end</div></div><div><br></div><div>Kind regards,</div><div><br></div><div>Jian </div></div>