Universidad

Week 3

weekmenu | week1 | week2 | week4 |week5 | week6 | Project

3th week (Feb 21th-27th): Molecular Dynamic Simulations

The molecular dynamics (MD) method consists in the numerical integration of the Newton’s equation of motion for the atomic positions in a condensed matter system. In order to compute the forces needed to obtain the atomic velocities (which in turn are needed to obtain the atomic positions), we need some kind of interatomic potential describing the interaction between different atoms. The scheme show the principal parts that a molecular dynamic simulation needs: a initial configuration with the atomic positions; the inter-atomic potential, related with the force between the atoms; the integration algorithms, numerical integration of the Newton’s equation of motion for the atomic positions; static properties, thermodynamics (pressure and temperature), structural (g(r)). After run a MD simulation we can make and calculate dynamical properties with the output file (this may have: coordinates, velocities and acceleration in each step for each atom, depending on what you want).

More information about MD in the paper that I sent you before and wikipedia :P


LPMD program


Las Palmeras Molecular Dynamics (LPMD) is a Molecular Dynamics (MD) code written from scratch in C++, as user-friendly, modular and multiplatform as possible. Some of its features are: it is an Open Source code, it works using plugins, it reads simple and intuitive con figuration files, and also includes utility software to perform analysis, conversion, and visualization of MD simulations.

There are 4 executables for run different calculations:

lpmd: Molecular dynamic simulations

 
  $lpmd file.control

lpmd-analyzer: Statical and dynamical properties. It use the output file from a MD simulation.

 
  $lpmd-analyzer file.control

lpmd-converter: Create cells and convert different extension files.

 
  $lpmd-converter file.control

lpmd-visualizer: display the MD simulation.

  $lpmd-visualizer file.control


Control file for Molecular Dynamics

For run any molecular dynamic simulation with lpmd you need to make a control file, where you must to define different parameters, like:

  • The cell parameters
  • The input file
  • The potential
  • The integrator
  • ... etc..

Here you will see a basic example of control file (# symbol indicates a comment line):

Control file

# cell dimensions
cell crystal a=11.480 b=11.480 c=8.61 alpha=90 beta=90 gamma=90

# input file, where there are the atomic coordinates.
input module=xyz file=fierro.xyz level=0
# or create a crystal structure. bcc lattice of iron atoms in a three-dimensional
# arrangement, with 25 replicates in each axis
input crystal3d type=bcc symbol=Fe nx=25 ny=25 nz=25

# output file
output module=xyz file=fierro.xyz level=0 each=10

# thermodynamical properties will be written in the prop.dat file each 10 steps
# starting at step zero.
monitor step,temperature,pressure start=0 each=10 end=-1 output=prop.dat

# initializes the temperature in Kelvin.
prepare temperature t=500

# total number of steps for the simulation
steps 5000

# Load of plugins : use ... enduse

# Integrator, in this case velocityverlet with a delta time 1 femto-second
use velocityverlet
dt 1.0
enduse

# Potential between atoms. SuttonChen is one of the most useful potentials
# for metals. The parameters are in papers.
use suttonchen
e 0.0173
n 8.137
m 4.788
a 3.4714
c 24.939
cutoff 7.0
enduse

# cell manager. This is used for obtain more performance in the calculations,
# normally the cutoff used is the same that in the potential
use linkedcell
cutoff 7.0
nx 2
ny 2
nz 2
enduse

# Apply plugins: applies the previously defined plugins.

cellmanager linkedcell
potential suttonchen Fe Fe
integrator velocityverlet


Exercise 1: Create two molecular dynamic control files

  • Go to your folder and create a new folder for this week.
  • To performe the following work, you will need take a look the periodic table and these papers [1][2] where you will find the parameters for the potentials.
  • Take a look to the potential in the papers and compare with the lpmd manual, in order to write correctly the parameters.
  • See information about how write the potential's parameters typing:
  $lpmd -p buckingham
  $lpmd -p suttonchen

Argon:

  • cubic cell with 78,9 A of size.
  • buckingham potential.
  • beeman integrator, dt 2 femto-second.
  • write the steps, temperature and pressure for thermodynamic properties, each 10 steps starting at step 0 until ends the simulation.
  • 5000 total steps.
  • initial temperature of 100 Kelvin.
  • linkedcell like cell manager, with mode auto.
  • output file extension, xyz, save configuration each 10 steps.

write here the final control file.

Silver:

  • cubic cell with a=b=40.9 A and c=20.45 A.
  • suttonchen potential.
  • velocityverlet integrator, dt 1 femto-second.
  • write the steps, temperature and pressure for thermodynamic properties, each 5 steps starting at step 0 until ends the simulation.
  • 2000 total steps.
  • initial temperature of 300 Kelvin.
  • linkedcell like cell manager, with mode auto.
  • output file extension, xyz, save configuration each 5 steps.

write here the final control file.

  • Run both simulations. Now display the simulations obtained:
  $vmd filenameAr.xyz
then
  $vmd filenameAg.xyz



Statical properties

Now you will analyze the molecular dynamics simulation that was run before, so you will have the output file of this simulation. I will give you 3 control files, the first one is for calculate the pair distribution function g(r), 2th is for calculate the angular distribution function, and the 3th for calculate the coordination number. The last two properties need the result obtained from g(r), so you will provide this parameters in the control file.

  • Create a new folder. Copy the Structprop.tar.gz file from /home/claudial/ to your folder. Unzip the file, this will generate 4 files: final20p4.xyz, geo2-gdr.control, geo2-ang.control and geo2-cnu.control.
  • The output file is final20p4.xyz, visualize it!!
  • Take a look the geo2-gdr.control file. Know run it!
  $lpmd-analyzer geo2-gdr.control

Look the output file obtained from this calculation. Know do a graph for each atomic pair, upload them!

  • Make a comment about the g(r) obtained in the comment part, and write the position where the first peak disappears. This information is important because this tell us, until what distance there are first neighbors. With this information we can determine angles and numbers of the first neighbors for each atomic species. These quantities you will have to introduce in the others control files, geo2-ang.control and geo2-cnu.control. Take a look the files and write the missing information.
    Run the control files!
  • Take a look the output files. Graph and upload the Ge-O-Ge angle.
  • Make comments in the comment part!

Graph and upload the coordination number as histogram, for example:

  gnuplot> plot "cordnum.dat" u 1:2 w boxes
  • What do you understand from these graphics? Visualize the final20p4.xyz file and make a zoom in a germanium atom and take a look to the neighborhood. Did you expect this?

hannah?24 February 2011, 12:58

From the visualizer I can see that each germanium is surrounded by four oxygen atoms. Then, by looking at the graph of the angles, I can see that the peak (while kind of spread out) is around 109 degrees. 109 degrees is the expected angle between atoms in a tetrahedral. From the histogram I can conclude that almost 100% of the germanium atoms do in fact have 4 oxygen first-neighbors.

It makes sense that not all the angles are exactly the same because the sample as a whole is amorphous. The atoms in each tetrahedral are in different orientations and therefore are feeling different intermolecular forces from the surrounding molecules.

This information tells me that while the sample as a whole is amorphous and disorganized, at an atomic level, it is made up of tetrahedrals with germanium at the center.

''.Keep(str_replace(array('$Chrono','$PostTo','$AccessCode'), array('chrono','',RandomAccess()), FmtPageName($GLOBALS['CommentBoxFmt'],$pagename)))

University

Personal

edit SideBar