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
+
7
+
Most of `Maker` classes using the forcefields inherit from `atomate2.forcefields.utils.ForceFieldMixin` to specify which forcefield to use.
8
+
The `ForceFieldMixin` mixin provides the following configurable parameters:
9
+
10
+
-`force_field_name`: Name of the forcefield to use.
11
+
-`calculator_kwargs`: Keyword arguments to pass to the corresponding ASE calculator.
12
+
13
+
These parameters are passed to `atomate2.forcefields.utils.ase_calculator()` to instantiate the appropriate ASE calculator.
14
+
15
+
The `force_field_name` should be either one of predefined `atomate2.forcefields.utils.MLFF` (or its string equivalent) or a dictionary decodable as a class or function for ASE calculator as follows.
16
+
17
+
## Using predefined forcefields supported via `atomate2.forcefields.utils.MLFF`
18
+
6
19
Support is provided for the following models, which can be selected using `atomate2.forcefields.utils.MLFF`, as shown in the table below.
7
20
**You need only install packages for the forcefields you wish to use.**
8
21
@@ -20,3 +33,18 @@ Support is provided for the following models, which can be selected using `atoma
20
33
| Neuroevolution Potential (NEP) |`NEP`|[10.1103/PhysRevB.104.104309](https://doi.org/10.1103/PhysRevB.104.104309)| Relies on `calorine` package |
21
34
| 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
35
| SevenNet |`SevenNet`|[10.1021/acs.jctc.4c00190](https://doi.org/10.1021/acs.jctc.4c00190)| Relies on the `sevenn` package |
36
+
37
+
## Using custom forcefields by dictionary
38
+
39
+
`force_field_name` also accepts a MSONable dictionary for specifying a custom ASE calculator class or function [^calculator-meta-type-annotation].
40
+
For example, a `Job` created with the following code snippet instantiates `chgnet.model.dynamics.CHGNetCalculator` as the ASE calculator:
41
+
```python
42
+
job = ForceFieldStaticMaker(
43
+
force_field_name={
44
+
"@module": "chgnet.model.dynamics",
45
+
"@callable": "CHGNetCalculator",
46
+
}
47
+
).make(structure)
48
+
```
49
+
50
+
[^calculator-meta-type-annotation]: In this context, the type annotation of the decoded dict should be either `Type[Calculator]` or `Callable[..., Calculator]`, where `Calculator` is from `ase.calculators.calculator`.
Copy file name to clipboardExpand all lines: docs/user/key_concepts_overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,7 +103,7 @@ An `InputSet` is a convenient way to provide a collection of input data for one
103
103
The [pymatgen](https://github.com/materialsproject/pymatgen) class `InputSet` is a core class to manage and write the input files for the several computational codes to a file location the user specifies.
104
104
There are predefined "recipes" for generating `InputSets` tailored to specific tasks like structural relaxation or the band structure calculation and more, that are provided as `InputGenerator` classes.
105
105
106
-
## Technical Aspects
106
+
###Technical Aspects
107
107
108
108
The `InputSet` objects posses the `write_input()` method that is used to write all the necessary files.
0 commit comments