Significantly lower memory requirement by storing all matrices as sparse
- For one calculation it was benchmarked to go from 800 GB to 1.3 GB!
New approximation for calculating mobility: constant relaxation time (similar to the Boltztrap code).
- The relaxation time can be provided, e.g. from experiments, but can also be computed from the dynamical matrix and averaged over energy/k-space
For devices which are just a repetition of the electrodes along the entire transport direction (like a long, simple nanowire, nanotube, or 2D slab), the inelastic current calculations can be run up to 100,000 times faster by only calculating the dynamical matrix and dH/dR for the electrode
Gain 10-100x in performance by grouping (summing) all phonon modes in an energy range, as an approximation
ATK 2017 introduces a novel so-called special thermal displacement (STD) approximation to capture the effect of phonon scattering on the I-V curve. The "STD-Landauer" method is presented in more detail in arXiv:1706.09290, but basically it reduces the complete electron-phonon coupling calculation to the evaluation of the dynamical matrix of the central region (also needed for LOE/XLOE) and a single device calculation for each bias (and temperature). The idea is to create a single distorted atomic configuration based on a canonical average over all phonon modes, in order to encapsulate all temperature effects.
The article demonstrates how this method can be used to very efficiently evaluate the phonon influence on the electronic current for a p-n Si junction device, as well as the mobility of Si bulk and nanowires as a function of temperature (see right).
General performance improvements
- Number of “bands above Fermi level” is now set automatically
- Usually gives 2x in performance; it could be done manually before, but most users did not notice this option
- New storage options for self-energies:
- NoStorage (drastically reduces memory usage for large devices, but requires recalculation in each step)
- SaveInMemory (fast, but requires memory)
- StoreOnDisk (fast, almost no memory requirement, uses disk space instead)
- Reuse self-energies between calculations, when using the same electrodes for different central regions
- SparseGreensFunction improved
- Use to reduce memory usage for large cross sections
- Especially for finite bias, using multiple processes per contour point provides significant memory reduction per MPI process
- No performance overhead anymore for the distributed Pulay mixer (now default)
- Detect automatically if electrodes are "identical" even if shifted a bit (can be turned off)
- Self-energy caching improvements
- Grid operations (10% memory cost for 20% performance gain in real-space integration)
Silicon p-n junction devices at 2x1019 cm-3 doping for a short (a,c) and long (b,d) rectifier. The short device permits comparison with perturbation theory (LOE) while the screening is not fully enclosed within the device as shown by the local density of states (e). In both short and long devices the LDOS is strongly renormalized at 300K (e,f lower panels) and the reverse leakage currents are increased by six orders of magnitude.
STD-Landauer mobilities. (a) Transmission for pristine vs. STD configurations for three different lengths of a 1.3 nm diameter silicon nanowire. (b) Mobilities of a silicon nanowire and bulk silicon. The STD result is compared to Boltzmann transport equation (BTE) as well as experimental data and force-field (FF) phonons for bulk and nanowire, respectively.
New methods for band gaps
ATK 2017 introduces two new methods for calculating semiconductor band gaps:
- Semi-empirical DFT approach to correct the self-interaction error in local and semi-local exchange-correlation functionals
- Known from literature (Ferreira et al., 2008 and 2011) and builds on Slater’s half-occupation method
- “More ab initio” than other methods like MGGA or GGA+U, since the parameters seem more transferable, i.e. you don't necessarily need to fit the parameters for each material individually. Testing shows that the same parameters can cover a class of materials, e.g. oxides with the same oxidation state, without any additional parameters needed for the metal ion, or III-V alloys with a universal anion parameter set.
- Pre-defined parameters provided for oxygen (for simple oxides), Si, III-V and II-VI alloys
- Not recommended for force/stress optimizations
- Pseudopotential projector shifts (PPS)
- Novel method developed by QuantumWise which introduces adjustable parameters into the pseudopotential to improve properties like band gaps and lattice constants, similar in spirit to the empirical pseudopotential method but still based on DFT. The parameters are fitted for a reference system (like bulk Si) but appear to be transferable to e.g. alloys and nanowires.
- Parameters are provided for Si and Ge, in the form of predefined pseudopotentials. We have succesfully used these to describe the dependence of both the lattice constant and band gaps on the composition x of Si1-xGex (see right).
- Works for phonons too, if calibrated accurately.
The primary bandgap of Si1-xGex as function of alloy composition, computed with the PPS method, compares very well to experimental values.
New storage file format: HDF5
As of ATK 2017, the default storage format is now HDF5. As a user, you should not really notice any difference, except that the extension has changed. Technically, however, the HDF5 format offers possibilities for new features and performance.
NOTE: All old NC files are still compatible with VNL and ATK 2017 (for reading).
- Annotate your calculations, by adding "metatext" to HDF5 objects (calculators, band structures, any object)
- Remove data from HDF5 files
- Better parallel performance
- Significantly better performance for classical MD when using HDF5 files for trajectories
Access the Materials Project database from VNL
- Search for combinations of elements, crystal structure, and other parameters
- View matches in a table view showing key properties, and visualize the structure
- Import the crystal structures to VNL, as well as results such as band structure, DOS, etc, and visualize them directly in VNL
- Improved functionality of the Crystallography Open Database (COD) interface
By writing a custom plugin, create an interface to any MySQL or MongoDB database
Create your own database of ATK calculations
Wigner-Seitz approximation for large supercells
Anyone who ever tried to calculate phonons in large supercells knows that this can be a prohibitively expensive exercise, due to the need to repeat the cell at least three times in each periodic direction. Thus even a "small" supercell with say 100 atoms turns into 600 calculations of a system containing 2700 atoms.
ATK 2017 solves this problem by introducing a novel and innovative approximation based on a Wigner-Seitz partition of the forces, such that atoms that are far from each other in the original supercell (on opposite edges, for instance) do not feel the forces of the repeated-image atoms under periodic boundary conditions.
Using this approximation it is possible to obtain both accurate phonon band structures and vibrational eigenmodes without repeating the cell ("poor man’s frozen phonon calculation"). The approximation becomes exact in the limit of large supercells, but has good accuracy already at 3x3x3, esp. for the acoustic phonon DOS.
The accuracy of the method is demonstrated in the figures on the right, which show the phonon DOS and band structure of a 63-atoms Si vacancy system.
- Reference calculation (the 3x3x3 supercell, with 1701 atoms): 9 days
- Wigner-Seitz scheme: 43 minutes
- Speedup: 300x
NOTE: ATK-Classical has been renamed ATK-ForceField
New Builder features
- Improved Wulff constructor - can now take multiple planes and contains a database of surface energies
- Measurement tool in the Builder and Viewer, also for NEB (dynamically updating with each image)
- Reorder atoms by drag and drop in the Coordinate List, or right-click to move to end/top
- "Send to" framework improved to remove any performance issues when handling millions of atoms in the entire workflow in VNL
New analysis features
- Born effective charge analysis
- Enables geometry optimization and NEB in an applied electric field
- Free energy analysis
- TotalEnergy now reports free energy and extrapolation to T=0 K
- Zero-point energy and free lattice energy can be obtained from the PhononDensityOfStates analysis object (vibrational free energy in quasi-harmonic approximation of molecules and bulk)
- Calculate and visualize Fermi surfaces
- Projections for DOS and band structure, project on atoms, shells, orbitals, spin
- Script for plotting spin textures
Script Generator updates (new defaults)
- SG15 Medium is now the default basis set
- Element and pseudopotential specific default mesh cut-off
- GGA-PBE is now the default exchange correlation
- The default electron temperature is now 1000 K (this is on the high side, to give better convergence; you may want to lower it for better accuracy)
- For devices, NeutralAtoms is now default
- Most systems will run a lot faster, in particular in parallel, and use significantly less memory
- For some systems convergence can be worse, in which case the old default EquivalentBulk can be attempted
- Adjusted the step length for elastic constants and relaxation to better suit DFT calculations
NOTE: Due to these changes, the results from calculations run with
"minimal scripts", or by making a new script in VNL 2017,
may differ from corresponding runs with 2016 and earlier versions
The Fermi surface of platinum.
Job Manager updates
- New queue managers supported: LSF and SLURM
- Improved diagnostics tool
- Edit machines without need to delete existing jobs on it
- No need to save a file again, if using Send to from Script Generator
- Passwords and keys
- Built-in SSH key generation
- Added possibility to store passwords in the Job Manager - removes the need to only do password-less ssh keys
- Display the unique job ID to make it easier to identify the job
- Job ID made shorter, as some cluster place a character limitation on the job name in the queue
- Preview the PBS script
- Add custom lines to the submit script
- Use the PATH to locate the PBS binaries if the binary path field is empty (was earlier not permitted to leave this field empty)
- Special plugin for ATK On-Demand (Sabalcore)
- Color atoms by computed quantities, like forces, velocities (see right), etc
- Also works in movies, e.g. MD trajectories
- Repetition of atoms can be synced with repetition of the cell
- Device, repeat in Z visually
- Repeat synced with cell repeat
- Chosen isovalue is now indicated on the colorbar
- Solid color option
- Easier control of multiple scene window (close all, close Viewer & all scenes)
- Scene list in Viewer for better overview
- Easier to adjust position of colorbars
- Perspective projection also with shaders turned on
- Vector field plots for current density (see right)
- New framework for 2D plots allows users to save and reuse customized plots
- Turns a 2D plot into a Python script, which can be modified or batch processed
- Combine plots, e.g. band structure and DOS
- Add annotations like arrows and labels to plots
ATK 2017 contains a preview of our upcoming plane-wave DFT module. For now, the performance is somewhat limited, but is already expected to change in a few months.
ATK-PlaneWave will set a new standard for DFT codes, as both beginners and experts will enjoy unsurpassed ease-of-use thanks to a complete integration in the graphical user interface for interactive setting up of structures and post-processing analysis and plotting, combined with powerful scripting capabilities via Python and database connectivity - i.e. just like for our LCAO-DFT code!
- ATK is now compiled against the Intel MPI library
- Automatic threading control in MKL for optimal hybrid parallelization - no need anymore to set OMP_NUM_THREADS for good parallel performance (unless you are doing an MD calculation with classical potentials)
- Support for Infiniband
- Intel's mpiexec.hydra is provided on Windows and Linux - this is the recommended way to run ATK in parallel
- Maintained compatibility with MPICH2/3 and MVAPICH2
- LM-X updated, same version on Windows and Linux
- Faster installation (esp. on Windows)
- 32-bit platforms are no longer supported
- Mac OS X is no longer supported
Spin texture plot of Bi2Te3
- Updated version of FHI-aims
- ABINIT removed from package
- Quantum Espresso plugins improved (bugs fixed), mainly required due to changes in the QE output file formats
- Surface configuration feature in a more mature state than in 2016. Reference: arxiv.org/abs/1707.02141.
- Log file improvements, less repeated information, more useful stuff
- Boykin's environmental tight-binding model implemented for strained GaAs and Si
- Convergence info saved on object, even the history, can be queried later and a calculation can be checked for convergence
- New occupation functions: Methfessel-Paxton, Gaussian, ColdSmearing
- Improvements to the geometry optimization algorithm when using “rigid body” constraints
- AKMC scripter support
- CrystalStructurePrediction polished and added to manual
- New Poisson solver: parallel conjugent gradient to replace MultiGrid and Direct solvers for systems with gates
- 2-9x faster than multigrid and uses 3-5x less memory unless you run in serial/few MPIs