[petsc-users] C++ wrapper for petsc vector

Matthew Knepley knepley at gmail.com
Tue Aug 4 12:24:14 CDT 2015


On Tue, Aug 4, 2015 at 12:15 PM, Martin Vymazal <martin.vymazal at vki.ac.be>
wrote:

> Hello,
>
>  I'm trying to create a small C++ class to wrap the 'Vec' object. This
> class
> has an internal pointer to a member variable of type Vec, and in its
> destructor, it calls VecDestroy. Unfortunately, my test program segfaults
> and
> this seems to be due to the fact that the destructor of the wrapper class
> is
> called after main() calls PetscFinalize(). Apparently VecDestroy performs
> some
> collective communication, so calling it after PetscFinalize() is too late.
> How
> can I fix this?
>

1) Declare your C++ in a scope, so that it goes out of scope before
PetscFinalize()

2) Is there any utility to this wrapper since everything can be called
directly from C++?

  Thanks,

     Matt


> Thank you,
>
>  Martin Vymazal
>



-- 
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/20150804/463bad30/attachment.html>


More information about the petsc-users mailing list