Adaptive Adam-Bashforth method

341 Views Asked by At

Let's say we have 3 time points that are not equally spaced: $t_{i-1}, t_i$ and $t_{i+1}$. Here,

$t_i - t_{i-1} = h_{prev}, \space \space t_{i+1} - t_i = h$

I need to derive an Adam-Bashforth scheme, with a basic integral relation:

$y(t_{i+1}) = y(t_i) + \int_{t_i}^{t_{i+1}}f(t,y)dt$

Note that $f(t,y)$ is simply a linear interpolant based on $t_{i-1}$ and $t_i$.

OK, so I know that whatever I come up with needs to look like the following:

$y_{{i+1}} = y_{{i}} + \alpha f_i + \beta f_{i-1}$

and I understand that the constants $\alpha$ and $\beta$ should depend on $h_{prev}$ and $h$. So this question is basically asking me to find these constants.

Normally, what I would do is set up the interpolant for each constant and then integrate from -1 to 1. So to solve for $\alpha$ using the lagrange interpolant, for example:

$L_i = \frac{(t-t_{i-1})}{(t_i-t_{i-1})}$

$L_i(t_i + hs) = \frac{(t_i + hs - (t_i - h))}{h_{prev}}$

Did I set up the interpolant right for $\alpha$? Because if I integrate this with respect to $s$ from -1 to 1 I find $\alpha = 2h/h_{prev}$. Does that seem right? I'd appreciate any help.

1

There are 1 best solutions below

4
On BEST ANSWER

You're interpolating function $f(t, y(t))$ and the interpolant is $$ P(t) = f_i \frac{t - t_{i-1}}{t_i - t_{i-1}} + f_{i-1} \frac{t_i - t}{t_i - t_{i-1}} = \frac{(t - t_{i-1})f_i + (t_i - t)f_{i-1}}{h_{prev}}. $$ Integrating yields $$ \int_{t_i}^{t_{i+1}} P(t) dt = \frac{h(h+2h_{prev})f_i - h^2f_{i-1}}{2h_{prev}}. $$ Hence, the method becomes $$ y_{i+1} = y_i + \frac{h(h+2h_{prev})}{2h_{prev}} f_i - \frac{h^2}{2h_{prev}} f_i $$ or, equivalently $$ \frac{y_{i+1} - y_i}{h} = \frac{h+2h_{prev}}{2h_{prev}} f_i - \frac{h}{2h_{prev}} f_{i-1}. $$ This is perfectly consistent with $h = h_{prev}$ case: $$ \frac{y_{i+1} - y_i}{h} = \frac{3}{2} f_i - \frac{1}{2} f_{i-1}. $$