Thomas Frederiksen, Markus Paulsson, Mads Brandbyge, and Antti-Pekka Jauho, Phys. Rev. B 75, 205413 (2007)
- Quasi-inelastic (LOE ) and fully inelastic (XLOE ) electron-phonon scattering for I-V curves
- Works with any combination of methods for the electronic and ionic degrees of freedom
- Use DFT, tight-binding, or DFTB for the electrons
- Use DFTB, DFTB, or a classical potential for the phonons
- Mix and match! But - note that DFT phonons are very time-consuming
- Extract electron-phonon scattering matrix elements for bulk configurations
- Compute deformation potentials and mobility (via the Boltzmann equation) 
- Goes beyond the relaxation time approximation
- See the newly developed tutorials for more details:
 Jing-Tao Lü, Rasmus B. Christensen, Giuseppe Foti, Thomas Frederiksen, Tue Gunst, and Mads Brandbyge, Phys. Rev. B 89, 081405(R) (2014)
 Kristen Kaasbjerg, Kristian S. Thygesen, and Karsten W. Jacobsen, Physical Review B 85.11, 115317, (2012)
It should be pointed out that these simulations are considerably more time-consuming compared to the purely elastic models in ATK, but at the same time the algorithms are highly parallelized, so one can - and probably must - deploy such calculations on a large number of parallel nodes. Still, one should be restrictive in the structure size (not least for DFT), although the performance is expected to improve in ATK 2016 as the implementation is tuned.
The phonon limited electron mobility as a function of carrier density for MoS2.
This comparison of elastic and inelastic I-V characteristics from the silicon p-n junction tutorial shows that the band-to-band tunneling (BTBT) current in the off state is enhanced due to (optical) phonon scattering.
This plot shows the electron-phonon coupling strength for a TA mode in silicene.
New Job Manager
- Submit jobs from VNL to local or remote machines, in serial or parallel
- Local modes: serial, threaded, and parallel
- Remote modes: Torque/PBS and direct execution (no queue)
- Automatically copy input and output files to remote resources
- No server-side daemon required, all is controlled by the client
- Requires only ssh access from client to server
Updates to ATK-Classical
- Improved performance (2x)
- New potential types
- Better handling of long-range potentials for phonon calculations (the bond list extends up to the range of potential to avoid negative frequencies)
- Extended interface for combining different potentials using tags
- Partial charge analysis
Note that the ATK-Classical license is free for academic users, and is included with the free VNL license.
Geometry optimization, NEB
- Rewritten NEB and LBFGS algorithms - faster (2x on average) due to better convergence, better integrated code
- NEB parallel over images (demonstrated to be 25x faster than in 2014)
- New GlobalOptimization method (aka crystal stucture prediction tool)
- TargetStress functionality implemented: optimize a cell under external stress
- Introduced pre and post step hooks in OptimizeGeometry (was already available in MD)
- New way of using DynamicalMatrix when computing phonon band structures etc. You should no longer use DynamicalMatrixParameters, but instead do an explicit request for the DynamicalMatrix (which can then be nlsaved).
- Pizeoelectric tensor can now be calculated with internal ion relaxation (i.e. going beyond the clamped ion approximation) - crucial for materials like AlN (changes the sign of the polarization!)
- New way to optimize structures: Group atoms together in RigidBody objects to allow for geometry optimization with fixed relative coordinates for the atoms in the RigidBody. Can also be used to constrain an atom along a particular direction.
- Entirely new methodology for performing geometry optimizations of interfaces (and in general device structures) - see the new tutorial.
- Crucial for anyone working with device structures in ATK!
- Utilizes the rigid body framework
- New interface for setting up constraints in the Script Generator, easier to add constraints via tags + support for RigidBodies
- Added a function for predicting the number of repetitions that will be used for DynamicalMatrix calculations
Molecular dynamics (MD)
- Performance improvements in MD (2x for NPT and Velocity Verlet)
- New NVT method with Nosé-Hoover chains to avoid the temperature oscillations that sometimes plague usual NVT
- Give target temperature to automatically get a heating or cooling ramp
- Also allows for local temperature control and setting a heating rate
- New analysis functions for MD trajectories in the MD Analyzer plugin
- Velocity autocorrelation
- Local mass density profile
- Phonon DOS computed from the MD trajectory
- Coordination number (center atom to one neighbor element)
- Angular distribution function (center atom to 2 neighbor elements)
- Mean-square displacement
- Evolution of average nearest neighbor number with tine
- Neutron scattering structure factor
- LAMMPS and VASP MD trajectory import - once imported, all MD analysis functionality in VNL is available
- In MD analysis (like RDF), you can now select a subset of atoms (script support only, for now)
- Possibility to specify separate cut-off radii for the two element pairs in the angular distribution analysis
- More MD Analyzer enhancements
- The tool can now be used for single images (a single configuration), for structural analysis like RDF, coordination, etc
- Overlay plots (RDFs for different element pairs in the same plot, for instance)
- Added "line" plot style as alternative to histogram
- Visualization of velocities from MD runs
- Calculate thermal conductance (and Kapitza resistance of interfaces) using MD
- Uses a swapping method where excess heat is moved back from the hot to the cold side - see the tutorial for details
- MovieTool enhancements:
- Selectable time unit
- Legend only contains active curves
- Export data in columns (instead of consecutive data blocks)
Adaptive Kinetic Monte Carlo (AKMC)
- Entirely new Adaptive Kinetic Monte Carlo module developed in collaboration with the Henkelman group at UT Austin (http://theory.cm.utexas.edu/eon/akmc.html)
- Automatically finds possible reaction pathways (specifically: saddle points) based on just a starting configuration (unlike NEB which needs both start and end configurations)
- Evaluates reaction rate pre-factors from the phonon partition function (Harmonic transition state theory, HTST), which can used to estimate diffusion constants
- Extends MD simulations to long time scales (milliseconds, or even seconds) via an accelerated time evolution scheme (coarse graining using Markov chains)
- There are a few new tutorials on this topic:
Several of the new features in the MD Analyzer can be seen in this figure.
The new advanced widget for setting up constraints (incl. the new type: RigidBody) is used both for geometry optimizations and MD simulations.
The temperature profile and associated Kapitza jump obtained from the tutorial about thermal resistance of a grain boundary in silicon, computed using the NEMD method.
Check out the new tutorial on simulating ion bombardment of a graphene sheet!
The Markov chain analyzer in VNL is used to explore the results from an adaptive Kinetic Monte Carlo calculation, as in this example of the diffusion of a Pt atom on a Pt surface.
New features for semiconductor problems
- Virtual Crystal Approximation (VCA) for DFT
- Effective band structure analysis (zone unfolding) for supercells of e.g. random alloys
- Region-dependent "c" parameter for MGGA-TB09 - enables studies of interfaces between two semiconductors which require different values of the c parameter to tune the respective band gaps
- Added hydrogen atoms to the Bassani and Vogl Slater-Koster sets, to easily allow for simulations with passivated surfaces
- Widget for setting doping (actually AtomicCompensationCharge) in the Builder
- Compute Bloch states with Slater-Koster tight-binding
- Neumann boundary conditions in the transport direction for devices - requires a gate, else the absolute potential is undefined
- Plotting the projected or local density of states as function of Z made easy (essentially gives a position dependent band diagram for devices)
- Updates to the effective mass functionality
- New method, based on 2nd order perturbation theory
- Note: you must now give the direction from the start (no tensor representation any more, since this doesn't work for degenerate bands)
- Non-parabolic band structure analysis to enable coupling to TCAD tools
Effective band stucture of In0.53Ga0.47As (explicit random alloy) computed with DFT (MGGA-TB09). See the tutorial for more details.
A particular focus area of ATK 2015 has been to reduce the memory usage (or at least make it distributable over parallel nodes) and improve the parallel scaling of the code. We are in the process of collecting benchmarks to demonstrate the new options, and the corresponding simulation time improvements, but in general the project has been very successful and a large number of improvements have been made.
Computational methods and parallelization
- Added new parallel and/or sparse libraries for memory and computationally distributed matrix operations (Green's functions, self-energies, and diagonalization)
- Option to parallelize each k-point over multiple cores.
- Allows MPI parallelization of ATK beyond the number of k-points (as was the limitation in 2014 and earlier), for a nice performance boost of up to 10x. Each k-point is thus diagonalized in parallel, using shared memory. Relies on the ELPA library.
- New parameters for diagonalization, to include only some bands above the Fermi level - can speed up bulk and molecule calculations by 2x for large supercells
- New option to cache energy density matrix can give faster geometry optimizations (at the cost of some memory)
- New option to cache orbitals on grids and basis functions can give substantial performance improvements
- Memory cost is reasonable for small systems where the real-space integrals may dominate, but can be large for large systems (where perhaps other parts of the SCF loop dominate anyway)
- Information is written in the log about memory usage. Look for the "Real space integral" timing report - could be reduced by 2-3x by this caching strategy
- Parallelized history for the selfconsistent loop
- Saves a lot of memory, actually the SCF history is often a primary memory bottleneck for large systems
- Significant memory reduction for device analysis calculations (DDOS, LDOS) by avoiding dense matrices
- Upgrade MKL (10.1 to 11.2) - most matrix operations 5-10% faster, some 45% faster!
- Multi-level parallelization for contour integration - reduces memory significantly for large devices and allows using more parallel nodes (at the cost of somewhat lower performance per node)
- FFT version of GGA, 5x performance improvement, calculation time now comparable to LDA (caveat is that it scales less favorably in parallel, like LDA)
- Also allows for using somewhat smaller mesh cut-offs
- New algorithm for sparse inversion in NEGF, based on ZMUMPS. Improves computation of the Green's functions by a factor 2-5 in time and 20-25 in memory for "fat" devices like thick nanowires
- Direct Poisson solver can use disk space for caching, to reduce peak memory
- Neighborlist optimization - 25x faster for 500,000 atoms
- Non-selfconsistent Slater-Koster calculations parallelized
- MemoryUsage algorithm improved
- Experimental: Parallel sparse diagonalization (FEAST) with automatic sub-interval assignments
- Experimental: O(N) method based on Chebyshev polynomials
A constant reminder for all users: set MKL_NUM_THREADS=1 if you place several MPI processes on the same node, else parallel performance degrades substantially.
VNL performance improvements
- 3D graphics
- VNL can now easily handle 1M+ atoms on normal graphics cards, with full 3D rendering, thanks to the following updates in 2015.
- Code tuning for better handling of all kinds of operations (pan, zoom, delete, select, etc) on huge systems
- 2D rendering for additional performance boost - demonstrated with 8 million atoms
- Faster (and prettier) isosurfaces by using OpenGL shaders
- Option to use low-quality rendering of isosurfaces for quicker way to tune isovalue
- Option to draw bonds as thin lines - much better performance for very large systems
- Shader-based approach with 3D textures for rendering cutplanes and isolines
- Performance enhancement for 3D rendering by 10x improvement calculation of the bond list
- Load time of large structures in the Builder substantially improved
- "Device from bulk" functionality radically improved, both in speed and userfriendliness
- Complexity of code reduced from N2 to NlogN in number of atoms = generation time for large systems has been reduced by 50-150x!
- Memory leaks plugged and overall memory usage in VNL optimized
- A large set of the Builder plugins were performance-tuned to handle large systems (1M+ atoms) in particular
- Interface Builder - esp. the buttons to add/remove layers are now much more responsive (in total, the tool is now 400x faster)
- Passivation tool - made 100-500x faster
- ATK/VNL also starts up much faster, incl. loading/saving projects
- Loading of LabFloor items is done in a separate thread
- Progress bars and more splash screen information added to make it clearer what is going on during startup/closedown
- Basis sets are precompiled now, and only loaded when needed
In ATK 2015, more key algorithms can operate on sparse matrices instead of dense ones, and the operations can to a higher degree be carried out in parallel, both computationally and using parallelized storage which reduces the peak memory consumption.
Simulating a 30-40 nm long device is not a problem in ATK 2015. Shown here is an illustration (via the density of states) of the Schottky barrier in a junction between silver and n-doped silicon. As we see, the screening length is far longer than what is considered in most slab calculations.
Simulating millions of atoms is fairly straightforward with ATK-Classical, but you also need to be able to set up the structure and plot the results. In VNL 2015, the graphics have been improved to allow users to smoothly manipulate structures with millions of atoms. The example is a polycrystalline sample of HfO2 containing 1.2 million atoms.
Updates to VNL
New Builder/Viewer/LabFloor plugins and features
- Molecular builder: build molecules from scratch by using chemistry rules, or add a small molecule to a surface
- New Builder setup plugins for interstitial and substitutional random alloys
- Elliptic and quadratic mouse selection tools added
- Easier "select by element" in the Viewer and Builder (old method: shift-doubleclick an atom; new method: a widget)
- Interface builder
- Periodicity kept (optionally) when changing the interface distance
- Pre-optimize the interface using a classical potential (if any are available for the composite structure)
- Automatically adds tags for left and right interfaces
- Brillouin zone explorer - 3D view with symmetry points
- Ported many Builder plugins to the Viewer (select by element, expression, etc)
- New LabFloor plugin: Compare data - plot 2 DOS curves or band structures together
- Dramatically improved performance - see above
- Tool tips for bonds (bond length and connected atom indices)
- Graphical properties (size and color of atoms, style of unit cell and bonds, etc) now also available in the Builder
- Correct transparency rendering of isosurfaces and atoms
- All bonds are now plotted for electrodes (also those sticking out of the cell)
- Controllable "fuzz-factor" to fine-tune when bonds are drawn between atoms or not
- Enable/disable bonds (also, when bonds are not visible, they are not even computed, which improves the 3D performance)
- Stash items in the Builder also remember if bonds are on/off across sessions
- Ghost atoms are now rendered in a new way which also works with shader-based graphics
- Possibility to edit and move the cell axis labels (ABC)
- Graphical repetition of geometries, isosurfaces, and contour planes in the Viewer
- New 3D plot options
- Depth mapping for contour plots
- Add isolines to contour plots
- 3D extrusion (landscape plots) of grids
- Colors in contour planes can now be mapped to the displayed data range (instead of the entire grid data range)
- Restore graphical properties to default state
- The cursor in the 3D windows now shows the mouse operating mode, i.e. there are different symbols for zoom, drag, rotate, add atoms to selection, molecular builder actions, etc.
- Better support for old graphics cards
- VNL checks for too low OpenGL version, with associated warning message
The new molecular builder tool.
The new Brillouin zone explorer.
3D extrusion and isolines are new ways to add information and clarity to plots of grids like potentials and electron densities. Note that these plotting modes are also available for grid data from VASP and other codes.
New platform features
- Import/export filters
- Analysis of MD trajectories
- Import/export filters + analysis of electron density, band structure, DOS, etc
- See the new tutorial
- OpenBabel shipped with VNL; gives support for import and export of a huge amount of chemical file formats
- Visualization of vibrational modes added
- Import of MD trajectories improved
- New interface for setting up constraints
- More appropriate default values in the VASP Scripter + several minor fixes
- Preview the INCAR file
- Add custom lines to INCAR
- Easier to identify different VASP objects of the same type on the LabFloor
- Import/export filters and analysis of electron density
- The latest version of FHI-aims is shipped with ATK 2015
- Near-complete Python interface to all functionality in FHI-aims
- GUI support
- Note: Requires a new license feature, which can be purchased separately
- See https://aimsclub.fhi-berlin.mpg.de/index.php for more details about FHI-aims
New general features
- Many corrections to the non-collinear algorithm for improved convergence
- Cleanup of grid handling, made all query functions uniform in the spin interface
- Restart a spin-orbit / noncollinear calculation from a unpolarized density
- New Analysis object: SpinTransferTorque
Implemented constrained DFT (fixed spin direction, but not magnitude) for molelcules and bulk
- This can be used to study e.g. magnetic anisotropy
- Grimme DFT-D3 dispersion correction (van der Waals) implemented
- Optionally include three-body terms (very time-consuming!)
- Parallel scheduler in Python - gives users possibility to use MPI directly, to e.g. parallelize over tasks in a script (let's say, a loop over gate voltage bias points)
- Static: The list of tasks is fixed and divided up front; the master process can do work
- Dynamic: The list of tasks is not fixed, but dynamically allocated when tasks are completed, giving good load balence; the master controls the allocation, and therefore can't do work
- First demo of the "one-probe" concept (true surface model with infinite substrate)
- Accurate work function calculation runs 20x faster (on 16 cores) compared to VASP on 64 cores
- Allows for a correct description of charge transfer from the substrate to the surface (incl. absorbed molecules etc)
- Adaptive k-space integration for transmission spectrum - get accurate currents with much fewer k-points when T(E,k) has sharp, narrow peaks
- Spectral current plot + possibility to plot spatially projected LDOS/PDOS side-by-side with the transmission spectrum or spectral current
- Added option to define the FFT grids by number of grids points, instead of by grid spacing (implicitly set by the mesh cut-off energy)
- Very important when scanning lattice constants or doing stress optimizations, where (if you use the old way of specifying the grid) a small change in the lattice constant can lead to an increase or descrease in the number of grid points, which can lead to a sudden energy difference, which upsets the curves or throws the relaxation algorithm off course
- Re-enabled Dirichlet/Neumann boundary conditions for work function and other slab calculations; available as long as one unit cell axis is perpendicular to the other two (in 2014 the cell was required to be completely orthogonal)
- First version of an STM module in ATK (goes beyond the Hamann-Tersoff model)
- Basis sets and accuracy
- Contracted and recommended OMX basis sets available from the scripter gives very accurate results in the delta tests. Fully relativistic description of spin-orbit.
- Fixed an error in the electron occupations in the extended Huckel parameters for Technetium
- Removed the clearly wrong Te basis set for FHI pseudopotentials
- Delta test module
- Support for ONCV and UPF2 pseudopotential formats added
By using an adaptive k-point grid the effort to compute the transmission spectrum very accurately for rapidly varying data can be reduced by as much as a factor 100 (or more).