This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Linear Solver Backend - Setup and Compare

0 votes

I am now running 3d problems. The solver becomes really an important issue. The questions are the following,

  1. When I set the linear_solver_backend to Eigen, which linear solver methods can I choose?
  2. In the tutorial, it is mentioned that other backends are available like uBLAS. How can I link them up to my current code? Does it really make a big difference, when choosing backend? I would like to somehow play with all of them a little bit.
  3. In 3D coupled problem, are there any suggestions concerning about solver and parameters?

Thanks!


I think I am clear with the first question.

parameters['linear_algebra_backend'] = 'Eigen'

It seems that Eigen does not have SNES. So for NonlinearVariationalSolver, I can only set it to newton? am I right? And how to check which methods available for NonlinearVariationalSolver?

Is there a way to see the information of backend interface?

I know the way

info(NonlinearVariationalSolver.default_parameters(), True)

But it lists actually only the general information in the case of backend PETSc. When I change it to other backend, how can I view the options?

Thanks!

asked Jan 30, 2016 by truemerlin FEniCS Novice (410 points)
edited Jan 30, 2016 by truemerlin

1 Answer

0 votes

Hi,

i will try to answer a part of your question. First of all, uBLAS is not supported in the newest Fenics version 1.6. About part 3, this totally depends on your problem but from my experience, the backend can make a huge difference (depending on your architecture and application). However i found that on a standard workstation if you use the same method implemented in different backends you will not see big differences (only my experience). Also (for everything i tried by now) i could never really overcome the performance of PETSc if you tweak it correctly, it is really powerful.

Hope this answers at least parts of your question. About the rest of your question, i guess you will need to be a little bit more specific if you want an in depth answer.

answered Feb 1, 2016 by jh600 FEniCS Novice (900 points)
edited Feb 1, 2016 by jh600
...