v0.0.11
Task Document Changes
We have merged the atomate2 VASP task document with the one in emmet. The changes to the atomate2 schemas are:
PsuedoPotentialSummary
->Potcar
labels
->symbols
AnalysisSymmary
->AnalysisDoc
delta_volume_as_percent
->delta_volume_percent
InputSummary
->InputDoc
OutputSummary
->OutputDoc
density
added
Status
->TaskState
TaskDocument
->TaskDoc
task_type added
Status
->TaskState
VASP input set updates
The VASP input sets have been reconfigured based on user feedback. The auto_kspacing
option has been removed and KSPACING is no longer used in the atomate2 input sets by default. We have returned to using reciprocal_density
as in atomate1. These changes mean the k-point mesh is no longer dependent on the precise band gap of the system. Instead, there are now two k-points settings, one for insulators and one for metals. This should remove issues when changing the functional from PBEsol -> HSE, in which the band gap increases but the k-point mesh would be expected to stay the same.
Two new options have been added to the BaseVaspInputSetGenerator
:
auto_metal_kpoints
: If true and the system is metallic, try and usereciprocal_density_metal
instead ofreciprocal_density
for metallic systems.auto_ismear
: If true, the values for ISMEAR and SIGMA will be set automatically depending on the bandgap of the system. If the bandgap is not known (e.g., there is no previous VASP directory) then ISMEAR=0 and SIGMA=0.2; if the bandgap is zero (a metallic system) then ISMEAR=2 and SIGMA=0.2; if the system is an insulator, then ISMEAR=-5 (tetrahedron smearing).
New Features 🎉
- CP2K Support by @nwinner in #157
- Add forcefield schemas/makers to atomate2 by @matthewkuner in #322
- Add
m3gnet
support to Atomate2 by @matthewkuner in #380 - Phonons for forcefields by @JaGeo in #398
Bug Fixes 🐛
- Fix Lobster Schema by @JaGeo in #266
- fix lso dos of lobster being not saved in schema by @naik-aakash in #279
- fix
_get_strong_bonds
function by @naik-aakash in #289 - [Bug Fix] For stringing defect calculations together by @jmmshn in #292
- BUGFIX
auto_lreal
by @jmmshn in #297 - Fix
Yb
PSP: changeYb_2
toYb_3
by @janosh in #319 - Fix typo by @janosh in #321
- Fix overriding
magmoms
inupdate_user_incar_settings(
by @janosh in #375 - Fix encoding of input
Molecule
coordinates in cclibTaskDocument
by @arosen93 in #411 - [FIX] fix elastic tensor flow by @mjwen in #415
- [BUG FIX] Edge case for Magmoms by @jmmshn in #460
- [FIX] Fix major bug that caused
user_incar_settings
to be overwritten in some cases by @matthewkuner in #412 - Test for
zip_outputs
by @gpetretto in #503
Enhancements 🛠
- Extension of Lobster schema and additional tests by @JaGeo in #272
- Use emmet VASP task document by @utf in #269
- VASP inputset updates by @utf in #270
- Linting by @utf in #274
- Improve Lobster workflow preconverge step, kpoints, docs by @JaGeo in #277
- add
has_doscar_lso
field to Lobsterout schema model and update lobsterpy version by @naik-aakash in #286 - added simple chg check by @jmmshn in #320
- Switch to emmet's
MoleculeMetadata
by @arosen93 in #301 - Update update-precommit.yml by @utf in #330
- Update dependencies by @utf in #329
- Add missing molecule field to cclib TaskDocument by @arosen93 in #353
- allow elastically unstable structures by @matthewkuner in #355
- update lobstertask schema: add bandoverlaps,grosspop and sitepotentials fields by @naik-aakash in #404
- Update CondensedBondingAnalysis schema by @naik-aakash in #469
- Phonon tweaks by @utf in #276
- Update to Defects WF by @jmmshn in #430
- Small change to
gunzip
to allow better restarting by @jmmshn in #476 - Remove VASP calc types schema by @mjwen in #407
- Optionally zip files at the end of jobs by @gpetretto in #414
Documentation 📖
- Add more documentation for Lobster by @JaGeo in #267
- Use furo for docs theme by @utf in #331
- Update Lobster documentation by @JaGeo in #376
- Fix docs typos by @janosh in #373
- Update FireWorks section of docs by @arosen93 in #378
- Add a copy button to code blocks by @arosen93 in #382
- clean up doc, remove left-overs from amset example by @JaGeo in #394
- More details for lobster documentation by @JaGeo in #431
- Deploy docs on every commit to
main
by @janosh in #422 - Add clearer documentation on lobster worker by @JaGeo in #440
- Docs: add basic workflow tutorial by @rkingsbury in #408
- Use GitHub's
deploy-pages
action to deploy docs by @janosh in #475
House-Keeping 🧹
- More
ruff
by @janosh in #344 - Move all type-hint only imports behind
if TYPE_CHECKING
by @janosh in #354 ruff
selectperflint
flake8-slots
by @janosh in #395- Bump
ruff
and fixPERF401
: Use a list comprehension to create transformed list by @janosh in #421 - Simplify:
dict.get(key, None)
->dict.get(key)
by @janosh in #429 dict.setdefault
instead ofif key not in dict: dict[key] = ...
by @janosh in #452
New Contributors
- @naik-aakash made their first contribution in #279
- @matthewkuner made their first contribution in #322
- @gpetretto made their first contribution in #414
Full Changelog: v0.0.10...v0.0.11)