Lines Matching refs:linesearch

22 static PetscErrorCode SNESLineSearchReset_NLEQERR(SNESLineSearch linesearch)  in SNESLineSearchReset_NLEQERR()  argument
24 SNESLineSearch_NLEQERR *nleqerr = (SNESLineSearch_NLEQERR *)linesearch->data; in SNESLineSearchReset_NLEQERR()
33 static PetscErrorCode SNESLineSearchApply_NLEQERR(SNESLineSearch linesearch) in SNESLineSearchApply_NLEQERR() argument
43 SNESLineSearch_NLEQERR *nleqerr = (SNESLineSearch_NLEQERR *)linesearch->data; in SNESLineSearchApply_NLEQERR()
49 PetscCall(SNESLineSearchGetVecs(linesearch, &X, &F, &Y, &W, &G)); in SNESLineSearchApply_NLEQERR()
50 PetscCall(SNESLineSearchGetNorms(linesearch, &xnorm, &fnorm, &ynorm)); in SNESLineSearchApply_NLEQERR()
51 PetscCall(SNESLineSearchGetLambda(linesearch, &lambda)); in SNESLineSearchApply_NLEQERR()
52 PetscCall(SNESLineSearchGetSNES(linesearch, &snes)); in SNESLineSearchApply_NLEQERR()
53 PetscCall(SNESLineSearchGetDefaultMonitor(linesearch, &monitor)); in SNESLineSearchApply_NLEQERR()
54 PetscCall(SNESLineSearchGetTolerances(linesearch, &minlambda, NULL, NULL, NULL, NULL, &max_it)); in SNESLineSearchApply_NLEQERR()
59 if (!snes_iteration) PetscCall(SNESLineSearchReset_NLEQERR(linesearch)); in SNESLineSearchApply_NLEQERR()
62 PetscCall(SNESLineSearchPreCheck(linesearch, X, Y, &changed_y)); in SNESLineSearchApply_NLEQERR()
63 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_SUCCEEDED)); in SNESLineSearchApply_NLEQERR()
74 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
76 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
80 PetscCall(SNESLineSearchSetNorms(linesearch, xnorm, fnorm, ynorm)); in SNESLineSearchApply_NLEQERR()
81 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_FAILED_REDUCT)); in SNESLineSearchApply_NLEQERR()
92 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
94 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
107 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
109 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
112 lambda = linesearch->damping; in SNESLineSearchApply_NLEQERR()
121 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
123 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
130 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
132 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
134 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_FAILED_REDUCT)); in SNESLineSearchApply_NLEQERR()
142 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
144 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
150 PetscCall(SNESLineSearchReset_NLEQERR(linesearch)); in SNESLineSearchApply_NLEQERR()
176 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
178 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
194 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
196 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_NLEQERR()
230 if (linesearch->ops->viproject) PetscCall((*linesearch->ops->viproject)(snes, G)); in SNESLineSearchApply_NLEQERR()
236 PetscCall(SNESLineSearchPostCheck(linesearch, X, Y, G, &changed_y, &changed_w)); in SNESLineSearchApply_NLEQERR()
238 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_FAILED_USER)); in SNESLineSearchApply_NLEQERR()
252 SNESLineSearchCheckFunctionDomainError(snes, linesearch, fnorm); in SNESLineSearchApply_NLEQERR()
253 PetscCall(SNESLineSearchSetLambda(linesearch, lambda)); in SNESLineSearchApply_NLEQERR()
254 PetscCall(SNESLineSearchSetNorms(linesearch, xnorm, fnorm, ynorm < 0 ? PETSC_INFINITY : ynorm)); in SNESLineSearchApply_NLEQERR()
258 static PetscErrorCode SNESLineSearchView_NLEQERR(SNESLineSearch linesearch, PetscViewer viewer) in SNESLineSearchView_NLEQERR() argument
265 nleqerr = (SNESLineSearch_NLEQERR *)linesearch->data; in SNESLineSearchView_NLEQERR()
273 static PetscErrorCode SNESLineSearchDestroy_NLEQERR(SNESLineSearch linesearch) in SNESLineSearchDestroy_NLEQERR() argument
276 PetscCall(PetscFree(linesearch->data)); in SNESLineSearchDestroy_NLEQERR()
300 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch linesearch) in SNESLineSearchCreate_NLEQERR() argument
305 linesearch->ops->apply = SNESLineSearchApply_NLEQERR; in SNESLineSearchCreate_NLEQERR()
306 linesearch->ops->destroy = SNESLineSearchDestroy_NLEQERR; in SNESLineSearchCreate_NLEQERR()
307 linesearch->ops->setfromoptions = NULL; in SNESLineSearchCreate_NLEQERR()
308 linesearch->ops->reset = SNESLineSearchReset_NLEQERR; in SNESLineSearchCreate_NLEQERR()
309 linesearch->ops->view = SNESLineSearchView_NLEQERR; in SNESLineSearchCreate_NLEQERR()
310 linesearch->ops->setup = NULL; in SNESLineSearchCreate_NLEQERR()
314 linesearch->data = (void *)nleqerr; in SNESLineSearchCreate_NLEQERR()
315 linesearch->max_it = 40; in SNESLineSearchCreate_NLEQERR()
316 PetscCall(SNESLineSearchReset_NLEQERR(linesearch)); in SNESLineSearchCreate_NLEQERR()