Create animations of the Rydberg electron charge distribution in helium as a function of electric field using the Numerov method.
Install helium-stark-animate using setuptools,
git clone https://github.com/axm108/helium-stark-animate
cd helium-stark-animate
python setup.py installInstall helium-stark-zeeman using setuptools,
git clone https://github.com/axm108/helium-stark-zeeman
cd helium-stark-zeeman
python setup.py installImport libraries,
from heliumstarkanimate import HeliumStarkAnimator
from hsz import HamiltonianMatrix
import numpy as npInstantiate HamiltonianMatrix object,
n_min = 5
n_max = 6
S = 1
ham = HamiltonianMatrix(n_min=n_min, n_max=n_max, S=S)Instantiate HeliumStarkAnimator object,
animator = HeliumStarkAnimator(ham)Calculate charge distributions of a state for different values of the electric field,
state_idx = n_min**2
Efield = np.linspace(0.0, 6.0*10**5, 11) # V/cm
charge_dists = animator.charge_distributions(state_idx, Efield*1e2)Plot the charge distribution for one field,
animator.plot(charge_dists[0])Save the charge distributions to a .jpg file for each field,
animator.save(charge_dists)Plot an interactive figure of the charge distribution along with the corresponding Stark map,
animator.plot_interactive(Efield, charge_dists, stark_map, state_idx)| Library | Version |
|---|---|
Python |
3.6.1 64bit [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] |
IPython |
5.3.0 |
OS |
Darwin 17.4.0 x86_64 i386 64bit |
attr |
17.4.0 |
matplotlib |
2.0.2 |
numba |
0.35.0 |
numpy |
1.14.3 |
scipy |
1.00.0 |
sympy |
1.0 |
tqdm |
4.15.0 |
version_information |
1.0.3 |
