Hello! I am solving a coupled multiphysics problem which has several different units, which leads to a poorly conditioned jacobian. I am using the following ksp options: -ksp_type preonly -pc_type lu -pc_factor_mat_solver_package umfpack The results I am getting are not right and I suspect that the conditioning of the jacobian may be playing a part in that. I would like to improve the conditioning by using -ksp_diagonal_scale, but adding it does not seem to help. The documentation for this option says 'this routine is only used if the matrix and preconditioner matrix are the same thing'. Does that mean the command can only be used with no preconditioner? http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetDiagon... All the best, -- Colin McAuliffe PhD Candidate Columbia University Department of Civil Engineering and Engineering Mechanics
It just means that both matrix arguments A and B are the same. What happens if you use this direct solver as a preconditioner? On May 17, 2012 2:23 PM, "Colin McAuliffe" <[email protected]> wrote:
Hello!
I am solving a coupled multiphysics problem which has several different units, which leads to a poorly conditioned jacobian. I am using the following ksp options:
-ksp_type preonly -pc_type lu -pc_factor_mat_solver_package umfpack
The results I am getting are not right and I suspect that the conditioning of the jacobian may be playing a part in that. I would like to improve the conditioning by using -ksp_diagonal_scale, but adding it does not seem to help. The documentation for this option says 'this routine is only used if the matrix and preconditioner matrix are the same thing'.
Does that mean the command can only be used with no preconditioner?
http://www.mcs.anl.gov/petsc/**petsc-current/docs/**manualpages/KSP/** KSPSetDiagonalScale.html<http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetDiagonalScale.html>
All the best,
-- Colin McAuliffe PhD Candidate Columbia University Department of Civil Engineering and Engineering Mechanics
Using the direct solver as a preconditioner I can't seem to find any difference between the results with -ksp_diagonal_scale vs the results without this option. I also cant tell if the diagonal scaling is actually being applied in this case. Quoting Jed Brown <[email protected]>:
It just means that both matrix arguments A and B are the same.
What happens if you use this direct solver as a preconditioner? On May 17, 2012 2:23 PM, "Colin McAuliffe" <[email protected]> wrote:
Hello!
I am solving a coupled multiphysics problem which has several different units, which leads to a poorly conditioned jacobian. I am using the following ksp options:
-ksp_type preonly -pc_type lu -pc_factor_mat_solver_package umfpack
The results I am getting are not right and I suspect that the conditioning of the jacobian may be playing a part in that. I would like to improve the conditioning by using -ksp_diagonal_scale, but adding it does not seem to help. The documentation for this option says 'this routine is only used if the matrix and preconditioner matrix are the same thing'.
Does that mean the command can only be used with no preconditioner?
http://www.mcs.anl.gov/petsc/**petsc-current/docs/**manualpages/KSP/** KSPSetDiagonalScale.html<http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetDiagonalScale.html>
All the best,
-- Colin McAuliffe PhD Candidate Columbia University Department of Civil Engineering and Engineering Mechanics
-- Colin McAuliffe PhD Candidate Columbia University Department of Civil Engineering and Engineering Mechanics
On Thu, May 17, 2012 at 2:50 PM, Colin McAuliffe <[email protected]>wrote:
Using the direct solver as a preconditioner I can't seem to find any difference between the results with -ksp_diagonal_scale vs the results without this option.
I wouldn't expect it to be any different. I also cant tell if the diagonal scaling is actually being applied in this
case.
Run with -ksp_view and look for a line that says "diagonally scaled system".
participants (2)
-
Colin McAuliffe -
Jed Brown