-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split ParthenonManager Init #439
Conversation
This looks like an improvement to me, I'm normally in favor of breaking up logic into smaller more manageable chunks. However, I don't have a good grasp yet on what you are trying to accomplish with this. #409 issue mentions allowing flexibility during runtime for the choice of problem generator, I'm not yet sure what this would look like with the work done in this pr. I defer to the physics folks. |
Have a look at https://gitlab.com/theias/hpc/jmstone/athena-parthenon/athenapk/-/blob/pgrete/pack-in-one/src/main.cpp#L36 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this. We recently hit a use case where we wanted to do the same thing in riot.
Is there any documentation for parthenon manager? If so we should update that and add a changelog.
If there's one, we probably want to extend it or otherwise add one. |
Makes sense. I think this is worth doing. |
Thanks for the link, I understand now. Yes I am onboard. |
Added doc (no code changes), so this should be ready for final review and approval. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @pgrete!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @pgrete !
PR Summary
As mentioned in #409 this split allows to set the
app_inputs
(e.g., refinement criteria or problem generator) from the input file by splitting the environment init (MPI, Kokkos, parsing arguments) from the package processing and mesh initialization.I kept the original interface so it shouldn't break existing code but that could also be removed.
I'm looking for feedback now before updating the documentation and potentially examples (making sure this goes in the right direction).
I didn't derive from #385 as my impression was that there was a different intention (which we may also follow here, i.e., make a three way split -> .e.g,
InitEnv
,ParseArgs
,InitMesh
)Closes #409
PR Checklist