https://github.com/judftteam/aiida-fleur

AiiDA plugin of the high-performance density functional theory code FLEUR (www.judft.de) for high-throughput electronic structure calculations.

https://github.com/judftteam/aiida-fleur

Science Score: 46.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
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 13 committers (30.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

ab-initio aiida all-electron band-structure computational-materials-science condensed-matter-physics density-functional-theory electronic-structure forschungszentrum-juelich full-potential high-throughput judft kohn-sham magnetism plane-wave spintronics workflow

Keywords from Contributors

materials-informatics parsing density-of-states parallel distributed energy-system-model mesh data-profilers datacleaner pipeline-testing
Last synced: 5 months ago · JSON representation

Repository

AiiDA plugin of the high-performance density functional theory code FLEUR (www.judft.de) for high-throughput electronic structure calculations.

Basic Info
Statistics
  • Stars: 14
  • Watchers: 6
  • Forks: 8
  • Open Issues: 40
  • Releases: 14
Topics
ab-initio aiida all-electron band-structure computational-materials-science condensed-matter-physics density-functional-theory electronic-structure forschungszentrum-juelich full-potential high-throughput judft kohn-sham magnetism plane-wave spintronics workflow
Created about 9 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Authors

README.md

FLEUR with AiiDA

MIT license GitHub release PyPI version Conda Version PyPI pyversions Fleur Compatibility Build status Documentation Status codecov DOI

This software contains a plugin that enables the usage of the all-electron DFT FLEUR code with the AiiDA framework.

Developed at Forschungszentrum Jlich GmbH

Compatibility matrix

| FLEUR Plugin | AiiDA CORE | Python | FLEUR/XML file version | |-|-|-|-| | v2.0.0 < v3.0.0 | Compatibility for v2.0 | PyPI pyversions |Fleur Compatibility/<=0.37 | | v1.2.0 < v2.0.0 | Compatibility for v1.2 | PyPI pyversions | Fleur Compatibility/<=0.35 | | v1.0.0 < v1.2.0 | Compatibility for v1.0 | PyPI pyversions | Fleur Compatibility/<=0.33 | | < v0.6.3 | Compatibility for v0.6.3 | PyPI pyversions | Fleur Compatibility/<=0.31 |

Documentation and User Support

Hosted at http://aiida-fleur.readthedocs.io/en/develop/index.html. For other information see the AiiDA-core docs or http://www.flapw.de.

Users can post any questions in the Fleur user forum

For bugs, feature requests and further issues please use the issue tracker on github of the aiida-fleur repository.

License:

MIT license. See the license file.

How to cite:

If you use this package please consider citing: J. Broeder, D. Wortmann, and S. Blgel, Using the AiiDA-FLEUR package for all-electron ab initio electronic structure data generation and processing in materials science, In Extreme Data Workshop 2018 Proceedings, 2019, vol 40, p 43-48

Comments/Disclaimer:

The plug-in and the workflows will only work with a Fleur version using xml files as I/O, i.e >v0.27.

Contents

  1. Introduction
  2. Installation Instructions
  3. Code Dependencies
  4. Further Information

Introduction

This is a python package (AiiDA plugin, workflows and utility) allowing to use the FLEUR-code in the AiiDA Framework. The FLEUR-code is an all-electron DFT code using the FLAPW method, that is widely applied in the material science and physics community.

The plugin :

The Fleur plugin consists of:

1. A data-structure representing input files and called FleurinpData.
2. inpgen calculation
3. FLEUR calculation
4. Workchains
5. utility

Workchains in this package:

workflow entry point name | Description --------------|------------ fleur.scf | SCF-cycle of Fleur. Converge the charge density and the Total energy with multiple FLEUR runs fleur.eos | Calculate and Equation of States with FLEUR (currently cubic systems only) fleur.dos | Calculate a Density of States (DOS) with FLEUR fleur.band | Calculate a Band structure with FLEUR fleur.relax | Relaxation of the atomic positions of a crystal structure with FLEUR fleur.init_cls | Calculate initial corelevel shifts and formation energies with FLEUR fleur.corehole | Workflow for corehole calculations, calculation of Binding energies with FLEUR fleur.dmi | Calculates DzyaloshinskiiMoriya Interaction energy dispersion of a spin spiral fleur.ssdisp | Calculates exchange interaction energy dispersion of a spin spiral fleur.mae | Calculates Magnetic Anisotropy Energy

See the AiiDA documentation for general info about the AiiDA workflow system or how to write workflows.

Utility/tools:

filename | Description ---------|------------ Structureutil.py | Constains some methods to handle AiiDA structures (some of them might now be methods of the AiiDA structureData, if so use them from there!) mergeparameter.py | Methods to handle parameterData nodes, i.e merge them. Which is very useful for all-electron codes, because instead of pseudo potentialsfamilies you can create now families of parameter nodes for the periodic table. read_cif.py | This can be used as stand-alone to create StructureData nodes from .cif files from an directory tree.

Utility and tools, which are independend of AiiDA are moved to the masci-tools (material science tools) repository, which is a dependency of aiida-fleur.

Command line interface (CLI)

Besides the python API, aiida-fleur comes with a builtin CLI: aiida-fleur. This interface is built using the click library and supports tab-completion.

To enable tab-completion, add the following to your shell loading script, e.g. the .bashrc or virtual environment activate script:

eval "$(_AIIDA_FLEUR_COMPLETE=source aiida-fleur)"

the main subcommands include:

data: Commands to create and inspect data nodes
    fleurinp   Commands to handle `FleurinpData` nodes.
    parameter  Commands to create and inspect `Dict` nodes containing FLAPW parameters
    structure  Commands to create and inspect `StructureData` nodes.
launch: Commands to launch workflows and calcjobs of aiida-fleur

    banddos          Launch a banddos workchain
    corehole         Launch a corehole workchain
    create_magnetic  Launch a create_magnetic workchain
    dmi              Launch a dmi workchain
    eos              Launch a eos workchain
    fleur            Launch a base_fleur workchain.
    init_cls         Launch an init_cls workchain
    inpgen           Launch an inpgen calcjob on given input If no    code is...
    mae              Launch a mae workchain
    relax            Launch a base relax workchain # TODO final scf    input
    scf              Launch a scf workchain
    ssdisp           Launch a ssdisp workchain

plot: Invoke the plot_fleur command on given nodes

workflow: Commands to inspect aiida-fleur workchains and prepare inputs

for example to launch an scf workchain on a given structure execute:

$ aiida-fleur launch scf -i <inpgenpk> -f <fleurpk> -S <structurepk>

the command can also process structures in any format ase can handle, this includes Cif, xsf and poscar files. In such a case simply parse the path to the file:

$ aiida-fleur launch scf -i <inpgenpk> -f <fleurpk> -S ./structure/Cu.cif

Installation Instructions

From the aiida-fleur folder (after downloading the code, recommended) use:

$ pip install .
# or which is very useful to keep track of the changes (developers)
$ pip install -e .

To uninstall use:

$ pip uninstall aiida-fleur

Or install latest release version from pypi:

$ pip install aiida-fleur

Test Installation

To test rather the installation was successful use: bash $ verdi plugins list aiida.calculations ```bash # example output:

## Pass as a further parameter one (or more) plugin names ## to get more details on a given plugin. ... * fleur.fleur * fleur.inpgen ``` You should see 'fleur.*' in the list

The other entry points can be checked with the AiiDA Factories (Data, Workflow, Calculation, Parser). (this is done in testentrypoints.py)

We suggest to run all the (unit)tests in the aiida-fleur/aiida_fleur/tests/ folder.

$ bash run_all_cov.sh

Code Dependencies

Requirements are listed in pyproject.toml

most important are:

  • aiida_core >= 2.0
  • lxml
  • ase
  • masci-tools

Mainly AiiDA:

  1. Download from www.aiida.net -> Download
  2. install and setup -> aiida's documentation

Easy plotting and other useful routines that do not depend on aiida_core are part of the masci-tools (material science tools) repository.

For easy plotting we recommend using 'plotmethods' from masci-tools, which are also deployed by the 'plotfleur()' function.

Further Information

The plug-in source code documentation is here. also some documentation of the plug-in, further things can be found at www.flapw.de. Usage examples are shown in 'examples'.

Acknowledgements

Besides the Forschungszentrum Juelich, this work is supported by the European MaX Centre of Excellence 'Materials design at the Exascale' MaX funded by the Horizon 2020 EINFRA-5 program, Grant No. 676598 and under grant agreement No. 824143. This work is further supported by the Joint Lab Virtual Materials Design (JLVMD) of the Forschungszentrum Jlich.

For this work essential is AiiDA, which itself is supported by the MARVEL National Centre for Competency in Research funded by the Swiss National Science Foundation.

MaX JLVMD

Owner

  • Name: JuDFTteam
  • Login: JuDFTteam
  • Kind: organization

JuDFTteam is the GitHub home of the quantum materials simulation codes and toolkits developed by the division Quantum Theory of Materials at FZ Jülich.

GitHub Events

Total
  • Issue comment event: 1
  • Push event: 10
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Issue comment event: 1
  • Push event: 10
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 2
  • Fork event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 2,248
  • Total Committers: 13
  • Avg Commits per committer: 172.923
  • Development Distribution Score (DDS): 0.657
Past Year
  • Commits: 190
  • Committers: 4
  • Avg Commits per committer: 47.5
  • Development Distribution Score (DDS): 0.321
Top Committers
Name Email Commits
janssenhenning h****n@g****t 771
broeder j****r@f****e 740
Vasily Tseplyaev v****v@f****e 544
J.Broeder b****r@i****e 49
pre-commit-ci[bot] 6****] 41
Anoop Chandran a****n@g****m 35
Henning Janßen h****n@f****e 34
Robin Hilgers 8****g 21
Jens Broeder b****j 5
dependabot[bot] 4****] 3
Philipp Rüßmann p****n@f****e 3
Sebastiaan Huber m****l@s****t 1
Aliaksandr Yakutovich y****a@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 41
  • Total pull requests: 67
  • Average time to close issues: 11 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 1.56
  • Average comments per pull request: 1.27
  • Merged pull requests: 60
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.75
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • janssenhenning (20)
  • broeder-j (10)
  • RobinHilg (4)
  • lokamani (2)
  • PhilippRue (1)
  • Irratzo (1)
  • chrisjsewell (1)
  • Sayan611 (1)
  • Tseplyaev (1)
