Structure generation for DFT
The Density Functional Theory (DFT) predicts a variety of chemical and physical properties, such as molecular structures, vibrational frequencies, magnetic properties, electronic band structure, etc.
DFT provides the ground state properties of systems where the electron density plays a major role. We can make models of molecules, solids or surfaces to reproduce and predict experimental results.
Some of the most popular software packages that use DFT are Gaussian, SIESTA and ADF for molecules and CASTEP, SIESTA, CRYSTAL and Quantum ESPRESSO for solids.
To define the molecule or solid you are going to work with, the type of atoms that conforms the system and their coordinates must be given as an input, as well as the type of functional to be used, the convergence algorithm and criteria, a pseudopotential, etc.
The atomic coordinates given as an input play a key role in the convergence of the calculations. By proposing a given arrangement or unit cell we can use DFT to look for the structure with the lowest energy and we can find out if our model is viable.
When generating the atomic coordinates for a simple molecule or unit cell there's not much of a problem in writing the positions one by one, however, for more complex systems that would become tedious.
Here we will see some interesting examples of how specific structures can be generated. Pov-Ray was used to generate most of the images below.
BUCKMINSTERFULLERENE
To generate the structure of the buckminsterfullerene (or C60) we can use the fact that it is truncated icosahedron.
We can begin by generating the positions of the vertices of an icosahedron as in the image above, and then divide each edge in three (grey spheres were placed over those partitions in the second image). Take those new positions and get rid of the initial structure. The remaining vertices (the grey points) make the fullerene structure. This structure was used to make DFT calculations; a normal mode of the molecule is shown in the image on the top.
NANOTUBES
A carbon nanotube can be described as a rolled up graphene layer and depending on the direction the graphene layer is rolled up, it results in different structures of nanotubes. When one needs to generate periodic structures the simplest thing to do is to write a code that produces the unit cell and then put it in a cycle to generate the lattice
To build the nanotubes we can map every point in the graphene layer to a cylinder by using the definition of arc length. Using the image below, imagine that the red line is rolled up to form the yellow function; a semi-circumference.
We need to find the correspondence between an arbitrary point in the red function, and it's new position in the semi-circumference after the red function is 'rolled up'.
As both functions are supposed to represent the same system (before and after being curved) the total arc length of the yellow function has to be equal to the length of the red function, and if the radius of the semi-circumference is r, then the edges of the red function, (-πr/2,0) and (πr/2,0), have to be mapped to (-r,r) and (r,r), respectively.
In general, an arbitrary point in the red function corresponds to the semi-circumference's arc length taken up to the corresponding mapped position of that point.
Using the definition of arc length
with the semi-circumference centered at (0,r)
For every point, we will need its new x coordinate in the semi-circumference as a function of the old x coordinate on the red function, this is, we will need x as a function of the arc length in the integral above.
After integrating and solving for x we get
with
It can be seen that this is consistent with our definition, as
The same function is calculated for the top semi-circumference and, evaluating in the extremes, we get
as both extremes must be mapped to the top of the cylinder, we will only take
With
Now we have the transformation that maps positions from the 2D layer to a cylinder along the z axis with radius r
The image below shows a Zigzag-type carbon nanotube structure, it was made by generating the positions on the 2D layer and then mapping them into cylinders with different radii.
One can rotate the layer before mapping the positions according to
By rotating the positions 30° before mapping one can obtain an Armchair type nanotube or a Chiral nanotube by rotating in a smaller angle.
The animation below was generated by continually mapping the same layer to a different number of cylinders decreasing in radius.
See:
DFT software packages: http://gaussian.com/ http://www.quantum-espresso.org/ DFT and nanotechnology research: A. Tlahuice's weblog https://tlahuicef.wordpress.com/
コメント