Calculators#

Calculator is the name of the GUI designed to select the computational engine and help the user to properly prepare the input file.
Calc calculator edit
Calc calculator

ASAP 2024.0 implements the EMT calculator, the SIESTA and TranSIESTA calculators and the Quantum Espresso calculator.

Calc calculator options

The EMT Calculator#

ASAP 2024.0 incorporates the Effective Medium Theory (EMT) calculator as implemented in Atomic Simulation Environment (ASE). EMT

Calc info emt
This implementation is incorporated in ASAP only for test and demonstration purposes. The EMT implementation supports the following standard metals: Al, Cu, Ag, Au, Ni, Pd and Pt. For those elements, the EMT parameters are quite realistic for many purposes. H, C, N, O are supported but are NOT well described by EMT.
The potential takes a single argument, fixed cutoff. If this option is selected the cutoff is chosen from the largest atom in the parameter table. If it is unselected the global cutoff is chosen from the largest atom present in the simulation.
Calc emt parameters

The SIESTA Calculator#

SIESTA (Spanish Initiative for Electronic Simulations with Thousands of Atoms) is both a method and its computer program implementation, to perform efficient electronic structure calculations of molecules and solids.
SIESTA’s efficiency stems from the use of strictly localised basis sets and from the implementation of linear-scaling algorithms which can be applied to suitable systems. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave and all-electron methods.
You can find further information on SIESTA code at the SIESTA webpage or the discussion forum we provide for SIESTA users.
Starting in the Spring of 2016, with the 4.0 version, SIESTA is released under the terms of the GPL open-source license. You can download SIESTA code at this website.
ASAP facilitates the creation of the input file for SIESTA 4.0 and SIESTA 4.1
Calc info siesta 41

You can specify key input variables through the SIESTA calculator graphical user interface.

Calc siesta physics

ASAP classifies SIESTA parameters in the following categories:

Click the Advanced properties button to enable advanced input parameter widget for all categories.

Calc siesta advanced

The SIESTA calculator also allows to preview and edit the SIESTA input file, see sections Preview input file and customise.

SIESTA Parameters: Physics#

This category has the following entries:
Exchange-correlation functionals

You can select one of the offered functional to specify the exchange-correlation functional type. The available options are:

  • LDA (Local Density Approximation)

  • GGA (Generalised Gradient Approximation)

  • VDW (Van der Waals)

ASAP offers different options for the particular parametrisation of each of the available exchange-correlation functionals.
Calc siesta lda xc
Calc siesta gga xc
Calc siesta vdw xc
Spin multiplicity and total Spin Value You can choose to run a spin unpolarised or spin polarised calculation.
Calc siesta spin
Select the option non-polarised to perform a spin-unpolarised calculation (calculation with spin-degeneracy -only one component-).
For the spin polarised calculation, the available options are:
  • collinear. To perform a calculation with collinear spin (two spin components).

  • non-collinear. To perform a calculation with non-collinear spin (four spin components), up-down and angles.

  • spin-orbit. To perform a calculation with spin-orbit coupling. This type of calculation requires the pseudopotentials to be relativistic. Option only available since Siesta version 4.1.

In the case of a spin polarised calculation, you can impose a value to the total spin polarisation of the system (in units of the electron spin,1/2). In ASAP, spin-polarised calculations are enabled by default when the structure under study contains magnetic elements. In the case the user has specified the magnetic moments of the atoms in the Parameter widget (see section Variables), the total default spin is a sum of atoms’ magnetic moments.
Calc siesta spin collinear
Net charge Specify the net charge of the system. For example, the \(F^{-}\) ion would have NetCharge \(-1\) , and the \(Na^{+}\) ion would have NetCharge \(1\). Fractional charges can also be used.
Calc siesta netcharge
Dipole correction (Advanced properties)
Click the Dipole correction check box to add the electric field required to compensate for the dipole of the system. The correction is performed at every iteration of the self-consistent cycle. For slabs, this exactly compensates the electric field created by the dipole moment of the system. The option is essential to treat asymmetric slabs (including systems with an adsorbate on one surface) and compute properties such as the work function of each of the surfaces.
Calc siesta dipole
Simulate doping (Advanced properties)
Click the Simulate doping check box to add a background charge density to simulate doping. This calculates the net charge of the system and adds a compensating charge to make the overall system neutral. This background charge is constant at points of the mesh near the atoms, and zero at points far from the atoms. This option is useful for modelling non-stoichiometric, or doped systems with open boundaries, surfaces with adsorbants, and defects.
Calc siesta doping
External electric field (Advanced properties)
Click the External electric field check box to specify an external electric field applied to a system with open boundary conditions such as slabs and molecules. The external electric field is set perpendicular to the slab.
Calc siesta electric slab
When applied to molecules, you can specify the electric field as a vector via its cartesian components. You can change the units in the right-hand menu.
Calc siesta electric
Notice that when an external field is applied, the Dipole correction check box is automatically ticked.
Hubbard +U correction (Advanced properties)
Applying Hubbard +U correction is important when dealing with strongly correlated systems. The +U correction is applied to better describe the electronic structure by accounting for on-site electron-electron interactions through the Hubbard U and exchange J parameters. The choice of U and J values is system-dependent and requires careful consideration. Consequently, ASAP does not offer default values for U and J parameters.
Click the Hubbard +U correction check-box to apply Hubbard +U correction. Current implementation is based on the simplified rotationally invariant LDA+U formulation of Dudarev and collaborators [Dudarev et al., Phys. Rev. B 57, 1505 (1998)].
Calc siesta hubbard
Although the input allows to define independent values of the U and J parameters for each atomic shell, in the actual calculation the two parameters are combined to produce an effective on-site Coulomb repulsion (U\(_{eff}\)).
Currently, the LDA+U implementation does not support non-colinear, nor spin-orbit coupling.

SIESTA Parameters: Convergence#

This category has the following entries:
Real-space mesh cutoff energy
This parameter determines the fineness of a finite 3D grid used by SIESTA. The 3D grid is used for the calculation of some integrals and the representation of charge densities and potentials. MeshCutoff option gives a plane-wave cutoff. It means that all periodic plane waves with kinetic energy lower than this cutoff can be represented in the grid without aliasing.
Calc siesta convergence
Brillouin Zone Sampling
The parameter options described below are available for 2D and 3D systems. For an isolated system (1D) only the gamma-point is used, which corresponds to a k-points grid of 1x1x1.
Click the Parallelisation over k-points button if you want the diagonalisation to be parallelised over the k-points. If the button is not selected, the parallelisation is over orbitals.
Calc siesta paral k
The k-point diagonalisation is close to perfectly parallel when the number of k-points is much larger than the number of processors. We recommend using this option for metals, where the unit cell is small, but the number of k-points is substantially large.
The dialog menu placed below Brillouin zone sampling label, offers the possibility to automatically obtain the number of k-points associated with three different values of the grid step (q) in the reciprocal space (in units of Ang\(^{-1}\)): rough (q=0.1), medium (q=0.05) and fine (q=0.02).
Calc siesta k options
Select the custom option if you want to customise the k-point grid.
ASAP offers two alternative options for the specification of the k-point grid used in the SCF cycle.
Click the Monkhorst-Pack button to select the real-space supercell, whose reciprocal unit cell is that of the k-sampling grid. ASAP only supports diagonal matrices.
Calc siesta brillouin

As an alternative, click the k-grid cutoff button to specify the parameter which determines the fineness of the k-grid used for Brillouin zone sampling.

Calc siesta kgrid
The two methods described above should be equivalent for a well-converged sampling. Users are advised to check that the number of k-points is properly converged.

SIESTA Parameters: Basis set and Pseudopotentials#

Pseudopotentials and atomic orbital basis sets are necessary tools to run a SIESTA calculation. The quality of pseudopotentials (pseudos) and basis sets affects the accuracy of the SIESTA calculations. Thus, it is clear the importance of relying on a database of optimised and tested pseudos and basis sets.
Calc siesta basis sets pseudos

Basis set

