Releases: Quantum-Accelerators/quacc
v0.5.2
[0.5.2]
Changed
- ORCA and GULP recipes now use a more intuitive and concise
list[str]
input argument format instead of adict
format when overriding defaults
Fixed
- Fixed concurrency issues with Dask subflows (credit: @zulissimeta)
v0.5.1
[0.5.1]
Added
- Adds a new
ase_relax_job
for ORCA - Adds a new
relax_job
andpost_processing_job
for Quantum Espresso quacc.wflow_tools.customizers.strip_decorator
andquacc.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 ofNone
- 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
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
toquacc.recipes.espresso.phonons.phonon_job
- Changed default
fmax
forquacc.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
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 acceptsNone
. - 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
[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 ☕
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
toquacc.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
- @tomdemeyere made their first contribution in #1238
Full Changelog: v0.4.3...v0.4.4
v0.4.3: The Dask release
[0.4.3]
Added
- Added preliminary support for the
Dask
workflow engine via Dask Delayed and Dask Distributed.
Changed
- Renamed
CREATE_UNIQUE_WORKDIR
toCREATE_UNIQUE_DIR
to better reflect its utility. - The default for the
SCRATCH_DIR
setting is nowNone
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 asNone
may be broadly of interest. Setting theSCRATCH_DIR
to a givenPath
will still work as expected. - Files are no longer recursively copied from
SCRATCH_DIR
toRESULTS_DIR
. Instead, they are recursively moved. This should speed up I/O operations.
Fixed
- Fixed a missing
phonopy_kwargs
keyword argument inquacc.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 fromSCRATCH_DIR
toRESULTS_DIR
instead ofcp -r
, and makeSCRATCH_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
v0.4.2
[0.4.2]
Added
- Added a Jenkins-based test suite that runs tests on HPC resources without mocking for Gaussian, GULP, ORCA, and VASP (minimal)
- Added a TBLite phonon recipe
Changed
- Changed the
auto_kpts
kwarg in theVasp
calculator topmg_kpts
- Internal refactoring of recipes to have a separate
_base.py
module when appropriate - Removed the unnecessary
Atoms
arg from thecalc_setup
function
Fixed
- Fixed slow initial import (3 s --> 1 s)
- Fixed a few broken type hints
- Fixed functional and basis set strings in Gaussian recipes
- Uses number of physical cores instead of logical cores as default for molecular DFT recipes
New Contributors
Full Changelog: v0.4.1...0.4.2
v0.4.1
[0.4.1]
Changed
- Switched to using the PyPi release of NewtonNet (1.1).
- NewtonNet recipes don't run a Hessian calculation by default unless needed
Fixed
- Fixed circular import issue when running Q-Chem calculations.
Removed
- Removed unsupported
qchem_internal_relax_job
v0.4.0
[0.4.0]
Added
- Added
quacc.recipes.common
, includingquacc.recipes.common.slabs
,quacc.recipes.common.defects
, andquacc.recipes.common.phonons
- Added phonopy schema in
quacc.schemas.phonopy
- Added EMT phonon workflow
Changed
- The method for specifying swaps to the default calculator arguments in recipes has been overhauled. In place of the previous
calc_swaps: dict
approach, additional parameters can be specified via the**kwargs
. In practice, this means in recipes you can doscf = "diis", max_steps=100
instead ofcalc_swaps={"scf":"diis", "max_steps":100}
, for instance. - Moved
quacc.runners.calc
toquacc.runners.ase
- Moved
quacc.runners.prep
toquacc.schemas.prep
- Reduced code duplication across complex flows
What's Changed
- Rename
runners.calc
torunners.ase
by @Andrew-S-Rosen in #1149 - Simplify subflows by @Andrew-S-Rosen in #1152
- Add more type-hints by @Andrew-S-Rosen in #1156
- Calc swaps by @Andrew-S-Rosen in #1157
- Add phonon workflow by @Andrew-S-Rosen in #1155
- Check if Orca size is more then 1 mb by @rishav-karanjit in #1163
- style: format code with Black, isort and Prettier by @deepsource-autofix in #1164
- Bump maggma from 0.57.4 to 0.57.5 by @dependabot in #1166
- Bump emmet-core from 0.71.2 to 0.72.8 by @dependabot in #1167
- Bump prefect from 2.14.2 to 2.14.3 by @dependabot in #1169
- Bump monty from 2023.9.25 to 2023.11.3 by @dependabot in #1168
- Refactor VASP slab workflow by @Andrew-S-Rosen in #1172
- Refactor phonon workflow by @Andrew-S-Rosen in #1173
- Refactor slab calculations by @Andrew-S-Rosen in #1176
- Refactor by @Andrew-S-Rosen in #1177
- Fix type hints by @Andrew-S-Rosen in #1179
New Contributors
- @rishav-karanjit made their first contribution in #1163
Full Changelog: v0.3.13...v0.4.0