Introduction

Welcome to the REST Development Team!

REST (Rust-based Electronic Structure Toolkit) is a next-generation electronic structure calculation platform built upon the revolutionary Rust language. The REST platform is dedicated to advancing cutting-edge computational research in quantum mechanics and materials science. It is suitable for a wide range of applications, from catalytic studies (e.g., CO adsorption on Cu clusters) to advanced electronic structure modeling, ensuring numerical stability, accuracy, and parallel computational efficiency. Grounded in extreme performance and empowered by limitless extensibility, we provide a full-stack solution from fundamental computations to frontier research.

REST Logo 🌟 We cordially invite you to experience the powerful capabilities of REST! Every [Star] is an acknowledgment of our innovation, and every piece of feedback is a driving force for revolutionizing scientific computing. Let's join hands to paint the future landscape of electronic structure calculation together!

Core Features of REST

  • High-Performance Basis Set Operations: Supports efficient RI approximation methods, enabling high-efficiency calculation of four-center integrals while maintaining accuracy.
  • Mainstream Density Functional Methods: Includes mainstream density functional approximations like LDA, (meta)-GGA, and hybrid functionals; supports Grimme empirical dispersion corrections and analytical force-based geometry optimization.
  • Fifth-Order High-Accuracy DFT Methods: Provides double-hybrid functionals (XYG3/XGYJOS/xDH-PBE0/ZRPS), Random Phase Approximation (RPA), and spin-component-scaled RPA (scs-RPA); supports numerical force-based geometry optimization.
  • Machine Learning Integration: Integrates machine learning-enhanced double-hybrid functionals like DL-xDH23 and R-xDH7-SCC to improve computational efficiency and accuracy; supports numerical force-based geometry optimization.
  • Excited-State Property Calculation Methods: Includes the universal $\Delta$SCF strategy compatible with all density functionals, Green's function-based GW and Bethe-Salpeter Equation (BSE) methods.
  • PyREST Interactive Workflow: Provides an intuitive and practical interactive interface for both developers and end-users.

Available Program Modules

  • rest: The main program for executing electronic structure calculations.
  • rest_docker: Tools for building Docker images and containerized environments.
  • rest_regression: Functional verification and benchmark test suite.
  • rest_tensors: High-efficiency tensor operation math library.
  • rest_libcint: Rust wrapper interface for the C language libcint library.
  • rstsr: A native Rust-implemented scientific computing tensor tool library (similar to Python's Numpy).

Installation Guide

  • Installation via Docker image is recommended for optimal portability (see rest_docker for details).
  • On supercomputing servers, where daily use of the docker command is typically not permitted for users, using Singularity is recommended (see rest_docker for details).
  • Compiling in a local environment requires pre-installation of the necessary compiler toolchain and related libraries (see the rest_workspace instructions or the Dockerfile installation steps).

User Guide

  • For an image generated using the Docker image installation, e.g., rest:v1.0, you can invoke the image via Docker to run REST calculations:
    • docker run --rm -v $(pwd):/data -w /data rest:v1.0 /bin/bash -c "rest"
  • Due to the systemic risks associated with Docker usage, supercomputing servers generally do not allow users to use the docker command daily; using Singularity is recommended. Assuming a Singularity container image rest_v1.0.sif exists, REST calculations can be performed with the following command:
    • singularity exec --bind $(pwd):/data rest_v1.0.sif bash -c "rest"
  • For user convenience, we provide system prompts that can be used to generate REST program input cards (see the rest README).
  • Users can upload the prompt file (rest/README.md) to any LLM web interface (e.g., DeepSeek, Tongyi) to inquire with the large language model for explanations on using REST program keywords, or even to obtain input cards directly.
    1. Example: Calculating the energy of a CuO molecule using the XYGJ-OS method:
      Explanation of input
    2. You can consult on prompt-related questions:
      Explanation of input

Developer Contributions

The REST program is developed by the Research Center for Chemical Theory (RCCT) at Fudan University. Under the leadership of Professor Xin Xu (@xxchem), it was completed with Professor Ying Zhang (@igor1982) serving as the lead developer.

Core Organizational Team

Member Primary Responsibilities
Ying Zhang (@igor1982) Project Lead, Architecture Design, Code Review
Sheng Bi (@bsplu) Installation & Compilation, Code Optimization
Wenjie Yan (@ulysses-s) Community Management, REST Workshop

Contributors

  • Roughly in order of project participation time; continuously updated.
  • We sincerely thank all contributors who have made efforts for the REST project and eagerly hope more people will join our project.
  • If you find a contribution is not correctly recorded, please inform us via issues or contact igor_zhangying@fudan.edu.cn, and we will supplement and correct it promptly.
Member Main Contributions
Ying Zhang (@igor1982) Overall REST project framework; Implementation of LDA, GGA, hybrid to double-hybrid methods; Development and maintenance of rest, rest_tensors, rest_regression, pyrest projects
Zhiyun Li (@zyli_00) 1) Adaptation for domestic Kunpeng servers; 2) Participation in software copyright application; 3) SAD, SAP initial guesses; 4) Mulliken analysis + Cube file generation
Tianyi Gao (@tygao) 1) DFT integration grids; 2) Automatic online download functionality for Gaussian basis sets
Shirong Wang (@canarias) 1) DFT wavefunction stability analysis; 2) Integration of REST with MOLKIT, enabling interoperability with results from mainstream programs
Sheng Bi (@bsplu) 1) Development and maintenance of the rest_docker project; 2) Development of the machine learning functional DL-xDH project (not yet open source)
Zhenyu Zhu (@ajz34) 1) Refactored rest_libcint code; 2) Developed and maintained the next-generation tensor library rstsr project; 3) Implemented HF analytical integrals and geometry optimization functionality
Yilin Zhao (@marshall3821) 1) Implemented dftd3 and dftd4 dispersion correction calculations
Wenjie Yan (@ulysses-s) 1) Implemented meta-GGA and hybrid methods, e.g., SCAN, M06, MN15; 2) Implemented geometry optimization functionality for the first four rungs of density functional theory
Lingyue Yu (@lingyue-yu) 1) Restricted open-shell double-hybrid method RO-xDH; 2) Guess_mix functionality for breaking orbital symmetry initial guess; 3) Yamaguchi spin contamination correction
Qirui Gao (@qirui-gao-2025) 1) GW series methods; 2) BSE methods
Zihan Lin(@Delta_H) 1) RRS-PBC:Realize periodic boundary conditions, enabling REST the capability of simulating condensed-matter systems
Achievement
302
Star
32
Fork
People(14)
5616173 bsplu 1587650482
bsplu
Shirong Wang
9180081 ajz34 1637664060
Zhenyu Zhu ajz34
Ulysses_s
12386037 delta h 1756482724
DeltaH
15359380 igor1982 1762148394
张颖
徐昕
qrgao
Lingyue Yu
15609964 marshall3821 1765994935
Marshall3821
16067673 zyli00 1755956362
zyli_00
陈俊
冯儒林
16196325 ai2o333 1764736863
aI2o333

Search