View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000905||OpenFOAM||[All Projects] Bug||public||2013-06-28 13:40||2016-03-12 15:49|
|Fixed in Version||dev|
|Summary||0000905: Iso surface algorithm results with an inconsistent normal orientation|
|Description||The article by Treece et al "Regularised Marching Tetrahedra: Improved Iso-Surface Extraction" upon which the the iso-surface calculation was implementetd ("isoSurface" class) states in/out normal orientation is required for volume rendering, and that the accurate volume calculation requires inconsistent (non-manifold) normal orientation. However, the OpenFOAM implementation of the algorithm implements consistent normal orientation methods, and does not deliver a triSurface with consistent normals. |
When constructing an object of the isoSurface class, there is a private member function in both the "isoSurface" and the "isoSurfaceCell" class that should ensure a consistent orientation: "walkOrientation" within the method "orientSurface". It is implemented and called within the class constructors, but the consistent iso-surface orientation is still not achieved.
|Steps To Reproduce||Compile the isoSurfaceWrite application.|
Go to the isoSurfaceWriteCase sub directory, execute "blockMesh", then "setFields".
Visualize the inconsistent normals in Paraview:
Open both "isoSurface.vtk" and "isoSurfaceCell.vtk".
Select Filters->Normal Glyphs
Make sure to *uncheck* the the "Consistency" checkbox, as well as the "Random mode" check box.
Input 50000 for "Max elements".
If you zoom in to both isoSurface and isoSurfaceCell, you can see that the normal orientation is inconsistent: some normals are directed out of the sphere, some are directed inwards. Snapshots are already saved in the "images" folder.
|Tags||No tags attached.|
|2013-06-28 13:40||tmaric||New Issue|
|2013-06-28 13:40||tmaric||File Added: isoSurfaceWrite.tgz|
|2016-03-12 14:04||MattijsJ||Note Added: 0006033|
|2016-03-12 15:48||henry||Status||new => resolved|
|2016-03-12 15:48||henry||Fixed in Version||=> dev|
|2016-03-12 15:48||henry||Resolution||open => fixed|
|2016-03-12 15:48||henry||Assigned To||=> henry|