<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;"><span style="font-family: Calibri, sans-serif;"><font size="2">Hi Neks,</font></span>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">I study particles in a turbulent flow and need to know velocity gradients dvi_dxj at particle positions x_p. </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">In order to do this, I modified the subroutine interp_v(uvw,xyz,n) from the particle tracking example ''hemi''. First, I calculate the velocity gradients with the subroutine gradm1():</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">                 <span style="white-space: pre-wrap; background-color: rgb(255, 255, 255);">call gradm1(vxx,vxy,vxz,vx)</span>         </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">                 <span style="white-space: pre-wrap; background-color: rgb(255, 255, 255);">call gradm1(vyx,vzy,vzz,vy)</span> </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">                 <span style="white-space: pre-wrap; background-color: rgb(255, 255, 255);">call gradm1(vzx,vzy,vzz,vz)</span>         </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">Second, I interpolate the velocity gradients to the particle positions with the subroutine intpts():</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">                 call opcopy(wrk(1,1),wrk(1,2),wrk(1,3),vxx,vyx,vzx)</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">                 call intpts(wrk,ndm,pts,npart,outint,ifjac,ifpts,ihandle)</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2"><br>
</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">I have a few questions regarding this approach: </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">1. Is intpts() capable of interpolating derived fields like the velocity gradient field? </font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">2. Do you have a good explanatory reference where the mathematical principles behind intpts() are explained?</font></div>
<div style="font-family: Calibri, sans-serif;"><font size="2">3. As far as I understand, the fields vx, vy, vz and consequently the derived fields vxx, vxy, vxz, ... are local and defined on the local coordinate fields xm1, ym1, zm1. What is happens if an interpolation
 point is on a different processor and outside the coordinates stored in xm1, ym1, zm1?</font></div>
<div style="font-family: Calibri, sans-serif;"><br>
</div>
<div style="font-family: Calibri, sans-serif;"><font size="2">Best regards, Philipp Weiss</font></div>
</div>
</body>
</html>