-
Notifications
You must be signed in to change notification settings - Fork 65
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
Create tiled mesh example function. #1167
Create tiled mesh example function. #1167
Conversation
… the same on both sides of an interface.
… 1 neighbor, then 2 neighbors, etc. This is aimed at improving the likelihood that the order of points on both sides of an interface will be the same.
…ner mesh, and tests their adjsets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work!
Thanks for the new example, great docs, and refactoring the utils for broad use.
Found a case where we may want extra type logic for float32 and float64 (this case would be covered by double and float, but for consistency and completeness I think we should add)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the typo fixes. This work is very useful.
thanks @BradWhitlock ! |
This PR includes a tiled() example mesh generation function that can take a 2D topology and stamp it out a bunch of times to make either 2D or (in most cases) 3D meshes. The tiled() function generates a single domain but can be used to make a multidomain mesh too with adjsets and boundaries. The mesh is generated using a square tiling of the tile topology but this can be put through a reorder() function that reorganizes the mesh points and elements. Reordering is currently done using a kdtree.
I added a conduit_generate_data utility that can invoke the tiled function to make a multi-domain mesh and save it to a file. It can also call braid(). There are times when I just want to make a mesh with Conduit without having to write my own program.
This update includes a adjset::compare_pointwise function that compares adjsets across domain boundaries to make sure they result in the same point on both sides of the domain boundary. I wrote it because I was messing things up when I built my adjset.
I added some sphinx doc for the tiled() example function and updated the CHANGELOG.md file too.