Releases: Quantum-Accelerators/quacc
v0.6.1
[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
aslist[float]
instead oflist[int]
- VASP runs now respect the
CHECK_CONVERGENCE
global setting when set toFalse
- Fixed bug where the gamma-point only version of VASP was being called if
kpts
wasNone
butkspacing
was notNone
Removed
- Removed the broken TRICs support with Sella
- Removed the
covalent_to_db
function
v0.6.0: 🤖
[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
toINFO
Fixed
- Codes calling Custodian can be used in Jupyter Notebooks
- Fixed an error in the Espresso
phonon_flow
when using themaster
branch of ASE - Fixed a few erroneous type hints
- Fixed the
typer
depenendecy inpyproject.toml
to betyper[all]
like it was supposed to be - Fixed a bug when passing decorator keyword arguments when using Dask
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