Lines Matching refs:linesearch
5 static PetscErrorCode SNESLineSearchApply_Secant(SNESLineSearch linesearch) in SNESLineSearchApply_Secant() argument
25 PetscCall(SNESLineSearchGetVecs(linesearch, &X, &F, &Y, &W, NULL)); in SNESLineSearchApply_Secant()
26 PetscCall(SNESLineSearchGetNorms(linesearch, &xnorm, &gnorm, &ynorm)); in SNESLineSearchApply_Secant()
27 PetscCall(SNESLineSearchGetLambda(linesearch, &lambda)); in SNESLineSearchApply_Secant()
28 PetscCall(SNESLineSearchGetSNES(linesearch, &snes)); in SNESLineSearchApply_Secant()
29 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_SUCCEEDED)); in SNESLineSearchApply_Secant()
30 …PetscCall(SNESLineSearchGetTolerances(linesearch, &minlambda, &maxlambda, NULL, &atol, <ol, &max… in SNESLineSearchApply_Secant()
31 PetscCall(SNESLineSearchGetDefaultMonitor(linesearch, &monitor)); in SNESLineSearchApply_Secant()
36 PetscCall(SNESLineSearchPreCheck(linesearch, X, Y, &changed_y)); in SNESLineSearchApply_Secant()
50 if (linesearch->ops->viproject) PetscCall((*linesearch->ops->viproject)(snes, W)); in SNESLineSearchApply_Secant()
53 PetscCall((*linesearch->ops->snesfunc)(snes, W, F)); in SNESLineSearchApply_Secant()
54 if (linesearch->ops->vinorm) { in SNESLineSearchApply_Secant()
56 PetscCall((*linesearch->ops->vinorm)(snes, F, W, &fnrm_mid)); in SNESLineSearchApply_Secant()
63 if (linesearch->ops->viproject) PetscCall((*linesearch->ops->viproject)(snes, W)); in SNESLineSearchApply_Secant()
64 PetscCall((*linesearch->ops->snesfunc)(snes, W, F)); in SNESLineSearchApply_Secant()
65 if (linesearch->ops->vinorm) { in SNESLineSearchApply_Secant()
67 PetscCall((*linesearch->ops->vinorm)(snes, F, W, &fnrm)); in SNESLineSearchApply_Secant()
85 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
87 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
93 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
95 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
97 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_FAILED_REDUCT)); in SNESLineSearchApply_Secant()
111 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
117 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
126 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
128 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
143 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
145 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
155 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
157 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
172 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
174 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
176 PetscCall(SNESLineSearchSetReason(linesearch, SNES_LINESEARCH_FAILED_NANORINF)); in SNESLineSearchApply_Secant()
187 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
189 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
195 if (linesearch->ops->viproject) PetscCall((*linesearch->ops->viproject)(snes, W)); in SNESLineSearchApply_Secant()
198 PetscCall(SNESLineSearchSetLambda(linesearch, lambda)); in SNESLineSearchApply_Secant()
199 PetscCall(SNESLineSearchPostCheck(linesearch, X, Y, W, &changed_y, &changed_w)); in SNESLineSearchApply_Secant()
202 if (linesearch->ops->viproject) PetscCall((*linesearch->ops->viproject)(snes, W)); in SNESLineSearchApply_Secant()
205 PetscCall((*linesearch->ops->snesfunc)(snes, X, F)); in SNESLineSearchApply_Secant()
207 PetscCall(SNESLineSearchComputeNorms(linesearch)); in SNESLineSearchApply_Secant()
208 PetscCall(SNESLineSearchGetNorms(linesearch, NULL, &gnorm, NULL)); in SNESLineSearchApply_Secant()
209 SNESLineSearchCheckFunctionDomainError(snes, linesearch, gnorm); in SNESLineSearchApply_Secant()
211 PetscCall(PetscViewerASCIIAddTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
213 PetscCall(PetscViewerASCIISubtractTab(monitor, ((PetscObject)linesearch)->tablevel)); in SNESLineSearchApply_Secant()
242 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Secant(SNESLineSearch linesearch) in SNESLineSearchCreate_Secant() argument
245 linesearch->ops->apply = SNESLineSearchApply_Secant; in SNESLineSearchCreate_Secant()
246 linesearch->ops->destroy = NULL; in SNESLineSearchCreate_Secant()
247 linesearch->ops->setfromoptions = NULL; in SNESLineSearchCreate_Secant()
248 linesearch->ops->reset = NULL; in SNESLineSearchCreate_Secant()
249 linesearch->ops->view = NULL; in SNESLineSearchCreate_Secant()
250 linesearch->ops->setup = NULL; in SNESLineSearchCreate_Secant()
252 linesearch->max_it = 1; in SNESLineSearchCreate_Secant()