petsc-3.14.2 2020-12-03
Report Typos and Errors


Determines when the preconditioner is rebuilt in the nonlinear solve.


#include "petscsnes.h"  
PetscErrorCode  SNESSetLagPreconditioner(SNES snes,PetscInt lag)
Logically Collective on SNES

Input Parameters

snes - the SNES context
lag - -1 indicates NEVER rebuild, 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 If -1 is used before the very first nonlinear solve the preconditioner is still built because there is no previous preconditioner to use

See Also

SNESSetTrustRegionTolerance(), SNESGetLagPreconditioner(), SNESSetLagJacobian(), SNESGetLagJacobian(), SNESSetLagPreconditionerPersists(),




Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages