I will appreciate if someone could help me figure how to configure the petsc_options with following choices:
iterative solver: gmres
preconditioner: mg
presmoother: sor
postmoother: soru vector
coarse solver: mumps
My installation is dolfinx 0.7.x through conda. In case it helps, I am solving the complex vector helmholtz equation in 3D with Nedelec elements and the model comprises around 10^6 dofs. I would welcome any suggestion for other configurations that might give good convergence.
Finding a good preconditioner for FE problems is a research topic. Someone may come in and help (unfortunately, not me, since that is not my field), but you should asking your advisor what they suggest and/or start carrying out a literature review on what the current state of the art is.
In case it helps, I am solving the complex vector helmholtz equation in 3D with Nedelec elements
That’s relevant information that you must take into account in your literature review.
Thanks a lot for your quick feedback! I am going without any advisor on this.
While I will gratefully take any pointer about going further on this subject, my question for now is about how to specify the indicated solver configuration to dolfinx. I suspect it goes somewhat like this:
{"ksp_type": "gmres", "pc_type": "mg"}
but then I do not know how to indicate pre and post smoother as well as the coarse solver type. If it is not possible, that will also be a valuable thing to know.
However, we do not have out of the box support for multigrid restriction and prolongation operators.
We hope that we can get some progress on these during this summer’s Google Summer of Code.