I am trying to solve the schrodinger equation for the hydrogen atom numerically, using finite elements, with matlab's solvepdeeig(). I have a hard time getting the solution to be right, and it seems to be a problem with setting up the boundary conditions.

My initial idea was to put the atom in a spherical box with a radius big enough (I took 100 times the bohr radius), and set a dirichlet BC such that the wave function is simply zero on the boundary; This should simulate a wave function that approaches zero at infinity, as it should. However the eigenvalues all turn up to be zero in this approach. I figured it is perhaps related to the fact that when using these BC waves may reflect off the boundary.

Is there a better way to define and enforce boundary conditions in this problem numerically? Another thread that I'm investigating is that perhaps the normalization condition is not enforced in this scheme however I have no idea how to enforce it here...

  • $\begingroup$ Those boundary conditions should work, I have used them even with just 10 times. The normalization is not important, although your eigensolver should have its own normalization. $\endgroup$ – nicoguaro Apr 21 at 16:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.