[petsc-dev] Problem mixing sieve and TS

Matthew Knepley knepley at gmail.com
Wed Oct 26 13:57:46 CDT 2011


On Wed, Oct 26, 2011 at 6:45 PM, Blaise Bourdin <bourdin at lsu.edu> wrote:

> Hi,
>
> We are slowly progressing in our attempt to use TS to solve evolution
> problems with our Sieve-based f90 unstructured element code, but are having
> a small problem. When we pass a DMMesh object to TSSetDM, we get the
> following error in TSSetup:
>
> [0]PETSC ERROR: DMCreateGlobalVector_Mesh() line 359 in
> src/dm/impls/mesh/mesh.c Must set default section
>
> Program received signal SIGABRT, Aborted.
> 0x00007f0abdfdca75 in *__GI_raise (sig=<value optimized out>) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> 64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>        in ../nptl/sysdeps/unix/sysv/linux/raise.c
> (gdb) where
> #0  0x00007f0abdfdca75 in *__GI_raise (sig=<value optimized out>) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1  0x00007f0abdfe05c0 in *__GI_abort () at abort.c:92
> #2  0x00007f0ac297207b in PetscAbortErrorHandler (comm=-2080374784,
> line=359, fun=0x7f0ac3a4dcf0 "DMCreateGlobalVector_Mesh",
> file=0x7f0ac3a4635e "mesh.c",
>    dir=0x7f0ac3a46180 "src/dm/impls/mesh/", n=73, p=PETSC_ERROR_INITIAL,
> mess=0x7fff983d6080 "Must set default section", ctx=0x0) at errabort.c:62
> #3  0x00007f0ac296da19 in PetscError (comm=-2080374784, line=359,
> func=0x7f0ac3a4dcf0 "DMCreateGlobalVector_Mesh", file=0x7f0ac3a4635e
> "mesh.c", dir=0x7f0ac3a46180 "src/dm/impls/mesh/",
>    n=73, p=PETSC_ERROR_INITIAL, mess=0x7f0ac3a464e8 "Must set default
> section") at err.c:356
> #4  0x00007f0ac2c5258c in DMCreateGlobalVector_Mesh (dm=0x20778a0,
> gvec=0x237d9c0) at mesh.c:359
> #5  0x00007f0ac2932b07 in DMCreateGlobalVector (dm=0x20778a0,
> vec=0x237d9c0) at dm.c:299
> #6  0x00007f0ac3143975 in SNESSetFunction (snes=0x237d7d0, r=0x0,
> func=0x7f0ac31f5f02 <SNESTSFormFunction(_p_SNES*, _p_Vec*, _p_Vec*, void*)>,
> ctx=0x2368a20) at snes.c:1153
> #7  0x00007f0ac31e5dc6 in TSSetIFunction (ts=0x2368a20, res=0x0,
> f=0x7f0ac32f0493 <ourifunction>, ctx=0x7fff983d6ee0) at ts.c:643
> #8  0x00007f0ac32f101e in tssetifunction_ (ts=0x7fff983d77d0, r=0x0,
> f=0x40dadb <ifunctionpoisson>, fP=0x7fff983d6ee0, ierr=0x7fff983d6bcc) at
> ztsf.c:158
> #9  0x000000000040e0d4 in tssetup (appctx=...) at m_TransientHeat.F90:376
> #10 0x000000000040b5fa in transientheat () at TransientHeat.F90:29
> #11 0x000000000047d3ea in main ()
> #12 0x00007f0abdfc7c4d in __libc_start_main (main=<value optimized out>,
> argc=<value optimized out>, ubp_av=<value optimized out>, init=<value
> optimized out>, fini=<value optimized out>,
>    rtld_fini=<value optimized out>, stack_end=0x7fff983d7978) at
> libc-start.c:226
> #13 0x00000000004061b9 in _start ()
>
> My understanding is that we could address this problem in 2 ways
> 1. Associating a default section to the mesh
>

This is not hard. You can just take your solution section and call
DMMeshSetSection(mesh, "default", solution).

The reason is that the DM wants to know how to create global vectors which
hold solution values, etc. Somehow
the data layout must be communicated to the DM.

   Matt


> 2. Allocating the Solution vector, Jacobian matrix and so on by hand using
> the proper sieve--based functions, then passing them to the TS solver.
> but I have no idea how to do either one.
>
> Any suggestion? FWIW, in this test, both the IJacobian matrix and RHS
> Vector are constant, but this will not be the case once in the future.
>
> Something else bugging me is that the Jacobian function does not seem to be
> ever called (even in ex22 from src/ts/examples/tutorial). Is that expected?
> Is there a written description (or link to the literature) for each of the
> ODE solvers implemented in TS?
>
> Blaise
>
>
>
> --
> Department of Mathematics and Center for Computation & Technology
> Louisiana State University, Baton Rouge, LA 70803, USA
> Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276
> http://www.math.lsu.edu/~bourdin
>
>
>
>
>
>
>
>


-- 
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-dev/attachments/20111026/dda97986/attachment.html>


More information about the petsc-dev mailing list