Fleur input generator plug-in

Fleurinputgen Calculation

Input plug-in for the FLEUR input generator ‘inpgen’. The input generator for the Fleur code is a preprocessor and should be run locally (with the direct scheduler) or inline, because it does not take many resources.

class aiida_fleur.calculation.fleurinputgen.FleurinputgenCalculation(*args: Any, **kwargs: Any)[source]

JobCalculationClass for the inpgen, which is a preprocessor for a FLEUR calculation. For more information about produced files and the FLEUR-code family, go to http://www.flapw.de/.

classmethod define(spec)[source]

Define the process specification, including its inputs, outputs and known exit codes.

Ports are added to the metadata input namespace (inherited from the base Process), and a code input Port, a remote_folder output Port and retrieved folder output Port are added.

Parameters

spec – the calculation job process spec to define.

prepare_for_submission(folder)[source]

This is the routine to be called when you want to create the input files for the inpgen with the plug-in.

Parameters

folder – a aiida.common.folders.Folder subclass where the plugin should put all its files.

aiida_fleur.calculation.fleurinputgen.conv_to_fortran(val, quote_strings=True)[source]
Parameters

val – the value to be read and converted to a Fortran-friendly string.

aiida_fleur.calculation.fleurinputgen.get_input_data_text(key, val, value_only, mapping=None)[source]

Given a key and a value, return a string (possibly multiline for arrays) with the text to be added to the input file.

Parameters
  • key – the flag name

  • val – the flag value. If it is an array, a line for each element is produced, with variable indexing starting from 1. Each value is formatted using the conv_to_fortran function.

  • mapping – Optional parameter, must be provided if val is a dictionary. It maps each key of the ‘val’ dictionary to the corresponding list index. For instance, if key='magn', val = {'Fe': 0.1, 'O': 0.2} and mapping = {'Fe': 2, 'O': 1}, this function will return the two lines magn(1) = 0.2 and magn(2) = 0.1. This parameter is ignored if ‘val’ is not a dictionary.

aiida_fleur.calculation.fleurinputgen.write_inpgen_file_aiida_struct(structure, path, input_params=None, settings=None)[source]

Wraps around masci_tools write inpgen_file, unpacks aiida structure

Fleurinputgen Parser

This module contains the parser for a inpgen calculation and methods for parsing different files produced by inpgen.

class aiida_fleur.parsers.fleur_inputgen.Fleur_inputgenParser(node)[source]

This class is the implementation of the Parser class for the FLEUR inpgen. It takes the files received from an inpgen calculation and creates AiiDA nodes for the Database. From the inp.xml file a FleurinpData object is created, also some information from the out file is stored in a ParameterData node.

parse(**kwargs)[source]

Takes inp.xml generated by inpgen calculation and created an FleurinpData node.

Returns

a dictionary of AiiDA nodes to be stored in the database.

Fleur-code plugin

Fleur Calculation

This file contains a CalcJob that represents FLEUR calculation.

class aiida_fleur.calculation.fleur.FleurCalculation(*args: Any, **kwargs: Any)[source]

A CalcJob class that represents FLEUR DFT calculation. For more information about the FLEUR-code family go to http://www.flapw.de/

classmethod define(spec)[source]

Define the process specification, including its inputs, outputs and known exit codes.

Ports are added to the metadata input namespace (inherited from the base Process), and a code input Port, a remote_folder output Port and retrieved folder output Port are added.

Parameters

spec – the calculation job process spec to define.

prepare_for_submission(folder)[source]

This is the routine to be called when you make a FLEUR calculation. This routine checks the inputs and modifies copy lists accordingly. The standard files to be copied are given here.

Parameters

folder – a aiida.common.folders.Folder subclass where the plugin should put all its files.

Fleur Parser

This module contains the parser for a FLEUR calculation and methods for parsing different files produced by FLEUR.

Please implement file parsing routines that they can be executed from outside the parser. Makes testing and portability easier.

class aiida_fleur.parsers.fleur.FleurParser(node)[source]

This class is the implementation of the Parser class for FLEUR. It parses the FLEUR output if the calculation was successful, i.e checks if all files are there that should be and their condition. Then it parses the out.xml file and returns a (simple) parameterData node with the results of the last iteration. Other files (DOS.x, bands.x, relax.xml, …) are also parsed if they are retrieved.

get_linkname_outparams()[source]

Returns the name of the link to the output_complex Node contains the Fleur output in a rather complex dictionary.

get_linkname_outparams_complex()[source]

Returns the name of the link to the output_complex Node contains the Fleur output in a rather complex dictionary.

parse(**kwargs)[source]

Receives in input a dictionary of retrieved nodes. Does all the logic here. Checks presents of files. Calls routines to parse them and returns parameter nodes and success.

Return successful

Bool, if overall parsing was successful or not

Return new_nodes_list

list of tuples of two (linkname, Dataobject), nodes to be stored by AiiDA

aiida_fleur.parsers.fleur.parse_bands_file(bands_lines)[source]

Parses the returned bands.1 and bands.2 file and returns a complete bandsData object. bands.1 has the form: k value, energy

Parameters

bands_lines – string of the read in bands file

aiida_fleur.parsers.fleur.parse_dos_file(dos_lines)[source]

Parses the returned DOS.X files. Structure: (100(1x,e10.3)) e,totdos,interstitial,vac1,vac2, (at(i),i=1,ntype),((q(l,i),l=1,LMAX),i=1,ntype) where e is the energy in eV (= 1/27.2 htr) at(i) is the local DOS of a single atom of the i’th atom-type and q(l,i) is the l-resolved DOS at the i’th atom but has to be multiplied by the number of atoms of this type.

Parameters
  • dos_lines – string of the read in dos file

  • number_of_atom_types – integer, number of atom types

aiida_fleur.parsers.fleur.parse_relax_file(relax_file, schema_dict)[source]

This function parsers relax.xml output file and returns a Dict containing all the data given there.

Fleur input Data structure

Fleur input Data structure

In this module is the FleurinpData class, and methods for FLEUR input manipulation plus methods for extration of AiiDA data structures.

class aiida_fleur.data.fleurinp.FleurinpData(**kwargs)[source]

AiiDA data object representing everything a FLEUR calculation needs.

It is initialized with an absolute path to an inp.xml file or a FolderData node containing inp.xml. Other files can also be added that will be copied to the remote machine, where the calculation takes place.

It stores the files in the repository and stores the input parameters of the inp.xml file of FLEUR in the database as a python dictionary (as internal attributes). When an inp.xml (name important!) file is added to files, FleurinpData searches for a corresponding xml schema file in the PYTHONPATH environment variable. Therefore, it is recommend to have the plug-in source code directory in the python environment. If no corresponding schema file is found an error is raised.

FleurinpData also provides the user with methods to extract AiiDA StructureData and KpointsData nodes.

Remember that most attributes of AiiDA nodes can not be changed after they have been stored in the database! Therefore, you have to use the FleurinpModifier class and its methods if you want to change somthing in the inp.xml file. You will retrieve a new FleurinpData that way and start a new calculation from it.

__init__(**kwargs)[source]

Initialize a FleurinpData object set the files given

del_file(filename)[source]

Remove a file from FleurinpData instancefind

Parameters

filename – name of the file to be removed from FleurinpData instance

property files

Returns the list of the names of the files stored

get_content(filename='inp.xml')[source]

Returns the content of the single file stored for this data node.

Returns

A string of the file content

get_fleur_modes()[source]

Analyses inp.xml file to set up a calculation mode. ‘Modes’ are paths a FLEUR calculation can take, resulting in different output. This files can be automatically addded to the retrieve_list of the calculation.

Common modes are: scf, jspin2, dos, band, pot8, lda+U, eels, …

Returns

a dictionary containing all possible modes.

get_kpointsdata(name=None, index=None)[source]

This routine returns an AiiDA KpointsData type produced from the inp.xml file. This only works if the kpoints are listed in the in inpxml. This is a calcfunction and keeps the provenance!

Returns

KpointsData node

get_kpointsdata_ncf(name=None, index=None)[source]

This routine returns an AiiDA KpointsData type produced from the inp.xml file. This only works if the kpoints are listed in the in inpxml. This is NOT a calcfunction and does not keep the provenance!

Parameters
  • name – str, optional, if given only the kpoint set with the given name is returned

  • index – int, optional, if given only the kpoint set with the given index is returned

Returns

KpointsData node

get_nkpts()[source]

This routine returns the number of kpoints used in the fleur calculation defined in this input

Returns

int with the number of kPoints

get_parameterdata()[source]

This routine returns an AiiDA Dict type produced from the inp.xml file. The returned node can be used for inpgen as calc_parameters. This is a calcfunction and keeps the provenance!

Returns

Dict node

get_parameterdata_ncf(inpgen_ready=True, write_ids=True)[source]

This routine returns an AiiDA Dict type produced from the inp.xml file. This node can be used for inpgen as calc_parameters. This is NOT a calcfunction and does NOT keep the provenance!

Returns

Dict node

get_structuredata()[source]

This routine return an AiiDA Structure Data type produced from the inp.xml file. If this was done before, it returns the existing structure data node. This is a calcfunction and therefore keeps the provenance.

Parameters

fleurinp – a FleurinpData instance to be parsed into a StructureData

Returns

StructureData node

get_structuredata_ncf()[source]

This routine returns an AiiDA Structure Data type produced from the inp.xml file. not a calcfunction

Parameters

self – a FleurinpData instance to be parsed into a StructureData

Returns

StructureData node, or None

get_tag(xpath)[source]

Tries to evaluate an xpath expression for inp.xml file. If it fails it logs it.

Parameters

xpath – an xpath expression

Returns

A node list retrived using given xpath

property inp_dict

Returns the inp_dict (the representation of the inp.xml file) as it will or is stored in the database.

property inp_version

Returns the version string corresponding to the inp.xml file

load_inpxml(validate_xml_schema=True, return_included_tags=False, **kwargs)[source]

Returns the lxml etree and the schema dictionary corresponding to the version. If validate_xml_schema=True the file will also be validated against the schema

Keyword arguments are passed on to the parser

open(path='inp.xml', mode='r', key=None)[source]

Returns an open file handle to the content of this data node.

Parameters
  • key – name of the file to be opened

  • mode – the mode with which to open the file handle

Returns

A file handle in read mode

property parser_info

Dict property, with the info and warnings from the inpxml_parser

set_file(filename, dst_filename=None, node=None)[source]

Add a file to the FleurinpData instance.

Parameters
  • filename – absolute path to the file or a filename of node is specified

  • node – a FolderData node containing the file

set_files(files, node=None)[source]

Add the list of files to the FleurinpData instance. Can by used as an alternative to the setter.

Parameters
  • files – list of abolute filepaths or filenames of node is specified

  • node – a FolderData node containing files from the filelist

aiida_fleur.data.fleurinp.get_fleurinp_from_folder_data(folder_node, store=False, additional_files=None)[source]

Create FleurinpData object from the given RemoteData object

Parameters
  • remote_node – RemoteData to use for the generation of the FleurinpData

  • store – bool, if True the FleurinpData object will be stored after generation

Returns

FleurinpData object with the input xml files from the retrieved folder of the calculation associated RemoteData

aiida_fleur.data.fleurinp.get_fleurinp_from_remote_data(remote_node, store=False, additional_files=None)[source]

Create FleurinpData object from the given RemoteData object

Parameters
  • remote_node – RemoteData to use for the generation of the FleurinpData

  • store – bool, if True the FleurinpData object will be stored after generation

Returns

FleurinpData object with the input xml files from the retrieved folder of the calculation associated RemoteData

Fleurinp modifier

In this module is the FleurinpModifier class, which is used to manipulate FleurinpData objects in a way which keeps the provernance.

class aiida_fleur.data.fleurinpmodifier.FleurinpModifier(validate_signatures=True)[source]

A class which represents changes to the FleurinpData object.

add_num_to_att(*args, **kwargs)[source]

Deprecated method for adding a number to a attribute at a specific xpath

add_number_to_attrib(*args, **kwargs)

Appends a add_number_to_attrib() to the list of tasks that will be done on the xmltree.

Parameters
  • attributename – the attribute name to change

  • add_number – number to add/multiply with the old attribute value

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • mode – str (either rel or abs). rel multiplies the old value with add_number abs adds the old value and add_number

  • occurrences – int or list of int. Which occurence of the node to set. By default all are set.

Kwargs:
param tag_name

str, name of the tag where the attribute should be parsed

param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

param exclude

list of str, here specific types of attributes can be excluded valid values are: settable, settable_contains, other

add_number_to_first_attrib(*args, **kwargs)

Appends a add_number_to_first_attrib() to the list of tasks that will be done on the xmltree.

Parameters
  • attributename – the attribute name to change

  • add_number – number to add/multiply with the old attribute value

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • mode – str (either rel or abs). rel multiplies the old value with add_number abs adds the old value and add_number

Kwargs:
param tag_name

str, name of the tag where the attribute should be parsed

param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

param exclude

list of str, here specific types of attributes can be excluded valid values are: settable, settable_contains, other

add_task_list(task_list)

Add a list of tasks to be added

Parameters

task_list – list of tuples first index is the name of the method second is defining the arguments by keyword in a dict

classmethod apply_fleurinp_modifications(new_fleurinp, modification_tasks)[source]

Apply the modifications working directly on the cloned FleurinpData instance. The functions will warn the user if one of the methods executed here are after XML modifications in the task list, since this method will implictly reorder the order of the execution

Warning

These should be performed BEFORE the XML Modification methods in any of the functions doing modifcations (FleurinpModifier.show(), FleurinpModifier.validate(), FleurinpModifier.freeze()).

Parameters
  • new_fleurinp – The Fleurinpdata instance cloned from the original

  • modification_tasks – a list of modification tuples

classmethod apply_modifications(xmltree, nmmp_lines, modification_tasks, validate_changes=True)

Applies given modifications to the fleurinp lxml tree. It also checks if a new lxml tree is validated against schema. Does not rise an error if inp.xml is not validated, simple prints a message about it.

Parameters
  • xmltree – a lxml tree to be modified (IS MODIFIED INPLACE)

  • nmmp_lines – a n_mmp_mat file to be modified (IS MODIFIED INPLACE)

  • modification_tasks – a list of modification tuples

  • validate_changes – bool optional (default True), if True after all tasks are performed both the xmltree and nmmp_lines are checked for consistency

Returns

a modified lxml tree and a modified n_mmp_mat file

changes()

Prints out all changes currently registered on this instance

create_tag(*args, **kwargs)[source]

Deprecation layer for create_tag if there are slashes in the first positional argument or xpath is is in kwargs. We know that it is the old usage.

Appends a create_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • tag – str of the tag to create

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • create_parents – bool optional (default False), if True and the given xpath has no results the the parent tags are created recursively

  • occurrences – int or list of int. Which occurence of the parent nodes to create a tag. By default all nodes are used.

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

del_file(filename)[source]

Appends a del_file() to the list of tasks that will be done on the FleurinpData instance.

Parameters

filename – name of the file to be removed from FleurinpData instance

delete_att(*args, **kwargs)[source]

Deprecation layer for delete_att if there are slashes in the first positional argument or xpath is is in kwargs. We know that it is the old usage.

Appends a delete_att() to the list of tasks that will be done on the xmltree.

Parameters
  • tag – str of the attribute to delete

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • occurrences – int or list of int. Which occurence of the parent nodes to delete a attribute. By default all nodes are used.

Kwargs:
param tag_name

str, name of the tag where the attribute should be parsed

param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

param exclude

list of str, here specific types of attributes can be excluded valid values are: settable, settable_contains, other

delete_tag(*args, **kwargs)[source]

Deprecation layer for delete_tag if there are slashes in the first positional argument or xpath is is in kwargs. We know that it is the old usage.

