A full 3D N-body simulation of electrons thermally emitted from the wall of a finite hollow cylinder.
Each electron is emitted from the hot wall at a random azimuth with an inward half-Maxwellian velocity, repels every other electron through a softened 3D Coulomb force, feels the charged wall (adjustable bias), dies at a random time drawn from an exponential distribution, and is absorbed on contact with the wall or lost out the open ends. A steady state emerges from the balance of emission, decay and losses.
No build step and no dependencies. Serve the folder over HTTP (ES modules need a real origin):
npm run serve # -> http://localhost:8002
or any static server, e.g. python3 -m http.server.
- Wall bias Qw — negative confines electrons, positive attracts them to the wall; the field is the exact axisymmetric field of a charged cylindrical shell (complete elliptic integrals + Gauss-Legendre quadrature).
- Emission rate, thermal speed, decay rate λ, e⁻e⁻ repulsion, length L and time speed sliders.
- Wall force arrows (meridional slice), density on bottom cap (the electron (x, y) distribution projected onto the flat end surface), and a top-down density inset; the density averaging time constant τ is adjustable.
- Drag to orbit the camera, scroll to zoom, auto-rotate toggle.
index.html— page and controlssrc/main.js— 3D canvas renderer, camera and UI wiringsrc/electroncloud.js— 3D N-body particles: emission, forces, decay, absorptionsrc/wallfield.js— charged-shell field (elliptic integrals) and grid samplersrc/elliptic.js— complete elliptic integrals K(m), E(m)
Electron charge q_e = -1, mass m_e = 1, Coulomb constant k = 1. The wall
acceleration is a_w = Qw * geom, with geom the geometry field of a
unit-strength shell.