koopmans

Implementation of Koopmans-compliant functionals in Quantum ESPRESSO

https://github.com/epfl-theos/koopmans

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

electronic-structure koopmans-functionals quantum-espresso
Last synced: 6 months ago · JSON representation

Repository

Implementation of Koopmans-compliant functionals in Quantum ESPRESSO

Basic Info
Statistics
  • Stars: 17
  • Watchers: 4
  • Forks: 7
  • Open Issues: 44
  • Releases: 16
Topics
electronic-structure koopmans-functionals quantum-espresso
Created almost 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation Support

README.rst

========
koopmans
========

| |GH Actions| |Coverage Status| |GPL License| |Documentation Status|

For performing Koopmans spectral functional calculations with ``Quantum ESPRESSO``

Directories
-----------
This repository contains...

| ``bin/`` executables (N.B. this directory does not need to be added to ``$PATH``)  
| ``docs/`` documentation (see https://koopmans-functionals.org/)  
| ``src/`` source code
| ``quantum_espresso/`` modified versions of ``Quantum ESPRESSO`` that contain implementations of the Koopmans functionals 
| ``pseudos/`` pseudopotentials
| ``requirements/`` python dependencies
| ``tests/`` test suite  
| ``tutorials/`` tutorials  

Installation
------------

Quick installation
^^^^^^^^^^^^^^^^^^
For a quick installation one can simply run ``make; sudo make install``

Detailed installation
^^^^^^^^^^^^^^^^^^^^^

Setting up a virtual environment
""""""""""""""""""""""""""""""""

You are encouraged (but it is not necessary) to first create and activate a virtual environment as follows:

.. code-block:: bash

   sudo apt-get install python3-pip
   pip3 install virtualenv
   virtualenv ~/venvs/koopmans
   source ~/venvs/koopmans/bin/activate

Note that ``koopmans`` requires python v3.7 or later. If your computer's version of python3 corresponds to an earlier version, install python v3.7 or later, and then direct ``virtualenv`` to create the virtual environment using that specific installation of python via

.. code-block:: bash

   virtualenv ~/venvs/koopmans -p /usr/bin/python3.x

Fetching the submodules
"""""""""""""""""""""""

Now, ensure you have downloaded the various ``git`` submodules. To do so, run ``make submodules``, or equivalently

.. code-block:: bash

   git submodule init
   git submodule update

Compiling Quantum ESPRESSO
""""""""""""""""""""""""""

Then you need to compile the copies of ``Quantum ESPRESSO``. To do this, run

.. code-block:: bash

   make espresso MPIF90=

where ```` should be replaced by the name of your chosen MPI Fortran90 compiler e.g. ``MPIF90=mpiifort``. The code should automatically detect and link the requisite libraries. (If this fails you may need to manually compile the two versions of ``Quantum ESPRESSO`` contained in the ``quantum_espresso/`` directory.)

Adding Quantum ESPRESSO to your path
""""""""""""""""""""""""""""""""""""

To add all of the Quantum ESPRESSO binaries to your path, run

.. code-block:: bash

   sudo make install

By default this will copy the Quantum ESPRESSO binaries to ``/usr/local/bin``. This requires sudo privileges. If you do not have sudo privileges, you can either (a) install the codes in a different location by running ``make install PREFIX=/path/to/bin/`` (substitute ``/path/to/bin/`` with any directory of your choosing that is on your path) or (b) append ``bin/`` from the current directory to your path.

Installing the workflow manager
"""""""""""""""""""""""""""""""

Finally, install the python workflow manager, either via ``make workflow``, or

.. code-block:: bash

   python3 -m pip install --upgrade pip
   python3 -m pip install -e .

Running
-------
Calculations are run with the command

.. code-block:: bash

   koopmans .json

where .json is the ``koopmans`` input file. For more details, refer to the `online documentation `_.

Parallelism
^^^^^^^^^^^

In order to run the code in parallel, define the environment variables ``PARA_PREFIX`` and ``PARA_POSTFIX``. These are defined in the same way as in ``Quantum ESPRESSO``, e.g.

.. code-block:: bash

   export PARA_PREFIX="srun"
   export PARA_POSTFIX="-npool 4"

Pseudopotentials
^^^^^^^^^^^^^^^^

Currently, Koopmans functionals only works with norm-conserving pseudopotentials. We suggest you use optimized norm-conserving Vanderbilt pseudopotentials, such as

- the `SG15 library `_
- the `Pseudo Dojo library `_

For convenience, ``koopmans`` already ships with both of these pseudopotential libraries and you can simply select the one you want to use using the ``pseudo_library`` keyword.

If you prefer to use your own pseudopotentials, add them to ``src/koopmans/pseudopotentials//``, where ```` is a name of your choosing and ```` is the functional used to generate your pseudopotentials. You can then direct ``koopmans`` to use these pseudopotentials by setting the keywords ``pseudo_library`` and ``base_functional`` to ```` and ```` respectively.

Alternatively, you can direct the code to always use your personal pseudopotentials directory by defining the variable

.. code-block:: bash

   export ESPRESSO_PSEUDO="/path/to/pseudopotential/folder/"

Contact
-------
Written and maintained by Edward Linscott, Riccardo De Gennaro, and Nicola Colonna (2020-)

For help and feedback email edward.linscott@gmail.com

.. |GH Actions| image:: https://img.shields.io/github/actions/workflow/status/epfl-theos/koopmans/tests.yml?master&label=master&logo=github
   :target: https://github.com/epfl-theos/koopmans/actions?query=branch%3Amaster
.. |Coverage Status| image:: https://img.shields.io/codecov/c/gh/epfl-theos/koopmans/master?logo=codecov
   :target: https://codecov.io/gh/epfl-theos/koopmans
.. |GPL License| image:: https://img.shields.io/badge/license-GPL-blue
   :target: https://github.com/epfl-theos/koopmans/blob/master/LICENSE
.. |Documentation Status| image:: https://readthedocs.org/projects/koopmans/badge/?version=latest
   :target: https://koopmans-functionals.org/en/latest/?badge=latest
   :alt: Documentation Status

Owner

  • Name: THEOS, EPFL
  • Login: epfl-theos
  • Kind: organization

THEOS group at EPFL, Switzerland

GitHub Events

Total
  • Create event: 12
  • Release event: 1
  • Issues event: 9
  • Watch event: 4
  • Delete event: 6
  • Issue comment event: 9
  • Member event: 2
  • Push event: 96
  • Pull request review event: 2
  • Pull request event: 18
  • Fork event: 2
Last Year
  • Create event: 12
  • Release event: 1
  • Issues event: 9
  • Watch event: 4
  • Delete event: 6
  • Issue comment event: 9
  • Member event: 2
  • Push event: 96
  • Pull request review event: 2
  • Pull request event: 18
  • Fork event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 9
  • Total pull requests: 17
  • Average time to close issues: 11 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 0.56
  • Average comments per pull request: 0.41
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 10
  • Average time to close issues: 25 days
  • Average time to close pull requests: about 18 hours
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.3
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • elinscott (6)
  • nscolonna (2)
  • Koulb (1)
  • GeigerJ2 (1)
  • similt (1)
Pull Request Authors
  • elinscott (10)
  • nscolonna (6)
  • Koulb (1)
  • GeigerJ2 (1)
Top Labels
Issue Labels
Pull Request Labels
bug (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 41 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 7
  • Total maintainers: 3
pypi.org: koopmans

Koopmans spectral functional calculations with python and Quantum ESPRESSO

  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 41 Last month
Rankings
Dependent packages count: 2.9%
Average: 26.2%
Dependent repos count: 30.6%
Downloads: 45.0%
Maintainers (3)
Last synced: 6 months ago

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • ammaraskar/sphinx-action master composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v3 composite
.github/workflows/tutorials.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/typechecking.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
docs/requirements.txt pypi
  • numpydoc >=1.4.0
  • recommonmark >=0.7.1
  • sphinx >=3.0
  • sphinx-pyproject >=0.1.0
  • sphinx_rtd_theme >=1.0.0
  • sphinx_toolbox >=2.5.0
  • sphinxcontrib-bibtex >=2.1.4
.github/workflows/update_citation.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • dieghernan/cff-validator main composite
  • test-room-7/action-update-file v1 composite
  • tj-actions/branch-names v6 composite
pyproject.toml pypi
  • argparse >=1.1
  • ase-koopmans ==0.1.4
  • deepdiff >=5.8.1
  • matplotlib >=3.5.1
  • numpy >=1.21
  • pandas >=1.0.0
  • pybtex >=0.24
  • scikit-learn >=1.0
  • scipy >=0.18.1
  • spglib >=1.9
  • typing >=3.6
  • upf-to-json >=0.9.5