|
1 | 1 | {
|
2 | 2 | "cells": [
|
3 | 3 | {
|
| 4 | + "metadata": {}, |
4 | 5 | "cell_type": "markdown",
|
5 |
| - "id": "0", |
| 6 | + "source": "# OpenMM Tutorial", |
| 7 | + "id": "ace71c1812743076" |
| 8 | + }, |
| 9 | + { |
6 | 10 | "metadata": {
|
7 | 11 | "jupyter": {
|
8 | 12 | "outputs_hidden": false
|
9 | 13 | }
|
10 | 14 | },
|
| 15 | + "cell_type": "markdown", |
11 | 16 | "source": [
|
12 |
| - "### Installing Atomate2 From Source with OpenMM\n", |
| 17 | + "## Installing Atomate2 From Source with OpenMM\n", |
13 | 18 | "\n",
|
14 | 19 | "```bash\n",
|
15 | 20 | "# setting up our conda environment\n",
|
|
46 | 51 | "pip uninstall bson\n",
|
47 | 52 | "pip install pymongo\n",
|
48 | 53 | "```"
|
49 |
| - ] |
| 54 | + ], |
| 55 | + "id": "0" |
50 | 56 | },
|
51 | 57 | {
|
52 | 58 | "cell_type": "markdown",
|
53 | 59 | "id": "1",
|
54 | 60 | "metadata": {},
|
55 | 61 | "source": [
|
56 |
| - "### Understanding Atomate2 OpenMM \n", |
| 62 | + "## Understanding Atomate2 OpenMM\n", |
57 | 63 | "\n",
|
58 | 64 | "Atomate2 is really just a collection of jobflow workflows relevant to materials science. In all the workflows, we pass our system of interest between different jobs to perform the desired simulation. Representing the intermediate state of a classical molecular dynamics simulation, however, is challenging. While the intermediate representation between stages of a periodic DFT simulation can include just the elements, xyz coordinates, and box vectors, classical molecular dynamics systems must also include velocities and forces. The latter is particularly challenging because all MD engines represent forces differently. Rather than implement our own representation, we use the `openff.interchange.Interchange` object, which catalogs the necessary system properties and interfaces with a variety of MD engines. This is the object that we pass between stages of a classical MD simulation and it is the starting point of our workflow."
|
59 | 65 | ]
|
|
63 | 69 | "id": "2",
|
64 | 70 | "metadata": {},
|
65 | 71 | "source": [
|
66 |
| - "### Pouring a Glass of Wine\n", |
| 72 | + "## Pouring a Glass of Wine\n", |
67 | 73 | "\n",
|
68 | 74 | "The first job we need to create generates the `Interchange` object. To specify the system of interest, we use give it the SMILES strings, counts, and names (optional) of the molecules we want to include."
|
69 | 75 | ]
|
|
173 | 179 | "id": "8",
|
174 | 180 | "metadata": {},
|
175 | 181 | "source": [
|
176 |
| - "### The basic simulation\n", |
| 182 | + "## The basic simulation\n", |
177 | 183 | "\n",
|
178 | 184 | "To run a production simulation, we will create a production flow, link it to our `elyte_interchange_job`, and then run both locally.\n",
|
179 | 185 | "\n",
|
|
245 | 251 | "id": "11",
|
246 | 252 | "metadata": {},
|
247 | 253 | "source": [
|
248 |
| - "### Configuring the Simulation\n", |
| 254 | + "## Configuring the Simulation\n", |
249 | 255 | "\n",
|
250 | 256 | "All OpenMM jobs, i.e. anything in `atomate2.openmm.jobs`, inherits from the `BaseOpenMMMaker` class. `BaseOpenMMMaker` is highly configurable, you can change the timestep, temperature, reporting frequencies, output types, and a range of other properties. See the docstring for the full list of options.\n",
|
251 | 257 | "\n",
|
|
277 | 283 | "id": "14",
|
278 | 284 | "metadata": {},
|
279 | 285 | "source": [
|
280 |
| - "### Running with Databases\n", |
| 286 | + "## Running with Databases\n", |
281 | 287 | "\n",
|
282 | 288 | "Before trying this, you should have a basic understanding of JobFlow and [Stores](https://materialsproject.github.io/jobflow/stores.html).\n",
|
283 | 289 | "\n",
|
|
366 | 372 | "id": "15",
|
367 | 373 | "metadata": {},
|
368 | 374 | "source": [
|
369 |
| - "### Running on GPU(s)\n", |
| 375 | + "## Running on GPU(s)\n", |
370 | 376 | "\n",
|
371 | 377 | "Running on a GPU is nearly as simple as running on a CPU. The only difference is that you need to specify the `platform_properties` argument in the `EnergyMinimizationMaker` with the `DeviceIndex` of the GPU you want to use."
|
372 | 378 | ]
|
|
0 commit comments