Skip to content

Latest commit

 

History

History
772 lines (529 loc) · 50.2 KB

CHANGELOG.md

File metadata and controls

772 lines (529 loc) · 50.2 KB

v4.6.0

This minor release provides several improvements and bug fixes, mostly related to the HubbardStructureData and XPS/XAS calculations.

Since there were no changes in the schema for Quantum ESPRESSO v7.3, versions 4.3 and above of the plugin package should now also fully support the new Quantum ESPRESSO release.

👌 Improvements

  • XAS: Enable Correct Parsing of Hubbard and Magnetic Data [f439504]
  • PhCalculation: add symmetry related exit codes [5a6529f]
  • seekpath_structure_analysis: HubbardStructureData compatibility [9cb1cfa]
  • HubbardStructureData: add compatibility for <3D structures [d645069]
  • HubbardStructureData: Add validation on site indices [960a371]

🐛 Bug fixes

  • PwBandsWorkChain: Respect bands_kpoints in overrides [ae7d248]
  • CLI: Fix import of StructureData from QE input file [3440623]
  • Fix inputs for molecules in the XPS calculation [b7f17cf]

🧪 Tests

  • CLI: Add test for data structure import [5c3c301]

v4.5.1

This patch release fixes some issues with the changes introduced in b9c7517 and released in v4.5.0. The new approach for setting the q-points was unfortunately broken, which is now fixed in c353cc2. Moreover, the validation that was added to the top-level inputs of the PhBaseWorkChain requires the user to specify either the qpoints or qpoints_distance input. This means that work chains which wrap the PhBaseWorkChain but provide the q-points on the fly will have to disable this validation by setting the corresponding validator to None in the input spec. To avoid this, we have the validator check if one of the qpoints or qpoints_distance ports are still present in the port namespace. If not, the validation is skipped.

Higher-level work chains that wrap the PhBaseWorkChain can then simply exclude these ports when exposing the inputs:

    class WrapPhBaseWorkChain(WorkChain):
        """Example work chain that wraps a ``PhBaseWorkChain`` excluding q-points inputs."""

        @classmethod
        def define(cls, spec):
            super().define(spec)
            spec.expose_inputs(PhBaseWorkChain, exclude=('qpoints', 'qpoints_distance'))

👌 Improvements

  • PhBaseWorkChain: skip q-points validation if ports are excluded [32536e8]

🐛 Bug fixes

  • PhBaseWorkChain: fix set_qpoints step [c353cc2]

📚 Documentation

  • CHANGELOG.md: improve release notes for v4.5.0 [b659625]

v4.5.0

Besides several bug fixes and documentation improvements, this minor release introduces some changes to the PhBaseWorkChain and how it is used. Most importantly, q-points are no longer defined directly on the PhCalculation in the ph namespace, but as a top-level input on the PhBaseWorkChain, either as a KpointsData node (see b9c7517):

ph_base_builder = PhBaseWorkChain.get_builder()

qpoints = orm.KpointsData()
qpoints.set_kpoints_mesh([2, 2, 2])

ph_base_builder.qpoints = qpoints

Or a qpoints_distance, which defines a linear density that can be used in combination with the structure to generate a mesh on the fly:

ph_base_builder = PhBaseWorkChain.get_builder()

ph_base_builder.qpoints_distance = orm.Float(0.3)

The protocols are also updated to use the new qpoints_distance input, with some reasonable default for the various options.

⚠️ Important: While the current defaults are reasonable, they by no means represent a rigorously tested protocol that guarantees a certain level of convergence. Be sure to run your own tests!

The get_builder_from_protocol() method of the PhBaseWorkChain now also recognises the electronic_type input argument. For example, when running an insulator, one can obtain a fully populated builder via:

from aiida_quantumespresso.common.types import ElectronicType

builder = PhBaseWorkChain.get_builder_from_protocol(
    code=ph_code,
    parent_folder=pw_remote_folder,
    electronic_type=ElectronicType.INSULATOR
)

which will set INPUTPH.epsil to True in the ph.x input file.

This release also bumps the default SSSP version in the protocols up to v1.3 (still using the PBEsol functional). In case you have not installed this newer version, you can do so with aiida-pseudo (version >=1.1.0):

aiida-pseudo install sssp -v 1.3 -x PBEsol

‼️ Breaking changes

  • PhBaseWorkChain: allow generation of q-point mesh via qpoints_distance [b9c7517]

✨ New features

  • PwBaseWorkChain: new handler for BFGS history failure [0224f8a]
  • Support calculating the XPS spectra of the atoms specific by indices [fc1a940]

👌 Improvements

  • Improve PhBaseWorkChain overrides/protocol [39287e0]
  • PwBaseWorkChain: Remove disabling of resource validation [d4e6681]
  • Protocols: Bump default SSSP version to 1.3 [49d503d]

🐛 Bug fixes

  • PdosWorkChain: Fix constrained magnetization case [a68e1e1]
  • Fix missing max_iterations in overrides [9061ea5]
  • OpenGridCalculation: Add the output_parameters output to the spec [5f0e095]
  • Q2rCalculation: Add the output_parameters output to the spec [7a303f9]
  • PwBaseWorkChain: Pop starting_magnetization if tot_magnetization is defined [2adf033]
  • PwCalculation: Fix calling input validation of base class [17e173f]

📚 Documentation

  • Remove aiida.manage.configuration.load_documentation_profile [f1d547c]
  • Address warning from pydata-sphinx-theme [74bbaa2]
  • Docs: Fix broken build by updating sphinx-autoapi~=3.0 [80e550e]
  • Docs: Update QE compatibility matrix in README.md [5db3b28]

🔧 Maintenance

  • Address various deprecation warnings from aiida-core [f133b9a]

⬆️ Update dependencies

  • Dependencies: Update pydantic~=2.4 [740e0be]
  • Dependencies: Update xmlschema~=2.0 [bec6dd6]

🧪 Tests

v4.4.0

This minor release mainly includes documentation changes, but also a small breaking change in [a389629]. Work chains that wrap the PwBaseWorkChain for an nscf or bands calculation and add the parent_folder during runtime would have to adapt the validator for the pw name space as follows to avoid warnings:

    spec.inputs['nscf']['pw'].validator = PwCalculation.validate_inputs_base

Now, the validator that checks for the presence of the parent_folder in the inputs is adapted so it checks if the parent_folder port is in the name space. If not, the validation is skipped. So work chains that wrap the PwBaseWorkChain to run an nscf or bands calculation can simply exclude the parent_folder port in the pw name space:

    spec.expose_inputs(
        PwBaseWorkChain,
        namespace='nscf',
        exclude=('clean_workdir', 'pw.structure', 'pw.parent_folder'),
        namespace_options={
            'help': 'Inputs for the `PwBaseWorkChain` of the `nscf` calculation.',
            'validator': validate_nscf
        }
    )

A new calculation function create_magnetic_configuration is added, which can be used to create a new StructureData with the required kinds for a specific magnetic configuration. For example, for an HCP structure with two Co sites:

In [1]: from aiida import orm

In [2]: from ase.build import bulk
   ...: structure = orm.StructureData(ase=bulk('Co', 'hcp', 2.5, 4.06))

The create_magnetic_configuration can be used to quickly create a new StructureData with two different kinds:

In [3]: from aiida_quantumespresso.calculations.functions.create_magnetic_configuration import create_magnetic_configuration
   ...:
   ...: results = create_magnetic_configuration(structure, [-2, 2])

In [4]: results['structure'].sites
Out[4]:
[<Site: kind name 'Co0' @ -2.7755575615629e-17,1.4433756729741,2.03>,
 <Site: kind name 'Co1' @ 0.0,0.0,0.0>]

In [5]: results['magnetic_moments'].get_dict()
Out[5]: {'Co0': 2, 'Co1': -2}

For more information, see the tutorial on how to work with magnetic systems:

https://aiida-quantumespresso.readthedocs.io/en/latest/tutorials/magnetism.html

The release also makes an important change in the dependencies related to a bug introduced in pydantic, see:

pydantic/pydantic#5821

Hence the version of pydantic is adapted to 1.10.8, where this bug is fixed.

‼️ Breaking changes

  • PwCalculation: refactor parent_folder validation [a389629]

✨ New features

  • Add the create_magnetic_configuration function [d9b18a7]

👌 Improvements

  • PpParser: Include exception in ERROR_OUTPUT_DATAFILE_PARSE message [72f114e]

🐛 Bug Fixes

  • PwParser: Fix case when settings are not provided [5d4a7d9]

📚 Documentation

  • Small improvements to "Installation" page [90ad1d6]
  • Switch to sphinx-book-theme from pydata_sphinx_theme [3578a9d]
  • Switch to using MyST Markdown [37d2a14]
  • Add how-to for PwCalculationTools.get_scf_accuracy [29b4db9]
  • Bump Python version for RTD build [483d99b]
  • Fix breaking changes CHANGELOG.md [7f4c4a1]

🔧 Maintenance

  • Catch warning in restart_mode test for PwBaseWorkChain [45e1907]
  • Update tox configuration [0702152]
  • Add script to update CHANGELOG.md [b21076c]
  • Remove Python 3.8 from the nightly workflow matrix [0859d0a]

⬆️ Update dependencies

  • Restrict pydantic to at least 1.10.8 [f430139]

♻️ Refactor

  • BasePwCpInputGenerator: Remove superfluous validation [0b6476c]
  • Move basic parsing into BaseParser class [1c223c7]

v4.3.0

Release version 4.3.0 comes with a lot of new features, improvements and bug fixes. Although this is technically a minor release, this new version does come with some minor breaking changes:

  • The default value of clean_workdir was changed from True to False.
  • The automatic_parallelization feature of the PwBaseWorkChain was removed, as this was badly broken with no clear path to fixing it. Moreover, v7.1 of Quantum ESPRESSO has implemented some basic automated parallelization for pw.x when no parallelization flags are specified.
  • Work chains no longer set/override static inputs inside the steps of their outline. All defaults are moved to the protocol files instead, and it is recommended to always use the get_builder_from_protocol() method to run a work chain. For more details, see the corresponding PR.

Support for Quantum ESPRESSO v7.2 pw.x parsing was added, as well as the HubbardStructureData data plugin and corresponding implementation in the PwCalculation plugin to support the new input syntax for using Hubbard corrections in the pw.x code.

For ph.x, the symmetry labels printed in the stdout after the mode frequencies are now parsed for each q-point. In the case of restarts in the PhBaseWorkChain, care has been taken to properly parse these symmetry labels from the separate output files and merge them, so the output_parameters are the same with or without restarts.

The XpsWorkChain has been added to compute the XPS spectra using core-hole pseudo potentials and the pw.x code. The work chain can handle both molecules and crystals. The chemical shifts, as well as the cole-level binding energy can be obtained.

Finally, improved error handling for the PwBaseWorkChain was implemented for several typical failure modes of the pw.x code, and the CRASH file is now also retrieved, as this will be the default location of error messages from Quantum ESPRESSO v7.2 onwards.

‼️ Breaking changes

  • Protocols: Set clean_workdir default to False [f8e512f]
  • PwBaseWorkChain: Remove automatic_parallelization input [5cae75f]
  • Protocols: Move all static work chain inputs to protocol [01f1470]

✨ New features

  • PwBaseWorkChain: Add ERROR_IONIC_INTERRUPTED_PARTIAL_TRAJECTORY handler [9291f84]
  • PwCalculation: Add exit code and handler for scale_h error [d350d7e]
  • PwParser: Add retrieval and parsing of CRASH file [7f53c96]
  • Add the HubbardStructureData data plugin [355020c]
  • PwParser: Add support for QE v7.2 [57f5f8f]
  • PhParser: parse symmetry labels from the stdout of ph.x [8a9950a]
  • Add Feature: XpsWorkChain [a9d124e]
  • Add Feature: XspectraCrystalWorkChain [01e7593]
  • Add OpenGridCalculation [361ff04]
  • Feature/get xspectra structures [bc63d56]

