Water on an aluminum surface

This tutorial will help you to:

  • create an aluminum slab
  • add a solvent (water)
  • run the simulation and see what happens

Step 1: Start ReaxFFinput

Start ADFjobs
Use the SCM → New input menu command
Switch to ReaxFF mode (panel bar ADF → ReaxFF)

Step 2: Creating the surface

Bulk aluminum has an fcc crystal structure, with a lattice constant of about 4.0 Angstrom.

To create the surface, we first build bulk aluminum:

Edit → Crystal → Cubic → fcc
In the dialog that appears:
Select the preset Al
Click the OK button
View → Periodic → Repeat Unit Cells

In your molecule editor screen you should see a picture of the bulk aluminum structure. The unit cell contains one atom. As ReaxFF input by default does not show repeated cells, it had to be turned on explicitly. Otherwise you see only the single atom in the unit cell.

/scm-uploads/doc.2019/Tutorials/_images/bulk-al.png

Now create the surface:

Edit → Crystal → Generate Slab...
In the Dialog window:
Check the Cartesian check box
Set the number of layers to 3
Click OK
Rotate to see from the side
/scm-uploads/doc.2019/Tutorials/_images/al-layer.png

You will see three atoms as it is a three-layer slab.

In this case we do not want just one unit cell, but a much bigger piece of the slab:

Turn off periodic view:
View → Periodic → Repeat Unit Cells
Edit → Crystal → Generate Super Cell...
Put 10, 10, 1 on the diagonal
Click OK
Rotate get a better view
/scm-uploads/doc.2019/Tutorials/_images/layer10x10.png

Now we have a real slab of aluminum, three layers thick. Note that the Generate Super Cell command adjusted the lattice vectors to match the new unit cell.

Step 3: Add solvent

The next step is to add water to the system, and make sure that the slab is in the center of the simulation box:

Edit → Builder
/scm-uploads/doc.2019/Tutorials/_images/albuilder.png
Change the third dimension of the lattice vectors to 100.0

Make sure the Move to center of box box on the line for the Current molecule is checked

Type wa in the line with ‘Fill box with’
Select Water (ADF) from the search results
Specify 2500 copies

Specify a distance of 1.0 Angstrom (this is the minimum distance between the molecules)

Click the Generate Molecules button on the bottom


Use the View → Periodic → Show Unit Cell command to visualize the box

Rotate to your favorite view
/scm-uploads/doc.2019/Tutorials/_images/al-water.png

ReaxFF translates all atoms to the positive quadrant. Which means that if the origin of your system is inside the slab, the slab will end up on the edges in the Movie. As that is not a nice picture, we will set the origin somewhere else:

Select some water molecules at the edge (not close to the Al surface)
Edit → Set Origin

You will see no change in ADFinput, but all coordinates have been adjusted and a nicer looking movie will result.

Step 4: Set up the simulation, including a temperature regime

Now we will set up the MD-simulation. We will use the Al-water force field and a Nose-Hoover thermostat with a default damping constant of 100 fs:

Close the Builder by clicking the Close button on the bottom
Click on the folder icon and select the Al-H2O force field
Specify 10000 iterations
From the Method menu, select NVT Nose-Hoover chains
/scm-uploads/doc.2019/Tutorials/_images/al-water-main.png

In the simulation we would like something to happen. So we will use a high temperature for water, but try to keep the aluminum cool. Also, we will start with a low temperature MD to relax the initial set-up. This can all be accomplished using a temperature regime, specifying different temperatures for different regions.

For this we first need to define two new regions: one for the aluminum slab, and one for the water. Regions in ReaxFFinput are the same as in the ADF-GUI: they are defined as a collection of atoms. Via the Regions panel you can define the regions:

panel bar Model → Regions
Click once on the select button (the V like button) in the Auto_Generated region
/scm-uploads/doc.2019/Tutorials/_images/autoregion.png

By pressing the select button you have selected all atoms in the ‘Auto_Generated’ region. This region will always contain the atoms that are added by the Builder. Thus, as you can see, all water molecules are selected.

We are going to set up a region for the water molecules, and a region for the aluminum surface:

With the water molecules still selected, press the + button in front of the Regions label
Click and select the text Region_2 and change it into Water
/scm-uploads/doc.2019/Tutorials/_images/waterregion.png

Now we have a region defined that contains all water molecules. Note that the selected atoms (in this case all water molecules) were automatically added to the new region. The + and - buttons add or remove the selected atoms to a region.

Click in the drawing area so it has focus (otherwise the next will select the region name)

Select → Select All

Press the + button in front of the Regions label again to add a new region (containing everything as everything was selected)
Change the name Region_3 to Al

Click the select button in the Water region to select all water molecules
Click the - button in the Al region to remove the water from the Al region
Click in empty space to clear the selection
/scm-uploads/doc.2019/Tutorials/_images/wateralregions.png

The different regions are shown with colors. This does make the display a lot slower. You can turn off (or on) this display with the check box in front of the Region names. You can also set the visualization style per region:

Uncheck the check box at the left of the Water region line
Press the triangle on the right side of the Al region line, and select the Wireframe visualization option
/scm-uploads/doc.2019/Tutorials/_images/nowatercolor.png

The aluminum slab is now shown in wireframe style.

Now that we have defined the regions we needed, we will set up the temperature regime:

Panel bar Model → Temperature Regime
Press the + button in front of the Regime label twice to add two temperature steps
/scm-uploads/doc.2019/Tutorials/_images/emptyregimes.png

At iteration 0, we start with an MD simulation at T=0 K:

change the first 298.0 to 0.0 (note this applies to region All which is everything)

At iteration 2000, we set the water temperature to 2000 K, while keeping the aluminum temperature at 0 K:

Change the number of iterations from 10000 to 2000
Press the + button on the right side of the line starting with 2000
Change the first All on the 2000 step to Al, and change its temperature to 0.0 K
Change the second All on the 2000 step to Water, and change its temperature to 2000.0 K

Your temperature regime setup should look like this:

/scm-uploads/doc.2019/Tutorials/_images/tregimes.png

Step 5: Run the simulation

Now we can run our set up:

File → Run
When asked to save, specify Al-water as filename

Let it run for some time (until iteration 5000 or so)
SCM → Movie
View → Molecule → Balls And Sticks
Rotate and zoom to get a good view of the surface
/scm-uploads/doc.2019/Tutorials/_images/alwatermovie.png

If you look around, you will most likely see many water molecules attaching to the aluminum surface. After some time, you might also see hydrogen atoms distracted from the water molecules, which are now moving around the surface on their own.

You might leave the simulation running to see what will happen. It will take a lot of time though.

If you do not want to wait for the simulation to finish, kill the job:

Bring the ADFjobs window to the front
Make sure your Al-water job is selected (click once on it if not)
Kill it Job → Kill
Close all GUI modules: SCM → Quit All