<div dir="ltr">For those interested, a fix for this is now in VTK. It should propagate to ParaView with a week or two.<div><br></div><div>Best,</div><div style>-berk</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Wed, Mar 20, 2013 at 9:56 AM, Berk Geveci <span dir="ltr">&lt;<a href="mailto:berk.geveci@kitware.com" target="_blank">berk.geveci@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Hi Magician,<div><br></div><div>What you said is inaccurate. ParaView (VTK) uses tetrahedralization and linear interpolation for very few higher order cells. For many other cell types including all 1st order cells (tets, hexs, pyramids, wedges etc.) and 2nd order cells, VTK actually uses proper basis functions for interpolating and computing derivatives. The cell in question here is a wedge and here are the basis functions used by VTK in parametric space:</div>


<div><br></div><div><div>void vtkWedge::InterpolationFunctions(double pcoords[3], double sf[6])</div><div>{</div><div>  sf[0] = (1.0 - pcoords[0] - pcoords[1]) * (1.0 - pcoords[2]);</div><div>  sf[1] = pcoords[0] * (1.0 - pcoords[2]);</div>


<div>  sf[2] = pcoords[1] * (1.0 - pcoords[2]);</div><div>  sf[3] = (1.0 - pcoords[0] - pcoords[1]) * pcoords[2];</div><div>  sf[4] = pcoords[0] * pcoords[2];</div><div>  sf[5] = pcoords[1] * pcoords[2];</div><div>}</div>


<div><br></div><div>If you are interested in finding out which basis functions are used for each cell, check out vtkCELLNAME.cxx in VTK/Common/DataModel in current VTK/ParaView code base.</div><div><br></div><div>
Currently, VTK uses linear interpolation in time for particle path calculation but it is possible to use higher order interpolation if one is willing to load more than 2 time steps - which is difficult due to memory constraints.</div>


<div><br></div><div>I suspect what you are referring to is how VTK handles polyhedral cells. We have made some initial attempts to support polyhedron but VTK&#39;s support is still pretty immature in this area. I should mention that VTK still does not use tetrahedralization for interpolating polyhedras. Or you might be referring to the fact that VTK uses subdivision to perform certain filtering operations such as contouring, which is true for some cell types. This is completely different than interpolation.</div>


<div><br></div><div>The issue in question here has nothing to do with interpolation. There is a bug in the probing logic that causes the interpolation to happen in block that contains triangles in the multi-block dataset. For some reason I haven&#39;t determined yet, the code prefers the block with triangles rather than the block with 3D cells when finding the cell in which the probe point falls. This happens despite the fact that the triangle is actually quite far from the point. When that block is removed, the probe produces results identical (within floating point accuracy) to FieldView. Folks that do not have a mix of 2D and 3D cells in a multi-block structure should not see this issue.</div>


<div><br></div><div>Best,</div><div>-berk</div><div><br></div></div><div><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 19, 2013 at 10:17 PM, Magician <span dir="ltr">&lt;<a href="mailto:f_magician@mac.com" target="_blank">f_magician@mac.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Sorry.<br>
I forgot to add an address of PV mailing list.<br>
<span><font color="#888888"><br>
<br>
Magician<br>
</font></span><div><div><br>
<br>
On 2013/03/20, at 10:33, Magician wrote:<br>
<br>
&gt; Hi Tony,<br>
&gt;<br>
&gt;<br>
&gt; I discussed similar problems.<br>
&gt; &lt;<a href="http://www.paraview.org/pipermail/paraview/2012-June/025273.html" target="_blank">http://www.paraview.org/pipermail/paraview/2012-June/025273.html</a>&gt;<br>
&gt;<br>
&gt; The interpolation and integration method (both space and time domain)<br>
&gt; of ParaView are very simple, but not ideal.<br>
&gt; ParaView splits all cells into tetrahedra or triangle and<br>
&gt; interpolate values with linear algorithm.<br>
&gt; I haven&#39;t research FIELDVIEW&#39;s method yet, but it may be different from PVs.<br>
&gt;<br>
&gt;<br>
&gt; Magician<br>
&gt;<br>
&gt;<br>
&gt; On 2013/03/20, at 4:13, <a href="mailto:paraview-request@paraview.org" target="_blank">paraview-request@paraview.org</a> wrote:<br>
&gt;<br>
&gt;&gt; Hi Tony,<br>
&gt;&gt;<br>
&gt;&gt; What kind of cells are these? Can you make the data available to us?<br>
&gt;&gt;<br>
&gt;&gt; -berk<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Mar 19, 2013 at 12:16 PM, Tony McDaniel &lt;<a href="mailto:tonymcdaniel@gmail.com" target="_blank">tonymcdaniel@gmail.com</a>&gt;wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I&#39;m using the Probe Location filter to extract data from a 3D CFD solution<br>
&gt;&gt;&gt; for an internal flow, and I&#39;m not getting the data that I should be for<br>
&gt;&gt;&gt; some (but not all) of the points. The dataset is approximately 7 million<br>
&gt;&gt;&gt; nodes saved in Ensight format.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;m comparing the data returned by Paraview to the data at the same<br>
&gt;&gt;&gt; locations in FieldView. For licensing reasons, I would prefer to use<br>
&gt;&gt;&gt; Paraview for this research, but I also need accurate solutions.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; For two representative probe locations, I have the following results:<br>
&gt;&gt;&gt; x       y       z       pv_density  fv_density  pv_pressure fv_pressure<br>
&gt;&gt;&gt; 0.3912    -0.0376    -0.0566    0.9040      0.9040        67779.9<br>
&gt;&gt;&gt; 67779.9<br>
&gt;&gt;&gt; 0.3912    -0.0426    -0.0516    0.8275      0.8623        65849.0<br>
&gt;&gt;&gt; 66176.3<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The first point matches precisely between Paraview and FieldView. However,<br>
&gt;&gt;&gt; the second point is substantially different. In addition, the velocity at<br>
&gt;&gt;&gt; point two is {0,0,0} indicating that the point is on the boundary, though<br>
&gt;&gt;&gt; it is not actually.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Looking at color plots in Paraview, the color under the point location<br>
&gt;&gt;&gt; clearly matches the numbers from FieldView. I&#39;ve uploaded plots showing<br>
&gt;&gt;&gt; pressure in the plane containing the two locations here:<br>
&gt;&gt;&gt; <a href="https://dl.dropbox.com/u/**744216/probe1.png" target="_blank">https://dl.dropbox.com/u/**744216/probe1.png</a>&lt;<a href="https://dl.dropbox.com/u/744216/probe1.png" target="_blank">https://dl.dropbox.com/u/744216/probe1.png</a>&gt;<br>



&gt;&gt;&gt; <a href="https://dl.dropbox.com/u/**744216/probe2.png" target="_blank">https://dl.dropbox.com/u/**744216/probe2.png</a>&lt;<a href="https://dl.dropbox.com/u/744216/probe2.png" target="_blank">https://dl.dropbox.com/u/744216/probe2.png</a>&gt;<br>



&gt;&gt;&gt;<br>
&gt;&gt;&gt; The values are wrong for points that are close to the boundary, and match<br>
&gt;&gt;&gt; FieldView for points away from the boundary. I have also tried importing<br>
&gt;&gt;&gt; the locations from a CSV file and using the Resample Dataset and get the<br>
&gt;&gt;&gt; same values.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Can anyone shed light on why this is happening?<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>