visit-dav / visit

VisIt - Visualization and Data Analysis for Mesh-based Scientific Data
https://visit.llnl.gov
BSD 3-Clause "New" or "Revised" License
438 stars 116 forks source link

blueprint: negative volumes in sub-divided meshes from polytopal inputs #19417

Open cyrush opened 7 months ago

cyrush commented 7 months ago

Describe the bug

See details in: https://github.com/Alpine-DAV/ascent/issues/1261

We need to explore what cases we can avoid negative volumes in VisIt's expression calc.

Helpful additional information

To Reproduce

Using blueprint_v0.8.2_polytess_test_data/polyess_3d_example_hdf5.root, plot mesh_quality/volume

Screenshot 2024-03-25 at 12 02 20 PM

Expected behavior

Positive volumes.

Desktop

biagas commented 7 months ago

I think there is possible value in allowing negative volumes, they can point out problems with connectivity information. There is already the ability to tell avtVMetricVolume to only return positive volumes (it just converts the sign of the result). avtWeightedVariableSummationQuery sets this to true. Perhaps this should be exposed as a user-settable option?

markcmiller86 commented 7 months ago

In Silo db plugin, I think there is a tad of logic to test the first encountering each type of new zoo type element in a UCD mesh and check whether the volume is positive or negative. Negative indicates an issue with node ordering and when we encounter negative volume in first zone of a given type, we decide to reverse ordering of all zones of that type...hmmm...maybe we do that only for tets.

JustinPrivitera commented 7 months ago

@cyrush does this mean polytess is wrong? Node ordering is incorrect for the cubes, perhaps?

cyrush commented 7 months ago

related: should we look into our verdict options in this day in age?