SIESTA

Description

As the official webpage states, 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 a basis of localized atomic orbitals.

Among its features are

  • Total and partial energies.

  • Atomic forces and stress tensor.

  • Electric dipole moment, Dielectric polarization

  • Atomic, orbital, and bond populations (Mulliken).

  • Electron density, band structure, local and orbital-projected density of states

  • Geometry relaxation, Molecular dynamics, Phonons;

  • Spin polarized calculations (collinear or not).

  • Real-time Time-Dependent Density Functional Theory (TDDFT).

Module

SIESTA version

Module file

Requirement

Compute Partitions

CPU/GPU

SIESTA version

Module file

Requirement

Compute Partitions

CPU/GPU

5.0.1

siesta/5.0.1

openmpi/gcc/5.0.3

Rocky Linux 9

/

Example job scripts

#!/bin/bash #SBATCH --time 12:00:00 #SBATCH --partition=cpu-clx #SBATCH --nodes=1 #SBATCH --ntasks-per-node=24 #SBATCH --cpus-per-task=4 #SBATCH --job-name=siesta module load openmpi/gcc/5.0.3 # Load siesta # Check the table above to find which module to load, depending on the version to be used module load siesta/5.0.1 # Set the number of OpenMP threads as given by the SLURM parameter "cpus-per-task" export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} # Adjust the maximum stack size of OpenMP threads export OMP_STACKSIZE=512m # Do not use the CPU binding provided by slurm export SLURM_CPU_BIND=none # Binding OpenMP threads export OMP_PLACES=cores export OMP_PROC_BIND=close # Important: Do not use srun when SLURM_CPU_BIND=none in combination with the pinning settings defined above # Carefully check the best binding options for your case mpirun --bind-to core --map-by numa siesta