The second order accuracy of TR-BDF2 method
up vote
0
down vote
favorite
The following method is called the TR-BDF2:
$$U^* = U^n+frac k4(f(U^n)+f(U^{*}))$$
$$U^{n+1}= frac 13(4U^* - U^n+kf(U^{n+1})).$$
Apparently, this one-step method is second-order accurate while being a one-step method. But I am stuck on proving the said second-order accuracy using Taylor expansion. The issue is that when I write the local truncation error, I get the following:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u^*+u(t_n)) - f(u(t_{n+1})) = -dfrac{k}{96}u'''(t_n)-frac {k^2} {12}u'''(t_n).$$
This means that I am dealing with the implicit, trapezoidal method step incorrectly. Basically, what should $u^*$ be in this case? If it is exactly $u(t_{n+frac{1}{2}})$, then there is no point even doing the implicit first step in the first place.
I would appreciate if someone makes this issue clear to me.
EDIT: So the only issue I am having is I do not know how to make sense of $U^*.$ That is, if there was $U^{n+0.5}$ instead, then everything is simple because I can expand $u(t_{n+1}), u(t_{n+0.5})$ all in Taylor expansion around the point $t = t_n$ and so establishing the desired order of accuracy is merely a task of some algebra. If this was the case, then the local truncation error will read as:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u(t_{n+0.5})+u(t_n)) - f(u(t_{n+1}))$$
and this is very simple to work with. So to sum up, my issue is what do I replace $U^*$ in the local truncation error?
differential-equations analysis pde numerical-methods
|
show 3 more comments
up vote
0
down vote
favorite
The following method is called the TR-BDF2:
$$U^* = U^n+frac k4(f(U^n)+f(U^{*}))$$
$$U^{n+1}= frac 13(4U^* - U^n+kf(U^{n+1})).$$
Apparently, this one-step method is second-order accurate while being a one-step method. But I am stuck on proving the said second-order accuracy using Taylor expansion. The issue is that when I write the local truncation error, I get the following:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u^*+u(t_n)) - f(u(t_{n+1})) = -dfrac{k}{96}u'''(t_n)-frac {k^2} {12}u'''(t_n).$$
This means that I am dealing with the implicit, trapezoidal method step incorrectly. Basically, what should $u^*$ be in this case? If it is exactly $u(t_{n+frac{1}{2}})$, then there is no point even doing the implicit first step in the first place.
I would appreciate if someone makes this issue clear to me.
EDIT: So the only issue I am having is I do not know how to make sense of $U^*.$ That is, if there was $U^{n+0.5}$ instead, then everything is simple because I can expand $u(t_{n+1}), u(t_{n+0.5})$ all in Taylor expansion around the point $t = t_n$ and so establishing the desired order of accuracy is merely a task of some algebra. If this was the case, then the local truncation error will read as:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u(t_{n+0.5})+u(t_n)) - f(u(t_{n+1}))$$
and this is very simple to work with. So to sum up, my issue is what do I replace $U^*$ in the local truncation error?
differential-equations analysis pde numerical-methods
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
2
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
1
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
1
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05
|
show 3 more comments
up vote
0
down vote
favorite
up vote
0
down vote
favorite
The following method is called the TR-BDF2:
$$U^* = U^n+frac k4(f(U^n)+f(U^{*}))$$
$$U^{n+1}= frac 13(4U^* - U^n+kf(U^{n+1})).$$
Apparently, this one-step method is second-order accurate while being a one-step method. But I am stuck on proving the said second-order accuracy using Taylor expansion. The issue is that when I write the local truncation error, I get the following:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u^*+u(t_n)) - f(u(t_{n+1})) = -dfrac{k}{96}u'''(t_n)-frac {k^2} {12}u'''(t_n).$$
This means that I am dealing with the implicit, trapezoidal method step incorrectly. Basically, what should $u^*$ be in this case? If it is exactly $u(t_{n+frac{1}{2}})$, then there is no point even doing the implicit first step in the first place.
I would appreciate if someone makes this issue clear to me.
EDIT: So the only issue I am having is I do not know how to make sense of $U^*.$ That is, if there was $U^{n+0.5}$ instead, then everything is simple because I can expand $u(t_{n+1}), u(t_{n+0.5})$ all in Taylor expansion around the point $t = t_n$ and so establishing the desired order of accuracy is merely a task of some algebra. If this was the case, then the local truncation error will read as:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u(t_{n+0.5})+u(t_n)) - f(u(t_{n+1}))$$
and this is very simple to work with. So to sum up, my issue is what do I replace $U^*$ in the local truncation error?
differential-equations analysis pde numerical-methods
The following method is called the TR-BDF2:
$$U^* = U^n+frac k4(f(U^n)+f(U^{*}))$$
$$U^{n+1}= frac 13(4U^* - U^n+kf(U^{n+1})).$$
Apparently, this one-step method is second-order accurate while being a one-step method. But I am stuck on proving the said second-order accuracy using Taylor expansion. The issue is that when I write the local truncation error, I get the following:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u^*+u(t_n)) - f(u(t_{n+1})) = -dfrac{k}{96}u'''(t_n)-frac {k^2} {12}u'''(t_n).$$
This means that I am dealing with the implicit, trapezoidal method step incorrectly. Basically, what should $u^*$ be in this case? If it is exactly $u(t_{n+frac{1}{2}})$, then there is no point even doing the implicit first step in the first place.
I would appreciate if someone makes this issue clear to me.
EDIT: So the only issue I am having is I do not know how to make sense of $U^*.$ That is, if there was $U^{n+0.5}$ instead, then everything is simple because I can expand $u(t_{n+1}), u(t_{n+0.5})$ all in Taylor expansion around the point $t = t_n$ and so establishing the desired order of accuracy is merely a task of some algebra. If this was the case, then the local truncation error will read as:
$$tau_{n+1} = frac 1k(3u(t_{n+1}) - 4u(t_{n+0.5})+u(t_n)) - f(u(t_{n+1}))$$
and this is very simple to work with. So to sum up, my issue is what do I replace $U^*$ in the local truncation error?
differential-equations analysis pde numerical-methods
differential-equations analysis pde numerical-methods
edited Nov 21 at 3:03
asked Nov 19 at 0:48
dezdichado
5,9341929
5,9341929
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
2
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
1
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
1
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05
|
show 3 more comments
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
2
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
1
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
1
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
2
2
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
1
1
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
1
1
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05
|
show 3 more comments
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Define the difference in the first stage as $U^*=U^n+frac{k}2V$. Then
begin{align}
V&=frac12left[f(U^n)+fBigl(U^n+frac{k}2VBigr)right]\
&=f(U^n)+frac{k}4f'(U^n)V+frac{k^2}{16}f''(U^n)V^2+O(k^3)
end{align}
which can be solved to third order as
begin{align}
V&=f(U^n)+frac{k}4f'(U^n)left[f(U^n)+frac{k}4f'(U^n)V+O(k^2)right]
+frac{k^2}{16}f''(U^n)left[f(U^n)+O(k)right]^2+O(k^3)
\
&=f(U^n)+frac{k}4f'(U^n)f(U^n)+frac{k^2}{16}f'(U^n)^2f(U^n)+frac{k^2}{16}f''(U^n)f(U^n)^2+O(k^3)
end{align}
On the other hand,
begin{align}
U^{n+1/2}&=U^n+frac{k}2f(U^n)+frac{k^2}8f'(U^n)f(U^n)+frac{k^3}{48}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4) \
&=U^*-frac{k^3}{96}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4)
end{align}
so that on any exact solution one gets $U^*=u(t_n+frac k2)+frac{k^3}{96}u'''(t_n)$.
This should then contribute a second degree term, not a first degree term, in the error formula for the second stage.
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Define the difference in the first stage as $U^*=U^n+frac{k}2V$. Then
begin{align}
V&=frac12left[f(U^n)+fBigl(U^n+frac{k}2VBigr)right]\
&=f(U^n)+frac{k}4f'(U^n)V+frac{k^2}{16}f''(U^n)V^2+O(k^3)
end{align}
which can be solved to third order as
begin{align}
V&=f(U^n)+frac{k}4f'(U^n)left[f(U^n)+frac{k}4f'(U^n)V+O(k^2)right]
+frac{k^2}{16}f''(U^n)left[f(U^n)+O(k)right]^2+O(k^3)
\
&=f(U^n)+frac{k}4f'(U^n)f(U^n)+frac{k^2}{16}f'(U^n)^2f(U^n)+frac{k^2}{16}f''(U^n)f(U^n)^2+O(k^3)
end{align}
On the other hand,
begin{align}
U^{n+1/2}&=U^n+frac{k}2f(U^n)+frac{k^2}8f'(U^n)f(U^n)+frac{k^3}{48}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4) \
&=U^*-frac{k^3}{96}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4)
end{align}
so that on any exact solution one gets $U^*=u(t_n+frac k2)+frac{k^3}{96}u'''(t_n)$.
This should then contribute a second degree term, not a first degree term, in the error formula for the second stage.
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
add a comment |
up vote
1
down vote
accepted
Define the difference in the first stage as $U^*=U^n+frac{k}2V$. Then
begin{align}
V&=frac12left[f(U^n)+fBigl(U^n+frac{k}2VBigr)right]\
&=f(U^n)+frac{k}4f'(U^n)V+frac{k^2}{16}f''(U^n)V^2+O(k^3)
end{align}
which can be solved to third order as
begin{align}
V&=f(U^n)+frac{k}4f'(U^n)left[f(U^n)+frac{k}4f'(U^n)V+O(k^2)right]
+frac{k^2}{16}f''(U^n)left[f(U^n)+O(k)right]^2+O(k^3)
\
&=f(U^n)+frac{k}4f'(U^n)f(U^n)+frac{k^2}{16}f'(U^n)^2f(U^n)+frac{k^2}{16}f''(U^n)f(U^n)^2+O(k^3)
end{align}
On the other hand,
begin{align}
U^{n+1/2}&=U^n+frac{k}2f(U^n)+frac{k^2}8f'(U^n)f(U^n)+frac{k^3}{48}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4) \
&=U^*-frac{k^3}{96}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4)
end{align}
so that on any exact solution one gets $U^*=u(t_n+frac k2)+frac{k^3}{96}u'''(t_n)$.
This should then contribute a second degree term, not a first degree term, in the error formula for the second stage.
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Define the difference in the first stage as $U^*=U^n+frac{k}2V$. Then
begin{align}
V&=frac12left[f(U^n)+fBigl(U^n+frac{k}2VBigr)right]\
&=f(U^n)+frac{k}4f'(U^n)V+frac{k^2}{16}f''(U^n)V^2+O(k^3)
end{align}
which can be solved to third order as
begin{align}
V&=f(U^n)+frac{k}4f'(U^n)left[f(U^n)+frac{k}4f'(U^n)V+O(k^2)right]
+frac{k^2}{16}f''(U^n)left[f(U^n)+O(k)right]^2+O(k^3)
\
&=f(U^n)+frac{k}4f'(U^n)f(U^n)+frac{k^2}{16}f'(U^n)^2f(U^n)+frac{k^2}{16}f''(U^n)f(U^n)^2+O(k^3)
end{align}
On the other hand,
begin{align}
U^{n+1/2}&=U^n+frac{k}2f(U^n)+frac{k^2}8f'(U^n)f(U^n)+frac{k^3}{48}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4) \
&=U^*-frac{k^3}{96}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4)
end{align}
so that on any exact solution one gets $U^*=u(t_n+frac k2)+frac{k^3}{96}u'''(t_n)$.
This should then contribute a second degree term, not a first degree term, in the error formula for the second stage.
Define the difference in the first stage as $U^*=U^n+frac{k}2V$. Then
begin{align}
V&=frac12left[f(U^n)+fBigl(U^n+frac{k}2VBigr)right]\
&=f(U^n)+frac{k}4f'(U^n)V+frac{k^2}{16}f''(U^n)V^2+O(k^3)
end{align}
which can be solved to third order as
begin{align}
V&=f(U^n)+frac{k}4f'(U^n)left[f(U^n)+frac{k}4f'(U^n)V+O(k^2)right]
+frac{k^2}{16}f''(U^n)left[f(U^n)+O(k)right]^2+O(k^3)
\
&=f(U^n)+frac{k}4f'(U^n)f(U^n)+frac{k^2}{16}f'(U^n)^2f(U^n)+frac{k^2}{16}f''(U^n)f(U^n)^2+O(k^3)
end{align}
On the other hand,
begin{align}
U^{n+1/2}&=U^n+frac{k}2f(U^n)+frac{k^2}8f'(U^n)f(U^n)+frac{k^3}{48}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4) \
&=U^*-frac{k^3}{96}[f''(U^n)f(U^n)^2+f'(U^n)^2f(U^n)]+O(k^4)
end{align}
so that on any exact solution one gets $U^*=u(t_n+frac k2)+frac{k^3}{96}u'''(t_n)$.
This should then contribute a second degree term, not a first degree term, in the error formula for the second stage.
answered Nov 21 at 16:42
LutzL
54.6k41953
54.6k41953
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
add a comment |
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
ah, I see it now. Thanks!
– dezdichado
Nov 21 at 22:55
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3004355%2fthe-second-order-accuracy-of-tr-bdf2-method%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is $k$? Is it the time step?
– Ian
Nov 19 at 0:51
@Ian, yes $k$ is the time step.
– dezdichado
Nov 19 at 1:37
2
@Ian: It's a two-stage, one-step method. A two-step method (such as BDF2 by itself) would use both $U^{n-1}$ and $U^n$ for computing $U^{n+1}$.
– Rahul
Nov 19 at 20:59
1
Could you add some of your intermediate results? It seems strange that you get the same derivative with different powers of $k$, there could be some problem in unpacking the local error of the first stage while inserting in the second stage. For instance, inserting the first into the second stage one may get $U_{n+1}-U_n=frac k3(f(U_n)+f(U_*)+f(U_{n+1}))$ which is composite trapezoidal up to the error in $U_*$ to $U_{n+1/2}$.
– LutzL
Nov 20 at 10:20
1
Treat the first stage as an instance of the trapezoidal rule, and compute the error in $U^*$ with respect to $u(t_{n+1/2})$. Then plug it into the second stage.
– Rahul
Nov 21 at 15:05