AuxiliaryOperatorSNES & FieldsplitSNES#4544
Draft
JHopeCollins wants to merge 29 commits into
Draft
Conversation
pbrubeck
reviewed
Sep 5, 2025
pbrubeck
reviewed
Sep 5, 2025
Contributor
|
This functionality could be very useful to us. Are there plans to merge it? |
Member
Author
|
@miguelcoolchips Are you interested in the |
Contributor
We are interested in |
JHopeCollins
commented
Jan 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Some Python type SNES classes for building nonlinear solvers
AuxiliaryOperatorSNESA nonlinear version of
AuxiliaryOperatorPC, for building nonlinear preconditioners from approximate operators, e.g. preconditioned nonlinear Richardson iterations.Still to do:
FieldsplitSNESA nonlinear version of
PCFieldsplit,it can use either additive (Jacobi) or multiplicative (Gauss-Seidel) versions, exactly analogous to the linear version.Still to do (mostly adding options to match PCFieldsplit):
snes_fieldsplit_%d_fields.snes_fieldsplit_%d_fields.snes_fieldsplit_default.fieldsplitprefix. If we collect them ininitializeand pass them as a dictionary to the NLVS of each field, they will take lower priority than anyfieldsplit_%doptions in the global dictionary (including those put there by the parent NLVS).viewmethod.updatemethod need to contain anything?