qtcad.atoms.materials module
- class qtcad.atoms.materials.OneAtom(atom_species: str)
Bases:
OneAtom
Onsite tight-binding model parameters of a given atomic species.
- Attributes:
atom_species (str) – Atomic species (e.g. “Si”).
tb_params (dict) – Onsite tight-binding model parameters; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are dictionaries of the parameters, expressed in SI units.
tb_orbs (dict) – Atomic orbital basis set used in the tight-binding model; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are strings which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
- __init__(atom_species: str) None
- Parameters:
atom_species (str) – Atomic species (e.g. “Si”).
- get_tb_params(tb_params_name: str, units: str) Tuple[dict, str]
Extract input onsite tight-binding model parameter set.
- Parameters:
tb_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- Returns:
Two-element tuple containing –
dict - Onsite tight-binding model parameters.
str - Atomic orbital basis set used in the tight-binding model, which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
- set_tb_params(tb_params_name: str, params: dict, orbs: str, units: str) None
Set onsite tight-binding model parameters.
- Parameters:
tb_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
params (dict) – Dictionary of onsite tight-binding model parameters.
orbs (str) – Atomic orbital basis set used in the tight-binding model, which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- class qtcad.atoms.materials.ThreeAtoms(atom_species_1: str, atom_species_2: str, atom_species_3: str)
Bases:
ThreeAtoms
Keating valence force-field model bond-bending parameters of a given triplet of atomic species.
- Attributes:
atom_species_1 (str) – Atomic species (e.g. “Si”) of the first atom in the triplet.
atom_species_2 (str) – Atomic species (e.g. “Si”) of the second atom in the triplet; it is the central atom of the triplet.
atom_species_3 (str) – Atomic species (e.g. “Si”) of the third atom in the triplet.
vff_params (dict) – Keating valence force-field model bond-bending parameters; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are dictionaries of the parameters, , expressed in SI units.
- __init__(atom_species_1: str, atom_species_2: str, atom_species_3: str) None
- Parameters:
atom_species_1 (str) – Atomic species (e.g. “Si”) of the first atom in the triplet.
atom_species_2 (str) – Atomic species (e.g. “Si”) of the second atom in the triplet; it is the central atom of the triplet.
atom_species_3 (str) – Atomic species (e.g. “Si”) of the third atom in the triplet.
- get_mirrored_atom_triplet() ThreeAtoms
Create a new ThreeAtoms object with the atom species of the peripheral (non-central) atoms swapped.
- Returns:
qtcad.atoms.materials.ThreeAtoms – Mirrored atom triplet
- get_vff_params(vff_params_name: str, units: str) dict
Extract input Keating valence force-field model bond-bending parameter set.
- Parameters:
vff_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- Returns:
dict – Keating valence force-field model bond-bending parameters.
- set_vff_params(vff_params_name: str, params: dict, units: str) None
Set Keating valence force-field model bond-bending parameters.
- Parameters:
vff_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
params (dict) – Dictionary of Keating valence force-field model bond-bending parameters.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- class qtcad.atoms.materials.TwoAtoms(atom_species_1: str, atom_species_2: str)
Bases:
TwoAtoms
Offsite tight-binding model parameters and Keating valence force-field model bond-stretching parameters of a given pair of atomic species.
- Attributes:
atom_species_1 (str) – Atomic species (e.g. “Si”) of the first atom in the pair.
atom_species_2 (str) – Atomic species (e.g. “Si”) of the second atom in the pair.
tb_params (dict) – Offsite tight-binding model parameters; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are dictionaries of the parameters, expressed in SI units.
tb_orbs (dict) – Atomic orbital basis set used in the tight-binding model; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are strings which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
vff_params (dict) – Keating valence force-field model bond-stretching parameters; keys refer to the name of the parameter set (which is typically the name of the first author of the paper from which the parameters were extracted) and values are dictionaries of the parameters, expressed in SI units.
- __init__(atom_species_1: str, atom_species_2: str) None
- Parameters:
atom_species_1 (str) – Atomic species (e.g. “Si”) of the first atom in the pair.
atom_species_2 (str) – Atomic species (e.g. “Si”) of the second atom in the pair.
- get_mirrored_atom_pair() TwoAtoms
Create a new TwoAtoms object with the atom species swapped.
- Returns:
qtcad.atoms.materials.TwoAtoms – Mirrored atom pair.
- get_tb_params(tb_params_name: str, units: str) Tuple[dict, str]
Extract input offsite tight-binding model parameter set.
- Parameters:
tb_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- Returns:
Two-element tuple containing –
dict - Offsite tight-binding model parameters.
str - Atomic orbital basis set used in the tight-binding model, which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
- get_vff_params(vff_params_name: str, units: str) dict
Extract input Keating valence force-field model bond-stretching parameter set.
- Parameters:
vff_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- Returns:
dict – Keating valence force-field model bond-stretching parameters.
- set_tb_params(tb_params_name: str, params: dict, orbs: str, units: str) None
Set offsite tight-binding model parameters.
If the two atoms are of the same chemical species,
V_i1j2X = V_i2j1X
for anyi, j = s, p, d, t
and for anyX = S, P, D
. In this case,V_i1j2X = V_i2j1X
may simply be denoted asV_ijX
. If this simplified notation is used in the input dictionary, this method automatically converts it to the full notationV_i1j2X, V_i2j1X
before storing the parameters.- Parameters:
tb_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
params (dict) – Dictionary of offsite tight-binding model parameters.
orbs (str) – Atomic orbital basis set used in the tight-binding model, which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- set_vff_params(vff_params_name: str, params: dict, units: str) None
Set Keating valence force-field model bond-stretching parameters.
- Parameters:
vff_params_name (str) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted.
params (dict) – Dictionary of Keating valence force-field model bond-stretching parameters.
units (str) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts.
- qtcad.atoms.materials.get_tb_params(atom_species_1: str, atom_species_2: str = None, tb_params_name: str | Tuple[str, ...] = ('Niquet', 'Kim'), units: str = 'SI') Tuple[dict, str]
Retrieve dictionary of tight-binding model parameters corresponding to input atomic species.
If a single atomic species is given as input, a dictionary of onsite tight-binding paramters is output. If two atomic species are given as input, a dictionary of offsite tight-binding parameters is output.
- Parameters:
atom_species_1 (str) – Atomic species of first (or only) atom (e.g. “Si”).
atom_species_2 (str, optional) – Atomic species of second atom (e.g. “Si”)
tb_params_name (str or tuple of str, optional) – If a str, name of the tight-binding model parameter set, which is typically the name of the first author of the paper from which the parameters were extracted. If a tuple, names of the tight-binding model parameter sets ordered according to precedence; if multiple parameter sets are available for a given atom or pair of atoms, the parameter set is set to the available parameter set whose name first appears in the tuple. The parameter set names include “Niquet”, “Boykin”, “Vogl”, “Klimeck_cb”, “Klimeck_vb”, and “Kim”. Default: (“Niquet”, “Kim”).
units (str, optional) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts. Default: “SI”.
- Returns:
Two-element tuple containing –
dict - Onsite (offsite) tight-binding model parameters if
atom_species_2
is (is not) None.str - Atomic orbital basis set used in the tight-binding model, which may either be “sp3” for an \(sp^3\) basis, “sp3s*” for an \(sp^3s^{\star}\) basis, or “sp3d5s*” for an \(sp^3d^5s^{\star}\) basis.
- qtcad.atoms.materials.get_vff_params(atom_species_1: str, atom_species_2: str, atom_species_3: str = None, vff_params_name: str = 'Niquet', units: str = 'SI') dict
Retrieve dictionary of Keating valence force-field model parameters corresponding to input atomic species.
If two atomic species are given as input, a dictionary of Keating valence force-field model bond-stretching parameters is output. If three atomic species are given as input, a dictionary of Keating valence force-field model bond-bending parameters is output.
- Parameters:
atom_species_1 (str) – Atomic species of first atom (e.g. “Si”).
atom_species_2 (str) – Atomic species of second atom (e.g. “Si”), which corresponds to the central atom of the triplet when
atom_species_3
is not None.atom_species_3 (str, optional) – Atomic species of third atom (e.g. “Si”).
vff_params_name (str, optional) – Name of the parameter set, which is typically the name of the first author of the paper from which the parameters were extracted. Default: “Niquet”.
units (str, optional) – Units of the parameters, which may either be “SI” for SI units (metres and joules) or “A-eV” for angstroms and electrovolts. Default: “SI”.
- Returns:
dict – Bond-stretching (bond-bending) Keating valence force-field model parameters if
atom_species_3
is (is not) None.