[petsc-users] Modeling a Network with DMPlex?

Florian Meier florian.meier at koalo.de
Mon Feb 17 09:31:49 CST 2014


On 02/17/2014 03:39 PM, Matthew Knepley wrote:
> On Mon, Feb 17, 2014 at 8:05 AM, Florian Meier <florian.meier at koalo.de
> <mailto:florian.meier at koalo.de>> wrote:
>     Thank you very much for your review.
>     On 02/17/2014 02:50 AM, Abhyankar, Shrirang G. wrote:
>     > Hi Florian,
>     >   I was able to run your example with a small change (used PetscMalloc
>     > instead of PetscMalloc1).
>     That is strange. When I use PetscMalloc, it says "Memory corruption!".
> Run under valgrind. There is a bug in the code.

I didn't notice that the input parameters to PetscMalloc are
different... Now it is ok.

>     > However, the solution on more than 1 processor
>     > is different presumably because of some work "TODO" for the ghost
>     vertices.
>     I do not really understand these ghost vertices. I thought it would be
>     ok to just skip those when I iterate over the vertices, but not when I
>     iterate over the edges, but apparently that is not the case.
> Here is how the parallelism works. We partition the edges into disjoint
> sets, one for
> each process. Vertices shared by edges on different processes are
> duplicated, with
> the "ghost" vertex sitting on all processes that do not own the vertex.

So the x values for the ghost vertices are always synchronized

More information about the petsc-users mailing list