Changelog

Version 0.2.0

Fixes:

  • utils.chem_formula.transform_str_to_dict supports now recurring elements and nested brackets (PR #13).

  • strct.Structure.calculate_voronoi_tessellation now sorts the the neighbouring sites (PR #31).

  • io.fhi_aims.read_atom_proj_density_of_states supports now higher azimuth quantum numbers up to i (PR #33).

  • External structure manipulation methods now share the same interface as their internal counterparts (PR #34).

  • A few smaller bug fixes in CP2K output parser (PR #36).

  • Fix interface to spglib to support version 2.5 and above (PR #54).

  • Small fixes to the Materials Project open-api interface (PR #58).

  • The optimade interface was not working as soon as one supplier could not be reached (PR #62).

  • strct.Structure.calculate_distance now correctly backfolds positions into the unit cell (PR #63).

  • strct.ext_manipulation.add_structure_coord or strct.ext_manipulation.add_functional_group were not in all cases dealing correctly with planar coordination geometry (PR #64).

  • Fixed error in strct.StructureOperations when index slices were used (PR #71).

  • Fixed bug in plots.PartialChargesPlot occurring when a data labels was part of another data label (PR #77).

Enhancements:

  • All larger parser functions moved from aiida_workflows to io such that they can used outside of the AiiDA framework (PR #20).

  • io.qe.read_total_density_of_states parses now the Fermi energy as well (PR #20).

  • plots.base_plot added new property subplot_align_ylabels to adjust y labels in subplots for backend matplotlib (PR #23).

  • strct.Structure added new file formats .cssr, .v1 and .cuc to to_file for postprocessing in Zeo++ (PR #26).

  • strct.StructureOperaions now supports, in addition to a strct.StructureCollection object, a list of Structure objects upon initialization (PR #29).

  • fct.smearing functions have a new parameter sampling_width to control the distance between x-values (PR #32).

  • strct.Structure.to_dict returns a dictionary of a Structure object (PR #34).

  • Structure manipulation methods maintain kinds information and strct.Structure.substitute_elements has now the addiational remove_kind parameter (PR #34).

  • utils.element_properties.get_atomic_radius supports now the set of radii determined in doi:10.1039/C9RA07327B (PR #35).

  • strct.Structure.calculate_coordination supports the calculation of the coordination environment based on the sum of the corresponding atomic radii (PR #35).

  • strct.ext_manipulation.add_structure_coord replaces the strct.ext_manipulation.add_functional_group function allowing Structure objects as input and adding methods to define the orientation and position of the guest structure in more detail (PR #37, PR #65, PR #85).

  • strct.Structure has now site attributes which store site specific information (PR #39).

  • utils.element_properties.get_atomic_radius supports now Van der Waals radii determined in doi:10.26434/chemrxiv-2024-m3rtp-v2 (PR #44).

  • An internal cif-parser is added to parse additional information (PR #47).

  • Support CP2K versions 2022.1-2024.1 (PR #51).

  • The newly implemented``strct.ext_manipulation.add_structure_random`` function adds a guest structure at a random position and orientation (PR #53).

  • strct.Structure.from_file interfaces functions from the io sub-package via the internal 'backend' and adds more parameters to control the 'ase' backend (PR #56).

  • The methods to find duplicate structures of strct.StructureOperations are sped up by comparing the chemical formulas prior to more expensive checks (PR #61).

  • H2 is added to the pre-defined structures (PR #65).

  • io.cp2k.read_atom_proj_density_of_states now also supports LDOS files (PR #76).

  • strct.StructureOperations.compare_* functions can now be run in parallel (PR #78).

  • Added custom_hatch to all plots classes to allow plotting hatched bars using the matplotlib backend (PR #89).

Depreciations:

  • strct.ext_manipulation.add_functional_group is replaced by strct.ext_manipulation.add_structure_coord (PR #37).

  • aim2dat.io.cp2k.read_optimized_structure is replaced by aim2dat.io.cp2k.read_restart_structure (PR #56).

Breaking Changes:

  • Moved dict_* functions from aiida_workflows.utils to utils.dict_tools (PR #36).

  • Space group and symmetry related keys now conform to the attributes returned by spglib (PR #54). As such, the keys 'sg_number', 'int_symbol', 'point_group_symbol', 'schoenflies_symbol' are replaced by 'number', 'international', 'pointgroup', 'schoenflies', respectively.

  • utils.chem_formula.reduce_formula tries now to find a formula only having natural numbers as quantities; this way utils.chem_formula.compare_formulas`` works for all use-cases (PR #60).

  • Structure manipulation methods now in general maintain kinds, attributes and site_attributes if not otherwise noted (PR #63).

  • The interface of``strct.StructureOperations`` was changed in order to be more consistent with strct.Structure (PR #72).

  • strct.Structure.kinds now always returns a tuple instead of None (PR #73).

  • io.critic2.read_stdout now returns the value of ‘version’ as string (PR #74).

  • strct.Structure.calculate_distance treats r_max as a cut-off value for the distance (PR #83, PR #90).

Version 0.1.0

  • First published version.