I will attempt to just fix the underlying issue here, that is allow DMStagSetUniformCoordinates() to work for period boundary conditions with a single rank in the corresponding dimension.
Am Mi., 12. Juni 2019 um 19:10 Uhr schrieb Patrick Sanan < [email protected]>: > Ah, okay, so unless something weird is going on, that probably should > never have passed (if it's asking for periodic BCs with one rank in a given > direction, and INSERT_VALUES, so it's not well-defined which of the > multiple local dof mapping to a given global dof should be used). I'll try > to reproduce and fix it and/or talk to Chris. > > Am Mi., 12. Juni 2019 um 18:27 Uhr schrieb Balay, Satish via petsc-dev < > [email protected]>: > >> On Wed, 12 Jun 2019, Lisandro Dalcin via petsc-dev wrote: >> >> > $ python test/runtests.py -v -i dmstag TestDMStag_2D_PXY >> > [0@kl-18232] Python 2.7 (/usr/local/opt/python@2/bin/python2.7) >> > [0@kl-18232] PETSc 3.11.2 development (conf: 'arch-darwin-c-debug') >> > [0@kl-18232] petsc4py 3.11.0 >> (build/lib.macosx-10.14-x86_64-2.7/petsc4py) >> > testCoordinates (test_dmstag.TestDMStag_2D_PXY) ... ERROR >> > testDMDAInterface (test_dmstag.TestDMStag_2D_PXY) ... ERROR >> > testDof (test_dmstag.TestDMStag_2D_PXY) ... ok >> > testGetOther (test_dmstag.TestDMStag_2D_PXY) ... ok >> > testGetVec (test_dmstag.TestDMStag_2D_PXY) ... ERROR >> > testMigrateVec (test_dmstag.TestDMStag_2D_PXY) ... ERROR >> >> I get: >> >> ====================================================================== >> ERROR: testCoordinates (test_dmstag.TestDMStag_2D_PXY) >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File "test/test_dmstag.py", line 39, in testCoordinates >> self.da.setUniformCoordinates(0,1,0,1,0,1) >> File "PETSc/DMStag.pyx", line 255, in >> petsc4py.PETSc.DMStag.setUniformCoordinates >> Error: error code 56 >> [0] DMStagSetUniformCoordinates() line 1077 in >> /home/balay/petsc.z/src/dm/impls/stag/stagutils.c >> [0] DMStagSetUniformCoordinatesExplicit() line 1118 in >> /home/balay/petsc.z/src/dm/impls/stag/stagutils.c >> [0] DMStagSetUniformCoordinatesExplicit_2d() line 135 in >> /home/balay/petsc.z/src/dm/impls/stag/stag2d.c >> [0] DMLocalToGlobalBegin() line 2614 in >> /home/balay/petsc.z/src/dm/interface/dm.c >> [0] DMLocalToGlobalBegin_Stag() line 230 in >> /home/balay/petsc.z/src/dm/impls/stag/stag.c >> [0] No support for this operation for this object type >> [0] Local to Global scattering with INSERT_VALUES is not supported for >> single rank in a direction with boundary conditions (e.g. periodic) >> inducing a non-injective local->global map. Either change the boundary >> conditions, use a stencil width of zero, or use more than one rank in the >> relevant direction (e.g. -stag_ranks_x 2) >> >> Satish >> >>
