Module for classes and methods that represents molecular orbitals.
aiida.tools.data.orbital.
Orbital
Bases: object
object
Base class for Orbitals. Can handle certain basic fields, their setting and validation. More complex Orbital objects should then inherit from this class
position – the absolute position (three floats) units in angstrom
x_orientation – x,y,z unit vector defining polar angle theta in spherical coordinates unitless
z_orientation – x,y,z unit vector defining azimuthal angle phi in spherical coordinates unitless
orientation_spin – x,y,z unit vector defining the spin orientation unitless
diffusivity – Float controls the radial term in orbital equation units are reciprocal Angstrom.
__dict__
__init__
Initialize self. See help(type(self)) for accurate signature.
__module__
__repr__
Return repr(self).
__str__
Return str(self).
__weakref__
list of weak references to the object (if defined)
_base_fields_optional
_base_fields_required
_validate_keys
Checks all the input_dict and tries to validate them, to ensure that they have been properly set raises Exceptions indicating any problems that should arise during the validation
input_dict – a dictionary of inputs
input_dict: the original dictionary with all validated kyes now removed
validated_dict: a dictionary containing all the input keys which have now been validated.
get_orbital_dict
returns the internal keys as a dictionary
set_orbital_dict
Sets the orbital_dict, which can vary depending on the particular implementation of this base class.
init_dict – the initialization dictionary
Classes for describing atomic orbitals.
Contains general Orbital class. For subclasses of Orbital, see submodules.
aiida.tools.data.orbital.orbital.
validate_float
Validate that the value is a float
validate_float_or_none
Validate that the value is a float or is None
validate_int
Validate that the value is an int
validate_int_or_none
Validate that the value is a int or is None
validate_len3_list
Validate that the value is a list of three floats
validate_len3_list_or_none
Validate that the value is a list of three floats or is None
A module defining hydrogen-like orbitals that are real valued (rather than complex-valued).
aiida.tools.data.orbital.realhydrogen.
RealhydrogenOrbital
Bases: aiida.tools.data.orbital.orbital.Orbital
aiida.tools.data.orbital.orbital.Orbital
Orbitals for hydrogen, largely follows the conventions used by wannier90 Object to handle the generation of real hydrogen orbitals and their hybrids, has methods for producing s, p, d, f, and sp, sp2, sp3, sp3d, sp3d2 hybrids. This method does not deal with the cannonical hydrogen orbitals which contain imaginary components.
The orbitals described here are chiefly concerned with the symmetric aspects of the oribitals without the context of space. Therefore diffusitivity, position and atomic labels should be handled in the OrbitalData class.
Following the notation of table 3.1, 3.2 of Wannier90 user guide http://www.wannier.org/doc/user_guide.pdf A brief description of what is meant by each of these labels:
radial_nodes – the number of radial nodes (or inflections) if no radial nodes are supplied, defaults to 0
angular_momentum – Angular quantum number, using real orbitals
magnetic_number – Magnetic quantum number, using real orbitals
spin – spin, up (1) down (-1) or unspecified (0)
The conventions regarding L and M correpsond to those used in wannier90 for all L greater than 0 the orbital is not hyrbridized see table 3.1 and for L less than 0 the orbital is hybridized see table 3.2. M then indexes all the possible orbitals from 0 to 2L for L > 0 and from 0 to (-L) for L < 0.
Validates the keys otherwise raise ValidationError. Does basic validation from the parent followed by validations for the quantum numbers. Raises exceptions should the input_dict fail the valiation or if it contains any unsupported keywords.
input_dict – the dictionary of keys to be validated
a validated dictionary
get_name_from_quantum_numbers
Returns the orbital_name correponding to the angular_momentum alone, or to both angular_number with magnetic_number. For example using angular_momentum=1 and magnetic_number=1 will return “Px”
get_quantum_numbers_from_name
Returns all the angular and magnetic numbers corresponding to name. For example, using “P” as name will return all quantum numbers associated with a “P” orbital, while “Px” will return only one set of quantum numbers, the ones associated with “Px”
validate_kind_name
Validate the value of the kind_name
validate_l
Validate the value of the angular momentum
validate_m
Validate the value of the magnetic number
validate_n
Validate the value of the number of radial nodes
validate_spin
Validate the value of the spin