Expand description
§use-electromagnetism
Small scalar helpers for combined electric and magnetic field relations in RustUse.
§Install
[dependencies]
use-electromagnetism = "0.0.1"§Foundation
use-electromagnetism provides small scalar helpers for combined electric and magnetic field relations, Lorentz-force convenience calculations, velocity selectors, cyclotron motion, field energy density, Poynting magnitude, and simple electromagnetic constant relationships.
Inputs are expected to be SI-style numeric values:
- coulombs for charge
- volts per meter for electric field
- meters per second for velocity and speed
- teslas for magnetic flux density
- newtons for force
- kilograms for mass
- joules per cubic meter for energy density
- watts per square meter for Poynting magnitude
The crate keeps only a few local convenience constants. Broader physical constants belong in the top-level use-constants set.
§Example
use use_electromagnetism::{
ElectromagneticField, lorentz_force_scalar, velocity_selector_speed,
};
let field = ElectromagneticField::new(10.0, 2.0).unwrap();
assert_eq!(velocity_selector_speed(20.0, 4.0), Some(5.0));
assert_eq!(
lorentz_force_scalar(1.0, 10.0, 2.0, 3.0, core::f64::consts::FRAC_PI_2),
Some(16.0)
);
assert!(field.energy_density().unwrap() > 0.0);§When to use directly
Choose use-electromagnetism when you need small reusable scalar helpers that combine electric and magnetic field relations in one place.
Use use-electricity for electricity-specific scalar helpers. Use use-magnetism for magnetism-specific scalar helpers.
§Scope
- APIs stay
f64-first and do not define a full unit system. - This crate is not a full vector calculus, field theory, Maxwell-equation solver, vector-field engine, optics system, wave system, or signal-processing crate.
- General constants belong in
use-constants. - Unit abstractions belong in
use-units. - Wave, signal, and optics abstractions belong in the top-level
use-wave,use-signal, anduse-opticssets.
§Status
use-electromagnetism is a pre-1.0 crate with a deliberately small scalar API.
Small scalar helpers for combined electric and magnetic field relations.
Modules§
Structs§
- Electromagnetic
Field - A scalar electric and magnetic field pair.
Constants§
- SPEED_
OF_ LIGHT - Speed of light in vacuum, in meters per second.
- VACUUM_
PERMEABILITY - Vacuum permeability in henries per meter.
- VACUUM_
PERMITTIVITY - Vacuum permittivity in farads per meter.
Functions§
- cyclotron_
angular_ frequency - Computes cyclotron angular frequency using
ω = |q|B / m. - cyclotron_
frequency - Computes cyclotron frequency in cycles per second using
f = |q|B / (2πm). - cyclotron_
radius - Computes cyclotron radius using
r = mv / (|q|B). - electric_
field_ energy_ density - Computes electric field energy density using
u_E = 0.5 * ε0 * E². - electric_
field_ for_ velocity_ selector - Computes electric field magnitude for a selector using
E = vB. - electric_
field_ from_ magnetic_ flux_ density_ in_ vacuum - Computes electric field magnitude in vacuum using
E = cB. - electric_
force_ on_ charge - Computes electric force using
F = qE. - electromagnetic_
energy_ density - Computes combined electromagnetic energy density.
- lorentz_
force_ magnitude_ perpendicular - Computes
|F| = |q| * |E + vB|for perpendicular fields along the same scalar direction. - lorentz_
force_ scalar - Computes the scalar Lorentz-force convenience relation
F = q(E + vB sin(theta)). - lorentz_
force_ scalar_ degrees - Computes the scalar Lorentz-force convenience relation with the angle in degrees.
- magnetic_
field_ energy_ density - Computes magnetic field energy density using
u_B = B² / (2μ0). - magnetic_
flux_ density_ for_ velocity_ selector - Computes magnetic flux density magnitude for a selector using
B = E / v. - magnetic_
flux_ density_ from_ electric_ field_ in_ vacuum - Computes magnetic flux density magnitude in vacuum using
B = E / c. - magnetic_
force_ on_ moving_ charge - Computes magnetic force using
F = qvB sin(theta). - magnetic_
force_ on_ moving_ charge_ degrees - Computes magnetic force using
F = qvB sin(theta)with the angle in degrees. - poynting_
magnitude - Computes Poynting magnitude in vacuum using
S = EB / μ0. - speed_
from_ permittivity_ permeability - Computes propagation speed from permittivity and permeability using
v = 1 / sqrt(εμ). - velocity_
selector_ speed - Computes selector speed using
v = E / B.