petsc-3.7.1 2016-05-15
Report Typos and Errors

SNESLineSearchPreCheckPicard

Implements a correction that is sometimes useful to improve the convergence rate of Picard iteration

Synopsis

#include "petscsnes.h" 
PetscErrorCode SNESLineSearchPreCheckPicard(SNESLineSearch linesearch,Vec X,Vec Y,PetscBool *changed,void *ctx)
Logically Collective on SNESLineSearch Many br

Input Arguments

linesearch - linesearch context Many br
X - base state for this step Many br
Y - initial correction Many br
ctx - context for this function Many br

Output Arguments

Y - correction, possibly modified Many br
changed - flag indicating that Y was modified Many br

Options Database Key

-snes_linesearch_precheck_picard - activate this routine Many br
-snes_linesearch_precheck_picard_angle - angle Many br

Many br

Notes

This function should be passed to SNESLineSearchSetPreCheck() Many br

The justification for this method involves the linear convergence of a Picard iteration Many brso the Picard linearization should be provided in place of the "Jacobian". This correction Many bris generally not useful when using a Newton linearization. Many br

Reference

Hindmarsh and Payne (1996) Time step limits for stable solutions of the ice sheet equation, Annals of Glaciology. Many br

See Also

SNESLineSearchSetPreCheck()

Level:advanced
Location:
src/snes/linesearch/interface/linesearch.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/snes/examples/tutorials/ex15.c.html