Skip to content


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. SIESTA's efficiency stems from the use of strictly localized 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.

Availability and Supported Architectures at NERSC

SIESTA is allowed at NERSC and runs on CPUs. SIESTA can be readily installed via Spack container.

Application Information, Documentation, and Support


Siesta can be built and loaded using a Spack environment. First, load the Spack module and create an environment:

perlmutter$ module load cpu spack
perlmutter$ mkdir <my spack directory>
perlmutter$ cd <my spack directory>
perlmutter$ spack env create -d .
perlmutter$ spack env activate <path/to/my/spack/directory>

Then install Siesta by:

perlmutter$ spack add siesta
perlmutter$ spack install

Example run scripts

Perlmutter CPU
#SBATCH --qos=regular
#SBATCH --time=01:30:00
#SBATCH --nodes=2
#SBATCH --constraint=cpu

module load cpu spack
spack load siesta
srun -n 64 -c 8 siesta < test.fdf > test.out

Building Siesta from Source

Users are welcome to build their own binaries from source.

User Contributed Information

Please help us improve this page

Users are invited to contribute helpful information and corrections through our GitLab repository.