The equations of beamtracer.solver.poisson, declared on the code that implements them and checked by the tests.
Boltzmann plasma electrons for positive-ion extraction.
- density
- ρe=−ρe0exp(Teϕ−Up)
- neutral
- ρe0=beams∑v0J,v0=m2Ee
- Assumes
- isothermal electrons in equilibrium with the potential: no inertia, flow or sheath beyond the Boltzmann factor
- ρe0 given, or by default the charge density of the beams at their start, so the plasma is neutral there (
ParticleBeams add nothing) - Te and Up in eV and V; the species has the sign s=−1
Thermal positive plasma ions for negative-ion extraction.
- density
- ρp=ρp0exp(−Tpϕ−Up)
- neutral
- ρp0=beams∑v0J,v0=m2Ee
- both signs
- ρ=sρ0e−s(ϕ−Up)/T,s=+1 (ions), −1 (electrons)
- Assumes
- the plasma's positive ions, repelled by the extraction field; the negative ions and the co-extracted electrons are traced beams
- isothermal ions in equilibrium with the potential, Tp>0
- ρp0 given, or by default the negative charge density of the beams at their start
Solve laplace(phi) = -rho / epsilon_0 (plus a Boltzmann plasma species) on a mesh.
- poisson
- ∇2ϕ=−ε0ρb+ρp,∇2=∂x2+r1∂r(r∂r) (cylindrical, ∂θ=0)
- shortley weller
- h2∂x2ϕ≈(α+β)α2ϕ−+(α+β)β2ϕ+−αβ2ϕ0
- radial
- h2r1∂r(r∂rϕ)≈α+β2/α−1/jϕ−+α+β2/β+1/jϕ+−αβ2ϕ0,j≥1
- axis
- h2r1∂r(r∂rϕ)r=0≈4(ϕ1−ϕ0)
- neumann
- ϕ−1=ϕ1+2hg:h2∂x2ϕ≈β22(ϕ1−ϕ0)+β2hg
- rhs
- b=−ε0h2ρ−fixed neighbours∑wϕfixed
- Order
- 2
- Assumes
- α, β the distances to the lower and upper neighbour or electrode surface in units of h (1 away from electrodes); for α=β=1 the 5-point stencil
- g the outward normal derivative of a Neumann face [V/m]
- the linear system solved by SuperLU (
scipy.sparse.linalg.splu), its factorisation cached per set of fixed nodes - the order is in h, for a smooth potential away from electrode corners
- References
- G. H. Shortley and R. Weller, J. Appl. Phys. 9, 334 (1938)
Return the potential (nx, ny) for the charge density rho [C/m^3].
- residual
- R(u)=Au−b+sae−s(u−Up)/T,a=ε0ρ0h2
- newton
- (A−diagTae−s(u−Up)/T)δu=−R(u),u←u+δu
- stop
- max∣δu∣<10−6max(ptp(ϕfixed), T, 1 V)
- Assumes
- s=±1 the sign of the Boltzmann species; the exponent capped at 50 to keep a bad first guess finite
- started from the vacuum solution or the previous potential; undamped, at most 100 steps, the last iterate returned without a warning
- without a plasma species one linear solve; an initial plasma region is held at Up as extra fixed nodes
- Built from