Package for reading and loading electron-molecule collision (differential) cross sections
Project description
elmolcs
ELectron-MOLecule Cross Sections for atmospheric gases: N2, O2, NO, Ar, O and N.
The default recommended database was constructed from an extensive survey up to 2023 of available experimental and theoretical data. It was developed at the Instituto de Astrofísica de Andalucía in Granada during the doctoral studies of Anthony Jeseněk under the supervision of Dr. Alejandro Luque and Dr. Nikolai Lehtinen. The elaboration of the database is thoroughly documented in my thesis.
The database contains:
- A complete set of integral cross sections for electron-molecule collision processes (elastic, inelastic, ionisation, attachment);
- A set of differential cross sections for elastic scattering interpolated between 0° and 180° every 0.5°;
- Other databases of cross sections hosted on LXCat;
These are mainly
'phelps','biagi','hayashi','ist','itikawa'and'bsr'; - Collections of experimental data published in the literature (differential and integral cross sections);
- Miscellaneous data such as optical oscillator strengths, Franck-Condon factors and predissociation rates;
- Bibliographic references for the data gathered in the
references.bibfile; - A
reader.pymodule in python for reading and loading the data hosted; - A
filehandler.pymodule in python for reading all sorts of table formats which outputs a [list of]pandas.DataFrameobjects - A
cscoll.pymodule for the analytical representation of cross sections. - A
constants.pymodule containing metadata of molecules, atoms and physical constants necessary to interpret the information given in the database.
There are two versions of the database:
'iaa': respects the input format of the Boltzmann kinetic solverBOLSIG+, which exclusively uses tabulated data;'iaa*': a custom format which loads the analytical formulae built into thecscoll.pymodule.
The cross sections extend from 0 eV to 10 keV and include analytical extrapolation up to relativistic energies (~ GeV). They can be used for calculating electron transport properties and energy distribution functions under reduced electric fields close to conventional breakdown and at high electric fields from 10 Td up to 1000 Td. Some of the cross sections require adjustement and a higher resolution (more datapoints) at low energies below 1 eV affecting transport under low electric fields.
Installation
The code is now packaged in the PyPI repository and is installable through the command:
pip install elmolcs
This package, however, includes only the code source files. The database can be downloaded from the project hosted on CodeBerg. The folder Data must be in the root folder of the elmolcs package. Otherwise, the user must set the ROOT constant to the path of the Data folder in the reader.py module.
Alternatively, one can directly download the full package with the database. The exact package versions as used during the thesis are gathered in requirements.txt; use:
pip install -r requirements.txt
This may fail depending on your version of python which could not be supported by the version of numba If this is the case, you may install the version-free requirements through:
pip install -r requirements_free.txt
But be aware that the code has not been tested on other versions of numba so it might not work properly.
Usage
An example of how to use routines for reading differential/integral cross sections from the reader.py module is given in the __main__.py file. You may execute it from the root folder of the package.
Should you use the code as a package, be sure to import it as:
import elmolcs as ecs
Then, you may either call:
ecs.reader.loadCS('N2','iaa*')
or directly:
ecs.loadCS('N2','iaa*')
and many other routines as exemplified in the __main__.py module.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elmolcs-0.0.1.tar.gz.
File metadata
- Download URL: elmolcs-0.0.1.tar.gz
- Upload date:
- Size: 73.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0adb47dabaa9477a1eb4e4a3a8406fb59120dd859bccf777f20f1176e1301abb
|
|
| MD5 |
61b73cf235afbcb7c0f7de96116dc345
|
|
| BLAKE2b-256 |
10816d191eb5d4310bf7ff852b2219194d2f4b1c38e13c83ce173de4f5717b3b
|
File details
Details for the file elmolcs-0.0.1-py3-none-any.whl.
File metadata
- Download URL: elmolcs-0.0.1-py3-none-any.whl
- Upload date:
- Size: 72.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
108a72102f61df039daaef42cc74f4e24387ef2c0e4215d7031eec5b56586242
|
|
| MD5 |
6874674c092506344e7bf503cff6a28c
|
|
| BLAKE2b-256 |
92a9c57e2ce81ff99c3f9d61eb0d350e8fdc05d3bd5372420b538d6fc9ef30cd
|