Skip to content
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

Extending preconditioners to handle a diagonal operator for E-field #5716

Merged
merged 9 commits into from
Mar 14, 2025

Conversation

debog
Copy link
Contributor

@debog debog commented Feb 28, 2025

  • Extended the CurlCurlMLMGPC interface to work with non-scalar beta coefficient. It can now be a MultiFab array (same size/layout as E-Fields) with one component representing a diagonal matrix/operator on the E-field.

  • Implemented a JacobiPC preconditioner to solve the system \sigma E = b using the Jacobi iterations. For now, \sigma is a diagonal matrix (stored as a MultiFab array (same size/layout as E-Fields) with one component. The solution is set as E = b / \sigma, so the iterations are not yet implemented. The complete Jacobi method will be implemented once non-diagonal elements of \sigma are available.

The preconditioners fetch a pointer to the matrix operator (beta or \sigma) from the implicit time integrator object.

@debog debog requested a review from JustinRayAngus February 28, 2025 00:41
@JustinRayAngus JustinRayAngus added enhancement New feature or request component: implicit solvers Anything related to implicit solvers labels Feb 28, 2025
@debog debog marked this pull request as ready for review March 13, 2025 18:46
@debog debog changed the title [WIP] Extending preconditioners to handle a diagonal operator for E-field Extending preconditioners to handle a diagonal operator for E-field Mar 13, 2025
Copy link
Contributor

@JustinRayAngus JustinRayAngus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks Debo!

@JustinRayAngus JustinRayAngus merged commit 40d0730 into BLAST-WarpX:development Mar 14, 2025
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: implicit solvers Anything related to implicit solvers enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants