Skip to content

wrfox/PRADICAMENT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PRADICAMENT

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

[2] N. L. Kugland, et al. Invited Article: Relation between electric and magnetic field structures and their proton-beam images. Rev. Sci. Instrum. 83, 101301 (2012).

[3] D. B. Schaeffer, et al, Proton imaging of high-energy-density laboratory plasmas. Rev. Mod. Phys. 95, 045007 (2023)

[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

Installation

git clone https://github.com/wrfox/PRADICAMENT.git

Clone the package, and add the directory to your Matlab path.

Problem statement:

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 $L_s$ from the proton point source and $L_d$ from the detector, giving a magnification $M = (1 + L_d/L_s)$. The routines here work in the coordinate system of the plasma-plane, mapping coordinates from the detector back to the plasma plane using $1/M$. In this coordinate system, the effect of the deflection by the electromagnetic fields can be regarded as a mapping from $x \to x'$, where $x$ is the initial proton position (where a given proton crosses the plasma), and $x'$ the final proton position, defined by

$x' = x + \xi(x)$.

Following the equations in [1], $\xi$ can be related to plasma electromagnetic fields according to

$\xi(x) = (1/K_B) \int d\ell \times \mathbf{B} + (1/K_E) \int \mathbf{E} _\perp d\ell $

Here $K_B$ and $K_E$ are "rigidity" factors that relate the proton deflection (in plasma-plane coordinates) to the magnetic and electric fields. In SI units they are given by

$K_B = (m_p V_p / e) (L_s + L_d) / L_s L_d$

and

$K_E = (m_p V_p^2 / e) (L_s + L_d) / L_s L_d$

where $V_p$ is the proton speed, $m_p$ the proton mass, and $e$ the fundamental charge unit. $K_B$ has units of T, and $K_E$ has units of 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 $x \to x + \xi(x)$, and bin the results.

The core routines prad_inv and prad_inv_I0 do the inverse problem (in 1-D), which is to recover $\int d\ell \times B$ given a proton image $I(x)$

A final required input for all routines is the "initial" proton fluence $I_0(x)$, which is the proton fluence before it reaches the plasma. This important quantity is discussed in publication references. For the purposes of this documentation it is taken as a known quantity.

Notation in routines

$x$ = spatial coordinate, using the coordinates of the plasma plane

$b(x)$ = line integrated magnetic field variable $= \int d\ell \times B$.

$I(x)$ = observed proton fluence (reaching the detector, in coordinates of the plasma plane)

$I_0(x)$ = initial proton fluence (before reaching plasma plane).

$K_B$ = deflection rigidity factor.

In the routines, $x$ is a vector, and $b$, $I$, and $I_0$ are expected to be vectors of the same shape. Optionally, $I_0$ can be a scalar, in which case it is taken as uniform across the region.

The routines work in any consistent unit scheme. This means, given a spatial unit for positions $x$ (i.e. m), and $K_B$ calculated in T, then the units of $b$ will be T-m. However, $K_B$ could also be converted e.g. to Gauss, and other spatial units can be used. Be careful with the above equation for $K_B$ however, as that is specifically in SI units.

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 $b(x)$, assuming the electric deflection is negligible. They can equally determine the electric deflection (assuming negligible B field) by passing $K_E$ instead of $K_B$ as a parameter. Finally, if unity ("1") is passed for $K_B$, then the routines return the deflection field $\xi$, in the same unit as the spatial coordinate $x$, which could then be used for further analysis separating E and B deflections.

Routines

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_fwd is the proton forward model in 1-D. Given a magnetic field profile b(x), and input proton fluence I0(x), generate the forward model observed fluence I(x).
[x,b] = prad_inv(x, I, I0, KB, x_bc, b_bc)
  • prad_inv.m is the proton inverse solver with boundary conditions. It uses pair of boundary conditions on the magnetic field, (x1, b1), (x2,b2) where x_bc = [x1,x2] and b_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.m is the proton inverse solver with specified I0 profile: Given proton fluence data, obtain the magnetic fields. Optionally specify a known magnetic field boundary conditions b=b0 at x=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.

Contributions

The algorithm was developed by G. Fiksel and W. Fox.

Community contributions are welcome.

About

Data analysis tools for electromagnetic field measurement by particle deflectometry in plasmas

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages