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 <[email protected]> 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 <[email protected] <mailto:[email protected]>>
> Sent: Tuesday, January 5, 2021 10:31 PM
> To: Matthew Knepley <[email protected] <mailto:[email protected]>>; Barry 
> Smith <[email protected] <mailto:[email protected]>>
> Cc: [email protected] <mailto:[email protected]> 
> <[email protected] <mailto:[email protected]>>; Sepideh Kavousi 
> <[email protected] <mailto:[email protected]>>
> Subject: Re: [petsc-users] convergence problem- 3D Cahn Hillard
>  
> Matthew Knepley <[email protected] <mailto:[email protected]>> writes:
> 
> > On Tue, Jan 5, 2021 at 9:52 PM Barry Smith <[email protected] 
> > <mailto:[email protected]>> 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>

Reply via email to