SIESTA code makes use of local atomic orbital basis set to describe the valence electrons. SIESTA generates extended bases by applying the Split-valence scheme for multiple-zeta. The split is based on different radii. The user has the possibility to choose among the different options available for basis generation and basis size.

First, the kind of basis to be generated is chosen. All are based on finite-range pseudo-atomic orbitals. PAO’s of Sankey and Niklewsky, PRB 40, 3979 (1989).

Calc siesta basis kind
In addition, the following parameters are available:
Energy shift
Energy shift parameter specifies the confining radii of the original (first-zeta) PAO’s for all the species guaranteeing the compensation of the basis.
The recommended energy shift is indicated.
Calc siesta energy units

Basis size

This parameters indicates the number of orbitals per atom.

  • SZ or MINIMAL: Minimal or single-zeta basis set (no polarisation).

  • DZ: Double zeta basis set (without polarisation functions).

  • SZP: Single-zeta basis plus polarisation orbitals.

  • DZP: Like DZ plus one polarisation orbital. Polarisation orbitals are constructed from perturbation theory, and they are defined so they have the minimum angular momentum \(l\) such that there are not occupied orbitals with the same \(l\) in the valence shell of the ground-state atomic configuration. They polarise the corresponding \(l\)-1 shell.

  • DZP2: Double zeta basis plus two polarisation orbitals.

  • TZ: Triple zeta basis set.

  • TZP: Triple zeta basis plus one polarisation orbital.

  • TZP2: Triple zeta basis plus two polarisation orbitals.

  • TZP3: Triple zeta basis plus three polarisation orbitals.

Calc siesta basis size

A more complete basis set (higher number of basis functions) allows, in principle, more accurate simulations. However, per se, the total number of basis functions does not guarantee more accuracy, other basis set parameters such as Energyshit and the Basistype are fundamental to get good accuracy.

It is possible to set the same basis size for all chemical species present,

Calc siesta basis size 1

and also to use different basis size for each of the elements.

Calc siesta basis size custom

Pseudopotentials

