Releases: materialsproject/atomate2
v0.0.21
Bug Fixes 🐛
- switch to CONTCAR read for LOBSTERTaskDoc by @naik-aakash in #1204
- cover cases where optimizer does additional steps even though step is set to 0 or 1 for writing xyz files by @JaGeo in #1207
- Remove walrus operator to avoid unassigned vmax by @Jonas-Finkler in #1203
Enhancements 🛠
Documentation 📖
- Add video tutorials to README by @JaGeo in #1191
- be more concrete for tutorial video names in readme by @JaGeo in #1192
- Adding download statistics to readme by @JaGeo in #1209
New Contributors
- @Jonas-Finkler made their first contribution in #1203
Full Changelog: v0.0.20...v0.0.21
v0.0.20
Enhancements 🛠
- Add MatPES forcefields by @esoteric-ephemera in #1158
- Add
DynamicOpenMMFlowMaker
for dynamic OpenMM Simulations by @shehan807 in #1115 - atomate2 / OpenMM OPLS-AA Enhancements by @shehan807 in #1111
- Add updated MP workflows + cleanup by @esoteric-ephemera in #1139
Documentation 📖
- Improve documentation LOBSTER and PHONON workflow by @JaGeo in #1117
- Add key concept tutorial to tutorial list in README by @QuantumChemist in #1120
- Fixing headline levels in key_concepts_overview.md by @QuantumChemist in #1121
- try to fix the doc by @JaGeo in #1125
- Added code snippets for Grüneisen, QHA and EOS wfs documentation by @QuantumChemist in #1130
- a few improvements for the tutorials by @QuantumChemist in #1132
- Update tutorials.md by @JaGeo in #1138
- Electrode workflow and documentation improvements by @esoteric-ephemera in #1055
- Update index.md by @JaGeo in #1155
House-Keeping 🧹
- More CI fixes by @esoteric-ephemera in #1141
Other Changes
- Pin MACE calculator version, add missing metadata to AseStructureTaskDoc by @esoteric-ephemera in #1119
- Tutorials for QHA and Grüneisen workflows by @JaGeo in #1122
- add more headlines to tutorials and fix a typo by @JaGeo in #1126
- Minor update to tutorials by @naik-aakash in #1128
- adjust example flow names by @QuantumChemist in #1131
- Aims phonon tutorials by @tpurcell90 in #1136
- fix gruneisen tutorial by @JaGeo in #1142
- fix link again for aims tutorial by @JaGeo in #1143
- Append name relax by @JaGeo in #1150
- add more info on jobflow-remote by @JaGeo in #1154
- Add example MP-compatible phase diagram tutorial by @esoteric-ephemera in #1159
v0.0.19
Bug Fixes 🐛
- CP2K fixes by @janosh in #1056
- bug fix for linear strain passing in qha by @JaGeo in #1061
- Fix
generate_phonon_displacements
magmom removal side effect by @janosh in #1064 - Fixed Failing Abinit tests bis by @VicTrqt in #1108
Enhancements 🛠
- Add trajectory reporter to openmm workflow by @orionarcher in #1053
PhononMaker
add options tocalculate_pdos
and save force constants to file by @chouyoudou in #1008- Allow
MatPesStaticFlowMaker(static2=None)
by @janosh in #997
Documentation 📖
- Minor docs cleanup by @esoteric-ephemera in #1047
- add openmm description to docs by @JaGeo in #1069
- Docs update, forcefield elastic convenience maker, forcefield enum hydration by @esoteric-ephemera in #1072
- Added the ChemRxiv citation by @hrushikesh-s in #1107
- Fix docs by @janosh in #1109
House-Keeping 🧹
- Fix minor phonon code formatting issues + typos by @janosh in #1070
- Fix bump phonopy by @naik-aakash in #1006
- update calorine version by @naik-aakash in #1083
- Deprecated
Structure.ntypesp
in pymatgen by @jmmshn in #1105
New Contributors
- @chouyoudou made their first contribution in #1008
- @VicTrqt made their first contribution in #1108
Full Changelog: v0.0.18...v0.0.19
v0.0.18
New Features 🎉
- Aims magnetic ordering by @tpurcell90 in #922
- Ferroelectric Workflow 2 by @fraricci in #1012
- Feat: GW workflow with VASP by @yanghan234 in #808
Enhancements 🛠
- Allow energy minimization maker to report energies by @orionarcher in #1004
- Implementation to adjust get_supercell_size to also generate orthorhombic supercells by @QuantumChemist in #923
- MPMorph Flows by @BryantLi-BLI in #938
House-Keeping 🧹
- Fix
ruff
PLC0206 by @janosh in #1009 - Update MACE to 0.3.6 by @orionarcher in #1032
- Allow custom mace model by specifying "model" in calculator kwargs" by @orionarcher in #1017
- feat: add dedicated fireworks optional dependency (Fix #1033). by @hongyi-zhao in #1035
- Make testing utils importable by @jmmshn in #1037
New Contributors
- @fraricci made their first contribution in #1012
- @hongyi-zhao made their first contribution in #1035
- @BryantLi-BLI made their first contribution in #938
- @yanghan234 made their first contribution in #808
Full Changelog: v0.0.17...v0.0.18
v0.0.17
Bug Fixes 🐛
- Fix
prev_dir
behavior in input set generator ofMPGGAStaticMaker
by @Andrew-S-Rosen in #996
Documentation 📖
House-Keeping 🧹
- Excise openff dependency from OpenMM testing by @orionarcher in #993
- Use
pytest-split
to parallelize across 3 runners and speedup CI by @esoteric-ephemera in #985
Full Changelog: v0.0.16...v0.0.17
v0.0.16
This release brings lots of new workflows and support for all ASE calculators.
New Features 🎉
- Anharmonicity Quantification workflow by @4kevinbeck5 in #901
- Workflow for Quasi-harmonic approximation (forcefields and VASP) by @JaGeo in #903
- Atomate2 OpenMM integration & broader classical MD framework by @orionarcher in #782
- Frequency Flattening Optimizer by @rohithsrinivaas in #863
- Including VASP surface adsorption flow by @itsduowang in #691
- Generalize forcefields for generic ASE calculator support by @esoteric-ephemera in #940
Documentation 📖
- Input set tutorial by @JonathanSchmidt1 in #780
House-Keeping 🧹
- Remove emmet
==
pin inpyproject.toml
and update version instrict
by @Andrew-S-Rosen in #988
New Contributors
- @4kevinbeck5 made their first contribution in #901
- @orionarcher made their first contribution in #782
- @rohithsrinivaas made their first contribution in #863
- @itsduowang made their first contribution in #691
Full Changelog: v0.0.15...v0.0.16
v0.0.15
NOTE: This version updates the VASP workflows to use input sets defined in pymatgen. Please make sure your pymatgen version is updated accordingly.
New Features 🎉
- Add nequip force field relax- and staticmaker and corresponding tests by @JonathanSchmidt1 in #764
- Porting qchem into atomate2 by @rdguha1995 in #689
- Forcefield molecular dynamics and forcefield refactor by @esoteric-ephemera in #722
- Abinit workflows: static, non-scf and relaxation. by @davidwaroquiers in #183
- Add magnetic orderings workflow by @mattmcdermott in #432
- Add elastic workflow for FHI-aims by @tpurcell90 in #871
- Transition to pymatgen VASP input sets by @esoteric-ephemera in #854
- Add workflow to compute Gruneisen parameters by @naik-aakash in #752
Bug Fixes 🐛
- Fix tests and installation bug by @jmmshn in #765
- Add
revert_default_dtype
context manager to fix clashing globaltorch.dtype
between MACE and CHGNet by @janosh in #766 - Fix
TrajectoryObserver.to_ase_trajectory
return type by @janosh in #852 - Fix JobStoreDocument attribute access by @mjwen in #710
- fix CP2K TaskDocument by @lory-w in #900
- Add back
symprec
kwarg to MP and MatPES set generators by @janosh in #947 - Fix MPID assignment in electrode workflow by @esoteric-ephemera in #956
Enhancements 🛠
- Add dir_name to ForceFieldMaker and **task_document_kwargs to from_ase_compatible_result by @QuantumChemist in #791
- Add flexible filename and extension to phonon new_plotter by @QuantumChemist in #792
- Simplify phonon
get_supercell_size()
and test clean up by @janosh in #783 - Add
fix_symmetry: bool = False
option to forcefield relax makers by @JonathanSchmidt1 in #789 - Update LobsterTaskDoc by @naik-aakash in #723
from_...
class methods now returntyping_extensions.Self
by @janosh in #840- Make Fermi Energy Optional for FHI-aims by @tpurcell90 in #793
- Handling failures in elastic flow by @gpetretto in #861
- Bug in supercell matrix determination in phonon workflow by @JaGeo in #872
- Add possibility to use your own M3GNet potential by @QuantumChemist in #911
- Equation of State workflow for FHI-aims by @ansobolev in #889
- Add NEP MLIP relax, static, and MD makers by @naik-aakash in #893
- add additional fields as kwargs to PhononBSDOSDoc by @naik-aakash in #910
- Defect: Allow bulk SC calculation to be skipped. by @jmmshn in #742
- Add
SevenNetRelaxMaker
+SevenNetStaticMaker
to force field jobs by @janosh in #918 - Lobster schema updates by @naik-aakash in #924
Documentation 📖
- Corrected typo in doc by @rul048 in #775
- Add more details to the installation guide by @JaGeo in #810
- Add missing
calculator_kwargs
and remove outdatedmodel
/model_kwargs
inForceFieldRelaxMaker
doc strings by @janosh in #830 - Document the option to run LOBSTER with one jobscript only by @JaGeo in #811
- Fix title hierarchies in VASP documentation by @JaGeo in #853
- Docs: add Document Models / emmet tutorial by @rkingsbury in #917
- Writing tutorial for high level overview of atomate2 concepts. by @QuantumChemist in #757
- Tutorial for blob storage with test by @jmmshn in #776
- [WIP] Documentation update by @AntObi in #850
- Added documentation about JSONStore usage within Installation by @abhardwaj73 in #945
- Remove README note about atomate2 mostly being for VASP by @Andrew-S-Rosen in #957
- Increase k-point density for MP GGA static calculations to close issue #844 by @esoteric-ephemera in #854
- Adds missing MAGMOMs for MatPES jobs by @esoteric-ephemera in #854
House-Keeping 🧹
- Make functions prefixed with
_
but cross-imported public by @janosh in #767 - Warn on non-default
ATOMATE2_CONFIG_FILE
that's not found by @janosh in #794 - Remove
abinit
__all__
module star exports by @janosh in #804 - Turn
ForceFieldRelaxMaker._calculator
method intocalculator
property by @janosh in #839 - Update LobsterPy version in standard installation by @JaGeo in #841
- CI add
repository_dispatch
event forpymatgen_ci_trigger
by @janosh in #835 - Add test for supercell matrix creation in phonon workflow by @JaGeo in #873
ruff
fixes by @janosh in #894ruff
fixes by @janosh in #946
New Contributors
- @rul048 made their first contribution in #775
- @davidwaroquiers made their first contribution in #183
- @ansobolev made their first contribution in #889
- @lory-w made their first contribution in #900
- @AntObi made their first contribution in #850
- @abhardwaj73 made their first contribution in #945
Full Changelog: v0.0.14...v0.0.15
v0.0.14
New Features 🎉
- Add lobster mp workflow by @JaGeo in #634
- Add FHI-aims DFT calculator by @tpurcell90 in #562
- Electrode Workflow by @jmmshn in #655
- Equation of state (EOS) workflows by @esoteric-ephemera in #623
Bug Fixes 🐛
- Skip final LDAU/J/L/MAGMOM updates and fix setting MAGMOM via
user_incar_settings
by @JonathanSchmidt1 in #648 - Prep for next
pymatgen
release by @janosh in #690 - [bug fix] SC Matrix Checking Logic by @jmmshn in #704
- Fix elastic conventional structure by @mjwen in #706
- Add
KspacingMetalHandler
to VASP_DEFAULT_HANDLERS
by @janosh in #600 - Fix import error [ijson] by @naik-aakash in #708
- Print invalid value and list valid ones in
PhononMaker
error messages by @janosh in #728 - Update minimum
monty
version, allow newerpydantic
by @mkhorton in #720 - Fix phonon + Lobster flow by removing magmoms before passing to
phonopy
by @naik-aakash in #751 - Fix MP query by @utf in #755
Enhancements 🛠
- add directory of task doc generation to phonon schema by @JaGeo in #674
- Ensure MP VASP sets don't use auto_ismear, few other fixes by @esoteric-ephemera in #673
- Schema update > Update plot example LOBSTER workflow by @naik-aakash in #682
- Modify
BadInputSetWarning
logic for relaxations of a likely metal by @Andrew-S-Rosen in #727 - Define
MLFF
Enum
to ensure consistent force field names by @janosh in #729
Documentation 📖
- Update doc: adding metadata to flow by @naik-aakash in #638
- Fix hyperlink in Docs by @naik-aakash in #686
- Correct typo in doc by @JiQi535 in #716
- Fix docstring on
MatPesMetaGGAStaticSetGenerator
by @Andrew-S-Rosen in #725 - Add
citation.cff
file, Zenodo record and readme "How to cite" section by @janosh in #731
House-Keeping 🧹
- Address TODO re missing asserts in
test_elastic_wf_with_mace()
by @janosh in #679 - Update lobsterpy version by @naik-aakash in #683
- Fix all ruff PT011 (not checking error message when testing exceptions) by @janosh in #698
New Contributors
- @JonathanSchmidt1 made their first contribution in #648
- @rdguha1995 made their first contribution in #161
- @JiQi535 made their first contribution in #716
Full Changelog: v0.0.13...v0.0.14
v0.0.13
BREAKING CHANGE
The API of Maker.maker
for all workflows (VASP, CP2K, force fields) have been modified. Previously, this function had custom arguments for previous calculation directories (e.g., prev_vasp_dir
, prev_cp2k_dir
). These arguments have been standardised to prev_dir
. Accordingly, the code used to chain workflows has changed and should be updated in all workflows (simply change prev_*_dir
to prev_dir
).
New Features 🎉
Bug Fixes 🐛
- Resolve bandstructure datastore bug by @JaGeo in #605
- Fix
TypeError
:PhononBSPlotter.save_plot()
got an unexpected keyword argumentimg_format
by @janosh in #625 ForceFieldRelaxMaker
defaultrelax_cell
toTrue
by @janosh in #635- Replace ase
ExpCellFilter
withFrechetCellFilter
inRelaxer
by @janosh in #636 - update lobsterpy version and schemas to match new version changes by @naik-aakash in #637
- Default
create_thermal_displacements
toFalse
in VASP and forcefieldPhononMaker
by @janosh in #647 - Fix import of ASE filters when user has installed from PyPI and not gitlab by @esoteric-ephemera in #650
- Mark schema fields with
None
default asOptional
to pass pydantic v2 validation by @danielzuegner in #651
Enhancements 🛠
- Breaking: Unify previous directory
Maker
API by @janosh in #593 - Add keyword
incar_exclude: Sequence[str] = None
tofake_run_vasp()
by @janosh in #599 - Allow
prv_dir
to be used more in defect wf by @jmmshn in #585 - Add MACE RelaxMaker and StaticMaker by @CompRhys in #611
- Update lobster task schema by @naik-aakash in #529
- Allow optimizer to be configured for MACE/GAP by @CompRhys in #615
- MACE Static/RelaxMakers default to loading
mace_mp
instead of test model by @janosh in #614 - Add optional 3rd static for PBE+U to
MatPesStaticFlowMaker
by @janosh in #606 - Use PyPI version of MACE by @utf in #668
- Multi step MD flow by @gpetretto in #489
Documentation 📖
House-Keeping 🧹
- Update GitHub Action versions by @janosh in #640
- Drop
flake8
by @janosh in #658 - Enable all
ruff
rules by default by @janosh in #663
New Contributors
- @CompRhys made their first contribution in #612
- @danielzuegner made their first contribution in #651
Full Changelog: v0.0.12...v0.0.13
v0.0.12
What's Changed
Bug Fixes 🐛
- Enforce magmom precedence in INCAR creation by @mattmcdermott in #506
- Warn on empty config by @janosh in #522
- CP2K use
calcs_reversed[0]
instead ofcalcs_reversed[-1]
to not reverse again by @janosh in #534 - Fix wrong INCAR values in MP workflows by @janosh in #550
- Fix failing tests from Pydantic v2 migration by @hrushikesh-s in #558
- fixing pydantic v2 test errors by @hrushikesh-s in #565
parse_additional_json()
ignoreFW.json.gz
in output directories by @janosh in #574- Fix
bandgap_tol
and deletebandgap_override
onMPMetaGGARelaxSetGenerator
by @janosh in #553 - Fix
VaspInputGenerator
's_set_kspacing
not respectingauto_ismear = False
norauto_kspacing = False
by @janosh in #576 - Clean up VASP powerups, correct params in MP flows, test for
_set_u_params
, test for_set_kspacing
, fix_get_incar
method ofVaspInputSet
by @esoteric-ephemera in #561 - Fix Lobster workflow by @JaGeo in #583
- Change
MatPesGGAPlusMetaGGAStaticMaker.output
to dict containing both statics by @janosh in #586 - Test MP + MatPES set generators by @janosh in #596
Enhancements 🛠
- Add StructureMetadata as baseclass for output documents by @gpetretto in #514
- Materials Project GGA and meta-GGA workflows by @janosh in #504
- [WIP] MP-compatible r2SCAN workflow (and a few general INCAR improvements) by @Andrew-S-Rosen in #362
- Update to Pydantic v2 by @hrushikesh-s in #567
- Add MatPES GGA and r2SCAN static makers by @janosh in #532
- Move elastic workflow to common and build force-field elastic workflow by @JaGeo in #581
Documentation 📖
- Update @arosen93 to @Andrew-S-Rosen by @Andrew-S-Rosen in #516
- Add Aaron Kaplan and Matthew McDermott to
contributors.md
by @janosh in #560 - Document architectural difference between atomate 1 and 2 by @janosh in #381
- Add Thomas Purcell to
contributors.md
by @tpurcell90 in #568 - Add Alex Bonkowski to contributors list by @JaGeo in #573
- Add @matthewkuner to contributors by @matthewkuner in #575
- Update contributors.md by @utf in #579
House-Keeping 🧹
- Remove
__all__
from all modules by @janosh in #540 - removed py38 support, and add py 3.11 support by @naik-aakash in #537
- Check full INCAR by default in
mock_vasp
fixture by @janosh in #551 - skip validate charge test by @jmmshn in #563
- Add some type annotations by @ab5424 in #578
- Future type annotations by @janosh in #580
- Use
numpy.testing.assert_allclose
over assertnp.(all|is)close
by @janosh in #582
New Contributors
- @mattmcdermott made their first contribution in #506
- @tpurcell90 made their first contribution in #568
- @esoteric-ephemera made their first contribution in #561
- @ab5424 made their first contribution in #578
Full Changelog: v0.0.11...v0.0.12