Pull Request Authors
  • janssenhenning (51)
  • pre-commit-ci[bot] (6)
  • PhilippRue (4)
  • danielhollas (2)
  • broeder-j (2)
  • RobinHilg (1)
  • anoopkcn (1)
Top Labels
Issue Labels
enhancement (16) topic/workflows (11) bug (8) maintenance (8) discussion (8) topic/fleurplugin (6) question (4) topic/Inpgenplugin (2) topic/FleurinpData/Modifier (2) topic/aiida-v2 (1) topic/test-system (1)
Pull Request Labels
maintenance (17) enhancement (12) topic/workflows (10) topic/test-system (7) topic/FleurinpData/Modifier (5) topic/aiida-v2 (2) topic/Documentation (2) topic/fleurplugin (1) topic/Inpgenplugin (1) dependencies (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 351 last-month
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 18
  • Total maintainers: 1
pypi.org: aiida-fleur

AiiDA Plugin for running the FLEUR code and its input generator. Also includes high-level workchains and utilities

  • Versions: 15
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 351 Last month
Rankings
Dependent packages count: 3.2%
Downloads: 8.4%
Average: 12.6%
Forks count: 13.3%
Stargazers count: 16.1%
Dependent repos count: 22.1%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: aiida-fleur
  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent packages count: 19.5%
Dependent repos count: 34.0%
Average: 36.9%
Forks count: 44.7%
Stargazers count: 49.6%
Last synced: 6 months ago
conda-forge.org: aiida-fleur.code
  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Average: 39.3%
Forks count: 44.7%
Stargazers count: 49.6%
Last synced: 6 months ago
conda-forge.org: aiida-fleur.meta
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Forks count: 44.7%
Average: 44.9%
Stargazers count: 49.6%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
  • postgres 10 docker
  • rabbitmq latest docker
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • MarkupSafe <2.1.0
  • aiida-core [atomic_tools]>=2.0.1,<3.0.0
  • future *
  • lxml ~=4.8
  • masci-tools ~=0.13
  • more_itertools *
  • numpy ~=1.16,>=1.16.4
  • pyhull *
  • sympy *