SIESTA uses pseudopotentials to represent the electron-ion interaction. In particular, the pseudopotentials are of the “norm-conserving” kind. The released versions of SIESTA use pseudopotential files in the “Froyen” (psf) format.
SIMUNE database
SIMUNE offers highly transferable pseudopotentials for the following elements of the periodic table: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, Ti, Fe, Zn, Pd, Ag, Te, La, W, Pb.
The pseudopotentials have been generated using SIMUNE’s optimisation protocol. We describe the generation conditions and testing procedures on the SIMUNE webpage.
To guarantee the code to work properly for any element of the periodic table, for those pseudopotentials not yet optimised by SIMUNE, ASAP uses revised pseudos formerly published by the Barcelona Materials Science Institute. These pseudopotentials were obtained by translating into the .psf format a set of pseudopotentials generated with the fhi98pp program for the Abinit project (https://abinit.org/psp-tables). These Pseudopotentials are provided without warranty. All pseudopotentials should be thoroughly tested before using them.
Custom
This option provides maximum flexibility in the selection of the pseudopotentials. Users can use pseudopotentials from different sources for each of the elements present in the structure.
For those users looking for extended pseudopotential options, they can find several pseudopotential generators at the NNIN Vault. A pseudopotential found in a database should be treated as just a starting point for further refinement. We stress that these pseudopotentials should not be used blindly.
Calc siesta pseudo custom

SIESTA Parameters: SCF#

SIESTA uses the standard Kohn-Sham self-consistent Density Functional Method (DFT). SCF widget aggregates parameters controlling SCF converge.

Calc siesta scf

Maximal number of iterations.

Maximum number of Self Consistent Field (SCF) iterations per time step.
Mixing coefficient.
The proportion of output Density Matrix to be used for the input Density Matrix of next SCF cycle.
Number Pulay.
Pulay mixing is the method of choice for accelerating the convergence of the scf cycle. The input for the next SCF step is obtained by mixing several previous steps instead of only the last one. Number Pulay controls the Pulay convergence accelerator indicating the number of previous steps that are mixed. Pulay mixing generally accelerates the convergence significantly, and can reach convergence in cases where linear mixing cannot.
Click on the Density matrix check box to make use of the density matrix elements as a monitor of self-consistency. When the maximum difference between the output and the input on each element of the DM in a SCF cycle is smaller than the indicated tolerance value, the self consistency has been achieved.
Advanced SCF (Advanced Parameters)
The following SCF mixing options are offered to control what physical quantity to mix in the self-consistent cycle:
  • Hamiltonian. Mix the Hamiltonian matrix.

  • Density. Mix the density matrix.

  • Charge. Mix the real-space charge density. Note this is an experimental feature in SIESTA.

Calc siesta scf mixing

The advanced parameters widget offers the following additional options to control SCF convergence:

  • Energy density matrix. Option only available since Siesta version 4.1. Click on this check box to make use of the energy density matrix elements as monitor of self-consistency. The self-consistency is considered achieved when the maximum absolute change (dEmax) in the energy density matrix elements is below the specified tolerance value.

  • Free energy. Click on this check box to make use of the change in the total (free) energy between cycles of the SCF procedure as a monitor of self-consistency. The self-consistency is achieved when the change in the total free energy between cycles of the SCF procedure is below the specified tolerance value and the density matrix change criterion is also satisfied.

  • Hamiltonian matrix. Option only available since Siesta version 4.1. Click on this check box to make use of the Hamiltonian matrix elements as a monitor of self-consistency. The self-consistency is achieved when the maximum absolute change (dHmax) in the H matrix elements is below the specified tolerance value. The actual meaning of dHmax depends on the selected SCF mixing option:

    • if mixing the Density Matrix, dHmax refers to the change in H(in) with respect to the previous step.

    • if mixing the Hamiltonian matrix, dHmax refers to H(out)-H(in) in the previous step.

  • Harris SCF Convergence. Click on this check box to use the Harris energy as monitor of self-consistency. The self-consistency is achieved when the change in the Harris energy between cycles of the SCF procedure is below the specified tolerance value.

Preview input file#

The button Preview input file allows to view the created SIESTA .FDF input file with the GUI of the SIESTA calculator.

Calc siesta preview

The .FDF file (Flexible Data Format) file, developed by A. Garcia and J.M. Soler includes physical data of the system as well as the variables to control the approximations used in the calculation. Whereas the former parameters are mandatory, others have default values assigned and, in principle, it is not necessary to explicitly include them in the input file. However, it is important to stress out that the default values do not always guarantee an accurate and converged calculation.

Calc siesta input

customise#

The SIESTA calculator also allows the user to directly edit SIESTA .FDF input file.

Calc siesta customise
Notice that after the edition of a .FDF input file, it is marked with a star (*).
The Customise widget offers the following options:
  • Get from widget. To rewrite the input file with the data from widgets.

  • Interpret. To validate the edited input. The purpose of this function is to reduce human error when editing the .FDF input file.

  • Save to widget to update the calculator.

Calc siesta input customise

Click on the Strict checking button to review that all the parameters introduced in the Customise widget correspond to a valid SIESTA keyword.

The TranSIESTA calculator#

The TranSIESTA method is a procedure to solve the electronic structure of an open system formed by a finite structure sandwiched between semi-infinite metallic leads. A finite bias can be applied between leads, to drive a finite current. The method is described in detail in [M. Brandbyge et al 2002 Phys. Rev. B 65 165401, N. Papior et al 2017 Comp. Phys. Commun. 212 8 - 24].
In practical terms, calculations using TranSIESTA involve the solution of the electronic density from the DFT Hamiltonian using Greens functions techniques, instead of the usual diagonalization procedure. Therefore, TranSIESTA calculations involve a SIESTA run, in which a set of routines are invoked to solve the Greens functions and the charge density for the open system.
The current transport module has been completely rewritten by Nick R. Papior and encompasses highly advanced inversion algorithms as well as allowing N \(\geq\) 1 electrode setups among many new features.
Calc info trans 41

The TranSIESTA code allows to solve the electronic structure of an open system formed by a finite structure sandwiched between two semi-infinite metallic leads. A finite bias can be applied between both leads, to drive a finite current.

Calc trans schemes

You can specify key input variables through the TranSIESTA calculator graphical interface.

Additionally to the settings commonly used for the SIESTA calculations, see section The SIESTA Calculator, there are new tabs specifically designed for setting up the transport calculations. Click the Advanced properties button to enable advanced input parameter widget for all categories.

  • Device: To set up the parameters for the description of the Electrode and the Charge correction.

  • Integration contours (Advanced properties): Used to set up the details of the contour integration.

Calc trans prop
Device
In the device tab the user can set up parameters for the description of the electrodes and the charge correction. The Charge correction is used to improve the SCF convergence.
Electrode description
  • Density matrix update: It controls which part of the electrode density matrix elements are updated. Select one of the following options:

    • All (Default value): Both the density matrix elements in the electrode and the coupling elements between the electrode and scattering region. It provides most accurate results.

    • Cross-terms: To update only the coupling elements between the electrodes and the scattering region.

    • None: To update only the density matrix elements of the scattering region.

  • Green function imaginary part: It controls the imaginary energy of the surface Green function for this electrode. Ensure that all imaginary values are larger than 0 as otherwise TranSIESTA may seg-fault.

  • Impose bulk Hamiltonian: Control whether the Hamiltonian of the electrode region in the scattering region is enforced bulk or whether the Hamiltonian is taken from the scattering region elements. If Density matrix update is set to “all”, the “Impose bulk Hamiltonian” option is not enabled.

Charge correction

  • Charge correction: Any excess/deficiency of charge can be re-adjusted after each TranSIESTA cycle to reduce charge fluctuations in the cell. We recommend to only use charge corrections for 0 V calculations. ASAP offers the following options:

    • none: No charge corrections are introduced. Recommended for calculations with voltage applied.

    • buffer (default value): Excess/missing electrons are placed in the buffer regions.

    • fermi: Corrects the charge filling by calculating a new reference energy level.

  • Factor (Enabled only if Charge correction is set to buffer or fermi): This option helps to reduce the fluctuations in the SCF. Default value 0.75. Select a value between 0 (no charge correction) and 1 (total charge correction) If Charge correction is set to fermi), you can also tune the following parameters:

    • Tolerance (Enabled only if Charge correction is set to fermi): The tolerance at which the charge correction will converge. Any excess/missing charge (\(|Q_0-Q|>\mathrm{Tolerance}\)) will result in a correction for the Fermi level. Default value 0.01.

    • Max Fermi level shift (Enabled only if Charge correction is set to fermi): The maximum allowed value that the Fermi level will change from a charge correction using the Fermi correction method. If you know the band-gap, setting this to 1/4 (or smaller) of the band-gap seems like a better value than the rather arbitrarily default one. Default value 1.5 eV.

    • Eta for Fermi method (Enabled only if Charge correction is set to fermi): To select the value at which the charge at the poles are extrapolated. Usually a smaller value will imply larger changes in the Fermi level. We recommend to increase this value if the charge convergence with respect to the Fermi level suffers strong fluctuations. Default value 0.001 eV.

    • only for 0 V (Enabled only if Charge correction is set to fermi): Apply the charge correction only for 0 V calculation, by default the box is checked.

