[petsc-users] periodic boundary condition does not work after upgrading from 3.5.1 to 3.6.0
Barry Smith
bsmith at mcs.anl.gov
Tue Jun 30 12:50:56 CDT 2015
We had to remove the support for DMLocalToGlobalBegin/End() for this case since it was too difficult to maintain.
Why are you using DMLocalToGlobalBegin/End() here? All it does it discard the ghost values. Instead of putting values into the wb0_gfpp_loc and then
calling DMLocalToGlobalBegin to move the values into wb0_gfpp you should just put the values directly into wb0_gfpp and never even have a wb0_gfpp_loc
Note that if you use DMDAVecGetArray() on wb0_gfpp_loc you can use it also on wb0_gfpp instead.
Barry
> On Jun 30, 2015, at 7:10 AM, Xiao, Jianjun (IKET) <jianjun.xiao at kit.edu> wrote:
>
> I am running a case with periodic boundary condition. It worked fine with PETSc 3.5.1. When PETSc was upgraded to 3.6.0, I got the error below.
>
> [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
> [0]PETSC ERROR: No support for this operation for this object type
> [0]PETSC ERROR: Available only for boundary none or with parallism in y direction
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
> [0]PETSC ERROR: Petsc Release Version 3.6.0, Jun, 09, 2015
> [0]PETSC ERROR: #295 DMLocalToGlobalBegin_DA() line 54 in /home/xiao/Local/petsc-3.6.0-debug/src/dm/impls/da/dagtol.c
> [0]PETSC ERROR: #296 DMLocalToGlobalBegin() line 1944 in /home/xiao/Local/petsc-3.6.0-debug/src/dm/interface/dm.c
>
> I have periodic boundary condition in y direction, and I used INSERT_VALUES in DMLocalToGlobal.
>
> CALL DMLocalToGlobalBegin(da_dof1,wb0_gfpp_loc,INSERT_VALUES,wb0_gfpp,ierr)
> CALL DMLocalToGlobalEnd(da_dof1,wb0_gfpp_loc,INSERT_VALUES,wb0_gfpp,ierr)
>
> Please let me know if you need more information. Thanks in advance.
>
> Best regards
> Jianjun
More information about the petsc-users
mailing list