View Issue Details

IDProjectCategoryView StatusLast Update
0000905OpenFOAMBugpublic2016-03-12 15:49
Reportertmaric Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSUbuntuOS Version10.04
Fixed in Versiondev 
Summary0000905: Iso surface algorithm results with an inconsistent normal orientation
DescriptionThe 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 ReproduceCompile the isoSurfaceWrite application.
Go to the isoSurfaceWriteCase sub directory, execute "blockMesh", then "setFields".
Execute "isoSurfaceWrite".
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.
TagsNo tags attached.

Activities

tmaric

2013-06-28 13:40

reporter  

isoSurfaceWrite.tgz (230,201 bytes)

MattijsJ

2016-03-12 14:04

reporter   ~0006033

I could not repeat your problems but it should be fixed by dev commit 36f19c88c4362a28cfc7b13c70ab4f0431416997

Issue History

Date Modified Username Field Change
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