|
[Sponsors] |
Help about the preconditioner in gmres method |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 2, 2008, 04:49 |
Help about the preconditioner in gmres method
|
#1 |
Guest
Posts: n/a
|
Hi, all, I am importing a implicit time method to my 3D NS finite difference code. I used the Matrix-free method to get the Jaccobi matrix-vector product, and the sparse linear equations are solved by gmres method. Now I am in trouble in constructing a preconditioner for my finite difference code. I hope the preconditioning method is similar with the matrix-free method, that means only the preconditioner-vector product needed. I hope someone can suggest me how to construct a preconditioner for my finite difference code. I read some papers about how to get the preconditioner for finite volume method. But I can not understand it and import them to the finite difference method. I don't know I describe the question clearly. I am poor in English. Thanks for your any help in advance .
|
|
July 2, 2008, 05:50 |
Re: Help about the preconditioner in gmres method
|
#2 |
Guest
Posts: n/a
|
It's not quite the same. You need to write a subroutine that calculates (approximately) an estimate of the increment for Newton's method. One choice is to use something like the SIMPLE algorithm but rearranged to yield the "correct" increments. Knolls & Keyes (correct spelling?) have written papers on this. One possible choice, which would avoid the need to construct the preconditioner, would be to wrap a multigrid solver around around the call to GMRES.
|
|
July 3, 2008, 09:41 |
Re: Help about the preconditioner in gmres method
|
#3 |
Guest
Posts: n/a
|
I also recommend Knoll & Keyes 2004. Let's suppose we are doing left preconditioning so we would like P^{-1} A to be approximately the identity. The trouble is that P^{-1} usually needs to be dense. Storing a dense matrix is not going to work and unless you have a fast solver for a similar problem (which generally requires a really nice domain) then you you'll want to actually form a preconditioning matrix P because preconditioners (such as ILU(k), AMG, DD) normally want matrix entries. The big win is that the preconditioning matrix can come from simpler physics and/or lower order discretization so it may have fewer entries and be easier to compute than the full Jacobian. Also, the preconditioner can often be lagged (don't recompute the preconditioner every Newton step) which further reduces assembly cost. When you do have a fast solver for simpler physics, then by all means, try it. This is called `physics based preconditioning' in Knoll & Keyes.
Note that linear multigrid as a preconditioner for a Krylov method is generally faster than nonlinear multigrid. |
|
July 5, 2008, 02:18 |
Re: Help about the preconditioner in gmres method
|
#4 |
Guest
Posts: n/a
|
Thank Tom and Jed for your help. I will try it.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Gmsh] discretizer - gmshToFoam | Andyjoe | OpenFOAM Meshing & Mesh Conversion | 13 | March 14, 2012 05:35 |
Fluent 6.3.26 vs 12.1 and partition method | Anorky | FLUENT | 0 | April 27, 2010 11:55 |
Comparison: Finite Volume Method vs. Analytic Method | m-fry | Main CFD Forum | 1 | April 20, 2010 15:40 |
Code for most powerfull FDV Method | D.S.Nasan | Main CFD Forum | 6 | September 4, 2008 03:08 |
GMRES method .vs. bcg stab | ztdep | Main CFD Forum | 1 | August 12, 2008 07:28 |