Atom

class sisl.Atom(Z, orbitals=None, mass=None, tag=None, **kwargs)

Bases: object

Atomic information, mass, name number of orbitals and ranges

Object to handle atomic mass, name, number of orbitals and orbital range.

The Atom object handles the atomic species with information such as

  • atomic number

  • mass

  • number of orbitals

  • radius of each orbital

The Atom object is pickle-able.

Z

atomic number

Type

int

no

number of orbitals belonging to the Atom

Type

int

R

the range of each orbital associated with this Atom (see Orbital.R for details)

Type

numpy.ndarray

q0

the charge of each orbital associated with this Atom (see Orbital.q0 for details)

Type

numpy.ndarray

mass

mass of Atom

Type

float

Parameters
  • Z (int or str) – key lookup for the atomic specie, Atom[key]

  • orbitals (list of Orbital or float, optional) – all orbitals associated with this atom. Default to one orbital.

  • mass (float, optional) – the atomic mass, if not specified uses the mass from PeriodicTable

  • tag (str, optional) – arbitrary designation for user handling similar atoms with different settings (defaults to the label of the atom)

Attributes

R

Orbital radius

__dict__

__doc__

__hash__

__module__

__weakref__

list of weak references to the object (if defined)

no

Number of orbitals on this atom

q0

Orbital initial charges

symbol

Return short atomic name (Au==79).

Methods

__delattr__

Implement delattr(self, name).

__dir__

Default dir() implementation.

__eq__(b)

Return true if the saved quantities are the same

__format__

Default object formatter.

__ge__

Return self>=value.

__getattribute__

Return getattr(self, name).

__getitem__(key)

The orbital corresponding to index key

__getstate__()

Return the state of this object

__gt__

Return self>value.

__init__(Z[, orbitals, mass, tag])

Initialize self.

__init_subclass__

This method is called when a class is subclassed.

__iter__()

Loop on all orbitals in this atom

__le__

Return self<=value.

__len__()

Return number of orbitals in this atom

__lt__

Return self<value.

__ne__(b)

Return self!=value.

__new__

Create and return a new object.

__reduce__

Helper for pickle.

__reduce_ex__

Helper for pickle.

__repr__()

Return repr(self).

__setattr__

Implement setattr(self, name, value).

__setstate__(d)

Re-create the state of this object

__sizeof__

Size of object in memory, in bytes.

__str__()

Return str(self).

__subclasshook__

Abstract classes can override this to customize issubclass().

copy([Z, orbitals, mass, tag])

Return copy of this object

equal(other[, R, psi])

True if other is the same as this atomic specie

index(orbital)

Return the index of the orbital in the atom object

iter([group])

Loop on all orbitals in this atom

maxR()

Return the maximum range of orbitals.

radius([method])

Return the atomic radii of the atom (in Ang)

remove(orbitals)

Return the same atom without a specific set of orbitals

scale(scale)

Scale the atomic radii and return an equivalent atom.

sub(orbitals)

Return the same atom with only a subset of the orbitals present

toSphere([center])

Return a sphere with the maximum orbital radius equal

property R

Orbital radius

copy(Z=None, orbitals=None, mass=None, tag=None)[source]

Return copy of this object

equal(other, R=True, psi=False)[source]

True if other is the same as this atomic specie

Parameters
  • other (Atom) – the other object to check againts

  • R (bool, optional) – if True the equality check also checks the orbital radii, else they are not compared

  • psi (bool, optional) – if True, also check the wave-function component of the orbitals, see Orbital.psi

index(orbital)[source]

Return the index of the orbital in the atom object

iter(group=False)[source]

Loop on all orbitals in this atom

Parameters

group (bool, optional) – if two orbitals share the same radius one may be able to group two orbitals together

Returns

current orbital, if group is True this is a list of orbitals, otherwise a single orbital is returned

Return type

Orbital

maxR()[source]

Return the maximum range of orbitals.

property no

Number of orbitals on this atom

property q0

Orbital initial charges

radius(method='calc')[source]

Return the atomic radii of the atom (in Ang)

See PeriodicTable.radius for details on the argument.

remove(orbitals)[source]

Return the same atom without a specific set of orbitals

Parameters

orbitals (array_like) – indices of the orbitals to remove

Returns

without the specified orbitals

Return type

Atom

See also

sub

retain a selected set of orbitals

scale(scale)[source]

Scale the atomic radii and return an equivalent atom.

Parameters

scale (float) – the scale factor for the atomic radii

sub(orbitals)[source]

Return the same atom with only a subset of the orbitals present

Parameters

orbitals (array_like) – indices of the orbitals to retain

Returns

with only the subset of orbitals

Return type

Atom

:raises ValueError : if the number of orbitals removed is too large or some indices are outside the allowed range:

property symbol

Return short atomic name (Au==79).

toSphere(center=None)[source]

Return a sphere with the maximum orbital radius equal

Returns

a sphere with radius equal to the maximum radius of the orbitals

Return type

Sphere