SIRIUS  7.0.0
Electronic structure library and applications
Welcome to SIRIUS

SIRIUS is a domain specific library for electronic structure calculations. It implements pseudopotential plane wave (PP-PW) and full potential linearized augmented plane wave (FP-LAPW) methods and is designed for GPU acceleration of popular community codes such as Exciting, Elk and Quantum ESPRESSO. SIRIUS is written in C++11 with MPI, OpenMP and CUDA/ROCm programming models. SIRIUS is organised as a collection of classes that abstract away the different building blocks of DFT self-consistency cycle.

For a quick start please refer to the main development page at GitHub.

The generated Fortran API is described here: generated.f90

The frequent variable names are listed on the page Standard variable names.

We use the following Coding style.

The library files and directories are organised in the following way:

  • apps -
    • atoms - utility program to generate FP-LAPW atomic species files
    • bands - band plotting
    • cif_input - CIF parser
    • dft_loop - DFT miniapp
    • hydrogen - solve hydrogen-like atom using Schrödinger equation
    • tests - tests of various functionality
    • timers - scripts to analyze timer outputs
    • unit_tests - unit tests
    • upf - scripts to parse and convert UPF files
    • utils - utilities to work with unit cell
  • ci - directory with Jenkins, Travis CI and GitHub action scripts
  • cmake - directory with CMake scripts
  • doc - this directory contains configuration file for Doxygen documentation and PNG images
  • examples - examples of input files for pseudopotential and full-potential calculations
  • python_module - Python interface module
  • reframe - ReFrame regression tests description
  • src - main directory with the source code
  • verification - verification tests
  • .clang-format - source code formatting rules
  • CMakeLists.txt - CMake file of the project
  • check_format.py, check_format.x - scripts to check source code formatting
  • clang_format.x - script to apply Clang format to a file