PC Names: Same Type, Multiple Vars/Instances #4302
Merged
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.
Summary
If the same particle container type is used to create multiple particle species, then the compile-time defined names were only added for the first particle species (instance) of the type and then skipped for any later species (another instance of the same type).
This is due to the global variable (so many globals...) used in the type init. This fixes the problem by moving the instance related name logic out of the once-per-type logic
if
branch.Additional background
First seen with ImpactX for its "lost" particle species (2nd instance of the same PC type in the code).
Needed for ECP-WarpX/impactx#805
Checklist
The proposed changes: