Skip to main content

cross_step

Function cross_step 

Source
pub fn cross_step(
    dir: [f64; 3],
    energy_ev: f64,
    delta_u_ev: f64,
    quantum_transmission: bool,
    refraction: bool,
    u: f64,
) -> StepOutcome
Expand description

One electron at a face normal to x, ported from Nebula’s boundary_intersect::execute (file and commit in the module docs).

dir is the unit direction (its x component must be nonzero; its sign says which way the electron crosses), energy_ev the kinetic energy on the near side, delta_u_ev the step U' - U. u is a uniform draw on [0, 1); it is only consulted when the electron has the normal energy to get over, and then transmission happens when u < T. With quantum_transmission false, T = 1 whenever the electron can get over; with refraction false the direction is kept on transmission.