Trait scattering::material::Material
[−]
[src]
pub trait Material { fn energy(&self, p: &Vec2) -> f64; fn energy_gradient(&self, p: &Vec2) -> Vec2; fn velocity(&self, p: &Vec2) -> Vec2; fn min_energy(&self) -> f64; fn max_energy(&self) -> f64; fn momentums(&self, energy: f64, theta: f64) -> Vec<Vec2>; fn brillouin_zone(&self) -> &BrillouinZone; fn optical_energy(&self) -> f64; fn optical_scattering(&self, p: &Vec2) -> f64; fn acoustic_scattering(&self, p: &Vec2) -> f64; fn energy_polar(&self, p: f64, theta: f64) -> f64 { ... } }
Required Methods
fn energy(&self, p: &Vec2) -> f64
Energy spectrum of electrons
fn energy_gradient(&self, p: &Vec2) -> Vec2
Gradient of energy in momentum space
fn velocity(&self, p: &Vec2) -> Vec2
fn min_energy(&self) -> f64
Minimum of energy in brillouin zone
fn max_energy(&self) -> f64
Maximum of energy in brillouin zone
fn momentums(&self, energy: f64, theta: f64) -> Vec<Vec2>
Solves equation energy_polar(p, theta) = energy
fn brillouin_zone(&self) -> &BrillouinZone
brillouin zone structure
fn optical_energy(&self) -> f64
optical phonon energy
fn optical_scattering(&self, p: &Vec2) -> f64
optical phonon scattering probability
fn acoustic_scattering(&self, p: &Vec2) -> f64
acoustic phonon scattering probability
Provided Methods
fn energy_polar(&self, p: f64, theta: f64) -> f64
Energy spectrum in polar coordinates