SNESNewtonTRDCSetPostCheck#

Sets a user function that is called after the search step has been determined but before the next function evaluation. Allows the user a chance to change or override the decision of the line search routine

Synopsis#

#include "petscsnes.h"   
PetscErrorCode SNESNewtonTRDCSetPostCheck(SNES snes, PetscErrorCode (*func)(SNES snes, Vec X, Vec Y, Vec W, PetscBool *changed_y, PetscBool *changed_w, PetscCtx ctx), PetscCtx ctx)

Logically Collective

Input Parameters#

  • snes - the nonlinear solver object

  • func - [optional] function evaluation routine, for the calling sequence see SNESNewtonTRDCPostCheck()

  • ctx - [optional] context for private data for the function evaluation routine (may be NULL)

Calling sequence of func#

  • snes - the nonlinear solver object

  • X - the current solution value

  • Y - the tentative update step

  • W - the tentative new solution value

  • changed_y - output, flag indicated Y has been changed by the post-check

  • changed_w - output, flag indicated W has been changed by the post-check

  • ctx - the optional application context

Note#

This function is called BEFORE the function evaluation within the SNESNEWTONTRDC solver while the function set in SNESLineSearchSetPostCheck() is called AFTER the function evaluation.

See Also#

SNES: Nonlinear Solvers, SNES, SNESNEWTONTRDC, SNESNewtonTRDCPostCheck(), SNESNewtonTRDCGetPostCheck(), SNESNewtonTRDCSetPreCheck(), SNESNewtonTRDCGetPreCheck()

Level#

intermediate

Location#

src/snes/impls/ntrdc/ntrdc.c


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