Lines Matching refs:user

100   AppCtx            *user = (AppCtx *)ctx;  in RHSFunction()  local
110 PetscCall(VecGetArrayRead(user->mu1, &mu1)); in RHSFunction()
111 PetscCall(VecGetArrayRead(user->mu2, &mu2)); in RHSFunction()
116 PetscCall(VecRestoreArrayRead(user->mu1, &mu1)); in RHSFunction()
117 PetscCall(VecRestoreArrayRead(user->mu2, &mu2)); in RHSFunction()
124 AppCtx *user = (AppCtx *)ctx; in RHSJacobian() local
134 PetscCall(VecGetArrayRead(user->mu1, &mu1)); in RHSJacobian()
135 PetscCall(VecGetArrayRead(user->mu2, &mu2)); in RHSJacobian()
145 PetscCall(VecRestoreArrayRead(user->mu1, &mu1)); in RHSJacobian()
146 PetscCall(VecRestoreArrayRead(user->mu2, &mu2)); in RHSJacobian()
210 AppCtx *user = (AppCtx *)ctx; in AdjointMonitor() local
225 if (curr_step == user->adj_idx) { in AdjointMonitor()
229 PetscCall(VecGetArray(user->sens_mu1, &sensmu1_glob)); in AdjointMonitor()
230 PetscCall(VecGetArray(user->sens_mu2, &sensmu2_glob)); in AdjointMonitor()
233 PetscCall(VecRestoreArray(user->sens_mu1, &sensmu1_glob)); in AdjointMonitor()
234 PetscCall(VecRestoreArray(user->sens_mu2, &sensmu2_glob)); in AdjointMonitor()
243 AppCtx user; in main() local
267 user.final_time = 0.1; in main()
268 user.max_steps = 5; in main()
269 user.time_step = user.final_time / user.max_steps; in main()
275 PetscCall(VecCreateSeq(PETSC_COMM_WORLD, user.max_steps, &user.mu1)); in main()
276 PetscCall(VecCreateSeq(PETSC_COMM_WORLD, user.max_steps, &user.mu2)); in main()
277 PetscCall(VecSet(user.mu1, 1.25)); in main()
278 PetscCall(VecSet(user.mu2, 1.0e2)); in main()
285 PetscCall(VecCreateSeq(PETSC_COMM_WORLD, user.max_steps, &user.sens_mu1)); in main()
286 PetscCall(VecCreateSeq(PETSC_COMM_WORLD, user.max_steps, &user.sens_mu2)); in main()
289 PetscCall(MatCreate(PETSC_COMM_WORLD, &user.A)); in main()
290 PetscCall(MatSetSizes(user.A, PETSC_DECIDE, PETSC_DECIDE, 2, 2)); in main()
291 PetscCall(MatSetFromOptions(user.A)); in main()
292 PetscCall(MatSetUp(user.A)); in main()
293 PetscCall(MatCreateVecs(user.A, &user.U, NULL)); in main()
299 PetscCall(MatCreate(PETSC_COMM_WORLD, &user.Jacp)); in main()
300 if (sa == SA_TRACK) PetscCall(MatSetSizes(user.Jacp, PETSC_DECIDE, PETSC_DECIDE, 2, 2)); in main()
301 …if (sa == SA_GLOBAL) PetscCall(MatSetSizes(user.Jacp, PETSC_DECIDE, PETSC_DECIDE, 2, user.max_step… in main()
302 PetscCall(MatSetFromOptions(user.Jacp)); in main()
303 PetscCall(MatSetUp(user.Jacp)); in main()
312 PetscCall(TSSetRHSFunction(ts, NULL, RHSFunction, &user)); in main()
313 PetscCall(TSSetRHSJacobian(ts, user.A, user.A, RHSJacobian, &user)); in main()
314 if (sa == SA_TRACK) PetscCall(TSSetRHSJacobianP(ts, user.Jacp, RHSJacobianP_track, &user)); in main()
315 if (sa == SA_GLOBAL) PetscCall(TSSetRHSJacobianP(ts, user.Jacp, RHSJacobianP_global, &user)); in main()
318 PetscCall(TSSetMaxTime(ts, user.final_time)); in main()
319 PetscCall(TSSetTimeStep(ts, user.final_time / user.max_steps)); in main()
321 if (monitor) PetscCall(TSMonitorSet(ts, Monitor, &user, NULL)); in main()
322 if (sa == SA_TRACK) PetscCall(TSAdjointMonitorSet(ts, AdjointMonitor, &user, NULL)); in main()
327 PetscCall(VecGetArray(user.U, &x_ptr)); in main()
330 PetscCall(VecRestoreArray(user.U, &x_ptr)); in main()
345 PetscCall(TSSolve(ts, user.U)); in main()
347 PetscCall(VecView(user.U, PETSC_VIEWER_STDOUT_WORLD)); in main()
353 PetscCall(MatCreateVecs(user.A, &user.lambda, NULL)); in main()
354 PetscCall(MatCreateVecs(user.Jacp, &user.mup, NULL)); in main()
359 PetscCall(VecGetArray(user.U, &u_ptr)); in main()
360 PetscCall(VecGetArray(user.lambda, &y_ptr)); in main()
363 PetscCall(VecRestoreArray(user.lambda, &y_ptr)); in main()
364 PetscCall(VecRestoreArray(user.U, &y_ptr)); in main()
365 PetscCall(VecSet(user.mup, 0)); in main()
370 PetscCall(TSSetCostGradients(ts, 1, &user.lambda, &user.mup)); in main()
381 for (user.adj_idx = user.max_steps; user.adj_idx > 0; user.adj_idx--) { in main()
382 PetscCall(VecSet(user.mup, 0)); in main()
394 PetscCall(VecView(user.sens_mu1, PETSC_VIEWER_STDOUT_WORLD)); in main()
396 PetscCall(VecView(user.sens_mu2, PETSC_VIEWER_STDOUT_WORLD)); in main()
401 PetscCall(VecView(user.mup, PETSC_VIEWER_STDOUT_WORLD)); in main()
405 PetscCall(VecView(user.lambda, PETSC_VIEWER_STDOUT_WORLD)); in main()
411 PetscCall(MatDestroy(&user.A)); in main()
412 PetscCall(MatDestroy(&user.Jacp)); in main()
413 PetscCall(VecDestroy(&user.U)); in main()
414 PetscCall(VecDestroy(&user.lambda)); in main()
415 PetscCall(VecDestroy(&user.mup)); in main()
416 PetscCall(VecDestroy(&user.mu1)); in main()
417 PetscCall(VecDestroy(&user.mu2)); in main()
419 PetscCall(VecDestroy(&user.sens_mu1)); in main()
420 PetscCall(VecDestroy(&user.sens_mu2)); in main()