Prepare point query data structures on meshes when applying Weight Windows #3157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
#2815 ensured that creation of spatial data structures for the
Mesh
objects (only affecting unstructured mesh) only occurs if the mesh is being used in tally operations. This skips the build of spatial data structures (kdTree for MOAB and Octree for LibMesh) when unstructured meshes are used for sources, providing a big speedup in initialization time.One use case where these data structures are important outside of tallying is the application of weight windows on unstructured mesh -- point location is required there, but the data structures aren't currently built in this case. This PR adds that call in the
WeightWindows::set_mesh
method and applies that method in the XML node constructor for the object.It also removes the requirement that energy bounds are specified on the XML node. There is code in place to set the default bounds of the weight windows to the min/max energies for the particle type to which the weight windows apply. That code is now exercised when energy bounds are absent as intended.
A test has been added that runs a problem with dummy weight windows applied to one of the unstructured meshes in the test suite to ensure that this capability runs without error.
Checklist