Bugfix update VNL-ATK 2016.3

Nov 16 2016

A bugfix update to VNL-ATK 2016 has been released (version 2016.3). 

Download it from http://quantumwise.com/products/download as usual.

For more information about VNL-ATK 2016, see the original release letter.

Please note that for this release, we are introducing a new end-user license agreement (EULA).


2016.3 updates

Important bugs or improvements, possibly affecting results or output, or hindering usage of the software

  • IETS analyzer: the total d2I/dV2 signal should be divided by the total dI/dV signal (not by the inelastic dI/dV signal, as it was)
  • Fix for VNL crash when showing density plots of device configuration
  • Avoid deadlocks in checkpoint files when running in parallel
  • Added terms to be able to correctly calculate forces with the Ozaki contour integration method
  • Save the transmission spectrum while running IVCurve
  • Fix for the doping plugin, to ensure it always writes tags and doping to electrodes

Regular bugs

  • HamiltonianDerivatives, fixed check for atomsTranslatedOutsideUnitCellInDirection for hexagonal cells
  • Fixed ammonia in the fragments in the MolecularBuilder (had four H atoms)
  • Fixed the determination of the Brillouin zone (Wigner-Seitz cell) for high-aspect lattices
  • DynamicalMatrix: clean up large amount of empty log files when using a classical potential
  • Avoid degenerate unit cells in Interface Builder
  • Fix for DiagonalizationSolver, could hit communicator limit in MPI
  • AKMC: fix numbering mismatch between the log file and the filenames.
  • Ensure animated GIF can be exported also when "wrap atoms" is used
  • Molecular builder would throw an exception if stash was empty
  • Enable create button when in preview mode (SubstitutionalAlloyPlugin)
  • Fix for cut planes which lose resolution when repeated in viewer
  • Keyword "enable_symmetries" only works in ATK 2016 is the crystal is oriented in the standard way (for instance, hexagonal crystals must have the C axis along Z); will be fixed more generally for 2017, but at least a warning has been added in 2016.3
  • Avoid adding redundant script blocks when they are read from analyis from file (in particular for dynamical matrix)
  • Make sure tag selection tool for trajectories in Viewer doesn't raise an exception
  • Fix exception thrown when moving splitter in MovieTool
  • Fix for using Polycrystal Builder with MoleculeConfiguration
  • Fix for problem with zero-dimensional data in ElectronPhononCoupling analyzer

Specific enchancements and bug fixes for SurfaceConfiguration

  • Improved "surface from bulk" to recognize shorter repetition patterns
  • Corrected how doping is handled for surfaces configurations
  • Fix a segfault in the translate plugin when used for SurfaceConfiguration
  • Fix translate plugin for surfaces
  • Overlapping atoms were not detected for SurfaceConfiguration
  • Fix passivation of surfaces (also for devices)

Performance improvements

  • Don't use fully dense onsite spin-orbit matrices in tight-binding
  • For unpolarized calculations, do not evaluate() the DOS twice unnecessarily
  • AKMC: Make write_searches default to False when used with a TremoloXCalculator (logging was too slow)


  • Significant improvements of performance (memory and speed, sometimes from 200 to 2 GB)
    • Restructure tasks to avoid large (k,q)-lists
    • Always calculate E(k) and v(k) for all initial states
    • Do not run empty task lists
    • Enabling sparse storage of energies and velocities
  • Changed default value of energy_tolerance
  • Improved legacy support for sparse/dense energies
  • Enable sparse energies to be shown in ElectronPhononCoupling analyzer


  • Make calculation of Hall coefficients optional - takes a long time with many k-points
  • Legacy support + unittest. Early returns if the coupling matrix is zero
  • Don't include states with zero inverse relaxation times
  • Allow for selecting only some electron bands

General enhancements

  • GUI support for RegularKPoint and AdaptiveKPoint grid for IVCurve
  • Add nlprint support to MDTrajectory
  • Do not allow installing VNL-ATK in a path containing non-ascii characters (Python 2.x does not support this)
  • Support reading OUTCAR files generated with IBRION=7

Smaller improvements, bugs, or technical issues, incl. docstring and manual

  • Disable repetition of surfaces in Z-direction in Viewer
  • Properly handle NewCalculator if no potentials for ATKClassical
  • Cleaver, improved tab sequence / initial focus
  • Set an upper bound on how many k-points can be specified to avoid Script Generator becoming slow or segfaulting
  • Make sure electrodes are moved when reading a Trajectory for devices if the central region expands/shrinks
  • Preview overlay text is now back again in the Builder
  • 'Any files (*)' as the only option for the chemistry importer
  • The Job Manager should not accept dropped nc files.
  • Added a progress export when exporting a GIF for an MDTrajectory
  • Set lower bound on temperature in Markov Chain Analyzer
  • Fix indentation in optimize geometry script
  • Fix zoom issue in Optical Spectrum Analyzer
  • Problem in MD when using MoleculeConfiguration with hook funtions fixed
  • Fixed typo in Nanowire plugin
  • Disable "Adjust configuration" when analysis from file is used
  • CustomScripter, small issue about filename
  • Fix typo in QuickOptimizer plugin
  • Make last downloaded item active in COD Database
  • Set a lower bound on forces in QuickOptimizer plugin
  • Fix for comboboxes in VibrationalVisualizer
  • Better message when attempting to use a network license file as standalone
  • Change version of nc files from 2017 to 2016.
  • Weird text behind scrollbar in Builder
  • Fix AddOn Manager hiding behind main window
  • Tone down the warning in depth fade window if no configuration
  • Rephrased the setting "Use local plugins" to make it more understandable
  • Fixed consistency of Isoline checkbox in cutplane properties
  • Remove html tags from COD Database results
  • Clamp axis limits to >1e-16 in log-scale.
  • Give a proper error message when HTSTEvent is given SurfaceConfigurations.