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
`atomate2` includes an interface to a few common machine learning interatomic potentials (MLIPs), also known variously as machine learning forcefields (MLFFs), or foundation potentials (FPs) for universal variants.
6
+
Support is provided for the following models, which can be selected using `atomate2.forcefields.utils.MLFF`, as shown in the table below.
7
+
**You need only install packages for the forcefields you wish to use.**
8
+
9
+
| Forcefield Name |`MLFF`| Reference | Description |
10
+
| ---- | ---- | ---- | ---- |
11
+
| CHGNet |`CHGNet`|[10.1038/s42256-023-00716-3](https://doi.org/10.1038/s42256-023-00716-3)| Available via the `chgnet` and `matgl` packages |
12
+
| DeepMD |`MLFF.DeepMD`|[10.1103/PhysRevB.108.L180104](https://doi.org/10.1103/PhysRevB.108.L180104)| The Deep Potential model used for this test is `UniPero`, a universal interatomic potential for perovskite oxides. It can be downloaded [here](https://github.com/sliutheorygroup/UniPero)|
| M3GNet |`M3GNet`|[10.1038/s43588-022-00349-3](https://doi.org/10.1038/s43588-022-00349-3)| Relies on `matgl` package |
15
+
| MACE-MP-0 |`MACE` or `MACE_MP_0` (recommended) |[10.1063/5.0297006](https://doi.org/10.1063/5.0297006)| Relies on `mace_torch` and optionally `torch_dftd` packages |
16
+
| MACE-MP-0b3 |`MACE_MP_0B3`|[10.1063/5.0297006](https://doi.org/10.1063/5.0297006)| Relies on `mace_torch` and optionally `torch_dftd` packages |
17
+
| MACE-MPA-0 |`MACE_MPA_0`|[10.1063/5.0297006](https://doi.org/10.1063/5.0297006)| Relies on `mace_torch` and optionally `torch_dftd` packages |
18
+
| MatPES-PBE |`MATPES_PBE`|[10.48550/arXiv.2503.04070](https://doi.org/10.48550/arXiv.2503.04070)| Relies on `matgl`. Defaults to TensorNet architecture, but can also use M3GNet or CHGNet architectures via kwargs. See `atomate2.forcefields.utils._DEFAULT_CALCULATOR_KWARGS` for more options. |
19
+
| MatPES-r<sup>2</sup>SCAN |`MATPES_R2SCAN`|[10.48550/arXiv.2503.04070](https://doi.org/10.48550/arXiv.2503.04070)| Relies on `matgl`. Defaults to TensorNet architecture, but can also use M3GNet or CHGNet architectures via kwargs. See `atomate2.forcefields.utils._DEFAULT_CALCULATOR_KWARGS` for more options. |
20
+
| Neuroevolution Potential (NEP) |`NEP`|[10.1103/PhysRevB.104.104309](https://doi.org/10.1103/PhysRevB.104.104309)| Relies on `calorine` package |
21
+
| Neural Equivariant Interatomic Potentials (Nequip) |`Nequip`|[10.1038/s41467-022-29939-5](https://doi.org/10.1038/s41467-022-29939-5)| Relies on the `nequip` package |
22
+
| SevenNet |`SevenNet`|[10.1021/acs.jctc.4c00190](https://doi.org/10.1021/acs.jctc.4c00190)| Relies on the `sevenn` package |
The `emmet-core` package is used to define data schemas for parsing outputs of workflows.
367
+
It is also used in building the Materials Project data, therefore its use in `atomate2` is to broadly ensure compatibility with the Materials Project's data structures.
368
+
`emmet-core` allows you to use either `pymatgen` or `emmet-core`-defined models for larger data objects, such as charge densities (`CHGCAR`, `AECCAR*`), or trajectories (relaxation, MD, etc.).
369
+
The `pymatgen` objects have long been the default in workflows, and are structured to be output as JSON files.
370
+
The `emmet-core` objects have been designed with both JSON and Apache parquet as storage formats.
371
+
372
+
If you will be storing data in the cloud, or would like to use these newer data models which may use less storage, you can either add a line to your `atomate2.yaml` file:
373
+
```yaml
374
+
VASP_USE_EMMET_MODELS: true
369
375
```
376
+
or use an environment variable in your `.bashrc`:
377
+
```console
378
+
export ATOMATE2_VASP_USE_EMMET_MODEL=true
379
+
```
380
+
Note that there is an equivalent `emmet-core` setting, which can be set by the environment variable `EMMET_USE_EMMET_MODELS`.
381
+
382
+
For ASE and machine learning forcefield jobs, you can use the `ASE_FORCEFIELD_USE_EMMET_MODELS` flag in `atomate2.yaml` to toggle the same functionality.
383
+
384
+
The default in `atomate2` is to use `pymatgen` models.
0 commit comments