Lines Matching refs:appctx
75 AppCtx appctx; /* user-defined application context */ in main() local
98 PetscCall(PetscOptionsHasName(NULL, NULL, "-debug", &appctx.debug)); in main()
99 appctx.m = m; in main()
100 appctx.h = 1.0 / (m - 1.0); in main()
101 appctx.norm_2 = 0.0; in main()
102 appctx.norm_max = 0.0; in main()
114 PetscCall(VecDuplicate(u, &appctx.solution)); in main()
120 PetscCall(PetscViewerDrawOpen(PETSC_COMM_SELF, 0, "", 80, 380, 400, 160, &appctx.viewer1)); in main()
121 PetscCall(PetscViewerDrawGetDraw(appctx.viewer1, 0, &draw)); in main()
123 PetscCall(PetscViewerDrawOpen(PETSC_COMM_SELF, 0, "", 80, 0, 400, 160, &appctx.viewer2)); in main()
124 PetscCall(PetscViewerDrawGetDraw(appctx.viewer2, 0, &draw)); in main()
138 PetscCall(TSMonitorSet(ts, Monitor, &appctx, NULL)); in main()
157 PetscCall(TSSetRHSFunction(ts, NULL, TSComputeRHSFunctionLinear, &appctx)); in main()
158 PetscCall(TSSetRHSJacobian(ts, A, A, RHSMatrixHeat, &appctx)); in main()
166 PetscCall(RHSMatrixHeat(ts, 0.0, u, A, A, &appctx)); in main()
167 PetscCall(TSSetRHSFunction(ts, NULL, TSComputeRHSFunctionLinear, &appctx)); in main()
168 PetscCall(TSSetRHSJacobian(ts, A, A, TSComputeRHSJacobianConstant, &appctx)); in main()
175 dt = appctx.h * appctx.h / 2.0; in main()
201 PetscCall(InitialConditions(u, &appctx)); in main()
214 …r (2 norm) = %g, avg. error (max norm) = %g\n", (double)(appctx.norm_2 / steps), (double)(appctx.n… in main()
225 PetscCall(PetscViewerDestroy(&appctx.viewer1)); in main()
226 PetscCall(PetscViewerDestroy(&appctx.viewer2)); in main()
227 PetscCall(VecDestroy(&appctx.solution)); in main()
249 PetscErrorCode InitialConditions(Vec u, AppCtx *appctx) in InitialConditions() argument
251 PetscScalar *u_localptr, h = appctx->h; in InitialConditions()
271 …for (i = 0; i < appctx->m; i++) u_localptr[i] = PetscCosScalar(PETSC_PI * i * 6. * h) + 3. * Petsc… in InitialConditions()
281 if (appctx->debug) { in InitialConditions()
299 PetscErrorCode ExactSolution(PetscReal t, Vec solution, AppCtx *appctx) in ExactSolution() argument
301 PetscScalar *s_localptr, h = appctx->h, ex1, ex2, sc1, sc2, tc = t; in ExactSolution()
318 …for (i = 0; i < appctx->m; i++) s_localptr[i] = PetscCosScalar(sc1 * (PetscReal)i) * ex1 + 3. * Pe… in ExactSolution()
345 AppCtx *appctx = (AppCtx *)ctx; /* user-defined application context */ in Monitor() local
352 PetscCall(VecView(u, appctx->viewer2)); in Monitor()
357 PetscCall(ExactSolution(time, appctx->solution, appctx)); in Monitor()
362 if (appctx->debug) { in Monitor()
366 PetscCall(VecView(appctx->solution, PETSC_VIEWER_STDOUT_SELF)); in Monitor()
372 PetscCall(VecAXPY(appctx->solution, -1.0, u)); in Monitor()
373 PetscCall(VecNorm(appctx->solution, NORM_2, &norm_2)); in Monitor()
374 norm_2 = PetscSqrtReal(appctx->h) * norm_2; in Monitor()
375 PetscCall(VecNorm(appctx->solution, NORM_MAX, &norm_max)); in Monitor()
380 appctx->norm_2 += norm_2; in Monitor()
381 appctx->norm_max += norm_max; in Monitor()
386 PetscCall(VecView(appctx->solution, appctx->viewer1)); in Monitor()
391 if (appctx->debug) { in Monitor()
393 PetscCall(VecView(appctx->solution, PETSC_VIEWER_STDOUT_SELF)); in Monitor()
419 AppCtx *appctx = (AppCtx *)ctx; /* user-defined application context */ in RHSMatrixHeat() local
421 PetscInt mend = appctx->m; in RHSMatrixHeat()
423 PetscScalar v[3], stwo = -2. / (appctx->h * appctx->h), sone = -.5 * stwo; in RHSMatrixHeat()