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 <[email protected]> wrote:
> > > On Sep 16, 2017, at 11:33 PM, Hao Zhang <[email protected]> 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 <[email protected]> > wrote: > > > > > On Sep 16, 2017, at 10:39 PM, Hao Zhang <[email protected]> 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
