[petsc-users] Newton methods that converge all the time

Buesing, Henrik hbuesing at eonerc.rwth-aachen.de
Thu Nov 30 08:22:50 CST 2017


1) There should be more to the stack frame. I assume you call MatSetValuesStencil(). Do you use PetscFunctionBegin/Return() in that function? It would add to the stack

[Buesing, Henrik] Yes, I call MatSetValuesStencil(). This is the full error. I abort the program after setting MatSetValuesStencil() once. If I do not do this, the program runs on, but the Jacobian is assembled wrong. The program terminates reaching minimum time step size.

2) I am guessing that you are using a DMDA. There should be an ISL2G there automatically. It does not make sense to me that its gone,
and ex19 works that way. The first thing to do to track it down is to get the full stack. Then I think we probably need an example small
enough to run here to track through everything, unless you are good with teh debugger.

[Buesing, Henrik] Yes, I am using a DMDA. The program does not crash abnormally, just does not assemble the Jacobian in a correct way. How would I get the full stack?

Henrik


  Thanks,

    Matt

Thank you!
Henrik



[1]

-snes_type ngmres -npc_snes_max_it 1 -snes_converged_reason -npc_snes_type fas -npc_fas_coarse_snes_converged_reason -npc_fas_levels_snes_type newtonls -npc_fas_levels_snes_max_it 6 -npc_fas_levels_snes_linesearch_type basic -npc_fas_levels_snes_max_linear_solve_fail 30 -npc_fas_levels_ksp_max_it 20 -npc_fas_levels_snes_converged_reason -npc_fas_coarse_snes_linesearch_type basic

[2]

[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Null argument, when expecting valid pointer
[0]PETSC ERROR: Null Object: Parameter # 1
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.8.2, unknown
[0]PETSC ERROR: /rwthfs/rz/cluster/work/hb111949/Descramble/1D_Model/steam/JUBE/ngmres/debug/shem_fw64gnu_steam.x on a arch-linux2-c-debug named linuxbmc0004.rz.RWTH-Aachen.DE<http://linuxbmc0004.rz.RWTH-Aachen.DE> by hb111949 Thu Nov 30 14:35:56 2017
[0]PETSC ERROR: Configure options --download-fblaslapack --with-cc=mpicc --with-fc=mpif90 --with-cxx=mpicxx --download-hypre --download-superlu_dist --download-suitesparse --download-scalapack --download-blacs --download-hdf5 --download-parmetis --download-metis --with-debugging=1 --download-mumps
[0]PETSC ERROR: #1 ISLocalToGlobalMappingApply() line 639 in /rwthfs/rz/cluster/home/hb111949/Code/petsc/src/vec/is/utils/isltog.c
[0]PETSC ERROR: #2 MatSetValuesLocal() line 2139 in /rwthfs/rz/cluster/home/hb111949/Code/petsc/src/mat/interface/matrix.c
[0]PETSC ERROR: #3 MatSetValuesStencil() line 1550 in /rwthfs/rz/cluster/home/hb111949/Code/petsc/src/mat/interface/matrix.c


--
Dipl.-Math. Henrik Büsing
Institute for Applied Geophysics and Geothermal Energy
E.ON Energy Research Center
RWTH Aachen University
------------------------------------------------------
Mathieustr. 10<https://maps.google.com/?q=Mathieustr.+10&entry=gmail&source=g>            |    Tel +49 (0)241 80 49907<tel:+49%20241%208049907>
52074 Aachen, Germany     |    Fax +49 (0)241 80 49889<tel:+49%20241%208049889>
------------------------------------------------------
http://www.eonerc.rwth-aachen.de/GGE
hbuesing at eonerc.rwth-aachen.de<mailto:hbuesing at eonerc.rwth-aachen.de>
------------------------------------------------------

Von: Matthew Knepley [mailto:knepley at gmail.com<mailto:knepley at gmail.com>]
Gesendet: 07 November 2017 12:54
An: Buesing, Henrik <hbuesing at eonerc.rwth-aachen.de<mailto:hbuesing at eonerc.rwth-aachen.de>>
Cc: petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>>
Betreff: Re: [petsc-users] Newton methods that converge all the time

On Tue, Nov 7, 2017 at 4:19 AM, Buesing, Henrik <hbuesing at eonerc.rwth-aachen.de<mailto:hbuesing at eonerc.rwth-aachen.de>> wrote:
Dear all,

I am solving a system of nonlinear, transient PDEs. I am using Newton’s method in every time step to solve the nonlinear algebraic equations. Of course, Newton’s method only converges if the initial guess is sufficiently close to the solution.

This is often not the case and Newton’s method diverges. Then, I reduce the time step and try again. This can become prohibitively costly, if the time steps get very small. I am thus looking for variants of Newton’s method, which have a bigger convergence radius or ideally converge all the time.

I tried out the pseudo-timestepping described in http://www.mcs.anl.gov/petsc/petsc-current/src/ts/examples/tutorials/ex1f.F.html.

However, this does converge even worse. I am seeing breakdown when I have phase changes (e.g. liquid to two-phase).

I was under the impression that pseudo-timestepping should converge better. Thus, my question:

Am I doing something wrong or is it possible that Newton’s method converges and pseudo-timestepping does not?

Thank you for any insight on this.

Hi Hendrik,

I would try using NGMRES as a nonlinear preconditioner. I have an example in my tutorial slides for using it with SNES ex19.
I hope this will work because I suspect that around the phase boundary Newton directions are noisy, since sometimes you
step into the other phase. NGMRES takes a few directions (you set the m) and then picks the best one.

  Hopefully this helps,

     Matt

Henrik


--
Dipl.-Math. Henrik Büsing
Institute for Applied Geophysics and Geothermal Energy
E.ON Energy Research Center
RWTH Aachen University
------------------------------------------------------
Mathieustr. 10<https://maps.google.com/?q=Mathieustr.+10&entry=gmail&source=g>            |    Tel +49 (0)241 80 49907<tel:+49%20241%208049907>
52074 Aachen, Germany     |    Fax +49 (0)241 80 49889<tel:+49%20241%208049889>
------------------------------------------------------
http://www.eonerc.rwth-aachen.de/GGE
hbuesing at eonerc.rwth-aachen.de<mailto:hbuesing at eonerc.rwth-aachen.de>
------------------------------------------------------




--
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

https://www.cse.buffalo.edu/~knepley/<http://www.caam.rice.edu/~mk51/>



--
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

https://www.cse.buffalo.edu/~knepley/<http://www.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20171130/6633f136/attachment-0001.html>


More information about the petsc-users mailing list