Skip to main content

Python FLEUR simulation package containing an AiiDA Plugin for running the FLEUR-code and its input generator. Plus some workflows and utility

Project description

FLEUR with AiiDA

MIT license GitHub release PyPI version PyPI pyversions Build status Documentation Status codecov

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

Developed at Forschungszentrum Jülich GmbH

Compatibility matrix

FLEUR Plugin AiiDA CORE Python FLEUR
v1.0.0 < v2.0.0 PyPI pyversions MaXR1 < MaXR5 (v0.29)
< v0.6.3 PyPI pyversions MaXR1 < MaXR3 (v0.28)

Documentation

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

License:

MIT license. See the license file.

How to cite:

If you use this package please consider citing:

J. Broeder, D. Wortmann, and S. Blügel,
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 Dzyaloshinskii–Moriya 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
Structure_util.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!)
merge_parameter.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.
xml_util.py All xml functions that are used, by parsers and other tools are in here. Some are 'general' some a very specific to Fleur.
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:

$ verdi plugins list aiida.calculations
   # 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 test_entry_points.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 'setup_requirements.txt' and setup.json.

most important are:

  • aiida_core >= 1.0.1
  • 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 'plot_methods' from masci-tools, which are also deployed by the 'plot_fleur(<node(s)>)' 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 MaX European Centre of Excellence funded by the Horizon 2020 EINFRA-5 program, Grant No. 676598.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida-fleur-1.1.4.tar.gz (20.5 MB view details)

Uploaded Source

Built Distribution

aiida_fleur-1.1.4-py3-none-any.whl (588.7 kB view details)

Uploaded Python 3

File details

Details for the file aiida-fleur-1.1.4.tar.gz.

File metadata

  • Download URL: aiida-fleur-1.1.4.tar.gz
  • Upload date:
  • Size: 20.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for aiida-fleur-1.1.4.tar.gz
Algorithm Hash digest
SHA256 92528a0531599ffd50a37705459ef69cf35d033cef48c62016f6e2103c609566
MD5 d8090b236e9c8bf97162265ee8455793
BLAKE2b-256 4f5add5e9f50a051fd5f9efd5015db2f739482868bd7264540663cd6678a0799

See more details on using hashes here.

Provenance

File details

Details for the file aiida_fleur-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: aiida_fleur-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 588.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for aiida_fleur-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ebb9388172982f43a38b3e1eff9e426ceadf71003cc205d689d847e46bbcf5b2
MD5 824a964a5d04f4de4c86484fb63407ee
BLAKE2b-256 0efb14f630a473fa51455904a77242b3efe4c32a1d43d086df1cecc4002f0a0c

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page