diff --git a/docs/user/codes/forcefields.md b/docs/user/codes/forcefields.md index 503b4cd76b..5b70893e76 100644 --- a/docs/user/codes/forcefields.md +++ b/docs/user/codes/forcefields.md @@ -3,12 +3,13 @@ # Machine Learning forcefields / interatomic potentials `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. +These can be installed using `pip install 'atomate2[ase]'`. -***As of `atomate2==0.1.1`, most forcefield packages are opt-in only. You must install those forcefields which you plan to use.*** -Running `pip install 'atomate2[forcefields]'` will install the `chgnet` package to permit you to try the forcefield classes. -You can then select other forcefields you want to use. +***As of `atomate2==0.1.2`, all forcefield packages are opt-in only. You must install those forcefields which you plan to use.*** + +Running `pip install 'atomate2[forcefields-demo]'` will install the `chgnet` package to permit you to try the forcefield jobs/workflows. +You can then install additional forcefield libraries. -We have made this choice both to avoid the appearance of favoritism (both `chgnet` and `atomate2` are Materials Project-supported projects), and to avoid dependency conflicts between MLFF packages. If you need a sense of which forcefields are compatible, you can use the [pyproject.toml](https://github.com/materialsproject/atomate2/blob/a8bc6505e439503a114f5346aec916aafae7f27b/pyproject.toml#L90) to see which versions are grouped together for testing. Most of `Maker` classes using the forcefields inherit from `atomate2.forcefields.utils.ForceFieldMixin` to specify which forcefield to use. diff --git a/pyproject.toml b/pyproject.toml index fd9090fdbf..e3ea24ab53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,17 +55,15 @@ defects = [ "python-ulid>=2.7", ] -forcefields = [ - "ase>=3.26.0", - "chgnet>=0.4.2", -] +ase = ["ase>=3.26.0"] +ase-ext = ["tblite>=0.3.0; platform_system=='Linux'"] +forcefields-demo = ["chgnet>=0.3.8","atomate2[ase]"] + torchsim = [ "torch-sim-atomistic==0.5.0; python_version >= '3.12'" ] jdftx = ["pymatgen==2026.3.23"] approxneb = ["pymatgen-analysis-diffusion>=2024.7.15"] -ase = ["ase>=3.26.0"] -ase-ext = ["tblite>=0.3.0; platform_system=='Linux'"] openmm = [ "mdanalysis>=2.8.0", "openmm-mdanalysis-reporter>=0.1.0",