- 1,798
- 33
- TL;DR Summary
- How do I compute boundary values from a Neumann condition?
Suppose I have a boundary condition f'(0)=a. I know the value of f(x) at x=h/2,3h/2. Does it make sense to write:
<br /> f'(x)=af(x)+bf(x+h/2)+cf(x+3h/2)<br />
Using Taylor series to expand, we obtain the following:
<br /> f'(x)=(a+b+c)f(x)+\frac{h}{2}(b+3c)f'(x)+\frac{h^{2}}{8}(b+9c)f''(x)<br />
By equating coefficients, we obtain the following set of linear equations for a,b and c:
<br /> a+b+c=0,\quad b+3c=\frac{2}{h},\quad b+9c=0<br />
The solution of which is:
<br /> a=-\frac{8}{3h},\quad b=\frac{3}{h},\quad c=-\frac{1}{3h}<br />
making:
<br /> f'(x)=-\frac{8}{3h}f(x)+\frac{3}{h}f(x+h/2)-\frac{1}{3h}f(x+3h/2) <br />
Using the above equation, it is possible to obtain:
<br /> f(0)=\frac{3h}{8}\left(-a+\frac{3}{h}f(h/2)-\frac{1}{3h}f(3h/2)\right)<br />
Is this a reasonable approach? I've tested it with a few functions and it appears to be accurate to 10^{-4}\%
<br /> f'(x)=af(x)+bf(x+h/2)+cf(x+3h/2)<br />
Using Taylor series to expand, we obtain the following:
<br /> f'(x)=(a+b+c)f(x)+\frac{h}{2}(b+3c)f'(x)+\frac{h^{2}}{8}(b+9c)f''(x)<br />
By equating coefficients, we obtain the following set of linear equations for a,b and c:
<br /> a+b+c=0,\quad b+3c=\frac{2}{h},\quad b+9c=0<br />
The solution of which is:
<br /> a=-\frac{8}{3h},\quad b=\frac{3}{h},\quad c=-\frac{1}{3h}<br />
making:
<br /> f'(x)=-\frac{8}{3h}f(x)+\frac{3}{h}f(x+h/2)-\frac{1}{3h}f(x+3h/2) <br />
Using the above equation, it is possible to obtain:
<br /> f(0)=\frac{3h}{8}\left(-a+\frac{3}{h}f(h/2)-\frac{1}{3h}f(3h/2)\right)<br />
Is this a reasonable approach? I've tested it with a few functions and it appears to be accurate to 10^{-4}\%