# Convergence problem on Laplace equation

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

 July 21, 2015, 10:19 Convergence problem on Laplace equation #1 Senior Member   Join Date: Oct 2013 Posts: 397 Rep Power: 18 I'm trying to solve a (time independent) Laplace equation, where the solution should be defined by the boundaries only, and not by the initial field. The solver reaches the desired residual after a specific number of steps. However, the result isn't correct yet, I need to run the solver a few more times until I get a converged result. The final residual will be similar all the time, but the initial residual on a consecutive solve doesn't equal the previous final residual (it's much higher and dropping with each solver execution). When I have executed the solver a sufficient number of times, equation solver iterations will go to zero and the initial residual won't improve anymore. So: 1) Why don't the final and initial residuals of consecutive runs match? Is this related to the iterative nature of the matrix solvers? 2) Why don't I get a converged result after the first iteration, even though the final residual of all iterations is on a similar scale? Is the equation solver converging in some local minimum that has a similar final residual than the correct result? 3) I'm using an unstructered mesh. Is this problem related to non-orthogonality correction for the pressure equation, which is also solved multiple times? 4) Is it reasonable to put the equation solving in a loop until the initial residual doesn't improve anymore? I would be glad for some pointers here.

 July 23, 2015, 09:41 #2 Senior Member   Join Date: Oct 2013 Posts: 397 Rep Power: 18 I'm now pretty sure that this is the same effect that is happening on the non-orthogonality correction for the pressure equation, given that they also use a laplacian and just solve the equation a few times without doing anything else. So, is this just a thing that needs to be handled by experience using a constant number of solve() calls? Or is it better to monitor the initial residuals until convergence?

 November 23, 2022, 20:27 The same question #3 New Member   Ding Yan Join Date: Oct 2022 Posts: 10 Rep Power: 3 Hi, I know it has been a long time. I meet the same question these days. how to solve this question! Thank you very much!

October 6, 2023, 10:46
#4
New Member

Mohammed Sayyari
Join Date: Oct 2023
Posts: 2
Rep Power: 0
I know this is way way late and you probably figured it out by now, but here are a few thoughts

Quote:
 Originally Posted by chriss85 So: 1) Why don't the final and initial residuals of consecutive runs match? Is this related to the iterative nature of the matrix solvers?
Depending on the kind of problem you are solving, a predicted state is computed before every solution step, the initial error is the error of the predicted state.

Quote:
 Originally Posted by chriss85 So: 2) Why don't I get a converged result after the first iteration, even though the final residual of all iterations is on a similar scale? Is the equation solver converging in some local minimum that has a similar final residual than the correct result?
I'm not sure if I understand your question well, but there are different things at play, you could be having an iteration limit which exits the current correction early. Alternatively, there could be other intermediate calculations needed to drive the error further down.

Quote:
 Originally Posted by chriss85 So: 3) I'm using an unstructered mesh. Is this problem related to non-orthogonality correction for the pressure equation, which is also solved multiple times?
When using an unstructured mesh, you need to basically sync your pressure and velocity computed at each correction step, thus, the more corrections the better the error. But you need to balance that to get a reasonable computation time as well.

Quote:
 Originally Posted by chriss85 So: 4) Is it reasonable to put the equation solving in a loop until the initial residual doesn't improve anymore?
Yes, if that's what you are looking for, typically, you want to drive it up to a specific residual in your mind. Not necessarily until it doesn't change, but that would be the best case. This would be costly, though.