Lines Matching refs:linesearch
21 static PetscErrorCode SNESLineSearchApply_NCGLinear(SNESLineSearch linesearch) in SNESLineSearchApply_NCGLinear() argument
29 PetscCall(SNESLineSearchGetSNES(linesearch, &snes)); in SNESLineSearchApply_NCGLinear()
30 X = linesearch->vec_sol; in SNESLineSearchApply_NCGLinear()
31 W = linesearch->vec_sol_new; in SNESLineSearchApply_NCGLinear()
32 F = linesearch->vec_func; in SNESLineSearchApply_NCGLinear()
33 Y = linesearch->vec_update; in SNESLineSearchApply_NCGLinear()
34 fnorm = &linesearch->fnorm; in SNESLineSearchApply_NCGLinear()
35 xnorm = &linesearch->xnorm; in SNESLineSearchApply_NCGLinear()
36 ynorm = &linesearch->ynorm; in SNESLineSearchApply_NCGLinear()
45 SNESLineSearchCheckJacobianDomainError(snes, linesearch); in SNESLineSearchApply_NCGLinear()
55 SNESLineSearchCheckFunctionDomainError(snes, linesearch, *fnorm); in SNESLineSearchApply_NCGLinear()
77 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch linesearch) in SNESLineSearchCreate_NCGLinear() argument
80 linesearch->ops->apply = SNESLineSearchApply_NCGLinear; in SNESLineSearchCreate_NCGLinear()
81 linesearch->ops->destroy = NULL; in SNESLineSearchCreate_NCGLinear()
82 linesearch->ops->setfromoptions = NULL; in SNESLineSearchCreate_NCGLinear()
83 linesearch->ops->reset = NULL; in SNESLineSearchCreate_NCGLinear()
84 linesearch->ops->view = NULL; in SNESLineSearchCreate_NCGLinear()
85 linesearch->ops->setup = NULL; in SNESLineSearchCreate_NCGLinear()
94 SNESLineSearch linesearch; in SNESSetFromOptions_NCG() local
103 if (!snes->linesearch) { in SNESSetFromOptions_NCG()
104 PetscCall(SNESGetLineSearch(snes, &linesearch)); in SNESSetFromOptions_NCG()
105 if (!((PetscObject)linesearch)->type_name) { in SNESSetFromOptions_NCG()
107 PetscCall(SNESLineSearchSetType(linesearch, SNESLINESEARCHCP)); in SNESSetFromOptions_NCG()
109 PetscCall(SNESLineSearchSetType(linesearch, SNESLINESEARCHSECANT)); in SNESSetFromOptions_NCG()
184 SNESLineSearch linesearch; in SNESSolve_NCG() local
200 PetscCall(SNESGetLineSearch(snes, &linesearch)); in SNESSolve_NCG()
258 PetscCall(SNESLineSearchApply(linesearch, X, F, &fnorm, lX)); in SNESSolve_NCG()
260 PetscCall(SNESLineSearchGetNorms(linesearch, &xnorm, &fnorm, &ynorm)); in SNESSolve_NCG()