On Sun, Jun 26, 2016 at 5:43 PM, Fande Kong <[email protected]> wrote:
> Mark, > > Size of the index set is smaller than size of pmat in your case? > I've added in the BC vertices into a dummy domain, which will just be a diagonal matrix, so there is complete "cover" now. It works in serial. It does not work in parallel. If I change the number of processor, for ex56 in ksp/kps/examples/tutorials, from 1 to 8 I get this error: mark/gamg-agg-gasm *= ~/Codes/petsc/src/ksp/ksp/examples/tutorials$ make runex56 1,4c1,198 < Linear solve converged due to CONVERGED_RTOL iterations 8 < Linear solve converged due to CONVERGED_RTOL iterations 8 < Linear solve converged due to CONVERGED_RTOL iterations 8 < [0]main |b-Ax|/|b|=1.940043e-04, |b|=4.969822e+00, emax=9.926090e-01 --- > [4]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- > [4]PETSC ERROR: Nonconforming object sizes > [4]PETSC ERROR: Vector wrong size 192 for scatter 201 (scatter forward and vector from != ctx from size) > They should be the same. I do not think we ever considered the index set > has a different size from that of Pmat. > > Fande, > > On Sun, Jun 26, 2016 at 7:09 AM, Mark Adams <[email protected]> wrote: > >> GASM does assume the index set includes every equation in the matrix. It >> should probably check this as it has pmat. >> >> I guess I can add these BC vertices in. >> >> On Sun, Jun 26, 2016 at 11:20 AM, Mark Adams <[email protected]> wrote: >> >>> Fande, >>> >>> An alternative debug path that may be simpler and direct, as it works >>> with master: 'make runex56' in ksp/examples/tutorials in >>> branch mark/gamg-agg-asm. >>> >>> This runs clean in valgrind (for me), I've added an ISView call to see >>> the data that causes the error, it runs on one processor, uses a 3^3 cell >>> grid (tiny), it exits cleanly with the error: >>> >>> .... >>> 87 189 >>> 88 190 >>> 89 191 >>> > [0]PETSC ERROR: --------------------- Error Message >>> -------------------------------------------------------------- >>> > [0]PETSC ERROR: Argument out of range >>> > [0]PETSC ERROR: Index 144 at 42 location greater than max 144 >>> [0]PETSC ERROR: #1 VecScatterCheckIndices_Private() line 39 in >>> /Users/markadams/Codes/petsc/src/vec/vec/utils/vscat.c >>> [0]PETSC ERROR: #2 VecScatterCreate() line 1227 in >>> /Users/markadams/Codes/petsc/src/vec/vec/utils/vscat.c >>> [0]PETSC ERROR: #3 PCSetUp_GASM() line 481 in >>> /Users/markadams/Codes/petsc/src/ksp/pc/impls/gasm/gasm.c >>> .... >>> >>> This index 144 is very suspicious to me because there are 144 REAL dofs >>> in this test, 192 "gross" dofs, minus (48) boundary conditions. This >>> problem has just two aggregates with sizes 54 & 90 (=144). (I strip out the >>> BC vertices.) >>> >>> Maybe GASM is getting confused because I do not give it domains that >>> cover the entire mesh (I strip out BC vertices). GASM thinks there are 144 >>> equations in this system when in fact there are 192. >>> >>> It looks to me like GASM is working a space stripped of BCs but it is >>> using my indices that are in the full space. >>> >>> Mark >>> >>> >>> >> >
