Coder Social home page Coder Social logo

1040403998 / abacus-develop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deepmodeling/abacus-develop

0.0 0.0 0.0 83.83 MB

An electronic structure package based on either plane wave basis or numerical atomic orbitals.

License: GNU Lesser General Public License v3.0

Shell 0.99% C++ 93.80% Python 2.23% C 0.53% Gnuplot 0.05% Cuda 1.46% Makefile 0.36% CMake 0.51% Batchfile 0.01% Dockerfile 0.02% Roff 0.04%

abacus-develop's Introduction

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.

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.

  • INPUT

    This is the main input file that contains the setting parameters used in the calculation. For a complete list of the input parameters, please consult this instruction.

    Attention: Users cannot change the filename “INPUT” to other names.

  • STRU

    This is the structure file that contains the structural information about the system, e.g., lattice constant, lattice vectors, and positions of the atoms within a unit cell. The positions can be given either in direct or Cartesian coordinates. Moreover, the name of the atom (and location of the pseudopotential and numerical orbital files, see below) needs to be specified in the STRU file. The name of the structure file can be changed to a different name by explicitly specifying the name in the INPUT file.

    Specifications of the STRU file can be found in this short instruction.

  • KPT

    This is the k-point file that contains the information of the k-grid setting for the Brillouin zone sampling. Specification of the k-point file can be found in this short instruction.

  • The pseudopotential files

    Norm-conserving pseudopotentials are used in ABACUS, in the UPF file format.The filename of each element’s pseudopotential needs to be specified in the STRU file, together with the directory of the pseudopotential files unless they are already present in the working directory.

    More information on pseudopotentials is given here.

  • The numerical orbital files

    This part is only required in LCAO calculations. The filename for each element’s numerical orbital basis needs to be specified in the STRU file, together with the directory of the orbital files unless they are already present in the working directory. ABACUS provides numerical atomic basis sets of different accuracy levels for most elements commonly used. Users can download these basis sets from the website. Moreover, users can generate numerical atomic orbitals by themselves, and the procedure is provided in this short introduction.

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/, with an introduction here, 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:

  • For general purpose:

    [1]. Mohan Chen, G. C. Guo, and Lixin He. "Systematically improvable optimized atomic basis sets for ab initio calculations." Journal of Physics: Condensed Matter 22.44 (2010): 445501.

    [2]. Pengfei Li, et al. "Large-scale ab initio simulations based on systematically improvable atomic basis." Computational Materials Science 112 (2016): 503-517.

  • If Stochastic DFT is used:

    [1]. Qianrui Liu, and Mohan Chen. "Plane-Wave-Based Stochastic-Deterministic Density Functional Theory for Extended Systems." https://arxiv.org/abs/2204.05662.

  • If DFT+U is used:

    [1]. Xin Qu, et al. "DFT+ U within the framework of linear combination of numerical atomic orbitals." The Journal of Chemical Physics (2022).

  • If second generation numerical orbital basis is used:

    [1]. Peize Lin, Xinguo Ren, and Lixin He. "Strategy for constructing compact numerical atomic orbital basis sets by incorporating the gradients of reference wavefunctions." Physical Review B 103.23 (2021): 235131.

  • If berry curvature calculation is used in LCAO base:

    [1]. Gan Jin, Daye Zheng, and Lixin He. "Calculation of Berry curvature using non-orthogonal atomic orbitals." Journal of Physics: Condensed Matter 33.32 (2021): 325503.

  • If DeePKS is used:

    [1]. Wenfei Li, Qi Ou, et al. "DeePKS+ABACUS as a Bridge between Expensive Quantum Mechanical Models and Machine Learning Potentials." https://arxiv.org/abs/2206.10093.

  • If hybrid functional is used:

    [1]. Peize Lin, Xinguo Ren, and Lixin He. "Efficient Hybrid Density Functional Calculations for Large Periodic Systems Using Numerical Atomic Orbitals." Journal of Chemical Theory and Computation 2021, 17(1), 222–239.

    [2]. Peize Lin, Xinguo Ren, and Lixin He. "Accuracy of Localized Resolution of the Identity in Periodic Hybrid Functional Calculations with Numerical Atomic Orbitals." Journal of Physical Chemistry Letters 2020, 11, 3082-3088.

back to top

Development team

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

  • University of Science and Technology of China (Dr. Lixin He)
  • Peking University (Dr. Mohan Chen)
  • Institute of Physics, Chinese Academy of Sciences (Dr. Xinguo Ren)
  • AI for Science Institute

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

abacus-develop's People

Contributors

dyzheng avatar mohanchen avatar qianruipku avatar caic99 avatar wenfei-li avatar yuliu98 avatar maki49 avatar peizelin avatar pxlxingliang avatar ddhhss avatar hongritianqi avatar sunliang98 avatar abacus-ustc avatar lyb9812 avatar tansongchen avatar liu-rx avatar darelbeida avatar pplab avatar 1041176461 avatar wszhang avatar ouqi0711 avatar signature11 avatar 80610702-git avatar shishaochen avatar hefuxiang94 avatar baixiaokuang avatar paw002 avatar qx80610702 avatar jingan-181 avatar denghuilu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.