Lines Matching refs:user_ptr
207 User user_ptr = (User)ctx; in FormFunctionGradient() local
208 TS ts = user_ptr->ts; in FormFunctionGradient()
213 PetscCall(VecCopy(IC, user_ptr->U)); /* set up the initial condition */ in FormFunctionGradient()
219 PetscCall(TSSolve(ts, user_ptr->U)); in FormFunctionGradient()
221 PetscCall(VecGetArrayRead(user_ptr->U, &x_ptr)); in FormFunctionGradient()
222 PetscCall(VecGetArray(user_ptr->Lambda[0], &y_ptr)); in FormFunctionGradient()
223 …*f = (x_ptr[0] - user_ptr->ob[0]) * (x_ptr[0] - user_ptr->ob[0]) + (x_ptr[1] - user_ptr->ob[… in FormFunctionGradient()
224 y_ptr[0] = 2. * (x_ptr[0] - user_ptr->ob[0]); in FormFunctionGradient()
225 y_ptr[1] = 2. * (x_ptr[1] - user_ptr->ob[1]); in FormFunctionGradient()
226 PetscCall(VecRestoreArray(user_ptr->Lambda[0], &y_ptr)); in FormFunctionGradient()
227 PetscCall(VecRestoreArrayRead(user_ptr->U, &x_ptr)); in FormFunctionGradient()
229 PetscCall(TSSetCostGradients(ts, 1, user_ptr->Lambda, NULL)); in FormFunctionGradient()
231 PetscCall(VecCopy(user_ptr->Lambda[0], G)); in FormFunctionGradient()
237 User user_ptr = (User)ctx; in FormHessian() local
244 PetscCall(VecCopy(U, user_ptr->U)); in FormHessian()
245 PetscCall(VecGetArray(user_ptr->Dir, &x_ptr)); in FormHessian()
248 PetscCall(VecRestoreArray(user_ptr->Dir, &x_ptr)); in FormHessian()
249 PetscCall(Adjoint2(user_ptr->U, harr, user_ptr)); in FormHessian()
253 PetscCall(VecCopy(U, user_ptr->U)); in FormHessian()
254 PetscCall(VecGetArray(user_ptr->Dir, &x_ptr)); in FormHessian()
257 PetscCall(VecRestoreArray(user_ptr->Dir, &x_ptr)); in FormHessian()
258 PetscCall(Adjoint2(user_ptr->U, harr, user_ptr)); in FormHessian()
273 User user_ptr = (User)ctx; in MatrixFreeHessian() local
276 PetscCall(VecCopy(U, user_ptr->U)); in MatrixFreeHessian()
382 User user_ptr; in HessianProductMat() local
386 PetscCall(MatShellGetContext(mat, &user_ptr)); in HessianProductMat()
387 PetscCall(VecCopy(svec, user_ptr->Dir)); in HessianProductMat()
389 PetscCall(Adjoint2(user_ptr->U, y_ptr, user_ptr)); in HessianProductMat()