INNER CODE UNIT · Rust
wavenumber
TeamAtomECS/AtomECS · src/dipole/mod.rs:32
pub fn wavenumber(&self) -> f64 {
2.0 * constant::PI / self.wavelength
}
}
/// An atom component that represents the polarizability of the atom in a `DipoleLight` laser beam.
///
/// The force exterted on the atom is equal to:
/// `force = polarizability.prefactor * intensity_gradient`
#[derive(Deserialize, Serialize, Clone, Copy)]
pub struct Polarizability {
/// The prefactor is a constant of proportionality that relates the intensity gradient (in W/m) to the force on the atom (in N).
pub prefactor: f64,
}
impl Component for Polarizability {
type Storage = VecStorage<Self>;
}
impl Polarizability {
/// Calculate the polarizability of an atom in a dipole beam of given wavelength, detuned from a strong optical transition.