We are very happy to announce the official release of ATK 11.8.0.
Backwards compatibility ATK 11.8 does not introduce any changes to the results of the calculations, compared to ATK 11.2, provided the same scripts are used. This release is also fully backwards compatible with all input and output files from ATK 11.2 and 10.8. There are no major changes to the work flow, interface, syntax, or other constructions in the Python or graphical user interface.
Download ATK 11.8.0
To download ATK 11.8.0, please visit the download page. To run this version you need the version in your license file to be 11.8 or higher.
New in ATK 11.8
Nudged elastic bands (NEB)
The nudged elastic bands (NEB) method is a way to compute reaction paths and activation energies/reaction barriers of chemical reactions. This can be a dissociation of a molecule, on a surface for instance, the diffusion of an impurity in a crystal, etc.
The NEB method in ATK is very simple to use, the user only has to specify the start and end configurations; ATK will automatically generate the "images" that connect them, although it is also possible to generate images manually for more control. The method has support for climbing images, and has several options for manipulating the images and plotting the results in VNL, as shown below!
There are several new features in the semi-empirical module. ATK-SE now uses the DFTB framework for including spin and pair-potentials, with different possibilities for parameterizations of the H0 term:
DFTB Slater-Koster tight-binding
Extended Hückel (already available since ATK 2009.06)
User-defined models
We have included a few sets of DFTB parameters in the package already, with repulsive pair-potentials (for forces and stress calculations). Additional parameters, so-called SK files, can be obtained from dftb.org; these files can be directly plugged into ATK.
Also included in ATK 11.8 are several popular sp3 and sp3d5s* models for Si,Ge, C, and the III-V binary alloys (GaAs, GaP, GaSb, InAs, InP, InSb, AlAs, AlP, AlSb), and a few other compounds.
The user may, in addition to these, define his own tight-binding model, for instance a simple nearest-neighbor model for graphene, or a more elaborate sp3d5s* model for III-V nanowires, etc. Below you can see for example how an sp3s* tight-binding model for Si from the paper by P. Vogl et al. can be directly implemented in ATK 11.8. Further examples, with more details, are available in a new tutorial.
# Generate a basis set for Silicon using parameters from
# P. Vogl et al., J. Phys. Chem. Solids Vol. 44, 365-378 (1983)
# http://dx.doi.org/10.1016/0022-3697(83)90064-1
from math import sqrt
# Si neighbor distances, based on the standard lattice parameter
a = 5.4306*Ang
d_n1 = sqrt(3.0)/4.0*a
d_n2 = sqrt(2.0)/2.0*a
# Matrix elements from the paper
E_s = -4.545*eV
E_p = 1.715*eV
E_sstar = 6.6850*eV
V_ss = -8.3000*eV
V_xx = 1.7150*eV
V_xy = 4.5750*eV
V_sp = 5.7292*eV
V_sstarp = 5.3749*eV
# -----------------------------------------------------------------------------
# The paper is a nearest-neighbour Slater-Koster parameterization,
# hence it has to be tabulated using a power law
# Cutoff for the matrix elements lies between 1st and 2nd nearest neighbor
rcut = 0.5*d_n1 + 0.5*d_n2
# Specify the distances for which the matrix elements are specified
epsilon = numpy.linspace(-0.10, 0.10, 21)
distances = [ d_n1*(1.0+x) for x in epsilon ] + [ rcut ]
# Power-law to parametrize the matrix elements as function of distance
sss = [ 0.25*V_ss/(1.0+x)**2 for x in epsilon ] + [0.0*eV]
sps = [ 0.25*sqrt(3)*V_sp/(1.0+x)**2 for x in epsilon ] + [0.0*eV]
pps = [ 0.25*(V_xx+2.0*V_xy)/(1.0+x)**2 for x in epsilon ] + [0.0*eV]
ppp = [ 0.25*(V_xx-V_xy)/(1.0+x)**2 for x in epsilon ] + [0.0*eV]
ps1s = [ 0.25*sqrt(3)*V_sstarp/(1.0+x)**2 for x in epsilon ] + [0.0*eV]
# Create the onsite.
si_onsite = SlaterKosterOnsiteParameters(element = Silicon,
angular_momenta = [0,1,0],
occupations = [2,2,0],
ionization_potential = [E_s, E_p, E_sstar],
onsite_
_shift = 0.0*eV
)
Silicon_Basis = SlaterKosterTable(silicon_silicon_sss = zip(distances, sss),
silicon_silicon_sps = zip(distances, sps),
silicon_silicon_pps = zip(distances, pps),
silicon_silicon_ppp = zip(distances, ppp),
silicon_silicon_ps1s = zip(distances, ps1s),
silicon = si_onsite,
)
Spin can automatically be included into all semi-empirical models (also extended Hückel), via an internal database of spin splitting terms. Another database of onsite Hartree shifts can be used to make the any semi-empirical model self-consistent, to include effects induced by the electrostatic environment.
The semi-empirical models can be used for all types of calculations, for molecules, bulk and device systems.
Meta-GGA
It is well known that LDA and GGA have problems reproducing the band gaps of semiconductors. One way to overcome this is to use a Hubbard model, with so-called +U parameters. This method was introduced in ATK 11.2.
Another approach, which recently has been receiving a lot of attention, is meta-GGA, and the model by Tran and Blaha (TB09; Phys. Rev. Lett. 102, 226401 (2009)) is now available in ATK. In the figure to the right, adapted from Marquez et al., Phys. Rev. B 83, 035119 (2011), is shown the remarkable performance of this method (note e.g. how Ge goes from being a metal in standard GGA-PBE to having a proper band gap).
Optical properties
Using the Kubo-Greenwood method, it is now possible to compute a wide variety of optical properties with ATK:
dielectric constant (real and imaginary part)
absorption coefficient
refractive index
polarizability for molecules
The combination of these new methods for optical properties and meta-GGA and tight-binding models (both of which are better at describing the band gaps of semiconductors than standard DFT) make ATK 11.8 a powerful tool for studying novel semiconductor materials. As an example, the figure below shows the optical spectra of various nanotubes. You may compare this to the picture in the Wikipedia article on transparent conducting films, showing how you can separate CNTs by color. Now there is also a method to calculate these colors!
New pseudopotentials
In ATK 11.8 we have implemented support for Hartwigsen-Goedecker-Hutter pseudopotentials, based primarily on two papers:
In total, we have included more than 200 new pseudopotentials in the package, complete with basis set definitions. There is support for almost all elements in the periodic table, and for many elements there are semi-core potentials as well.
NOTE: In order to maintain backwards compatibility, the HGH potentials are not the default choice in ATK. Still, we can warmly recommend these new potentials, as they are well tested. As always, however, pseudopotentials should always be tested in well-known situations, before they are used for predictions, and they are always used "on your own risk".
The only exceptions to this rule are: Xe, Sm, Gd, Eu, Nd, Pm, Pr (for LDA, in all cases), plus La (LDA+GGA), which was previously not available in ATK.
New Job Manager
The new Job Manager in VNL 11.8 allows the user much more control of local jobs.
Stop running jobs
Reorganize the queue of pending jobs
Start an arbitrary queued job
Restart a job that was already run
New Builder (almost)
As a somewhat hidden feature, we introduce a new Builder in this release. To open it you must use the menu "Tools" in VNL, and choose "Builder 2012". Once you open it, you will find a whole range of new (and old) tools. The most important one, perhaps, is the new Surface Builder, which makes it easy to create any kind of surface/slab model by cleaving any crystal and interactively adjust the surface vectors and many other properties.
The tools you see on the right, as well as the buttons on the toolbar on the left, are plugins, meaning it's possible for you as a user to develop and add your own functionality, share these with others, and download new and updated plugins from our plugin server. Sort of like apps on your smartphone!
These features will be further enhanced in ATK 12.2, when the new Builder will replace the current Builder completely.
Custom Scripter
This brand new tool makes it possible to hook up 3rd party codes to VNL. It may be well-known open-source codes, but also your own home-made atomic-scale modeling code, for which you never got around to writing a GUI. Now you can have VNL act as the graphical interface for all these codes, to build the structures, set up the calculations interactively, and have VNL produce the input scripts you need to run the calculation.
The tool comes with a quite fully-featured built-in scripterb for GPAW (see figure to the right), and if you go to the AddOn manager (Help menu in VNL) you can also download one for VASP (it is still a prototype, use with caution!). The source code for these is made available, so users can use them as examples for writing their own. Later on we will make a more centralized repository of Scripter scripts that support other codes, either contributed by users or written by us. There will of course also be a full API documentation, both for this and the new Builder.
As with the new Builder, the tool needs to be opened from the Tools menu.
Miscellaneous new features
New multigrid solver
Uses up to 90% less memory compared to 11.2 - high memory usage was a problematic issue for systems with gates in DFT before.
For now only serial, but will be parallelized later
Reintroduced "old" shift to simulate gates
Enhanced compared to 2008.10: the shift is set for each atom individually, which makes it possible to simulate an added external field as well
Enchanced file import support
XYZ and CIF files can now be directly opened in the Builder (not only dropped on it)
CIF files with alternative keywords, missing space group information, or even missing symmetry operations can now be imported
VASP CONTCAR files can now be imported (POSCAR could be imported already before)
New file browser in VNL, looks and works more like the system file browser
Easier to restart from a checkpoint file; also, checkpoint file can be turned off completely
LDA+U can now be set up in the Scripter
Pure text files (in ATK Python format) can now be used as trajectory files, which greatly improves the performance of MD simulations or optimizations using classical potentials
The plane-wave DFT code Socorro is now integrated more properly in ATK/VNL and can be used for standard calculations of bulk material
New license configuration tool, simplifies modifying the license setup (switching from nodelocked to floating license, updating the license file, etc)
Bug fixes or minor enhancements
Several minor bug fixes in the Viewer and Builder to make them operate more reliably
"Undo" operations were in some cases carried out incorrectly
The Z-matrix could be populated with atoms even if none were selected
If you had more than one Builder open, they could in certain cases "talk" to each other, messing up the configurations
Removed spurious menu entries arising from handling multiple configurations and objects in the Viewer
Fixed colormaps that ended up on top of each other by default
Black colormap problem solved
Ghost atoms
were marked incorrectly in Mulliken populations reports
no bonds are now shown to ghost atoms, making it easier to identify them
Total energy printed with more decimals in TotalEnergy reports and in optimization step reports
Nanowire custom builder gives correct lattice constants (lattice constant in z-direction was wrong in 11.2)
101 energy points in the transmission spectrum by default - this makes the Fermi level included
Some performance upgrades via algorithm tuning
Changed default max number of self-consistent iterations to 200
Added support for alternative spellings of some elements: Wolfram=Tungsten, Caesium=Cesium, Sulphur=Sulfur and Aluminum=Aluminium
When dropping scripts on a Viewer or Builder, the last configuration generated in the script is consistently shown now (tricky Python issue!)
Allow underscore characters "_" object_id (actually, they are still not allowed, but we silently replace them with spaces, instead of raising an exception)
Upgrade to MPICH 1.3
Crash log - if VNL shuts down unexpectedly, information to help troubleshooting can be found in this file
Improved documentation
Clarified error messages the code gives in certain cases
Removed unnecessary "Overwrite?" questions in some Scripter dialogs
Removed unecessary question to quit the Job Manager (however, do remember to save your log files, if you want them, as then will not be saved automatically when you quit VNL)