Space-charge-limited emission in a gridless code: the planar Child-Langmuir diode.
A beam source emits at the space-charge limit when the normal field at the emitter is zero. In a mesh code that condition is imposed through the cell next to the emitter; in a gridless code the field at the surface is available directly, from the same summation that pushes the particles. Here the emitter is the cathode plate of a planar diode and the summation is :class:tree_d_3d.GroundedStripField, whose image charges make both plates exact equipotentials; the applied voltage is the harmonic function V x / d added on top. Each step the field at the cathode is probed per emitter segment and the sheet charge sigma = eps0 E_x(0) that cancels it is injected at rest (Gauss’s law emission, the rule of PIC emission models). The run starts from vacuum, so it also shows the overdriven transient: a virtual cathode that oscillates before the steady Child-Langmuir flow sets in. Code units eps0 = e = m = d = V = 1, so the Child-Langmuir current density is J_CL = (4/9) sqrt(2) = 0.6285 and the transit time 3 d / v(d) = 2.12.
Source: examples/child_langmuir_diode.py. Run it yourself with python examples/child_langmuir_diode.py [--output examples/output] [--quick] (needs pip install "tree-d-3d[examples]").
Animations
Section titled “Animations”Loading interactive figure…
an (x, y) animation of the electrons from vacuum through the virtual-cathode burst to the steady flow, with the emitting segments marked.
Figures
Section titled “Figures”Loading interactive figure…
emitted current density, the current density collected at the anode and the one returned to the cathode against time, over J_CL: the virtual-cathode transient and the steady state. The collected current is J_CL; the return current is the artefact of injecting cold point charges into a layer the previous step’s particles have not yet left, and shrinks with the time step.
Loading interactive figure…
the time-averaged potential and field along the gap at the emitter’s centre against the Child-Langmuir profile phi = V (x/d)^(4/3); the field vanishes at the cathode and reaches 4/3 V/d at the anode.
Loading interactive figure…
the time-averaged electron density along the gap against the Child-Langmuir n = J / v = (J / sqrt(2 V)) (x/d)^(-2/3), which the point charges follow up to the layer where they are injected.
Loading interactive figure…
the electrons in the (x, v_x) plane at the end of the run, on the Child-Langmuir curve v = sqrt(2 phi); the width of the band is the noise of the emission rule and of the point charges’ mutual repulsion.
Loading interactive figure…
the collected current against time for several time steps, at the same macroparticle charge; the emission rule feeds the field back one step late, and the transient grows noisier with the step, but the steady state is reached for every step tested.
--quick uses a narrower emitter and a shorter run (a few minutes instead of a quarter of an hour); --smoke is the tiny configuration the test suite runs. Needs Plotly (pip install 'tree-d-3d[examples]').