[petsc-users] PETSc KSPBCGSL with HYPRE boomeramg preconditioner ksp_monitor in poisson function

Hao Zhang hbcbh1999 at gmail.com
Sun Sep 17 00:33:50 CDT 2017


Call KSPView(). this is I have from the output

for my COARSE grid:

imin = 4 imax = 41
jmin = 4       jmax = 8
kmin = 4       kmax = 20
KSP Object: 24 MPI processes
  type not yet set
  maximum iterations=20, initial guess is zero
  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
  left preconditioning
  using DEFAULT norm type for convergence test
PC Object: 24 MPI processes
  type not yet set
  PC has not been set up so information may be incomplete
KSP Object: 24 MPI processes
  type not yet set
  maximum iterations=20, initial guess is zero
  tolerances:  relative=1e-14, absolute=1e-50, divergence=10000
  left preconditioning
  using DEFAULT norm type for convergence test
PC Object: 24 MPI processes
  type not yet set
  PC has not been set up so information may be incomplete

Using Neumann Solver
  0 KSP Residual norm 4.933753594518e+00
  2 KSP Residual norm 1.028883218492e-03
  4 KSP Residual norm 2.980337307701e-06
  6 KSP Residual norm 2.976110274418e-06
  8 KSP Residual norm 2.976110265786e-06
 10 KSP Residual norm 2.976110265696e-06
 12 KSP Residual norm 2.976158755617e-06
 14 KSP Residual norm 2.976038363683e-06
 16 KSP Residual norm 2.976102606899e-06
 18 KSP Residual norm 2.976429345213e-06
Linear solve did not converge due to DIVERGED_ITS iterations 18

 The solution diverges! The residual is 2.976429e-06. Solve again using
GMRES!
  0 KSP Residual norm 4.932103470452e+00
  1 KSP Residual norm 4.586081825060e-01
  2 KSP Residual norm 4.702606826126e-02
  3 KSP Residual norm 5.717152414461e-03
  4 KSP Residual norm 5.122354290806e-04
  5 KSP Residual norm 4.682702445806e-05
  6 KSP Residual norm 4.368929895884e-06
  7 KSP Residual norm 4.908451624092e-07
  8 KSP Residual norm 4.758895647974e-08
  9 KSP Residual norm 3.831683374269e-09
 10 KSP Residual norm 2.844848230467e-10
 11 KSP Residual norm 2.252748969152e-11
 12 KSP Residual norm 1.432700892770e-12
 13 KSP Residual norm 9.569163228927e-14
 14 KSP Residual norm 1.129667714748e-14
Linear solve converged due to CONVERGED_RTOL iterations 14

In poisson_func(): num_iter = 14, rel_residual = 1.129668e-14

for my  REFINE grid:

imin = 4 imax = 28
jmin = 4       jmax = 10
kmin = 4       kmax = 28
KSP Object: 96 MPI processes
  type not yet set
  maximum iterations=20, initial guess is zero
  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
  left preconditioning
  using DEFAULT norm type for convergence test
PC Object: 96 MPI processes
  type not yet set
  PC has not been set up so information may be incomplete
KSP Object: 96 MPI processes
  type not yet set
  maximum iterations=20, initial guess is zero
  tolerances:  relative=1e-14, absolute=1e-50, divergence=10000
  left preconditioning
  using DEFAULT norm type for convergence test
PC Object: 96 MPI processes
  type not yet set
  PC has not been set up so information may be incomplete

On Sun, Sep 17, 2017 at 1:22 AM, Hao Zhang <hbcbh1999 at gmail.com> wrote:

