Feature List
QuantumATK is an integrated software suite for atomicscale modelling. It combines the power of a scripting engine, based on Python scripting, with the easeofuse provided by an intuitive graphical user interface. All simulation engines share common infrastructure for analysis, ion dynamics and parallel performance. The platform consists of the following components
 LCAO: Simulation engine for Density Functional Theory (DFT) using pseudopotentials and Linear Combinations of Atomic Orbitals (LCAO) basis sets.
 PlaneWave: Simulation engine for Density Functional Theory using pseudopotentials and PlaneWave (PW) basis sets.
 SemiEmpirical: Semiempirical simulation engine for using DFTB, Huckel, SlaterKoster or other tightbinding models.
 NEGF: Module for nanoscale device simulations using Non Equilibrium Greens Function (NEGF) methodology. The package uses either the DFTLCAO or the Semiempirical package for describing the Hamiltonian of the system.
 ForceField: Simulation engine for atomicscale simulations containing more than 300 classical potentials like bonded force fields, reactive force fields, pair potentials, and other parameterized interaction models for atoms.
 NanoLab: This is the graphical user interface (GUI) for the QuantumATK calculators.
 NanoLab Links: The nanolab links allows for setting up calculations with external codes, like Quantum Espresso, VASP, GPAW, ORCA and LAMMPS.