Appends a delete_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • tag – str of the tag to delete

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • occurrences – int or list of int. Which occurence of the parent nodes to delete a tag. By default all nodes are used.

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

freeze()[source]

This method applies all the modifications to the input and returns a new stored fleurinpData object.

Returns

stored FleurinpData with applied changes

classmethod fromList(task_list, *args, **kwargs)

Instantiate the FleurXMLModifier from a list of tasks to be added immediately

Parameters

task_list – list of tuples first index is the name of the method second is defining the arguments by keyword in a dict

Other arguments are passed on to the __init__ method

Returns

class with the task list instantiated

get_avail_actions()[source]

Returns the allowed functions from FleurinpModifier

replace_tag(*args, **kwargs)[source]

Deprecation layer for replace_tag if there are slashes in the first positional argument or xpath is is in kwargs. We know that it is the old usage.

Appends a replace_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • tag – str of the tag to replace

  • newelement – a new tag

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • occurrences – int or list of int. Which occurence of the parent nodes to replace a tag. By default all nodes are used.

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

rotate_nmmpmat(*args, **kwargs)

Appends a rotate_nmmpmat() to the list of tasks that will be done on the xmltree.

Parameters
  • species_name – string, name of the species you want to change

  • orbital – integer, orbital quantum number of the LDA+U procedure to be modified

  • phi – float, angle (radian), by which to rotate the density matrix

  • theta – float, angle (radian), by which to rotate the density matrix

set_atomgr_att(*args, **kwargs)[source]

Deprecated method for setting attributes on atomgroups

set_atomgr_att_label(*args, **kwargs)[source]

Deprecated method for setting attributes on atomgroups identified by an atom label

set_atomgroup(*args, **kwargs)

Appends a set_atomgroup() to the list of tasks that will be done on the xmltree.

Parameters
  • attributedict – a python dict specifying what you want to change.

  • position – position of an atom group to be changed. If equals to ‘all’, all species will be changed

  • species – atom groups, corresponding to the given species will be changed

  • create – bool, if species does not exist create it and all subtags?

attributedict is a python dictionary containing dictionaries that specify attributes to be set inside the certain specie. For example, if one wants to set a beta noco parameter it can be done via:

'attributedict': {'nocoParams': {'beta': val}}
set_atomgroup_label(*args, **kwargs)

Appends a set_atomgroup_label() to the list of tasks that will be done on the xmltree.

Parameters
  • atom_label – string, a label of the atom which specie will be changed. ‘all’ to change all the species

  • attributedict – a python dict specifying what you want to change.

  • create – bool, if species does not exist create it and all subtags?

attributedict is a python dictionary containing dictionaries that specify attributes to be set inside the certain specie. For example, if one wants to set a beta noco parameter it can be done via:

'attributedict': {'nocoParams': {'beta': val}}
set_attrib_value(*args, **kwargs)

Appends a set_attrib_value() to the list of tasks that will be done on the xmltree.

Parameters
  • attributename – the attribute name to set

  • attribv – value or list of values to set

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • occurrences – int or list of int. Which occurence of the node to set. By default all are set.

  • create – bool optional (default False), if True the tag is created if is missing

Kwargs:
param tag_name

str, name of the tag where the attribute should be parsed

param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

param exclude

list of str, here specific types of attributes can be excluded valid values are: settable, settable_contains, other

set_complex_tag(*args, **kwargs)

Appends a set_complex_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • tag_name – name of the tag to set

  • attributedict – Keys in the dictionary correspond to names of tags and the values are the modifications to do on this tag (attributename, subdict with changes to the subtag, …)

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • create – bool optional (default False), if True and the path, where the complex tag is set does not exist it is created

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

set_file(filename, dst_filename=None, node=None)[source]

Appends a set_file() to the list of tasks that will be done on the FleurinpData instance.

Parameters
  • filename – absolute path to the file or a filename of node is specified

  • dst_filename – str of the filename, which should be used instead of the real filename to store it

  • node – a FolderData node containing the file

set_first_attrib_value(*args, **kwargs)

Appends a set_first_attrib_value() to the list of tasks that will be done on the xmltree.

Parameters
  • attributename – the attribute name to set

  • attribv – value or list of values to set

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • create – bool optional (default False), if True the tag is created if is missing

Kwargs:
param tag_name

str, name of the tag where the attribute should be parsed

param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

param exclude

list of str, here specific types of attributes can be excluded valid values are: settable, settable_contains, other

set_first_text(*args, **kwargs)

Appends a set_first_text() to the list of tasks that will be done on the xmltree.

Parameters
  • tag_name – str name of the tag, where the text should be set

  • text – value or list of values to set

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • create – bool optional (default False), if True the tag is created if is missing

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

set_inpchanges(*args, **kwargs)

Appends a set_inpchanges() to the list of tasks that will be done on the xmltree.

Parameters
  • change_dict – a dictionary with changes

  • path_spec – dict, with ggf. necessary further specifications for the path of the attribute

An example of change_dict:

change_dict = {'itmax' : 1,
               'l_noco': True,
               'ctail': False,
               'l_ss': True}
set_kpath(*args, **kwargs)

Appends a set_kpath() to the list of tasks that will be done on the xmltree.

Warning

This method is only supported for input versions before the Max5 release

Parameters
  • kpath – a dictionary with kpoint name as key and k point coordinate as value

  • count – number of k-points

  • gamma – bool that controls if the gamma-point should be included in the k-point mesh

set_kpointlist(*args, **kwargs)

Appends a set_kpointlist() to the list of tasks that will be done on the xmltree.

Warning

For input versions Max4 and older all keyword arguments are not valid (name, kpoint_type, special_labels, switch and overwrite)

Parameters
  • kpoints – list or array containing the relative coordinates of the kpoints

  • weights – list or array containing the weights of the kpoints

  • name – str for the name of the list, if not given a default name is generated

  • kpoint_type – str specifying the type of the kPointList (‘path’, ‘mesh’, ‘spex’, ‘tria’, …)

  • special_labels – dict mapping indices to labels. The labels will be inserted for the kpoints corresponding to the given index

  • switch – bool, if True the kPointlist will be used by Fleur when starting the next calculation

  • overwrite – bool, if True and a kPointlist with the given name already exists it will be overwritten

set_kpointsdata(kpointsdata_uuid, name=None, switch=False)[source]

Appends a set_kpointsdata_f() to the list of tasks that will be done on the FleurinpData.

Parameters

kpointsdata_uuid – an aiida.orm.KpointsData or node uuid, since the node is self cannot be be serialized in tasks.

set_nkpts(*args, **kwargs)

Appends a set_nkpts() to the list of tasks that will be done on the xmltree.

Warning

This method is only supported for input versions before the Max5 release

Parameters
  • count – number of k-points

  • gamma – bool that controls if the gamma-point should be included in the k-point mesh

set_nmmpmat(*args, **kwargs)[source]

Appends a set_nmmpmat() to the list of tasks that will be done on the xmltree.

Parameters
  • species_name – string, name of the species you want to change

  • orbital – integer, orbital quantum number of the LDA+U procedure to be modified

  • spin – integer, specifies which spin block should be modified

  • state_occupations – list, sets the diagonal elements of the density matrix and everything else to zero

  • denmat – matrix, specify the density matrix explicitely

  • phi – float, optional angle (radian), by which to rotate the density matrix before writing it

  • theta – float, optional angle (radian), by which to rotate the density matrix before writing it

set_simple_tag(*args, **kwargs)

Appends a set_simple_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • tag_name – str name of the tag to modify/set

  • changes – list of dicts or dict with the changes. Elements in list describe multiple tags. Keys in the dictionary correspond to {‘attributename’: attributevalue}

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • create_parents – bool optional (default False), if True and the path, where the simple tags are set does not exist it is created

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

set_species(*args, **kwargs)

Appends a set_species() to the list of tasks that will be done on the xmltree.

Parameters
  • species_name – string, name of the specie you want to change Can be name of the species, ‘all’ or ‘all-<string>’ (sets species with the string in the species name)

  • attributedict – a python dict specifying what you want to change.

  • create – bool, if species does not exist create it and all subtags?

