Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project generally adheres to Semantic Versioning.
[1.0.6]¶
Changed¶
- Changed the default
SYMPRECin the VASPrelax_jobto 1e-6 instead of 1e-8
[1.0.5]¶
Fixed¶
- Fixed bug when trying to use Custodian to run a single-point VASP calculation on an Atoms object with constraints
- Fixed various type hints
[1.0.4]¶
Added¶
- A MatPES-compatible job
Changed¶
- Set ALGO = Normal for DefaultSetHybrid instead of ALGO = All
- When ALGO = All in VASP, ISEARCH is set to 1 per the VASP manual.
Fixed¶
- Fixed various type hints
Removed¶
- Removed the deprecated Rosen sets
[1.0.3]¶
Added¶
- The "old" MP recipes are back, now under the
quacc.recipes.vasp.mp_legacymodule
Changed¶
- The "new" MP recipes are moved from
quacc.recipes.vasp.mptoquacc.recipes.vasp.mp24 - The MP recipes, both new and old, no longer copy CHGCARs between runs because this never did anything in the first place
Fixed¶
- Fixed a bug that would lead to a crash when setting
Atoms=Nonein theMPtoASEConverter
[1.0.2]¶
Added¶
- Added
DefaultSetMetaGGAandDefaultSetHybrid
Changed¶
- Renamed
DefaultSetPBEtoDefaultSetGGA
[1.0.1]¶
Changed¶
- Increased the minimum version of Custodian to address some I/O issues
- Removed
maggmaas a core dependency since it is only for optional features
[1.0.0]¶
Added¶
- A
GenericRunnerto run arbitrary commands - D3(BJ) parameters for HSE06 in the
Vaspcalculator
Changed¶
- The default
BulkSet.yamlwill be removed and replaced withDefaultSetPBE.yaml. The two are extremely similar. Updates include: ALGO = Fast → ALGO = Normal, GGA_COMPAT = False, and changing the default Yb and Eu pseudopotentials from _2 to _3. - The
SlabSet.yamlwill be removed and replaced withSlabSetPBE.yamlto ensure internal consistency with the baseDefaultSetPBE.yaml. - The
VASP_PRESET_MAG_DEFAULTsetting has been changed from a default of 1.0 to 0.5 to prevent accidental convergence to erroneous radical states, particularly in molecular systems. - The Materials Project recipes were updated to match the newer MP24 settings
[0.17.1]¶
Changed¶
- Makes ASE 3.26.0 the minimum supporte version
[0.17.0]¶
Added¶
- Added
RosenFastSetPBE.yaml,RosenFastSetR2SCAN.yaml, andsetups_rosen.yaml - The user will now be warned if they are likely to have Pulay stresses due to the use of
Li_svandENCUT< 650
Changed¶
- Renamed
magmoms_base.yamltomagmoms_high.yaml - Merged the identical
setups_54.yamlandsetups_64.yamlfiles into a singlesetups_recommended.yaml - The RosenSets will now use
Eu_3andYb_3instead ofEu_2andYb_2
[0.16.0]¶
Added¶
- Added support for TensorNet
Changed¶
- Default MLP calculators have been updated across the board: M3GNET and CHGNet now default to the MatPES PBE models, CHGNet relies on matgl, and mace-mp-0 has been renamed mace-mp to get the default model.
[0.15.5]¶
Changed¶
- Simplified FAIRChem MLP usage
[0.15.4]¶
Changed¶
RosenPBESet.yamlnow uses ALGO = "All" instead of "Fast"
[0.15.3]¶
Added¶
- Updated FAIRChem models to support UMA and redesigned FAIRChem repo
[0.15.2]¶
Fixed¶
- Allow for
kpts=Nonewith VASP auto-swaps
[0.15.1]¶
Added¶
- Added
RosenSetPBE.yamlandRosenSetR2CAN.yamlfor recommended VASP parameters that Rosen likes to use.
Changed¶
- No longer automatically sets
NPAR = 1whenLELF = Truedue to convergence issues that can arise.
[0.15.0]¶
Fixed¶
- Various dependency fixes
[0.14.0]¶
Fixed¶
- Force
relax_cell=Falsefor elastic calculations
Removed¶
- There is no more
quacc_results.json.gzfile written out to disk. This turned out to be way more trouble than it was worth, over-complicating recipes by requiring the use of schemas with knowledge of the current working directory at all times. - There is no more
STOREquacc setting. Storing in databases will require calling theresults_to_dbfunction or using a workflow engine (e.g. Jobflow, FireWorks, Prefect, Covalent).
[0.13.0]¶
Added¶
- New elastic workflows for MLIPs and EMT
Changed¶
- The existing elastic workflow has been completely overhauled so that it is more practical t ouse
- The results dictionary returned at the end of the run has been modified, such that the structure metadata is now put under the
structure_metadatakey rather than the root level of the dictionary. Should this breaking change prove undesirable by the community, it can be reverted.
Fixed¶
- Fixed various type hints
[0.12.3]¶
Added¶
- Added support for
fairchem-corecalculators
[0.12.2]¶
Added¶
- Added a new keyword argument,
filter_kwargs, to theRunner.run_opt()class to modify the ASE filter
[0.12.1]¶
Changed¶
- Clarifies handling of ASE environment variables by defining them at import time rather than calculator instantiation time. Can help with debugging rare edge cases.
[0.11.19]¶
Fixed¶
- Fixed automatic setting of D4 parameters for r2SCAN
[0.11.18]¶
Changed¶
- Decrease the verbosity of the bader and chargemol analyses when they don't run.
[0.11.17]¶
Added¶
- Added automatic r2SCAN D4 parameter settings for Vasp calculator
[0.11.16]¶
Changed¶
- VASP: Automatic setting of
NCOREto sqrt(# of cores) unless otherwise specified
[0.11.15]¶
Fixed¶
- Sets NPAR = 1 for LELF = True
[0.11.14]¶
Fixed¶
- Fixed incompatability with PyMongo
[0.11.13]¶
Fixed¶
- No changes. Fixed PyPI release
[0.11.12]¶
Added¶
- MRCC calculator and basic recipes
[0.11.11]¶
Added¶
- NEB runner
- NEB-based TS job for NewtonNet
[0.11.10]¶
Fixed¶
- Fixed compatability with Prefect 3.1.11
[0.11.9]¶
Changed¶
- ASE>=3.24.0 is required due to upstream breaking changes
Fixed¶
- Fixed a bug where DFT+U parameters might not be set appropriately if the
Atomsobject is sorted when using MP input sets
[0.11.8]¶
Added¶
- Support for SevenNet and Orb models as MLPs
[0.11.7]¶
Added¶
- New phonopy routines to handle fixed atoms
[0.11.6]¶
Fixed¶
- Fixed handling of async prefect tasks
[0.11.5]¶
Added¶
- Added support for atomate2>=0.0.15
Changed¶
- Overhauled handling of Prefect futures/states. Refer to the documentation for more details.
- The minimum supported Python version is now 3.10 in alignment with Pymatgen
[0.11.4]¶
Changed¶
- Put a
<=version pin on Atomate2 to resolve upstream breaking change
[0.11.3]¶
Added¶
- Added support for
preset: Pathtype in theEspressocalculator - Raise a custom
JobFailureerror when a calculation fails, which stores the directory where the files remain as well as the parent error
Fixed¶
- Fixed Parsl MPI support for Espresso recipes
- Fixed miscellaneous inconsistencies with
presethandling
[0.11.2]¶
Added¶
- Added support for
preset: Pathtype in theVaspcalculator
[0.11.1]¶
Added¶
- Added an
additional_fieldskeyword argument to all recipes
Changed¶
- Gaussian and ORCA schemas have been updated to reflect the removal of cclib
Fixed¶
- Fixed support for Prefect 3
- Fixed support for ORCA 6.0.0
Removed¶
- Removed cclib-based schemas due to fragility and replaced them with the standard ASE schemas
[0.11.0]¶
Added¶
- Added support for HarmonicThermo as a thermochemistry method
- Added a VASP frequency recipe
Changed¶
- Overhauled schemas throughout quacc to improve maintainability. They are now classes (mostly) instead of functions.
- Changed the thermo runner to a schema
- Renamed the Q-Chem perturb IRC job to
quasi_irc_jobfor internal consistency - Removed the preliminary relaxation steps from all phonon workflows for greater composability
Fixed¶
- Fixed a crash when Espresso checked kpts and kspacing usage
Removed¶
- Removed the Q-Chem quasi-IRC job since it was redundant with the perturb IRC job
[0.10.1]¶
Changed¶
- Overhauled type hinting system
- Added kspacing default to Espresso non_scf_job
Fixed¶
- Fixed breaking change from monty 07.12.2024
- Fixed a variety of incompatible type hints
[0.10.0]¶
Added¶
- Added a function
from quacc import get_settingsto fetch the current settings on a thread - Added a mechanism to update the settings on-the-fly via a special
settings_swapkeyword argument that can be passed to the decorators when a workflow engine is used. - Support for MD workflows
Fixed¶
- Fixed an edge-case that can occur in multithreading environments where in-memory changes to the
QuaccSettingscould carry over to a concurrent thread - Made the detection of intermediate step directories more robust
Removed¶
- The global
SETTINGSvariable is gone! Modifying a global variable can cause havoc in multithreaded environments and was never compatible with workflow engines. Refer to the Modifying Settings page for the recommended approach. For most users without an active workflow engine, this will be thewith change_settings()context manager.
[0.9.5]¶
Changed¶
- Pinned numpy version to < 2.0 (for now...)
[0.9.4]¶
Added¶
- VASP: Added a new logging statement to specifically highlight which parameters were swapped, not just which recommendations were made
Changed¶
- VASP: Removed EFERMI="midgap" co-pilot swap since it does not influence the results and prevents VASP 5.x compatability
Fixed¶
- Fixed MD5-based
Atomshashing to work on FIPS-encrypted OSs
[0.9.3]¶
Changed¶
- Update the default
shear_strainvalue inquacc.atoms.defects.make_deformations_from_bulkto match that of Pymatgen - Internal refactoring of the runners to be class-based
Fixed¶
- Fixed an issue where the
Atomsobject in the output schema could get a stray calculator attached to it when passed between@jobs
[0.9.2]¶
Added¶
- Added support for controlling which properties to calculate with MLP static jobs
Changed¶
- Bumped minimum version of pymatgen
[0.9.1]¶
Changed¶
- No longer need to install
masterbranch of ASE - Modified Espresso and ONETEP settings to support new ASE profile features
- Removed
nstepsfrom theOptSchema
[0.9.0]¶
Added¶
- The
RESULTS_DIRandSCRATCH_DIRsettings can now be relative paths, if desired
Changed¶
- Failed calculations are now stored in a
failed-quacc-12345-directory to distinguish these tasks from the running tasks intmp-quacc-12345- - The output schema is now written to a serialized JSON file instead of pickle for security and ease-of-use reasons. It can be rehydrated via
loadfn("quacc_results.json.gz")whereloadfnis frommonty.serialization import loadfn - The
fmaxattribute was moved from the base level to theparameters_optsection since it is an input parameter
Fixed¶
- File shuttling after a completed calculation is now faster since we simply rename the directory instead of moving each individual file
[0.8.0]¶
Added¶
- Added a context handler,
quacc.settings.change_settings, that can be used to modify global settings temporarily - Added
quacc.calculators.vasp.params.MPtoASEConverterto convert between Pymatgen- and Atomate2-style input parameters to ASE-compatabile parameters
Fixed¶
- Fixed copying of WAVECAR between steps of the QMOF recipes
Changed¶
- Overhauled the MP recipes to ensure better compatability with atomate2 workflows
- The workflow engine must be directly specified with
WORKFLOW_ENGINE, as noted in the docs - Changed
VASP_MAG_CUTOFFfrom 0.05 to 0.02 - Removed the
presetkeyword argument from the QMOF recipes
Removed¶
- Removed the
pmg_input_setkeyword argument from theVaspcalculator
[0.7.8]¶
Added¶
- Added support for Parsl "special" keyword arguments (e.g.
timeout,parsl_resource_specification)
Fixed¶
- Fixed bug where the common phonon subflow would generate a
Phonopyobject based on the unrelaxed, rather than relaxed, structure - Sped up the common phonon subflow by removing duplicate
get_phonopy()calls
[0.7.7]¶
Added¶
- Added quasi IRC recipes to ORCA and Q-Chem
- Added frequency recipe to ORCA
Fixed¶
- Fixed various type hints
- Improved performance for the common phonon flow
- Improved performance for ideal gas thermo calculations
[0.7.6]¶
Fixed¶
- Fixed file extension for the optimizer trajectories, which should have been
.jsoninstead of.pckl
[0.7.5]¶
Changed¶
- Removed the
atoms_infofield from theAtomsSchemasince this is already available in the database via Pymatgen'sMSONAtomsserialization
[0.7.4]¶
Changed¶
- Only call
jsanitizeonce before uploading to theStore
[0.7.3]¶
Added¶
- Added new Espresso recipes to perform electron-phonon calculations and Fourier interpolation of the phonon potential
Fixed¶
- Fixed potential issues with I/O settings and Espresso
- Fixed passing of custom decorators in the Espresso
grid_phonon_flow
[0.7.2]¶
Changed¶
- Calculator executable commands are now
strtype instead ofPath - Removed
slowconvfrom the default parameters of the ORCA recipes - The Q-Chem calculator now uses the TaskDoc from emmet in its
resultsattribute
Fixed¶
- Fixed user setting of LOGGER level
- Fixed a glob-based issue with
copy_decompress_files
[0.7.1]¶
Added¶
- Added an optional MP compatability checker for MP recipes
- Summaries for intermediate ASE optimization steps are now stored in the output schema for VASP and cclib-based recipes when
store_intermediate_results=True - Added a
WRITE_PICKLEsetting, which by default, will write out a.pklfile containing the result schema to the directory
Changed¶
- Updated
ruffsettings - The Gaussian and ORCA
static_jobroutines do a force calculation by default now
Fixed¶
- Fixed input file formatting for
orcablocksin ORCA recipes
Removed¶
- Removed the
CHDIRsetting
[0.7.0]¶
Added¶
- Added a
non_scf_jobfor VASP
Changed¶
- There are no more
os.chdircalls to ensure thread safety - Use
pymatgen.io.ase.MSONAtomsto make MSONableAtoms - Changed default NEDOS value from 5001 to 3001 for VASP static jobs (10x the default)
Fixed¶
- Fixed multithreaded
@taskdistribution with VASP and Q-Chem - Fixed a bug where, with Prefect, the
Statewould raise an indexing error when passing around deferreddictentries - Fixed a bug when
job_parametersandjob_decoratorsare both passed tocustomize_funcs() - Raise a
ValueErrorwhen the user providesSCRATCH_DIRorRESULTS_DIRas a relative path
[0.6.10]¶
Fixed¶
- Fixed pickle-ability of the schemas
- Fixed multithreaded
@taskdistribution with GULP, Espresso, and common phonon flow recipes - Fixed concurrency issues with VASP/Q-Chem due to refactoring
Removed¶
- Removed the
quacc.schemas.atoms._quacc_sanitizefunction
[0.6.9]¶
Added¶
- Added MP compatability corrections in VASP MP recipes
- Added various phonon recipes for Espresso
- Added various DOS recipes for Espresso
Fixed¶
- Fixed a rare edge case where final magmoms would not be moved to initial magmoms of next run in MP VASP recipes
[0.6.8]¶
Added¶
- Added an option to prevent
os.chdircalls for multithread safety - Added a common elastic calculation
Changed¶
- Switched to
rufffor formatting, replacing the need forblackandisort - Changed VASP double relaxes to be flows and not jobs
- Changed the behavior of
quacc.utils.files.copy_decompress_files
Fixed¶
- Fixed
copy_fileshandling with workflow engines - Fixed MP VASP double relaxes, where the same relaxation was done twice by mistake
- Fixed use of
**calc_kwargsin MP flow recipes
[0.6.7]¶
Added¶
- Added a
store_intermediate_resultskeyword option toquacc.runners.ase.run_opt()to allow for storing of the logfiles in intermediate geometry optimization steps. - Added support for Pymatgen-based input sets in VASP jobs
- Added an MP meta-GGA VASP static job
- Added MP GGA relax job, MP GGA static job, and MP GGA relax flow
- Added a validity checker on CLI parameters
Changed¶
- Changed the default ASE optimizer from
FIREtoBFGSfor most recipes - Changed the VASP
DoubleRelaxSchemato be consistent between flows - Refactored VASP and Q-Chem execution commands in custom calculators
Fixed¶
- Fixed
dir_namein VASP output schema - Fixed auto-detection of the Prefect workflow engine in settings
- Fixed compatability of MP meta-GGA workflow with that in atomate2
[0.6.6]¶
Fixed¶
- Using environment variables to set a setting to
Nonenow works as expected - Overall, more intuitive and robust handling of settings across the various input methods
[0.6.5]¶
Added¶
- PDOS jobs and flows for Espresso
Changed¶
- Modified the Espresso results schema to be DB-compatible
- The
PRIMARY_STOREsetting has changed toSTOREand is now formatted more intuitively - Uses 2024 stable release of
black
Fixed¶
- Fixed usage of
MontyStoreas the data store option
Removed¶
- Removed the deprecated "q-chem legacy" recipes
[0.6.4]¶
Added¶
- Added a
supercell_matrixkeyword 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
seekpathdependency is now required for phonon workflows, as reflected in thequacc[phonons]optional dependencies - Changed the
min_length: float | Nonekeyword argument in phonon flows tomin_lengths: float | tuple[float, float, float] | Nonefor 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
ValueErrorin generating theRunSchema - Fixed phonon flow with MACE-MP-0 when
dispersion=True
[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_flowto 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_CMDsetting to bestrinstead ofPathwhen 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
Structureinfo in theRunSchema
[0.6.2]¶
Changed¶
- The
CREATE_UNIQUE_DIRsetting is now set toTrueby 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.
- Updated the "trajectory" entry in the
OptSchemato belist[Atoms]instead oflist[AtomsSchema]
Fixed¶
- Fixed an occasional race condition that occurs when running concurrent calculations in multi-threaded mode
- The temporary directory made when a
@jobruns now has a name consistent with the folder where the results will ultimately be stored. - Significant speedup in generating the
OptSchema
[0.6.1]¶
Added¶
- Support for ONETEP recipes (@nekkrad)
- New Espresso recipe for ASE external relaxations (@tomdemeyere)
Fixed¶
- Fixed bug where autoamtic k-point schemes in VASP would return
kptsaslist[float]instead oflist[int] - VASP runs now respect the
CHECK_CONVERGENCEglobal setting when set toFalse - Fixed bug where the gamma-point only version of VASP was being called if
kptswasNonebutkspacingwas notNone
Removed¶
- Removed the broken TRICs support with Sella
- Removed the
covalent_to_dbfunction
[0.6.0]¶
Added¶
- A new
grid_phononrecipe 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
WARNINGtoINFO
Fixed¶
- Codes calling Custodian can be used in Jupyter Notebooks
- Fixed an error in the Espresso
phonon_flowwhen using themasterbranch of ASE - Fixed a few erroneous type hints
- Fixed the
typerdepenendecy inpyproject.tomlto betyper[all]like it was supposed to be - Fixed a bug when passing decorator keyword arguments when using Dask
[0.5.2]¶
Changed¶
- ORCA and GULP recipes now use a more intuitive and concise
list[str]input argument format instead of adictformat when overriding defaults
Fixed¶
- Fixed concurrency issues with Dask subflows
[0.5.1]¶
Added¶
- Adds a new
ase_relax_jobfor ORCA - Adds a new
relax_jobandpost_processing_jobfor Quantum Espresso quacc.wflow_tools.customizers.strip_decoratorandquacc.wflow_tools.customizers.redecorateare imported in the base__init__.pyfor 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.Removeis recommended in place ofNone - The
quacc.wflow_tools.customizers.strip_decoratorfunction is recommended instead of calling.__wrapped__
Fixed¶
- Fixed Dask subflows that were calling
.compute() - Fixed various bugs in the Espresso calculator and recipes
[0.5.0]¶
Added¶
- Created a
quacc.wflow_tools.customizersmodule to aid in customizing pre-made recipes.
Changed¶
- Overhauled how sub-jobs in recipes can be dynamically modified by the user to increase flexibility.
- Changed default
fmaxforquacc.recipes.mlp.core.relax_jobto 0.05. - Renamed the
quacc.utils.dicts.merge_dictsfunction to._recursive_dict_pair_mergeto better reflect its functionality. - Renamed the
quacc.utils.dicts.merge_several_dictsfunction to.recursive_dict_mergeto better reflect its functionality.
Fixed¶
- Increased support of
~/throughout quacc file handling mechanisms - Fixed an infinite recursion error when
copy_decompress_files_from_dirwas run in the current working directory.
[0.4.6]¶
Added¶
- The
WORKFLOW_ENGINEquacc setting now acceptsNone. - A
DEBUGquacc 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
[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
[0.4.4]¶
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_fileskwarg in most recipes can now include a directory - Renamed
quacc.utils.files.copy_decompresstoquacc.utils.files.copy_decompress_files
Fixed¶
- Quacc settings that are paths now have
~/expanded in most cases
[0.4.3]¶
Added¶
- Added preliminary support for the
Daskworkflow engine via Dask Delayed and Dask Distributed.
Changed¶
- Renamed
CREATE_UNIQUE_WORKDIRtoCREATE_UNIQUE_DIRto better reflect its utility. - The default for the
SCRATCH_DIRsetting is nowNoneinstead 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 asNonemay be broadly of interest. Setting theSCRATCH_DIRto a givenPathwill still work as expected. - Files are no longer recursively copied from
SCRATCH_DIRtoRESULTS_DIR. Instead, they are recursively moved. This should speed up I/O operations.
Fixed¶
- Fixed a missing
phonopy_kwargskeyword argument inquacc.recipes.common.phonons
[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_kptskwarg in theVaspcalculator topmg_kpts - Internal refactoring of recipes to have a separate
_base.pymodule when appropriate - Removed the unnecessary
Atomsarg from thecalc_setupfunction
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
[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
[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.phonons - 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: dictapproach, additional parameters can be specified via the**kwargs. In practice, this means in recipes you can doscf = "diis", max_steps=100instead ofcalc_swaps={"scf":"diis", "max_steps":100}, for instance. - Moved
quacc.runners.calctoquacc.runners.ase - Moved
quacc.runners.preptoquacc.schemas.prep - Reduced code duplication across complex flows
[0.3.13]¶
Fixed¶
- Fixed support for the most recent version of ASE as of 11/2/2023
[0.3.12]¶
Added¶
- Added more type hints for input keyword arguments
- Added the
quacc infocommand-line argument for error reporting
Changed¶
- Consolidated VASP INCAR co-pilot settings
- Internal refactoring of the Q-Chem and VASP calculators
Fixed¶
- All
Path-based settings have.expanduser()applied
[0.3.11]¶
Changed¶
- Improved error handling
[0.3.10]¶
Changed¶
- DFTB+
MaxSccIterationsset to 200 by default - SCC errors in DFTB+ relaxations will be reported with higher priority than a relaxation error
[0.3.9]¶
Changed¶
- Changed prefix of scratch directories to have the datetime in it for easier debugging
Fixed¶
- DFTB+ recipes now won't crash when
kpts=Nonefor structures with PBCs
[0.3.8]¶
Changed¶
- Changed minimum version of Parsl
[0.3.7]¶
Added¶
- Added type-hinting for schemas
Changed¶
- Recipes now take
Atomsinstead ofAtoms | dictas input - Recipes no longer require the use of
fetch_atoms - Standardized schema fields
Removed¶
- Removed the
fetch_atomsfunction
[0.3.6]¶
Fixed¶
- Fixed VASP recipes to always respect
calc_swaps. - Fixed setting multiple cores in Custodian for Q-Chem runs.
[0.3.5]¶
Added¶
- Added a new
VibThermoSchemathat merges theVibSchemaandThermoSchemaas a convenience
Changed¶
- The output of recies no longer automatically removes blank lists/dicts/sets to maintain a consistent schema.
- The tblite
freq_joband ljfreq_jobnow useVibThermoSchemaas the output - Changed default
SCRATCH_DIRfromPath.cwd() / ".scratch"toPath("~/.scratch")
[0.3.4]¶
Added¶
- Added a new documentation section for worked examples on HPC.
Changed¶
- Updated the minimum required versions for Pymatgen and emmet-core to reflect Pydantic 2 update.
- Added
symprec=1e-8to the default parameters of VASP relaxation jobs. - VASP bulk recipes now use "BulkSet" as the default preset instead of
None. - VASP slab recipes now use "SlabSet" as the default preset instead of
None.
[0.3.3]¶
Fixed¶
- Fixed pip version conflict when installing Covalent dependencies.
[0.3.2]¶
Changed¶
- Migration to Pydantic 2 is complete, along with the corresponding dependencies.
[0.3.1]¶
Changed¶
- Pydantic field type validation has been improved.
- Moved
quacc.utils.atoms/.slabs/.defectsintoquacc.atoms.core/.slabs/.defects - Moved
quacc.custodiantoquacc.calculators.custodian - Moved
quacc.utils.thermo.ideal_gastoquacc.builders.thermo.run_ideal_gas - Renamed
quacc.schemas.ase.summarize_thermotoquacc.schemas.ase.summarize_ideal_gas_thermo
[0.3.0]¶
Changed¶
- Changed default
SCRATCH_DIRfrom/tmptoPath.cwd() / .scratch - Refactored decorator handling to be more concise
- Renamed
[optimizers]extras to[sella] - Moved
quacc.utils.wflowsintoquacc.wflow_tools.decoratorsandquacc.wflow_tools.prefect - Moved
quacc.utils.dbintoquacc.wflow_tools.db - Moved
quacc.utils.calctoquacc.runners.ase - Moved
quacc.presetstoquacc.calculators.presets
Fixed¶
- Fixed parsing of
RESULTS_DIRandSCRATCH_DIRpaths when they contain~ - Symlinks are no longer created if
RESULTS_DIR == SCRATCH_DIRsince this is redundant - If
RESULTS_DIRorSCRATCH_DIRare not present, they will be automatically made
[0.2.8]¶
Changed¶
- Decorators are now applied at import time rather than at function-call time.
Fixed¶
- Fixed compatibility with FireWorks.
- Fixed I/O issue on Windows and NFS file systems where Sella optimizations would crash.
[0.2.7]¶
Added¶
- Added a
freq_jobrecipe in Q-Chem (@samblau) - Added support for TRICs in Sella calculations (@samblau)
Changed¶
- Refactored all recipes to prevent code duplication
- Set
LREAL = Falsein VASPBulkSet.yaml
[0.2.6]¶
Added¶
- Add support for
Pathobjects everywhere possible.
Changed¶
- Charge and spin multiplicity are now required arguments in molecular DFT calculators.
- Slab recipes now use
make_slabs_from_bulkinstead ofmake_max_slabs_from_bulk - Use the
loggingmodule when warnings do not need to be immediately addressed. - Functions are no longer used as kwargs in recipes to help with (de)serialization in certain workflow engines.
Removed¶
- Removed
make_max_slabs_from_bulkfunction.
[0.2.5]¶
Added¶
- Added support for the Redun workflow engine.
- Added a simple CLI for (un)setting YAML config parameters.
Changed¶
- Internal refactoring of the
Vaspcalculator.
Removed¶
- Removed the demonstration Jobflow EMT slab recipe.
[0.2.4]¶
Changed¶
- Updated VASP co-pilot rules and
BulkSet.yamlin accordance with recent MP benchmarking (#849). - Moved
fetch_atomstoquacc.schemas.
Fixed¶
- VASP: Fixed a scenario where SIGMA was set to 0.05 if the user provided SIGMA > 0.05. This was supposed to happen when ISMEAR = 0 but was previously done when ISMEAR = -5, which is not influenced by SIGMA.
- Fixed
mp_metagga_relax_flowto use a@flowdecorator instead of@job - Fixed the Q-Chem Quasi-IRC job to run as one
@jobinstead of two.
[0.2.3]¶
Added¶
- Added new defect EMT workflows (@rwexler)
- Added new defect utilities (@rwexler)
- Added a custom Q-Chem calculator based on Pymatgen and Custodian. (@samblau)
- Added Q-chem core recipes. (@samblau)
- Added the ability to pass option
run_kwargsto the.run()method of the ASE optimizers.
Changed¶
- Removed the need to call
ct.dispatchwhen launching Covalent workflows. - Renamed
quacc.utiltoquacc.utils - Refactored and standardized the NewtonNet recipes to match the other recipes
Fixed¶
- The
WORKFLOW_ENGINEsetting can now be set dynamically, as expected.
[0.2.2]¶
Changed¶
- Changed package handling in
pyproject.tomlto better handle pip installs.
[0.2.1]¶
Added¶
- Added NewtonNet recipes and better sella support (@kumaranu)
Changed¶
- Standardized
relax_cellto beFalseby default for all recipes. - Update the default
SIGMAandISMEARinMPScanSetto match the new values to be used in Atomate2.
Fixed¶
- Fixed a bug on Windows where the trajectory file would not be closed after a relaxation, causing permission errors.
Removed¶
- Removed atomate2 as a dependency.
- Removed experimental Prefect support.
[0.2.0]¶
Added¶
- Added a quacc global setting,
WORKFLOW_ENGINE, to set the workflow manager. - Added support for the new
covalent-hpc-plugininpyproject.toml.
Changed¶
- Quacc recipes are now decorated with generic
@job,@subflow, or@flowdecorators to be workflow engine-agnostic. - Covalent is now an optional dependency to allow the base
quaccpackage to be dependency-light. - Default VASP pseudopotentials changed to
setups_pbe54.yaml. - Changed
quacc.recipes.emt.jobflowandquacc.recipes.emt.prefecttoquacc.recipes.emt._jobflowandquacc.recipes.emt._prefect
Fixed¶
- Set
LMAXMIXbased on theZvalue, not the s/p/d/f-block type. - Do not set automatically
LMAXTAUto 8 for f-containing elements inVaspcalculator.
Removed¶
- Removed
quacc.recipes.emt.parslsince it is now obsolete. - Removed
quacc configcommand-line option.
[0.1.3]¶
Added¶
- Added a
PRIMARY_STOREquacc setting that, when specified, will automatically store all results in the specified Maggma store.
Changed¶
- The trajectory is now stored in
quacc.schemas.cclib.summarize_run. - By default, results are now stored in a fixed
RESULTS_DIR, which defaults to the current working directory.
Fixed¶
- Fix path-related issues when running in local multi-threaded mode.
- Psi4 recipes now use
uksfor unrestricted calculations instead ofuhf.
[0.1.2]¶
Added¶
- Added support for Prefect.
- Added
quacc.wflow_toolsmodule.
Changed¶
- Made slab-related kwargs more consistent, such as by changing
slab_relax_electron/slab_relax_appto justslab_relaxregardless of workflow manager.
[0.1.1]¶
Added¶
- Added this
CHANGELOG.mdfile. - Added the
quacc.recipes.emt.parslmodule. - Added a CLI for
quaccalong with aquacc configoption to configure Covalent appropriately upon install. - Added generic type hints for schemas.
- Added a
CREATE_UNIQUE_DIRglobal setting to have quacc automatically make a unique working directory for each calculation. - Added
CHECK_CONVERGENCEto global settings.
Changed¶
- The
quaccdirectory is now found in asrcbasefolder. - All recipes now support the
Atomsobject being passed in as anAtomsSchema. - The
slab_relax_jobkwarg inrecipes.emt.slabsandrecipes.vasp.slabsworkflows can no longer be set toNone, as there are few situations where this would be desired. - Class-based recipes have been converted to functions since they don't save state or have inheritance.
Docs¶
- Switched the docs from Furo to Material for MkDocs.
- Expanded upon Parsl documentation.
- Modified tutorials and added example configs for Slurm.
Fixed¶
- Temporary directories are cleaned up after the run is completed.
Removed¶
- Removed
quacc.recipes.vasp.jobflowmodule to prioritize Covalent and Parsl.
[0.1.0]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.1.0 for more details.
[0.0.6]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.6 for more details.
[0.0.5]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.5 for more details.
[0.0.4]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.4 for more details.
[0.0.3]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.3 for more details.
[0.0.2]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.2 for more details.
[0.0.1]¶
See https://github.com/quantum-accelerators/quacc/releases/tag/v0.0.1 for more details.