Lines Matching +full:- +full:m
3 Solve the convection-diffusion equation:
9 u = exp(-20.0*(pow(x-0.5,2.0)+pow(y-0.5,2.0))) at t=0
16 static char help[] = "Solve the convection-diffusion equation. \n\n";
21 PetscInt m; /* the number of mesh points in x-direction */ member
22 PetscInt n; /* the number of mesh points in y-direction */
23 PetscReal dx; /* the grid space in x-direction */
24 PetscReal dy; /* the grid space in y-direction */
60 data.m = 9; in main()
64 data.dx = 1.0 / (data.m + 1.0); in main()
66 mn = (data.m) * (data.n); in main()
67 PetscCall(PetscOptionsGetInt(NULL, NULL, "-time", &time_steps, NULL)); in main()
97 PetscCall(PetscOptionsHasName(NULL, NULL, "-ts_fd", &flg)); in main()
102 PetscCall(PetscOptionsHasName(NULL, NULL, "-fd_color", &fd_jacobian_coloring)); in main()
106 PetscCall(PetscOptionsHasName(NULL, NULL, "-pc_diagonal", &pc_diagonal)); in main()
150 PetscCall(PetscOptionsHasName(NULL, NULL, "-test_PostStep", &flg)); in main()
153 PetscCall(PetscOptionsGetInt(NULL, NULL, "-NOUT", &NOUT, NULL)); in main()
166 PetscCall(PetscOptionsHasName(NULL, NULL, "-matlab_view", &flg)); in main()
168 PetscCall(PetscViewerASCIIOpen(PETSC_COMM_WORLD, "out.m", &viewfile)); in main()
185 /* -------------------------------------------------------------------*/
191 f = PetscExpReal(-20.0 * (PetscPowRealInt(x - 0.5, 2) + PetscPowRealInt(y - 0.5, 2))); in f_ini()
198 PetscInt m, row, col; in Initial() local
205 m = data->m; in Initial()
206 dx = data->dx; in Initial()
207 dy = data->dy; in Initial()
217 row = 1 + (mybase + i) - ((mybase + i) / m) * m; in Initial()
218 col = (mybase + i) / m + 1; in Initial()
276 PetscInt m, n, mn; in RHSJacobian() local
280 m = data->m; in RHSJacobian()
281 n = data->n; in RHSJacobian()
282 mn = m * n; in RHSJacobian()
283 dx = data->dx; in RHSJacobian()
284 dy = data->dy; in RHSJacobian()
285 a = data->a; in RHSJacobian()
286 epsilon = data->epsilon; in RHSJacobian()
288 xc = -2.0 * epsilon * (1.0 / (dx * dx) + 1.0 / (dy * dy)); in RHSJacobian()
290 xr = -0.5 * a / dx + epsilon / (dx * dx); in RHSJacobian()
292 yr = -0.5 * a / dy + epsilon / (dy * dy); in RHSJacobian()
300 idx[2] = m; in RHSJacobian()
303 row = m - 1; in RHSJacobian()
307 idx[0] = m - 2; in RHSJacobian()
308 idx[1] = m - 1; in RHSJacobian()
309 idx[2] = m - 1 + m; in RHSJacobian()
312 for (i = 1; i < m - 1; i++) { in RHSJacobian()
318 idx[0] = i - 1; in RHSJacobian()
321 idx[3] = i + m; in RHSJacobian()
325 for (j = 1; j < n - 1; j++) { in RHSJacobian()
326 row = j * m; in RHSJacobian()
331 idx[0] = j * m; in RHSJacobian()
332 idx[1] = j * m; in RHSJacobian()
333 idx[2] = j * m - m; in RHSJacobian()
334 idx[3] = j * m + m; in RHSJacobian()
337 row = j * m + m - 1; in RHSJacobian()
342 idx[0] = j * m + m - 1; in RHSJacobian()
343 idx[1] = j * m + m - 1 - 1; in RHSJacobian()
344 idx[2] = j * m + m - 1 - m; in RHSJacobian()
345 idx[3] = j * m + m - 1 + m; in RHSJacobian()
348 for (i = 1; i < m - 1; i++) { in RHSJacobian()
349 row = j * m + i; in RHSJacobian()
355 idx[0] = j * m + i; in RHSJacobian()
356 idx[1] = j * m + i - 1; in RHSJacobian()
357 idx[2] = j * m + i + 1; in RHSJacobian()
358 idx[3] = j * m + i - m; in RHSJacobian()
359 idx[4] = j * m + i + m; in RHSJacobian()
364 row = mn - m; in RHSJacobian()
368 idx[0] = mn - m; in RHSJacobian()
369 idx[1] = mn - m + 1; in RHSJacobian()
370 idx[2] = mn - m - m; in RHSJacobian()
373 row = mn - 1; in RHSJacobian()
377 idx[0] = mn - 1; in RHSJacobian()
378 idx[1] = mn - 2; in RHSJacobian()
379 idx[2] = mn - 1 - m; in RHSJacobian()
382 for (i = 1; i < m - 1; i++) { in RHSJacobian()
383 row = mn - m + i; in RHSJacobian()
388 idx[0] = mn - m + i - 1; in RHSJacobian()
389 idx[1] = mn - m + i; in RHSJacobian()
390 idx[2] = mn - m + i + 1; in RHSJacobian()
391 idx[3] = mn - m + i - m; in RHSJacobian()
400 /* globalout = -a*(u_x+u_y) + epsilon*(u_xx+u_yy) */
404 PetscInt m, n, mn; in RHSFunction() local
417 m = data->m; in RHSFunction()
418 n = data->n; in RHSFunction()
419 mn = m * n; in RHSFunction()
420 dx = data->dx; in RHSFunction()
421 dy = data->dy; in RHSFunction()
422 a = data->a; in RHSFunction()
423 epsilon = data->epsilon; in RHSFunction()
425 xc = -2.0 * epsilon * (1.0 / (dx * dx) + 1.0 / (dy * dy)); in RHSFunction()
427 xr = -0.5 * a / dx + epsilon / (dx * dx); in RHSFunction()
429 yr = -0.5 * a / dy + epsilon / (dy * dy); in RHSFunction()
450 /*Extract income array - include ghost points */ in RHSFunction()
456 outptr[0] = xc * inptr[0] + xr * inptr[1] + yr * inptr[m]; in RHSFunction()
457 outptr[m - 1] = 2.0 * xl * inptr[m - 2] + xc * inptr[m - 1] + yr * inptr[m - 1 + m]; in RHSFunction()
458 …for (i = 1; i < m - 1; i++) outptr[i] = xc * inptr[i] + xl * inptr[i - 1] + xr * inptr[i + 1] + yr… in RHSFunction()
460 for (j = 1; j < n - 1; j++) { in RHSFunction()
461 …outptr[j * m] = xc * inptr[j * m] + xr * inptr[j * m + 1] + yl * inptr[j * m - m] + yr * i… in RHSFunction()
462 …tr[j * m + m - 1] = xc * inptr[j * m + m - 1] + 2.0 * xl * inptr[j * m + m - 1 - 1] + yl * inptr[j… in RHSFunction()
463 …m - 1; i++) outptr[j * m + i] = xc * inptr[j * m + i] + xl * inptr[j * m + i - 1] + xr * inptr[j *… in RHSFunction()
466 outptr[mn - m] = xc * inptr[mn - m] + xr * inptr[mn - m + 1] + 2.0 * yl * inptr[mn - m - m]; in RHSFunction()
467 outptr[mn - 1] = 2.0 * xl * inptr[mn - 2] + xc * inptr[mn - 1] + 2.0 * yl * inptr[mn - 1 - m]; in RHSFunction()
468 …i < m - 1; i++) outptr[mn - m + i] = xc * inptr[mn - m + i] + xl * inptr[mn - m + i - 1] + xr * in… in RHSFunction()
501 args: -ts_fd -ts_type beuler
506 args: -ts_fd -ts_type beuler
512 args: -ts_fd -ts_type cn
516 args: -ts_fd -ts_type cn
522 args: -ts_type beuler -ts_fd -fd_color -mat_coloring_type sl
527 args: -ts_type beuler -ts_fd -fd_color -mat_coloring_type sl
534 args: -ts_fd -ts_type beuler -test_PostStep -ts_time_step .1
539 args: -ts_type rk -ts_rk_type 5dp -ts_time_step .01 -ts_adapt_type none -ts_view