Orbital

class sisl.Orbital(R, q0=0.0, tag='')[source]

Base class for orbital information.

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

Parameters
Rfloat

maximum radius

q0float, optional

initial charge

tagstr, 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.
Attributes
Rfloat

maximum radius (in Ang)

q0float

initial electronic charge

tagstr

user defined tag

Attributes

R

q0

tag

Methods

__init__(self, R[, q0, tag])

Initialize orbital object

copy(self)

Create an exact copy of this object

equal(self, other[, psi, radial])

Compare two orbitals by comparing their radius, and possibly the radial and psi functions

name(self[, tex])

Return a named specification of the orbital (tag)

psi(self, r, \*args, \*\*kwargs)

Calculate \(\phi(\mathbf R)\) for Cartesian coordinates

psi_spher(self, r, theta, phi, \*args, …)

Calculate \(\phi(|\mathbf R|, \theta, \phi)\) for spherical coordinates

radial(self, r, \*args, \*\*kwargs)

Calculate the radial part of the wavefunction \(f(\mathbf R)\)

scale(self, scale)

Scale the orbital by extending R by scale

spher(self, theta, phi, \*args, \*\*kwargs)

Calculate the spherical harmonics of this orbital at a given point (in spherical coordinates)

toGrid(self[, precision, c, R, dtype, Z])

Create a Grid with only this orbital wavefunction on it

toSphere(self[, center])

Return a sphere with radius equal to the orbital size

R
copy(self)[source]

Create an exact copy of this object

equal(self, 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.

Parameters
otherOrbital

comparison orbital

psibool, optional

also compare that the full psi are the same

radialbool, optional

also compare that the radial parts are the same

name(self, tex=False)[source]

Return a named specification of the orbital (tag)

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

Calculate \(\phi(\mathbf R)\) for Cartesian coordinates

psi_spher(self, r, theta, phi, *args, **kwargs)[source]

Calculate \(\phi(|\mathbf R|, \theta, \phi)\) for spherical coordinates

q0
radial(self, r, *args, **kwargs)[source]

Calculate the radial part of the wavefunction \(f(\mathbf R)\)

scale(self, scale)[source]

Scale the orbital by extending R by scale

spher(self, theta, phi, *args, **kwargs)[source]

Calculate the spherical harmonics of this orbital at a given point (in spherical coordinates)

tag
toGrid(self, precision=0.05, c=1.0, R=None, dtype=<class 'numpy.float64'>, Z=1)[source]

Create a Grid with only this orbital wavefunction on it

Parameters
precisionfloat, optional

used separation in the Grid between voxels (in Ang)

cfloat or complex, optional

coefficient for the orbital

Rfloat, optional

box size of the grid (default to the orbital range)

dtypenumpy.dtype, optional

the used separation in the Grid between voxels

Zint, optional

atomic number associated with the grid

toSphere(self, center=None)[source]

Return a sphere with radius equal to the orbital size

Returns
~sisl.shape.Sphere

sphere with a radius equal to the radius of this orbital