petsc-3.14.5 2021-03-03
Report Typos and Errors

# SNESNCGSetType

Sets the conjugate update type for SNESNCG.

### Synopsis

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

Logically Collective on SNES

### Input Parameters

| snes | - the iterative context
| btype | - update type

### Options Database

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

### SNESNCGSelectTypes

| 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 <type>, SNESSetNPC(), or SNESGetNPC()?

### Level

intermediate

### Location

src/snes/impls/ncg/snesncg.c

### Implementations

SNESNCGSetType_NCG in src/snes/impls/ncg/snesncg.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages