User Tools

Site Tools


numexercises7_14

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
numexercises7_14 [2014/07/14 12:50]
bogner
numexercises7_14 [2014/07/14 13:36]
bogner
Line 2: Line 2:
  
    
-  * In the code {{:​coulomboscrelme.f90.zip|}},​ you will find a subroutine (laguerre_general) that calculates the generalized Laguerre polynomials that appear in the definition of the HO wf's, see {{:​ho_spherical.pdf| here}}. Use this subroutine to create a function or subroutine that calculates the HO wf's $R_{nl}(r)$. Note that for large $n,l$ values, the factorial and double factorial functions that appear in $R_{nl}$ lead to overflow if you code them according to their naive expressions. How might you avoid this problem? [Hint: Recall that $Log{(AB\cdots)}=Log{A} + Log{B} + \cdots$. ​+  * In the code {{:​coulomboscrelme.f90.zip|}},​ you will find a subroutine (laguerre_general) that calculates the generalized Laguerre polynomials that appear in the definition of the HO wf's, see {{:​ho_spherical.pdf| here}}. Use this subroutine to create a function or subroutine that calculates the HO wf's $R_{nl}(r)$. Note that for large $n,l$ values, the factorial and double factorial functions that appear in $R_{nl}$ lead to overflow if you code them according to their naive expressions. How might you avoid this problem? [Hint: Recall that $Log{(AB\cdots)}=Log{A} + Log{B} + \cdots$].  
 +  
 +   * Check numerically that the constructed HO wf's are orthonormal. I.e., evaluate $\int r^2dr R_{nl}(r)R_{n'​l'​}(r)$. You will want to use Gaussian quadrature to discretize the integrals. Gaussian quadrature is discussed some in {{:​ho_spherical.pdf| }}. While Gauss-Laguerre quadrature is ideal for this problem, plain Gauss-Legendre quadrature, which is widely available in canned routines you can easily find via Google, is sufficient.  
 + 
 +  * Write a function/​subroutine that calculates the matrix elements of the Coulomb potential between an electron and a proton, $\langle nl|V|n'​l\rangle$. Use atomic units ($e=m_e=\hbar=1/​4\pi\epsilon_0$).  
 + 
 +  * Modify your code in the previous step so that it calculates $\langle nl|V|n'​l\rangle$ for any user-supplied potential $V(r)$.  
 + 
 +  * Using the analytical expressions for the kinetic energy matrix elements $\langle nl|T|n'​l\rangle$,​construct the hamilton matrix $\langle nl|H|n'​l\rangle$ for the hydrogen atom for $l=0$. Keep HO basis states $n,​n'<​N_{max}$ and diagonalize $H$. For a given $N_{max}$ value, repeat the calculation at different HO frequencies and plot the ground state energy versus $\omega$ (or the oscillator length scale, defined as $b=\sqrt{\hbar/​(m\omega)}$. 
    
-  * Check numerically that the constructed HO wf's are orthonormal. I.e., evaluate $\int r^2dr R_{nl}(r)R_{n'​l'​}(r)$. To do this, you will want to use Gaussian quadrature to discretize the integrals. Gaussian quadrature is discussed a bit in {{:​ho_spherical.pdf| }}. (Gauss-Laguerre quadrature is ideal for this problem, but plain old Gauss-Legendre quadrature, which is widely available in canned routines you can easily find via Google, is sufficient.) ​ 
  
-  * Construct the matrix elements of the Coulomb potential given by  
  
-\begin{equation} 
-\langle nl|V|n'​l\rangle = \int_0^{\infty}r^2dr R_{nl}(r}\frac{1}{r}R_{n'​l}(r) ​ 
-\end{equation} 
  
   * Construct the hamilton matrix $\langle nl|H|n'​l\rangle$ keeping all HO basis states $n,​n'<​N_{max}$. Diagonalize the matrix for increasing $N_{max}$ values for different values of the oscillator length parameter $b$ ("​oscl"​ in the code.) $b$ and $\hbar\omega$ are related by $b = \sqrt{(\hbar/​(m\omega)}$. ​ Plot your lowest eigenvalue for each $N_{max}$ as a function of $b$ (or $\hbar\omega$). ​   * Construct the hamilton matrix $\langle nl|H|n'​l\rangle$ keeping all HO basis states $n,​n'<​N_{max}$. Diagonalize the matrix for increasing $N_{max}$ values for different values of the oscillator length parameter $b$ ("​oscl"​ in the code.) $b$ and $\hbar\omega$ are related by $b = \sqrt{(\hbar/​(m\omega)}$. ​ Plot your lowest eigenvalue for each $N_{max}$ as a function of $b$ (or $\hbar\omega$). ​
numexercises7_14.txt · Last modified: 2014/07/14 13:40 by bogner