vtkCellDerivatives

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

vtkCellDerivatives

Martin Genet-3
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers

0001-Adding-Green-Lagrange-strain-to-CellDerivatives-filt.patch (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers




_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin

On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers





_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers






_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Thanks Andy.

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!

Martin

On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers







_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers








_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Thanks Andy.

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?

Martin

On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers









_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email][hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers










_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email][hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers











_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Sounds good.

However, here the culprit seems to be vtkTensor, which stores the data in column. vtkCellDerivatives simply fills a vtkTensor (filling is storage independent, since one provides the actual components), and then returns the underlying vector.

One option would be to make vtkCellDerivatives independent of vtkTensor.

But I think it would be better to correct the storage in vtkTensor. Actually, it seems that vtkTensor is used only in vtkCellDerivatives, so it would not change the rest of the library.

Let me know what you would prefer.

Martin

On 20/01/2016 19:19, Andy Bauer wrote:
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers












_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
It looks like vtkCellDerivates is the only class that uses vtkTensor. When we switch vtkCellDerivatives to C ordering I think we'll just remove vtkTensor. Less code with the same functionality and probably better efficiency -- tough to beat that :)

On Fri, Jan 22, 2016 at 9:03 AM, Martin Genet <[hidden email]> wrote:
Sounds good.

However, here the culprit seems to be vtkTensor, which stores the data in column. vtkCellDerivatives simply fills a vtkTensor (filling is storage independent, since one provides the actual components), and then returns the underlying vector.

One option would be to make vtkCellDerivatives independent of vtkTensor.

But I think it would be better to correct the storage in vtkTensor. Actually, it seems that vtkTensor is used only in vtkCellDerivatives, so it would not change the rest of the library.

Let me know what you would prefer.

Martin


On 20/01/2016 19:19, Andy Bauer wrote:
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email][hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers













_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

In case you didn't receive the email notice, your changes have been merged into master. Thanks for your contribution to VTK! This looks like it was your first contribution. I hope it wasn't too onerous to get done but the community works hard to make sure that the code is high quality and well tested.

Best regards,
Andy

On Fri, Jan 22, 2016 at 10:22 AM, Andy Bauer <[hidden email]> wrote:
It looks like vtkCellDerivates is the only class that uses vtkTensor. When we switch vtkCellDerivatives to C ordering I think we'll just remove vtkTensor. Less code with the same functionality and probably better efficiency -- tough to beat that :)

On Fri, Jan 22, 2016 at 9:03 AM, Martin Genet <[hidden email]> wrote:
Sounds good.

However, here the culprit seems to be vtkTensor, which stores the data in column. vtkCellDerivatives simply fills a vtkTensor (filling is storage independent, since one provides the actual components), and then returns the underlying vector.

One option would be to make vtkCellDerivatives independent of vtkTensor.

But I think it would be better to correct the storage in vtkTensor. Actually, it seems that vtkTensor is used only in vtkCellDerivatives, so it would not change the rest of the library.

Let me know what you would prefer.

Martin


On 20/01/2016 19:19, Andy Bauer wrote:
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email][hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers














_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Andy Bauer
Hi Martin,

We're working on some infrastructure to document API changes. I'd like to wait to merge your changes for switching the tensor order output for vtkCellDerivatives until that's done. That way it will be easier to notify everyone of this change (even though it's not technically changing the API, just how the output should be interpreted). We're hoping it will be ready in a week. Is that ok to wait for merging your changes into VTK master?

Thanks,
Andy

On Fri, Jan 22, 2016 at 2:42 PM, Andy Bauer <[hidden email]> wrote:
Hi Martin,

In case you didn't receive the email notice, your changes have been merged into master. Thanks for your contribution to VTK! This looks like it was your first contribution. I hope it wasn't too onerous to get done but the community works hard to make sure that the code is high quality and well tested.

Best regards,
Andy

On Fri, Jan 22, 2016 at 10:22 AM, Andy Bauer <[hidden email]> wrote:
It looks like vtkCellDerivates is the only class that uses vtkTensor. When we switch vtkCellDerivatives to C ordering I think we'll just remove vtkTensor. Less code with the same functionality and probably better efficiency -- tough to beat that :)

