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>
