From 589bd1e3033c08ad63b8f75defec86010cbb3fbf Mon Sep 17 00:00:00 2001 From: Lorenzo <79980269+bastonero@users.noreply.github.com> Date: Fri, 14 Feb 2025 15:46:41 +0000 Subject: [PATCH] Make README more informative Update compatibility with the packages and Quantum ESPRESSO, and provide useful information on how to install and develop the packge following the aiidateam standards. Remove also old `todo.md` file. --- README.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- todo.md | 38 ---------------------------------- 2 files changed, 59 insertions(+), 41 deletions(-) delete mode 100644 todo.md diff --git a/README.md b/README.md index 592dba8..cc596b1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,62 @@ -# aiida-hubbard +# `aiida-hubbard` AiiDA plugin for the Hubbard module of Quantum ESPRESSO. The plugin requires HP v7.2 or above and is not compatible with older versions. -# Requirements -This package depends directly on `aiida-core>=2.0.0` and the `aiida-quantumespresso>=4.0.0` package. +This is the official AiiDA plugin for the [HP](https://www.sciencedirect.com/science/article/pii/S0010465522001746) code of [Quantum ESPRESSO](https://www.quantum-espresso.org/). + +## Compatibility matrix + +The matrix below assumes the user always install the latest patch release of the specified minor version, which is recommended. + +| Plugin | AiiDA | Python | Quantum ESPRESSO | +|-|-|-|-| +| `v0.1.0` | ![Compatibility for v4.0][AiiDA v4.0-pydantic2] | [![PyPI pyversions][Python v3.9-v3.12]](https://pypi.org/project/aiida-quantumespresso/) | ![Quantum ESPRESSO compatibility][QE v7.2-7.4] | + +## Installation +To install using pip, simply execute: + + pip install git+https://github.com/aiidateam/aiida-hubbard + +or when installing from source: + + git clone https://github.com/aiidateam/aiida-hubbard + pip install aiida-hubbard + +## Pseudopotentials +Pseudopotentials are installed and managed through the [`aiida-pseudo` plugin](https://pypi.org/project/aiida-pseudo/). +The easiest way to install pseudopotentials, is to install a version of the [SSSP](https://www.materialscloud.org/discover/sssp/table/efficiency) through the CLI of `aiida-pseudo`. +Simply run + + aiida-pseudo install sssp + +to install the default SSSP version. +List the installed pseudopotential families with the command `aiida-pseudo list`. +You can then use the name of any family in the command line using the `-F` flag. + +## Development + +### Running tests +To run the tests, simply clone and install the package locally with the [tests] optional dependencies: + +```shell +git clone https://github.com/aiidateam/aiida-hubbard . +cd aiida-hubbard +pip install -e .[tests] # install extra dependencies for test +pytest -sv tests # run tests +pytest -sv examples # run examples +``` + +You can also use `tox` to run the test set. Here you can also use the `-e` option to specify the Python version for the test run. Example: +```shell +pip install tox +tox -e py39 -- tests/calculations/hp/test_hp.py +``` + +### Pre-commit +To contribute to this repository, please enable pre-commit so the code in commits are conform to the standards. +Simply install the repository with the `pre-commit` extra dependencies: +```shell +cd aiida-hubbard +pip install -e .[pre-commit] +pre-commit install +``` diff --git a/todo.md b/todo.md deleted file mode 100644 index 0aafeb8..0000000 --- a/todo.md +++ /dev/null @@ -1,38 +0,0 @@ -HUBBARD TODO: -============================= - -SelfConsistentHubbardWorkChain: -v Make the relax optional, i.e. skip the PwRelax altogether and go straight to scf depending on metallicity/magnetism -v Make 'relax' inputs optional when run_relax is True -v For smearing, only set m-v as default if not explicitly set by the user -v For magnetic/insulator, first scf_smearing run econv = 10^-10, then restart scf_fixed_magnetic 10^-15 -v In run_scf_fixed_magnetic set the 'restart' flag in the control parameters -v Set default conv_thr 10^-15, except for run_scf_smearing in MI, except if user defines one, then respect that everywhere -v During each cycle make sure Hubbard U parameters are updated -v Only use the original inputs and make changes to local deep copies -v Use U_projection_type = 'ortho-atomic' for scf runs, just 'atomic' for relax, again respecting value if preset by user, except for when user specifies 'ortho-atomic', then change to 'atomic' for relax, because pw.x will crash, fire WARNING report - -PwCalculation: -- Parse electronic and ionic dipole moment for PwCalculation - -HpCalculation: -- Check that the PwCalculation was run with lda_plus_U = True, or at the very least deal with that error in the parser - -General: -- Phase diagrams with CPLAP -- Default data nodes for workfunctions - - - -launch_calculation_pw -c pw-v5.1 -p SSSP_v0.7_eff_PBE -s 136 -launch_calculation_hp -c hp-v5.1 -C 2836 -HpCalculation<2844> terminated with state: FAILED -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Error in routine d_matrix (3): - D_S (l=3) for this symmetry operation is not orthogonal -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - -HUBBARD PARAMETERS ERRORS: -* file occup not found The calculation from which was restarted did not have any Hubbard sites