[Dune] Problem in implementing parallel linear solver

Markus Blatt markus at dr-blatt.de
Thu Dec 7 17:00:43 CET 2017


On Thu, Dec 07, 2017 at 02:49:13PM +0100, Kumar, Paras wrote:
> >>
> >>Here, are a few observations which might give some clues about the error
> >>I
> >>make, but I'm not sure.
> >>1. As can be seen in the output file, A is tridiagonal where as the
> >>distributed are not always symmetric.
> >
> >Please check where the unsymmetry happens. This should only happen
> >rows whose index is not marked as owner.
> >
> >using OwnerSet = DuneCommunication::OwnerSet;
> >using GlobalLookup = DuneCommunication::GlobalLookupIndexSet;
> >GlobalLookup global(DuneComm.indexSet());
> >auto pair = global.pair(index);
> >if(!pair || OwnerSet::contains(pair.local().attribute())
> >  cerr<<"Houston we have a problem at index "<<index<<" which is
> >  owned.
> >
> Could you please explain how do we get the variable index. It seems to be
> the local index (probably wrt *comm_redist in my example code). Also, do I
> need to do this check for all dofs in an iterative manner.
> 

Well if you have an iterator r over matrix rows, then you should use
r.index() as index. You can also use the index of a column interator.

Only check the indices of rows, cols that exhibit unsymmetries.

Markus

-- 
Dr. Markus Blatt - HPC-Simulation-Software & Services http://www.dr-blatt.de
Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany
Tel.: +49 (0) 160 97590858
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20171207/9b1aa33c/attachment.sig>


More information about the Dune mailing list