# sisl.Orbital

class sisl.Orbital(R, q0: float = 0.0, tag: str = '')

Bases: object

Base class for orbital information.

The orbital class is still in an experimental stage and will probably evolve over some time.

Parameters:
• R (float or dict or None) –

maximum radius of interaction. In case of a dict the values will be passed to the radial_minimize_range method. Currently allowed arguments are:

• contains: R will be selected such that the integrated function func

will contain this percentage of the full integral (determined at maxR

• maxR: maximum R to search in, default to 100 Ang

• func: the function that will be integrated and checked for contains

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 _radial function associated.

• q0 (float, optional) – initial charge

• tag (str, optional) – 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 the func since the tails are important for real-space quantities.

SphericalOrbital

orbitals with a spherical basis set

AtomicOrbital

specification of n, m, l quantum numbers + a spherical basis set

HydrogenicOrbital

simplistic orbital model of Hydrogenic-like basis sets

GTOrbital

Gaussian-type orbitals

STOrbital

Slater-type orbitals

Methods

 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 scale 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 R Maxmimum radius of orbital q0 Initial charge tag Named tag of orbital
property R

__init__(R, q0: float = 0.0, tag: str = '')[source]

Initialize orbital object

Parameters:
copy()

Create an exact copy of this object

Parameters:

orbital (Orbital)

Return type:

Orbital

equal(other, psi: bool = False, radial: bool = 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.

Parameters:
• other (Orbital) – comparison orbital

• psi (bool) – also compare that the full psi are the same

• radial (bool) – also compare that the radial parts are the same

name(tex=False)[source]

Return a named specification of the orbital (tag)

psi(r, *args, **kwargs)[source]

Calculate $$\phi(\mathbf r)$$ for Cartesian coordinates

property q0

Initial charge

scale(scale: float)

Scale the orbital by extending R by scale

Parameters:
Return type:

Orbital

property tag

Named tag of orbital

toGrid(precision: float = 0.05, c: float = 1.0, R=None, dtype=<class 'numpy.float64'>, atom=1)[source]

Create a Grid with only this orbital wavefunction on it

Parameters:
• precision (float, optional) – used separation in the Grid between voxels (in Ang)

• c (float or complex, optional) – coefficient for the orbital

• R (float, optional) – box size of the grid (default to the orbital range)

• dtype (dtype, optional) – the used separation in the Grid between voxels

• atom (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: