Instabilities related to high Peclet number
I am trying to write a CFD code based on finite volume method. I am using the SIMPLE method for pressure-velocity coupling and Hybrid differencing scheme for calculating the flux values on cell faces.
The code works perfectly with viscosity near 1.0 but when I decreases the viscosity everything breaks down. I am quite sure it is because of Pe > 2 at the cell faces. Can you guys help me on this? Is high Peclet number is what causing my problem? Is artificial viscosity a solution to this problem? |
Quote:
Check the values both for CFL and viscous constraint. Then, the low Pe number ensure you have no oscillations. However, for very low viscosity you probably have a turbulent flow therefore having a low cell Pe number means you have to work in DNS formulation. Otherwise, turbulence modelling is required |
Thanks for your reply. My problem is steady.
|
therefore, you have not a problem of numerical instability but your code does not converge to the steady solution, right?
First, are you sure that the problem is really steady? Second, if the flow is really laminar you must be able to refine the grid to get Pe_h =O(1) |
The solution diverges in a few iterations when the viscosity is less than one. The value of velocity becomes infinitely large. I thought I was because the high peclet numbers since they recommend it should be less than 2.0 (mine is in the order of 1e3). I am not sure if this is for laminar or turbulent flow or it is general?
The problem that I am working on is a 2D flow through a pipe. The diameter of pipe is 1.0 m and the inlet velocity in 1.0 m/s. Do you think switching to DNS method would solve my problem? |
Hi
If you use Hybrid scheme the Pe shouldn't affect your stability (that's why hybrid was developed in the first place). Could you just run one single iteration of your code and tell us what the velocity field looks like? The problem could be in your SIMPLE procedure. What does your simple look like (co-located or staggered, pressure interpolation etc.). |
I am using the staggered SIMPLE algorithm. The following is my velocity U componant at different iterations. I am using a 5*5 grid for now.
Initial: 0.5 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 First: 1 1 1 1 1 0 0.999992 1 0.999992 0 0 0.999614 1 0.999614 0 0 1.00001 1 1.00001 0 0 1.00077 1 1.00077 0 Second: 1 1 1 1 1 0 1.35252 1.05357 1.35311 0 0 28.4 4.36786 27.7703 0 0 0.697194 0.948221 0.695405 0 0 -53.7173 -5.73308 -52.4603 0 Third: 1 1 1 1 1 0 532.848 -2185.78 -8546.42 0 0 1556.66 -11782.2 -11109 0 0 -81659.8 -284.626 215421 0 0 -165400 18676.1 436260 0 Forth: 1 1 1 1 1 0 -1.07245e+09 6.0239e+07 1.20259e+09 0 0 -4.16898e+09 6.37893e+08 480316 0 0 -2.06129e+09 1.98179e+08 -32885.7 0 0 2.08497e+09 -8.07224e+08 -1.03046e+06 0 Fifth: 1 -nan -nan -nan 1 0 -nan -nan -nan 0 -nan -nan nan nan nan -nan -nan -nan -nan -nan -nan -nan -nan -nan -nan |
I forgot to mention that the boundary condition is constant velocity at inlet (1.0 m/s). This is shown in the first line of the array I have just posted.
Thanks again for your help. |
Wow that escalated quickly. Without knowing the code, I can't really help you. My suggestion is try first order upwind and see if it still diverges. If yes something else must be wrong, probably even a typo in your transport equation.
|
Quote:
1) the intial condition is not divergence-free. Check it, ensure it is divergence-free at each iteration. 2) what about your code if you start with U=1, V=0 everywhere without viscosity? 3) what if you start with the exact Poiseuille solution? |
Quote:
|
Quote:
|
You`re right. What I meant was that SIMPLE is more likely to diverge under some complicated conditions (and sonic speed is a thing that does make some problems). But those initial conditions are fare away from being complicated for the formulation and shouldn't diverge after all.
|
All times are GMT -4. The time now is 11:13. |