Skip to content
Projects

freeofcharge.stopping

Beam-stopping cross sections of fast hydrogen atoms in a plasma.

A neutral beam is attenuated as dI/ds = -n_e sigma_s I, with the effective stopping cross section sigma_s of all ionising channels (ionisation by electrons and ions, charge exchange, and their multi-step paths through excited states). A stopping model is a callable

sigma_s(energy_per_amu, ne, te, ion_densities, ion_masses, ion_charges)

of the beam energy per nucleon [eV], the electron density [m^-3] and temperature [eV], and the density [m^-3], mass number and charge number of each ion species, returning sigma_s [m^2] on the broadcast shape of the arrays.

Classes

NameDescription
ConstantStoppingA constant stopping cross section, for tests and estimates.
StoppingModelThe call signature of a beam-stopping model.
SuzukiStoppingSuzuki's fit of the stopping cross section of H, D, T beams.

ConstantStoppingclassdataclass#

class ConstantStopping(sigma: float)

A constant stopping cross section, for tests and estimates.

sigmaattributeinstance attribute#

sigma: float

The cross section [m^2].

StoppingModelclass#

class StoppingModel(Protocol)

Bases: Protocol

The call signature of a beam-stopping model.

SuzukiStoppingclassdataclass#

class SuzukiStopping(blend: float = 1.1)

Suzuki’s fit of the stopping cross section of H, D, T beams.

Valid for 10 keV/amu to 10 MeV/amu, plasmas of H, D or T with He, B, C, N, O or Fe impurities in the Z_eff ranges of the fit. A hydrogen species is picked by its mass number (1 to 3); with several, their cross sections are averaged with their densities.

The paper fits 10 to 100 and 100 to 10000 keV/amu separately (its tables 3 and 2), and the two fits do not meet at 100 keV/amu: they differ there by a few per cent, with a sign that depends on T_e (+1.7 % at 1 keV and -4.4 % at 10 keV, for 5e19 m^-3). The coefficients agree with ASCOT5 and STELLOPT, so the step is in the published fit. Within a factor blend of 100 keV/amu, log sigma is interpolated linearly in log E between the two fits, which makes the cross section continuous; blend=1 gives the fits as published.

blendattributeclass attributeinstance attribute#

blend: float = 1.1

Half-width of the blend window, as a factor on 100 keV/amu (1: none).