Provide a way to get ID maps from plot parameters on the Model class #3481
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
This pull request introduces a new method,
id_map
, to theopenmc.Model
class for generating ID maps based on slice plot parameters, along with corresponding unit tests to validate its functionality. The changes enhance the modeling capabilities and ensure robust testing for the new feature.It is also possible to do this using the
openmc.lib
module directly, but it is tedious and requires direct use of an internal object,openmc.lib.__PlotBase
.Enhancements to
openmc.Model
:id_map
method: Theid_map
method generates a NumPy array representing IDs for cells, cell instances, and materials based on plot parameters. It initializes the model if not already initialized and ensures proper finalization after execution.Unit Tests for
id_map
:test_model_id_map
function: This test verifies the correctness of theid_map
method by checking the array's shape, data type, and validity of cell/material IDs. It also ensures proper initialization and finalization behavior depending on the model's state.Checklist
I have run clang-format (version 15) on any C++ source files (if applicable)