Lines Matching refs:U
26 Vec U, Lambda[1], Mup[1]; /* first-order adjoint variables */ member
37 static PetscErrorCode RHSFunction(TS ts, PetscReal t, Vec U, Vec F, PetscCtx ctx) in RHSFunction() argument
44 PetscCall(VecGetArrayRead(U, &u)); in RHSFunction()
48 PetscCall(VecRestoreArrayRead(U, &u)); in RHSFunction()
53 static PetscErrorCode RHSJacobian(TS ts, PetscReal t, Vec U, Mat A, Mat B, PetscCtx ctx) in RHSJacobian() argument
62 PetscCall(VecGetArrayRead(U, &u)); in RHSJacobian()
74 PetscCall(VecRestoreArrayRead(U, &u)); in RHSJacobian()
78 static PetscErrorCode RHSHessianProductUU(TS ts, PetscReal t, Vec U, Vec *Vl, Vec Vr, Vec *VHV, Pet… in RHSHessianProductUU() argument
87 PetscCall(VecGetArrayRead(U, &u)); in RHSHessianProductUU()
100 PetscCall(VecRestoreArrayRead(U, &u)); in RHSHessianProductUU()
109 static PetscErrorCode IFunction(TS ts, PetscReal t, Vec U, Vec Udot, Vec F, PetscCtx ctx) in IFunction() argument
116 PetscCall(VecGetArrayRead(U, &u)); in IFunction()
121 PetscCall(VecRestoreArrayRead(U, &u)); in IFunction()
127 static PetscErrorCode IJacobian(TS ts, PetscReal t, Vec U, Vec Udot, PetscReal a, Mat A, Mat B, Pet… in IJacobian() argument
135 PetscCall(VecGetArrayRead(U, &u)); in IJacobian()
141 PetscCall(VecRestoreArrayRead(U, &u)); in IJacobian()
152 static PetscErrorCode Monitor(TS ts, PetscInt step, PetscReal t, Vec U, PetscCtx ctx) in Monitor() argument
164 PetscCall(VecDuplicate(U, &interpolatedU)); in Monitor()
175 static PetscErrorCode IHessianProductUU(TS ts, PetscReal t, Vec U, Vec *Vl, Vec Vr, Vec *VHV, Petsc… in IHessianProductUU() argument
184 PetscCall(VecGetArrayRead(U, &u)); in IHessianProductUU()
196 PetscCall(VecRestoreArrayRead(U, &u)); in IHessianProductUU()
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()
227 PetscCall(VecRestoreArrayRead(user_ptr->U, &x_ptr)); in FormFunctionGradient()
235 static PetscErrorCode FormHessian(Tao tao, Vec U, Mat H, Mat Hpre, PetscCtx ctx) in FormHessian() argument
244 PetscCall(VecCopy(U, user_ptr->U)); in FormHessian()
249 PetscCall(Adjoint2(user_ptr->U, harr, user_ptr)); in FormHessian()
253 PetscCall(VecCopy(U, user_ptr->U)); in FormHessian()
258 PetscCall(Adjoint2(user_ptr->U, harr, user_ptr)); in FormHessian()
271 static PetscErrorCode MatrixFreeHessian(Tao tao, Vec U, Mat H, Mat Hpre, PetscCtx ctx) in MatrixFreeHessian() argument
276 PetscCall(VecCopy(U, user_ptr->U)); in MatrixFreeHessian()
285 PetscErrorCode Adjoint2(Vec U, PetscScalar arr[], User ctx) in Adjoint2() argument
300 PetscCall(TSSolve(ts, U)); in Adjoint2()
303 PetscCall(VecGetArray(U, &x_ptr)); in Adjoint2()
308 PetscCall(VecRestoreArray(U, &x_ptr)); in Adjoint2()
335 PetscErrorCode FiniteDiff(Vec U, PetscScalar arr[], User ctx) in FiniteDiff() argument
344 PetscCall(VecDuplicate(U, &Up)); in FiniteDiff()
345 PetscCall(VecDuplicate(U, &G)); in FiniteDiff()
346 PetscCall(VecDuplicate(U, &Gp)); in FiniteDiff()
348 PetscCall(FormFunctionGradient(tao, U, &f, G, ctx)); in FiniteDiff()
350 PetscCall(VecCopy(U, Up)); in FiniteDiff()
362 PetscCall(VecCopy(U, Up)); in FiniteDiff()
389 PetscCall(Adjoint2(user_ptr->U, y_ptr, user_ptr)); in HessianProductMat()
433 PetscCall(MatCreateVecs(user.A, &user.U, NULL)); in main()
457 PetscCall(VecGetArray(user.U, &x_ptr)); in main()
460 PetscCall(VecRestoreArray(user.U, &x_ptr)); in main()
466 PetscCall(TSSolve(user.ts, user.U)); in main()
467 PetscCall(VecGetArray(user.U, &x_ptr)); in main()
470 PetscCall(VecRestoreArray(user.U, &x_ptr)); in main()
472 PetscCall(VecDuplicate(user.U, &x)); in main()
489 PetscCall(VecCopy(x, user.U)); in main()
494 PetscCall(Adjoint2(user.U, arr, &user)); in main()
497 PetscCall(VecCopy(x, user.U)); in main()
502 PetscCall(Adjoint2(user.U, arr, &user)); in main()
544 PetscCall(VecDestroy(&user.U)); in main()