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

Add example of enhanced and reduced connectivity #1316

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

agcapps
Copy link
Member

@agcapps agcapps commented Aug 9, 2024

Add an example of 2D and 3D multiblock grids with enhanced and reduced connectivity.

Example renderings by VisIt:

2024 08 09 bentgrid 2D
2024 08 09 bentgrid 3D

@agcapps
Copy link
Member Author

agcapps commented Aug 9, 2024

Examples are copied from http://visitusers.org/index.php?title=Representing_ghost_data

@agcapps agcapps requested a review from cyrush August 9, 2024 19:05
@agcapps
Copy link
Member Author

agcapps commented Aug 9, 2024

Still needs cleanup in the code. @cyrush , what do you think of the API style--- passing in arrays of doubles for x, y, z coordinates of corners?

src/docs/doxygen/Doxyfile.in Outdated Show resolved Hide resolved
@agcapps agcapps marked this pull request as draft August 9, 2024 19:10
@agcapps
Copy link
Member Author

agcapps commented Aug 9, 2024

The 3D grid has several domains made invisible so you can see the middle. I would have made them semi-transparent but I don't know how to do that domain-by-domain.

@agcapps agcapps marked this pull request as ready for review August 13, 2024 23:11
Copy link
Member

@cyrush cyrush left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@agcapps Thanks for putting this together.

I want to void adding the std::vector based lerp functions to the public mesh blueprint interface. I am fine with them being private helpers to help implement the new example.

Also, I would prefer we don't change the base implementation of the explicit coords for braid. The prior implementation served as a simple C++ example that we could point folks at to help them learn how to create a coordset. But with the expanded version is much more complex, and leverages vectors of vectors -- folks might think all that is required to build a coordset.

Instead of unstructured topo, we want structured -- b/c that's the important case for reduced and enhanced (which also can included flipped logical indices across domains). That will be an important aspect of the example with respect to adjsets.
Changing to structured should be easy, you can replace the unstructured topo + connectivity with the structured topo def.

We should wire this up to the general examples driver. For that we will need a set of default params for the spec (opts).

See a few other suggestions (name changes, etc) in line, let me know if you have questions.

src/tests/blueprint/t_blueprint_mesh_examples.cpp Outdated Show resolved Hide resolved
src/tests/blueprint/t_blueprint_mesh_examples.cpp Outdated Show resolved Hide resolved
src/libs/blueprint/conduit_blueprint_mesh_examples.hpp Outdated Show resolved Hide resolved
src/libs/blueprint/conduit_blueprint_mesh_examples.cpp Outdated Show resolved Hide resolved
src/libs/blueprint/conduit_blueprint_mesh_examples.cpp Outdated Show resolved Hide resolved
@agcapps
Copy link
Member Author

agcapps commented Aug 22, 2024

@agcapps Thanks for putting this together.

I want to void adding the std::vector based lerp functions to the public mesh blueprint interface. I am fine with them being private helpers to help implement the new example.

OK, makes sense.

Also, I would prefer we don't change the base implementation of the explicit coords for braid. The prior implementation served as a simple C++ example that we could point folks at to help them learn how to create a coordset. But with the expanded version is much more complex, and leverages vectors of vectors -- folks might think all that is required to build a coordset.

Got it. I'll come up with an alternative.

Instead of unstructured topo, we want structured

Will change unstructured -> structured.

We should wire this up to the general examples driver. For that we will need a set of default params for the spec (opts). See a few other suggestions (name changes, etc) in line, let me know if you have questions.

Thanks, I'll set that up.

  • structured topo
  • change function names
  • default for spec
  • put back default coords implementation for braid
  • explore using numeric leaf arrays instead of std::vector<double>
  • lerp() moved into detail namespace with numeric leaf arrays replacing std::vector<double>

@agcapps
Copy link
Member Author

agcapps commented Oct 8, 2024

@cyrush , I'd appreciate your further review. I think I got all the points you mentioned.

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

Successfully merging this pull request may close these issues.

2 participants