sisl.PeriodicTable

class sisl.PeriodicTable

Bases: object

Periodic table for creating an Atom, or retrieval of atomic information via atomic numbers

Enables lookup of atomic numbers/names/labels to get the atomic number.

Several quantities available to the atomic species are available from <https://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page)>.

The following values are accessible:

  • atomic mass (in atomic units)

  • empirical atomic radius (in Ang)

  • calculated atomic radius (in Ang)

  • van der Waals atomic radius (in Ang)

For certain species the above quantities are not available and a negative number is returned.

Examples

>>> 79 == PeriodicTable().Z('Au')
True
>>> 79 == PeriodicTable().Z_int('Au')
True
>>> 'Au' == PeriodicTable().Z_short(79)
True
>>> 'Au' == PeriodicTable().Z_label(79)
True
>>> 'Au' == PeriodicTable().Z_label('Gold')
True
>>> 12.0107 == PeriodicTable().atomic_mass('C')
True
>>> 12.0107 == PeriodicTable().atomic_mass(6)
True
>>> 12.0107 == PeriodicTable().atomic_mass('Carbon')
True
>>> .67 == PeriodicTable().radius('Carbon')
True
>>> .67 == PeriodicTable().radius(6,'calc')
True
>>> .7  == PeriodicTable().radius(6,'empirical')
True
>>> 1.7 == PeriodicTable().radius(6,'vdw')
True

Methods

Z(key)

Atomic number based on general input

Z_int(key)

Atomic number based on general input

Z_label(key)

Atomic label of the corresponding atom

Z_short(key)

Atomic label of the corresponding atom

atomic_mass(key)

Atomic mass of the corresponding atom

radius(key[, method])

Atomic radius using different methods

Z(key)[source]

Atomic number based on general input

Return the atomic number corresponding to the key lookup.

Parameters:

key (array_like or str or int) – Uses value to lookup the atomic number in the PeriodicTable object.

Returns:

numpy.ndarray or int – atomic number corresponding to key, if key is array_like, so will the returned value be.

Examples

>>> 79 == PeriodicTable().Z_int('Au')
True
>>> 79 == PeriodicTable().Z('Au')
True
>>> 6 == PeriodicTable().Z('Carbon')
True
Z_int(key)

Atomic number based on general input

Return the atomic number corresponding to the key lookup.

Parameters:

key (array_like or str or int) – Uses value to lookup the atomic number in the PeriodicTable object.

Returns:

numpy.ndarray or int – atomic number corresponding to key, if key is array_like, so will the returned value be.

Examples

>>> 79 == PeriodicTable().Z_int('Au')
True
>>> 79 == PeriodicTable().Z('Au')
True
>>> 6 == PeriodicTable().Z('Carbon')
True
Z_label(key)[source]

Atomic label of the corresponding atom

Return the atomic short name corresponding to the key lookup.

Parameters:

key (array_like or str or int) – Uses value to lookup the atomic short name in the PeriodicTable object.

Returns:

numpy.ndarray or str – atomic short name corresponding to key, if key is array_like, so will the returned value be.

Z_short(key)

Atomic label of the corresponding atom

Return the atomic short name corresponding to the key lookup.

Parameters:

key (array_like or str or int) – Uses value to lookup the atomic short name in the PeriodicTable object.

Returns:

numpy.ndarray or str – atomic short name corresponding to key, if key is array_like, so will the returned value be.

atomic_mass(key)[source]

Atomic mass of the corresponding atom

Return the atomic mass corresponding to the key lookup.

Parameters:

key (array_like or str or int) – Uses value to lookup the atomic mass in the PeriodicTable object.

Returns:

numpy.ndarray or float – atomic mass in atomic units corresponding to key, if key is array_like, so will the returned value be.

radius(key, method: Literal['calc', 'empirical', 'vdw'] = 'calc')[source]

Atomic radius using different methods

Return the atomic radius.

Parameters:
  • key (array_like or str or int) – Uses value to lookup the atomic mass in the PeriodicTable object.

  • method ({'calc', 'empirical', 'vdw'}) –

    There are 3 different radii stored:

    1. calc, the calculated atomic radius

    2. empirical, the empirically found values

    3. vdw, the van-der-Waals found values

Returns:

numpy.ndarray or float – atomic radius in Ang