sisl.Orbital
- class sisl.Orbital
Bases:
objectBase class for orbital information.
The orbital class is still in an experimental stage and will probably evolve over some time.
- Parameters:
R –
maximum radius of interaction. In case of a dict the values will be passed to the
radial_minimize_rangemethod. Currently allowed arguments are:contains: R will be selected such that the integrated functionfuncwill contain this percentage of the full integral (determined at
maxR
maxR: maximum R to search in, default to 100 Angfunc: the function that will be integrated and checked forcontains
See examples for details. If None the default will be
{'contains': 0.9999}. If a negative number is passed, it will be converted to{'contains':-R}A dictionary will only make sense if the class has the_radialfunction associated.q0 – initial charge
tag – user defined tag
Examples
>>> orb = Orbital(1) >>> orb_tag = Orbital(2, tag="range=2") >>> orb.R == orb_tag.R / 2 True >>> orbq = Orbital(2, 1) >>> orbq.q0 1.
Optimizing the R range for the radial function integral \(\int\mathrm dr radial(r)^2 r ^2\) >>> R = { … “contains”: 0.9999, … “func”: lambda radial, r: (radial(r) * r)**2, … “maxR”: 100 … } >>> orb = Orbital(R)
The default dictionary if none is passed will be:
dict(contains=0.9999, func=lambda radial, r: abs(radial(r)), maxR=100)The optimization problem depends heavily on thefuncsince the tails are important for real-space quantities.See also
SphericalOrbitalorbitals with a spherical basis set
AtomicOrbitalspecification of n, m, l quantum numbers + a spherical basis set
HydrogenicOrbitalsimplistic orbital model of Hydrogenic-like basis sets
GTOrbitalGaussian-type orbitals
STOrbitalSlater-type orbitals
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 a named specification of the orbital (
tag)psi(r, *args, **kwargs)Calculate \(\phi(\mathbf r)\) for Cartesian coordinates
scale(scale)Scale the orbital by extending R by
scaletoGrid([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
Maxmimum radius of orbital
Initial charge
Named tag of orbital
- equal(other, psi=False, radial=False)[source]
Compare two orbitals by comparing their radius, and possibly the radial and psi functions
When comparing two orbital radius they are considered equal with a precision of 1e-4 Ang.
- toGrid(precision=0.05, c=1.0, R=None, dtype=np.float64, atom=1)[source]
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)[source]
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 R
Maxmimum radius of orbital
- property q0
Initial charge
- property tag
Named tag of orbital