The equations of beamtracer.solver.charge_changing, declared on the code that implements them and checked by the tests.
A target density (m^-3) along x (m), linear between the points.
- profile
- n(x)=ni+xi+1−xix−xi(ni+1−ni),xi≤x≤xi+1;n(x)=n0, nlast beyond
- line density
- ∫abndx=the trapezoidal rule on a, the points inside (a,b),b(exact)
- Assumes
- at least two points, increasing x, densities ≥0
- in the tracer the density is taken at the midpoint of each step, as if uniform over it
The targets a beam changes charge on, and how its trajectories follow the changes.
- master
- dsdF=t∑nt(x)MtF,(Mt)js=σt(s→j),(Mt)ss=−j=s∑σt(s→j)
- force
- qˉ=es∑zsFs (fractions),q=ezs (analog)
- current
- Nk=e∣Ik∣ in every state,ΔQ=Nkes∑zsFˉsΔt
- Assumes
- F the fractions of a trajectory over the states s of charge zs (default
-, 0, +), s the path length, Mt from plasmacoll.ChargeStateTransitions - fractions mode: a trajectory feels the force of its mean charge, so states do not part where the field would separate them (fine in a weak field, as in a neutralizer; not in a residual-ion dump or inside an accelerator)
- analog mode: one state per trajectory, changed at sampled events; the mean over trajectories is the fractions mode
- a trajectory starting with ∣z∣=1 counts Nk=∣Ik∣/e as if ∣z∣=1
- References
- plasmacoll
ChargeStateTransitions, charge_state_fractions
- Built from
The fractions (states, N) after the steps of line densities lines, third order.
- taylor
- F←F+MF+21M2F+61M3F,M=t∑nt(x1/2)ΔsMt
- conservation
- s∑(Mt)sj=0⇒s∑Fs=const
- Order
- 3
- Assumes
- the third-order Taylor polynomial of eM per step; the densities at the step's midpoint, uniform over the step
- the order is in the line density per step nΔs
Use up the optical depth of one step and sample the events where it runs out.
- rate
- λs(x)=t∑nt(x)j=s∑σt(s→j)
- depth
- τ∼Exp(1),τ←τ−λsΔs,an event where τ≤0, at the share 1+λsΔsτ of the step
- channel
- P(t,j)=λsntσt(s→j)
- splitting
- at each of the first events: k trajectories of I/k, drawing their new states independently
- Assumes
- the probability of no event over a path is exp(−∫λsds), so the depth of the event is Exp(1) in ∫λsds
- several events per step followed in turn, each new state using up the rest of the step; the force changes from the next step on
- random numbers from
seed and the MPI rank, afresh on every trace, so the Vlasov iteration has a fixed point
What the beam did to its targets, summed over trajectories (see the module docstring).
- path
- paths=k∑Nk∫Fs,kds
- changes
- changest,s→j=σt(s→j)k∑Nk∫Fs,kntds
- ionization
- ionizationt,s=σt,sionk∑Nk∫Fs,kntds
- Assumes
- in particles per second (per metre of depth in planar geometry); the integrals summed step by step with the mean fractions Fˉ of each step
- the ionization cross sections are tallied only: they do not change the beam
- analog mode also sums the sampled events, whose mean is
changes
Return the gas density through a stack of grid apertures in free-molecular flow.
- drops
- Δni=(nup−ndown)∑j1/(aj2Kj)1/(ai2Ki),Ki=1+3li/(8ai)1
- flow
- Q=CiΔni,Ci=4vˉπai2Ki
- Assumes
- free-molecular flow through round apertures of radius ai and length li; one flow Q through all of them, so the mean speed vˉ cancels
- uniform density in the gaps between the grids (no pumping across them), linear through each aperture
- Ki Dushman's approximation of Clausing's transmission probability
- References
- S. Dushman, Scientific Foundations of Vacuum Technique (Wiley)