Hydrogen
Atomic properties
CamiXon.bohrformula
— Methodbohrformula(Z::Int, n::Int)
Hydrogenic energy (in Hartree a.u.) for atom with atomic number Z
and principal quantum number n
.
\[ E_n = - \frac{Z^2}{2n^2}\]
Example:
julia> Z = 2; n = 4;
julia> bohrformula(Z,n)
-1//8
CamiXon.hydrogenic_reduced_wavefunction
— Methodhydrogenic_reduced_wavefunction(atom::Atom, spinorbit::Spinorbit, grid::CamiDiff.Grid{T}) where T<:Real
Analytic expression for the hydrogenic wavefunction written in the format $Z = \tilde{χ} + i \tilde{χ}^′$, where $\tilde{χ}_{nℓ}(ρ)$ is the reduced radial wavefunction and $\tilde{χ}^′_{nℓ}(ρ)$ its derivative, with $ρ$ the radial distance to the nucleus in a.u.. The expression is evaluated for a given Atom
in a given Orbit
on a given CamiDiff.Grid
. The argument Def
completes the definition of the problem.
\[ \tilde{\chi}_{nl}(\rho) =\mathcal{N}_{nl}^{-1/2}(2Z/n)^{l+3/2}\rho^{l+1}e^{-Zρ/n} L_{n-l-1}^{2l+1}(2Z\rho/n)\]
where $L_{n-l-1}^{2l+1}(2Z\rho/n)$ is the generalized Laguerre polynomial CamiMath.generalized_laguerreL
and
\[ \mathcal{N}_{nl} = {\displaystyle \int\nolimits _{0}^{\infty}}x^{2l+2}e^{-x} \left[L_{n-l-1}^{2l+1}(x)\right]^{2}dx = \frac{2n\Gamma(n+l+1)}{\Gamma(n-l)}\]
is the norm of the wavefunction.
Example:
julia> codata = castCodata(2022);
julia> atom = castAtom(;Z=1, A=1, Q=0, msg=false);
julia> spinorbit = castSpinorbit(n=25, ℓ=10);
julia> grid = autoGrid(atom, spinorbit, Float64; msg=true);
CamiDiff.Grid created: exponential, Float64, rmax = 3651.58 a.u., N = 1320, h = 0.0075815, r0 = 0.164537
julia> Z = hydrogenic_reduced_wavefunction(atom, spinorbit, grid);
IOP capture at generalized_laguerre_polynom(35, 21): output converted to BigInt
julia> def = castDef(grid, atom, spinorbit, codata; msg=true);
Def created for ¹H:25n on exponential grid of 1320 points
plot_wavefunction(Z, 1:grid.N, grid, def)
The plot is made using CairomMakie
. NB.: plot_wavefunction
is not included in the CamiXon
package.
CamiXon.reduce_wavefunction
— Methodreduce_wavefunction(Z::Vector{Complex{T}}, grid::CamiDiff.Grid{T}) where T<:Real
Conversion from the ordinary radial wavefunction $\tilde{R}_{nl}(ρ)$ to the reduced radial wavefuntion
\[ \tilde{\chi}_{nl}(ρ) = ρ \tilde{R}_{nl}(ρ).\]
where $ρ$ is the radial distance to the nucleus in a.u..
Example:
julia> atom = castAtom(Z=1, A=1, Q=0; msg=false);
julia> spinorbit = castSpinorbit(n=1, ℓ=0; msg=false);
julia> grid = autoGrid(atom, spinorbit, Float64);
julia> RH1s_example = [RH1s(atom.Z, grid.r[n]) for n=1:grid.N];
julia> ZH1s_example = reduce_wavefunction(RH1s_example, grid);
julia> ZH1s_generic = hydrogenic_reduced_wavefunction(atom, spinorbit, grid);
julia> @test ZH1s_example ≈ ZH1s_generic
Test Passed
julia> f1 = real(ZH1s_example);
julia> f2 = real(ZH1s_generic);
julia> compare_functions(f1, f2, 1:grid.N, grid)
The plot is made using CairomMakie
. NB.: compare_functions
is not included in the CamiXon
package. ```
CamiXon.restore_wavefunction
— Methodrestore_wavefunction(Z::Vector{Complex{T}}, atom::Atom, spinorbit::Spinorbit, grid::CamiDiff.Grid{T}) where T<:Real
Conversion from the reduced radial wavefunction $\tilde{\chi}_{nl}(ρ)$ to the ordinary radial wavefuntion $\tilde{R}_{nl}(ρ)$,
\[ \tilde{R}_{nl}(ρ)=\tilde{\chi}_{nl}(ρ)/ρ,\]
where $ρ$ is the radial distance to the nucleus in a.u..
Example:
``` julia> atom = castAtom(Z=1, A=1, Q=0; msg=false); julia> spinorbit = castSpinorbit(n=1, ℓ=0; msg=false); julia> grid = autoGrid(atom, spinorbit, Float64); julia> RH1sexample = [RH1s(atom.Z, grid.r[n]) for n=1:grid.N]; julia> ZH1sexample = reducewavefunction(RH1sexample, grid); julia> RH1sgeneric = restorewavefunction(ZH1s_generic, atom, spinorbit, grid);
julia> @test RH1sexample ≈ RH1sgeneric Test Passed
Some special cases
CamiXon.RH1s
— MethodRH1s(Z::Int, r::T) where T <:Real
Analytic expression for the hydrogenic 1s radial wavefunction and its derivative in the format $Z = \tilde{R} + i \tilde{R}^′$, where
\[ \tilde{R}_{1s}(ρ) = Z^{3/2} 2 e^{-Zρ}\]
is the radial wavefunction and
\[ \tilde{R}^′_{1s}(ρ) = -Z^{5/2} 2 e^{-Zρ}\]
its derivative, with $ρ$ the radial distance to the nucleus in a.u..
Example:
atom = castAtom(Z=1, A=1, Q=0; msg=false);
orbit = castSpinorbit(n=1, ℓ=0; msg=false);
grid = autoGrid(atom, spinorbit, Float64; Nboost=1, msg=false);
def = castDef(grid, atom, spinorbit, codata);
RH1s_example = [RH1s(atom.Z, grid.r[n]) for n=1:grid.N];
plot_wavefunction(RH1s_example, 1:grid.N, grid, def; reduced=false)
The plot is made using CairomMakie
. NB.: plot_function
is not included in the CamiXon
package.
CamiXon.RH2s
— MethodRH2s(Z::Int, r::T) where T <:Real
Analytic expression for the hydrogenic 1s reduced radial wavefunction and its derivative in the format $Z = \tilde{R} + i \tilde{R}^′$, where
\[ \tilde{R}_{2s}(ρ)=\left(Z/2\right)^{3/2}(1-Zρ/2)2e^{-Zρ/2}\]
is the radial wavefunction and
\[ \tilde{R}_{2s}(ρ)=-\left(Z/2\right)^{5/2}(2-Zρ/2)2e^{-Zρ/2}\]
its derivative, with $ρ$ the radial distance to the nucleus in a.u..
Example:
atom = castAtom(Z=1, A=1, Q=0; msg=false);
orbit = castSpinorbit(n=2, ℓ=0; msg=false);
grid = autoGrid(atom, spinorbit, Float64; Nboost=1, msg=false);
def = castDef(grid, atom, spinorbit, codata; msg=false);
RH2s_example = [RH2s(atom.Z, grid.r[n]) for n=1:grid.N];
plot_wavefunction(RH2s_example, 1:grid.N, grid, def; reduced=false)
The plot is made using CairomMakie
. NB.: plot_wavefunction
is not included in the CamiXon
package.
CamiXon.RH2p
— MethodRH2p(Z::Int, r::T) where T <:Real
Analytic expression for the hydrogenic 1s reduced radial wavefunction and its derivative in the format $Z = \tilde{R} + i \tilde{R}^′$, where
\[ \tilde{R}_{2p}(ρ)=\left(Z/2\right)^{3/2}\sqrt{1/3}(Zρ/2)2e^{-Zρ/2}\]
is the radial wavefunction and
\[ \tilde{R}_{2p}(ρ)=\left(Z/2\right)^{3/2}\sqrt{1/3}(1-Zρ/2)2e^{-Zρ/2}\]
its derivative, with $ρ$ the radial distance to the nucleus in a.u..
Example:
atom = castAtom(Z=1, A=1, Q=0; msg=false);
orbit = castSpinorbit(n=2, ℓ=1; msg=false);
grid = autoGrid(atom, spinorbit, Float64; Nboost=1, msg=false);
def = castDef(grid, atom, spinorbit, codata);
RH2p_example = [RH2p(atom.Z, grid.r[n]) for n=1:grid.N];
plot_wavefunction(RH2p_example, 1:grid.N, grid, def; reduced=false)
The plot is made using CairomMakie
. NB.: plot_wavefunction
is not included in the CamiXon
package.
Molecular properties
CamiXon.silvera_goldman_triplet
— Methodsilvera_goldman_triplet(r::T) where T<:Real
Parametrization in Hartree a.u. of the triplet $(^{3}\Sigma_{u}^{+})$ potential of the electronic ground state of $\mathrm{H}_{2}$ (Eh = 219474.6 cm-1),
\[ V_{t}(r)=\mathrm{exp}\left(0.09678-1.10173\thinspace r-0.0394\thinspace r^{2}\right)+F(r)\left(-6.5\thinspace r^{-6}-124\thinspace r^{-8}-3285r^{-10}\thinspace \right)\]
\[ \mathrm{where}\ \ \ \ \ \ \ \ F(r) = \begin{cases} \mathrm{exp}\left[-\left(\frac{10.04}{r}-1\right)^{2}\right] & \mathrm{for}\,\,\,r<10.04\,\mathrm{a.u.}\\ 1 & \mathrm{for}\,\,\,r<10.04\,\mathrm{a.u.} \end{cases}\]
see I.F. Silvera, - Rev. Mod. Phys., 52, 393 (1980).
CamiXon.silvera_goldman_singlet
— Methodsilvera_goldman_singlet(r::T) where T<:Real
Parametrization in Hartree a.u. of the singlet $(^{1}\Sigma_{g}^{+})$ potential of $\mathrm{H}_{2}$ (Eh = 219474.6 cm-1),
\[ V_{s}(r)=V_{t}(r)-J(r)\]
where $V_{t}$ is the triplet potential (silvera_goldman_triplet
) and $J(r)$ is the exchange contribution (silvera_goldman_triplet
).
CamiXon.silvera_goldman_exchange
— Methodsilvera_goldman_exchange(r::T) where T<:Real
Parametrization in Hartree a.u. of the exchange energy difference between singlet $(^{3}\Sigma_{u}^{+})$ and triplet $(^{1}\Sigma_{g}^{+})$ potentials of $\mathrm{H}_{2}$ (Eh = 219474.6 cm-1),
\[ J(r)=\mathrm{exp}\left(-0.288-0.275\thinspace r-0.176\thinspace r^{2}+0.0068\thinspace r^{3}\right)\]
see I.F. Silvera, - Rev. Mod. Phys., 52, 393 (1980).
CamiXon.silvera_goldman_potential
— Methodsilvera_goldman_potential(grid::CamiDiff.Grid{T}; S=0) where T<:Real
CamiDiff.Grid representation in Hartree a.u. of the singlet (S=0) and triplet (S=1) potentials of $\mathrm{H}_{2}$,
\[ \mathcal{V}(r)=V_{D}(r)+J(r)\mathbf{s}_{1}\cdot\mathbf{s}_{2},\]
where $\mathbf{S} = \mathbf{s}_{1}+\mathbf{s}_{2}$ and
\[ V_{D}(r)=\frac{1}{4}[V_{s}(r)+3V_{t}(r)] \ \mathrm{and}\ J(r)=V_{t}(r)-V_{s}(r)\]
are known as the direct and exchange contribution, respectively; $V_{s}:$ see silvera_goldman_singlet
, $V_{t}:$ see silvera_goldman_triplet
, $J(r):$ see silvera_goldman_exchange
.
see I.F. Silvera, - Rev. Mod. Phys., 52, 393 (1980).
CamiXon.rotbarrier
— Methodrotbarrier(grid::CamiDiff.Grid{T}; ℓ=0) where T<:Real
CamiDiff.Grid representation of rotational barrier potential in wavenumber notation,
\[V_{rot}(r) = \frac{\ell(\ell+1)}{r^{2}},\]
where ℓ is the rotational quantum number.