CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   richardson extrapolation (https://www.cfd-online.com/Forums/main/114290-richardson-extrapolation.html)

flotus1 March 11, 2013 15:31

Either you hava a look at Ferzigers book (not freely available online as far as I know) or you can derive the formula yourself.

Use the Ansatz F(h_i) = F(h=0) + a*(h_i)^p

(where h_i is the grid spacing, f(h_i) is the value obtained on this grid, F(h=0) is the solution without discretization error, a is a constant and p is the error order.

With solutions on three different grids with the same refinement ratio r (r= h_2/h_1 = h_3/h_2) you get 3 equations.

(I) F(h_1) = F(h=0) + a*(h_1)^p
(II) F(h_2) = F(h=0) + a*(h_2)^p
(III) F(h_3) = F(h=0) + a*(h_3)^p

(I')=(I)-(II) F(h_1)-F(h_2)= a*[(h_1)^p-(h_2)^p]
(II')=(I)-(III) F(h_1)-F(h_3)= a*[(h_1)^p-(h_3)^p]

(I'')=(I')/(II') [F(h_1)-F(h_2)]/[F(h_1)-F(h_3)]=[(h_1)^p-(h_2)^p]/[(h_1)^p-(h_3)^p]

now using the definition of r, the right hand side becomes (1-r^p)/(1-r^2p)=1/(1+r^p)

after some more algebra we arrive at
p=log[F(h_1)-F(h_3)]/[F(h_1)-F(h_2)-1]/log(r)

Puigar March 12, 2013 10:30

Hi folks again

first of all, thanks for the responses! ther were really useful to get a plain understanding of what is the richardson extrapolation and how to apply it to my problem.

I have another doubt. If I only have the values of f(h20),f(30) and f(40) because the coarsened grid (f10) does not work, can I manage to get the order of error "p"?

for example. in some case I can run all teh simulations with all of the grid, including the coarsened. But there are some conditions that when I apply them to the model, they make it more unstable, to the point that the coarsened grid (f10) falls off.

for example
case 1
all of them work: I get p and F for richardson extrapolated value
x y
h -> F_h
h/2-> F_h/2
h/4-> F_h/4

case 2
Can I use the value "p" for richardson extrapolated value of CASE 1 if the trends of the two results of F and G are more or less the same? how can I assess the similarity of the trends of F and G to validate the value of the order of the error "p"?
x y
(h doesn't work)
h/2-> G_h/2
h/4-> G_h/4

thank you again for paying attention! It has been a great favour

flotus1 March 12, 2013 10:49

With solutions on only two different grids, there is no way in estimating the error order.
Even worse, if the convergence is not monotonic and you just guess a value for p, you end up with a completely wrong extrapolated value.

So 3 solutions (with three different element sizes) are always necessary.

If you did not refine with the same ratio, you can still try to solve [F(h_1)-F(h_2)]/[F(h_1)-F(h_3)]=[(h_1)^p-(h_2)^p]/[(h_1)^p-(h_3)^p]
some way.

The easier way is to keep the same ratio in both refinements.
Take the coarsest mesh on which you get a reasonable result as a starting point.
Now the finer mesh doesnt have to be h/2 if the solution at h/4 becomes too expensive.
A refinement factor of e.g. 1.5 is still enough to do a reasonable extrapolation in most cases.

Puigar March 12, 2013 11:07

Quote:

Originally Posted by flotus1 (Post 413476)
With solutions on only two different grids, there is no way in estimating the error order.
Even worse, if the convergence is not monotonic and you just guess a value for p, you end up with a completely wrong extrapolated value.

So 3 solutions (with three different element sizes) are always necessary.

If you did not refine with the same ratio, you can still try to solve [F(h_1)-F(h_2)]/[F(h_1)-F(h_3)]=[(h_1)^p-(h_2)^p]/[(h_1)^p-(h_3)^p]
some way.

The easier way is to keep the same ratio in both refinements.
Take the coarsest mesh on which you get a reasonable result as a starting point.
Now the finer mesh doesnt have to be h/2 if the solution at h/4 becomes too expensive.
A refinement factor of e.g. 1.5 is still enough to do a reasonable extrapolation in most cases.

so I can get a p value from taking for example h/2 h/3 and h/4? even if they are not doubled? Just I have to apply the ansatz formula again with these refinements to get "p"?

flotus1 March 12, 2013 11:32

The thing is that you connot solve for p explicitly if the refinement ratios are not identical.
So h/2, h/3 and h/4 is not a good choice.
And yes, the meshes dont need to be refined with a factor of 2 (or 0.5 in the definition I used above)
Any factor far enough from 1 will do.

Puigar March 13, 2013 09:06

Quote:

Originally Posted by flotus1 (Post 413490)
The thing is that you connot solve for p explicitly if the refinement ratios are not identical.
So h/2, h/3 and h/4 is not a good choice.
And yes, the meshes dont need to be refined with a factor of 2 (or 0.5 in the definition I used above)
Any factor far enough from 1 will do.

So then? If it is not explicitly done, how can I solve it?

I did not get how was this step done when getting the three equation solving of "p"
Quote:

(1-r^p)/(1-r^2p)=1/(1+r^p)

flotus1 March 13, 2013 09:53

1-r^{2p} = 1^{2}-(r^{p})^{2} = (1-r^{p})(1+r^{p})

Puigar March 13, 2013 10:44

Quote:

Originally Posted by flotus1 (Post 413702)
1-r^{2p} = 1^{2}-(r^{p})^{2} = (1-r^{p})(1+r^{p})

Sorry for being sooo lame..
I just don't get how you are introducing r here.

flotus1 March 13, 2013 12:18

r is the ratio of the element sizes and was introduced a few posts ago.

r= \frac{h_2}{h_1}=\frac{h_3}{h_2}


All times are GMT -4. The time now is 02:45.