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