Calc trans calculator device buffer
Integration contours
In the Integration contours tab, ASAP offers the following parameters to define the detail of the integration.
  • Electronic temperature: Define the temperature used for the Fermi distributions for the chemical potentials.

Equilibrium contours

  • Circle part: To define the equilibrium contours of the circle part. You can select one of the following options,

    • Minimal energy: Define the minimum energy in the x-axis for the integration. It should be lower than the lowest eigenvalue. Default -40 eV.

    • Number of points: Define the number of integration points for the circle part of the integration contour. Default 30.

  • Tail part: To define the equilibrium contours of the tail part, you can select one of the following options,

    • Imaginary energy: The imaginary part of the line integral crossing the chemical potential. Default enabled, value 2.5 eV.

    • Number of poles: Alternative to Imaginary energy. Manually select the number poles for the equilibrium contour.

    • Number of points: Define the number of integration points for the tail part of the contour. Default 10.

    The user can also define the number of of integration points for the tail part of the contour (“Number of points”).

  • Bias contour

    • Integration step: Define the number of integration points/energy separation. Default value 0.01 eV.

    • Fermi function cutoff: The bias contour is limited by the Fermi function tails. Numerically it does not make sense to integrate to infinity. This energy defines where the bias integration window is turned into zero. Default value 5 kT.