attributedict is a python dictionary containing dictionaries that specify attributes to be set inside the certain specie. For example, if one wants to set a MT radius it can be done via:

attributedict = {'mtSphere' : {'radius' : 2.2}}

Another example:

'attributedict': {'special': {'socscale': 0.0}}

that switches SOC terms on a sertain specie. mtSphere, atomicCutoffs, energyParameters, lo, electronConfig, nocoParams, ldaU and special keys are supported. To find possible keys of the inner dictionary please refer to the FLEUR documentation flapw.de

set_species_label(*args, **kwargs)[source]

Appends a set_species_label() to the list of tasks that will be done on the xmltree.

Parameters
  • atom_label – string, a label of the atom which specie will be changed. ‘all’ to change all the species

  • attributedict – a python dict specifying what you want to change.

set_text(*args, **kwargs)

Appends a set_text() to the list of tasks that will be done on the xmltree.

Parameters
  • tag_name – str name of the tag, where the text should be set

  • text – value or list of values to set

  • complex_xpath – an optional xpath to use instead of the simple xpath for the evaluation

  • occurrences – int or list of int. Which occurence of the node to set. By default all are set.

  • create – bool optional (default False), if True the tag is created if is missing

Kwargs:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

shift_value(*args, **kwargs)

Appends a shift_value() to the list of tasks that will be done on the xmltree.

Parameters
  • change_dict – a python dictionary with the keys to shift and the shift values.

  • mode – ‘abs’ if change given is absolute, ‘rel’ if relative

  • path_spec – dict, with ggf. necessary further specifications for the path of the attribute

An example of change_dict:

change_dict = {'itmax' : 1, 'dVac': -0.123}
shift_value_species_label(*args, **kwargs)[source]

Appends a shift_value_species_label() to the list of tasks that will be done on the xmltree.

Parameters
  • atom_label – string, a label of the atom which specie will be changed. ‘all’ if set up all species

  • attributename – name of the attribute to change

  • value_given – value to add or to multiply by

  • mode – ‘rel’ for multiplication or ‘abs’ for addition

Kwargs if the attributename does not correspond to a unique path:
param contains

str, this string has to be in the final path

param not_contains

str, this string has to NOT be in the final path

show(display=True, validate=False)[source]

Applies the modifications and displays/prints the resulting inp.xml file. Does not generate a new FleurinpData object.

Parameters
  • display – a boolean that is True if resulting inp.xml has to be printed out

  • validate – a boolean that is True if changes have to be validated

Returns

a lxml tree representing inp.xml with applied changes

switch_kpointset(*args, **kwargs)

Appends a switch_kpointset() to the list of tasks that will be done on the xmltree.

Warning

This method is only supported for input versions after the Max5 release

Parameters

list_name – name of the kPoint set to use

undo(revert_all=False)

Cancels the last change or all of them

Parameters

revert_all – set True if need to cancel all the changes, False if the last one.

validate()[source]

Extracts the schema-file. Makes a test if all the changes lead to an inp.xml file that is validated against the schema.

Returns

a lxml tree representing inp.xml with applied changes

xml_create_tag(*args, **kwargs)[source]

Appends a xml_create_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path where to place a new tag

  • element – a tag name or etree Element to be created

  • place_index – defines the place where to put a created tag

  • tag_order – defines a tag order

  • occurrences – int or list of int. Which occurence of the parent nodes to create a tag. By default all nodes are used.

xml_delete_att(*args, **kwargs)

Appends a xml_delete_att() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path to the attribute to be deleted

  • attrib – the name of an attribute

  • occurrences – int or list of int. Which occurence of the parent nodes to create a tag. By default all nodes are used.

xml_delete_tag(*args, **kwargs)

Appends a xml_delete_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path to the tag to be deleted

  • occurrences – int or list of int. Which occurence of the parent nodes to create a tag. By default all nodes are used.

xml_replace_tag(*args, **kwargs)[source]

Appends a xml_replace_tag() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path to the tag to be replaced

  • newelement – a new tag

  • occurrences – int or list of int. Which occurence of the parent nodes to create a tag. By default all nodes are used.

xml_set_all_attribv(*args, **kwargs)[source]

Deprecated method for setting all attributes on a specific xpath

xml_set_all_text(*args, **kwargs)[source]

Deprecated method for setting attributes for occurrences on a specific xpath

xml_set_attrib_value_no_create(*args, **kwargs)

Appends a xml_set_attrib_value_no_create() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path where to set the attributes

  • attributename – the attribute name to set

  • attribv – value or list of values to set (if not str they will be converted with str(value))

  • occurrences – int or list of int. Which occurence of the node to set. By default all are set.

xml_set_attribv_occ(*args, **kwargs)[source]

Deprecated method for setting attributes for occurrences on a specific xpath

xml_set_first_attribv(*args, **kwargs)[source]

Deprecated method for setting the first attribute on a specific xpath

xml_set_text(*args, **kwargs)[source]

Deprecated method for setting attributes for occurrences on a specific xpath

xml_set_text_no_create(*args, **kwargs)

Appends a xml_set_text_no_create() to the list of tasks that will be done on the xmltree.

Parameters
  • xpath – a path where to set the attributes

  • text – value or list of values to set (if not str they will be converted with str(value))

  • occurrences – int or list of int. Which occurence of the node to set. By default all are set.

xml_set_text_occ(*args, **kwargs)[source]

Deprecated method for setting texts for occurrences on a specific xpath

aiida_fleur.data.fleurinpmodifier.modify_fleurinpdata(original, modifications, **kwargs)[source]

A CalcFunction that performs the modification of the given FleurinpData and stores the result in a database.

Parameters
  • original – a FleurinpData to be modified

  • modifications – a python dictionary of modifications in the form of {‘task’: …}

  • kwargs – dict of other aiida nodes to be linked to the modifications

Returns new_fleurinp

a modified FleurinpData that is stored in a database

Workflows/Workchains

Base: Fleur-Base WorkChain

This module contains the FleurBaseWorkChain. FleurBaseWorkChain is a workchain that wraps the submission of the FLEUR calculation. Inheritance from the BaseRestartWorkChain allows to add scenarios to restart a calculation in an automatic way if an expected failure occurred.

class aiida_fleur.workflows.base_fleur.FleurBaseWorkChain(*args: Any, **kwargs: Any)[source]

Workchain to run a FLEUR calculation with automated error handling and restarts

check_kpts()[source]

This routine checks if the total number of requested cpus is a factor of kpts and makes an optimisation.

If suggested number of num_mpiprocs_per_machine is 60% smaller than requested, it throws an exit code and calculation stop withour submission.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

validate_inputs()[source]

Validate inputs that might depend on each other and cannot be validated by the spec. Also define dictionary inputs in the context, that will contain the inputs for the calculation that will be launched in the run_calculation step.

SCF: Fleur-Scf WorkChain

In this module you find the workchain ‘FleurScfWorkChain’ for the self-consistency cycle management of a FLEUR calculation with AiiDA.

class aiida_fleur.workflows.scf.FleurScfWorkChain(*args: Any, **kwargs: Any)[source]

Workchain for converging a FLEUR calculation (SCF).

It converges the charge density, total energy or the largest force. Two paths are possible:

  1. Start from a structure and run the inpgen first optional with calc_parameters

  2. Start from a Fleur calculation, with optional remoteData

Parameters
  • wf_parameters – (Dict), Workchain Specifications

  • structure – (StructureData), Crystal structure

  • calc_parameters – (Dict), Inpgen Parameters

  • fleurinp – (FleurinpData), to start with a Fleur calculation

  • remote_data – (RemoteData), from a Fleur calculation

  • inpgen – (Code)

  • fleur – (Code)

Returns

output_scf_wc_para (Dict), Information of workflow results like Success, last result node, list with convergence behavior

change_fleurinp()[source]

This routine sets somethings in the fleurinp file before running a fleur calculation.

condition()[source]

check convergence condition

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