Below you can find the complete feature list:
Contents:
LCAO Basic Features
PlaneWave Basic Features
SemiEmpirical Basic Features
ForceField Basic Features
ElectronPhonon Interaction: LCAO and SemiEmpirical
Performance Options: LCAO, PlaneWave and SemiEmpirical
Poisson Equation Solvers: LCAO, PlaneWave and SemiEmpirical
Electronic Structure Analysis: LCAO, PlaneWave and SemiEmpirical
Electronic Structure Analysis: LCAO and SemiEmpirical
Specialized Features: LCAO, PlaneWave and SemiEmpirical
NEGF: LCAO and SemiEmpirical
Ion Dynamics: LCAO, PlaneWave, SemiEmpirical and ForceField
NanoLab
Platform Support
 Numerical atomic orbital basis sets with compact support
 Optimized basis sets for most elements with low, medium and high accuracy settings.
 Modern normconserving pseudopotentials
 FHI/SG15/PseudoDojo potentials provided for almost all elements of the periodic table, including semicore potentials for many elements
 PseudoDojo and SG15 potentials are fully relativistic
 Over 300 LDA/GGA/MGGA exchangecorrelation functionals via libXC
 Methods for accurate band gap calculations of semiconductors and insulators
 MetaGGA
 DFT+1/2 method
 Empirical "pseudopotential projector shift" method (parameters provided for Si and Ge)
 Van der Waals models (DFTD2 and DFTD3)
 Noncollinear, restricted and unrestricted (spinpolarized) calculations
 Spinorbit coupling
 Hubbard U term in both LDA and GGA (also spindependent)
 "Dual", "onsite", and "shellwise" models
 Counterpoise correction for basis set superposition errors (BSSE)
 Ghost atoms (vacuum basis sets) for higher accuracy in the description of surfaces and vacancies
 Virtual crystal approximation (VCA)
 Planewave basis sets with default mesh cutoff setting for all elements
 Hybrid functionals using the ACE approximation
 Modern normconserving TroullierMartins pseudopotentials
 FHI/SG15/PseudoDojo potentials provided for almost all elements of the periodic table, including semicore potentials for many elements
 PseudoDojo and SG15 potentials are fully relativistic
 Over 300 LDA/GGA/MGGA exchangecorrelation functionals via libXC
 Methods for accurate band gap calculations of semiconductors and insulators
 MetaGGA
 DFT+1/2 method
 Empirical "pseudopotential projector shift" method (parameters provided for Si and Ge)
 van der Waals models (DFTD2 and DFTD3)
 Noncollinear, restricted and unrestricted (spinpolarized) calculations
 Spinorbit coupling
 Hubbard U term in both LDA and GGA (also spindependent)
 "Dual", "onsite", and "shellwise" models
 Eigensolvers
 Default: Generalized Davidson method – stable and robust method
 Also includes (as the first code) the Projected Preconditioned Conjugate Gradient (PPCG) algorithm for computing many extreme eigenpairs of a Hermitian matrix (cf. https://arxiv.org/abs/1407.7506 & https://doi.org/10.1016/j.jcp.2015.02.030); provides better scaling for large scale parallel calculations (single kpoint, many processes per kpoint)
 DFTBtype model, more than 100 different parameter sets are shipped with the product. User option to add more sets
 Builtin SlaterKoster models for group IV and IIIV semiconductors (including strained models)
 Interface for input of userdefined SlaterKoster parameters
 Extended Hückel model with over 300 basis sets for (almost) every element in the periodic table
 TightBinding models for strained systems (T. B. Boykin et al., Phys. Rev. B 81, 125202 (2010))
 NRL model, with 8 parameters sets included
 Spin polarization term can be added via internal database of spinsplit parameters
 Noncollinear spin
 Spinorbit interaction (parameterized)
 Hartree term for selfconsistent response to the electrostatic environment
 All models adapted for selfconsistent calculations
 Over 280 bondorder potentials included
 Two/threebody potentials: LennardJones (various versions), Coulomb (various versions), StillingerWeber, Tersoff (various versions), Brenner, Morse, Buckingham, Vessal, TosiFumi, userdefined tabulated
 Manybody: EAM, MEAM, FinnisSinclair, SuttonChen, chargeoptimized manybody (COMB)
 Polarizable: Madden/TangneyScandolo, coreshell
 ReaxFF
 Valence force field (VFF) models
 BYOP (Bring Your Own Potential)
 Python interface for adding your own or literature potential of any of the supported types
 Support for custom combinations of potentials
 E.g. use a StillingerWeber potential with a LennardJones term to account for van der Waals interaction
 Several such potentials from literature are already provided: Pedone, GuillotSator, MarianGastreich, FeustonGarofalini, Matsui, Leinenweber, Madden, and more
 Coulomb solvers
 Ewald (smooth particle mesh), DSF, Debye, simple pairwise
 Interface for adding your own or literature potential of any of the above types
 Parallelized via OpenMP for optimal multicore performance (MPI parallelization in implementation)
 Extract electronphonon coupling matrix elements
 Compute deformation potentials and conductivity/mobility tensor, via the Boltzmann equation, with constant, kpoint and/or only energydependent relaxation times
 Compute Hall coefficient and Hall conductivity tensor, Seebeck coefficient and ZT, first moment, and thermal conductance utomated workflows for dynamical matrix (D) and Hamiltonian derivatives (dH/dR)
 WignerSeitz approximation for calculations of both D and dH/dR
 Tetrahedron integration method for calculating mobility and resistivity of states
 Consistent use of "best in class" standard libraries/algorithms like Intel MKL, ELPA, PETSc, SLEPc, ZMUMPS and FEAST
 Proprietary sparse matrix library
 Parallel memory distribution of e.g. the mixing history
 Automatic adjustment of number of bands above the Fermi level
 Multilevel parallelism
 Over images in NEB and similarly for other complex tasks
 Over kpoints
 Over basis functions (using multiple processes per kpoint)
 Also for band structure, DOS etc.
 Automatic algorithm to determine the default (optimal) number of processes per kpoint
 Caching of data for higher memory usage vs. faster performance  or opposite
 Use disk space instead of RAM to store grids for Poisson solver
 PEXSI solver for O(N) calculations of very large systems (10,000+ atoms in DFT); cf. http://arxiv.org/abs/1405.0194
 Automatic threading intelligence
 The number of threads is automatically controlled to make the best use of the available resources, taking into account the number of MPI processes used
 Possible to combine MPI and openMP parallelization
 FFT (for periodic systems)
 Two solvers for systems including metallic/dielectric regions:
 Multigrid
 Conjugent gradient method (parallelized in memory and execution)
 FFT2D solver for transport systems or slab calculations
 Automatic handling of different surface dipoles for slab systems (no need for dipole correlations)
 "Direct" solver for largescale calculations (parallelized in memory)
 Multipole expansion for molecules
 Dirchlet, von Neumann, or periodic boundary conditions can be specified independently in each direction
 Metallic gate electrodes and dielectric screening regions
 Allows for computation of transistor characteristics (gated structures) as well as charge stability diagrams of singleelectron transistors
 Band structure [...]
 Molecular spectrum [...]
 Projected Gammapoint molecular spectrum for periodic systems
 Density of states (DOS) [...]
 Projections of band structure and DOS onto atoms, spin, orbitals or angular momenta, in any desired combination
 Mulliken populations [...]
 Realspace 3D grid quantities [...]
 Electron density
 Effective potential
 Full Hartree or Hartree difference potential
 Exchangecorrelation potential
 Full electrostatic or electrostatic difference potential
 Electron localization function (ELF) [...]
 Molecular orbitals [...]
 Bloch functions [...]
 Total/free energy [...]
 Polarization and piezoelectric tensor (Berry phase) [...]
 Optional internal ion relaxation
 Effective mass analysis [...]
 2nd order perturbation theory or analytic tensor
 Bader charges [...]
 Born effective charges
 Fermi surface
 Effective band structure (zone unfolding for supercells)
 Optical properties [...]
 KuboGreenwood formalism for linear optical properties
 Calculation of optical adsorption, dielectric function, refractive index, etc.
 Local Bandstructure
 Effective mass
 Charge point defect study object
 A framework for studying point defects in bulk materials: vacancies, substitutionals, interstitials
 Neutral and charged defects
 Calculate relaxed defect structures, formation energies and thermodynamic transition levels
 Can use with the new PlaneWave calculator
 Can specify different calculators for the relaxation and the calculation of formation energies
 Ghost atoms enabled for vacancy sites, also during relaxation, for significantly better accuracy
 FNV correction scheme for charged defects with automatic Gaussian model charge fitting
 Check convergence of defect properties with cell size and extrapolate to infinite size
 Automatic adjustment of kpoint sampling for different cell sizes to ensure best possible consistency between sizes
 Complex band structure
 Bulk transmission spectrum
 Heisenberg exchange analysis module
 A novel method of computing exchange coupling constants for the Heisenberg model, using the Green'sfunction method
 Works within the framework of density functional theory (DFT+U) combined with the LCAO basis set approach
 The Heisenberg spinlattice model is an empirical approach to study various magnetic properties at finite temperatures, e.g., to understand phase diagrams, phase transitions, and magnetization dynamics of the magnetic system
 The main difference from the traditional approach, which is based on total energy calculations for multiple magnetic configurations, is that all the exchange coupling constants can be computed from a single magnetic configuration calculation
 Easy to set up the HeisenbergExchange analysis such that only couplings between certain atoms are considered
 Spin life time
 At technologically relevant temperatures (>100 K) the spin life time will be limited by electronphonon interactions, mediated by spinorbit coupling (ElliotYafet mechanism [1])
 QuantumATK 2018.06 can calculate the phononlimited spin life time from an ElectronPhononCoupling object (if computed with noncollinear spin and spinorbit coupling)
 Initialization of a new calculation via the selfconsistent density matrix of a converged one (with automatic spin realignment)
 Initialization of noncollinear spin calculations from collinear or spinunpolarized ones for improved convergence
 Custom initial spinfilling schemes
 Odd/even kpoint grids (MonkhorstPack or edgetoedge zone filling), Gammacentered or with custom shifts
 Fractional hydrogen pseudopotentials and basis sets (for surface passivation)
 Lowlevel interface to extract Green's function, Hamiltonian, overlap matrices, selfenergies, etc.
 Delta test module for benchmark of pseudopotential/basis set accuracy
 Flexible and customizable verbosity framework to control the level of output to the log files
 Regiondependent "c" parameter for TB09 MegaGGA
 Occupation functions: Fermi, MethfesselPaxton, Gaussian, ColdSmearing
 Local atomic shifts
 Simulate external fields
 Implicit solvent model
 Support for charged systems
 Compensation charges
 Mimic charge doping
 Passivate surface atoms
 NEGF method for twoprobe systems
 Nonequilibrium Green's function (NEGF) description of the electron distribution in the scattering region, with selfenergy coupling to two semiinfinite leads (source/drain electrodes)
 Open boundary conditions (Dirichlet/Dirichlet) allows application of finite bias between source and drain for calculation of IV curve
 Includes all spillin contributions for density and matrix elements
 Use of electronic free energy instead of total energy, as appropriate for open systems
 Ability to treat twoprobe systems with different electrodes (enables studies of single interfaces like metalsemiconductor or pn junctions, for instance)
 Ability to add electrostatic gates for transistor characteristics (see above under "Electrostatic models")
 Surface Green's function method for single surfaces
 NEGF description of the surface layers, with selfenergy coupling to a semiinfinite substrate (replaces the slab approximation with a more physically correct description of surfaces)
 Appropriate boundary conditions for infinite substrate and infinite vacuum above the surface, both for zero and finite applied bias on the surface
 Performance and stability options
 Scattering states method for fast contour integration in nonequilibrium (finite bias)
 O(N) Green’s function calculation and sparse matrix description of central region
 Double or single semicircle contour integration for maximum stability at finite bias
 Ozaki contour integration to capture deep states
 Sparse selfenergy methods to save memory
 Options to store selfenergies to disk, either during calculation (instead of RAM) or permanently, to reuse in other calculations
 Adaptive (nonregular) kpoint integration for transmission coefficients
 Minimal Electrode Concept
 Reduced electrode  automatically repeated for computing selfenergies
 Saves time in the electrode calculation which is O(N3)
 Calculation of IV curves [...]
 Elastic, coherent tunneling transport
 IV Characteristics Study Object
 Combined framework for running multiple sourcedrain/gate voltage calculations and collecting and analyzing the results
 Multilevel parallelism
 “Smart restart“
 Custom settings for individual voltages
 State persistence (via data in HDF5)
 Custom drainsource voltages, plot current as function of gate source; current as function of drainsource for one or many gate voltages
 Show on/off ratio, subthreshold slope, transconductance, DIBL, sourcedrain saturation voltage
 Quasiinelastic (LOE) and fully inelastic (XLOE) electronphonon scattering
 Works with any combination of methods for the electronic and ionic degrees of freedom (DFT, tightbinding, DFTB, classical potentials)
 Many performance options, such as averaging over phonon modes (bunching), using energydependent relaxation energies, and repeating the density matrix for homogeneous systems
 Inelastic transmission spectrum (IETS) analysis
 Special thermal displacement (STD) approximation to efficiently capture the effect of phonon scattering on the IV curve by creating a canonical average over all phonon modes. For more details, see arXiv:1706.09290
 Photocurrent Module
 New analysis module for calculating the photocurrent and photonmediated transmission in a device using firstorder perturbation theory within the 1st Born approximation [1,2,3]
 Also gives the total current based on illumination by the AM1.5 standard solar spectrumOptimize
 Device Configuration Study Object for Relaxation of Devices
 This study object fully automates the Bulk Rigid Relaxation (BRR) method, making it very simple to optimize the geometry of a device
 Can relax also complex device systems
 Analysis of transport mechanisms
 Transmission coefficients (kpoint/energy resolved)
 MonkhorstPack or edgetoedge zone filling kpoint scheme, or sample only part of the Brillouin zone for detailed information
 Spectral current
 Transmission spectrum, eigenvalues, and eigenchannels
 Device density of states, also projected on atoms and angular momenta
 Voltage drop
 Molecular projected selfconsistent Hamiltonian (MPSH) eigenvalues
 Current density and transmission pathways
 Spintorque transfer (STT) for collinear/noncollinear spin
 Atomicscale band diagram analysis via LDOS or device DOS
 QuasiNewton LBFGS and FIRE methods for geometry and unit cell optimization (forces and stress)
 Simultaneous optimization of forces and stress
 Optimize structure to specified target stress (hydrostatic or tensor)
 Pre/post step hooks for custom onthefly analysis
 Computation of dynamical matrix
 Phonon band structure, DOS, and thermal transport
 Compute and visualize phonon vibration modes
 Compute the Seebeck coefficient, ZT, and other thermal transport properties by combining ionic and electronic results
 Zeropoint energy and free lattice energy can be obtained from the PhononDensityOfStates analysis object (vibrational free energy in quasiharmonic approximation of molecules and bulk)
 WignerSeitz approximation for large supercells
 Geometry optimization of device structures (also under finite source–drain bias)
 Calculation of transition states, reaction pathways, and energies
 Nudged elastic bands (NEB) method, enhanced version developed inhouse
 Support for varying cell shape and size, to simulate e.g. phase changes
 Climbing image method
 Preoptimized path using the imagedependent pair potential (IDPP) method
 Parallelized over images
 Molecular Dynamics (MD)
 Stateoftheart MD dynamics methods

 Runs with DFT, semiempirical models, or classical potentials
 All thermostats and barostats support linear heating and cooling
 All barostats support isotropic and anisotropic pressure coupling and linear compression
 Thermostats and barostats

 NVT NoséHoover with chains
 NVE Velocity Verlet
 NVT/NPT Berendsen
 MartynaTobiasKlein barostat
 Langevin
 Several options for initialization of velocities
 Pre/post step hooks in Python for custom onthefly analysis or custom constraints
 Flexible contraints
 Fix atoms
 Separate X, Y, Z constraints
 Fix center of mass in MD
 Constrain Bravias lattice type (even when target stress is applied)
 Partial charge analysis
 Visualization of velocities
 Interactive analysis tool for trajectory and single configuration properties (also for imported trajectories from LAMMPS, VASP, etc)
 radial/angular distribution function
 velocity autocorrelation
 local mass density profile
 coordination number
 meansquare displacement
 nearest neighbor number
 neutron scattering factor
 velocity/kinetic energy distribution
 local structure analysis (Voronoi type)
 centrosymmetry
 In scripting, the above analysis can be performed very efficiently for a selected subset of atoms, also in very large structures
 Mechanical properties
 Forces and stress (analytic Hellmann–Feynman)
 Elastic constants
 Local stress
 Global optimization
 Genetic algorithm for crystal structure prediction
 Adaptive Kinetic Monte Carlo (AKMC)
 Long time scale molecular dynamics for finding unknown reaction mechanisms and estimating reaction rates
 Harmonic transition state theory (HTST) analysis of transition rates
 Two options: detailed analysis via phonon partition function, or quick estimate via curvature of NEB path
 Metadynamics via the PLUMED library
 Export movies of MD trajectories, phonon vibrations, NEB paths, etc.
 Atomic geometry builder for molecules, crystals, nanostructures and devices
 Symmetry information tool
 Supercells
 Interactive control of structure, select, edit, move, by atom, fragment, etc.
 Surface cleaver [...]
 Interface builder [...]
 Icosahedron builder plugin
 Wulff construction tool
 NEB tools: set up path, edit images collectively or individually [...]
 Create device structures for transport calculations
 Builders for nanostructures like graphene, nanotubes, nanowires
 Molecular builder
 Polycrystalline builder
 Passivation tool for surfaces to remove bonds
 Import/export of most common atomicscale modeling file formats (extendable by plugins; embedded version of OpenBabel)
 Packmol plugin
 Special Quasirandom Structures (SQS) algorithm for generating random alloys
 Use a genetic algorithm (unlike other codes that perform an openended Monte Carlo simulation, which can be very slow)
 Supports 2component systems like SiGe or InGaAs
 Any type of geometry, also nanowires etc.
 Python Console
 Provides direct Python access to interact with the configurations in the Builder
 Maps (some) operations in the Builder to Python commands
 Create predefined scripts (”snippets”) to automate repeated tasks
 Databases
 Internal structure library with several hundred basic molecules and crystal structures
 Interface to query online databases such as
 Crystallography Online Database
 Materials Project
 Support for custom, internal databases based on MongoDB or MySQL
 Easy setup of calculations, even advanced workflows
 Full range of functionality for LCAO, PlaneWave, SemiEmpirical and FordeField
 Viewer for 3D data
 Highperformance shaderbased rendering engine for very large data sets (1M+ atoms and bonds)
 Isosurfaces, isolines, and contour plots, with graphical repetition with data range control
 Control atom color, size, transparency, etc.
 Color atoms by computed quantities, like forces, velocities
 Also works in movies, e.g. MD trajectories
 Polyhedral rendering of crystals
 Voxel plot (point cloud) rendering of 3D grids
 Vector field plots
 3D extrusion of contour plans
 3D scene control, multiple light sources
 Brillouin zone explorer [...]
 Export images in most common graphical formats
 Export (and import) CUBE or simple xyz data files for external plotting
 Export movies of MD trajectories, phonon vibrations, NEB paths, etc
 Autorotated views can be exported as animated GIFs
 Interactive 3D measurement tool for distances and angles
 2D plot framework
 Save and reuse customized plots by converting plots to Python scripts
 Combine plots, e.g. band structure and DOS
 Add annotations like arrows and labels to plots
 Project management
 Organize data files into projects
 Easily transfer projects between computers, or share with other users
 Overview all data in a project, or focus on particular subsets, then combine data sets from different files for advanced analysis
 Editor
 Searchandreplace
 Syntax highlighting
 Python code completion
 Select font
 Job Manager [...]
 Submit and run jobs from the GUI in serial, using threading and in parallel using MPI [...]
 Submit jobs from the GUI to local machines
 Submit jobs from the GUI to remote machines [...]
 A variety of queue types: Torque/PBS, LSF, SLURM, and direct execution (no queue)
 Additional queue types can be added by plugins
 Special plugin for ATK OnDemand on Sabalcore [...]
 Requires only SSH access from client to server (no serverside daemon is required, all is controlled by the client)
 Automatically copies input and output files to/from remote resources
 Builtin SHH key generation and transfer to remote host (no need of 3rd party programs)
 Diagnostics tool checks that added machine settings are correct
 Python scripting interface, directly coupled to GUI
 Can also be used interactively
 Parallel scheduler
 Includes PyQt4
 PyMatGen included (precompiled)
 Support for external codes
 VASP
 Input file generation via interactive scripter, supporting most VASP functionality
 Add custom lines to and preview the INCAR file
 Read data files for plotting and data analysis (OUTCAR, CONTCAR, CHGCAR, DOSCAR, EIGENVAL, CHG, PARCHG, ELFCAR, XDATCAR)
 Plot band structures, DOS, etc.
 Generate initial NEB paths using the IDPP method
 Set up constraints
 Visualize NEB paths and barriers
 Import and analyze MD trajectories
 Visualize vibrational modes
 QuantumESPRESSO
 Scripter for advanced input file generation
 Read and plot charge densities, DOS, band structures
 GPAW
 Scripter for advanced input file generation
 Read and plot charge densities
 LAMMPS
 Create and export advanced structures
 Import trajectories to make movies, calculate local structure, plot RDF, etc
 ORCA
 Scripter for advanced input file generation
 Read and plot charge densities
 Plugin API
 Users can write addons and plugins in Python, using our API to add new functionality to VNL
 Add support for additional external codes
 Add new features to the Builder (anything from simple operations to fully interactive widgets)
 Import/export of structures in external file formats
 Add new data analysis capabilities and plot types
 Addon manager for installing plugins from server
 MBNExplorer import/export
 CCLib included, for importing files from various quantum chemistry codes
 Selfcontained binary installer  no compilation needed, no external library dependencies beyond standard operating system packages
 Support for all modern 64bit Windows and Linux versions (both ATK and VNL) (detailed system requirements)
 Provides a complete Python environment with precompiled optimized libraries like numpy/scipy/ScaLAPACK (based on MKL), matplotlib/pylab, Py4MPI, SSL bindings, Qt/PyQt, etc.
 Parallelization (Windows/Linux)
 QuantumATK is compiled against Intel MPI and the Intel Math Kernel Library (MKL) which in combination automatically provide an optimized balance between OpenMP threading and MPI
 Intel MPI is included in the shipment
 Support for MPICH2/MPICH3 (Ethernet), MVAPICH2 (Infiniband), and other MPICHcompatible libraries
 Floating license system (SCL from Synopsys)