Calc trans calculator integration

The Quantum Espresso Calculator#

Quantum Espresso is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials.
You can learn more about Quantum Espresso on the Quantum Espresso webpage, and download the software and documentation from the Quantum Espresso user area.
Calc info qe
ASAP simplifies the process of specifying the main input variables for Quantum Espresso (v6.7maX).
Calc qe physics

ASAP categorised Quantum Espresso parameters into the following groups:

Quantum Espresso Parameters: Physics#

This category has the following entries:
Exchange-correlation functionals. You can select one of the offered functional to specify the exchange correlation functional type. The available options are:
  • LDA (Local Density Approximation)

  • GGA (Generalised Gradient Approximation)

  • hybrid (Hybrid functionals)

Calc qe xc
Spin multiplicity. You can choose to run a spin unpolarised or spin polarised calculation.
Calc qe spin
Select the option non-polarised to perform a spin-unpolarised calculation (calculation with spin-degeneracy -only one component-).
For the spin polarised calculation, the available options are:
  • collinear. To perform a calculation with collinear spin (two spin components).

  • non-collinear. To perform a calculation with non-collinear spin (four spin components), up-down and angles.

Quantum Espresso Parameters: SCF#

This category involves selecting the method used to determine how electrons are distributed within the electronic energy levels of the system.

Calc qe occupations type

The options are:

  • smearing. Method using a smearing technique to distribute electrons over energy levels. You can also select the variable controlling the smearing. For the option Gaussian, you can select the value of the gaussian spreading (Ry) for brillouin-zone integration in metals.Gaussian smearing for metals.

    Calc qe occupations
    Calc qe occupations type smearing
  • tetrahedra. Tetrahedron method. P.E. Bloechl, PRB 49, 16223 (1994) Well suited for calculation of DOS.

  • tetrahedra-lin. Original linear tetrahedron method. To be used only as a reference. The optimised tetrahedron method is more efficient.

  • tetrahedra-opt. Optimised tetrahedron method. M. Kawamura, PRB 89, 094515 (2014). Can be used for phonon calculations as well.

  • fixed. For insulators with a gap

This window also includes parameters that control Self Consistent Field (SCF) convergence. Enabling the SCF-mixing option allows a proportion (determined by the Mixing weight parameter) of the output Density Matrix to be used for the input Density Matrix for the next SCF cycle. The parameter Max SCF cycles sets the maximum number of SCF iterations per time step.

Quantum Espresso Parameters: Convergence#

This category has the following entries:
  • Plane wave cutoff for wavefunctions. This refers to the kinetic energy cutoff (in Rydbergs) used for wavefunctions.

  • Plane wave cutoff for density. This corresponds to the kinetic energy cutoff (in Rydbergs) for charge density and potential. For norm-conserving pseudopotential, it is advisable to set this value at least 4 times the kinetic energy cutoff used for wavefunctions. Reducing it too much may introduce noise, especially in forces and stress calculations. In the case of ultrasoft pseudopotentials, a larger value is often desirable, typically ranging from 8 to 12 times the kinetic energy cutoff used for wavefunctions.

Calc qe convergence
Brillouin Zone Sampling
This parameter option is available for 2D and 3D systems. For an isolated system (1D), only the gamma-point is used, which corresponds to a k-points grid of 1x1x1.
ASAP only supports diagonal matrices.

Quantum Espresso Parameters: Pseudopotentials#

ASAP integrates pseudopotentials obtained from here.
Calc qe pseudos