Determines when the preconditioner is rebuilt in the nonlinear solve.
Logically Collective on snes
snes - the
lag - 1 means rebuild every time the Jacobian is computed within a single nonlinear solve, 2 means every second time the Jacobian is built etc. -2 indicates rebuild preconditioner at next chance but then never rebuild after that
Options Database Keys#
-snes_lag_jacobian_persists <true,false> - sets the persistence
-snes_lag_jacobian <- 2,1,2,…> - sets the lag
-snes_lag_preconditioner_persists <true,false> - sets the persistence
-snes_lag_preconditioner <- 2,1,2,…> - sets the lag
The default is 1
The preconditioner is ALWAYS built in the first iteration of a nonlinear solve unless lag is -1 or
SNESSetLagPreconditionerPersists() was called
SNESSetLagPreconditionerPersists() allows using the same uniform lagging (for example every second linear solve) across multiple nonlinear solves.