-
Notifications
You must be signed in to change notification settings - Fork 366
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
New Linear Solver: Curl of Curl #3682
Conversation
77ec6db
to
a0da8cc
Compare
I’m happy to see this PR. Can we please swap the labeling of alpha and beta to match the existing conventions with the ABec solvers? 🙏 i.e., make it alpha E + curl (beta curl E) = rhs The beta coefficient has always been for the derivative term and alpha for the non-derivative term. |
Will discuss this with Justin who gave me the equation. |
7bbcd34
to
71cb2b1
Compare
adbb796
to
83ddb78
Compare
83ddb78
to
3a8ce86
Compare
This is ready for review. We still need to try different restriction and smoothing strategies. But that could be left to the future. More specifically, in stead of simple injection, I want to try weighted averaging like what we do for the nodal solver. That makes the restriction operator more consistent with prolongation. |
3a8ce86
to
4feed1e
Compare
Add a new linear solver for curl (alpha curl E) + beta E = rhs in 2D & 3D, where E is an array of 3 MultiFabs on edges, and alpha and beta are scalars. It supports periodic, homogeneous Dirichlet, and symmetry boundaries. At the symmetry boundary, the normal component changes the sign, whereas the transverse components do not.
4feed1e
to
8f77828
Compare
I'll take a look. Attn for review if you like: @dpgrote @JustinRayAngus @debog @RemiLehe :) |
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.
This looks great and very clean. I added a few inline comments on:
- doc strings
- include orders
- using literals for compactness
Co-authored-by: Axel Huebl <[email protected]>
Co-authored-by: Axel Huebl <[email protected]>
Add a new linear solver for curl (alpha curl E) + beta E = rhs in 2D & 3D,
where E is an array of 3 MultiFabs on edges, and alpha and beta are
scalars. It supports periodic, homogeneous Dirichlet, and symmetry
boundaries. At the symmetry boundary, the normal component changes the sign,
whereas the transverse components do not.