Thanks Barry,
I run the code with -ksp_monitor_true_residual -ksp_converged_reason, and
it turns out that the computation didn't get the real convergence. After I set
the rtol and more iteration, the numerical solution get better. However, the
computation converges very slowly with finer grid points. For example, with
nx=2500 and ny=10000, (lx=2.5e-4,ly=1e-3, and the distribution varys mainly in
y direction)
at IT=72009, true resid norm 1.638857052871e-01 ||Ae||/||Ax|| 9.159199925235e-07
IT=400000,true resid norm 1.638852449299e-01 ||Ae||/||Ax|| 9.159174196917e-07.
and it didn't converge yet.
I am wondering if the solver is changed, the convergency speed could get
fater? Or, I should take anohte approach to use finer grids, like multigrid?
Thanks for your help.
> From: bsmith at mcs.anl.gov
> Date: Sun, 6 Feb 2011 21:30:56 -0600
> To: petsc-users at mcs.anl.gov
> Subject: Re: [petsc-users] questions about the multigrid framework
>
>
> On Feb 6, 2011, at 5:00 PM, Peter Wang wrote:
>
> > Hello, I have some concerns about the multigrid framework in PETSc.
> >
> > We are trying to solve a two dimensional problem with a large variety in
> > length scales. The length of computational domain is in order of 1e3 m, and
> > the width is in 1 m, nevertheless, there is a tiny object with 1e-3 m in a
> > corner of the domain.
> >
> > As a first thinking, we tried to solve the problem with a larger number of
> > uniform or non-uniform grids. However, the error of the numerical solution
> > increases when the number of the grid is too large. In order to test the
> > effect of the grid size on the solution, a domain with regular scale of 1m
> > by 1m was tried to solve. It is found that the extreme small grid size
> > might lead to large variation to the exact solution. For example, the exact
> > solution is a linear distribution in the domain. The numerical solution is
> > linear as similar as the exact solution when the grid number is nx=1000 by
> > ny=1000. However, if the grid number is nx=10000 by ny=10000, the numerical
> > solution varies to nonlinear distribution which boundary is the only same
> > as the exact solution.
>
> Stop right here. 99.9% of the time what you describe should not happen, with
> a finer grid your solution (for a problem with a known solution for example)
> will be more accurate and won't suddenly get less accurate with a finer mesh.
>
> Are you running with -ksp_monitor_true_residual -ksp_converged_reason to make
> sure that it is converging? and using a smaller -ksp_rtol <tol> for more grid
> points. For example with 10,000 grid points in each direction and no better
> idea of what the discretization error is I would use a tol of 1.e-12
>
> Barry
>
> We'll deal with the multigrid questions after we've resolved the more basic
> issues.
>
>
> > The solver I used is a KSP solver in PETSc, which is set by calling :
> > KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr). Whether this
> > solver is not suitable to the system with small size grid? Or, whether the
> > problem crossing 6 orders of length scale is solvable with only one level
> > grid system when the memory is enough for large matrix? Since there is less
> > coding work for one level grid size, it would be easy to implement the
> > solver.
> >
> > I did some research work on the website and found the slides by Barry on
> > http://www.mcs.anl.gov/petsc/petsc-2/documentation/tutorials/Columbia04/DDandMultigrid.pdf
> > It seems that the multigrid framework in PETSc is a possible approach to
> > our problem. We are thinking to turn to the multigrid framework in PETSc to
> > solve the problem. However, before we dig into it, there are some issues
> > confusing us. It would be great if we can get any suggestion from you:
> > 1 Whether the multigrid framework can handle the problem with a large
> > variety in length scales (up to 6 orders)? Is DMMG is the best tool for our
> > problem?
> >
> > 2 The coefficient matrix A and the right hand side vector b were created
> > for the finite difference scheme of the domain and solved by KSP solver
> > (callKSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr)). Is it easy
> > to immigrate the created Matrix A and Vector b to the multigrid framework?
> >
> > 3 How many levels of the subgrid are needed to obtain a solution close
> > enough to the exact solution for a problem with 6 orders in length scale?
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110209/2f3c328b/attachment.htm>