[petsc-users] convergence problem- 3D Cahn Hillard
Barry Smith
bsmith at petsc.dev
Thu Jan 7 13:38:02 CST 2021
It looks like valgrind is being run on bash, not on your program, so these leaks are not relevant. by 0x41C482: main (in /usr/bin/bash)
So the entire code is finite difference based?
Barry
> On Jan 7, 2021, at 12:48 PM, Sepideh Kavousi <skavou1 at lsu.edu> wrote:
>
> I use finite difference and, as an example, the discretization of Pxx is:
> Pxx=((aY[k][j][i+1].p+aY[k][j][i-1].p-2.0*aY[k][j][i].p)/hx2);
>
> I ran the code with valgrind and it seems there is a memory leak problem.
> I am trying to figure out what is causing the memory error.
> Best,
> Sepideh
>
> From: Jed Brown <jed at jedbrown.org <mailto:jed at jedbrown.org>>
> Sent: Tuesday, January 5, 2021 10:31 PM
> To: Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>>; Barry Smith <bsmith at petsc.dev <mailto:bsmith at petsc.dev>>
> Cc: petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov> <petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov>>; Sepideh Kavousi <skavou1 at lsu.edu <mailto:skavou1 at lsu.edu>>
> Subject: Re: [petsc-users] convergence problem- 3D Cahn Hillard
>
> Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>> writes:
>
> > On Tue, Jan 5, 2021 at 9:52 PM Barry Smith <bsmith at petsc.dev <mailto:bsmith at petsc.dev>> wrote:
> >
> >>
> >> Ah, -snes_fd_color so it was already using finite differencing with
> >> coloring to compute the Jacobian which explains why the differences below
> >> are exactly zero.
> >>
> >> Implicit time-step schemes essentially add terms like I/dt to the
> >> Jacobian evaluation (and the function defining the ODE) so for tiny
> >> time-steps the nonlinear system gets easier and easier to solve (the
> >> nonlinear function becomes linear) But we didn't see that with your earlier
> >> run where dt 3.72529e-13 (which is absurdly small). for tiny time-steps
> >> SNES still made no progress. It is hard to understand how this is possible,
> >> regardless of the problem you are solving.
> >>
> >> I would next run the code with valgrind to insure there are no issues of
> >> memory corruption or un-initialized data.
> >>
> >> How are you computing
> >>
> >> (dp/dt)*(Pxx+Pyy+Pzz)
> >>
> >>
> >> That is, how are you computing Pxx etc?
> >>
> >> Are you using finite elements for the U and P model? Exactly what elements?
> >>
> >
> > I agree with Barry. This does not seem to make sense, so I would expect
> > some kind of inconsistent discretization, or other
> > mathematical problem which makes your system unsolvable.
>
> Try -mat_fd_type ds before ruling out sensitivity to differencing parameter.
> <valgrind-out.txt>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210107/b1e1acda/attachment.html>
More information about the petsc-users
mailing list