Difference between revisions of "Template:Team:Groningen/CONTENT/MODELING/Supporting material"

(fixed closing class text)
Line 4: Line 4:
  
 
<div class="text">
 
<div class="text">
Molecular dynamics is used to simulate the the physical motion of atoms and molecules. It can for example be used to simulate how lipids of a cell membrane behave, how a fictitious material would perform, if a protein would denaturalize in water or how a liposome fuses with a membrane.
+
Molecular dynamics is used to simulate the the physical motion of atoms and molecules. It can for example be used to simulate how lipids of a cell membrane behave, how a fictitious material would perform, if a protein would denaturalize in water or how a liposome fuses with a membrane. The simulation itself is based on Newton's laws of motion, that define classical mechanics, and force fields. These laws are as follows:
</div>
+
 
+
<div class="text">
+
The simulation itself is based on Newton's laws of motion, that define classical mechanics, and force fields. These laws are as follows:
+
 
</div>
 
</div>
  
Line 28: Line 24:
 
<div class="title" id="scripts">Scripts</div>
 
<div class="title" id="scripts">Scripts</div>
  
 +
<add pga gen>
 +
 +
<div class="object code">
 +
<div class="caption">Quisque id diam fermentum, fringilla nunc nec, mollis nisi. Integer non mi imperdiet justo molestie congue. Suspendisse efficitur ligula vel tellus tempor, eget viverra lorem maximus. Fusce et dapibus est.</div>
 +
 +
<div class="raw"><code class="python">
 +
def flattenCollection(collection):
 +
lists = [(0,1,collection)]
 +
toReturn = []
 +
[toReturn.insert(i+j-len(lists)+n,x) for i,n,c in lists for j,x in enumerate(c) if isinstance(x, str) or not DList.isCollection(x) or lists.append((i+j,len(lists)+1,x))]
 +
if(isinstance(collection,tuple)):
 +
toReturn = tuple(toReturn)
 +
return toReturn
 +
</code></div></div>
  
 +
<add cellulose gen>
 +
<add cellulose phosphate gen>
 +
<add contacts>
 +
<add memdist>
 +
<add naclwflow>
 +
<add chmemions>
  
 
</div>
 
</div>

Revision as of 23:50, 18 September 2015

Introduction to molecular dynamics

Molecular dynamics is used to simulate the the physical motion of atoms and molecules. It can for example be used to simulate how lipids of a cell membrane behave, how a fictitious material would perform, if a protein would denaturalize in water or how a liposome fuses with a membrane. The simulation itself is based on Newton's laws of motion, that define classical mechanics, and force fields. These laws are as follows:

If no force is applied, the object continues at it current speed.
The acceleration of the object is equal to its mass and the sum of the forces applied to the object.
When an object influences another object then the force on the second object is equal to the exerted force, but in the opposite direction.

These laws by themselves are not enough to simulate the motions of atoms and molecules. The forces that are mention in these laws have to be defined. The forces are defined by force fields in molecular dynamics simulations. Depending on the contents of the simulation some may be better than others, because one could model electrostatic interactions well while others are good for studying phase separations. Often these force fields are based on experimental data and have certain trade offs, therefore even for something as common as water different force fields exist.

There are however a few limitations to keep in mind. First of all, because these simulations are build from small elements, the simulations grows very fast. This in turn means that the simulations can take a long time even though the systems dimensions are usually on the scale of nanometers. Not only can the systems take long because they contain a lot of elements, but the effect of interest happens after a long time (the nanoseconds and microseconds range). Secondly because classical molecular dynamics is based on Newton’s laws of motion, it does not have chemical reactions. Lastly the behavior the simulations exhibit strongly depend on the input and the settings. For example the initial position might cause excessive forces and thus crashes the program.

Scripts

<add pga gen>

Quisque id diam fermentum, fringilla nunc nec, mollis nisi. Integer non mi imperdiet justo molestie congue. Suspendisse efficitur ligula vel tellus tempor, eget viverra lorem maximus. Fusce et dapibus est.

def flattenCollection(collection): lists = [(0,1,collection)] toReturn = [] [toReturn.insert(i+j-len(lists)+n,x) for i,n,c in lists for j,x in enumerate(c) if isinstance(x, str) or not DList.isCollection(x) or lists.append((i+j,len(lists)+1,x))] if(isinstance(collection,tuple)): toReturn = tuple(toReturn) return toReturn

<add cellulose gen> <add cellulose phosphate gen> <add contacts> <add memdist> <add naclwflow> <add chmemions>