[petsc-dev] Lagging the numerical factorization for one of the fields of fieldsplit preconditioner
Barry Smith
bsmith at mcs.anl.gov
Mon Mar 14 16:55:23 CDT 2011
Shri,
In theory the flag for KSPSetOperators() (for example SAME_PRECONDITIONER) is propagated down through the PCFIELDSPLIT into the PC that is used on the A block. So in at least simple circumstances if you use -snes_lag_preconditioner it should "just work". I traced through the PCFIELDSPLIT and it does attempt to pass it down.
Is it not working as expected?
Of course this means that any other part of the preconditioner are also not rebuilt. So I guess if you used additive or multiplicative fieldsplit with 2 splits it won't update a factorization of D etc. Do you want other things rebuilt, just not this one thing. This will be tricky because we don't have a mechanism to pass this information down into PCFIELDSPLIT. Tell me exactly what you want to do that it cannot currently do and I'll what we can do about it.
Barry
On Mar 14, 2011, at 4:41 PM, Shri wrote:
>
> | A B | |dx| |fx|
> Jacobian = =
> | C D | |dy| |fy|
>
> While solving this linear system with a fieldsplit precondioner,is there a way to lag the numerical factorization of the A matrix. The A matrix in my application is constant and is about 3-4 times bigger than the D matrix. The log summary shows that about 90% of the time is spent in the numerical factorization phase. So i would like to do the numerical factorization for A matrix just once and not have it factorized for all the snes iterations.
> Speaking on the same note, should snes lag_preconditioner functionality be moved to ksp or maybe a -fieldsplit_xxx_lag_preconditioner option?
>
> Thanks,
> Shri
More information about the petsc-dev
mailing list