On Wed 2009-02-25 11:18, Tim Kroeger wrote:
> On Tue, 24 Feb 2009, Roy Stogner wrote:
> > Besides, this can't be the right fix, can it?  Why should any parallel
> > communication be required to copy one consistent ghosted vector to
> > another?  It seems as if VecCopy is simply failing to copy the whole
> > vec, and I don't like not understanding why.
> 
> Good question.  Perhaps one should apply VecCopy to the local form 
> (obtained via VecGhostGetLocalForm())?  Also, I wonder whether other 
> methods, such as VecScale(), might possibly suffer from similar 
> problems?

Roy, are you familiar with the distinction between the local form and
the global form?  One chunk of memory is allocated for the owned portion
of the global degrees of freedom plus the ghosts.  The local form is a
sequential vector (it's doesn't know anything about other processes,
operations on it do not need to be called collectively) which includes
all the ghosted values.  The global form is a parallel vector
(operations need to be called collectively since it uses a parallel
communicator) that only uses the part of the vector corresponding to
owned degrees of freedom.

This means that operations on the parallel vector behave just like an
unghosted parallel vector, they don't touch the ghost degrees of
freedom.  Operations on the local form will of course involve the
ghosted values, it doesn't even know the difference between owned and
ghosted dofs.  The VecGhost* functions are the only ones that understand
this relationship.

I hope that helps.

Jed

Attachment: pgps5bebJzyuc.pgp
Description: PGP signature

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to