Molecular dynamics: The Bouncing Buckeyball¶
In this tutorial we will be modeling the impact of a C60 buckyball on a graphene sheet:
Setting up the geometry¶
Let us begin by creating a graphene sheet.
- 1. Start ADFInput.2. Switch the main panel: ADF → ReaxAMS3. Click on the magnifying glass.4. Search for
graphiteand select C128: Graphite from the crystal compounds.5. When asked whether to map the atoms to the unit cell, click Yes.
The graphite cell shown in the viewport on the left consists of four graphene layers. For our example we need a single layer, so let us delete the others.
- 1. Left click and drag in the viewport to rotate the graphite cell into an orientation where you can easily see the four layers.2. Select three of the layers using the Left mouse button and dragging a box around them in the viewport. Holding down the Shift key adds atoms to an existing selection.3. Press the DEL (or backspace) button on your keyboard to delete the selected atoms.
In the image above we kept the graphene layer in the xy-plane and deleted the other three. At the moment we still have a fairly small cell in the z-direction. Actually we do not really need three dimensional periodic boundary conditions at all for this application. It would be sufficient to have periodic boundary conditions in the plane of the graphene! However, the ReaxFF engine (currently) does not support two-dimensional periodicity, so we are just going to increase the size of our cell perpendicular to the plane to something very large.
- 1. Click on Model → Lattice.2. Change the z-component of the third lattice vector to
We now essentially have a single layer of graphene. Our graphene sheet is still rather small though. Too small to shoot something large like a buckeyball at it. Let us make it larger using the super cell tool.
- 1. Click on the Edit menu next to the SCM logo on the top.2. Select Crystal → Generate Super Cell3. In the pop-up window enter
1on the diagonal.4. Click Ok.
Now that we have a reasonably sized graphene sheet we can insert the buckeyball.
- 1. Click on the magnifying glass2. Enter
buckyballinto the search field and select C60: Buckyball.
The inserted buckeyball should automatically be selected. However, it is currently sitting at the origin of the cell inside of the graphene sheet. We are going to have to move it out of there.
- 1. Use your right mouse button to drag the buckyball above the graphene sheet.2. Position it above one of the sharp corners of the sheet.
The buckeyball should now be in a nice place from which we can shoot it at the center of the graphene sheet. It is time to aim the gun ...
Setting up the molecule gun¶
The molecule gun in AMS uses regions to identify which part of the geometry is the projectil and which is the target. Let’s make sure we have the buckeyball (our projectile in a separate region). This should be the case, as all structure imported from the database are put in separate regions by default.
- 1. If the Regions panel is not open yet, open it by clicking Model → Regions.2. We don’t need the graphene as a separate region, delete the
Graphite (C)by clicking the - next to it.3. Tick the box next to the
Buckeyball1region to show the atoms contained in that region.4. Confirm that your buckeyball is now highlighted.
Next we need to set up some general aspects of our MD simulation.
- 1. Switch the Main panel.2. Select
C.ffas the Force field.3. Make sure the Task is set to Molecular Dynamics.5. Set the Number of steps to
8000.6. Set the Sample frequency to
50.7. Set Initial velocities to Zero.7. Untick all the boxes next to Preserve.
This should give us a sufficiently long and smooth trajectory of the impact. Note that we have disabled the preservation of the momenta. Otherwise the preservation will make the graphene layer drift towards the incoming buckeyball in an attempt to remove the system’s total momentum, which is not what we want. We just want the graphene layer to remain stationary until the buckelball hits.
Finally, we need to configure the molecule gun!
- 1. Click on Model → Molecule Gun.2. Click on + next to Add Molecules to add a new projectile.3. Select our previously set up region
Buckeyball1from the System drop-down menu.
As you can see, the molecule gun panel looks relatively complicated. This is because it supports not only single shots, but also a regular shooting from randomized positions in random directions. It could, for example, be used to let many molecules rain down on a surface. Together with the molecule removal features, this can be used to set up quite involved simulations.
See the molecule gun section in the AMS driver manual for a complete overview of the supported options.
In this tutorial we are going to keep things simple and only shoot a single buckeyball at the beginning of the simulation.
- 1. Set Frequency to
1.2. Set Start step to
1.3. Set Stop step to
The last thing we need to specify is the direction and velocity of our shot. ADFInput uses the vector from one atom to another to define the shooting direction of the molecule gun. This is very convenient for us, since we can just use an atom of the buckeyball and an atom of the sheet to define the direction.
- 1. Select one of the atoms in the buckeyball by left clicking on it.2. Add one of the atoms in the center of the sheet to your selection by holding the Shift key and left clicking it.3. Click the + button next to Velocity direction.4. Set a Velocity of
The order in which the atoms are selected determines the direction of the shot! If you select them in the opposite order before clicking the + button, you will shoot in the opposite direction!
The distance between the atoms defining the direction will not affect the starting velocity. Their sole purpose is the definition of a direction.
If your system does not already contain atoms you can conveniently use to define a shooting direction, you can always insert dummy atoms (
Xx in the periodic table tool) in convenient locations (or use centroids). These are not real atoms and will not be included in your simulation. They are just used for the setup of your calculation in ADFInput.
This concludes the setup of the calculation.
Visualizing the impact¶
We are now ready to shoot! Let us run the calculation.
- 1. Click on File → Save as... and give it a reasonable job name.2. Run the calculation with File → Run.
The ADFJobs window will come to the front as the calculation starts running. As ReaxFF is a very fast engine and the system not particulary big, it should only take a couple of minutes. We can already visualize our calculation while it is still running.
- 1. Select your job in ADFJobs by left clicking on its job name.2. Click on SCM → Movie to visualize the trajectory.
You can download the movie
here if it does not play in your browser.
If the playback of the trajectory is stuttering/slow in ADFMovie, try the (experimental) faster visualization mode by clicking View → Molecule → Fast.
Your initial velocity was probably not large enough to make the buckeyball penetrate the graphene sheet. You will likely get a trajectory very similar to the one above. Note how the shock wave in the graphene starts interfering with itself as it travels across the periodic boundary conditions. Feel free to go back to ADFInput and increase the initial velocity of the buckeyball. Doubling the velocity might already be enough to punch a hole into the graphene ...
This concludes the tutorial on the molecule gun in AMS.