Skip to main content

Electronic Stopping Power Neural Network predictor

Project description

ESPNN - Electronic Stopping Power Neural Network

License: MIT develstat codecov Open In Colab

The ESPNN is a python-based deep neural network that allows the user to predict the electronic stopping power cross-section for any ion and target[^1] combinations for a wide range of incident energies. The deep neural network was trained on tens of thousands of curated data points from the IAEA database. See more details of the ESPNN in this publication.

You can use the ESPNN package remotely or locally. Find below all the usage options available.

If you have problems installing the package or notice troubling features in the stopping power model, make sure to post an issue or send us and email[^2].

Run ESPNN online

The ESPNN package can be used remotely in the Google Colab platform[^3]. There, you'll find a jupyter notebook with a quick tutorial on how to use the ESPNN. You can also make a copy of the notebook to your own personal Drive and compute the stopping power of any projectile-target combination.

Install ESPNN

To use the ESPNN in your computer, first you'll need to install it. We recommend using a python virtual environment to this end (for example, see anaconda or virtualenv). If you are not familiar with virtual environments and would like to rapidly start using python, follow the anaconda indications according to your operating system:

Using pip

The simplest way to install the ESPNN is via pip. Indistinctively, Ubuntu, Windows and macOS users can install the package by typing in the terminal or the anaconda bash terminal:

pip install ESPNN

Using this repository

You can also install the ESPNN package by cloning or downloading this repository. To clone (make sure you have git installed) this repo, use the following commands in your terminal/anaconda bash terminal:

git clone https://github.com/ale-mendez/ESPNN.git
cd ESPNN
pip install ESPNN/

If you downloaded the zip, change your directory to your download folder and, in your terminal/anaconda bash terminal, type

pip install ESPNN-master.zip

Run ESPNN locally

Once you've installed the ESPNN package in your preferred environment, you can run it by using a jupyter notebook or directly from terminal.

Using a notebook

A basic tutorial of the ESPNN package usage is given in prediction.ipynb. The package requires the following parameters:

  • projectile: Chemical formula for the projectile
  • target: Chemical formula for the target
import ESPNN
ESPNN.run_NN(projectile='He', target='Au')

The package automatically produces a matplotlib figure and a sample file named XY_prediction.dat, where X is the name of the projectile and Y is the name of the target system.

ls -a
.  ..  HHe_prediction.dat  prediction.ipynb 

Optional arguments

The energy grid used for the ESPNN calculation can be customized with arguments

  • emin: Minimum energy value in MeV/amu units (default: 0.001)
  • emax: Maximum energy value in MeV/amu units (default: 10)
  • npoints: Number of grid points (default: 150)

Furthermore, the figure plotting and output-file directory-path can be modified via

  • plot: Prediction plot (default: True)
  • outdir: Path to output folder (default: "./")
ESPNN.run_NN(projectile='H', target='Ta', emin=0.0001, emax=100, npoints=200)

From terminal

The ESPNN package can also be used from terminal with a syntax analogous to the above given:

python -m ESPNN H Au

Additional information about the optional arguments input can be obtained with the -h, --help flag:

python -m ESPNN -h

Funding Acknowledgements

The following institutions financially support this work: the Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) by the PIP-11220200102421CO and the Agencia Nacional de Promoción Científica y Tecnológica (ANPCyT) of Argentina PICT-2020-SERIEA-01931. CCM also acknowledges the financial support of the IAEA.

[^1]: ESPNN first release considers only mono-atomic targets. [^2]: felipebihaiek@gmail.com, alemdz.7@gmail.com [^3]: A Google account is required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ESPNN-1.0.0.tar.gz (70.3 kB view details)

Uploaded Source

Built Distribution

ESPNN-1.0.0-py3-none-any.whl (78.0 kB view details)

Uploaded Python 3

File details

Details for the file ESPNN-1.0.0.tar.gz.

File metadata

  • Download URL: ESPNN-1.0.0.tar.gz
  • Upload date:
  • Size: 70.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for ESPNN-1.0.0.tar.gz
Algorithm Hash digest
SHA256 74d3d3d705181f50b2e05106ad0fe5b99894328cb952bb8386c818edc81f7da7
MD5 ce43aa2427f8a9325954735fc6934629
BLAKE2b-256 d5872d4123c87d6ba61a5df3835ecc39507fa63f9a3c430aaf3ec79e7f1c44bd

See more details on using hashes here.

File details

Details for the file ESPNN-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ESPNN-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 78.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for ESPNN-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3372c30e59265ec7147fc3b769889aab1edff2e20f5f873bba402e9cc27c8eca
MD5 f0168fae3043a5e383ca4a25b0de92d8
BLAKE2b-256 d167a8835a8746e2299f5df39bb0cf9156ade6370f162aa1c25838549a2fbef7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page