On Thu, Feb 23, 2012 at 12:05 PM, Bojan Niceno <bojan.niceno@psi.ch> wrote:
Dear Matthew,


thank you for your response.  When I use VecCreateGhost, I get the following:

It appears that you passed a bad communicator. Did you not initialize a 'comm' variable?

   Matt
 
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
[0]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#valgrind[0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors
[0]PETSC ERROR: likely location of problem given in stack below
[0]PETSC ERROR: ---------------------  Stack Frames ------------------------------------
[0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,
[0]PETSC ERROR:       INSTEAD the line number of the start of the function
[0]PETSC ERROR:       is given.
[0]PETSC ERROR: [0] PetscCommDuplicate line 140 src/sys/objects/tagm.c
[0]PETSC ERROR: [0] PetscHeaderCreate_Private line 30 src/sys/objects/inherit.c
[0]PETSC ERROR: [0] VecCreate line 32 src/vec/vec/interface/veccreate.c
[0]PETSC ERROR: [0] VecCreateGhostWithArray line 567 src/vec/vec/impls/mpi/pbvec.c
[0]PETSC ERROR: [0] VecCreateGhost line 647 src/vec/vec/impls/mpi/pbvec.c
[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Signal received!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 6, Wed Jan 11 09:28:45 CST 2012
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: ./PSI-Flow on a arch-linu named lccfd06 by niceno Thu Feb 23 19:02:45 2012
[0]PETSC ERROR: Libraries linked from /homecfd/niceno/PETSc-3.2-p6/arch-linux2-c-debug/lib
[0]PETSC ERROR: Configure run at Fri Feb 10 10:24:13 2012
[0]PETSC ERROR: Configure options
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: User provided function() line 0 in unknown directory unknown file

I don't understand what could be causing it.  I took very good care to match the global numbers of ghost cells when calling VecCreateGhost


    Kind regards,


    Bojan


On 2/23/2012 5:53 PM, Matthew Knepley wrote:
On Thu, Feb 23, 2012 at 10:46 AM, Bojan Niceno <bojan.niceno@psi.ch> wrote:
Hi all,

I've never used a mailing list before, so I hope this message will reach PETSc users and experts and someone might be willing to help me.  I am also novice in PETSc.

I have developed an unstructured finite volume solver on top of PETSc libraries.  In sequential, it works like a charm.  For the parallel version, I do domain decomposition externally with Metis, and work out local and global numberings, as well as communication patterns between processor.  (The latter don't seem to be needed for PETSc, though.)  When I run my program in parallel, it also works, but I miss values in vectors' ghost points.

I create vectors with command: VecCreate(PETSC_COMM_WORLD, &x);

Is it possible to get the ghost values if a vector is created like this?

I do not understand this question. By definition, "ghost values" are those not stored in the global vector.
 
I have tried to use VecCreateGhost, but for some reason which is beyond my comprehension, PETSc goes berserk when it reaches the command: VecCreateGhost(PETSC_COMM_WORLD, n, PETSC_DECIDE, nghost, ifrom, &x)

I think you can understand that "berserk" tells me absolutely nothing. Error message? Stack trace? Did you try to run an
example which uses VecGhost?

  Thanks,

     Matt
 
Can anyone help me?  Either how to reach ghost values for vector created by VecCreate, or how to use VecCreateGhost properly?


  Kind regards,

  Bojan



--
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


--



--
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