Lines Matching refs:bnk

108   TAO_BNK                     *bnk = (TAO_BNK *)tao->data;  in TaoSolve_BNTL()  local
119 PetscCall(TaoBNKInitialize(tao, bnk->init_type, &needH)); in TaoSolve_BNTL()
127 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTL()
130 if (needH && bnk->inactive_idx) { in TaoSolve_BNTL()
134 tao->reason = bnk->bncg->reason; in TaoSolve_BNTL()
138 PetscCall((*bnk->computehessian)(tao)); in TaoSolve_BNTL()
143 PetscCall((*bnk->computestep)(tao, shift, &ksp_reason, &stepType)); in TaoSolve_BNTL()
147 bnk->fold = bnk->f; in TaoSolve_BNTL()
148 PetscCall(VecCopy(tao->solution, bnk->Xold)); in TaoSolve_BNTL()
149 PetscCall(VecCopy(tao->gradient, bnk->Gold)); in TaoSolve_BNTL()
150 PetscCall(VecCopy(bnk->unprojected_gradient, bnk->unprojected_gradient_old)); in TaoSolve_BNTL()
161 PetscCall(VecAXPY(tao->stepdirection, -1.0, bnk->Xold)); in TaoSolve_BNTL()
170 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTL()
171 …PetscCheck(!PetscIsInfOrNanReal(bnk->f), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "User … in TaoSolve_BNTL()
172 actred = bnk->fold - bnk->f; in TaoSolve_BNTL()
173 …PetscCall(TaoBNKUpdateTrustRadius(tao, prered, actred, bnk->update_type, stepType, &stepAccepted)); in TaoSolve_BNTL()
179 ++bnk->newt; in TaoSolve_BNTL()
180 PetscCall(TaoComputeGradient(tao, tao->solution, bnk->unprojected_gradient)); in TaoSolve_BNTL()
181 PetscCall(TaoBNKEstimateActiveSet(tao, bnk->as_type)); in TaoSolve_BNTL()
182 PetscCall(VecCopy(bnk->unprojected_gradient, tao->gradient)); in TaoSolve_BNTL()
183 if (bnk->active_idx) PetscCall(VecISSet(tao->gradient, bnk->active_idx, 0.0)); in TaoSolve_BNTL()
184 PetscCall(TaoGradientNorm(tao, tao->gradient, NORM_2, &bnk->gnorm)); in TaoSolve_BNTL()
187 bnk->f = bnk->fold; in TaoSolve_BNTL()
188 PetscCall(VecCopy(bnk->Xold, tao->solution)); in TaoSolve_BNTL()
196 bnk->f = bnk->fold; in TaoSolve_BNTL()
197 PetscCall(VecCopy(bnk->Xold, tao->solution)); in TaoSolve_BNTL()
198 PetscCall(VecCopy(bnk->Gold, tao->gradient)); in TaoSolve_BNTL()
199 PetscCall(VecCopy(bnk->unprojected_gradient_old, bnk->unprojected_gradient)); in TaoSolve_BNTL()
206 PetscCall(TaoBNKEstimateActiveSet(tao, bnk->as_type)); in TaoSolve_BNTL()
207 PetscCall(VecCopy(bnk->unprojected_gradient, tao->gradient)); in TaoSolve_BNTL()
208 if (bnk->active_idx) PetscCall(VecISSet(tao->gradient, bnk->active_idx, 0.0)); in TaoSolve_BNTL()
209 PetscCall(TaoGradientNorm(tao, tao->gradient, NORM_2, &bnk->gnorm)); in TaoSolve_BNTL()
219 PetscCall(VecFischer(tao->solution, bnk->unprojected_gradient, tao->XL, tao->XU, bnk->W)); in TaoSolve_BNTL()
220 PetscCall(VecNorm(bnk->W, NORM_2, &resnorm)); in TaoSolve_BNTL()
223 PetscCall(TaoLogConvergenceHistory(tao, bnk->f, resnorm, 0.0, tao->ksp_its)); in TaoSolve_BNTL()
224 PetscCall(TaoMonitor(tao, tao->niter, bnk->f, resnorm, 0.0, steplen)); in TaoSolve_BNTL()
245 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSetFromOptions_BNTL() local
249 if (bnk->update_type == BNK_UPDATE_STEP) bnk->update_type = BNK_UPDATE_REDUCTION; in TaoSetFromOptions_BNTL()
272 TAO_BNK *bnk; in TaoCreate_BNTL() local
280 bnk = (TAO_BNK *)tao->data; in TaoCreate_BNTL()
281bnk->update_type = BNK_UPDATE_REDUCTION; /* trust region updates based on predicted/actual reducti… in TaoCreate_BNTL()