Skip to content

Commit 003b853

Browse files
authored
add more info on jobflow-remote (#1154)
* fix gruneisen tutorial * run precommit * append name * fix linting * fix mdanalysis version * fix mdanalysis version * add jobflow-remote info * update fix_doc * update fix_doc * update fix_doc
1 parent 418e046 commit 003b853

File tree

3 files changed

+55
-6
lines changed

3 files changed

+55
-6
lines changed

README.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Atomate2 is a free, open-source software for performing complex materials scienc
1313
workflows using simple Python functions. Features of atomate2 include
1414

1515
- It is built on open-source libraries: [pymatgen], [custodian], [jobflow], and
16-
[FireWorks].
16+
[jobflow-remote] or [FireWorks].
1717
- A library of "standard" workflows to compute a wide variety of desired materials
1818
properties.
1919
- The ability scale from a single material, to 100 materials, or 100,000 materials.
@@ -81,8 +81,8 @@ See the [installation] steps for details how to set all of this up.
8181

8282
In this example, we execute the workflow immediately. In many cases, you might want
8383
to perform calculations on several materials simultaneously. To achieve this, all
84-
atomate2 workflows can be run using the [FireWorks] software. See the
85-
[documentation][atomate2_fireworks] for more details.
84+
atomate2 workflows can be run using the [jobflow-remote] or [FireWorks] software. See the
85+
[jobflow-remote-specific documentation][atomate2-jobflow-remote] or [fireworks-specific documentation][atomate2_fireworks] for more details.
8686

8787
## Installation
8888

@@ -141,6 +141,7 @@ A journal submission of `atomate2` is undergoing peer review. In the meantime, p
141141
[pymatgen]: https://pymatgen.org
142142
[fireworks]: https://materialsproject.github.io/fireworks/
143143
[jobflow]: https://materialsproject.github.io/jobflow/
144+
[jobflow-remote]: https://github.com/Matgenix/jobflow-remote
144145
[custodian]: https://materialsproject.github.io/custodian/
145146
[VASP]: https://www.vasp.at
146147
[AMSET]: https://hackingmaterials.lbl.gov/amset/
@@ -154,6 +155,7 @@ A journal submission of `atomate2` is undergoing peer review. In the meantime, p
154155
[running-workflows]: https://materialsproject.github.io/atomate2/user/running-workflows.html
155156
[key-concepts]: https://materialsproject.github.io/atomate2/user/key_concepts_overview.html#key-concepts-in-atomate2-job-flow-makers-inputset-taskdocument-and-builder
156157
[atomate2_fireworks]: https://materialsproject.github.io/atomate2/user/fireworks.html
158+
[atomate2-jobflow-remote]: https://materialsproject.github.io/atomate2/user/jobflow-remote.html
157159
[vasp_workflows]: https://materialsproject.github.io/atomate2/user/codes/vasp.html
158160
[RelaxBandStructure]: https://materialsproject.github.io/atomate2/user/codes/vasp.html#relax-and-band-structure
159161
[Lobster]: http://www.cohp.de

docs/user/install.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66

77
This guide will get you up and running in an environment for running high-throughput
88
workflows with atomate2. atomate2 is built on the `pymatgen`, `custodian`, `jobflow`, and
9-
`FireWorks` libraries. Briefly:
9+
[`jobflow-remote`] or `FireWorks` libraries. Briefly:
1010

1111
- [`pymatgen`] is used to create input files and analyze the output of materials science codes.
1212
- [`custodian`] runs your simulation code (e.g., VASP) and performs error checking/handling
1313
and checkpointing.
1414
- [`jobflow`] is used to design computational workflows.
15-
- [`FireWorks`] (optional) is used to manage and execute workflows on HPC machines.
15+
- [`jobflow-remote`] (optional, option 1) is used to manage and execute workflows on HPC machines.
16+
- [`FireWorks`] (optional, option 2) is used to manage and execute workflows on HPC machines.
1617

1718
Running and writing your own workflows are covered in later tutorials. For now, these
1819
topics will be covered in enough depth to get you set up and to help you know where to
@@ -24,6 +25,7 @@ currently in atomate2 pertains to VASP.
2425
[`pymatgen`]: http://pymatgen.org
2526
[`custodian`]: https://materialsproject.github.io/custodian
2627
[`fireworks`]: https://materialsproject.github.io/fireworks
28+
[`jobflow-remote`]: https://matgenix.github.io/jobflow-remote/
2729
[`jobflow`]: https://materialsproject.github.io/jobflow
2830

2931
### Objectives
@@ -482,7 +484,7 @@ See the following pages for more information on the topics we covered here:
482484
[](running_workflows) tutorial (suggested next step).
483485
- To learn more about `TaskDocument` and how `atomate2` organizes output data, review
484486
the [Introduction to task documents, schemas, and emmet](docs_schemas_emmet.md) tutorial.
485-
- To see how to manage and execute many workflows at once, try the
487+
- To see how to manage and execute many workflows at once, try the [](jobflow-remote) or
486488
[](atomate2_fireWorks) tutorial.
487489

488490
## Troubleshooting and FAQ

docs/user/jobflow-remote.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
(atomate2_jobflow-remote)=
2+
# Using atomate2 with jobflow-remote
3+
4+
Please see [jobflow-remote][jobflow-remote] for how to install the software.
5+
Jobflow-remote allows you to easily submit and manage thousands of jobs at once and has several submission
6+
options including remote submission.
7+
8+
Once you have constructed your atomate2 workflow, you can easily submit it with jobflow-remote:
9+
10+
```py
11+
from atomate2.vasp.flows.core import RelaxBandStructureMaker
12+
from atomate2.vasp.powerups import add_metadata_to_flow
13+
from jobflow_remote import submit_flow
14+
from pymatgen.core import Structure
15+
16+
resources = {"nodes": 1, "partition": "micro", "time": "00:55:00", "ntasks": 48}
17+
18+
# construct a rock salt MgO structure
19+
mgo_structure = Structure(
20+
lattice=[[0, 2.13, 2.13], [2.13, 0, 2.13], [2.13, 2.13, 0]],
21+
species=["Mg", "O"],
22+
coords=[[0, 0, 0], [0.5, 0.5, 0.5]],
23+
)
24+
25+
# make a band structure flow to optimise the structure and obtain the band structure
26+
bandstructure_flow = RelaxBandStructureMaker().make(mgo_structure)
27+
28+
# (Optional) add metadata to the flow task document.
29+
# Could be useful to filter specific results from the database.
30+
# For e.g., adding material project ID for the compound, use following lines
31+
bandstructure_flow = add_metadata_to_flow(
32+
flow=bandstructure_flow,
33+
additional_fields={"mp_id": "mp-190"},
34+
)
35+
36+
submit_flow(
37+
bandstructure_flow, worker="my_worker", resources=resources, project="my_project"
38+
)
39+
```
40+
41+
42+
43+
44+
45+
[jobflow-remote]: https://materialsproject.github.io/fireworks/

0 commit comments

Comments
 (0)