-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
215 lines (187 loc) · 7.74 KB
/
Copy pathindex.html
File metadata and controls
215 lines (187 loc) · 7.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Interactive Molecular Dynamics</title>
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai-sublime.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-background-iframe="title_background.html">
<h1>Interactive Molecular Dynamics</h1>
<h3>Daniel V. Schroeder</h3>
<p><small>Jaro Camphuijsen & Rahiel Kasim</small></p>
</section>
<section>
<h1> Overview </h1>
<ul>
<li>Introduction</li>
<li>Goal</li>
<li>Molecular Dynamics</li>
<ul>
<li>Ingredients</li>
<li>A Molecular Dynamics Program</li>
</ul>
<li>Interactive MD</li>
</ul>
</section>
<section>
<section>
<h1>Introduction</h1>
</section>
<section data-background="Pictures/apocalypse.jpg">
<blockquote style="width:1000px; margin-bottom:0px; background-color: #272b23; opacity: 0.85;">
“If, in some cataclysm, all of scientific knowledge were to be destroyed,
and only one sentence passed on to the next generation of creatures, what statement would contain
the most information in the fewest words? I believe it is the <i>atomic hypothesis</i>
(or the atomic <i>fact</i>, or whatever you wish to call it) that <i>all things are made of
atoms—<i></i>little particles that move around in perpetual motion, attracting each
other when they are a little distance apart, but repelling upon being squeezed
into one another.</i>”
</blockquote>
<p style="text-align:right; margin-top:3px;">
—Richard Feynman</p>
</section>
</section>
<section>
<section>
<h1>Goal</h1>
</section>
<!-- <section data-background-iframe="MDstep1bg.html"> -->
<section data-background="Pictures/lagrangian.png">
<h3>Disadvantages of Conventional Education</h3>
<ul>
<li class="fragment">No physics, only mathematics</li>
<li class="fragment">Only ideal gasses, equilibria, thermodynamic limit</li>
</ul>
</section>
<section>
<h3>Why Interactive MD</h3>
<ul>
<li class="fragment">
Increase qualitative physical understanding
</li>
<li class="fragment">
Perform experiments on inaccessible systems
</li>
</section>
</section>
<section>
<h1>Molecular Dynamics</h1>
<ol>
<li class="fragment">Position your atoms</li>
<li class="fragment">Evolve according to Newton</li>
<li class="fragment">Wait until it reaches equilibrium</li>
<li class="fragment">Start measuring $\left(E_\text{kin}, E_\text{pot}\right)$</li>
<li class="fragment">Compute quantities $\left(P, T, \dots\right)$</li>
<li class="fragment">Take the time average</li>
</ol>
</section>
<section>
<section>
<h1>Ingredients</h1>
</section>
<section data-background="Pictures/lj.svg" data-background-size="900px">
<h2>Potential: Lennard-Jones</h2>
$$ u(r) = 4 \epsilon \left[ \left(\frac{\sigma}{r} \right)^{12} - \left(\frac{\sigma}{r}\right)^6\right]$$
</section>
<section data-background="Pictures/lj_white.png" data-background-size="900px" style="color: #313532;" data-transition="fade-in">
$ u(r) = 4 \epsilon \left[ \left(\frac{\sigma}{r} \right)^{12} - \left(\frac{\sigma}{r}\right)^6\right]$
</section>
<section data-background="Pictures/lj.svg" data-background-size="900px">
<h2>Force: Newton</h2>
<ul>
<li class="fragment">$$ F = m a$$</li>
<li class="fragment">$$ F = -\frac{du}{dr} $$</li>
</ul>
</section>
<section>
<h2>Integration: Velocity Verlet</h2>
\begin{align}
r \left(t+\Delta t \right)&=r(t) + v(t) \Delta t + \frac{f(t)}{2m}\Delta t^2\\
\quad\\
v \left(t+\Delta t \right)&=v(t) + \frac{f(t+\Delta t) + f(t)}{2m}\Delta t
\end{align}
</section>
</section>
<section>
<section>
<h1>Building a Molecular Dynamics program</h1>
</section>
<section>
<h2>A Simple Molecular Dynamics Program</h2>
<pre><code data-trim data-noescape>
def main():
init()
t = 0
while (t < tmax): # MD loop
force(f, en) # determine forces
integrate(f, en) # integrate equations of motion
t = t + delt
sample() # sample averages
</code></pre>
</section>
<section>
<h2>Force Calculation</h2>
<pre><code data-trim data-noescape>
def force(f, en):
for i in range(npart - 1):
for j in range(i + 1, npart): # loop over all pairs
xr = x[i] - x[j]
xr = xr - box * round(xr / box)
r2 = xr ** 2
if (r2 < rc2): # test cutoff
r2i = 1 / r2
r6i = r2i ** 3
ff = 48 * r2i * r6i * (r6i - 0.5) # L-J potential
f[i] = f[i] + ff * xr
f[j] = f[j] - ff * xr
en = en + 4 * r6i * (r6i - 1) - ecut
return
</code></pre>
</section>
</section>
<section>
<iframe data-src="mdApplet.html" width="770" height="700" style="overflow:hidden;"></iframe>
</section>
<section data-background-iframe="title_background.html">
<h1>Questions...?</h1>
<p class="fragment">Follow the course <b>Understanding Molecular Simulation</b> in Period 3
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
history: true,
math: {
mathjax: 'https://cdn.mathjax.org/mathjax/latest/MathJax.js',
config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config-files.html
},
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/notes/notes.js', async: true },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/math/math.js', async: true }
]
});
</script>
</body>
</html>