pycroxe.beam.get_cross_sections_by_projectiles#

pycroxe.beam.get_cross_sections_by_projectiles(conn: CroXeConnection, energies: ArrayLike, initial_projectiles: list[str], target: str, product_frame: str = 'projectile', sort_by: Sequence[SortKey] = ('year', 'rms')) DataArray#

Given a certain set of initial projectiles, retrieve all processes necessary to solve the problem of the evolution of the inital species, evaluate the cross-section for each process at each energy value in energies. and finally return the evaluated cross-sections tensor in the form of a xarray.DataArray.

Parameters#

connpycroxe.CroXeConnection

An open pycroxe.CroXeConnection.

energiesarraylike

Energies in eV at which to evaluate the cross-sections. The provided arraylike is flattened out for convenience.

inital_projectileslist[str]

List of chemical symbols of the starting projectile species.

targetstr

Chemical symbol of the target species.

product_framestr, optional

Reference frame of the product after the collision (default: 'projectile').

sort_bySequence[pycroxe.beam.SortKey]

Ordered sequence of pycroxe.beam.SortKey values that determines the ORDER BY clause. The first key is the primary sort criterion, the second (if present) is the tiebreaker, and so on.

Returns#

cross_sections_tensorxarray.DataArray

3-dimensional array of evaluated cross-sections with first dimension indexed by energy values, second dimension indexed by product species, and last dimension indexed by projectile species. Values where projectile == product represents total destruction processes cross-sections, hence they are negatively valued.

Raises#

ValueError

If inital_projectiles or sort_by are empty.

Notes#

The structure of the returned xarray.DataArray is such that it can be useful in solving problems of the like

\[\frac{d\Gamma_i}{dx} = n(x)\sigma_{ij}\Gamma_j\text{,}\]

where \(\Gamma_i\) and \(\Gamma_j\) are respectively the particle fluxes of the i-th product and the j-th species, while \(\sigma_{ij}\) is the cross-section of the process that trasnforms the j-th projectile into the i-th product.