fleurinpgen_needed()[source]

Returns True if inpgen calculation has to be submitted before fleur calculations

get_res()[source]

Check how the last Fleur calculation went Parse some results.

inspect_fleur()[source]

Analyse the results of the previous Calculation (Fleur or inpgen), checking whether it finished successfully or if not, troubleshoot the cause and adapt the input parameters accordingly before restarting, or abort if unrecoverable error was found

return_results()[source]

return the results of the calculations This should run through and produce output nodes even if everything failed, therefore it only uses results from context.

run_fleur()[source]

run a FLEUR calculation

run_fleurinpgen()[source]

run the inpgen

start()[source]

init context and some parameters

validate_input()[source]

# validate input and find out which path (1, or 2) to take # return True means run inpgen if false run fleur directly

aiida_fleur.workflows.scf.create_scf_result_node(**kwargs)[source]

This is a pseudo wf, to create the right graph structure of AiiDA. This wokfunction will create the output node in the database. It also connects the output_node to all nodes the information commes from. So far it is just also parsed in as argument, because so far we are to lazy to put most of the code overworked from return_results in here.

BandDos: Bandstructure WorkChain

This is the worklfow ‘band’ for the Fleur code, which calculates a electron bandstructure.

class aiida_fleur.workflows.banddos.FleurBandDosWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculated a bandstructure from a Fleur calculation

Params

a Fleurcalculation node

Returns

Success, last result node, list with convergence behavior

banddos_after_scf()[source]

This method submits the BandDOS calculation after the initial SCF calculation

banddos_wo_scf()[source]

This method submits the BandDOS calculation without a previous SCF calculation

change_fleurinp()[source]

create a new fleurinp from the old with certain parameters

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

get_inputs_scf()[source]

Initialize inputs for scf workflow: wf_param, options, calculation parameters, codes, structure

return_results()[source]

return the results of the calculations

scf_needed()[source]

Returns True if SCF WC is needed.

start()[source]

check parameters, what condictions? complete? check input nodes

aiida_fleur.workflows.banddos.create_band_result_node(**kwargs)[source]

This is a pseudo wf, to create the right graph structure of AiiDA. This wokfunction will create the output node in the database. It also connects the output_node to all nodes the information commes from. So far it is just also parsed in as argument, because so far we are to lazy to put most of the code overworked from return_results in here.

DOS: Density of states WorkChain

This is the worklfow ‘dos’ for the Fleur code, which calculates a density of states (DOS).

class aiida_fleur.workflows.dos.fleur_dos_wc(*args: Any, **kwargs: Any)[source]

This workflow calculated a DOS from a Fleur calculation

Params

a Fleurcalculation node

Returns

Success, last result node, list with convergence behavior

wf_parameters: { ‘tria’, ‘nkpts’, ‘sigma’, ‘emin’, ‘emax’} defaults : tria = True, nkpts = 800, sigma=0.005, emin= -0.3, emax = 0.8

create_new_fleurinp()[source]

create a new fleurinp from the old with certain parameters

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

return_results()[source]

return the results of the calculations

run_fleur()[source]

run a FLEUR calculation

start()[source]

check parameters, what condictions? complete? check input nodes

EOS: Calculate a lattice constant

In this module you find the workflow ‘FleurEosWorkChain’ for the calculation of of an equation of state

class aiida_fleur.workflows.eos.FleurEosWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates the equation of states of a structure. Calculates several unit cells with different volumes. A Birch_Murnaghan equation of states fit determines the Bulk modulus and the groundstate volume of the cell.

Params wf_parameters

Dict node, optional ‘wf_parameters’, protocol specifying parameter dict

Params structure

StructureData node, ‘structure’ crystal structure

Params calc_parameters

Dict node, optional ‘calc_parameters’ parameters for inpgen

Params inpgen

Code node,

Params fleur

Code node,

Return output_eos_wc_para

Dict node, contains relevant output information. about general succeed, fit results and so on.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. It will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Launch fleur_scfs from the generated structures

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

get_inputs_scf()[source]

get and ‘produce’ the inputs for a scf-cycle

get_inputs_scf_first()[source]

get and ‘produce’ the inputs for a scf-cycle

inspect_first()[source]

Check if the first calculation failed and

return_results()[source]

return the results of the calculations (scf workchains) and do a Birch-Murnaghan fit for the equation of states

run_first()[source]

Launch the first fleur SCF workchain

start()[source]

check parameters, what condictions? complete? check input nodes

structures()[source]

Creates structure data nodes with different Volume (lattice constants)

aiida_fleur.workflows.eos.birch_murnaghan(volumes, volume0, bulk_modulus0, bulk_deriv0)[source]

This evaluates the Birch Murnaghan equation of states

aiida_fleur.workflows.eos.birch_murnaghan_fit(energies, volumes)[source]

least squares fit of a Birch-Murnaghan equation of state curve. From delta project containing in its columns the volumes in A^3/atom and energies in eV/atom # The following code is based on the source code of eos.py from the Atomic # Simulation Environment (ASE) <https://wiki.fysik.dtu.dk/ase/>. :params energies: list (numpy arrays!) of total energies eV/atom :params volumes: list (numpy arrays!) of volumes in A^3/atom

#volume, bulk_modulus, bulk_deriv, residuals = Birch_Murnaghan_fit(data)

aiida_fleur.workflows.eos.create_eos_result_node(**kwargs)[source]

This is a pseudo cf, to create the right graph structure of AiiDA. This calcfunction will create the output nodes in the database. It also connects the output_nodes to all nodes the information comes from. This includes the output_parameter node for the eos, connections to run scfs, and returning of the gs_structure (best scale) So far it is just parsed in as kwargs argument, because we are to lazy to put most of the code overworked from return_results in here.

aiida_fleur.workflows.eos.eos_structures(inp_structure, scalelist)[source]

Calcfunction, which creates many rescaled StructureData nodes out of a given crystal structure. Keeps the provenance in the database

:param StructureData, a StructureData node :param scalelist, AiiDA List, list of floats, scaling factors for the cell

Returns

dict of New StructureData nodes with rescalled structure, which are linked to input Structure

aiida_fleur.workflows.eos.eos_structures_nocf(inp_structure, scalelist)[source]

Creates many rescalled StructureData nodes out of a crystal structure. Does NOT keep the provenance in the database.

:param StructureData, a StructureData node (pk, sor uuid) :param scalelist, list of floats, scaling factors for the cell

Returns

dict of New StructureData nodes with rescalled structure, key=scale

Relax: Relaxation of a Cystalstructure WorkChain

In this module you find the workflow ‘FleurRelaxWorkChain’ for geometry optimization.

class aiida_fleur.workflows.relax.FleurRelaxWorkChain(*args: Any, **kwargs: Any)[source]

This workflow performs structure optimization.

static analyse_relax(relax_dict)[source]

This function generates a new fleurinp analysing parsed relax.xml from the previous calculation.

NOT IMPLEMENTED YET

Parameters

relax_dict – parsed relax.xml from the previous calculation

Return new_fleurinp

new FleurinpData object that will be used for next relax iteration

check_failure()[source]

Throws an exit code if scf failed

condition()[source]

Checks if relaxation criteria is achieved.

Returns

True if structure is optimized and False otherwise

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. It will initialize the output nodes The shutdown of the workchain will has to be done afterwards.

converge_scf()[source]

Submits aiida_fleur.workflows.scf.FleurScfWorkChain.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

generate_new_fleurinp()[source]

This function fetches relax.xml from the previous iteration and calls analyse_relax(). New FleurinpData is stored in the context.

get_inputs_final_scf()[source]

Initializes inputs for final scf on relaxed structure.

get_inputs_first_scf()[source]

Initialize inputs for the first iteration.

get_inputs_scf()[source]

Initializes inputs for further iterations.

get_results_final_scf()[source]

Parser some results of final scf

get_results_relax()[source]

Generates results of the workchain. Creates a new structure data node which is an optimized structure.

return_results()[source]

This function stores results of the workchain into the output nodes.

run_final_scf()[source]

