Finite difference Poisson's equation

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 1K views
aaaa202
Messages
1,144
Reaction score
2
I am trying to solve the following eigenvalue differential equation numerically:

2ψ = Eψ

, where the coordinate system is polar coordinates and the boundary condition is ψ(R,Φ)=0, where R is the radius of the disk i am working on.

To solve it I am using a finite difference scheme, but there are some problems. The radial equation is:

(-∂2ψ/∂r2-1/r ∂/∂r + m^2/r^2) = Eψ

But since I am discretizing this differential operator on the interval (0,R), the method I use assumes that ψ(0)=ψ(R)=0, which is not the boundary condition I want. How do I implement the one I want (that the eigenfunction is zero on the boundary of the circular disk)?
 
Physics news on Phys.org
aaaa202 said:
I am trying to solve the following eigenvalue differential equation numerically:

2ψ = Eψ

, where the coordinate system is polar coordinates and the boundary condition is ψ(R,Φ)=0, where R is the radius of the disk i am working on.

To solve it I am using a finite difference scheme, but there are some problems. The radial equation is:

(-∂2ψ/∂r2-1/r ∂/∂r + m^2/r^2) = Eψ

But since I am discretizing this differential operator on the interval (0,R), the method I use assumes that ψ(0)=ψ(R)=0, which is not the boundary condition I want. How do I implement the one I want (that the eigenfunction is zero on the boundary of the circular disk)?

Does you radial equation contain a 'typo'? Should it not be
[tex]\frac{\partial^2 \Psi}{\partial r ^2} + \frac{1}{r} \frac{\partial \Psi}{\partial r} = E \psi ?[/tex]
Your original equation ##\nabla^2 \Psi = E \Psi## has no ##m^2/r^2## term anywhere in it, so this should not magically appear just by switching to polar coordinates.

Anyway, you need ##\partial \Psi (r) / \partial r \to 0## as ##r \to 0+## in order prevent the term ##(1/r) \partial \Psi / \partial r## from blowing up near the origin.

Finally, if the method you use assumes the wrong boundary conditions, change the method!

By the way: your problem is a so-called "two-point boundary-value problem", and such problems are usually harder to deal with than standard boundary-value problems. Google 'two-point boundary value problems' to see what is available for numerical solutions, etc.
 
Last edited: