FLEUR with AiiDA
Developed at Forschungszentrum Jülich GmbH
|FLEUR Plugin||AiiDA CORE||Python||FLEUR|
||MaXR1 < MaXR5 (v0.29)|
||MaXR1 < MaXR3 (v0.28)|
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.
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
The plug-in and the workflows will only work with a Fleur version using xml files as I/O, i.e >v0.27.
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.
|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.|
|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:
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
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
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
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
Requirements are listed in 'setup_requirements.txt' and setup.json.
most important are:
- aiida_core >= 1.0.1
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.
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 Jülich.