Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are crinkle slices / subvolumes supported? #1279

Closed
mlohry opened this issue Apr 26, 2024 · 8 comments
Closed

Are crinkle slices / subvolumes supported? #1279

mlohry opened this issue Apr 26, 2024 · 8 comments
Milestone

Comments

@mlohry
Copy link

mlohry commented Apr 26, 2024

Is there a capability to do the equivalent of a crinkle slice in paraview, or extract subvolumes of the mesh cells as they're given without any cutting or interpolation?

I'm working with very large and highly unstructured mixed element meshes, and slice pipelines end up (1) creating an order of magnitude more vertices and connectivities than a crinkle slice would which is also increasing the runtime, and (2) obfuscates what the original mesh looks like. Same goes for with clip pipelines.

i.e., I would like to be able to specify a slice or subvolume/bounding box, and the output of that be any cell that intersects that slice but with the original 3D connectivity and data.

@cyrush
Copy link
Member

cyrush commented Apr 29, 2024

@mlohry You can use a threshold to extract subvolumes w/o cutting, but that is based on a field value. VisIt has a box operator that executes a threshold using a bounding box, will that suffice your cases in Ascent?

@mlohry
Copy link
Author

mlohry commented Apr 29, 2024

@cyrush The visit box operator looks like it would fill most of our use cases. Sometimes we have a desire for slightly more complex shapes, like a box/plane not cartesian-aligned, or a cylindrical area of some orientation, but a box covers most use cases.

For our mixed element meshes, would that write the mixed elements as-is when writing to file, but for renders do the tetrahedralization mentioned in #1261 and visit-dav/visit#19417?

@cyrush
Copy link
Member

cyrush commented Apr 29, 2024

Thanks -- I will plan on extending the threshold filter with options for box and and plane to start.

We would aim to keep the mesh as is (not change elements), but we need to update visit and ascent to support mixed element meshes.

@cyrush
Copy link
Member

cyrush commented May 1, 2024

@mlohry vtk-m has a filter that should provide the foundation of what you are asking for, so I am extending Ascent's threshold filter to take the same spatial options as the clip filter.

I have it wired up - but I am hitting a road block consuming the output.
I pinged the VTK-m folks for advice.

@mlohry
Copy link
Author

mlohry commented May 1, 2024

Awesome, thanks!

@cyrush
Copy link
Member

cyrush commented May 10, 2024

This is being added in #1281.

It does require a patch to use with vtk-m 2.1, our build_ascent and spack based testing builds will both be using that patch and we will share it

@cyrush cyrush added this to the 0.9.3 milestone May 13, 2024
@cyrush
Copy link
Member

cyrush commented May 13, 2024

@cyrush cyrush closed this as completed May 13, 2024
@cyrush
Copy link
Member

cyrush commented May 13, 2024

For examples of use, see our new threshold tests:

TEST(ascent_threshold, test_threshold_sphere)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants