Skip to content

Releases: Quantum-Accelerators/quacc

v0.6.5

10 Feb 21:16
ae5436a
Compare
Choose a tag to compare

[0.6.5]

Added

  • PDOS jobs and flows for Espresso

Changed

  • Modified the Espresso results schema to be DB-compatible
  • The PRIMARY_STORE setting has changed to STORE and is now formatted more intuitively
  • Uses 2024 stable release of black

Fixed

  • Fixed usage of MontyStore as the data store option

Removed

  • Removed the deprecated "q-chem legacy" recipes

v0.6.4

02 Feb 21:49
fe1ed95
Compare
Choose a tag to compare

Added

  • Added a supercell_matrix keyword argument to the phonon recipes.
  • More data is now generated, parsed, and stored in phonon workflows, including total DOS and the automatically generated band structure

Changed

  • The seekpath dependency is now required for phonon workflows, as reflected in the quacc[phonons] optional dependencies
  • Changed the min_length: float | None keyword argument in phonon flows to min_lengths: float | tuple[float, float, float] | None for greater flexibility. The default value is now set to 20.0 instead of 15.0 as well.

Fixed

  • Fixed occasional edge cases where the charge/spin multiplicity checker would raise a ValueError in generating the RunSchema
  • Fixed phonon flow with MACE-MP-0 when dispersion=True

v0.6.3

30 Jan 19:21
83ee545
Compare
Choose a tag to compare

[0.6.3]

Added

  • Added phonon job for MLPs
  • Added an ASE relax job recipe for ONETEP
  • Added a non-SCF job for Quantum Espresso
  • Added a DOS job for Quantum Espresso
  • Added a DOS flow for Quantum Espresso

Changed

  • Redesigned the common_phonon_flow to accept new keyword arguments that enable symmetry reduction. A pre-relaxation step is now also carried out by default.

Fixed

  • Ensures the "restart" keyword argument is not set when a SciPy optimizer is used
  • Fixed the ONETEP_CMD setting to be str instead of Path when used to instantiate the calculator
  • Quantum Espresso restarts are now disabled between steps in ASE relaxations
  • Various bug fixes for the Espresso grid_phonon_flow
  • Fixed redundant Structure info in the RunSchema

v0.6.2

22 Jan 05:43
6c87d0e
Compare
Choose a tag to compare

Changed

  • The CREATE_UNIQUE_DIR setting is now set to True by default.
  • The temporary directory name and its symlink have been slightly updated to have "tmp-" and "symlink-" at the front of the name instead of the end for easier file navigation.

Fixed

  • Fixed an occasional race condition that occurs when running concurrent calculations in multi-threaded mode
  • The temporary directory made when a @job runs now has a name consistent with the folder where the results will ultimately be stored.

v0.6.1

16 Jan 17:43
9f27992
Compare
Choose a tag to compare

[0.6.1]

Added

  • Support for ONETEP recipes (@Nekkrad)
  • New Espresso recipe for ASE external relaxations (@tomdemeyere)

Fixed

  • Fixed bug where automatic k-point schemes in VASP would return kpts as list[float] instead of list[int]
  • VASP runs now respect the CHECK_CONVERGENCE global setting when set to False
  • Fixed bug where the gamma-point only version of VASP was being called if kpts was None but kspacing was not None

Removed

  • Removed the broken TRICs support with Sella
  • Removed the covalent_to_db function

v0.6.0: 🤖

12 Jan 02:59
e26f7c3
Compare
Choose a tag to compare

[0.6.0]

Added

  • A new grid_phonon recipe in Espresso (@tomdemeyere)
  • Preliminary support for the Prefect workflow engine, again, but this time without it breaking everything

Changed

  • Raised the default logger level from WARNING to INFO

Fixed

  • Codes calling Custodian can be used in Jupyter Notebooks
  • Fixed an error in the Espresso phonon_flow when using the master branch of ASE
  • Fixed a few erroneous type hints
  • Fixed the typer depenendecy in pyproject.toml to be typer[all] like it was supposed to be
  • Fixed a bug when passing decorator keyword arguments when using Dask

v0.5.2

06 Jan 08:11
3a6b096
Compare
Choose a tag to compare

[0.5.2]

Changed

  • ORCA and GULP recipes now use a more intuitive and concise list[str] input argument format instead of a dict format when overriding defaults

Fixed

  • Fixed concurrency issues with Dask subflows (credit: @zulissimeta)

v0.5.1

05 Jan 04:44
74730e5
Compare
Choose a tag to compare

[0.5.1]

Added

  • Adds a new ase_relax_job for ORCA
  • Adds a new relax_job and post_processing_job for Quantum Espresso
  • quacc.wflow_tools.customizers.strip_decorator and quacc.wflow_tools.customizers.redecorate are imported in the base __init__.py for easy user access
  • The CLI now has color

Changed

  • The test suite's SCRATCH_DIR and RESULTS_DIR are now fixed to a given location
  • The default Espresso preset has been changed to "sssp_1.3.0_pbe_efficiency"
  • To remove calculator defaults entirely, quacc.Remove is recommended in place of None
  • The quacc.wflow_tools.customizers.strip_decorator function is recommended instead of calling .__wrapped__

Fixed

  • Fixed Dask subflows that were calling .compute()
  • Fixed various bugs in the Espresso calculator and recipes

v0.5.0: The 🎅🏻 Release

29 Dec 21:29
af7f3b5
Compare
Choose a tag to compare

Summary

This release provides a more convenient and flexible mechanism to modify the parameters and/or execution details of individual jobs in a pre-made quacc workflow.

For instance, to run only the "relax_job" step on the local machine:

from ase.build import bulk
from quacc import job
from quacc.recipes.emt.slabs import bulk_to_slabs_flow

# Define the Atoms object
atoms = bulk("Cu")

# Customize the "relax_job" step
job_decorators = {"relax_job": job(executor="local")}

# Run the workflow
result = bulk_to_slabs_flow(atoms, job_decorators=job_decorators)

Similarly, individual job parameters can also be modified no matter how deep within the pre-made workflow they are:

from quacc import job

job_params = {"relax_job": {"asap_cutoff": True}}

result = bulk_to_slabs_flow(atoms, job_params=job_params)

Added

  • Created a quacc.wflow_tools.customizers module to aid in customizing pre-made recipes.

Changed

  • Overhauled how sub-jobs in recipes can be dynamically modified by the user to increase flexibility.
  • Added a default (basic) preset for Espresso recipes.
  • Moved the quacc.recipes.espresso.core.phonon job to quacc.recipes.espresso.phonons.phonon_job
  • Changed default fmax for quacc.recipes.mlp.core.relax_job to 0.05.
  • Renamed the quacc.utils.dicts.merge_several_dicts function to .recursive_dict_merge to better reflect its functionality.
  • Renamed the quacc.utils.dicts.merge_dicts function to ._recursive_dict_pair_merge to indicate that most users will not need it.

Fixed

  • Fixed the passing of **kwargs to @subflow decorators
  • Increased support of ~/ throughout quacc file handling mechanisms
  • Fixed an infinite recursion error when copy_decompress_files_from_dir was run in the current working directory.

v0.4.6: More Flexibility = More Power

18 Dec 06:35
c7d6aa7
Compare
Choose a tag to compare

0.4.6

This update introduces breaking (but beneficial) changes to the way complex workflows are designed (mostly those based on the @subflow pattern). Now, it is possible to modify the executor of any constituent Job in a workflow. Refer to the updated documentation.

Added

  • The WORKFLOW_ENGINE quacc setting now accepts None.
  • A DEBUG quacc setting as been added.

Changed

  • The way to run complex, dynamic flows has been modified to rely on functools.partial() instead of kwargs. See the updated documentation.
  • Refactored test suite