[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