-
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
AMR for non-cell centered fields #904
Conversation
A possible test problem is to evolve which should obey the wave equation but also have |
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.
I'm sorry it took me so long to review this... looks like I had started reviewing it and then I must have gotten interrupted and forgotten because I never finished. Overall this looks good.
One thing: we should probably document the ownership model somewhere in the docs.
P.S. I am so excited by this |
👍 Vector wave equation seems like a good test problem and a nice demonstration of the technology. Maybe as a new example? |
Yeah, we should add it as an example. I think maybe we save that for a documentation/test PR. As you say, it would be good to have documentation about how the ownership model works, etc. It would be especially good to get done before it is forgotten... |
Yeah I think the ownership model makes sense, and your code is clear. But it's sufficiently different from how Athena++ does it, and there are a sufficiently large number of choices to make, we should clarify which choices we made in a single place. |
I'm fine with putting docs and an example off into a final PR though. |
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.
Not too much to contribute here... LGTM. The test problems you have presented from various downstream applications give me confidence in the implementation.
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.
Finally using this in earnest and it works great. Can't yet provide a working downstream due to my own bugs, but the machinery's all there and the interface has been easy to use.
Though it shouldn't delay this PR longer, we should remember to add the InternalRefinementOp
template arg to Metadata
when we get a chance, I started implementing the B field internal refinement outside of Parthenon proper and was briefly stung.
PR Summary
This PR does the last few things required to make full AMR work with non-cell centered fields:
ProResInfo
type that is similar toBndInfo
.RedistributeAndRefineMeshBlocks
RedistributeAndRefineMeshBlocks
TryRecvFineToCoarse
to deal with non-cell centered fieldsTryRecvCoarseToFine
to deal with non-cell centered fieldsB^2/2 w/ AMR
divB w/ AMR
PR Checklist