jaxrts
A Python package for X-ray Thomson scattering, using jax.
X-ray Thomson scattering (XRTS) is a diagnostic widely used in the warm dense matter and dense plasma community. The theory of XRTS has been discussed in many publications, e.g. [Chapman, 2015, Glenzer and Redmer, 2009, Gregori et al., 2003, Gregori et al., 2004, Wünsch, 2011],
Since the method of XRTS embarked, many models have been formulated to calculate spectra. This code collects several of these efforts and thereby assists experiment analysis and planning with easy forward calculations. By splitting the full signal in different contributions according to the Chihara decomposition [Chihara, 2000, Gregori et al., 2003], we allow users to combine the implemented models, applicable to different plasma conditions and involving varying computational cost to find a description according to their needs.
This documentation aims on providing an overview about the capabilities of
jaxrts, and should help you taking your first steps. A discussion focussing on
more details about the physics implemented is currently in the works.
A detailed description of the jaxrts module is available under
The jaxrts module. If you prefer to learn by examples, we kindly refer you
to the example gallery.
We would not have been able to write jaxrts without the seminal work by D. Chapman, G. Gregori, K. Wünsch and D. O. Gericke, and many other authors. A full bibliography can be found in the Bibliography.
The code is currently maintained by Samuel Schumacher and Julian Lütgert in the High Energy Density Group of Dominik Kraus at the University of Rostock. See here for a list of contributors to the software.
Warning
This code is still under active development, so are it’s dependencies. While we successfully reproduce data found in the literature and applied several models to experimental data, we are still implementing new features and correct bugs. Please kindly reach out to us if you note faulty behavior, and understand that – while we attempt to maintain a stable user experience – some results might change when errors are fixed. See https://github.com/jaxrts/jaxrts for the most up-to-date version of jaxrts.
We highly recommend installing the code in a virtual environemnt of it’s own, to not interfere with other python packages in your system.
Note
Currently, the code is only tested on linux operating systems. While the project itself should run on other platforms, too, we do not actively test jaxrts against them. Please also note that currently, GPU acceleration is only available on linux, as we rely on jax . CPU computation should be supported on Mac, Windows, and linux.
Contents:
- Installation
- Usage
- Example gallery
- Development and Poetry
- Bibliography
- The
jaxrtsmodule- jaxrts
- jaxrts.absorption_edges_ionized_ions_data
- jaxrts.analysis
- jaxrts.bound_free
- jaxrts.ee_localfieldcorrections
- jaxrts.ee_localfieldcorrections_dornheim_2021
- jaxrts.elements
- jaxrts.experimental
- jaxrts.form_factors
- jaxrts.free_bound
- jaxrts.free_free
- jaxrts.helpers
- jaxrts.hnc_potentials
- jaxrts.hypernetted_chain
- jaxrts.instrument_function
- jaxrts.ion_feature
- jaxrts.ipd
- jaxrts.literature
- jaxrts.math
- jaxrts.models
- jaxrts.plasma_physics
- jaxrts.plasmastate
- jaxrts.saha
- jaxrts.saving
- jaxrts.setup
- jaxrts.static_structure_factors
- jaxrts.units
- jaxrts