Code containing the AiiDA-FLEUR plugin and some workflows for the DFT code FLEUR
Clone or download
Pull request Compare This branch is even with JuDFTteam:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
aiida_fleur
docs
examples
miscellaneous/logos
tests
.gitignore
.travis.yml
AUTHORS.txt
CHANGELOG.md
LICENSE.txt
MANIFEST.in
README.md
WF_STYLE_CONVENTION.txt
copy_plugin_files.sh
pytest.ini
setup.json
setup.py
setup_requirements.txt

README.md

FLEUR with AiiDA

MIT license GitHub tag PyPI version Build develop

This software contains a plugin that enables the usage of the all-electron DFT FLEUR code with the AiiDA framework. Further this package contains common workflows and some utility.

Developed at Forschungszentrum Jülich GmbH

Documentation

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

License:

MIT license. See license file.

Comments/Disclaimer:

The plug-in and the workflows will only work with a Fleur version using xml files as I/O.
For example check out the Fleur version released withing MAX.

WARNING: This version runs, but is still under heavy development. Restructurings are For anything contact j.broeder@fz-juelich.de and feel free to write issues and contribute.

Contents

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

Introduction

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

The plugin :

The Fleur plug-in consists of a datastructure called FleurinpData and two plug-ins,
one for the Fleur inputgenerator (inpgen) and one for a Fleur calculation itself.

Every plug-in has an input part (defines the calculation) and an output parser, see the AiiDA documentation for general info.

Workflows in this package:

workflow name Description
scf SCF-cycle of Fleur. Converge the charge density and the Total energy with multiple FLEUR runs
eos Calculate and Equation of States (Lattice constant) with FLEUR
dos Calculate a Density of States (DOS) with FLEUR
bands Calculate a Band structure with FLEUR
relax Relaxation of a crystal structure with FLEUR
initial_cls initial corelevel shifts and formation energies with FLEUR
corehole Workflow for corehole calculations, calculation of Binding energies with FLEUR

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.

Installation Instructions

From the aiida-fleur folder 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

Latest package release from PyPI:

$ pip install aiida-fleur

To test wether the installation was successful use:

$ verdi calculation plugins
   # 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

Also running the test set once is recommented. Under aiida_fleur/tests/:

$ ./run_all.sh

Files/Contents

A short sum up of the most important classes and where to find them, how to import them.


Plugin files:

Data:

fleurinpData : aiida_fleur.data.fleurinp.py
fleurinpModifier : aiida_fleur.data.fleurinpmodifier.py

Calculations:

FleurinputgenCalculation : aiida_fleur.calculation.fleurinputgen.py
FleurCalculation : aiida_fleur.calculation.fleur.py

Parsers:

FleurinpgenParser: aiida_fleur.parsers.fleur_inputgen.py
FleurParser: aiida_fleur.parsers.fleur.py

XML Schema Files:

in fleur_schema folder

The Fleur code needs a XMLSchema file, the package comes with the usual fleur schema files. The code looks in the fleur_schema/input folder for file versions that fit to the FLEUR input. Further the plugin looks in our pythonpath if it does not find any matching schema files in this defaul location.


Workflows/workchains:

Class name file name
fleur_scf_wc aiida_fleur.workflows.scf.py
fleur_eos_wc aiida_fleur.workflows.eos.py
fleur_dos_wc aiida_fleur.workflows.dos.py
fleur_band_wc aiida_fleur.workflows.band.py
fleur_relax_wc aiida_fleur.workflows.relax.py
fleur_initial_cls_wc aiida_fleur.workflows.initial_cls.py
fleur_corehole_wc aiida_fleur.workflows.corehole.py

Utility under '/aiida_fleur/tools/':

Structure_util.py
merge_parameter.py
read_cif.py
...


Code Dependencies

Requirements are listed in 'requirements.txt'.

  • aiida_core
  • lxml
  • ase
  • pymatgen
  • masci-tools

optional

  • pytest
  • pytest-cov
  • matplotlib

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.

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