[petsc-users] Questions for MatSolve

Eduardo Jourdan eduardojourdan92 at gmail.com
Thu Jul 21 11:38:43 CDT 2016


Thank you for the quick answer.

I didn't realize that I could use PC without KSP interface. I also think
that it is what I wanted. Nevertheless, as long as I figured out from the
source code, PcApply for PCSOR basically do some interface and preparations
and then calls MatSOR. I saw that depending on the matrix ('BAIJ, SBAIJ,
and AIJ matrices with Inodes') it does SOR smoothing or block SOR
smoothing.

I think that in my case the seqaij matrix with bs=4 had Inodes with size 4.
That is why calling MatSOR with seqaij or calling with seqbaij converted
from the seqaij seem to give the same result.
However, with the matrix seqaij with bs = 16 I can guess that the rows
inside a block dont have the same nonzero pattern, so Inodes size are
different from block size. I happened to see the follow note in the MatSOR
website page: "Developer Note: We should add block SOR support for AIJ
matrices with block size set to great than one and no inodes ". This may be
the reason why seqaij and seqbaij are leading to different results with my
matrix of bs = 16. I think that answer all may previous questions. I am
sorry, I've got confused and wrote MatSolve instead of MatSOR in my
previous email, what changes it completely.

Best Regards

Eduardo





2016-07-20 0:03 GMT-03:00 Matthew Knepley <knepley at gmail.com>:

> On Tue, Jul 19, 2016 at 8:17 PM, Eduardo Jourdan <
> eduardojourdan92 at gmail.com> wrote:
>
>> Hi all,
>>
>> I would like to perform a specific number (for instance 4 of forward and
>> backward sweeps with a seqaij matrix with block size 4, vectors b and x.
>> Also, I need to do this same procedure with another matrix seqaij block
>> size 16. I would appreciate if someone knows the best way to do it.
>>
>
> It sounds like you want PCSOR and PCApply, not MatSolve.
>
>   Thanks,
>
>      Matt
>
>
>> 1 - I've been trying to use MatSolve. For the bs=4 it seems to work, but
>> with the other matrix with bs=16 the residue diverges. When I call
>> matConvert to convert the later matrix for a seqbaij with bs=16 the result
>> changes and the linear residue is reduced. It is supposed to happen or it
>> is more possible that i am doing something wrong?
>>
>> 2 - MatSolve for seqbaij and seqaij with the same block sizes gives the
>> same results in terms of solution (not performace, memory) ?
>>
>> 3 - Can do I do a specific number of sweeps as told before with the
>> KSP/PC interface?
>>
>> 4 - I saw the manual for the MatSolve and It says that it is for factored
>> matrix. Can I use a matrix just after the MatAssembly calls?
>>
>> Best regards,
>>
>> Eduardo Jourdan
>>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160721/e1825f3c/attachment.html>


More information about the petsc-users mailing list