Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forcefield molecular dynamics and forcefield refactor #722

Merged
merged 64 commits into from
Apr 3, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
7637392
FF MD fully implemented
esoteric-ephemera Feb 15, 2024
659ad4a
change MD defaults to be NVT + Langevin dynamics
esoteric-ephemera Feb 15, 2024
ade233e
add md defaults that are as consistent with vasp implementation as po…
esoteric-ephemera Feb 16, 2024
e27b3fa
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Feb 16, 2024
db51e23
correct typing of langevin friction coeff
esoteric-ephemera Feb 16, 2024
1dcad1d
Add option to ForceFieldTaskDocument to store trajectory information …
esoteric-ephemera Feb 16, 2024
47a6180
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Feb 16, 2024
35fa20d
Add tests, remove dependence on pickle for trajectory i/o
esoteric-ephemera Feb 16, 2024
0d8fdef
fix tests, update matgl dependence
esoteric-ephemera Feb 17, 2024
013d113
rename MD forcefield class vars to be consistent with VASP MDSetGener…
esoteric-ephemera Feb 20, 2024
56c81c0
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Feb 22, 2024
1ec5910
Add option to explicitly specify thermostat as ASE MolecularDynamics …
esoteric-ephemera Feb 22, 2024
1e4fcb7
refactoring and add T/P schedule
Feb 23, 2024
317412c
implement T/P schedule and attach callback func
Feb 24, 2024
76ffa66
np.nan
Feb 24, 2024
8253a35
np.nan
Feb 24, 2024
96ae784
Merge branch 'mlff_md' of github.com:esoteric-ephemera/atomate2 into …
Feb 24, 2024
298250d
small fixes
Feb 27, 2024
0045b2b
pass ASE dynamics object instead of class, update docstring
Feb 27, 2024
b870c04
add temp ramp test and make sure upper tria matrix cell
Feb 28, 2024
71728a3
add stresses to trajeoctroy observer, add pressure schedule test
Feb 28, 2024
45ddaa1
avoid `stresses` key not in taskdoc bug
Feb 29, 2024
74bf6a0
Refactory TrajectoryObserver, add option to save trajectory as either…
esoteric-ephemera Mar 1, 2024
8f7fe84
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 1, 2024
9ff7dae
Change decomposition to upper triangular cell only when Nose-Hoover r…
esoteric-ephemera Mar 1, 2024
9ea1ef9
Fix failing tests
esoteric-ephemera Mar 1, 2024
8727300
Change MD default TaskDoc ionic step to only store mandatory info
esoteric-ephemera Mar 1, 2024
56edc31
update pymatgen requirement because of CifParser deprecation
esoteric-ephemera Mar 1, 2024
b52a888
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 4, 2024
5bbe9d7
Significant refactor to all forcefield jobs. Use commmon ASE calc str…
esoteric-ephemera Mar 6, 2024
656c5d6
Merge branch 'main' into mlff_md
esoteric-ephemera Mar 6, 2024
21dd709
Fix forcefield utils test and lint
esoteric-ephemera Mar 6, 2024
9ba7d29
Add revert_dtype env for running forcefield relax and md jobs / undo …
esoteric-ephemera Mar 6, 2024
0e8cce1
Merge branch 'main' into mlff_md
esoteric-ephemera Mar 7, 2024
8a2451e
refactor nequip jobs, add md default for nequip
esoteric-ephemera Mar 8, 2024
38ad2d6
Add GAP and Nequip MD tests, fix arg / kwarg passing in MD
esoteric-ephemera Mar 8, 2024
ac4916b
remove calculator_args / ase_calculator args, revert phonon job change
esoteric-ephemera Mar 8, 2024
21af2ae
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 8, 2024
c19b39b
remove todo about adding magmoms to forcefield traj observer as that'…
esoteric-ephemera Mar 8, 2024
d95397d
Remove comments, add option to seed rng for MB velocities, turn on id…
esoteric-ephemera Mar 13, 2024
770aa3a
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 13, 2024
3fa7b27
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 25, 2024
8ecc1d1
Ensure CHGNet and M3GNet relax / static makers convert stress to eV/A…
esoteric-ephemera Mar 25, 2024
7b8f584
fix M3GNet test related to outdated cached model
esoteric-ephemera Mar 25, 2024
e4f407d
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Mar 28, 2024
d3aa25d
Fix dependencies, amend forcefield static option parsing
esoteric-ephemera Mar 29, 2024
ecf9356
linting
esoteric-ephemera Mar 29, 2024
733f60e
try to fix ci tests caused by torch / dgl incompatibility
esoteric-ephemera Mar 29, 2024
a0ead20
try to fix ci tests caused by torch / dgl incompatibility
esoteric-ephemera Mar 29, 2024
a4ea304
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Apr 1, 2024
d3c5ad6
Change: default time_step, units for time_step, initialization of tem…
esoteric-ephemera Apr 1, 2024
626b73b
linting / pre-commit
esoteric-ephemera Apr 1, 2024
9cee412
revert default time_step units to fs
esoteric-ephemera Apr 1, 2024
da809df
add missing forcefields to version check in forcefield task document
esoteric-ephemera Apr 1, 2024
2fd3b6b
allow complex schur decomposition
Apr 1, 2024
a65a207
Merge pull request #1 from chiang-yuan/mlff-md
chiang-yuan Apr 1, 2024
3e7ced3
more snake case
janosh Apr 1, 2024
a4c6bd5
Decrease number of steps in tests for speed. Fix (?) temperature / pr…
esoteric-ephemera Apr 1, 2024
edbb2e7
linting
esoteric-ephemera Apr 1, 2024
400bbc3
fix T/P schedule
Apr 2, 2024
5fd59dd
Merge pull request #2 from chiang-yuan/mlff_md
chiang-yuan Apr 2, 2024
0a06373
linting
esoteric-ephemera Apr 2, 2024
4a88d7b
replace dunder __getattribute__ --> getattr in forcefield test_md
esoteric-ephemera Apr 2, 2024
78ad999
Merge branch 'materialsproject:main' into mlff_md
esoteric-ephemera Apr 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies = [
"numpy",
"pydantic-settings>=2.0.3",
"pydantic>=2.0.1",
"pymatgen>=2023.12.18",
"pymatgen>=2024.3.1",
]

