pub struct Model {
pub dim_r: usize,
pub norb: usize,
pub nsta: usize,
pub natom: usize,
pub spin: bool,
pub lat: Array2<f64>,
pub orb: Array2<f64>,
pub atom: Array2<f64>,
pub atom_list: Vec<usize>,
pub ham: Array3<Complex<f64>>,
pub hamR: Array2<isize>,
pub rmatrix: Array4<Complex<f64>>,
}Expand description
This cate is used to perform various calculations on the TB model, currently including:
-
Calculate the band structure
-
Expand the cell and calculate the surface state
-
Calculate the first-order anomalous Hall conductivity and spin Hall conductivity
Fields§
§dim_r: usize- The real space dimension of the model.
norb: usize- The number of orbitals in the model.
nsta: usize- The number of states in the model. If spin is enabled, nsta=norb$\times$2
natom: usize- The number of atoms in the model. The atom and atom_list at the back are used to store the positions of the atoms, and the number of orbitals corresponding to each atom.
spin: bool- Whether the model has spin enabled. If enabled, spin=true
lat: Array2<f64>- The lattice vector of the model, a dim_r$\times$dim_r matrix, the axis0 direction stores a 1$\times$dim_r lattice vector.
orb: Array2<f64>- The position of the orbitals in the model. We use fractional coordinates uniformly.
atom: Array2<f64>- The position of the atoms in the model, also in fractional coordinates.
atom_list: Vec<usize>- The number of orbitals in the atoms, in the same order as the atom positions.
ham: Array3<Complex<f64>>- The Hamiltonian of the model, $\bra{m0}\hat H\ket{nR}$, a three-dimensional complex tensor of size n_R$\times$nsta$\times$ nsta, where the first nsta*nsta matrix corresponds to hopping within the unit cell, i.e. <m0|H|n0>, and the subsequent matrices correspond to hopping within hamR.
hamR: Array2<isize>- The distance between the unit cell hoppings, i.e. R in $\bra{m0}\hat H\ket{nR}$.
rmatrix: Array4<Complex<f64>>- The position matrix, i.e. $\bra{m0}\hat{\bm r}\ket{nR}$.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnwindSafe for Model
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more