> Thanks!
>
> On Sun, Sep 17, 2017 at 1:20 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>>
>> > On Sep 17, 2017, at 12:17 AM, Hao Zhang <hbcbh1999 at gmail.com> wrote:
>> >
>> > OK. I will check the output Calling KSPView()
>> >
>> > I am experimenting with -start_in_debugger. it's for serial not for
>> parallel, right?
>>
>>    It can be for parallel, opens an xterm with the debugger for each MPI
>> process. You need to type cont in all the windows
>>
>>
>> >
>> > On Sun, Sep 17, 2017 at 1:12 AM, Barry Smith <bsmith at mcs.anl.gov>
>> wrote:
>> >
>> >   Should work in the code also. Call KSPSetTolerances() and then call
>> KSPView() to see what it is set to
>> >
>> > > On Sep 17, 2017, at 12:11 AM, Hao Zhang <hbcbh1999 at gmail.com> wrote:
>> > >
>> > > Yes. but only works via command line option.before was set up in the
>> code.
>> > >
>> > > On Sun, Sep 17, 2017 at 12:44 AM, Barry Smith <bsmith at mcs.anl.gov>
>> wrote:
>> > >
>> > > > On Sep 16, 2017, at 11:33 PM, Hao Zhang <hbcbh1999 at gmail.com>
>> wrote:
>> > > >
>> > > > thanks.
>> > > >
>> > > > Yes. KSPSetTolerances is used.
>> > > >
>> > > > tolerance is set to be 1.e-14
>> > >
>> > >    There is the rtol and atol are you sure you set the atol to 1e-14?
>> > >
>> > > >
>> > > > I was thinking if there is a debug option I could use from PETSc to
>> get some insight?  GDB was used.
>> > >
>> > >    You can use the command line option -start_in_debugger
>> > >
>> > >
>> > > >
>> > > > On Sun, Sep 17, 2017 at 12:25 AM, Barry Smith <bsmith at mcs.anl.gov>
>> wrote:
>> > > >
>> > > > > On Sep 16, 2017, at 10:39 PM, Hao Zhang <hbcbh1999 at gmail.com>
>> wrote:
>> > > > >
>> > > > > hi,
>> > > > >
>> > > > > I am using KSPBCGSL method and HYPRE boomeramg precondtioner
>> passed into KSPsolve for poisson equation as part of incompressible NS.
>> > > > >
>> > > > > I have two questions
>> > > > > Q1 is number of iterations for the same solver. max_iter = 20 for
>> the same poisson function
>> > > > >
>> > > > > KSPGetIterationNumber() is used to set up max_iter = 20
>> > > >
>> > > >   What do you mean, KSPGetIterationNumber() tells you the current
>> number of iterations. You cannot use it to set the maximum number of
>> iterations. Use KSPSetTolerances() or -ksp_max_it <its> to set the number
>> > > > >
>> > > > >
>> > > > >  0 KSP Residual norm 4.512245447770e-04
>> > > > >   2 KSP Residual norm 6.396709069731e-07
>> > > > >   4 KSP Residual norm 1.757784220489e-10
>> > > > >   6 KSP Residual norm 1.501464709144e-14
>> > > > >   8 KSP Residual norm 1.376381429122e-18
>> > > > >  10 KSP Residual norm 1.072650548945e-19
>> > > > > In poisson_func(): num_iter = 10, rel_residual = 1.072651e-19
>> > > > >
>> > > > > and the very same function at the next time step gives: remind
>> you guys max_iter = 20. I assume the number of iterations should stop at
>> num_iter = 2.
>> > > >
>> > > >    Why would it stop at num_iter 2. The number of iterations
>> allowed is the same for each solve, it does not accumulate over all solves.
>> > > >
>> > > > >  but the solver seems to keep iterating util hitting the max_iter.
>> > > > >  0 KSP Residual norm 5.107005838093e-16
>> > > > >   2 KSP Residual norm 3.353634821198e-20
>> > > > >   4 KSP Residual norm 1.835096039266e-23
>> > > > >   6 KSP Residual norm 1.645496102409e-23
>> > > > >   8 KSP Residual norm 1.645496099837e-23
>> > > > >  10 KSP Residual norm 1.645496099836e-23
>> > > > >  12 KSP Residual norm 1.645496099530e-23
>> > > > >  14 KSP Residual norm 1.645496034473e-23
>> > > > >  16 KSP Residual norm 1.645461130961e-23
>> > > > >  18 KSP Residual norm 1.645460451075e-23
>> > > > > In poisson_func(): num_iter = 18, rel_residual = 1.645460e-23
>> > > >
>> > > >    But the way it is almost never realistic to try to get residual
>> norms to be this small. You might consider using something like -ksp_atol
>> 1.e-16 or something
>> > > >
>> > > > >
>> > > > > Q2 is: it seems HYPRE with KSPsolve works with coarse mesh but
>> when I double the mesh size. the solve halted indefinitely. ksp_monitor
>> didn't produce any results.
>> > > > > is there a way to understand what's happening?
>> > > >
>> > > >    You could run in the debugger and use control c to interrupt the
>> code when it is "hanging" and type bt to see the stack trace for the
>> hanging.
>> > > >
>> > > >
>> > > > >
>> > > > > --
>> > > > > Hao Zhang
>> > > > > Dept. of Applid Mathematics and Statistics,
>> > > > > Stony Brook University,
>> > > > > Stony Brook, New York, 11790
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > Hao Zhang
>> > > > Dept. of Applid Mathematics and Statistics,
>> > > > Stony Brook University,
>> > > > Stony Brook, New York, 11790
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > Hao Zhang
>> > > Dept. of Applid Mathematics and Statistics,
>> > > Stony Brook University,
>> > > Stony Brook, New York, 11790
>> >
>> >
>> >
>> >
>> > --
>> > Hao Zhang
>> > Dept. of Applid Mathematics and Statistics,
>> > Stony Brook University,
>> > Stony Brook, New York, 11790
>>
>>
>
>
> --
> Hao Zhang
> Dept. of Applid Mathematics and Statistics,
> Stony Brook University,
> Stony Brook, New York, 11790
>



-- 
Hao Zhang
Dept. of Applid Mathematics and Statistics,
Stony Brook University,
Stony Brook, New York, 11790
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170917/51dbd4e4/attachment-0001.html>


More information about the petsc-users mailing list