KS-DFT average-atom code
Project description
atoMEC: Average-Atom Code for Matter under Extreme Conditions
atoMEC is a python-based average-atom code for simulations of high energy density phenomena such as in warm dense matter. It is designed as an open-source and modular python package.
atoMEC uses Kohn-Sham density functional theory, in combination with an average-atom approximation, to solve the electronic structure problem for single-element materials at finite temperature.
More information on the average-atom methodology and Kohn-Sham density functional theory can be found (for example) in this preprint and references therein.
This repository is structured as follows:
├── atoMEC : source code
├── docs : sphinx documentation
├── examples : useful examples to get you started with the package
└── tests : test scripts used during development, will hold tests for CI in the future
Installation
First, clone the atoMEC repository and cd
into the main directory.
-
Recommended : using pipenv
This route is recommended because
pipenv
automatically creates a virtual environment and manages dependencies.- First, install
pipenv
if it is not already installed, for example viapip install pipenv
(or see pipenv for installation instructions) - Next, install
atoMEC
's dependencies withpipenv install
- Use
pipenv shell
to activate the virtual environment and install atoMEC withpip install -e .
- Now run scripts from inside the
atoMEC
virtual environment, e.g.python examples/simple.py
- First, install
-
Try running the examples in
examples/
and report any problems
Running
You can familiarize yourself with the usage of this package by running the example scripts in examples/
.
Contributing to atoMEC
We welcome your contributions, please adhere to the following guidelines when contributing to the code:
- In general, contributors should develop on branches based off of
develop
and merge requests should be todevelop
- Please choose a descriptive branch name
- Merges from
develop
tomaster
will be done after prior consultation of the core development team - Merges from
develop
tomaster
are only done for code releases. This way we always have a cleanmaster
that reflects the current release - Code should be formatted using black style
Build documentation locally (for developers)
Install the prerequisites:
$ pip install -r docs/requirements.txt
- Change into
docs/
folder. - Run
make apidocs
. - Run
make html
. This creates a_build
folder insidedocs
. You may also want to usemake html SPHINXOPTS="-W"
sometimes. This treats warnings as errors and stops the output at first occurence of an error (useful for debugging rST syntax). - Open
docs/_build/html/index.html
. make clean
if required (e.g. after fixing errors) and building again.
Developers
Scientific Supervision
- Attila Cangi (Center for Advanced Systems Understanding)
- Eli Kraisler (Hebrew University of Jerusalem)
Core Developers and Maintainers
- Tim Callow (Center for Advanced Systems Understanding)
- Daniel Kotik (Center for Advanced Systems Understanding)
Contributions (alphabetical)
- Nathan Rahat (Hebrew University of Jerusalem)
- Ekaterina Tsvetoslavova Stankulova (Center for Advanced Systems Understanding)
Citing atoMEC
The following paper should be cited in publications which use atoMEC:
T. J. Callow, E. Kraisler, S. B. Hansen, and A. Cangi, (2021). First-principles derivation and properties of density-functional average-atom models. arXiv preprint arXiv:2103.09928.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.