[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