[petsc-users] Accessing Vector's ghost values

Bojan Niceno bojan.niceno at psi.ch
Thu Feb 23 12:51:04 CST 2012


Dear Matt,


are you sure?  It is almost 4000 lines long!  Shall I send only the 
function which bother me?

If the entire code is what you need, shall I make a tarball and attach it?


     Kind regards,


     Bojan

On 2/23/2012 7:44 PM, Matthew Knepley wrote:
> On Thu, Feb 23, 2012 at 12:28 PM, Bojan Niceno <bojan.niceno at psi.ch 
> <mailto:bojan.niceno at psi.ch>> wrote:
>
>     On 2/23/2012 7:24 PM, Matthew Knepley wrote:
>>     On Thu, Feb 23, 2012 at 12:05 PM, Bojan Niceno
>>     <bojan.niceno at psi.ch <mailto:bojan.niceno at 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?
>
>     I pass PETSC_COMM_WORLD to VecCreateGhost.
>
>     I don't know what you mean by 'comm' variable :-(  I called all
>     the routines to initialize PETSc.
>
>
> Send your code to petsc-maint at mcs.anl.gov 
> <mailto:petsc-maint at mcs.anl.gov>.
>
>    Matt
>
>
>         Cheers,
>
>
>         Bojan
>
>>
>>        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 at psi.ch <mailto:bojan.niceno at 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
>
>
>     -- 
>
>
>
>
> -- 
> 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


-- 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120223/5e4ec54f/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 6515 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120223/5e4ec54f/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 6515 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120223/5e4ec54f/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Signature.png
Type: image/png
Size: 6515 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120223/5e4ec54f/attachment-0005.png>


More information about the petsc-users mailing list