Siesta

SIESTA is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.

Policy

Siesta is available to users at HPC2N under an academic license.

Citations

If you publish research that uses Siesta you must cite it as follows:

Overview

SIESTA’s main characteristics are:

  • It uses the standard Kohn-Sham self-consistent density functional method in the local density (LDA-LSD) or generalized gradient (GGA) approximations. Recent versions implement a functional capable of describing van der Waals interactions.
  • It employs norm-conserving pseudopotentials in their fully nonlocal (Kleinman-Bylander) form.
  • It uses atomic orbitals with finite support as a basis set, allowing unlimited multiple-zeta and angular momenta, polarization and off-site orbitals. Finite-support basis sets are the key for calculating the Hamiltonian and overlap matrices in O(N) operations.
  • Projects the electron wavefunctions and density onto a real-space grid in order to calculate the Hartree and exchange-correlation potentials and their matrix elements.

Usage at HPC2N

On HPC2N we have Siesta available as a module.

Loading

To use the Siesta module, add it to your environment. You can find versions with

module spider Siesta

and you can then find how to load a specific version (including prerequisites), with

module spider Siesta/<VERSION> 

Example, loading Siesta version 4.1.5

ml GCC/11.3.0 OpenMPI/4.1.4 
ml Siesta/4.1.5 

Loading the module sets the paths and environments variables needed.

Submit script example

Change number of cores needed (n) and time to what suits your program.

Remember, Kebnekaise is a very heterogeneous system, and the different types of nodes have different number of cores. You can find a list in the section The different parts of the batch system.

The example below uses 28 cores per node - suitable for an Intel Skylake node. Change -n as you need.

Also, change “–ntasks-per-node=XX” accordingly as you need.

#!/bin/bash
# Change to your own project number
#SBATCH -A hpc2nXXXX-YYY
#SBATCH -J <jobname>
#SBATCH -n 28
#SBATCH --ntasks-per-node=12
#SBATCH --time=24:00:00
#SBATCh -C skylake 
#SBATCH --error=job.%J.err
#SBATCH --output=job.%J.out

ml purge > 2>&1 
ml GCC/11.3.0
ml OpenMPI/4.1.4
ml Siesta/4.1.5

# Always use srun to start siesta programs
srun siesta < <input>.fdf > <filename>.out

NOTE: Denchar should NOT be run with srun, it may fail with en internal error if done so.

Additional info

More information can be found on