QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: jdgayles16 on November 17, 2010, 07:27
-
I want to calculate the work function, can I calculate it the same way it was calculated in atk2008? I tried and I get 4.037 eV
-
Of course, you can do the calculation of work function using different version of ATK. But what has the problem happened to you? Please make your question more clearly.
-
Is this Au 111 surface? The workfunction is very sensitive to the accuracy. Thus you will need not only a (very) high k-point sampling, but also what we have done in the past is to increase the range of the basis functions. In the old version this meant lowering the energy shift; in 10.8 it is more directly done by setting the basis set radius.
-
Sorry for not being so clear, I am using Aluminum, and it is exactly the same as the tutorial, with 12*12*1 kpionts
-
But, presumably you did not change the basis function range?
-
I don think so, do i have to change it for each orbital(s,p...)? is that the radial_cutoff_radius?
Also what about the interaction range?
-
The maximum interaction ranges should not really have any effect here since the default value is quite long.
The best way to increase the basis set range is to setup the script in scripter, and during the export of the script select the detail "Show All".
It will print all the details of the basis functions and here you will be able to set the basis range of each orbital using the keyword radial_cutoff_radius.
In order to get results you must also move the confinement barrier radius, and I would always choose this to be 0.8 times the distance of the radial_cutoff_radius.
You can set this using the confinement_start_radius keyword.
My guess is that it is not required to increase the basis set so much in order to get results. I would except that adding 3 Bohr will for sure make it converged in terms for
the work function.
-
thanks I get 4.29 eV for AL (100) and 4.36 eV for Ag(100) however i didn't adjust the confnement, maybe that will help the accuracy.
-
thanks I get 4.29 eV for AL (100) and 4.36 eV for Ag(100) however i didn't adjust the confnement, maybe that will help the accuracy.
hi buddy,your photo is cool!
-
thanks I get 4.29 eV for AL (100) and 4.36 eV for Ag(100) however i didn't adjust the confnement, maybe that will help the accuracy.
If you only adjust the cutoff radius you will get a very weak effect of increasing your basis set range, since the tail will be forced to be very small at the confinement start radius.
-
I tried with out changing the interaction max range and i get these errors
terminate called after throwing an instance of 'MathException'
and
** Back Engine Exception 541 : Diagonalization error, overlap matrix not positive definite, try to increase interaction_max_range
** Location : mathutils.cpp:1037
-
Okay ???
- Have you tried to increase the interaction_max_range ?
- How much did you increase your basis functions size? What range is the longest basis function now?
- Could you please send the input script to Anders Blom or me, and I will fill a bug report on it on making it more smooth.
-
I increase the interaction max range it seems to work fine. i get pretty good results (exp) Al is 4.29 eV (4.25 eV), Ag is 4.36 eV (4.30 eV) and graphene I get 4.69 eV (4.6 eV). I think graphene is the nicest because there is only one layer and i increased the cell to 4x4.
also i attached the script where i get the error.