Validation and FDF preview

Before you submit a calculation, it is worth checking that the input is consistent and complete. The studio provides two tools for this: the Diagnostics tab and the live FDF preview, both in the panel on the right of the studio.

Diagnostics

Diagnostics checks the parameters as you edit them. Each result is one of:

  • Error: a setting that would make SIESTA fail or give wrong results, such as the Harris functional in a relaxation, or a ghost atom on an atom of its element without explicit radii.
  • Warning: a valid setting that is probably not what you want, such as a mesh cutoff that is low for the basis size, or a relaxation with no steps.
  • Suggestion: an optional improvement, such as Pulay mixing instead of linear mixing.

Each result explains the problem and what to do. When there is a value to use, the result has an Apply fix link with that value, for example Apply fix (200), which sets it for you.

The tab title carries a badge: red when there is at least one error, amber when there are warnings but no errors, and green when nothing is reported. The number on it counts the errors and warnings. When nothing is reported, the panel says All parameters look good!.

Run-time and memory estimates

Diagnostics shows Est. Wall Time and Est. Memory; the setup wizard and each SIESTA step of a workflow show the same estimate. It is for one core of a recent laptop and comes from a model fitted to real SIESTA 5.4.2 runs. Tested against those runs, typical calculations come out within a factor of 2 of the measured time, runs of several minutes within about 1.5, and peak memory within 25%.

What goes into it:

  • Orbitals: for each atom, its element's valence shells with the zetas of the basis size, the semicore shells of the PseudoDojo pseudopotentials (one zeta each), and one polarisation shell. When an element has an explicit basis, its shells are counted exactly. Ghost atoms count too.
  • Mesh points: worked out from the cell and the mesh cutoff the way SIESTA chooses them.
  • k-points: the k-grid you set, or the one SIESTA builds from the k-grid cutoff, halved by time-reversal symmetry.
  • Time per SCF iteration: diagonalisation, which grows with the k-points (twice for spin-polarised runs) and roughly with the cube of the orbitals, plus the work on the grid, which grows with the orbitals and the mesh cutoff. Vacuum costs little, because each orbital only touches the grid near its atom.
  • Number of SCF iterations: about 12 for a single point (25 when spin-polarised), then about 5 for each further relaxation step and 6 for each MD step. A relaxation is assumed to take up to 20 steps; a force-constant run computes 6 displacements of each displaced atom.
  • Memory: about 170 MB that SIESTA always needs, plus the grid arrays and the orbital matrices.

The estimate is a guide for choosing settings and cluster time, not a promise. It is furthest off when:

  • the structure is already relaxed, so a relaxation stops after a step or two;
  • the SCF converges slowly, as for magnetic metals or with DFT+U;
  • the run is dominated by output, such as large grid files or a dense PDOS;
  • you use pseudopotentials with different semicore states from PseudoDojo;
  • the run is parallel or on a different machine.

Post-processing steps of a workflow (tbtrans, denchar, macroave, vibra, fat, mprop) get no estimate.

FDF preview

The Calculation and Structure tabs show exactly what will be written to disk, and update as you change any parameter:

  • Calculation is the main input; it includes the structure file with %include. Write Calculation File (.fdf) downloads it.
  • Structure is the cell and the atoms. Write Structure File (.fdf) downloads it. SIESTA needs both files in the same folder.
  • For a post-processing program (the tbtrans, denchar, macroave, vibra, fat and mprop chips above the parameter panels), the Calculation tab shows that program's input instead, with its own download button.

Flag names in the preview are underlined: click one to see what it does, from the SIESTA manual. The preview is read-only; to change a value, change it in the parameter panels.

Related pages