PETSc + HYPRE
Lisandro Dalcin
dalcinl at gmail.com
Tue Apr 15 09:52:03 CDT 2008
Do not create the PC !!
Create first the KSP, next do KSPGetPC, and then configure the PC
On 4/15/08, Márcio Ricardo Pivello <pivello at gmail.com> wrote:
> Hi, I want to use hypre preconditioners coupled with PETSc, but so far I
> have not succeeded. Here's what I've done:
>
> Firstly I create the preconditioner:
>
>
> Mat A_Par(NSubSteps)
> Vec Unk_Par(NSubSteps)
> Vec B_Load_Par(NSubSteps)
> KSP KspSolv
> ---> PC precond
>
> ******************************
>
> Later in the code I set the preconditioner type and create the Krylov
> solver:
>
> ----> call PCSetType(precond,'hypre',iError)
> ----> call PCHYPRESetType(precond,'boomeramg',iError)
> ----> call KSPCreate (PETSC_COMM_WORLD, KspSolv, iError)
> ----> call KSPSetFromOptions (KspSolv, iError)
> call KSPSetOperators (KspSolv, A_Par(nstp), A_Par(nstp),
> SAME_NONZERO_PATTERN, iError)
> call KSPSolve (KspSolv, B_Load_Par(nstp), Unk_Par(nstp), iError)
>
>
> ***************************
>
> Then, when I run the program I put the following options in the command
> line:
>
> mpirun -np 2 /home/mpivello/bin/SolverGP.x -pc_type hypre -pc_hypre_type
> boomeramg -pc_hypre_boomeramg_sweep_all true -pc_hypre_boomeramg_grid_sweeps
> 1 -pc_hypre_boomeramg_strong_threshold 0.9
> -pc_hypre_boomeramg_max_iter 5
> -pc_hypre_boomeramg_coarsen_type modifiedRuge-Stueben -f0
> dummy.tmp 2>&1 -ksp_gmres_restart 200 -ksp_max_it 3000 -ksp_rtol 1.0e-10
> -ksp_atol 1.0e-15 -ksp_monitor -log_summary < /dev/null > run.parallel.log &
>
> But this proceeding is not working. What am I doing wrong?
>
> Thanks in advance
>
> Márcio Ricardo
>
>
>
>
>
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
More information about the petsc-users
mailing list