The second order accuracy of TR-BDF2 method

929 Views Asked by At

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?

1

There are 1 best solutions below

1
On BEST ANSWER

Define the difference in the first stage as $U^*=U^n+\frac{k}2V$. Then \begin{align} V&=\frac12\left[f(U^n)+f\Bigl(U^n+\frac{k}2V\Bigr)\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.