Run a final scf for charge convergence on the optimized structure

should_relax()[source]

Should we run a relaxation or only a final scf This allows to call the workchain to run an scf only and makes logic of other higher workflows a lot easier

should_run_final_scf()[source]

Check if a final scf should be run on the optimized structure

start()[source]

Retrieve and initialize paramters of the WorkChain, validate inputs

aiida_fleur.workflows.relax.create_relax_result_node(**kwargs)[source]

This calcfunction assures the right provenance (additional links) for ALL result nodes it takes any nodes as input and return a special set of nodes. All other inputs will be connected in the DB to these ourput nodes

initial_cls: Caluclation of inital corelevel shifts

This is the worklfow FleurInitialCLSWorkChain ‘initial_cls’ using the Fleur code calculating corelevel shifts with different methods.

class aiida_fleur.workflows.initial_cls.FleurInitialCLSWorkChain(*args: Any, **kwargs: Any)[source]

Turn key solution for the calculation of core level shift

check_input()[source]

Init same context and check what input is given if it makes sence

collect_results()[source]

Collect results from certain calculation, check if everything is fine, calculate the wanted quantities. currently all energies are in hartree (as provided by Fleur)

control_end_wc(errormsg)[source]

Controled way to shutdown the workchain. will initalize the output nodes The shutdown of the workchain will has to be done afterwards

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

find_parameters()[source]

If the same parameters shall be used in the calculations you have to find some that match. For low error on CLS. therefore use the ones enforced or extract from the previous Fleur calculation.

get_references()[source]

To calculate a CLS in initial state approx, we need reference calculations to the Elemental crystals. First it is checked if the user has provided them Second the database is checked, if there are structures with certain extras. Third the COD database is searched for the elemental Cystal structures. If some referneces are not found stop here. Are there already calculation of these ‘references’, ggf use them. We do not put these calculation in the calculation queue yet because we need specific parameters for them

handle_scf_failure()[source]

In here we handle all failures from the scf workchain

relax()[source]

Do structural relaxation for certain structures.

relaxation_needed()[source]

If the structures should be relaxed, check if their Forces are below a certain threshold, otherwise throw them in the relaxation wf.

return_results()[source]

return the results of the calculations

run_fleur_scfs()[source]

Run SCF-cycles for all structures, calculations given in certain workflow arrays.

run_scfs_ref()[source]

Run SCF-cycles for ref structures, calculations given in certain workflow arrays. parameter nodes should be given

aiida_fleur.workflows.initial_cls.clshifts_to_be(coreleveldict, reference_dict)[source]

This methods converts corelevel shifts to binding energies, if a reference is given. These can than be used for plotting.

Example:

reference = {'W' : {'4f7/2' : [124],
                   '4f5/2' : [102]},
             'Be' : {'1s': [117]}}
corelevels = {'W' : {'4f7/2' : [0.4, 0.3, 0.4 ,0.1],
                     '4f5/2' : [0, 0.3, 0.4, 0.1]},
              'Be' : {'1s': [0, 0.2, 0.4, 0.1, 0.3]}}
aiida_fleur.workflows.initial_cls.create_initcls_result_node(**kwargs)[source]

This is a pseudo wf, to create the rigth graph structure of AiiDA. This wokfunction will create the output node in the database. It also connects the output_node to all nodes the information commes from. So far it is just also parsed in as argument, because so far we are to lazy to put most of the code overworked from return_results in here.

aiida_fleur.workflows.initial_cls.extract_results(calcs)[source]

Collect results from certain calculation, check if everything is fine, calculate the wanted quantities.

params: calcs : list of scf workchains nodes

aiida_fleur.workflows.initial_cls.fleur_calc_get_structure(calc_node)[source]

Get the AiiDA data structure from a fleur calculations

aiida_fleur.workflows.initial_cls.get_para_from_group(element, group)[source]

get structure node for a given element from a given group of structures (quit creedy, done straighforward)

aiida_fleur.workflows.initial_cls.get_ref_from_group(element, group)[source]

Return a structure data node from a given group for a given element. (quit creedy, done straighforward)

params: group: group name or pk params: element: string with the element i.e ‘Si’

returns: AiiDA StructureData node

aiida_fleur.workflows.initial_cls.querry_for_ref_structure(element_string)[source]

This methods finds StructureData nodes with the following extras: extra.type = ‘bulk’, # Should be done by looking at pbc, but I could not get querry to work. extra.specific = ‘reference’, ‘extra.elemental’ = True, extra.structure = element_string

param: element_string: string of an element return: the latest StructureData node that was found

corehole: Performance of coreholes calculations

This is the workflow ‘corehole’ using the Fleur code, which calculates binding energies and corelevel shifts with different methods. ‘divide and conquer’

class aiida_fleur.workflows.corehole.FleurCoreholeWorkChain(*args: Any, **kwargs: Any)[source]

Turn key solution for a corehole calculation with the FLEUR code. Has different protocols for different core-hole types (valence, charge).

Calculates supercells. Extracts binding energies for certain corelevels from the total energy differences a the calculation with corehole and without.

Documentation: See help for details.

Two paths are possible:

  1. Start from a structure -> workchains run inpgen first (recommended)

  2. Start from a Fleurinp data object

Also it is recommended to provide a calc parameter node for the structure

Parameters
  • wf_parameters – Dict node, specify, resources and what should be calculated

  • structure – structureData node, crystal structure

  • calc_parameters – Dict node, inpgen parameters for the crystal structure

  • fleurinp – fleurinpData node,

  • inpgen – Code node,

  • fleur – Code node,

Returns

output_corehole_wc_para Dict node, successful=True if no error

Uses workchains

fleur_scf_wc, fleur_relax_wc

Uses calcfunctions

supercell, create_corehole_result_node, prepare_struc_corehole_wf

check_input()[source]

init all context parameters, variables. Do some input checks. Further input checks are done in further workflow steps

check_scf()[source]

Check if ref scf was successful, or something needs to be dealt with. If unsuccesful abort, because makes no sense to continue.

collect_results()[source]

Collect results from certain calculation, check if everything is fine, calculate the wanted quantities. currently all energies are in hartree (as provided by Fleur)

control_end_wc(errormsg)[source]

Controled way to shutdown the workchain. report errors and always initalize/produce output nodes. But log successful=False

create_coreholes()[source]

Check the input for the corelevel specification, create structure and parameter nodes with all the need coreholes. create the wf_parameter nodes for the scfs. Add all calculations to scfs_to_run.

Layout: # Check what coreholes should be created. # said in the input, look in the original cell # These positions are the same for the supercell. # break the symmetry for the supercells. (make the corehole atoms its own atom type) # create a new species and a corehole for this atom group. # move all the atoms in the cell that impurity is in the origin (0.0, 0.0, 0.0) # use the fleurinp_change feature of scf to create the corehole after inpgen gen in the scf # start the scf with the last charge density of the ref calc? so far no, might not make sense

# TODO if this becomes to long split

create_supercell()[source]

create the needed supercell

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

relax()[source]

Do structural relaxation for certain structures.

relaxation_needed()[source]

If the structures should be relaxed, check if their Forces are below a certain threshold, otherwise throw them in the relaxation wf.

return_results()[source]

return the results of the calculations

run_ref_scf()[source]

Run a scf for the reference super cell

run_scfs()[source]

Run a scf for the all corehole calculations in parallel super cell

supercell_needed()[source]

check if a supercell is needed and what size it should be

aiida_fleur.workflows.corehole.create_corehole_result_node(**kwargs)[source]

This is a pseudo wf, to create the rigth graph structure of AiiDA. This wokfunction will create the output node in the database. It also connects the output_node to all nodes the information commes from. So far it is just also parsed in as argument, because so far we are to lazy to put most of the code overworked from return_results in here.

aiida_fleur.workflows.corehole.extract_results_corehole(calcs)[source]

Collect results from certain calculation, check if everything is fine, calculate the wanted quantities.

params: calcs : list of scf workchains nodes

