|
[Sponsors] |
April 11, 2008, 21:43 |
What is Pre-Conditioning?
|
#1 |
Guest
Posts: n/a
|
Can anybody tell me what is meant by pre-conditioning in a cfd simulation?
Cheerios Rif |
|
April 12, 2008, 11:08 |
Re: What is Pre-Conditioning?
|
#2 |
Guest
Posts: n/a
|
It is kind of re-structuring linear equations systems before solving them. This leads to an quicker solvable equation system. Regards.
|
|
April 12, 2008, 14:37 |
Re: What is Pre-Conditioning?
|
#3 |
Guest
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. |
|
April 13, 2008, 14:34 |
Re: What is Pre-Conditioning?
|
#4 |
Guest
Posts: n/a
|
any books in this subject or background specially when it comes to numerical analysis with fortran
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
hi how to set entironment variable in CFX pre | romance | CFX | 0 | December 23, 2007 07:11 |
CFX Pre - TGrid | Vivek Vasudevan | CFX | 2 | March 20, 2007 06:31 |
How to input transient pressure data as BC in pre? | User | CFX | 4 | February 6, 2006 01:15 |
CFX 5.7 pre | Neser | CFX | 0 | January 27, 2005 11:22 |
Reloading grids in Pre | Pascale Fonteijn | CFX | 1 | July 7, 2003 13:33 |