This page was generated from the Jupyter notebook
compare_z_min_cutoff.ipynb.
Comparison of the z_min values for circular states
[1]:
import matplotlib.pyplot as plt
import numpy as np
import rydstate
[2]:
n_list = list(range(15, 200))
qn_list = []
for n in n_list:
l = {
"circular": n - 1,
"intermediate": (n - 1) // 2,
"s": 0,
"p": 1,
"d": 2,
}["circular"]
j = l + 0.5
qn_list.append((n, l, j))
[3]:
z_i_dict = {"hydrogen": [], "classical": [], "rydstate cutoff": [], "rydstate z_min": []}
for qn in qn_list:
print(f"n={qn[0]}", end="\r")
state = rydstate.RydbergStateSQDTAlkali("Rb", n=qn[0], l=qn[1], j=qn[2])
hydrogen_z_i = state.radial.potential.calc_hydrogen_turning_point_z(state.n)
z_i_dict["hydrogen"].append(hydrogen_z_i)
z_i = state.radial.potential.calc_turning_point_z(state.get_radial_energy("a.u."))
z_i_dict["classical"].append(z_i)
state.radial.integrate_wavefunction()
cutoff = state.radial.z_list[np.argwhere(state.radial.w_list != 0)[0][0]]
z_i_dict["rydstate cutoff"].append(cutoff)
z_i_dict["rydstate z_min"].append(state.radial.z_list[0])
n=199
[4]:
fig, ax = plt.subplots()
labels = {
"classical": "Turning point Classical $z(V=E)$",
"hydrogen": r"Turning point Hydrogen $z(V_{Hydrogen}=E_{Hydrogen})$",
}
linestyles = {
"classical": "--",
}
for i, (key, values) in enumerate(z_i_dict.items()):
ax.plot(n_list, values, ls=linestyles.get(key, "-"), color=f"C{i}", label=labels.get(key, key))
ax.set_xlabel("n")
ax.set_ylabel("z values")
ax.legend()
plt.show()