sisl.HydrogenicOrbital
- class sisl.HydrogenicOrbital
Bases:
AtomicOrbitalA hydrogen-like atomic orbital defined by an effective atomic number Z in addition to the usual quantum numbers (n, l, m).
A hydrogenic atom (Hydrogen-like) is an atom with a single valence electron.
The returned orbital is properly normalized, see [HydrogenicO] for details.
The orbital has the familiar spherical shape
\[\begin{split}Y^m_l(\theta,\varphi) &= (-1)^m\sqrt{\frac{2l+1}{4\pi} \frac{(l-m)!}{(l+m)!}} e^{i m \theta} P^m_l(\cos(\varphi)) \\ \phi_{lmn}(\mathbf r) &= R_{nl}(|\mathbf r|) Y^m_l(\theta, \varphi) \\ R_{nl}(|\mathbf r|) &= -\sqrt{\big(\frac{2Z}{na_0}\big)^3 \frac{(n-l-1)!}{2n(n+l)!}} e^{-Zr/(na_0)} \big( \frac{2Zr}{na_0} \big)^l L_{n-l-1}^{(2l+1)} \big( \frac{2Zr}{na_0} \big)\end{split}\]With \(L_{n-l-1}^{(2l+1)}\) is the generalized Laguerre polynomials.
References
- Parameters:
n – principal quantum number
l – angular momentum quantum number
m – magnetic quantum number
Z – effective atomic number
**kwargs – See
Orbitalfor details.
Examples
>>> carbon_pz = HydrogenicOrbital(2, 1, 0, 3.2)
Methods
copy()Create an exact copy of this object
equal(other[, psi, radial])Compare two orbitals by comparing their radius, and possibly the radial and psi functions
name([tex])Return named specification of the atomic orbital
psi(r)Calculate \(\phi(\mathbf r)\) at a given point (or more points)
psi_spher(r, theta, phi[, cos_phi])Calculate \(\phi(|\mathbf r|, \theta, \phi)\) at a given point (in spherical coordinates)
radial(r, *args, **kwargs)Calculate the radial part of the wavefunction \(f(\mathbf r)\)
scale(scale)Scale the orbital by extending R by
scaleset_radial(*args, **kwargs)Update the internal radial function used as a \(f(|\mathbf r|)\)
spher(theta, phi[, cos_phi])Calculate the spherical harmonics of this orbital at a given point (in spherical coordinates)
toGrid([precision, c, R, dtype, atom])Create a Grid with only this orbital wavefunction on it
toSphere([center])Return a sphere with radius equal to the orbital size
Attributes
Whether this is polarized shell or not
Maxmimum radius of orbital
\(l\) quantum number
\(m\) quantum number
\(n\) shell
Orbital with radial part
Initial charge
Named tag of orbital
\(\zeta\) shell
- copy()
Create an exact copy of this object
- Parameters:
orbital (HydrogenicOrbital)
- Return type:
- equal(other, psi=False, radial=False)
Compare two orbitals by comparing their radius, and possibly the radial and psi functions
- name(tex=False)
Return named specification of the atomic orbital
- psi(r)
Calculate \(\phi(\mathbf r)\) at a given point (or more points)
The position r is a vector from the origin of this orbital.
- Parameters:
r (
ndarray) – the vector from the orbital origin- Returns:
basis function value at point r
- Return type:
- psi_spher(r, theta, phi, cos_phi=False)
Calculate \(\phi(|\mathbf r|, \theta, \phi)\) at a given point (in spherical coordinates)
This is equivalent to
psihowever, the input is given in spherical coordinates.- Parameters:
- Returns:
basis function value at point r
- Return type:
- radial(r, *args, **kwargs)
Calculate the radial part of the wavefunction \(f(\mathbf r)\)
The position r is a vector from the origin of this orbital.
- Parameters:
r (
ndarray) – radius from the orbital origin- Returns:
radial orbital value at point r
- Return type:
- set_radial(*args, **kwargs)
Update the internal radial function used as a \(f(|\mathbf r|)\)
See
SphericalOrbital.set_radialwhere these arguments are passed to.
- spher(theta, phi, cos_phi=False)
Calculate the spherical harmonics of this orbital at a given point (in spherical coordinates)
- Parameters:
- Returns:
spherical harmonics at angles \(\theta\) and \(\phi\)
- Return type:
- toGrid(precision=0.05, c=1.0, R=None, dtype=np.float64, atom=1)
Create a Grid with only this orbital wavefunction on it
- Parameters:
precision (
float, optional) – used separation in theGridbetween voxels (in Ang)c (
floatorcomplex, optional) – coefficient for the orbitalR (
float, optional) – box size of the grid (default to the orbital range)dtype (
numpy.dtype, optional) – the used separation in theGridbetween voxelsatom (optional) – atom associated with the grid; either an atom instance or something that
Atom(atom)would convert to a proper atom.
- toSphere(center=None)
Return a sphere with radius equal to the orbital size
- Returns:
sphere with a radius equal to the radius of this orbital
- Return type:
- property P
Whether this is polarized shell or not
- property R
Maxmimum radius of orbital
- property l
\(l\) quantum number
- property m
\(m\) quantum number
- property n
\(n\) shell
- property orb
Orbital with radial part
- property q0
Initial charge
- property tag
Named tag of orbital
- property zeta
\(\zeta\) shell