ABACUS is an electronic structure package based on density functional theory(DFT), adopting either plane wave basis or numerical atomic orbitals. Please refer to our GitHub repository for more information and support.

Table of contents

Features

ABACUS provides the following features and functionalities:

  1. Three types of supported basis sets: pw, LCAO, and LCAO-in-pw.
  2. Ground-state total energy calculations using Kohn-Sham (KS) density functional theory (DFT) with local-density, generalized gradient approximations (LDA/GGAs), Meta-GGA(requires LIBXC, only for PW), and hybrid functionals (PBE0 and HSE06, only for LCAO and currently under test).
  3. Geometry relaxations with Conjugated Gradient (CG), BFGS, and FIRE methods.
  4. Semi-empirical van der Waals energy correction using the Grimme DFT-D2/D3 scheme.
  5. NVT and NVE molecular dynamics simulation. AIMD, DP potential, LJ potential are supported.
  6. Stress calculations and cell relaxations.
  7. Electric polarization calculation using Berry Phase theory.
  8. Interface to the Wannier90 package.
  9. Real-time time dependent density functional theory (TDDFT).
  10. Print-out of the electrostatic potential.
  11. Mulliken charge analysis (only for LCAO).
  12. Projected density of states (PDOS) (only for LCAO).
  13. DFT+U calculation (only for LCAO).
  14. Solvation model method for solvation energy.
  15. Stochastic DFT (only for PW).
  16. DeePKS method (under development, only for LCAO).
  17. Electric field and dipole correction.
  18. Orbital-free DFT.
  19. (subsidiary tool)Plot_tools for plot PDOS and PBANDS.
  20. (subsidiary tool)Generator for second generation numerical orbital basis.
  21. Interface with DPGEN
  22. Interface with phonopy
  23. Implicit solvation model

back to top

Download and install

ABACUS can be downloaded from our official website or GitHub release page for stable versions. You can also get the developing version from our GitHub repository.

Please refer to the installation guide for instruction on the structure of the package and how to install ABACUS.

back to top

Quickstart guide

Input files

The following files are the central input files for ABACUS. Before executing the program, please make sure these files are prepared and stored in the working directory.

back to top

Run ABACUS

After putting all required input files under one folder, enter this folder.

cd input_folder

Perform calculation by:

mpirun -np 4 abacus

You can replace 4 with your desired number of process, typically the result of the command nproc.

back to top

Output files

When the calculation finishes, the program will create an output directory (default: OUT.ABACUS/), into which the following output files will be generated:

  1. INPUT: contains all input parameters, user’s input and default.
  2. istate.info: information of energy eigenvalues.
  3. running_${calculation}.log: contains the running details. Information on the variable calculation is found in the list of keywords. For example, if we are doing a SCF calculation, the log files will be named running_scf.log.
  4. STRU_READIN_ADJUST.cif: structure file in the cif formatter.
  5. warning.log: errors and warning messages.
  6. directories containing element information. For example, Si/:
    • Si.NONLOCAL: non-local pseudopotential projectors.
    • Si-P.ORBITAL: pseudo atomic orbitals, p orbital
    • Si-S.ORBITAL: pseudo atomic orbitals, s orbital
    • v_loc_g.dat: vlocal in G space

back to top

Hands-on examples

The following provides basic sample jobs in ABACUS. More can be found in the directories examples/ and tests/, and the corresponding reference outputs can be found in the file result.ref under each subdirectory.

Note that the examples there are intended as quick hands-on jobs, and the results are NOT converged with regard to basis set or k point sampling.

back to top

Citations

The following references are required to be cited when using ABACUS. Specifically:

back to top

Development team

The current development team consists the following research groups/affiliations:

back to top

Communicating and making contributions

If you find a bug or have some questions, please refer to our GitHub issue tracker, and our developers are willing to help. We also provide guidelines on how to make contributions to ABACUS.

Miscellaneous

back to top