High Residual values for converged steady state computations
An equation of the form given below:
du/dt+R=0 reaches a steady state solution computationally, when the residual (R) goes to zero. In my CFD simulations, I have observed that in many cases, the Residuals (R) are as high as 0.0004 - 0.01, but the solution has converged to steady state (based on Cl, Cd values and surface pressure (Cp)). However, as per the above equation, since R is not close to zero, we should still see a changing solution. How does one explain this discrepancy? |
Quote:
There is no discrepancy. First, Cl, Cd, Cp are integrals of local values over a body and do not determine a steady state that implies a norm on all the values of the acceleration field. Second, the values means nothing if the problem is not properly scaled (non-dimensionalize) in such a way that all the terms are of O(1). You can get 0.01 max value acceptable if the fields are dimensional and the order of the velocity is not unitary |
The solution converges when u is (asymptotically) constant regardless of what du/dt is and regardless of what R is. R need not be zero for u to converge. This is a technicality but important in CFD because you solve not the continuous du/dt = 0 problem but you take your governing equation and discretize it which introduces eventually non-zero du/dt and R. Note that your governing equation is satisfied as long as du/dt + R = 0, which means that any du/dt = -R is a solution to your problem.
In floating point arithmetic there is no zero regardless but only small numbers. So to say du/dt is 0 is simply imposible. You can only say du/dt is less than some tolerance (often labeled TOL) for u. This same problem shows up in even more basic arithmetic like solving for 3*x = 2. Try doing this and you will find that x is not exactly the analytical 2/3 but 0.6666 with funny terminating digits. Does this mean that computers cannot do any arithmetic? No, it means they do a particular type of arithmetic. |
All times are GMT -4. The time now is 03:21. |