CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Main CFD Forum

Help about the preconditioner in gmres method

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   July 2, 2008, 03:49
Default Help about the preconditioner in gmres method
  #1
Dan Gao
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 .
  Reply With Quote

Old   July 2, 2008, 04:50
Default Re: Help about the preconditioner in gmres method
  #2
Tom
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.
  Reply With Quote

Old   July 3, 2008, 08:41
Default Re: Help about the preconditioner in gmres method
  #3
Jed
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.
  Reply With Quote

Old   July 5, 2008, 01:18
Default Re: Help about the preconditioner in gmres method
  #4
Dan Gao
Guest
 
Posts: n/a
Thank Tom and Jed for your help. I will try it.
  Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
discretizer - gmshToFoam Andyjoe Open Source Meshers: Gmsh, Netgen, CGNS, ... 13 March 14, 2012 05:35
Fluent 6.3.26 vs 12.1 and partition method Anorky FLUENT 0 April 27, 2010 10:55
Comparison: Finite Volume Method vs. Analytic Method m-fry Main CFD Forum 1 April 20, 2010 14:40
Code for most powerfull FDV Method D.S.Nasan Main CFD Forum 6 September 4, 2008 02:08
GMRES method .vs. bcg stab ztdep Main CFD Forum 1 August 12, 2008 06:28


All times are GMT -4. The time now is 06:00.