**Table of Contents**

- Introduction
- The ATK-DFT package
- The ATK-SE Package
- The NEGF formalism in ATK
- Plug-in tools in VNL
- Python in ATK
- NanoLanguage Reference Manual
- Appendix
- Appendix: Atomic data
- Bibliography
- Core NanoLanguage elements
- MoleculeConfiguration — Class for representing an isolated structure, i.e a molecule.
- BulkConfiguration — Class for representing a periodic structure, i.e bulk configuration
- DeviceConfiguration — Class for representing a structure coupled with semi-infinite bulk, i.e. one-probe, two-probe, etc.
- NanoSheet — Function for generating a nano sheet.
- NanoTube — Function for generating a nano tube.
- NanoRibbon — Function for generating a nano ribbon.
- BoxRegion — Class for representing an orthorhombic region, i.e. a rectangular box of metallic or dielectric material.
- AtomicShift — Represents a potential shift of the orbitals on individual atoms.
- AtomicCompensationCharge — Represents a change in the ion charge of individual atoms, resulting in a different ion electro-static potential of the atoms.
- NudgedElasticBand — Class for holding a series of configurations, ranging from an initial to a final configuration.
- HuckelCalculator — Class for representing calculations using the extended Huckel model for configurations of the type MoleculeConfiguration and BulkConfiguration.
- DeviceHuckelCalculator — Class for representing calculations using the extended Huckel Model for DeviceConfigurations.
- LCAOCalculator — Class for representing calculations using the ATK-DFT numerical orbital model for configurations of the type MoleculeConfiguration and BulkConfiguration.
- DeviceLCAOCalculator — Class for representing calculations using the ATK-DFT LCAO model for DeviceConfigurations.
- EMTCalculator — Class for representing an EMT calculator. It can be used for a MoleculeConfiguration and a BulkConfiguration.
- BrennerCalculator — Class for representing a Brenner Potential 2002 calculator.
- SlaterKosterCalculator — Class for representing calculations using a Slater-Koster tightbinding model for configurations of the type MoleculeConfiguration and BulkConfiguration.
- DeviceSlaterKosterCalculator — Class for representing calculations using the SlaterKoster Model for DeviceConfigurations.
- AbinitCalculator — Class for representing calculations using the Abinit planewave DFT code.
- counterpoiseCorrected — Create a new class extended with a Basis Set Superposition Error (counterpoise) corrector.
- TersoffCalculator — Class for representing a Tersoff Potential calculator, based upon Class for representing a Brenner Potential 2002 calculator.
- AnalyticalSplit — Class for representing the analytical split of a confined or polarization orbital.
- ATK_U — Class for representing the ATK_U database.
- ATK_W — Class for representing the ATK_W database.
- BasisSet — Class for representing the basis set for given element in DFT.
- CheckpointHandler — Class for representing the parameters used for saving the configuration and calculator at regular intervals during self-consistent iterations.
- ConfinedOrbital — Class for representing a confined atomic orbital.
- DFTBDirectory — Class for representing a DFTB parameter file directory.
- DoubleContourIntegralParameters — Class for representing the contour parameters when using a double contour.
- DynamicalMatrixParameters — Class for representing the parameters needed for calculating the dynamical matrix.
- ExchangeCorrelation — Class for representing Exchange Correlation types
- HotbitDirectory — Class for representing a Hotbit parameter file directory.
- HuckelBasisParameters — Class for representing the parameters that determine the properties of a Huckel basis.
- InitialSpin — Class for representing an initial spin configuration.
- IterationControlParameters — Class for representing the parameters relevant for SCF iteration control within self-consistent electronic structure models.
- NormConservingPseudoPotential — Class for representing the norm-conserving pseudopotential
- NumericalAccuracyParameters — Class for representing the parameters for setting the numerical accuracy of a calculation.
- optimizeBasisSet — Function for optimize N tier'ed basis set
- PolarizationOrbital — Class for representing the polarization of a confined orbital.
- RandomSpin — Class for representing a random initial spin configuration.
- SingleContourIntegralParameters — Class for representing the contour parameters when using a single contour.
- SlaterKosterTable — Class for representing the parameters that determine the parameters of a slater koster basis.
- SlaterOrbital — Class for representing a Slater orbital.
- EquivalentBulk — Class for representing an Equivalent Bulk initial Density Matrix for Device simulations.
- NeutralAtom — Class for representing a neutral atom initial density matrix for Device simulations.
- ElectrodeConstraint.DensityMatrix — Class for representing a Density Matrix Constraint for Device simulations
- DeviceAlgorithmParameters — Class for representing algorithm parameters relevant for the device calculation.
- Poisson Solvers
- MultigridSolver — Class for representing a multigrid-based Poisson solver.
- FastFourierSolver — The FFT-based Poisson solver.
- FastFourier2DSolver — The Hybrid FFT2D + Finite-Difference-1D Poisson solver.
- SelfEnergyCalculators
- DirectSelfEnergy — Class for representing a self energy calculation using direct diagonalization.
- RecursionSelfEnergy — Class for representing a self energy calculation using the recursion method.
- KrylovSelfEnergy — Class for representing a self energy calculation using the iterative Krylov scheme.
- Preconditioners
- Kerker — Class for representing Kerker style preconditioner
- SlaterKosterOnsiteParameters — Class for representing the parameters that determine the onsite parameters of a slater koster basis.
- PairPotential — Class for input of a repulsive pairpotential
- MolecularEnergySpectrum — Class for calculating the molecular energy spectrum for a configuration.
- ElectronDifferenceDensity — Class for calculating a difference density
- ElectronDensity — Class for calculating the electron density
- ExchangeCorrelationPotential — Class for calculating the exchange-correlation potential
- ElectronLocalizationFunction — Class for calculating the electron localization function (ELF)
- ElectrostaticDifferencePotential — Class for calculating the Hartree potential corresponding to a difference density.
- EffectivePotential — Class for calculating the effective potential
- ExternalPotential — Class for calculating the external potential due to the electrodes and gates in the system
- TransmissionSpectrum — Class for representing the transmission spectrum for a given configuration and calculator.
- PhononTransmissionSpectrum — Class for representing the transmission spectrum for a given configuration and calculator.
- TransmissionPathways — Class for representing the Transmission Pathways for a given configuration and calculator.
- TransmissionEigenvalues — Class for representing the transmission eigenvalues for a given configuration and calculator.
- TransmissionEigenstate — Class for representing the transmission eigenstate for a given configuration and calculator.
- IVCurve — Class for representing an IV-Curve.
- Bandstructure — Class for calculating the bandstructure for a BulkConfiguration.
- PhononBandstructure — Class for calculating the phonon bandstructure for a BulkConfiguration.
- ComplexBandstructure — Class for representing the complex band structure for a given configuration and calculator.
- TotalEnergy — Class for calculating the total energy
- Forces — Class for calculating the forces on the atomic configuration.
- Stress — Class for calculating the stress of a configuration.
- Eigenstate — Class for calculating an eigenstate
- BlochState — Class for calculating a Bloch state
- MullikenPopulation — Class for calculating the Mulliken population for a configuration.
- ProjectionList — Class for representing a list of orbitals. Results of several analysis objects can be projected onto this limited set of orbitals.
- DensityOfStates — Class for calculating the density of states for a configuration.
- PhononDensityOfStates — Class for calculating the phonon density of states for a MoleculeConfiguration or BulkConfiguration.
- DeviceDensityOfStates — Class for representing the Device Density of States for a given configuration and calculator.
- LocalDeviceDensityOfStates — Class for representing the Local Device Density of States for a given configuration and calculator.
- MakeTrajectory — Construct a trajectory sequence of configurations, from a given Nudged Elastic Band configuration, or a list of configurations.
- OpticalSpectrum — Class for representing the optical spectrum for a configuraiton with an attached calculator.
- CurrentDensity — Class for representing the current density for a given configuration and calculator.
- ChemicalPotential — Class for calculating the chemical potential.
- Polarization — Class for calculating the polarization of a configuration.
- PiezoelectricTensor — Class for calculating the piezoelectric tensor of a configuration.
- MolecularDynamics — Function for performing a molecular dynamics simulation.
- OptimizeGeometry — Function for optimizing the geometry of the given configuration.
- Trajectory — Class for representing the trajectory of a relaxation
- FixStrain — The constraint of the strain on the unit-cell
- VelocityVerlet — The MD method implementing Velocity Verlet dynamics.
- NVTBerendsen — The MD method implementing Berendsen NVT dynamics.
- NPTBerendsen — The MD method implementing Berendsen NPT dynamics.
- NPTMelchionna — The MD method implementing Melchionna NPT dynamics.
- Langevin — The MD method implementing Langevin dynamics.
- MDTrajectory — Class implementing an MD Trajectory container object.
- MaxwellBoltzmannDistribution — The class that implements the Maxwell-Boltzmann distribution of velocities for MD simulation.
- OptimizeNudgedElasticBand — Function for performing a NEB optimization.
- QuasiNewton — Quasi-Newton Optimization
- FIRE — Interface to the ase FIRE Optimizer.
- BravaisLattice — The 14 Bravais lattices used to describe crystal structures.
- nlread — Function for reading configurations and results from files. The following file types are supported: NetCDF (only from ATK 10.8 and later), GPAW, ASE, XYZ, Python scripts (also from ATK 2008.10 and earlier), CAR and TRAJ (ASE trajectories).
- nlsave — Function for saving the given object to a NetCDF file.
- nlprint — Print an ASCII representation of the object to the stream pointed to by stream. A typical usage is to store the data as an ASCII file and then use a third party application for generating a visualization of the data.
- PeriodicTable — A class for representing elements from the periodic table.
- Physical quantities and units
- Spin — Class for representing spin in ATK.
- SplineInterpolation1D — Class for performing spline interpolations between data points from a one-dimensional data set.
- MonkhorstPackGrid — Class for calculating a symmetry reduced MonkhorstPackGrid grid
- processIsMaster —
Query function for parallel computation. Returns
`True`

, if the process is the master process in the parallel computation or the only process in a serial computation. Returns`False`

, if the process is a client process in a parallel calculation.

- Index