Setting tolerances for multigrid

Barry Smith bsmith at mcs.anl.gov
Fri Jun 15 10:10:49 CDT 2007


  You need to make sure the linear solvers are converging properly
before even worrying about time-stepping. Run with -ksp_monitor_true_residual
(-ksp_truemonitor on older versions of PETSc) and -ksp_converged_reason

   Barry


On Fri, 15 Jun 2007, Knut Erik Teigen wrote:

> The computation runs just fine with -dmmg_nlevels 1.
> I use a grid of 65x129, with three levels, so that the coarsest grid is
> 17x33. 
> I've diffed the solutions, and they are equal for the first two time
> steps, but then they start to differ somewhat. Here is an excerpt:
> -dmmg_nlevels 1:
> 65.0427492820557        65.0216231814457      64.9793945321386        
> -dmmg_nlevels 3:
> 65.0920864319067        65.0711253401585      65.0292265582817
> 
> Using 2 or 4 levels produce the same result as 3 levels.
> 
> -Knut Erik-
> 
> 
> 
> On Fri, 2007-06-15 at 10:21 +0200, Matthew Knepley wrote:
> > This does not sound right to me. I think something must be
> > configured incorrectly. All MG does is accelerate the solution
> > of the fine grid problem. I think something must be wrong with
> > the specification here. It is easy to check. Run with -dmmg_nlevels 1
> > which just solves on the fine grid.
> > 
> >   Matt
> > 
> > On 6/15/07, Knut Erik Teigen <knutert at stud.ntnu.no> wrote:
> > > Thanks, Matthew. It seems like the tolerances weren't my problem,
> > > though. Even with a tolerance of 1e-10, the computation diverges after
> > > only a few time steps when using multigrid. With ordinary linear
> > > solvers, I can use a tolerance of 1e-4 and still get a satisfactory
> > > solution.
> > > Could it be that the Galerkin approximation for the coarser levels is
> > > too inaccurate for my problem?
> > >
> > > -Knut Erik-
> > >
> > > On Thu, 2007-06-14 at 11:32 -0500, Matthew Knepley wrote:
> > > > On 6/14/07, Knut Erik Teigen <knutert at stud.ntnu.no> wrote:
> > > > > Hello,
> > > > >
> > > > > How do I set the tolerances for the KSP solvers when using the
> > > > > DMMG routines without using command line arguments? It seems that
> > > > > I can use the argument -ksp_rtol on the command line, but in the code I
> > > > > can't use KSPSetTolerances since I don't have access to the KSP solver
> > > > > context?
> > > >
> > > > You can use DMMGGetKSP() for the finest level, and dmmg[level]->ksp for
> > > > any others.
> > > >
> > > > > Also, I see there is a reference to the function DMMGSetUseGalerkin
> > > > > in the source code, but I can't find the documentation for it.
> > > > > Does this function not exist yet? Again I would like to use
> > > > > -dmmg_galerkin, but setting it in the code instead of on the command
> > > > > line.
> > > >
> > > > I think you want this:
> > > >
> > > > http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/DA/DMMGSetUseGalerkinCoarse.html
> > > >
> > > >   Matt
> > > >
> > > > > Regards,
> > > > > Knut Erik Teigen
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > 
> > 
> 
> 




More information about the petsc-users mailing list