sisl.atom module¶
Atomic information in different object containers.
Atomic information can be created and handled using the
PeriodicTable
object or the Atom
object, or lastly the combined
object Atoms
.
- The
PeriodicTable
enables a lookup table for generic information about the atomic species in the periodic table of elements. - The
Atom
enables creating atoms with associated information, such as- Mass
- Species
- Number of associated orbitals
- Radii of each associated orbital
- Custom tag (useful for denoting pseudo potentials)
- The
Atoms
object is a sorted, unique list ofAtom
such that one can contain a list of atoms. Instead of storing allAtom
objects which may have many dublicates, theAtoms
object has a unique list ofAtom
objects and an index list (Atoms.specie
). This object enables a fast lookup of atoms without having to duplicate too much memory.
-
class
sisl.atom.
PeriodicTable
[source]¶ Bases:
object
Periodic table for creating an
Atom
via atomic numbersEnables lookup of atomic numbers/names/labels to get the atomic number.
>>> 79 == PeriodicTable().Z('Au') >>> 79 == PeriodicTable().Z_int('Au') >>> 'Au' == PeriodicTable().Z_short(79) >>> 'Au' == PeriodicTable().Z_label(79) >>> 'Au' == PeriodicTable().Z_label('Gold')
Several quantities available to the atomic species are available from
The following values are accesible:
- atomic mass (in atomic units)
- empirical atomic radii (in Ang)
- calculated atomic radii (in Ang)
- van der Waals atomic radii (in Ang)
For certain species the above quantities are not available and a negative number is returned.
Examples
>>> 12.0107 == PeriodicTable().atomic_mass('C') True >>> 12.0107 == PeriodicTable().atomic_mass(6) True >>> 12.0107 == PeriodicTable().atomic_mass('Carbon') True >>> .67 == PeriodicTable().radii('Carbon') True >>> .67 == PeriodicTable().radii(6,'calc') True >>> .7 == PeriodicTable().radii(6,'empirical') True >>> 1.7 == PeriodicTable().radii(6,'vdw') True
Methods
Z
(key)Return the atomic number based on general input Z_int
(key)Return the atomic number based on general input Z_label
(key)Return the atomic label of the corresponding atom Z_short
(key)Return the atomic label of the corresponding atom atomic_mass
(key)Return the atomic mass of the corresponding atom radii
(key[, method])Return the atomic radii radius
(key[, method])Return the atomic radii -
Z
(key)[source]¶ Return the 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: Z : ndarray or int
Examples
>>> 79 == PeriodicTable().Z_int('Au') True >>> 79 == PeriodicTable().Z('Au') True >>> 6 == PeriodicTable().Z('Carbon') True
-
Z_int
(key)¶ Return the 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: Z : ndarray or int
Examples
>>> 79 == PeriodicTable().Z_int('Au') True >>> 79 == PeriodicTable().Z('Au') True >>> 6 == PeriodicTable().Z('Carbon') True
-
Z_label
(key)[source]¶ Return the 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: name : ndarra or str
-
Z_short
(key)¶ Return the 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: name : ndarra or str
-
atomic_mass
(key)[source]¶ Return the 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: name : ndarray or float
-
radii
(key, method='calc')¶ Return the atomic radii
Return the atomic radii.
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:
calc
, the calculated atomic radiiempirical
, the empirically found valuesvdw
, the van-der-Waals found values
Returns: radius : ndarray or float
The atomic radius in
Ang
-
radius
(key, method='calc')[source]¶ Return the atomic radii
Return the atomic radii.
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:
calc
, the calculated atomic radiiempirical
, the empirically found valuesvdw
, the van-der-Waals found values
Returns: radius : ndarray or float
The atomic radius in
Ang
-
class
sisl.atom.
Atom
(Z, R=None, orbs=None, mass=None, tag=None)[source]¶ 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 ispickle
-able.Parameters: Z : int or str
key lookup for the atomic specie,
Atom[key]
R : array_like or float
the range of the atomic orbitals
orbs : int
number of orbitals attached to this atom NOTE: Length of
R
precedes this quantity.mass : float, optional
the atomic mass, if not specified uses the mass from
PeriodicTable
tag : str
arbitrary designation for user handling similar atoms with different settings
Attributes
Z (int) atomic number R (ndarray) radius of orbitals belonging to the Atom
orbs (int) number of orbitals belonging to the Atom
mass (float) mass of Atom
Methods
copy
()Return copy of this object radii
([method])Return the atomic radii of the atom (in Ang) radius
([method])Return the atomic radii of the atom (in Ang) scale
(scale)Scale the atomic radii and return an equivalent atom. -
dR
¶ Return the maximum range of orbitals.
-
radii
(method='calc')¶ Return the atomic radii of the atom (in Ang)
See
PeriodicTable.radius
for details on the argument.
-
radius
(method='calc')[source]¶ Return the atomic radii of the atom (in Ang)
See
PeriodicTable.radius
for details on the argument.
-
scale
(scale)[source]¶ Scale the atomic radii and return an equivalent atom.
Parameters: scale : float
the scale factor for the atomic radii
-
symbol
¶ Return short atomic name (Au==79).
-
class
sisl.atom.
Atoms
(atom=None, na=None)[source]¶ Bases:
object
A list-like object to contain a list of different atoms with minimum data duplication.
This holds multiple
Atom
objects which are indexed via a species index. This is convenient when having geometries with millions of atoms because it will not duplicate theAtom
object, only a list index.Attributes
atom
Return the unique atoms list specie
Return the specie list Methods
add
(other)Append other
to this list of atoms and return the appended versionappend
(other)Append other
to this list of atoms and return the appended versioncopy
()Return a copy of this atom cut
(seps, axis)Return a subset of the list index
(atom)Return the species index of the atom object insert
(index, other)Insert other atoms into the list of atoms at index prepend
(other)reduce
()Returns a new Atoms
object by removing non-used atomsremove
(atom)Remove a set of atoms reorder
()Reorders the atoms and species index so that they are ascending repeat
(reps)Repeat this atom object reverse
([atom])Returns a reversed geometry scale
(scale)Scale the atomic radii and return an equivalent atom. sub
(atom)Return a subset of the list swap
(a, b)Swaps atoms tile
(reps)Tile this atom object -
add
(other)¶ Append
other
to this list of atoms and return the appended version
-
atom
¶ Return the unique atoms list
-
dR
¶ Return an array of masses of the contained objects
-
mass
¶ Return an array of masses of the contained objects
-
orbitals
¶ Return an array of orbitals of the contained objects
-
reverse
(atom=None)[source]¶ Returns a reversed geometry
Also enables reversing a subset of the atoms.
-
scale
(scale)[source]¶ Scale the atomic radii and return an equivalent atom.
Parameters: scale : float
the scale factor for the atomic radii
-
specie
¶ Return the specie list
-