[petsc-dev] asm / gasm

Mark Adams mfadams at lbl.gov
Sun Jun 26 14:12:43 CDT 2016


On Sun, Jun 26, 2016 at 5:43 PM, Fande Kong <fdkong.jd at gmail.com> 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 <mfadams at lbl.gov> 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 <mfadams at lbl.gov> 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
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20160626/7bcaa835/attachment.html>


More information about the petsc-dev mailing list