You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,55 @@
1
1
# Change log
2
2
3
+
## v0.0.21
4
+
5
+
### Bug Fixes 🐛
6
+
* switch to CONTCAR read for LOBSTERTaskDoc by @naik-aakash in https://github.com/materialsproject/atomate2/pull/1204
7
+
* cover cases where optimizer does additional steps even though step is set to 0 or 1 for writing xyz files by @JaGeo in https://github.com/materialsproject/atomate2/pull/1207
8
+
* Remove walrus operator to avoid unassigned vmax by @Jonas-Finkler in https://github.com/materialsproject/atomate2/pull/1203
9
+
### Enhancements 🛠
10
+
* add file output xyz file including final atoms object to ase and forcefield jobs by @JaGeo in https://github.com/materialsproject/atomate2/pull/1206
11
+
### Documentation 📖
12
+
* Add video tutorials to README by @JaGeo in https://github.com/materialsproject/atomate2/pull/1191
13
+
* be more concrete for tutorial video names in readme by @JaGeo in https://github.com/materialsproject/atomate2/pull/1192
14
+
* Adding download statistics to readme by @JaGeo in https://github.com/materialsproject/atomate2/pull/1209
15
+
16
+
## New Contributors
17
+
*@Jonas-Finkler made their first contribution in https://github.com/materialsproject/atomate2/pull/1203
* Add MatPES forcefields by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1158
25
+
* Add `DynamicOpenMMFlowMaker` for dynamic OpenMM Simulations by @shehan807 in https://github.com/materialsproject/atomate2/pull/1115
26
+
* atomate2 / OpenMM OPLS-AA Enhancements by @shehan807 in https://github.com/materialsproject/atomate2/pull/1111
27
+
* Add updated MP workflows + cleanup by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1139
28
+
### Documentation 📖
29
+
* Improve documentation LOBSTER and PHONON workflow by @JaGeo in https://github.com/materialsproject/atomate2/pull/1117
30
+
* Add key concept tutorial to tutorial list in README by @QuantumChemist in https://github.com/materialsproject/atomate2/pull/1120
31
+
* Fixing headline levels in key_concepts_overview.md by @QuantumChemist in https://github.com/materialsproject/atomate2/pull/1121
32
+
* try to fix the doc by @JaGeo in https://github.com/materialsproject/atomate2/pull/1125
33
+
* Added code snippets for Grüneisen, QHA and EOS wfs documentation by @QuantumChemist in https://github.com/materialsproject/atomate2/pull/1130
34
+
* a few improvements for the tutorials by @QuantumChemist in https://github.com/materialsproject/atomate2/pull/1132
35
+
* Update tutorials.md by @JaGeo in https://github.com/materialsproject/atomate2/pull/1138
36
+
* Electrode workflow and documentation improvements by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1055
37
+
* Update index.md by @JaGeo in https://github.com/materialsproject/atomate2/pull/1155
38
+
### House-Keeping 🧹
39
+
* More CI fixes by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1141
40
+
### Other Changes
41
+
* Pin MACE calculator version, add missing metadata to AseStructureTaskDoc by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1119
42
+
* Tutorials for QHA and Grüneisen workflows by @JaGeo in https://github.com/materialsproject/atomate2/pull/1122
43
+
* add more headlines to tutorials and fix a typo by @JaGeo in https://github.com/materialsproject/atomate2/pull/1126
44
+
* Minor update to tutorials by @naik-aakash in https://github.com/materialsproject/atomate2/pull/1128
45
+
* adjust example flow names by @QuantumChemist in https://github.com/materialsproject/atomate2/pull/1131
46
+
* Aims phonon tutorials by @tpurcell90 in https://github.com/materialsproject/atomate2/pull/1136
47
+
* fix gruneisen tutorial by @JaGeo in https://github.com/materialsproject/atomate2/pull/1142
48
+
* fix link again for aims tutorial by @JaGeo in https://github.com/materialsproject/atomate2/pull/1143
49
+
* Append name relax by @JaGeo in https://github.com/materialsproject/atomate2/pull/1150
50
+
* add more info on jobflow-remote by @JaGeo in https://github.com/materialsproject/atomate2/pull/1154
51
+
* Add example MP-compatible phase diagram tutorial by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1159
-[Using atomate2 with FireWorks][atomate2_fireworks]
99
100
-[Overview of key concepts][key-concepts]
100
101
-[List of VASP workflows][vasp_workflows]
102
+
-[Executable tutorials for different workflows][tutorials]
103
+
104
+
In March 2025, the first dedicated school on atomate2 (including the workflow language jobflow and the workflow manager jobflow-remote) took place, and one can access the video material here:
105
+
106
+
-[Jobflow and Jobflow-remote][videotutorial1]
107
+
-[atomate2][videotutorial2]
108
+
-[Advanced Workflows in atomate2: Part 1][videotutorial3]
109
+
-[Advanced Workflows in atomate2: Part 2][videotutorial4]
101
110
102
111
## Need help?
103
112
@@ -157,10 +166,15 @@ A journal submission of `atomate2` is undergoing peer review. In the meantime, p
In short: While the cell size, shape, symmetry, etc. can change during a relaxation, the *k* point grid does not change with it.
103
+
Additionally, the number of plane waves is held constant during a relaxation.
104
+
Both features lead to artificial (numerical) stress due to under-convergence of a relaxation with respect to the basis set.
105
+
To avoid this, we perform a single relaxation, and input its final structure to another relaxation calculation.
106
+
At the start of the second relaxation, the *k*-point mesh and plane waves are adjusted to reflect the new symmetry of the cell.
107
+
108
+
### Materials Project structure optimization
109
+
110
+
The Materials Project hosts a large database of, among other physical properties, optimized structures and their associated total energy, formation enthalpy, and basic electronic structure properties.
111
+
To generate this data, the Materials Project uses a simple double-relaxation followed by a final static calculation.
112
+
While in principle, if the second relaxation calculation is converged, a final static calculation would not be needed.
113
+
However, the second relaxation may have residual Pulay stress, and VASP averages some electronic structure data ([like the density of states](https://www.vasp.at/wiki/index.php/DOSCAR)) during a relaxation.
114
+
Thus we need to perform a final single-point (static) calculation, usually using the corrected tetrahedron method (`ISMEAR=-5`) to ensure accurate electronic structure properties.
115
+
116
+
The workflows used to produce PBE GGA or GGA+*U* and r<sup>2</sup>SCAN thermodynamic data are, respectively, `MPGGADoubleRelaxStaticMaker` and `MPMetaGGADoubleRelaxStaticMaker` in `atomate2.vasp.flows.mp`.
117
+
Moving forward, the Materials Project prefers r<sup>2</sup>SCAN calculations, but maintains its older set of GGA-level data which currently has wider coverage.
118
+
For documentation about the calculation parameters used, see the [Materials Project documentation.](https://docs.materialsproject.org/methodology/materials-methodology/calculation-details)
To update *k*-points, use the `user_kpoints_settings` keyword argument of an input set generator.
638
+
You can supply either a `pymatgen.io.vasp.inputs.Kpoints` object, or a `dict` containing certain [keys](https://github.com/materialsproject/pymatgen/blob/b54ac3e65e46b876de40402e8da59f551fb7d005/src/pymatgen/io/vasp/sets.py#L812).
639
+
We generally recommend the former approach unless the user is familiar with the specific style of *k*-point updates used by `pymatgen`.
640
+
For example, to use just the $\Gamma$ point:
641
+
642
+
```py
643
+
from pymatgen.io.vasp.inputs import Kpoints
644
+
from atomate2.vasp.sets.core import StaticSetGenerator
Finally, sometimes you have a workflow containing many VASP jobs. In this case it can be
620
665
tedious to update the input sets for each job individually. Atomate2 provides helper
621
666
functions called "powerups" that can apply settings updates to all VASP jobs in a flow.
@@ -663,8 +708,7 @@ modification of several additional VASP settings, such as the k-points
663
708
664
709
If a greater degree of flexibility is needed, the user can define a default set of input
665
710
arguments (`config_dict`) that can be provided to the {obj}`.VaspInputGenerator`.
666
-
By default, the {obj}`.VaspInputGenerator` uses a base set of VASP input parameters
667
-
from {obj}`.BaseVaspSet.yaml`, which each `Maker` is built upon. If desired, the user can
711
+
By default, the {obj}`.VaspInputGenerator` uses a base set of VASP input parameters (`atomate2.vasp.sets.base._BASE_VASP_SET`), which each `Maker` is built upon. If desired, the user can
668
712
define a custom `.yaml` file that contains a different base set of VASP settings to use.
669
713
An example of how this can be done is shown below for a representative static
0 commit comments