Negative Volume after Tetrahedralize/Tessellate

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Negative Volume after Tetrahedralize/Tessellate

Felipe Bordeu-2
Hi,


I'm having trouble working with clip feature in ParaView ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and wedge. Then I apply a tetrahedralize to convert the resulting mesh back to only tets but the connectivity (numbering) of the element is not correct. If I apply mesh quality I get negative volume for some elements.
I have the same "wrong" result with the Tessellate Filter (with zero level of subdivisions).

Can anyone confirm this bug.

Attached a single wedge to demonstrate the bug. 

Using Paraview 5.2 in linux (home build) and Windows (binary from web)

Thanks to all
Felipe



_______________________________________________
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

wedge.vtk (820 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Fwd: Negative Volume after Tetrahedralize/Tessellate

Joachim Pouderoux
Hi Felipe,

See documentation of vtkTetra class:

 * vtkTetra [...] The tetrahedron is defined by the four points
 * (0-3); where (0,1,2) is the base of the tetrahedron which, using the
 * right hand rule, forms a triangle whose normal points in the direction
 * of the fourth point.


Which seems to mean that face formed with points 0, 1 and 2 describes the base face considering points are listed
in clockwise order when seen from the exterior of the cell.
In this case vtkTetra::ComputeVolume() returns a positive volume.

Rule is the same with vtkWedge but it looks like the wedge you provide have point listed in incorrect order (CCW when seen from exterior).
If you reverse them, tets are correct.

If I am wrong with point ordering, then I guess there is a problem when constructing wedges in the Clip filter.

Dou you agree?

Best,

Joachim

Joachim Pouderoux, PhD
Technical Expert - Scientific Computing Team
Kitware SAS

2017-03-28 5:11 GMT-04:00 Felipe Bordeu <[hidden email]>:
Hi,


I'm having trouble working with clip feature in ParaView ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and wedge. Then I apply a tetrahedralize to convert the resulting mesh back to only tets but the connectivity (numbering) of the element is not correct. If I apply mesh quality I get negative volume for some elements.
I have the same "wrong" result with the Tessellate Filter (with zero level of subdivisions).

Can anyone confirm this bug.

Attached a single wedge to demonstrate the bug. 

Using Paraview 5.2 in linux (home build) and Windows (binary from web)

Thanks to all
Felipe



_______________________________________________
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
|  
Report Content as Inappropriate

Re: Negative Volume after Tetrahedralize/Tessellate

Felipe Bordeu-2
I can confirm that the problem is in the tetrahedralize and not in the clip. To reproduce the bug.
Generate a Wavelet source
| Clip the data (the mesh has, hexas, tetras, and wedges, pyramids) the index of the Wedges are correct
|   | tetrahedralize
|   |- mesh quality with volume for tetras (negarive volume)
|
|Extract only one cell ( a wedge )
|tetrahedralize
|mesh quality (negative volume for some tetras 

also you can filter the data from the clip filter by element type and apply tetrahedralize and mesh quality.

I'm doing some investigation to try to understand the problem.

Felipe



2017-03-28 21:38 GMT+02:00 Joachim Pouderoux <[hidden email]>:
Hi Felipe,

See documentation of vtkTetra class:

 * vtkTetra [...] The tetrahedron is defined by the four points
 * (0-3); where (0,1,2) is the base of the tetrahedron which, using the
 * right hand rule, forms a triangle whose normal points in the direction
 * of the fourth point.


Which seems to mean that face formed with points 0, 1 and 2 describes the base face considering points are listed
in clockwise order when seen from the exterior of the cell.
In this case vtkTetra::ComputeVolume() returns a positive volume.

Rule is the same with vtkWedge but it looks like the wedge you provide have point listed in incorrect order (CCW when seen from exterior).
If you reverse them, tets are correct.

If I am wrong with point ordering, then I guess there is a problem when constructing wedges in the Clip filter.

Dou you agree?

Best,

Joachim

Joachim Pouderoux, PhD
Technical Expert - Scientific Computing Team
Kitware SAS

2017-03-28 5:11 GMT-04:00 Felipe Bordeu <[hidden email]>:
Hi,


I'm having trouble working with clip feature in ParaView ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and wedge. Then I apply a tetrahedralize to convert the resulting mesh back to only tets but the connectivity (numbering) of the element is not correct. If I apply mesh quality I get negative volume for some elements.
I have the same "wrong" result with the Tessellate Filter (with zero level of subdivisions).

Can anyone confirm this bug.

Attached a single wedge to demonstrate the bug. 

Using Paraview 5.2 in linux (home build) and Windows (binary from web)

Thanks to all
Felipe



_______________________________________________
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
Loading...