aiida_fleur.workflows.corehole.prepare_struc_corehole_wf(base_supercell, wf_para, para=None)[source]

calcfunction which does all/some the structure+calcparameter manipulations together (therefore less nodes are produced and proverance is kept) wf_para: Dict node dict: {‘site’ : sites[8], ‘kindname’ : ‘W1’, ‘econfig’: “[Kr] 5s2 4d10 4f13 | 5p6 5d5 6s2”, ‘fleurinp_change’ : []}

MAE: Force-theorem calculation of magnetic anisotropy energies

In this module you find the workflow ‘FleurMaeWorkChain’ for the calculation of Magnetic Anisotropy Energy via the force theorem.

class aiida_fleur.workflows.mae.FleurMaeWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates the Magnetic Anisotropy Energy of a structure.

change_fleurinp()[source]

This routine sets somethings in the fleurinp file before running a fleur calculation.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density with or without SOC. Submit a single Fleur calculation to obtain a reference for further force theorem calculations.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

force_after_scf()[source]

Calculate energy of a system for given SQAs using the force theorem. Converged reference is stored in self.ctx[‘xyz’].

force_wo_scf()[source]

Submit FLEUR force theorem calculation using input remote

get_inputs_scf()[source]

Initialize inputs for scf workflow: wf_param, options, calculation parameters, codes, structure

get_results()[source]

Generates results of the workchain.

return_results()[source]

This function outputs results of the wc

scf_needed()[source]

Returns True if SCF WC is needed.

start()[source]

Retrieve and initialize paramters of the WorkChain

aiida_fleur.workflows.mae.save_mae_output_node(**kwargs)[source]

This is a pseudo cf, to create the right graph structure of AiiDA. This calcfunction will create the output node in the database. It also connects the output_node to all nodes the information comes from. So far it is just also parsed in as argument, because so far we are to lazy to put most of the code overworked from return_results in here.

MAE Conv: Self-consistent calculation of magnetic anisotropy energies

In this module you find the workflow ‘FleurMAEWorkChain’ for the calculation of Magnetic Anisotropy Energy converging all the directions.

class aiida_fleur.workflows.mae_conv.FleurMaeConvWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates the Magnetic Anisotropy Energy of a structure.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density with or without SOC. Depending on a branch of MAE calculation, submit a single Fleur calculation to obtain a reference for further force theorem calculations or submit a set of Fleur calculations to converge charge density for all given SQAs.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

get_inputs_scf()[source]

Initialize inputs for scf workflow

get_results()[source]

Retrieve results of converge calculations

return_results()[source]

Retrieve results of converge calculations

start()[source]

Retrieve and initialize paramters of the WorkChain

aiida_fleur.workflows.mae_conv.save_output_node(out)[source]

This calcfunction saves the out dict in the db

SSDisp: Force-theorem calculation of spin spiral dispersion

In this module you find the workflow ‘FleurSSDispWorkChain’ for the calculation of spin spiral dispersion using scalar-relatevistic Hamiltonian.

class aiida_fleur.workflows.ssdisp.FleurSSDispWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates spin spiral dispersion of a structure.

change_fleurinp()[source]

This routine sets somethings in the fleurinp file before running a fleur calculation.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. It will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density for collinear case which is a reference for futher spin spiral calculations.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

force_after_scf()[source]

This routine uses the force theorem to calculate energies dispersion of spin spirals. The force theorem calculations implemented into the FLEUR code. Hence a single iteration FLEUR input file having <forceTheorem> tag has to be created and submitted.

force_wo_scf()[source]

Submit FLEUR force theorem calculation using input remote

get_inputs_scf()[source]

Initialize inputs for the scf cycle

get_results()[source]

Generates results of the workchain.

return_results()[source]

This function outputs results of the wc

scf_needed()[source]

Returns True if SCF WC is needed.

start()[source]

Retrieve and initialize paramters of the WorkChain

aiida_fleur.workflows.ssdisp.save_output_node(out)[source]

This calcfunction saves the out dict in the db

SSDisp Conv: Self-consistent calculation of spin spiral dispersion

In this module you find the workflow ‘FleurSSDispConvWorkChain’ for the calculation of Spin Spiral energy Dispersion converging all the directions.

class aiida_fleur.workflows.ssdisp_conv.FleurSSDispConvWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates the Spin Spiral Dispersion of a structure.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density with or without SOC. Depending on a branch of Spiral calculation, submit a single Fleur calculation to obtain a reference for further force theorem calculations or submit a set of Fleur calculations to converge charge density for all given SQAs.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

get_inputs_scf()[source]

Initialize inputs for scf workflow: wf_param, options, calculation parameters, codes, structure

get_results()[source]

Retrieve results of converge calculations

return_results()[source]

Retrieve results of converge calculations

start()[source]

Retrieve and initialize paramters of the WorkChain

aiida_fleur.workflows.ssdisp_conv.save_output_node(out)[source]

This calcfunction saves the out dict in the db

DMI: Force-theorem calculation of Dzjaloshinskii-Moriya interaction energy dispersion

In this module you find the workflow ‘FleurDMIWorkChain’ for the calculation of DMI energy dispersion.

class aiida_fleur.workflows.dmi.FleurDMIWorkChain(*args: Any, **kwargs: Any)[source]

This workflow calculates DMI energy dispersion of a structure.

change_fleurinp()[source]

This routine sets somethings in the fleurinp file before running a fleur calculation.

control_end_wc(errormsg)[source]

Controlled way to shutdown the workchain. will initialize the output nodes The shutdown of the workchain will has to be done afterwards

converge_scf()[source]

Converge charge density for collinear case which is a reference for futher spin spiral calculations.

classmethod define(spec)[source]

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

force_after_scf()[source]

This routine uses the force theorem to calculate energies dispersion of spin spirals. The force theorem calculations implemented into the FLEUR code. Hence a single iteration FLEUR input file having <forceTheorem> tag has to be created and submitted.

force_wo_scf()[source]

Submit FLEUR force theorem calculation using input remote

get_inputs_scf()[source]

Initialize inputs for the scf cycle

get_results()[source]

Generates results of the workchain.

return_results()[source]

This function outputs results of the wc

scf_needed()[source]

Returns True if SCF WC is needed.

start()[source]

Retrieve and initialize paramters of the WorkChain

aiida_fleur.workflows.dmi.save_output_node(out)[source]

This calcfunction saves the out dict in the db

Commandline interface (CLI)

aiida-fleur

CLI for the aiida-fleur plugin.

aiida-fleur [OPTIONS] COMMAND [ARGS]...

Options

-p, --profile <profile>

Execute the command for this profile instead of the default profile.

-v, --version

Show the version and exit.

data

Commands to create and inspect data nodes.

aiida-fleur data [OPTIONS] COMMAND [ARGS]...

fleurinp

Commands to handle FleurinpData nodes.

aiida-fleur data fleurinp [OPTIONS] COMMAND [ARGS]...
cat

Dumb the content of a file contained in given fleurinpdata, per default dump inp.xml

aiida-fleur data fleurinp cat [OPTIONS] NODE

Options

-f, --filename <filename>

Disply the file content of the given filename.

Default

inp.xml

Arguments

NODE

Required argument

list

List stored FleurinpData in the database with additional information

aiida-fleur data fleurinp list [OPTIONS] [--]

Options

-G, --groups <groups>

One or multiple groups identified by their ID, UUID or label.

-p, --past-days <PAST_DAYS>

Only include entries created in the last PAST_DAYS number of days.

-A, --all-users

Include all entries regardless of the owner.

-r, --raw

Display only raw query results, without any headers or footers.

--uuid, --no-uuid

Display uuid of nodes.

Default

False

--ctime, --no-ctime

Display ctime of nodes.

Default

False

--extras, --no-extras

Display extras of nodes.

Default

True

--strucinfo, --no-strucinfo

Perpare additional information on the crystal structure to show. This slows down the query.

Default

False

options

Commands to create and inspect Dict nodes containing options.

aiida-fleur data options [OPTIONS] COMMAND [ARGS]...
create

