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 atoMEC
(for developers:pip 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 occurrence 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
If you use code from this repository in a published work, please cite the DOI corresponding to the specific version of atoMEC that you used (DOIs are listed at Zenodo.org).
If appropriate, you might also consider citing the following preprint 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.