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.  
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 (call 
KSPSetOperators(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/20110206/cc455ed1/attachment.htm>

Reply via email to