- #1

- 435

- 29

You are using an out of date browser. It may not display this or other websites correctly.

You should upgrade or use an alternative browser.

You should upgrade or use an alternative browser.

- #1

- 435

- 29

- #2

Gold Member

- 1,855

- 809

I thought the residual error minimization and trial functions come into play deriving the element equations which are then solved by Gaussian Elimination.

Last edited:

- #3

- 435

- 29

If the discrete system is nonlinear, either iteration is needed or linearization is to be done? Which is more commonly applied in software?I thought the residual error minimization and trial functions come into play deriving the element equations which are then solved by Gaussian Elimination.

- #4

Homework Helper

2022 Award

- 2,670

- 1,274

If you can't solve the resulting algebraic system exactly, then this will be a further source of error. You can estimate this using Taylor's Theorem: if you are attempting to solve [itex]f(x) = 0[/itex] and the actual solution is [itex]x_{c}[/itex], then for the approximation [itex]x_n[/itex] you have [itex]|f(x_n)| \approx |f'(x_n)||x_n - x_{c}|[/itex] so that [itex]|x_n - x_{c}| \approx |f(x_n)|/|f'(x_n)|[/itex]. You can then continue your iteration until this error is less than the theoretical maximum discretization error.

- #5

Gold Member

- 677

- 198

You have to distinguish between the solution of the discrete equations [itex]u_d[/itex] and the exact solution of the continuous equations [itex]u[/itex].

When using an iterative solver, you start with an estimate of [itex]u_d[/itex] and you update this estimate at every iteration, let's call this [itex]u_d^{i}[/itex]. So at every iteration, you compute a new estimate of your discrete solution, and the error is [itex]e_d = |u_d^{i} - u_d|[/itex]. The residual is what you get when you substitute your current estimate [itex]u_d^{i}[/itex] into your discretized PDE. If your numerical method converges, your residual goes to zero. The error and the residual are related: [itex]|e| < C\cdot|R|[/itex], and a lot of study has gone into getting accurate estimates of this constant C. So when the residual is zero, you can be pretty sure that you have found the solution of the discretized PDE (within machine precision). What remains is the error [itex]e = |u_d - u|[/itex]. In general, you do not know this error, although we do know that the error goes to zero when the mesh element size goes to zero, and we also know that the rate of convergence is equal to the order of the numerical method. What you can do is compute a second solution on a finer mesh and compare this to the first solution.

You now have 2 solutions, one on the coarse mesh 1: [itex]u_{d_1}[/itex] on the fine mesh 2: [itex]u_{d_2}[/itex]. An important observation is that if you interpolate the solution of mesh 1 (with residual R=0) to the finer mesh 2 and recompute the residual, the residual on the new mesh is not zero anymore.

If you have 3 meshes with 3 solutions, you can use Richardson extrapolation to get an estimate of the error.

- #6

Gold Member

- 1,855

- 809

What drives the iterations? Changing mesh size to check for convergence?You have to distinguish between the solution of the discrete equations [itex]u_d[/itex] and the exact solution of the continuous equations [itex]u[/itex].

When using an iterative solver, you start with an estimate of [itex]u_d[/itex] and you update this estimate at every iteration, let's call this [itex]u_d^{i}[/itex]. So at every iteration, you compute a new estimate of your discrete solution, and the error is [itex]e_d = |u_d^{i} - u_d|[/itex]. The residual is what you get when you substitute your current estimate [itex]u_d^{i}[/itex] into your discretized PDE. If your numerical method converges, your residual goes to zero. The error and the residual are related: [itex]|e| < C\cdot|R|[/itex], and a lot of study has gone into getting accurate estimates of this constant C. So when the residual is zero, you can be pretty sure that you have found the solution of the discretized PDE (within machine precision). What remains is the error [itex]e = |u_d - u|[/itex]. In general, you do not know this error, although we do know that the error goes to zero when the mesh element size goes to zero, and we also know that the rate of convergence is equal to the order of the numerical method. What you can do is compute a second solution on a finer mesh and compare this to the first solution.

You now have 2 solutions, one on the coarse mesh 1: [itex]u_{d_1}[/itex] on the fine mesh 2: [itex]u_{d_2}[/itex]. An important observation is that if you interpolate the solution of mesh 1 (with residual R=0) to the finer mesh 2 and recompute the residual, the residual on the new mesh is not zero anymore.

If you have 3 meshes with 3 solutions, you can use Richardson extrapolation to get an estimate of the error.

- #7

- 435

- 29

thanks a lot and I wonder what could be the reason if |u-ud| doesn't decrease with refined meshes? If the true solution of the PDEs is of a highly oscillatory nature in space, would the residual of the PDEs (containing spatial derivatives) be hard to be suppressed?You have to distinguish between the solution of the discrete equations [itex]u_d[/itex] and the exact solution of the continuous equations [itex]u[/itex].

When using an iterative solver, you start with an estimate of [itex]u_d[/itex] and you update this estimate at every iteration, let's call this [itex]u_d^{i}[/itex]. So at every iteration, you compute a new estimate of your discrete solution, and the error is [itex]e_d = |u_d^{i} - u_d|[/itex]. The residual is what you get when you substitute your current estimate [itex]u_d^{i}[/itex] into your discretized PDE. If your numerical method converges, your residual goes to zero. The error and the residual are related: [itex]|e| < C\cdot|R|[/itex], and a lot of study has gone into getting accurate estimates of this constant C. So when the residual is zero, you can be pretty sure that you have found the solution of the discretized PDE (within machine precision). What remains is the error [itex]e = |u_d - u|[/itex]. In general, you do not know this error, although we do know that the error goes to zero when the mesh element size goes to zero, and we also know that the rate of convergence is equal to the order of the numerical method. What you can do is compute a second solution on a finer mesh and compare this to the first solution.

You now have 2 solutions, one on the coarse mesh 1: [itex]u_{d_1}[/itex] on the fine mesh 2: [itex]u_{d_2}[/itex]. An important observation is that if you interpolate the solution of mesh 1 (with residual R=0) to the finer mesh 2 and recompute the residual, the residual on the new mesh is not zero anymore.

If you have 3 meshes with 3 solutions, you can use Richardson extrapolation to get an estimate of the error.

- #8

Gold Member

- 677

- 198

- #9

- 435

- 29

what if the residual of the

- #10

Gold Member

- 677

- 198

- #11

- 435

- 29

I'm not sure. f is some differential operator and it takes derivatives, whereas the discrete system has no derivative. Would the gibbs phenomenon make the discrete solution so bad on highly oscillatory regions that the residual will never be small?

Last edited:

- #12

- 435

- 29

?I'm not sure. f is some differential operator and it takes derivatives, whereas the discrete system has no derivative. Would the gibbs phenomenon make the discrete solution so bad on highly oscillatory regions that the residual will never be small?

- #13

- 435

- 29

how large is the residual of a discrete solution of a PDE from 0 in order of magnitude?

Share:

- Replies
- 9

- Views
- 1K

- Replies
- 4

- Views
- 777

- Replies
- 2

- Views
- 927

- Replies
- 2

- Views
- 1K

- Replies
- 2

- Views
- 1K

- Replies
- 2

- Views
- 1K

- Replies
- 10

- Views
- 2K

- Replies
- 1

- Views
- 1K

- Replies
- 2

- Views
- 1K

- Replies
- 2

- Views
- 604