Tutorial:Methane molecule
From OctopusWiki
For the methane molecule we will use the very same standard pseudopotentials that we used for benzene. In this example we will play a little bit with the spacing and the dimensions of the mesh.
Input
In the input file we define a variable CH that represents the bond length between the carbon and the hydrogen atoms. From our basic chemistry class we know that methane has a tetrahedral structure. If we put the carbon atom at the origin the hydrogen atoms have the coordinates given in the following input file.
CalculationMode= gsUnits= eV_Angstromradius= 3.5spacing= 0.25 CH = 1.2 %Coordinates"C" | 0 | 0 | 0 "H" | CH/sqrt(3) | CH/sqrt(3) | CH/sqrt(3) "H" | -CH/sqrt(3) |-CH/sqrt(3) | CH/sqrt(3) "H" | CH/sqrt(3) |-CH/sqrt(3) | -CH/sqrt(3) "H" | -CH/sqrt(3) | CH/sqrt(3) | -CH/sqrt(3) %
We start with a bond length of 1.2 Å but that's not so important at the moment since we can optimize it later (for more information see the tutorial on geometry optimization). (You should not use 5 or so, but something slightly bigger than 1 Å is fine.)
Some notes concerning the input file:
- We do not tell Octopus explicitly which
BoxShapeto use. The defult is a union of spheres centered around each atom. This turns out to be the most economical choice in almost all cases. - We also do not specify the %
Speciesblock. In this way, Octopus will use default pseudopotentials for both Carbon and Hydrogen. This should be OK in many cases, but, as a rule of thumb, you should know what you are doing (or, by other words, don't blame us if the results are not what you would like them to be!)
Convergence
If you use the given input file you should find the following values in the resulting info file.
Eigenvalues [eV]
#st Spin Eigenvalue Occupation
1 -- -16.080414 2.000000
2 -- -9.048282 2.000000
3 -- -9.048262 2.000000
4 -- -9.048257 2.000000
Energy:
Total = -218.91429602
Ion-ion = 236.08676335
Eigenvalues = -86.45043236
Hartree = 393.25776478
Int[n v_xc] = -105.36234080
Exchange = -69.65649962
Correlation = -10.99870341
Kinetic = 163.52723741
External = -931.13079632
Now the question is whether these values are converged or not. This will depend on the spacing and the radius. The only way to answer this question is to try other values for these variables. We will start with the spacing. Since we are interested in the total energy of the system, we will look at the changes of its value. We will keep all entries in the input file fixed except for the spacing that we will make smaller by 0.025 Å all the way down to 0.1 Å. So you have to run Octopus several times (you can use the script from the Nitrogen tutorial) to get the following results.
Spacing Total Energy 0.25 -218.91429602 0.225 -218.58280698 0.2 -218.30870085 0.175 -218.21486251 0.15 -218.13058092 0.125 -218.15086348 0.1 -218.14591227
If you give these numbers to gnuplot (or other software to plot) you will get a curve like the one shown on the right.
Note: to perform these calculations you can relax the default convergence parameters of the SCF cycle. As we are usually interested in getting good wave-functions and potentials to start our time-dependent calculations, these parameters are too strict if one is only interested in the total energy. Can you explain why is it easier to converge the total energy than other quantities?
As you can see from this picture, the total energy is converged to within 0.1 eV for a spacing of 0.175 Å. So we will use this spacing for the next calculations and play with the radius of the box. We will change the radius in steps of 0.5 Å. Doing this we get
Radius Total Energy 2.5 -218.00250572 3.0 -218.18075449 3.5 -218.21486251 4.0 -218.22212815 4.5 -218.22296056 5.0 -218.22344088
If we again ask for a convergence up to 0.1 eV we should use a radius of 3.5 Å. Can you explain why the energy increases (becomes less negative) when one decreases the size of the box?

