>>   solution->localize(*current_local_solution);
>> 
>> Shouldn't this either be a call to the version of localize that takes the
>> send_list?  Or more likely just call update()...
> 
> At first glance I'd say yes - this looks like a huge bug in the
> original version of this function.  I'll wait for Ben to weigh in,
> though.

Agreed.

> Shouldn't the (later) introduction of ghosted PetscVectors have
> ameliorated the problem?  They've got all the send_list information
> implicitly built-in to the vector.  It seems like it should be
> possible to avoid the excess communication even when users don't
> provide a send_list.  Or is it that they have the send_list
> information on sending processors, only on receiving processors, so
> sending processors can't pre-filter what they send?

I don't think so - the call to localize implemented in the PetscVector with
no send list builds up a unity send list, effectively localizing the whole
thing:

http://libmesh.sourceforge.net/doxygen/classlibMesh_1_1PetscVector.php#aa608
bc0dad18db41e2441111129bf57d

So this should be changed to use the real send list - now hopefully there
are no bugs in there about it being incomplete for projection!

-Ben



------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to