Data analysis tools for electromagnetic field measurement by particle deflectometry in plasmas.
PRADICAMENT [1] is a set of tools for analyzing proton radiography (PRAD) fluence images [2,3] . The present scope of the project is a fast algorithm to process 1-D fluence profiles to obtain the line-integrated magnetic or electric field. A companion manuscript [1] describes in detail the theory, setup, and notation used here. The routines are currently written in Matlab. The 1-D algorithm is complementary to existing 2-D algorithms [4].
References:
[1] W. Fox, et al., Proton deflectometry analysis in magnetized plasmas: magnetic field reconstruction in one dimension. Phys. Rev. E 110, 015206 (2024). Or see ArXiv: https://arxiv.org/abs/2309.16165
[4] Bott, A. F. A. et al. Proton imaging of stochastic magnetic fields. Journal of Plasma Physics 83, (2017).; Implementation: https://github.com/flash-center/PROBLEM
git clone https://github.com/wrfox/PRADICAMENT.git
Clone the package, and add the directory to your Matlab path.
Proton radiography (or deflectometry) is commonly used in plasma physics to observe electromagnetic fields. The principle of the measurement is that a point source of high-energy protons or other charged particles is generated and sent through an experimental volume, where they pick up deflections from the electromagnetic fields. For high energy particles, the deflections are small-angle and proportional to the line integral of the electromagnetic fields along the particle trajectories. The deflections produce a non-uniform proton fluence pattern on the detector. The goal of fluence analysis is to recover the electromagnetic fields which produce an observed fluence pattern.
Notation The plasma plane is assumed to lie
between the proton source and detector,
a distance
Following the equations in [1],
Here
and
where T,
and V/m.
The routine prad_fwd does the forward problem: For a given set of electromagnetic fields,
calculate the proton fluence image. To do so, we numerically calculate many protons mapped according to
The core routines prad_inv and prad_inv_I0 do the inverse problem (in 1-D), which is to recover
A final required input for all routines is the "initial" proton fluence
In the routines,
The routines work in any consistent unit scheme. This means, given a spatial unit for positions m), and T, then the units of T-m. However,
In general an experimental analysis must discriminate between electric and magnetic deflections, however this must be done
by a higher-level analysis outside of the these routines, which just do the reconstruction.
(Examples include comparing reconstructions at multiple energies or date taken from various orientations.)
The routines below default to determining the line-integrated magnetic field
The routines are meant to be a library used in higher analysis tools.
Additional documentation is available via inline Matlab help and comments in the files.
[x,I] = prad_fwd(x, b, KB, I0)
prad_fwdis the proton forward model in 1-D. Given a magnetic field profileb(x), and input proton fluenceI0(x), generate the forward model observed fluenceI(x).
[x,b] = prad_inv(x, I, I0, KB, x_bc, b_bc)
-
prad_inv.mis the proton inverse solver with boundary conditions. It uses pair of boundary conditions on the magnetic field,(x1, b1), (x2,b2)wherex_bc = [x1,x2]andb_bc = [b1,b2]and generates a solution which crosses through these points. To do so, it renormalizes the input fluence$I_0$ to achieve the boundary condition.
[x,b] = prad_inv_I0(x, I, I0, KB, [optional x0,b0] )
prad_inv_I0.mis the proton inverse solver with specifiedI0profile: Given proton fluence data, obtain the magnetic fields. Optionally specify a known magnetic field boundary conditionsb=b0atx=x0.
Note: prad_inv is expected to be the most common use case.
prad_inv_I0 is an auxilliary routine, though can also be called directly.
The algorithm was developed by G. Fiksel and W. Fox.
Community contributions are welcome.