On Fri, Jan 22, 2016 at 9:03 AM, Martin Genet <[hidden email]> wrote:
Sounds good.

However, here the culprit seems to be vtkTensor, which stores the data in column. vtkCellDerivatives simply fills a vtkTensor (filling is storage independent, since one provides the actual components), and then returns the underlying vector.

One option would be to make vtkCellDerivatives independent of vtkTensor.

But I think it would be better to correct the storage in vtkTensor. Actually, it seems that vtkTensor is used only in vtkCellDerivatives, so it would not change the rest of the library.

Let me know what you would prefer.

Martin


On 20/01/2016 19:19, Andy Bauer wrote:
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email][hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email][hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email][hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers















_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: vtkCellDerivatives

Martin Genet-3
Of course! Looking forward to see this new notification mechanism in action… Martin

On 27/01/2016 22:01, Andy Bauer wrote:
Hi Martin,

We're working on some infrastructure to document API changes. I'd like to wait to merge your changes for switching the tensor order output for vtkCellDerivatives until that's done. That way it will be easier to notify everyone of this change (even though it's not technically changing the API, just how the output should be interpreted). We're hoping it will be ready in a week. Is that ok to wait for merging your changes into VTK master?

Thanks,
Andy

On Fri, Jan 22, 2016 at 2:42 PM, Andy Bauer <[hidden email]> wrote:
Hi Martin,

In case you didn't receive the email notice, your changes have been merged into master. Thanks for your contribution to VTK! This looks like it was your first contribution. I hope it wasn't too onerous to get done but the community works hard to make sure that the code is high quality and well tested.

Best regards,
Andy

On Fri, Jan 22, 2016 at 10:22 AM, Andy Bauer <[hidden email]> wrote:
It looks like vtkCellDerivates is the only class that uses vtkTensor. When we switch vtkCellDerivatives to C ordering I think we'll just remove vtkTensor. Less code with the same functionality and probably better efficiency -- tough to beat that :)

On Fri, Jan 22, 2016 at 9:03 AM, Martin Genet <[hidden email]> wrote:
Sounds good.

However, here the culprit seems to be vtkTensor, which stores the data in column. vtkCellDerivatives simply fills a vtkTensor (filling is storage independent, since one provides the actual components), and then returns the underlying vector.

One option would be to make vtkCellDerivatives independent of vtkTensor.

But I think it would be better to correct the storage in vtkTensor. Actually, it seems that vtkTensor is used only in vtkCellDerivatives, so it would not change the rest of the library.

Let me know what you would prefer.

Martin


On 20/01/2016 19:19, Andy Bauer wrote:
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 (http://www.vtk.org/doc/nightly/html/classvtkCell.html#aff3d8332e9d7d556a9d2e9f91173d068), 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.

I've entered a mantis issue for this at http://www.paraview.org/Bug/view.php?id=15949.

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.

On Wed, Jan 20, 2016 at 7:52 AM, Andy Bauer <[hidden email]> wrote:
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.

On Wed, Jan 20, 2016 at 5:24 AM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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?

Martin


On 20/01/2016 03:07, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Tue, Jan 19, 2016 at 5:02 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

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!

Martin


On 18/01/2016 13:32, Andy Bauer wrote:
Hi Martin,

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.

Best,
Andy

On Mon, Jan 18, 2016 at 6:23 AM, Martin Genet <[hidden email]> wrote:
Hi Andy,

I followed the directions, and submitted a patch (19 days ago), but haven't heard anything back.

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!

Martin


On 29/12/2015 13:22, Andy Bauer wrote:
Hi Martin,

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 https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md.

Cheers,
Andy

On Mon, Dec 28, 2015 at 5:50 PM, Martin Genet <[hidden email]> wrote:
Thanks Andy.

What about simply adding another mode, e.g. SetTensorModeToComputeGreenLagrangeStrain, to the vtkCellDerivatives filter? Would the attached patch make sense?

Martin

On 28/12/2015 14:12, Andy Bauer wrote:
Hi Martin,

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.

Cheers,
Andy

On Sat, Dec 26, 2015 at 4:36 PM, Martin Genet <[hidden email]> wrote:
Dear VTK users:

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!

Martin
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
















_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers