Skip to content

Hybrid Vlasov-Fokker-Planck code for fast simulations of relativistic electron beam transport in a denser solid or plasma.

License

Notifications You must be signed in to change notification settings

michaeltouati/AMoRE

Repository files navigation

GPLv3 License Contributor Covenant Clones : 14 days Compilation check Tests check Plotting tools check Open issues Closed issues Open pull requests Closed pull requests

Written by Michaël J TOUATI

AMoRE (Angular Momentum model Of Relativistic Electron beam transport) is a Fortran code, parallelized with OpenMP and using Python3 for post-processing, that allows for fast simulations of a relativistic electron beam transport in a denser solid or plasma while describing the full beam electron phase-space evolution.

To achieve this, it computes the two first momentum angular moments of the beam electrons Vlasov-Fokker-Planck-Beliaev-Budker (VFPBB) kinetic equation (the two first order equations of the kinetic equation Cartesian tensor scalar product expansion), completed with the Minerbo maximum angular entropy closure to express the second order angular moment of the distribution function needed in the first order equation. The resulting kinetic equations are coupled with the target electrons and ions Magneto-Hydrodynamic (MHD) equations considering time scales on which the target electron return current has already set up. AMoRE thus takes into account both collective effects, with the self-generated electromagnetic fields, and collisional effects, with the slowing down of beam electrons in collisions with plasmons, bound and free electrons and their angular scattering on both ions and electrons. The kinetic energy cut-off separating target electrons and beam electrons is assumed to be around 10 keV for the beam electrons collisional friction and diffusion VFPBB terms and the solid/plasma species MHD equations to be valid. More pieces of information can be found in my PhD manuscript and in this peer-reviewed article. In the latter, there is no mention of updates in relation with the possible beam electrons specular reflection boundary conditions (refluxing), thermal capacities valid at ambient temperatures according to the Einstein and Debye models as well as the distinction between collisions of free electrons with s, p or d-band electrons in the electron-electron collisions contribution on transport coefficients. Citations to these references are recommended and appreciated for publications of scientific results using AMoRE in peer-reviewed journals.

Python scripts, using the Matplotlib and Numpy packages, are provided to automatically extract and plot the simulation results. The simulation parameters are described in the input-deck and they can be modified without having to recompile the code. Compilation rules can be modified in the makefile depending on the user compiler preferences. Tools for testing the compilation of the code and tools for checking the simulation parameters are provided. X-ray Kα and Kβ photon emission from the target can be computed using a provided X-ray Kα and Kβ table. The user can use its own tabulated electrical resistivity for the solid/plasma and/or its own tabulated plasma material-density-temperature profile and/or its own tabulated electron beam kinetic energy spectrum.

Simulation plot examples

Compiling the code

Modify the makefile as a function of the Fortran compiler installed on your computer and then type

make

The compilation can be tested by typing

make test

The tests consist in comparing file1 and file2 where :

  • file1 is one test simulation terminal output performed with an input deck located in the directory 'test-cases/Tests/' and
  • file2 is the terminal output of the corresponding simulation already performed by the developper also located in 'test-cases/Tests/'.

Running a simulation

Fill the wished input-deck (all parameters are described inside), eventually check them by typing

./check-input-deck

or

make check

and then type

./amore

or

make run

Plotting the simulation results

Type

make plot

to plot all the simulation results that are stored in the directory 'results'. It can also be plotted separately all 2D spatial density plots of relativistic electron beam and target species hydrodynamic moments as well as the self-generated electromagnetic fields and target transport coefficients at each damped time step by typing

make plot_maps

or

python3 sources/plot/plot_maps.py

Similarly, the relativistic beam electron 2D-3P phase-space distribution can be plotted at the maximum beam density location and at each damped time step by typing

make plot_distribution

The simulation can be checked by typing

make plot_initialization
make plot_material

and

make plot_energy

that plots respectively :

  • the initialiazed properties of the relativistic electron beam (longitudinal and transversal spatial distributions, momentum angular distribution as a function of transverse locations and kinetic energy spectrum),
  • the transport coefficients of the solid/liquid/Warm-Dense-Matter/plasma where the beam is propagating through (ionization state, thermal capacities, electrical and thermal conductivities as well as electron-ion/lattice coupling factor) and
  • the time evolution of the different energy contributions in the beam transport (injected electron beam energy, collisional and collective electron beam energy losses, instantaneous electron beam energy in the target and electron beam energy escaping from the target).

The python scripts are located in the directory sources/plot. The plots will be located in the directory 'figures'.

License

AMoRE is distributed under the terms of the GPLv3 license.