[petsc-users] Performance improvement (finite element model + slepc)

jifeng zhao jifengzhao2015 at u.northwestern.edu
Fri Jun 20 11:15:26 CDT 2014


Hi Jose,

Thank you very much. The instruction you gave is of particular useful. I do
think I can use deflation feature to reduce my subspace a lot. I will let
you know if I made further progress.

One more thing to check with you. I am right now using bJacobi as
preconditioner. I know it is among one of the simplest preconditioners, but
it turns out it gives faster convergence than SOR (maybe ASM). Is Hypre or
pARMS designed to be suited for FEM model, and will usually be faster than
bjacobi?

Since Hypre or pARMS is external packages not readily available in SLEPc, I
need ask my server administrator to install it. So it is a not-so-easy job
for me.

Thank you so much,
Jifeng Zhao

Best regards,
Jifeng Zhao


On Thu, Jun 19, 2014 at 3:32 AM, Jose E. Roman <jroman at dsic.upv.es> wrote:

>
> El 18/06/2014, a las 22:37, jifeng zhao escribió:
>
> > Hello,
> >
> > I am a new user to Petsc + Slepc. I am trying to extract natural
> frequency of a finite element model using Slepc. The way I do is
> >
> > 1. Use other software (Abaqus) to assembly the stiffness and mass matrix.
> > 2. Use Slepc to solve a generalized eigenvalue problem. K x = lamda M x
> > with K, M being stiffness and mass matrix.
> >
> > I wrote my petsc/slepc code based on the examples on slepc web. They all
> compiled and working correctly.
> >
> > The question I am raising here is what solvers (solver combinations)
> should I use to be most efficient?
> >
> > Right now I am using "bcgsl" (BiCGSTAB) solver for KSP linear solvers,
> "JD" jacobian-davison for eigen solver, and "bjacobi" (block jacobian) for
> my preconditioner. It works, but I need it to be more efficient to solver
> big problem (millions of degrees of freedom). I am not an expert on knowing
> how these solvers are different at all!
> >
> > Is there anybody who has extracted eigenvalues of a Finite element model
> using Slepc? How can I possibly improve the performance?
> >
> > Thank you!
> >
> > PS: my running command reads like:
> > ./eigen_solver -f1 petsc_stiff1.dat -f2 petsc_mass1.dat -eps_nev 40
> -eps_target 0.0 -eps_type jd -st_type precond -st_ksp_type bcgsl
> -st_pc_type bjacobi -st_ksp_rtol 0.001 -eps_tol 1e-5 -eps_harmonic
> >
> > --
> > Jifeng Zhao
> > PhD candidate at Northwestern University, US
> > Theoretical and Applied Mechanics Program
>
> For not-too-difficult problems, GD will be faster than JD. The options for
> tuning Davidson solvers are described here:
> http://dx.doi.org/10.1145/2543696
> You can also try a preconditioner provided by an external package such as
> Hypre or pARMS.
>
> Alternatively, you can try with Krylov-Schur and exact shift-and-invert
> (with a parallel external solver such as MUMPS).
>
> Jose
>
>


-- 
Jifeng Zhao
PhD candidate at Northwestern University, US
Theoretical and Applied Mechanics Program
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140620/94a64bd7/attachment.html>


More information about the petsc-users mailing list