CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

SIMPLE: Difference between initial and final residuals

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

Reply
 
LinkBack Thread Tools Display Modes
Old   June 30, 2016, 14:17
Default SIMPLE: Difference between initial and final residuals
  #1
Member
 
Jack
Join Date: May 2015
Posts: 91
Rep Power: 3
Jack001 is on a distinguished road
In the context of the simpleFoam solver (steady solver) I am trying to understand the significance of the initial residual vs. the final residual that is reported in the output of simpleFoam. As far as I understand the initial residual is the value of the residual (i.e the error in saying LHS = RHS of the relevant equation for a particular variable) before the particular equation (pressure or momentum equation) is solved. The final residual is a mystery to me. Since we are iterating forward per false time step, shouldn't the final residual become the new initial residual for the next iteration step? This is definitely not the case as I monitor my residuals. So I think I am missing something fundamental here concerning the solution algorithm of SIMPLE.

Also which residual is it that matters in terms of indicating convergence (I know there are other metrics one should look at as well) and why?
Jack001 is offline   Reply With Quote

Old   July 1, 2016, 04:07
Default
  #2
Member
 
Join Date: Jun 2016
Posts: 42
Rep Power: 2
Zbynek is on a distinguished road
The discretized equations (N-S, continuity, turbulence, etc.) are written in the form of a matrix A and vectors x and b, Ax=b. During the solution of the equation system defined by the matrix and vectors, you perform several iterations (called inner iterations). After each iteration, the computed residuals measure imbalance in the conservation equations. This should be getting smaller after each iteration. So you get from an initial residual value to a final residual value. During this whole process, you only solve for the vector x and do not update the matrix A. When your final residual is low enough, you update the matrix and repeat the whole process I just described (called outer iteration). Voila, you get a new initial residual that has naturally a larger value than the previous final residual.

The residuals should gradually decrease as you move from the initial to the final residual. That's the main requirement. But monitoring just residuals is not enough, you should monitor also forces, moments, integral quantities etc. You can find many discussions about this.

Last edited by Zbynek; July 5, 2016 at 06:33.
Zbynek is offline   Reply With Quote

Old   July 4, 2016, 18:42
Default
  #3
Member
 
Jack
Join Date: May 2015
Posts: 91
Rep Power: 3
Jack001 is on a distinguished road
Thanks for your response.

What I don't understand is why do we take the initial residual (before the so called inner iterations take place) as an indicator for convergence? Shouldn't it be the final residuals after all the inner iterations take place?
Jack001 is offline   Reply With Quote

Old   July 5, 2016, 02:10
Default
  #4
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Delft, Netherlands
Posts: 1,163
Rep Power: 20
akidess will become famous soon enough
Because you want to know if the coupled system converged, not a single equation (e.g. Ux on its own).
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
*Join the OpenFOAM stackexchange Q&A site: http://area51.stackexchange.com/prop...oHPxcPqde7HtA2
akidess is offline   Reply With Quote

Reply

Tags
convergence, openfoam, residual, simple

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
simpleFoam error - "Floating point exception" mbcx4jc2 OpenFOAM Running, Solving & CFD 12 August 4, 2015 02:20
Unstabil Simulation with chtMultiRegionFoam mbay101 OpenFOAM Running, Solving & CFD 13 December 28, 2013 14:12
pimpleFoam: turbulence->correct(); is not executed when using residualControl hfs OpenFOAM Running, Solving & CFD 3 October 29, 2013 09:35
calculation stops after few time steps sivakumar OpenFOAM Running, Solving & CFD 7 March 17, 2013 07:37
Orifice Plate with a fully developed flow - Problems with convergence jonmec OpenFOAM Running, Solving & CFD 3 July 28, 2011 05:24


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