Skip to content

Releases: Quantum-Accelerators/quacc

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

v0.4.5: Out With the Old; In With the New

14 Dec 05:25
c7dd41a
Compare
Choose a tag to compare

[0.4.5]

Added

  • Added ML interatomic potential recipes

Changed

  • ASE optimization log files and pickle files are written to disk by default
  • Deprecated the old Q-Chem recipes and replaced them with the updated versions

Removed

  • Officially drop support of the Prefect workflow engine

v0.4.4: The ESPRESSO release ☕

11 Dec 03:11
2d6a121
Compare
Choose a tag to compare

Summary

This release introduces core recipes for Quantum ESPRESSO, developed by @tomdemeyere!

Added

  • Added core Quantum ESPRESSO recipes and custom calculator. (@tomdemeyere)
  • Added a new function, quacc.utils.files.copy_decompress_files_from_dir

Changed

  • The copy_files kwarg in most recipes can now include a directory
  • Renamed quacc.utils.files.copy_decompress to quacc.utils.files.copy_decompress_files

Fixed

  • Quacc settings that are paths now have ~/ expanded in most cases

What's Changed

  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1331
  • Move custodian tests by @Andrew-S-Rosen in #1332
  • Add espresso recipes and custom calculator by @tomdemeyere in #1238
  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1333

New Contributors

Full Changelog: v0.4.3...v0.4.4

v0.4.3: The Dask release

10 Dec 07:57
Compare
Choose a tag to compare

[0.4.3]

Added

  • Added preliminary support for the Dask workflow engine via Dask Delayed and Dask Distributed.

Changed

  • Renamed CREATE_UNIQUE_WORKDIR to CREATE_UNIQUE_DIR to better reflect its utility.
  • The default for the SCRATCH_DIR setting is now None instead of ~/.quacc_scratch. In other words, the default is to not use a scratch directory. This should help with onboarding, and the ability to set it as None may be broadly of interest. Setting the SCRATCH_DIR to a given Path will still work as expected.
  • Files are no longer recursively copied from SCRATCH_DIR to RESULTS_DIR. Instead, they are recursively moved. This should speed up I/O operations.

Fixed

  • Fixed a missing phonopy_kwargs keyword argument in quacc.recipes.common.phonons

What's Changed

  • Bump prefect from 2.14.6 to 2.14.9 by @dependabot in #1302
  • Bump emmet-core from 0.74.3 to 0.74.5 by @dependabot in #1300
  • Bump phonopy from 2.20.0 to 2.21.0 by @dependabot in #1301
  • Bump parsl[monitoring] from 2023.11.20 to 2023.11.27 by @dependabot in #1304
  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1314
  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1316
  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1315
  • mv * files from SCRATCH_DIR to RESULTS_DIR instead of cp -r, and make SCRATCH_DIR optional by @Andrew-S-Rosen in #1313
  • refactor: remove unnecessary f-string by @deepsource-autofix in #1318
  • style: format code with Black, isort and Prettier by @deepsource-autofix in #1317
  • Clearer description of path handling by @Andrew-S-Rosen in #1319
  • Add support for the Dask workflow engine by @Andrew-S-Rosen in #1323
  • Simplify Dask tutorial by @Andrew-S-Rosen in #1325
  • Update CHANGELOG.md by @Andrew-S-Rosen in #1329
  • Fix sporadic codecov upload issues by @Andrew-S-Rosen in #1328

Full Changelog: 0.4.2...v0.4.3