A comprehensive, zero-dependency Rust library for physics, mathematics, and engineering computation. Every public function validates its inputs, every formula is tested against known values, and the entire codebase sits at 99.98% line coverage across 1,659 tests.
What's in it
Classical & Continuum Mechanics
classical— Newtonian mechanics: projectile motion, collisions, SHM, damping, resonancesolid_mechanics— Stress, strain, elastic moduli, beam deflection, Mohr's circlecontinuum_mechanics— 3D Hooke's law, compliance matrices, plane stress/strainfluid_instabilities— Rayleigh-Taylor, Kelvin-Helmholtz, Jeans instability, Plateau-Rayleigh
Thermodynamics & Statistical Mechanics
thermodynamics— Ideal gas, Carnot, entropy, heat conduction, radiation, Nusselt/Biot/Grashofstatistical_mechanics— Maxwell-Boltzmann, Boltzmann/Einstein/Debye models, diffusion, partition functions
Electromagnetism & Electronics
electromagnetism— Coulomb, Lorentz, Faraday, Maxwell, RLC circuits, transformerselectronics— Semiconductors, diodes, MOSFETs, solar cells, PN junctionsrf— Friis, skin depth, antenna gain, impedance, VSWR, Smith chart quantitiesphotonics— Gaussian beams, fiber optics, ray transfer matrices, coherence, Fabry-Perot
Waves, Optics & Acoustics
waves— Doppler, standing waves, diffraction, Snell, seismic waves, dispersionoptics— Lenses, mirrors, thin films, diffraction gratings, Rayleigh resolutionacoustics— Sabine/Eyring reverberation, psychoacoustic scales (mel, bark, ERB), room modes, STCsignal_processing— Waveform generation, FIR/IIR filters, convolution, windowing, resampling
Relativity & Quantum
relativity— Lorentz transformations, relativistic energy-momentum, time dilation, Dopplergeneral_relativity— Schwarzschild metric, geodesics, frame dragging, cosmological distancesquantum— De Broglie, uncertainty principle, particle-in-a-box, tunneling, Planck radiationparticle_physics— Invariant mass, Rutherford scattering, Breit-Wigner, rapidity, Lorentz boosts
Nuclear & Radiation
nuclear— Decay chains, binding energy, Q-values, dosimetryneutronics— Criticality, diffusion, moderation, burnup, shieldingradiation— Blackbody, Wien, Planck, radiative transfer, view factorsplasma— Debye length, cyclotron/plasma frequencies, Alfven speed, beta, Larmor radius
Astrophysics
astrophysics::nbody— N-body gravitational simulation (leapfrog integrator)astrophysics::octree— Barnes-Hut tree for O(N log N) force computationastrophysics::orbital_elements— Keplerian elements from state vectors, orbit propagationastrophysics::gravitational_waves— Strain, luminosity, frequency, chirp massastrophysics::tidal— Tidal forces, Roche limits, tidal tensorsastrophysics::lagrange— L1–L5 Lagrange point computationastrophysics::habitable_zone— Habitable zone boundaries, tidal lockingastrophysics::magnetosphere— Dipole fields, magnetopause radius, field line tracingastrophysics::collisions— Impact cratering, orbital debris, collision probabilities
Fluids & Propulsion
fluids— Bernoulli, Poiseuille, Reynolds, drag, capillarity, compressible flowpropulsion— Tsiolkovsky rocket equation, Hohmann transfers, nozzle design, stagingmagnetohydrodynamics— Alfven waves, Hartmann flow, magnetic reconnection, pinch equilibria
Chemistry & Biophysics
chemistry— Arrhenius, Nernst, pH, electrochemistry, reaction kineticsbiophysics— Nernst/Goldman potentials, Michaelis-Menten, Hill equation, hemodynamics
Mathematics & Numerical Methods
math—Vec3type, physical constants (NIST CODATA), linear algebra primitiveslinalg— 3x3 matrices, rotations, eigenvalue decomposition, SVD-like operationsquaternion— Quaternion algebra, slerp/nlerp, axis-angle, Euler angle conversionsnumerical— Root finding (bisection, Newton, secant), integration (Simpson, Gauss-Legendre), cubic splinesoptimization— Golden section, Brent, Nelder-Mead, simulated annealing, linear regression, polynomial fittingstatistics— Mean, variance, median, distributions (Gaussian, Poisson, exponential), DFT, power spectrummonte_carlo— MC integration, Metropolis-Hastings, Ising model, Langevin dynamics, random walksvector_calculus— Gradient, divergence, curl, Laplacian, Poisson solver, line/surface/volume integralsnonlinear— Logistic map, Lorenz/Rossler attractors, Lyapunov exponents, bifurcation diagramsinformation_theory— Shannon entropy, mutual information, KL divergence, channel capacity
Geometry, Curves & Fractals
geometry— Areas, volumes, perimeters for standard shapes, regular polygonscurves— Conic sections, Bezier curves, arc length, curvaturefractals— Mandelbrot, Julia, burning ship, Newton fractals, Barnsley fern, box countingtrigonometry— Trig identities, hyperbolic functions, angle conversions, haversine
Simulation Engines
sim::rigid_body— 3D rigid body dynamics with quaternion orientation, Euler equations, collision responsesim::fluid_sim— Column fluid, 1D shallow water, 2D incompressible Euler (pressure projection)sim::heat_sim— 2D/3D heat conduction (explicit finite difference), convection-diffusionsim::wave_sim— 1D/2D wave equation solvers, absorbing boundary conditions (Mur ABC)sim::em_sim— 1D/2D FDTD electromagnetic simulation, PEC/Mur boundaries, dielectric mediasim::cloth_sim— Verlet integration cloth/rope, spring-damper constraints, collision
Reference Data
materials::elements— All 118 elements with atomic mass, density, melting/boiling points, thermal/electrical conductivitymaterials::common— Engineering materials (steel, aluminum, copper, etc.)materials::fluids— 16 common fluids with density, viscosity, surface tension, speed of soundmaterials::gases— Common gases with molar mass, specific heat ratio, thermal conductivity
Utilities
units— SI unit conversions (temperature, pressure, energy, length, speed, angle, etc.)color_science— RGB/HSV/HSL/XYZ, wavelength-to-color, blackbody color, CIE color differencecontrol_systems— Transfer functions, step/impulse response, PID tuning, stability marginsatmosphere— ISA model, barometric formula, lapse rates, humidity, wind shear
Usage
Add to your Cargo.toml:
[]
= { = "." }
use ;
use ;
use ideal_gas_pressure;
use RigidBody;
// Projectile on Earth
let range = projectile_range; // v₀=50 m/s, θ=45°, g=9.81
// Ideal gas
let p = ideal_gas_pressure; // n, R, T, V
// Rigid body simulation
let mut body = new_sphere; // mass=10 kg, radius=0.5 m
body.apply_force;
body.step;
Design
- Zero dependencies — pure Rust, no external crates
f64throughout — double precision for all computation- Input validation — every function asserts valid inputs (positive mass, non-zero denominators, physical bounds)
- NIST constants — physical constants from CODATA 2018/2019
- 99.98% line coverage — 1,659 tests across 67 source files
Building & Testing
License
MIT