SNESNCGSetType#

Sets the conjugate update type for nonlinear CG SNESNCG.

Synopsis#

#include "petscsnes.h" 
PetscErrorCode SNESNCGSetType(SNES snes, SNESNCGType btype)

Logically Collective

Input Parameters#

  • snes - the iterative context

  • btype - update type

Options Database Key#

  • -snes_ncg_type <prp,fr,hs,dy,cd> - strategy for selecting algorithm for computing beta

SNESNCGTypes#

  • SNES_NCG_FR - Fletcher-Reeves update

  • SNES_NCG_PRP - Polak-Ribiere-Polyak update

  • SNES_NCG_HS - Hestenes-Steifel update

  • SNES_NCG_DY - Dai-Yuan update

  • SNES_NCG_CD - Conjugate Descent update

Notes#

SNES_NCG_PRP is the default, and the only one that tolerates generalized search directions.

It is not clear what “generalized search directions” means, does it mean use with a nonlinear preconditioner, that is using -npc_snes_type , SNESSetNPC(), or SNESGetNPC()?

Developer Note#

There should be a SNESNCGSetType()

See Also#

SNESNCGType, SNES_NCG_FR, SNES_NCG_PRP, SNES_NCG_HS, SNES_NCG_DY, SNES_NCG_CD

Level#

intermediate

Location#

src/snes/impls/ncg/snesncg.c

Implementations#

SNESNCGSetType_NCG in src/snes/impls/ncg/snesncg.c


Edit on GitLab

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