Skip to main content

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.bib file;
  • A reader.py module in python for reading and loading the data hosted;
  • A filehandler.py module in python for reading all sorts of table formats which outputs a [list of] pandas.DataFrame objects
  • A cscoll.py module for the analytical representation of cross sections.
  • A constants.py module 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 solver BOLSIG+, which exclusively uses tabulated data;
  • 'iaa*': a custom format which loads the analytical formulae built into the cscoll.py module.

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


Download files

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

Source Distribution

elmolcs-0.0.1.tar.gz (73.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elmolcs-0.0.1-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

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

Hashes for elmolcs-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0adb47dabaa9477a1eb4e4a3a8406fb59120dd859bccf777f20f1176e1301abb
MD5 61b73cf235afbcb7c0f7de96116dc345
BLAKE2b-256 10816d191eb5d4310bf7ff852b2219194d2f4b1c38e13c83ce173de4f5717b3b

See more details on using hashes here.

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

Hashes for elmolcs-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 108a72102f61df039daaef42cc74f4e24387ef2c0e4215d7031eec5b56586242
MD5 6874674c092506344e7bf503cff6a28c
BLAKE2b-256 92a9c57e2ce81ff99c3f9d61eb0d350e8fdc05d3bd5372420b538d6fc9ef30cd

See more details on using hashes here.

Supported by

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