[petsc-users] 回复: Mat created by DMStag cannot access ghost points

Ye Changqing Ye_Changqing at outlook.com
Tue May 31 22:08:52 CDT 2022


Dear all,

[BugReport.c] is a sample code, [BugReportParallel.output] is the output when execute BugReport with mpiexec, [BugReportSerial.output] is the output in serial execution.

Best,
Changqing

________________________________
发件人: Dave May <dave.mayhem23 at gmail.com>
发送时间: 2022年5月31日 22:55
收件人: Ye Changqing <Ye_Changqing at outlook.com>
抄送: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
主题: Re: [petsc-users] Mat created by DMStag cannot access ghost points



On Tue 31. May 2022 at 16:28, Ye Changqing <Ye_Changqing at outlook.com<mailto:Ye_Changqing at outlook.com>> wrote:
Dear developers of PETSc,

I encountered a problem when using the DMStag module. The program could be executed perfectly in serial, while errors are thrown out in parallel (using mpiexec). Some rows in Mat cannot be accessed in local processes when looping all elements in DMStag. The DM object I used only has one DOF in each element. Hence, I could switch to the DMDA module easily, and the program now is back to normal.

Some snippets are below.

Initialise a DMStag object:
PetscCall(DMStagCreate2d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, M, N, PETSC_DECIDE, PETSC_DECIDE, 0, 0, 1, DMSTAG_STENCIL_BOX, 1, NULL, NULL, &(s_ctx->dm_P)));
Created a Mat:
PetscCall(DMCreateMatrix(s_ctx->dm_P, A));
Loop:
PetscCall(DMStagGetCorners(s_ctx->dm_V, &startx, &starty, &startz, &nx, &ny, &nz, &extrax, &extray, &extraz));
for (ey = starty; ey < starty + ny; ++ey)
for (ex = startx; ex < startx + nx; ++ex)
{
...
PetscCall(DMStagMatSetValuesStencil(s_ctx->dm_P, *A, 2, &row[0], 2, &col[0], &val_A[0][0], ADD_VALUES));  // The traceback shows the problem is in here.
}

In addition to the code or MWE, please forward us the complete stack trace / error thrown to stdout.

Thanks,
Dave



Best,
Changqing

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220601/1981950b/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: BugReport.c
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220601/1981950b/attachment.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BugReportParallel.output
Type: application/octet-stream
Size: 4033 bytes
Desc: BugReportParallel.output
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220601/1981950b/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BugReportSerial.output
Type: application/octet-stream
Size: 31 bytes
Desc: BugReportSerial.output
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220601/1981950b/attachment-0001.obj>


More information about the petsc-users mailing list