Command to create options dict nodes

aiida-fleur data options create [OPTIONS]

Options

-N, --max-num-machines <max_num_machines>

The maximum number of machines (nodes) to use for the calculations.

Default

1

-M, --num-mpiprocs-per-machine <num_mpiprocs_per_machine>

Run the simulation with so many num-mpi-procs-per-machine.

Default

2

-W, --max-wallclock-seconds <max_wallclock_seconds>

The maximum wallclock time in seconds to set for the calculations.

Default

1800

-q, --queue <queue>

The queue name to submit to.

Default

-n, --dry-run

Perform a dry run.

--show, --no-show

Print the contents from the options dict.

Default

True

parameter

Commands to create and inspect Dict nodes containing FLAPW parameters (‘calc_parameters’).

aiida-fleur data parameter [OPTIONS] COMMAND [ARGS]...
import

Extract FLAPW parameters from a Fleur input file and store as Dict in the db.

FILENAME is the name/path of the inp.xml file to use.

aiida-fleur data parameter import [OPTIONS] FILENAME

Options

--fleurinp, --no-fleurinp

Store also the fleurinp and the extractor calcfunction in the db.

Default

False

--show, --no-show

Print the contents from the extracted dict.

Default

True

-n, --dry-run

Perform a dry run.

Arguments

FILENAME

Required argument

structure

Commands to create and inspect StructureData nodes.

aiida-fleur data structure [OPTIONS] COMMAND [ARGS]...
import

Import a StructureData from a Fleur input file.

FILENAME is the name/path of the inp.xml file to use.

If you want to import a structure from any file type you can use ‘verdi data structure import -ase <filename>’ instead.

aiida-fleur data structure import [OPTIONS] FILENAME

Options

--fleurinp, --no-fleurinp

Store also the fleurinp and the extractor calcfunction in the db.

Default

False

-n, --dry-run

Perform a dry run.

Arguments

FILENAME

Required argument

launch

Commands to launch workflows and calcjobs of aiida-fleur.

aiida-fleur launch [OPTIONS] COMMAND [ARGS]...

banddos

Launch a banddos workchain

aiida-fleur launch banddos [OPTIONS]

Options

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-P, --parent-folder <parent_folder>

The PK of a parent remote folder (for restarts).

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

corehole

Launch a corehole workchain

aiida-fleur launch corehole [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

create_magnetic

Launch a create_magnetic workchain

aiida-fleur launch create_magnetic [OPTIONS]

Options

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Required Dict containing parameters given to the workchain.

-eos, --eos-parameters <eos_parameters>

Dict containing wf parameters given to the sub EOS workchains.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-relax, --relax-parameters <relax_parameters>

Dict containing wf parameters given to the sub relax workchains.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-opt, --option-node <option_node>

Dict, an option node for the workchain.

dmi

Launch a dmi workchain

aiida-fleur launch dmi [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_fept_film_structure at 0x7fab9d549550>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Required Dict containing parameters given to the workchain.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-opt, --option-node <option_node>

Dict, an option node for the workchain.

eos

Launch a eos workchain

aiida-fleur launch eos [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

fleur

Launch a base_fleur workchain. If launch_base is False launch a single fleur calcjob instead.

aiida-fleur launch fleur [OPTIONS]

Options

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-P, --parent-folder <parent_folder>

The PK of a parent remote folder (for restarts).

-set, --settings <settings>

Settings node for the calcjob.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-N, --max-num-machines <max_num_machines>

The maximum number of machines (nodes) to use for the calculations.

Default

1

-W, --max-wallclock-seconds <max_wallclock_seconds>

The maximum wallclock time in seconds to set for the calculations.

Default

1800

-M, --num-mpiprocs-per-machine <num_mpiprocs_per_machine>

Run the simulation with so many num-mpi-procs-per-machine.

Default

2

-opt, --option-node <option_node>

Dict, an option node for the workchain.

-I, --with-mpi

Run the calculations with MPI enabled.

Default

False

-q, --queue <queue>

The queue name to submit to.

Default

--launch_base, --no-launch_base

Run the base_fleur workchain, which also handles errors instead of a single fleur calcjob.

Default

True

init_cls

Launch an init_cls workchain

aiida-fleur launch init_cls [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

inpgen

Launch an inpgen calcjob on given input

If no code is given it queries the DB for inpgen codes and uses the one with the newest creation time.

Either structure or anysource_structure can be specified. Default structure is Si bulk.

aiida-fleur launch inpgen [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-set, --settings <settings>

Settings node for the calcjob.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-opt, --option-node <option_node>

Dict, an option node for the workchain.

-q, --queue <queue>

The queue name to submit to.

Default

mae

Launch a mae workchain

aiida-fleur launch mae [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_fept_film_structure at 0x7fab9d549550>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-P, --parent-folder <parent_folder>

The PK of a parent remote folder (for restarts).

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

relax

Launch a base relax workchain

# TODO final scf input

aiida-fleur launch relax [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

scf

Launch a scf workchain

aiida-fleur launch scf [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_si_bulk_structure at 0x7fab9d5494c0>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-set, --settings <settings>

Settings node for the calcjob.

-inp, --fleurinp <fleurinp>

FleurinpData node for the fleur calculation.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Dict containing parameters given to the workchain.

-P, --parent-folder <parent_folder>

The PK of a parent remote folder (for restarts).

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-set, --settings <settings>

Settings node for the calcjob.

-opt, --option-node <option_node>

Dict, an option node for the workchain.

ssdisp

Launch a ssdisp workchain

aiida-fleur launch ssdisp [OPTIONS]

Options

-s, --structure <structure>

StructureData node, given by pk or uuid or file in any for mat which will be converted.

Default

<function get_fept_film_structure at 0x7fab9d549550>

-i, --inpgen <inpgen>

A code node or label for an inpgen executable.

Default

<function get_inpgen at 0x7fab9d5495e0>

-calc_p, --calc-parameters <calc_parameters>

Dict with calculation (FLAPW) parameters to build, which will be given to inpgen.

-f, --fleur <fleur>

A code node or label for a fleur executable.

Default

<function get_fleur at 0x7fab9d549670>

-wf, --wf-parameters <wf_parameters>

Required Dict containing parameters given to the workchain.

-scf, --scf-parameters <scf_parameters>

Dict containing parameters given to the sub SCF workchains.

-d, --daemon

Submit the process to the daemon instead of running it locally.

Default

False

-opt, --option-node <option_node>

Dict, an option node for the workchain.

plot

Invoke the plot_fleur command on given nodes

aiida-fleur plot [OPTIONS] [NODES]...

Options

-f <filename>
--save <save>

Should the result of plot_fleur be saved to a files.

Default

False

--show, --no-show

Show the output of plot_fleur.

Default

True

--show_dict, --no-show_dict

Show the output of plot_fleur.

Default

False

--bokeh
--matplotlib

Arguments

NODES

Optional argument(s)

workflow

Commands to inspect aiida-fleur workchains.

aiida-fleur workflow [OPTIONS] COMMAND [ARGS]...

inputdict

Print data from Dict nodes input into any fleur process.

aiida-fleur workflow inputdict [OPTIONS] [--] PROCESS

Options

--info, --no-info

Print an info header above each node.

-l, --label <label>

Print only output dicts with a certain link_label.

--show, --no-show

Show the main output of the command.

Default

True

-k, --keys <keys>

Filter the output by one or more keys.

-f, --format <fmt>

The format of the output data.

Options

json+date | yaml | yaml_expanded

Arguments

PROCESS

Required argument

res

Print data from Dict nodes returned or created by any fleur process.

aiida-fleur workflow res [OPTIONS] [--] PROCESS

Options

--info, --no-info

Print an info header above each node.

-l, --label <label>

Print only output dicts with a certain link_label.

--show, --no-show

Show the main output of the command.

Default

True

-k, --keys <keys>

Filter the output by one or more keys.

-f, --format <fmt>

The format of the output data.

Options

json+date | yaml | yaml_expanded

Arguments

PROCESS

Required argument