[project.optional-dependencies]
Expand All @@ -48,7 +48,7 @@ forcefields = [
"ase>=3.22.1",
"chgnet>=0.2.2",
"mace-torch>=0.3.3",
"matgl>=0.9.0",
"matgl>=1.0.0",
"quippy-ase>=0.9.14",
]
docs = [
Expand Down
10 changes: 6 additions & 4 deletions src/atomate2/common/jobs/phonons.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,13 @@ def generate_phonon_displacements(
"of the symmetry of the structure and thus will be removed now.",
stacklevel=1,
)
cell = get_phonopy_structure(

# Note that `remove_site_property` returns None
Copy link
Member

@janosh janosh Mar 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is no longer true. i changed a lot of structure methods to return self 3 weeks ago in materialsproject/pymatgen#3623

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted this change

if "magmom" in structure.site_properties:
structure.remove_site_property(property_name="magmom")
if "magmom" in structure.site_properties
else structure
)

cell = get_phonopy_structure(structure)

factor = get_factor(code)

# a bit of code repetition here as I currently
Expand Down
2 changes: 1 addition & 1 deletion src/atomate2/common/jobs/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def structure_to_conventional(
structure: Structure, symprec: float = SETTINGS.SYMPREC
) -> Structure:
"""
Job hat creates a standard conventional structure.
Job that creates a standard conventional structure.

Parameters
----------
Expand Down
1 change: 1 addition & 0 deletions src/atomate2/forcefields/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ class MLFF(Enum): # TODO inherit from StrEnum when 3.11+
GAP = "GAP"
M3GNet = "M3GNet"
CHGNet = "CHGNet"
Forcefield = "Forcefield" # default placeholder option
Loading
Loading