petsc-main 2021-03-06
Report Typos and Errors


Determines when the Jacobian is rebuilt in the nonlinear solve. See SNESSetLagPreconditioner() for determining how often the preconditioner is rebuilt.


#include "petscsnes.h"  
PetscErrorCode  SNESSetLagJacobian(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 means rebuild at next chance but then never again

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 Jacobian is ALWAYS built in the first iteration of a nonlinear solve unless lag is -1 If -1 is used before the very first nonlinear solve the CODE WILL FAIL! because no Jacobian is used, use -2 to indicate you want it recomputed at the next Newton step but never again (unless it is reset to another value)

See Also

SNESSetTrustRegionTolerance(), SNESGetLagPreconditioner(), SNESSetLagPreconditioner(), SNESGetLagJacobianPersists(), SNESSetLagPreconditionerPersists()




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