Open
Description
I have an idea for a preconditioning approach for SNESVIRS, which might be something I would work on in Dartington.
SNESVIRS is the reduced space Newton method for variational inequalities, which works by dealing with an "active set", which is a subset of the full DOF set of variables where the constraint is (currently) a strict inequality rather than equality.
My proposal is to make a Python preconditioner that injects the active set into the full space, then does something to it with a KSP, and then projects back to the reduced space again (by copying over only the active DOFs).
In particular, the KSP could then do a solve using Auxiliary Operator PC.
I'm interested in comments about whether this is:
- mathematically sensible,
- plausible to implement in Firedrake.