👌 Improvements

  • PwBaseWorkChain: improve diagonalization handler [cc29488]
  • PwCalculation: Add ERROR_IONIC_INTERRUPTED_PARTIAL_TRAJECTORY code [92a6c6f]
  • PwParser: Keep scheduler parser error unless more specific available [b8d6a3a]
  • Protocols: consider pbc of StructureData [ef21642]
  • CLI: Simplify cli.utils.validate_hubbard_parameters and add tests [74d25d1]
  • PwCalculation: Add exit codes, mostly related to diagonalization [159b83e]
  • PwParser: Include path in exception when XML schema not found [56fdb57]

🐛 Bug Fixes

  • PwCalculation: Fix restart validation for nscf/bands [29a0dfa]
  • PwParser: Correct the disk_io type for all XML schemas [89d39a4]
  • PwParser: Fix trajectory verification for fixed_coords [105670f]
  • XspectraCoreWorkChain: Ensure overrides respected in get_builder_from_protocol() [7b2d701]
  • PhCalculation: Fix exception when parent_folder is on different computer [24b3779]

📚 Documentation

  • Fix the intersphinx URL of the AiiDA documentation [08532d8]
  • README.md: Fix Build Status badge to point to ci action [1e9c345]
  • Add developer section to README [146bc57]

🔧 Maintenance

  • DevOps: Symlink CRASH and data-file.xml files, and reduce fixture file contents [0a48533]

⬆️ Update dependencies

  • Symlink CRASH and data-file.xml files, and reduce fixture file contents [0a48533]
  • Devops: Update pylint version [9f4142d]

♻️ Refactor

v4.2.0

