|
8 | 8 | from monty.dev import deprecated
|
9 | 9 |
|
10 | 10 | from atomate2.common.flows.eos import CommonEosMaker
|
11 |
| -from atomate2.forcefields import MLFF, _get_formatted_ff_name |
| 11 | +from atomate2.forcefields import _get_formatted_ff_name |
12 | 12 | from atomate2.forcefields.jobs import ForceFieldRelaxMaker
|
13 | 13 |
|
14 | 14 | if TYPE_CHECKING:
|
15 | 15 | from jobflow import Maker
|
16 | 16 | from typing_extensions import Self
|
17 | 17 |
|
| 18 | + from atomate2.forcefields import MLFF |
| 19 | + |
18 | 20 |
|
19 | 21 | @dataclass
|
20 | 22 | class ForceFieldEosMaker(CommonEosMaker):
|
@@ -74,25 +76,28 @@ def from_force_field_name(
|
74 | 76 | relax_initial_structure: bool = True
|
75 | 77 | Whether to relax the initial structure before performing an EOS fit.
|
76 | 78 | **kwargs
|
77 |
| - Additional kwargs to pass to ElasticMaker |
| 79 | + Additional kwargs to pass to ForceFieldEosMaker |
78 | 80 |
|
79 | 81 |
|
80 | 82 | Returns
|
81 | 83 | -------
|
82 | 84 | ForceFieldEosMaker
|
83 | 85 | """
|
84 | 86 | force_field_name = _get_formatted_ff_name(force_field_name)
|
85 |
| - return cls( |
86 |
| - name=f"{force_field_name.split('MLFF.')[-1]} EOS Maker", |
87 |
| - initial_relax_maker=( |
88 |
| - ForceFieldRelaxMaker(force_field_name=force_field_name) |
89 |
| - if relax_initial_structure |
90 |
| - else None |
91 |
| - ), |
| 87 | + if relax_initial_structure: |
| 88 | + kwargs.update( |
| 89 | + initial_relax_maker=ForceFieldRelaxMaker( |
| 90 | + force_field_name=force_field_name |
| 91 | + ) |
| 92 | + ) |
| 93 | + kwargs.update( |
92 | 94 | eos_relax_maker=ForceFieldRelaxMaker(
|
93 | 95 | force_field_name=force_field_name, relax_cell=False
|
94 | 96 | ),
|
95 | 97 | static_maker=None,
|
| 98 | + ) |
| 99 | + return cls( |
| 100 | + name=f"{force_field_name.split('MLFF.')[-1]} EOS Maker", |
96 | 101 | **kwargs,
|
97 | 102 | )
|
98 | 103 |
|
@@ -202,12 +207,14 @@ class M3GNetEosMaker(CommonEosMaker):
|
202 | 207 | @deprecated(
|
203 | 208 | replacement=ForceFieldEosMaker,
|
204 | 209 | deadline=(2025, 1, 1),
|
205 |
| - message='Use ForceFieldEosMaker.from_force_field_name(force_field_name = "MACE")', |
| 210 | + message=( |
| 211 | + 'Use ForceFieldEosMaker.from_force_field_name(force_field_name = "MACE-MP-0")' |
| 212 | + ), |
206 | 213 | )
|
207 | 214 | @dataclass
|
208 | 215 | class MACEEosMaker(CommonEosMaker):
|
209 | 216 | """
|
210 |
| - Generate equation of state data using the MACE ML forcefield. |
| 217 | + Generate equation of state data using the MACE-MP-0 ML forcefield. |
211 | 218 |
|
212 | 219 | First relax a structure using relax_maker.
|
213 | 220 | Then perform a series of deformations on the relaxed structure, and
|
@@ -238,13 +245,13 @@ class MACEEosMaker(CommonEosMaker):
|
238 | 245 | TODO: remove this when clash is fixed
|
239 | 246 | """
|
240 | 247 |
|
241 |
| - name: str = "MACE EOS Maker" |
| 248 | + name: str = "MACE-MP-0 EOS Maker" |
242 | 249 | initial_relax_maker: Maker = field(
|
243 |
| - default_factory=lambda: ForceFieldRelaxMaker(force_field_name="MACE") |
| 250 | + default_factory=lambda: ForceFieldRelaxMaker(force_field_name="MACE-MP-0") |
244 | 251 | )
|
245 | 252 | eos_relax_maker: Maker = field(
|
246 | 253 | default_factory=lambda: ForceFieldRelaxMaker(
|
247 |
| - force_field_name="MACE", relax_cell=False |
| 254 | + force_field_name="MACE-MP-0", relax_cell=False |
248 | 255 | )
|
249 | 256 | )
|
250 | 257 | static_maker: Maker = None
|
0 commit comments