tbplas.SK
- class tbplas.SK
Class for evaluating hopping integrals using Slater-Koster formula.
The maximum supported angular momentum is l=2 (d orbitals). Reference: https://journals.aps.org/pr/abstract/10.1103/PhysRev.94.1498
The reason why we make orbital labels as attributes is to avoid misspelling, which is likely to happen as we have to repeat them many times.
- __init__() None
Methods
__init__
()dd
(r[, label_i, label_j, v_dds, v_ddp, v_ddd])Evaluate the hopping integral <d_i,0|H|d_j,r>.
dp
(r[, label_p, label_d, v_pds, v_pdp])Evaluate the hopping integral <d,0|H|p,r>.
ds
(r[, label_d, v_sds])Evaluate the hopping integral <d,0|H|s,r>.
eval
(r[, label_i, label_j, v_sss, v_sps, ...])Common interface for evaluating hopping integral <i,0|H|j,r>.
pd
(r[, label_p, label_d, v_pds, v_pdp])Evaluate the hopping integral <p,0|H|d,r>.
pp
(r[, label_i, label_j, v_pps, v_ppp])Evaluate the hopping integral <p_i,0|H|p_j,r>.
ps
(r[, label_p, v_sps])Evaluate the hopping integral <p,0|H|s,r>.
sd
(r[, label_d, v_sds])Evaluate the hopping integral <s,0|H|d,r>.
sp
(r[, label_p, v_sps])Evaluate the hopping integral <s,0|H|p,r>.
ss
([v_sss])Evaluate the hopping integral <s,0|H|s,r>.
- __init__() None
- dd(r: ndarray, label_i: str = 'dxy', label_j: str = 'dxy', v_dds: complex = 0.0, v_ddp: complex = 0.0, v_ddd: complex = 0) complex
Evaluate the hopping integral <d_i,0|H|d_j,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_i – label of d_i orbital
label_j – label of d_j orbital
v_dds – V_dd_sigma
v_ddp – V_dd_pi
v_ddd – V_dd_delta
- Returns:
hopping integral
- Raises:
ValueError – if label_i or label_j is not in self.d_labels
- dp(r: ndarray, label_p: str = 'px', label_d: str = 'dxy', v_pds: complex = 0.0, v_pdp: complex = 0.0) complex
Evaluate the hopping integral <d,0|H|p,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_p – label of p orbital
label_d – label of d orbital
v_pds – V_pd_sigma
v_pdp – V_pd_pi
- Returns:
hopping integral
- Raises:
ValueError – if label_p is not in self.p_labels or label_d is not in self.d_labels
- ds(r: ndarray, label_d: str = 'dxy', v_sds: complex = 0.0) complex
Evaluate the hopping integral <d,0|H|s,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_d – label of d orbital
v_sds – V_sd_sigma
- Returns:
hopping integral
- Raises:
ValueError – if label_d is not in self.d_labels
- eval(r: ndarray, label_i: str = 's', label_j: str = 's', v_sss: complex = 0.0, v_sps: complex = 0.0, v_sds: complex = 0.0, v_pps: complex = 0.0, v_ppp: complex = 0.0, v_pds: complex = 0.0, v_pdp: complex = 0.0, v_dds: complex = 0.0, v_ddp: complex = 0.0, v_ddd: complex = 0.0) complex
Common interface for evaluating hopping integral <i,0|H|j,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_i – label for orbital i
label_j – label for orbital j
v_sss – V_ss_sigma
v_sps – V_sp_sigma
v_sds – V_sd_sigma
v_pps – V_pp_sigma
v_ppp – V_pp_pi
v_pds – V_pd_sigma
v_pdp – V_pd_pi
v_dds – V_dd_sigma
v_ddp – V_dd_pi
v_ddd – V_dd_delta
- Returns:
hopping integral
- Raises:
ValueError – if label_i or label_j is not in predefined labels
- pd(r: ndarray, label_p: str = 'px', label_d: str = 'dxy', v_pds: complex = 0.0, v_pdp: complex = 0.0) complex
Evaluate the hopping integral <p,0|H|d,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_p – label of p orbital
label_d – label of d orbital
v_pds – V_pd_sigma
v_pdp – V_pd_pi
- Returns:
hopping integral
- Raises:
ValueError – if label_p is not in self.p_labels or label_d is not in self.d_labels
- pp(r: ndarray, label_i: str = 'px', label_j: str = 'px', v_pps: complex = 0.0, v_ppp: complex = 0.0) complex
Evaluate the hopping integral <p_i,0|H|p_j,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_i – label of p_i orbital
label_j – label of p_j orbital
v_pps – V_pp_sigma
v_ppp – V_pp_pi
- Returns:
hopping integral
- Raises:
ValueError – if label_i or label_j is not in self.p_labels
- ps(r: ndarray, label_p: str = 'px', v_sps: complex = 0.0) complex
Evaluate the hopping integral <p,0|H|s,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_p – label of p orbital
v_sps – V_sp_sigma
- Returns:
hopping integral
- Raises:
ValueError – if label_p is not in self.p_labels
- sd(r: ndarray, label_d: str = 'dxy', v_sds: complex = 0.0) complex
Evaluate the hopping integral <s,0|H|d,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_d – label of d orbital
v_sds – V_sd_sigma
- Returns:
hopping integral
- Raises:
ValueError – if label_d is not in self.d_labels
- sp(r: ndarray, label_p: str = 'px', v_sps: complex = 0.0) complex
Evaluate the hopping integral <s,0|H|p,r>.
- Parameters:
r – Cartesian coordinates of the displacement vector
label_p – label of p orbital
v_sps – V_sp_sigma
- Returns:
hopping integral
- Raises:
ValueError – if label_p is not in self.p_labels
- static ss(v_sss: complex = 0.0) complex
Evaluate the hopping integral <s,0|H|s,r>.
- Parameters:
v_sss – V_ss_sigma
- Returns:
hopping integral
- __weakref__
list of weak references to the object (if defined)