Fix bug 600 kspacefirstorder3d input modification#615
Merged
waltsims merged 3 commits intofix-test-syntax-bug-600from May 26, 2025
Merged
Conversation
…sensor The kspaceFirstOrder3D simulation function was unintentionally modifying the input `source` and `sensor` objects. This occurred because the internal `kWaveSimulation` object and its helper functions were operating directly on these mutable input objects. This commit addresses the issue by: 1. Modifying `kWaveSimulation.__init__` to create deep copies of the input `source` and `sensor` objects. All internal operations within `kWaveSimulation` and its helper functions (like `save_to_disk_func` and `retract_transducer_grid_size`) now use these copies. The original objects you passed remain unchanged. 2. Adding a regression test (`tests/test_kspaceFirstOrder3D_state.py`). This test verifies that critical attributes of the `source` and `sensor` objects (e.g., `source.p0`, `sensor.mask`) are not altered after calls to `kspaceFirstOrder3D`, and that the function can be called multiple times with the same input objects without error or state corruption. This ensures that the `source` and `sensor` states remain consistent, allowing them to be reused for multiple simulations or checkpointing without unexpected side effects, resolving bug #600.
…der3d-input-modification
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.