[petsc-users] BoomerAMG Howto

Barry Smith bsmith at mcs.anl.gov
Sat Sep 4 22:10:24 CDT 2010


   You can call MatSetBlockSize() on the matrix with a value of 3. This information will then be transmitted to BoomerAMG so that it will know it is a 3 component problem. It may work a bit better with this information.

   But I suspect it will still not work well semiconductor problems are notoriously difficult for iterative solvers. You may just go best with a direct solver. We recommend the Mumps solver. You can use it by configuring PETSc with --download-mumps --download-scalapack --download-blacs and then run the program with -pc_type lu -pc_factor_mat_solver_package mumps

   Good luck,

    Barry

On Sep 4, 2010, at 9:41 PM, Gong Ding wrote:

> 
> I had tried BoomerAMG for poisson equation, which works well.
> But when I preform it on my semiconductor system, it does not convergence.
> I guess the reason is semiconductor equations has three variables, the potential, electron and hole density,
> the algebraic multigrid arithmetic does not consider this and treat coarsen/smooth between different variables.
> 
> Is there any way to specify coarsen arithmetic by user? 
> Since each mesh node has 3 variables, I would like to do point based coarsen operation.
> 
> 
> 
> 
>  BoomerAMG can not handle the linear system you are giving it. Each algebraic multigrid solver can only handle a certain class of problems.
> 
> 
>    Barry
> 
> On Sep 3, 2010, at 9:55 AM, Gong Ding wrote:
> 
>> Dear all,
>> I am trying to use Boomer AMG of hypre + GMRES for my nonlinear problem, which is solved by MUMPS or GMRES +ILU previously.
>> However AMG does not convergence.
>> 
>> The -ksp_monitor shows that there are huge residual during inner GMRES iteration, as large as 1e30.
>> I only change PC from ILU to boomeramg.
>> Can anyone tell me what's wrong with it?
>> 
>> Gong Ding



More information about the petsc-users mailing list