[petsc-users] Solving singular system via direct solvers
Jose E. Roman
jroman at dsic.upv.es
Tue Jul 12 05:36:02 CDT 2022
The interface functions are
https://petsc.org/release/docs/manualpages/PC/PCFactorSetShiftType.html
https://petsc.org/release/docs/manualpages/PC/PCFactorSetShiftAmount.html
To check for success you can use
https://petsc.org/release/docs/manualpages/KSP/KSPGetConvergedReason.html
You can also use
https://petsc.org/release/docs/manualpages/KSP/KSPSetErrorIfNotConverged.html
if want to error out upon failure.
For singular systems, you may want to try external packages such as MUMPS.
Jose
> El 12 jul 2022, a las 11:33, Ye Changqing <Ye_Changqing at outlook.com> escribió:
>
> Dear all,
>
> I have a linear system constructed from discretizing a Neumann boundary value problem, and I want to solve it with a direct solver (to build up my own preconditioner). Usually, KSP returns a good solution without '-inf', while sometimes it fails. I referred to the corresponding chapter in the manual and found options '-pc_factor_shift_type' and '-pc_factor_shift_amount'. Could I use those options in my codes rather than runtime? Moreover, In my case, the program did not throw an error or warning due to '-inf' in the solution, I also wondered how to check the solution is 'good'?
>
> Thanks,
> Changqing
More information about the petsc-users
mailing list