Skip to main content

SemiconductorAnalysis

Struct SemiconductorAnalysis 

Source
pub struct SemiconductorAnalysis;
Expand description

Analysis tools for semiconductor properties.

Provides calculations for resistivity, sheet resistance, and Hall measurements.

Implementations§

Source§

impl SemiconductorAnalysis

Source

pub fn resistivity(n: f64, mu_n: f64, p: f64, mu_p: f64) -> f64

Resistivity in Ohm·cm.

rho = 1 / (q * (n * mu_n + p * mu_p))

Source

pub fn conductivity(n: f64, mu_n: f64, p: f64, mu_p: f64) -> f64

Conductivity in (Ohm·cm)^-1.

Source

pub fn sheet_resistance(resistivity: f64, thickness: f64) -> f64

Sheet resistance in Ohm/square.

Source

pub fn hall_coefficient_n(n: f64) -> f64

Hall coefficient R_H in cm^3/C.

For a single carrier type (n-type): R_H = -1 / (q * n) For a single carrier type (p-type): R_H = 1 / (q * p)

Source

pub fn hall_coefficient_p(p: f64) -> f64

Hall coefficient for p-type.

Source

pub fn hall_coefficient_mixed(n: f64, mu_n: f64, p: f64, mu_p: f64) -> f64

Hall coefficient for a mixed carrier system.

R_H = (p * mu_p^2 - n * mu_n^2) / (q * (p * mu_p + n * mu_n)^2)

Source

pub fn hall_mobility(hall_coefficient: f64, conductivity: f64) -> f64

Hall mobility mu_H = R_H * sigma in cm^2/(V·s).

Source

pub fn carrier_from_hall(hall_coefficient: f64) -> f64

Carrier concentration from Hall measurement in cm^-3.

Source

pub fn four_point_probe( voltage: f64, current: f64, thickness: f64, correction_factor: f64, ) -> f64

Four-point probe resistivity measurement.

For a thin sheet: rho = (pi / ln(2)) * t * V / I * correction_factor

Source

pub fn mobility_from_conductivity(conductivity: f64, carrier_conc: f64) -> f64

Mobility from conductivity and carrier concentration.

Source

pub fn tlm_contact_resistance( r_total: f64, r_sheet: f64, gap_distance: f64, width: f64, ) -> f64

Contact resistance for ohmic contacts using TLM model.

R_total = 2 * R_c + R_sheet * d / W

Source

pub fn specific_contact_resistivity( r_contact: f64, contact_length: f64, width: f64, ) -> f64

Specific contact resistivity from contact resistance.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.