[petsc-dev] DMSetDefaultSection destroys old sections

Jed Brown jedbrown at mcs.anl.gov
Thu Aug 30 17:44:33 CDT 2012


You must have something else going on. The following works fine, for
example.

diff --git a/src/snes/examples/tutorials/ex5f.F
b/src/snes/examples/tutorials/ex5f.F
--- a/src/snes/examples/tutorials/ex5f.F
+++ b/src/snes/examples/tutorials/ex5f.F
@@ -58,6 +58,7 @@
       PetscErrorCode ierr
       PetscReal      lambda_max,lambda_min
       PetscBool      flg
+      DM da2


 !  Note: Any user-defined Fortran routines (such as FormJacobianLocal)
@@ -144,6 +145,9 @@
       call DMDASetLocalFunction(da,FormFunctionLocal,ierr)
       call DMDASetLocalJacobian(da,FormJacobianLocal,ierr)
       call SNESSetDM(snes,da,ierr)
+      da2 = da
+      call PetscObjectReference(da2,ierr)
+      call DMDestroy(da2,ierr)

 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 !  Customize nonlinear solver; set runtime options


On Thu, Aug 30, 2012 at 5:36 PM, Chris Eldred <chris.eldred at gmail.com>wrote:

> I get an error when I try to use that:
>
> [0]PETSC ERROR: --------------------- Error Message
> ------------------------------------
> [0]PETSC ERROR: Corrupt argument:
> see http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind!
> [0]PETSC ERROR: Invalid type of object: Parameter # 1!
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: Petsc Development HG revision:
> 56f27b189e4fd57f5a4b7ffd6aa6bb08bd8a4d5b  HG Date: Wed Aug 29 12:03:50
> 2012 -0500
> [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: ./swe on a arch-linu named Puget-101334 by user Thu
> Aug 30 16:35:51 2012
> [0]PETSC ERROR: Libraries linked from
> /home/user/Desktop/LIBRARIES/petsc-dev/arch-linux2-cxx-debug/lib
> [0]PETSC ERROR: Configure run at Wed Aug 29 12:49:26 2012
> [0]PETSC ERROR: Configure options --download-boost --download-chaco
> --download-ctetgen --download-f-blas-lapack --download-fiat
> --download-generator --download-metis --download-ml --download-mpich
> --download-parmetis --download-scientificpython --download-triangle
> --with-clanguage=cxx --with-dynamic-loading --with-shared-libraries
> --with-sieve PETSC_ARCH=arch-linux2-cxx-debug
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: PetscObjectReference() line 378 in
> /home/user/Desktop/LIBRARIES/petsc-dev/src/sys/objects/inherit.c
> application called MPI_Abort(MPI_COMM_WORLD, 64) - process 0
> [unset]: aborting job:
> application called MPI_Abort(MPI_COMM_WORLD, 64) - process 0
>
>
> On Thu, Aug 30, 2012 at 4:32 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > On Thu, Aug 30, 2012 at 5:30 PM, Chris Eldred <chris.eldred at gmail.com>
> > wrote:
> >>
> >> How would I use PetscObjectReference((PetscObject)section) in Fortran?
> >
> >
> > call PetscObjectReference(section,ierr)
> >
> >>
> >>
> >> On Thu, Aug 30, 2012 at 4:16 PM, Jed Brown <jedbrown at mcs.anl.gov>
> wrote:
> >> > On Thu, Aug 30, 2012 at 5:12 PM, Matthew Knepley <knepley at gmail.com>
> >> > wrote:
> >> >>
> >> >> Its not wrong. This is the way I wanted it. You set the PetscSection
> >> >> and
> >> >> give up control. If you
> >> >> do not want to give up control, then call PetscObjectReference()
> before
> >> >> passing it in.
> >> >
> >> >
> >> > Since this is (a) different from everything else in PETSc and (b) not
> >> > explicitly documented, it is doubly wrong.
> >>
> >>
> >>
> >> --
> >> Chris Eldred
> >> DOE Computational Science Graduate Fellow
> >> Graduate Student, Atmospheric Science, Colorado State University
> >> B.S. Applied Computational Physics, Carnegie Mellon University, 2009
> >> chris.eldred at gmail.com
> >
> >
>
>
>
> --
> Chris Eldred
> DOE Computational Science Graduate Fellow
> Graduate Student, Atmospheric Science, Colorado State University
> B.S. Applied Computational Physics, Carnegie Mellon University, 2009
> chris.eldred at gmail.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120830/3ad3d2a8/attachment.html>


More information about the petsc-dev mailing list