Replies: 1 comment 1 reply
-
I definitely think this would be great! Thank you for the offer, @bprather ! |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi!
I'm the primary developer of a code called KHARMA, which is another GRMHD code based on Parthenon. It isn't quite the same as Phoebus: it's centered around black hole accretion problems, so it supports only the HARM scheme, always against stationary spacetimes and nearly always in spherical coordinates. But, I think there's a huge overlap between the two codes, and we solve many of the same problems.
So, it seems like a wasted opportunity not to share code! Both communities are pretty small, so the more people who benefit from each fix and improvement, the better. KHARMA now has a community of maybe 6-7 different groups, but not many core developers, so the need and impact seems clear.
However, this would require quite a bit of planning and coordination. Both of our codes are pretty mature and use some of their own conventions, so migrating or abstracting modules will require compromises and standardization between both codes. I think there are a number of KHARMA features Phoebus would benefit from (face-centered magnetic fields & CT enabling AMR with MHD, simulation resizing/regridding including cleanup of the magnetic field divergence, internal SMR levels for polar coordinates, etc). Likewise there's a lot in Phoebus which would be great for KHARMA (MOCMC and tracers come to mind).
One sort of "pilot project" here might be to port a single small package to a third-party location, and pull it in as a dependency in both codes. This would let us ease into standardizing the different "colloquialisms" from each code. Maybe this means starting with a feature Phoebus needs anyway, so that there's a clear benefit. Maybe it means choosing the tiniest possible package and turning it into a sprint/weekend project just to evaluate how different the codes really are. Maybe it means digging straight into the coordinates code and painstakingly porting KHARMA to use Phoebus's handling of coordinates (probably not vice versa, as KHARMA is static-only...).
Mostly I'm just opening the discussion here to indicate I'd be happy to work with folks "stealing" features from KHARMA, or to work more closely with the Phoebus folks on aligning future development. This "corporate merger" is an idea I discussed with Jonah long ago, but for various reasons didn't pan out back then. I would be happy to try to revive it!
Beta Was this translation helpful? Give feedback.
All reactions