<div dir="ltr"><div><div>I've looked at this a bit more along with others and unfortunately there's some inconsistency in VTK for tensor ordering. If you look at the vtkCell::Derivatives() documentation (<a href="http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068">http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068</a>), it's using a C/row-major ordering. There's some places in that have done row-major and others that have done column major. For the most part it hasn't been an issue since many/most of the uses of tensor have been symmetric but it should be fixed regardless.<br><br></div>I've entered a mantis issue for this at <a href="http://www.paraview.org/Bug/view.php?id=15949">http://www.paraview.org/Bug/view.php?id=15949</a>.<br><br></div>Would you be willing to go in and make the change to vtkCellDerivatives? I'm hoping to go through your changes to that class sometime today.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hmm, in fact it does. I was looking at vtkGradientFilter instead of vtkCellDerivatives for the ordering of the output of the gradient of a vector. I think the output order is supposed to be fortran/column-major ordering like vtkCellDerivatives instead of C/row-major ordering like vtkGradientFilter. Well, you can see the confusion that crops up and maybe that's why vtkTensors was done that way. In any case, let me verify for sure which way is correct and get back to you on this.<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <span dir="ltr"><<a href="mailto:martin.genet@polytechnique.edu" target="_blank">martin.genet@polytechnique.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
Thanks Andy.<br>
<br>
Well, I might be wrong but I'm under the impression that
vtkCellDerivatives returns [du/dx, dv/dx, dw/dx, du/dy, dv/dy, ...].
Am I wrong?<span><font color="#888888"><br>
<br>
Martin</font></span><div><div><br>
<br>
<div>On 20/01/2016 03:07, Andy Bauer wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Martin,<br>
<br>
</div>
I haven't looked closely enough at vtkTensors (I don't know
if I even knew about it before today) but indeed the
ordering output in vtkCellDerivatives for a velocity vector
{u,v,w} needs to be [du/dx, du/dy, du/dz, dv/dx, dv/dy, ...]
like you have it. I'm not sure when vtkTensors is ordered
the way it is.<br>
<br>
</div>
Cheers,<br>
</div>
Andy<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jan 19, 2016 at 5:02 PM, Martin
Genet <span dir="ltr"><<a href="mailto:martin.genet@polytechnique.edu" target="_blank">martin.genet@polytechnique.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Thanks Andy.<br>
<br>
I need to clarify something: the Derivatives function of
vtkCell objects returns a derivs vector containing the
components of the gradient of some vector field defined at
the cell nodes; the components are ordered in row (as
usually in C, i.e., (0,0), (0,1), (0,2), (1,0), (1,1),
(1,2), (2,0), (2,1), (2,2)). Now in the CellDerivatives
filter the derivs vector is used to fill a vtkTensors, and
then the filter returns the internal vector storing the
data of the vtkTensors. However, the components of the
vtkTensors are ordered in column (as usually in fortran,
i.e., (0,0), (1,0), (2,0), (0,1), (1,1), (2,1), (0,2),
(1,2), (2,2)). Is it on purpose that the vtkTensors store
their data in column and not in row? Isn't it a little
dangerous to mix both storage in the code? Thanks for the
clarification!<span><font color="#888888"><br>
<br>
Martin</font></span>
<div>
<div><br>
<br>
<div>On 18/01/2016 13:32, Andy Bauer wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Martin,<br>
<br>
</div>
Thanks for following up on this. I found the
merge request now and will look at this. In
general, developers should request others to
do a code review on this. This can be done via
something like "@acbauer please review this"
or sending an email on this VTK list with a
link to the merge request.<br>
<br>
</div>
Best,<br>
</div>
Andy<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Jan 18, 2016 at
6:23 AM, Martin Genet <span dir="ltr"><<a href="mailto:martin.genet@polytechnique.edu" target="_blank"></a><a href="mailto:martin.genet@polytechnique.edu" target="_blank">martin.genet@polytechnique.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Hi
Andy,<br>
<br>
I followed the directions, and submitted a
patch (19 days ago), but haven't heard
anything back.<br>
<br>
In GitLab the merge requests counter is at
0, but when I try to create a new merge
request from my commit, it tells the merge
request already exists. Is it being reviewed
somewhere? Thanks!<span><font color="#888888"><br>
<br>
Martin</font></span>
<div>
<div><br>
<br>
<div>On 29/12/2015 13:22, Andy Bauer
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Martin,<br>
<br>
</div>
This patch makes sense. It would
need a test if you want to get
your changes into VTK. The
directions for contributing to
VTK are at <a href="https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md" target="_blank"></a><a href="https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md" target="_blank">https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md</a>.<br>
<br>
</div>
Cheers,<br>
</div>
Andy<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Dec
28, 2015 at 5:50 PM, Martin Genet
<span dir="ltr"><<a href="mailto:martin.genet@polytechnique.edu" target="_blank"></a><a href="mailto:martin.genet@polytechnique.edu" target="_blank">martin.genet@polytechnique.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Thanks
Andy.<br>
<br>
What about simply adding
another mode, e.g.
SetTensorModeToComputeGreenLagrangeStrain,
to the vtkCellDerivatives
filter? Would the attached
patch make sense?<br>
<br>
Martin<br>
<br>
<div>On 28/12/2015 14:12, Andy
Bauer wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Martin,<br>
<br>
</div>
Changing the name of
the
SetTensorModeToComputeStrain
method to something
else would break
backward compatibility
which is generally
avoided in VTK. Other
options for this
include deriving a
class to compute
non-linear strain from
vtkCellDerivatives if
it shares enough of
the algorithm with the
linearized version or
maybe just creating a
new filter.<br>
<br>
</div>
Cheers,<br>
</div>
Andy<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Sat, Dec 26, 2015 at
4:36 PM, Martin Genet <span dir="ltr"><<a href="mailto:martin.genet@polytechnique.edu" target="_blank"></a><a href="mailto:martin.genet@polytechnique.edu" target="_blank">martin.genet@polytechnique.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear
VTK users:<br>
<br>
I realize that the
vtkCellDerivatives
filter, when
SetTensorModeToComputeStrain
is activated, returns
the symmetric part of
the gradient of the
input vector field,
which is the
linearized strain
tensor, i.e., not a
proper measure of
deformation when large
displacements are
involved. Would that
make sense to have two
different modes,
SetTensorModeToComputeLinearizedStrain
or
SetTensorModeToComputeSymmetricGradient,
and
SetTensorModeToComputeStrain
or
SetTensorModeToComputeGreenLagrangeStrain?
Thanks!<br>
<br>
Martin<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank"></a><a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware
open-source projects
at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank"></a><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages
on-topic and check the
VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank"></a><a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list
archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank"></a><a href="http://markmail.org/search/?q=vtkusers" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to
subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank"></a><a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>