Lines Matching refs:vi
55 SNES_VINEWTONSSLS *vi = (SNES_VINEWTONSSLS *)snes->data; in SNESVIComputeFunction() local
62 PetscCall((*vi->computeuserfunction)(snes, X, F, functx)); in SNESVIComputeFunction()
197 SNES_VINEWTONSSLS *vi = (SNES_VINEWTONSSLS *)snes->data; in SNESSolve_VINEWTONSSLS() local
210 vi->computeuserfunction = sdm->ops->computefunction; in SNESSolve_VINEWTONSSLS()
228 PetscCall(SNESComputeFunction(snes, X, vi->phi)); in SNESSolve_VINEWTONSSLS()
232 sdm->ops->computefunction = vi->computeuserfunction; in SNESSolve_VINEWTONSSLS()
236 PetscCall(SNESVIComputeMeritFunction(vi->phi, &vi->merit, &vi->phinorm)); in SNESSolve_VINEWTONSSLS()
240 SNESCheckFunctionDomainError(snes, vi->merit); in SNESSolve_VINEWTONSSLS()
243 snes->norm = vi->phinorm; in SNESSolve_VINEWTONSSLS()
245 PetscCall(SNESLogConvergenceHistory(snes, vi->phinorm, 0)); in SNESSolve_VINEWTONSSLS()
248 PetscCall(SNESConverged(snes, 0, 0.0, 0.0, vi->phinorm)); in SNESSolve_VINEWTONSSLS()
249 PetscCall(SNESMonitor(snes, 0, vi->phinorm)); in SNESSolve_VINEWTONSSLS()
251 sdm->ops->computefunction = vi->computeuserfunction; in SNESSolve_VINEWTONSSLS()
262 sdm->ops->computefunction = vi->computeuserfunction; in SNESSolve_VINEWTONSSLS()
268 PetscCall(SNESVIComputeBsubdifferentialVectors(snes, X, F, snes->jacobian, vi->Da, vi->Db)); in SNESSolve_VINEWTONSSLS()
270 PetscCall(SNESVIComputeJacobian(snes->jacobian, snes->jacobian_pre, vi->Da, vi->Db)); in SNESSolve_VINEWTONSSLS()
272 PetscCall(SNESVIComputeMeritFunctionGradient(snes->jacobian, vi->phi, vi->dpsi)); in SNESSolve_VINEWTONSSLS()
274 PetscCall(KSPSolve(snes->ksp, vi->phi, Y)); in SNESSolve_VINEWTONSSLS()
301 gnorm = vi->phinorm; in SNESSolve_VINEWTONSSLS()
302 PetscCall(SNESLineSearchApply(snes->linesearch, X, vi->phi, &gnorm, Y)); in SNESSolve_VINEWTONSSLS()
305 …es, "fnorm=%18.16e, gnorm=%18.16e, ynorm=%18.16e, lssucceed=%d\n", (double)vi->phinorm, (double)gn… in SNESSolve_VINEWTONSSLS()
310 sdm->ops->computefunction = vi->computeuserfunction; in SNESSolve_VINEWTONSSLS()
317 PetscCall(SNESVICheckLocalMin_Private(snes, snes->jacobian, vi->phi, X, gnorm, &ismin)); in SNESSolve_VINEWTONSSLS()
323 vi->phinorm = gnorm; in SNESSolve_VINEWTONSSLS()
324 vi->merit = 0.5 * vi->phinorm * vi->phinorm; in SNESSolve_VINEWTONSSLS()
328 snes->norm = vi->phinorm; in SNESSolve_VINEWTONSSLS()
335 PetscCall(SNESConverged(snes, snes->iter, xnorm, ynorm, vi->phinorm)); in SNESSolve_VINEWTONSSLS()
339 sdm->ops->computefunction = vi->computeuserfunction; in SNESSolve_VINEWTONSSLS()
345 SNES_VINEWTONSSLS *vi = (SNES_VINEWTONSSLS *)snes->data; in SNESSetUp_VINEWTONSSLS() local
349 PetscCall(VecDuplicate(snes->work[0], &vi->dpsi)); in SNESSetUp_VINEWTONSSLS()
350 PetscCall(VecDuplicate(snes->work[0], &vi->phi)); in SNESSetUp_VINEWTONSSLS()
351 PetscCall(VecDuplicate(snes->work[0], &vi->Da)); in SNESSetUp_VINEWTONSSLS()
352 PetscCall(VecDuplicate(snes->work[0], &vi->Db)); in SNESSetUp_VINEWTONSSLS()
353 PetscCall(VecDuplicate(snes->work[0], &vi->z)); in SNESSetUp_VINEWTONSSLS()
354 PetscCall(VecDuplicate(snes->work[0], &vi->t)); in SNESSetUp_VINEWTONSSLS()
360 SNES_VINEWTONSSLS *vi = (SNES_VINEWTONSSLS *)snes->data; in SNESReset_VINEWTONSSLS() local
364 PetscCall(VecDestroy(&vi->dpsi)); in SNESReset_VINEWTONSSLS()
365 PetscCall(VecDestroy(&vi->phi)); in SNESReset_VINEWTONSSLS()
366 PetscCall(VecDestroy(&vi->Da)); in SNESReset_VINEWTONSSLS()
367 PetscCall(VecDestroy(&vi->Db)); in SNESReset_VINEWTONSSLS()
368 PetscCall(VecDestroy(&vi->z)); in SNESReset_VINEWTONSSLS()
369 PetscCall(VecDestroy(&vi->t)); in SNESReset_VINEWTONSSLS()
402 SNES_VINEWTONSSLS *vi; in SNESCreate_VINEWTONSSLS() local
426 PetscCall(PetscNew(&vi)); in SNESCreate_VINEWTONSSLS()
427 snes->data = (void *)vi; in SNESCreate_VINEWTONSSLS()