Releases: Quantum-Accelerators/quacc
Releases · Quantum-Accelerators/quacc
v0.6.6
[0.6.6]
Fixed
- Using environment variables to set a setting to
None
now works as expected - Overall, more intuitive and robust handling of settings across the various input methods
Full Changelog: v0.6.5...v0.6.6
v0.6.5
[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 toSTORE
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
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 thequacc[phonons]
optional dependencies - Changed the
min_length: float | None
keyword argument in phonon flows tomin_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 theRunSchema
- Fixed phonon flow with MACE-MP-0 when
dispersion=True
v0.6.3
[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 bestr
instead ofPath
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 theRunSchema
v0.6.2
Changed
- The
CREATE_UNIQUE_DIR
setting is now set toTrue
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
[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.