Computing end-points using the Neumann condition

  • #1
hunt_mat
Homework Helper
1,798
33
TL;DR Summary
How do I compute boundary values from a Neumann condition?
Suppose I have a boundary condition [itex]f'(0)=a[/itex]. I know the value of [itex]f(x)[/itex] at [itex]x=h/2,3h/2[/itex]. Does it make sense to write:
[tex]
f'(x)=af(x)+bf(x+h/2)+cf(x+3h/2)
[/tex]
Using Taylor series to expand, we obtain the following:
[tex]
f'(x)=(a+b+c)f(x)+\frac{h}{2}(b+3c)f'(x)+\frac{h^{2}}{8}(b+9c)f''(x)
[/tex]
By equating coefficients, we obtain the following set of linear equations for [itex]a,b[/itex] and [itex]c[/itex]:
[tex]
a+b+c=0,\quad b+3c=\frac{2}{h},\quad b+9c=0
[/tex]
The solution of which is:
[tex]
a=-\frac{8}{3h},\quad b=\frac{3}{h},\quad c=-\frac{1}{3h}
[/tex]
making:
[tex]
f'(x)=-\frac{8}{3h}f(x)+\frac{3}{h}f(x+h/2)-\frac{1}{3h}f(x+3h/2)
[/tex]
Using the above equation, it is possible to obtain:
[tex]
f(0)=\frac{3h}{8}\left(-a+\frac{3}{h}f(h/2)-\frac{1}{3h}f(3h/2)\right)
[/tex]
Is this a reasonable approach? I've tested it with a few functions and it appears to be accurate to [itex]10^{-4}\%[/itex]
 
Physics news on Phys.org
  • #2
You are using [itex]a[/itex] as both the known value of [itex]f'(0)[/itex] and as the coefficient of [itex]f(0)[/itex] in your approximation to [itex]f'(0)[/itex]. Please don't use the same symbol to mean two different things!

Generally one would treat [itex]f(0)[/itex] as one of the unknowns, but instead of enforcing the DE at this point one instead requires that the appropriate one-sided approximation to the derivative should equal the prescribed value of the derivative on the boundary. In an explicit time-marching scheme this reduces to your given expression.
 
  • #3
This is part of finite volume scheme, and I'm reducing the set of PDEs into a set of ODEs, a method of lines approach, and then I'm using ODE15s. So I'm converting averages within cells to values on the cell boundary.
 

Similar threads

Replies
1
Views
2K
Replies
3
Views
2K
Replies
6
Views
2K
Replies
1
Views
2K
Replies
5
Views
2K
Replies
7
Views
1K
Back
Top