Polymorphic injectors, external currents, and diagnostics#377
Open
JamesMcClung wants to merge 22 commits intopsc-code:mainfrom
Open
Polymorphic injectors, external currents, and diagnostics#377JamesMcClung wants to merge 22 commits intopsc-code:mainfrom
JamesMcClung wants to merge 22 commits intopsc-code:mainfrom
Conversation
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.
This is the first of (hopefully) several PRs aiming to simplify the process of making a PSC integrator, while also making it more flexible.
As the title says, this PR makes injectors, external currents, and diagnostics inherit from a base class, and the PSC integrator has lists of pointers to each of those base classes.
Benefits of this approach:
CompositeInjectorandDiagnosticsDefaultExternalCurrentsNoneandInjectParticlesNoneDownsides of this approach:
It seems to me that every component of the PSC integrator could be polymorphic instead of templated, and that is one of the long-term goals of this PR chain.