CFD Online Logo CFD Online URL
Home > Forums > Main CFD Forum

What is Pre-Conditioning?

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

LinkBack Thread Tools Display Modes
Old   April 11, 2008, 21:43
Default What is Pre-Conditioning?
Posts: n/a
Can anybody tell me what is meant by pre-conditioning in a cfd simulation?

Cheerios Rif
  Reply With Quote

Old   April 12, 2008, 11:08
Default Re: What is Pre-Conditioning?
Posts: n/a
It is kind of re-structuring linear equations systems before solving them. This leads to an quicker solvable equation system. Regards.
  Reply With Quote

Old   April 12, 2008, 14:37
Default Re: What is Pre-Conditioning?
Posts: n/a
You will encounter mainly two types of preconditioning: 1. - at the PDE level (and its discretization) 2. - linear system level

1. When simulating (steady-state or unsteady with dual-time formulation) flows using a density-based (compressible) solver, in the low Mach# regimes (typically below Mach 0.3), the solution algorithm will require "low-Mach preconditioning".

This is basically a time-derivative preconditioning, which will modify the way the solution evolves in pseudo-time towards convergence (or at each time step, for unsteady).

The whole idea is to produce a different (!) hyperbolic PDE, but which will converge to the same steady-state (or same quasi steady-state, when unsteady), with wave-speeds that are closer in value, thus having much better convergence characteristics.

An additional benefit of low-Mach preconditioning is that the numerical dissipation of the preconditioned scheme is in a sense .. optimal (thus accuracy improves also, besides convergence).

The "modified" PDE will look like:

(Gamma/dt+dRes/dw)*dw = - Res(w_n)

(where Gamma is the time-derivative preconditioning matrix, w is the "work" variable (p,V,T), Q is the conservative variable (rho, rhoV, rhoE))

The non-preconditioned PDE is just:

(dQ/dw / dt+dRes/dw)*dw = -Res(w_n)

Thus [Gamma] preconditioning matrix replaces the [dQ/dw] Jacobian.

2. When solving the linear system, if the system is ill-conditioned (large condition number) or the matrix is difficult to invert, one would like to replace the problem of solving using the original matrix, with one of (more) solves with a simpler matrix, call it preconditiner, which is a matrix with much better conditioning (and preserves the same "characteristics" of the original matrix -> eigenvalues sign, etc.) and is easier to invert. Of coarse, the final result should satisfy the original linear system of equations.

Thus instead of solving A.x + b = 0, you could think of solving in .. correction-form: P.dx = -(A.x + b) where P is the preconditioning matrix, and the update x = x + dx, etc.

I gave you a glimpse of the real deal, but there are many papers out there on the subject.

John C.S.
  Reply With Quote

Old   April 13, 2008, 14:34
Default Re: What is Pre-Conditioning?
Posts: n/a
any books in this subject or background specially when it comes to numerical analysis with fortran
  Reply With Quote


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
hi how to set entironment variable in CFX pre romance CFX 0 December 23, 2007 08:11
CFX Pre - TGrid Vivek Vasudevan CFX 2 March 20, 2007 07:31
How to input transient pressure data as BC in pre? User CFX 4 February 6, 2006 02:15
CFX 5.7 pre Neser CFX 0 January 27, 2005 12:22
Reloading grids in Pre Pascale Fonteijn CFX 1 July 7, 2003 13:33

All times are GMT -4. The time now is 04:53.