CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   Linear System solver in Newton method (http://www.cfd-online.com/Forums/main/70607-linear-system-solver-newton-method.html)

proto84 November 30, 2009 09:01

Linear System solver in Newton method
 
Hi there,

I am solving an equation with a Newton method. I have a very ill-conditioned Jacobian matrix with a huge matrix dimension (>10000). The matrix is sparse but not symmetric.
At the moment I am using a GMRES (with no restarts because restarts take more time than a larger Krylov space memorization) and an ILU(0) preconditioning.

What do you suggest me to try for reduce the computing cost?

Thanks in advance and sorry for the beginner's question.

Bye,
Ale

jed November 30, 2009 10:05

How to ask solver questions
 
In order to get useful answers to solver questions you must provide
  • Physics and discretization, e.g. 3D low-mach compressible Navier-Stokes in conservative form, semi-discrete time stepping, WENO3-JFNK with lagged preconditioning matrix assembled by coloring with compact star-stencil, structured grid, k-\omega turbulence model, Re 1k to 100k, acoustic CFL 10-100, objective is active boundary control with temporal resolution 1/10 of time-step size on target mesh.
  • Largest problem sizes/hardware you are targeting and how much effort you would like to put into an efficient solver. Good linear solvers are not black-box, expect to do some problem-specific work if you want good scalability. The answers are very different if you just need to solve a few problems with 300k dofs versus doing production runs with 100M dofs on 300 nodes.
  • What you have tried and what performance it offers. Often given in terms of iteration count as you change the problem size, sometimes also CPU time.
  • What libraries you are currently using and/or how open you are to introducing new dependencies (e.g. PETSc).


Now for your problem: 10k is very small, a direct solver (like MUMPS or Umfpack) will typically beat any iterative solver for such sizes.

proto84 November 30, 2009 10:55

Quote:

Originally Posted by jed (Post 238187)
In order to get useful answers to solver questions you must provide
  • Physics and discretization, e.g. 3D low-mach compressible Navier-Stokes in conservative form, semi-discrete time stepping, WENO3-JFNK with lagged preconditioning matrix assembled by coloring with compact star-stencil, structured grid, k-\omega turbulence model, Re 1k to 100k, acoustic CFL 10-100, objective is active boundary control with temporal resolution 1/10 of time-step size on target mesh.
  • Largest problem sizes/hardware you are targeting and how much effort you would like to put into an efficient solver. Good linear solvers are not black-box, expect to do some problem-specific work if you want good scalability. The answers are very different if you just need to solve a few problems with 300k dofs versus doing production runs with 100M dofs on 300 nodes.
  • What you have tried and what performance it offers. Often given in terms of iteration count as you change the problem size, sometimes also CPU time.
  • What libraries you are currently using and/or how open you are to introducing new dependencies (e.g. PETSc).


Now for your problem: 10k is very small, a direct solver (like MUMPS or Umfpack) will typically beat any iterative solver for such sizes.


Really sorry for my bad posed question. It was not so much advanced and your suggest in use direct solvers is enough at the moment for my aims. Thanks a lot for your suggests on how to get a useful answer too.

jed November 30, 2009 11:06

No problem, that part of my post really wasn't intended for you. Hopefully the next person will include this sort of information so that they can get a useful answer.


All times are GMT -4. The time now is 16:14.