Features

  • Add the XspectraBaseWorkChain [#854]
  • Add the XspectraCoreWorkChain [#872]

Changes

  • Protocols: Use v1.2 of SSSP and PBEsol by default for pw.x protocols [#884]

Fixes

  • PwBandsWorkChain: Fix nbnd for spin-polarised calculations [#875]

Dependencies

  • Update requirement aiida-pseudo~=1.0 [#882]
  • Update pre-commit requirement isort==5.12.0 [#883]

Devops

  • Fix nightly build tests [#870]

Documentation

  • Add various settings parameters for PwCalculation [#869]

v4.1.0

New

  • Add the options argument to all get_builder_from_protocol [#846]
  • XspectraParser: Parse parameters from CalcJob inputs [#853]

Fixes

  • XspectraCalculation/XspectraParser: various improvements and fixes [#837]
  • CLI: update to be compatible with aiida-core==2.1 [#855]
  • Fix bug in wrap_bare_dict_inputs [#860]
  • PwBaseWorkChain: Fix kpoints override in get_builder_from_protocol [#862]
  • BasePwCpInputGenerator: do not require pseudos in validate_inputs [#866]
  • PwBaseWorkChain: Set restart_mode in parameters if parent_folder [#867]

Deprecation

  • Remove obsolete and broken TCOD related code [#850]

Devops

  • DevOps: Add a job with integration tests to the CI workflow

Dependencies

  • Dependencies: Add support for Python 3.11 [#857]

v4.0.1

Fixes

  • PwCalculation/PhCalculation: Add validation for pseudos port [#839]
  • Q2rParser: Set filename for force_constants [#827]
  • Docs: Update the Get Started example for PhCalculation [#829]
  • DevOps: Add AIIDA_WARN_V3 environment variable to CI and address all deprecation warnings [#836]

Dependencies

  • Add lower requirement aiida-core>=2.0.4, fixes error in NamelistCalculation restarting from FolderData [#841]

v4.0.0

This major release mainly provides support for aiida-core v2.0, as well as the xspectra.x code of Quantum ESPRESSO. Version 7.1 of Quantum ESPRESSO is also now supported. Note that in line with our new compatibility policy, from this major version onwards we will no longer be supporting Quantum ESPRESSO versions below v6.6.

New

  • PhBaseWorkChain: Add a first draft for the protocols [#810]
  • Add the XspectraCalculation and XspectraParser plugins [#815]

Improvements

  • PwCalculation: allow regex patterns in detect_important_message [#771]
  • Parsers: add exception title to ERROR_UNEXPECTED_PARSER_EXCEPTION [#793]
  • CalcJob: simplify parent_folder handling [#805]
  • MatDynCalculation: use validator to check flfrc input [#814]
  • CpParser: add stresses and fix for QE v7.0 [#786]
  • PwParser: Add support for QE v7.1 [#822]

Bug Fixes

  • PhCalculation: Fix bug when only_initialization=True [#813]

Devops

  • Devops: fix the nightly build [#784]
  • DevOps: Move the source directory into src/ [#812]
  • DevOps: update nightly to show as failed on error [#817]
  • DevOps: only run Slack notification if tests failed [#819]
  • DevOps: address deprecation warnings [#820]

Dependencies

  • Dependencies: put upper limit markupsafe<2.1 [#790]
  • Dependencies: Update Python requirements [#803]
  • Dependencies: Update requirement for aiida-core~=2.0 [#804]
  • Refactor: Additional compatibility for aiida-core v2.0 [#806]
  • Remove the use of deprecated distutils package [#808]

v3.5.2

New

  • PwParser: Add support for QE v7.0 [#774]

Bug Fixes

  • Fix XML parsing for structures with numbered kinds [#770]

Documentation

  • Update pw_tutorial.rst [#769]

Devops

  • Add GitHub Actions workflow for continuous deployment [#776]
  • Adopt PEP 621 and move build spec to pyproject.toml [#779]
  • CI: update the GHA ci.yml workflow [#780]
  • Update pre-commit dependencies and configuration [#781]
  • CI: add the isort pre-commit hook [#781]

v3.5.1

Improvements

  • PhBaseWorkChain: add handler for diagonalization errors [#757]
  • PhBaseWorkChain: add handler for ERROR_SCHEDULER_OUT_OF_WALLTIME [#754]

Documentation

  • Fix "suggest edit" link [#768]

Packaging

  • Add calculations/helpers/*.xml to MANIFEST.in [#760]

v3.5.0

In this minor version release we provide support for Quantum ESPRESSO v6.8 and add several improvements and bug fixes mostly related to input overrides and restarting calculations. Another important addition is the introduction of a compatibility policy for Quantum ESPRESSO, which will go into effect starting v4.0.0.

New

  • PwParser: add support for QE v6.8 with new XML schema file [#717]
  • PwBaseWorkChain: handle diagonalization issues [#744]

Improvements

  • PwBaseWorkChain: add handler for intentional non-convergence [#695]
  • PwBaseWorkChain: make magnetism from overrides absolute [#731]
  • PwBaseWorkChain: Improve restart and validate inputs [#722]
  • PwRelaxWorkChain: do not override SYSTEM/nbnd in final scf if set. [#708]
  • PwCalculation: adjust parent_folder validation [#741]
  • PwBaseWorkChain: make overrides absolute [#741]
  • projwfc.x: parse from XML instead of parent calc [#747]

Bug Fixes

  • PhCalculation: use verbosity instead of iverbosity [#633]
  • Protocols: Add settings from overrides [#725]
  • PhBaseWorkChain: spec exposed outputs of incorrect process class [#732]

Dependencies

  • Temporarily set upper limit for psycopg2 [#707]

Documentation

  • Docs: add compatibility policy for Quantum ESPRESSO [#737]
  • README.md: cleanup the syntax of compatibility matrix [#738]
  • README.md: add shields for Quantum ESPRESSO compatibility [#739]

v3.4.2

This patch release fixes several bugs in the protocols feature, adds support for the CutoffsPseudoPotentialFamily introduced in aiida-pseudo==0.6.1 and adapts the ProtocolMixin class so it can also be used by other packages. The legacy PwBandStructureWorkChain is now also fully deprecated and will be removed in the next major release. It has been replaced by the PwBandsWorkChain, which is now equipped with its own protocol through the get_builder_from_protocol() method.

Improvements

  • ProtocolMixin: increase flexibility and usability for other packages [#678]
  • Protocols: Add support for CutoffsPseudoPotentialFamily [#684]

Bug Fixes

  • Protocols: Add usage of metadata and parallelisation overrides [#652]
  • PwBaseWorkChain: fix bug in validate_resources validator [#683]

Deprecation

  • PwBandStructureWorkChain: Deprecate and fix [#688]

v3.4.1

Dependencies

  • Dependencies: update to aiida-pseudo==0.6.0 [#671]

Documentation

  • Docs: fix gamma_only value in settings_dict [#672]

Devops

  • CI: use postgres-12 for Github Actions since ubuntu-latest was updated to Ubuntu Focal 20.04 [#674]

v3.4.0

Features

Add the PdosWorkChain (#418) Add support for pw.x and cp.x v6.7 (#626) PwCalculation: Add parsing of up/dw Fermi energy (#622)

Changes

Add support for Python 3.9 (#666) PwRelaxWorkChain: remove compatibility for volume optimization (only affects the input generation protocols added in beta phase in v3.3.0) (#660) RelaxType: Rename ATOMS to POSITIONS(only affects the input generation protocols added in beta phase in v3.3.0) (#658)

v3.3.1

Bug fixes

  • Protocols: fix unintended mutation of overrides dictionary passed as argument [#650]
  • Protocols: fix ionic convergence thresholds for fast protocol [#642]

Dependencies

  • Update requirement to aiida-pseudo~=0.5.0 [#646]

Devops

  • Fix nightly build vs aiida-core develop branch by dropping Python 3.6 and install aiida-core before aiida-quantumespresso [#646]
  • Fix documentation and add tox configuration [#643]

v3.3.0

The input generation protocols are a new feature that are now in a beta stage. The API might still change in future releases, and it has not been fully tested.

Features

  • BETA Add input generation protocols for the pw.x work chains [#608], [#616], [#631], [#632], [#634], [#635], [#638]
  • CpCalculation: add support for AUTOPILOT mode [#455]
  • PwCalculation: add explicit parallelization input port [#554]
  • ProjwfcParser: support kind names with numerals, dashes and underscores [#591]

Improvements

  • PwRelaxWorkChain: expose PwBaseWorkChain separately for final SCF [#569]
  • Replace old format string interpolation with f-strings [#579]
  • Parsers: remove explicit check for the retrieved folder's existence [#580]
  • BasePwCpInputGenerator: remove duplicate setting cmdline arguments [#585]
  • PpParser: reduce memory usage by deleting raw data once parsed [#587]
  • ForceConstantsData: add filename and **kwargs to constructor [#599]
  • PwBaseWorkChain: restart from scratch when convergence not reached [#604]
  • PwParser: ignore stress threshold if CELL.cell_dofree != 'all' [#613]
  • PwBaseWorkChain: add report on disabling bands sanity check [#629]

Deprecated

  • PwBaseWorkChain: deprecate the pseudo_family input [#603]
  • PwRelaxWorkChain: replace relaxation_scheme with relax_type [#614]
  • PwRelaxWorkChain: deprecate the final_scf input [#569]

Removed

  • Remove parser information from output_parameters [#597]

Bug Fixes

  • Fix minor bug in utils.protocols._get_all_protocol_modifiers [#592]
  • PwCalculation: fix bug when hubbard_file is specified [#596]
  • ProjwfcParser: fix bug in case of for more than 1000 orbitals [#624]

Dependencies

  • Drop support for Python 3.5 [#578]
  • Add support for aiida-pseudo [#581], [#630]
  • Update the aiida-pseudo requirements [#609]

Devops

  • Add the Framework :: AiiDA trove classifier to the package [#584]
  • CLI: add tests for the process launch commands [#589]
  • Pre-commit: re-enable formatting after define methods [#619]

v3.2.1:

Improvements

  • PpParser: reduce memory usage by deleting raw data once parsed [#587]
  • ProjwfcParser: support kind names with numerals, dashes and underscores [#591]

v3.2.0:

Features

  • Pw/CpCalculation: allow explicitly specifying ibrav [#503])
  • PwParser: add support for output format of pw.x v6.6 [#552]
  • ProjwfcParser: add support for non-collinear and spinorbit calculations [#546]
  • NamelistCalculation: allow symlinking parent_folder instead of copying [#555]

Bug fixes

  • PwParser: fix bug in raw parsing of van der Waals and stress [#550]
  • PwBaseWorkChain: do no assume output_band exists in band sanity check [#544]
  • PwBandsWorkChain: properly mark optional outputs as not required [#571]
  • PwBandsWorkChain: incorrect number of bands for non-collinear spin [#570]
  • PwBandStructureWorkChain: add context argument to validator [#560]
  • Fix the incorrect usage of repository interface of aiida-core [#549])

Dependencies

  • Update to qe-tools 2.0.0rc1. [#529]
  • Increase minimum required aiida-core version to 1.3 [#573])

Devops

  • CI: add nightly build against aiida-core/develop [#568]
  • Pre-commit: move pytest and pylint config to pyproject.toml [#562]

v3.1.0:

Changes

  • Drop Python 2 support [#515]
  • Move calcfunctions to aiida_quantumespresso.calculations.functions [#520]
  • Replace builtin BaseRestartWorkChain with the one from aiida-core [#519]

Features

  • PpCalculation: reinstate the settings input node [#537]
  • PpCalculation: add support for retrieving and parsing multiple files [#533]

Bug fixes

  • PpParser: improve the Gaussian cube file parsing algorithm. [#535]
  • PpParser: fix whitespace bug in the parse_gnuplot2D method [#534]
  • Fix import or URLError which has been removed in xmlschema [#524]

v3.0.0:

This is the first version to support aiida-core~=1.0 and since the API of aiida-core changed significantly, the code of aiida-quantumespresso did as well. This means that aiida-quantumespresso v2.0 and v3.0 are fundamentally incompatible, which is why we do not include an explicit change log list.

v2.1.0:

Minor release adding a new feature, fixing a critical bug in PwParser and reducing the size of the package

Nota Bene: due to a critical bug discoverd in the PwParser (see below) the parser version has been updated to v2.1.0. Calculations parsed with an older version potentially contain incorrect reduced symmetries in the output_parameters node. Instructions to check the version of the parser that was used, can be found in the documentation

Improvements

  • Added support for the ATOMIC_FORCES card in the PwCalculation plugin [#168]
  • Tests and fixture data have been removed from the main package, massively reducing distribution size [#154]

Critical bug fixes

  • The mapping of the raw symmetry operations onto a reduced set in the PwParser contained a bug and mapped incorrect rotations [#171]

Minor bug fixes

  • Fix a bug in ProjwfcParser where due to improper sorting, projections were associated with the wrong output files [#165]
  • Adapt the keyword type to node_type in the Node.get_outputs method [#143]
  • Fix a missing parameter in the string formatter of one of the error handlers of PwBaseWorkChain [#158]

v2.0.1:

Patch release with some small bug fixes

Update to newer versions of Quantum ESPRESSO

  • Add the input helper XML files for v6.0, v6.1 and v6.2 [#135]

Bug fixes

  • Parse the standard output in the PwParser even if XML file is missing in order to still get errors in output parameters [#133]
  • Bugfix for the _error_handlers list attribute from BaseRestartWorkChain that is now appended to the correct list[#127]
  • Number of minor bugfixes to the PwParser to adapt to the updated AiiDA API [#123] [#138]
  • Fix a bug causing cmdline args to be ignored in namelists.py [#122]

v2.0.0:

Major release with a lot of new functionality, mostly centered around the workflows

Improvements

  • Implemented the BaseRestartWorkChain which defines much of the required scaffolding for any base workchain that launches a calculation [#75]
  • Add the Q2rBaseWorkChain and MatdynBaseWorkChain [#93]
  • Use the update wrappers for SeeKpath in aiida-core in the PwBandsWorkChain [#104]
  • Removed the use of deepcopy in all workchains, which can lead to bugs or unwanted duplication of nodes [#118]

Backwards incompatible changes

  • Command line interface has been migrated to use click and are located in aiida.cli [#81]
  • PhBaseWorkChain: input parent_calc was renamed to parent_folder [#87]

Calculations

  • PwCalculation: bands are now parsed by default making use of the new retrieve_temporary_file_list concept in aiida-core [#36]
  • PwCalculation: new option for settings to parse the atomic occupations [#55]
  • PwCalculation: add parsing of the electronic and ionic dipole if lelfield is used [#105]

Parsers

  • Pw2wannier90Parser: added the parser for the Pw2wannier90Calculation class [#38]

Workflows

  • PwBaseWorkChain: added output_band as optional output node [#29]
  • PwBaseWorkChain: added output_array as optional output node [#97]
  • PwBaseWorkChain: implemented automatic parallelization [#39]
  • PhBaseWorkChain: new optional input only_initialization to run an initialization calculation [#101]
  • PwRelaxWorkChain: new optional input kpoints_force_parity for generation of kpoint mesh [#61]
  • PwRelaxWorkChain: new optional input max_meta_convergence_iterations to limit the number of volume convergence steps [#66]
  • PwBandsWorkChain: make relaxing of structure optional [#46]

Bug fixes

  • PwRelaxWorkChain: fixed bug when both clean_workdir and final_scf were enabled [#59]
  • PwRelaxWorkChain: properly unwrap the value of the relaxation_scheme input in the parameter input node of PwCalculation [#119]
  • PwBaseWorkChain: correctly set do_break for the ErrorHandlerReport of certain error handlers [#113]

v1.0.1:

Minor patch release with some small bug fixes

Minor bug fixes

  • Fix entry point for the ForceconstantsData class [#22]
  • Fix entry point for the PwimmigrantCalculation class [#24]

v1.0.0:

First official release of aiida-quantumespresso, the official plugin for Quantum ESPRESSO to the AiiDA platform. The following calculations, data classes, parsers and workflows are provided:

Calculations

  • CpCalculation: calculation plugin for cp.x
  • DosCalculation: calculation plugin for dos.x
  • MatdynCalculation: calculation plugin for matdyn.x
  • NebCalculation: calculation plugin for neb.x
  • PhCalculation: calculation plugin for ph.x
  • PpCalculation: calculation plugin for pp.x
  • ProjwcCalculation: calculation plugin for projwfc.x
  • PwCalculation: calculation plugin for pw.x
  • PwimmigrantCalculation: to import an already completed pw.x into AiiDA
  • Q2rCalculation: calculation plugin for q2r.x

Data

  • ForceconstantsData: data class for force constants produced by q2r.x

Parsers

  • CpParser: parser for the cp.x calculation
  • DosParser: parser for the dos.x calculation
  • MatdynParser: parser for the matdyn.x calculation
  • NebParser: parser for the neb.x calculation
  • PhParser: parser for the ph.x calculation
  • ProjwfcParser: parser for the projwfc.x calculation
  • PwParser: parser for the pw.x calculation
  • Q2rParser: parser for the q2r.x calculation

Workflows

  • PhBaseWorkChain: workflow to run a PhCalculation to completion
  • PwBaseWorkChain: workflow to run a PhCalculation to completion
  • PwRelaxWorkChain: workflow to run a PhCalculation to completion
  • PwBandsWorkChain: workflow to run a PhCalculation to completion
  • PwBandStructureWorkChain: workflow to run a PhCalculation to completion