-
Notifications
You must be signed in to change notification settings - Fork 22
Feature/pacemaker implementation #485
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
base: main
Are you sure you want to change the base?
Changes from all commits
e1d6ad2
96b2886
3d7326e
f7bbf62
4aebbd1
51b8650
ffa424a
10288d2
201d12b
943b00f
8a1b04e
4d691aa
3e66741
45ecc77
7de6ed8
cf27c74
91770a1
5585c47
2e0e7c0
ea285ce
f8dbae4
d0843b4
75465b8
1aca90d
78fcee5
51af9f8
02ec6fb
31c5fea
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -333,7 +333,7 @@ def process_rss( | |
| ASE Atoms object representing the atomic configuration. | ||
| mlip_type: str | ||
| Choose one specific MLIP type: | ||
| 'GAP' | 'J-ACE' | 'NequIP' | 'M3GNet' | 'MACE'. | ||
| 'GAP' | 'J-ACE' | 'P-ACE' | 'NequIP' | 'M3GNet' | 'MACE'. | ||
| mlip_path: str | Path | ||
| Path to the MLIP model. | ||
| output_file_name: str | ||
|
|
@@ -420,6 +420,29 @@ def process_rss( | |
| lmpcmds=cmds, atom_types=atom_types, log_file="test.log", keep_alive=True | ||
| ) | ||
|
|
||
| elif mlip_type == "P-ACE": | ||
|
|
||
| mlip_path_obj = Path(mlip_path) | ||
| potential_file = None | ||
|
|
||
| if mlip_path_obj.is_file(): | ||
| potential_file = mlip_path_obj | ||
| else: | ||
| target_file = mlip_path_obj / "output_potential.yaml" | ||
| if target_file.exists(): | ||
| potential_file = target_file | ||
|
|
||
| if potential_file is None: | ||
| raise FileNotFoundError( | ||
| f"Could not find 'output_potential.yaml' in {mlip_path} for P-ACE." | ||
| ) | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you try importing
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you Janine! All sound very good. I will quickly reply to your points regarding pacemaker installation / inplementation in this chat (and show more details in the following sperate chats). For the purpose: yes, we want to have a separate ACE-driven RSS flow that is independent of any GAP-RSS runs. I am not saying ACE will completely displace GAP (people can still run GAP-RSS if they want!), but we will have other MLIP options for the RSS process (ACE is particularlly important because it enables super large-scale MD simulations).
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Great! Thanks! |
||
| from autoplex.fitting.common.utils import ( # noqa: PLC0415 | ||
| AutoplexPyACECalculator, | ||
| ) | ||
|
|
||
| pot = AutoplexPyACECalculator(basis_set=str(potential_file.resolve())) | ||
|
|
||
| elif mlip_type == "NEQUIP": | ||
| nequip_label = os.path.join(mlip_path, "deployed_nequip_model.pth") | ||
| if isolated_atom_energies: | ||
|
|
@@ -539,7 +562,7 @@ def build_traj(): | |
|
|
||
|
|
||
| def minimize_structures( | ||
| mlip_type: Literal["GAP", "J-ACE", "NEP", "NEQUIP", "M3GNET", "MACE"], | ||
| mlip_type: Literal["GAP", "J-ACE", "P-ACE", "NEP", "NEQUIP", "M3GNET", "MACE"], | ||
| mlip_path: str | Path, | ||
| iteration_index: str, | ||
| structures: list[Structure], | ||
|
|
@@ -566,7 +589,7 @@ def minimize_structures( | |
|
|
||
| Parameters | ||
| ---------- | ||
| mlip_type: Literal["GAP", "J-ACE", "NEP", "NEQUIP", "M3GNET", "MACE"] | ||
| mlip_type: Literal["GAP", "J-ACE", "P-ACE", "NEP", "NEQUIP", "M3GNET", "MACE"] | ||
| Choose one specific MLIP type to be fitted. | ||
| mlip_path: str | Path | ||
| Path to the MLIP model. | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we will not be able to release the autoplex on PyPI with URL-based dependencies.
Can a new version for tensorpotential / pyace be requested for release on PyPI?
@yuxzhou, I assume a PyPI release of autoplex is expected after this PR is merged. Thus asking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That it is true. We likely need to keep the additional Readme.txt stuff.