Skip to content

Commit

Permalink
Update (#21)
Browse files Browse the repository at this point in the history
* Fix:  error in specific situations refers to  2208 (deepmodeling#2742)

* Test: simplify compiling ucell info in UNIT tests (deepmodeling#2747)

* Paw : added accumulate_rhoij (deepmodeling#2734)

* Added interface for calculation of rhoij

* Added new test case

* finished accumulate_rhoij, added test

---------

Co-authored-by: wenfei-li <liwenfei@gmail.com>

* Docs: fix dead links for vdw-d3 (deepmodeling#2741)

fix deepmodeling#2711

* support reusing blacs_ctxt in Parallel_2D::set_desc (deepmodeling#2744)

* Doc: add some details of UnitTest and Converge in Documentation (deepmodeling#2752)

* add some details of UnitTest and Converge

* Update docs/CONTRIBUTING.md

Co-authored-by: Chun Cai <amoycaic@gmail.com>

---------

Co-authored-by: Chun Cai <amoycaic@gmail.com>

* Fix : update code for S(t+dt/2)  (deepmodeling#2753)

* update code for S(t+dt/2) and fix restart

* update autotest

* update autotest

* Fix: change R in LCAO_Hamilt::calculate_HR_exx_sparse(), to alleviate the output Hexx(R) errors for few k-points (deepmodeling#2749)

Co-authored-by: Mohan Chen <mohan.chen.chen.mohan@gmail.com>

* Refactor: separate 2d-to-grid operation from `Local_Orbital_Charge` into an independent class `DMgamma_2dtoGrid` (deepmodeling#2748)

* separate 2d-to-grid operation from Local_Orbital_Charge into an independent class

* separate into new file

---------

Co-authored-by: Mohan Chen <mohan.chen.chen.mohan@gmail.com>

* Feature:  Add a output interface for hcontainer and a sparse matrix class for CSR io (deepmodeling#2745)

* Feature: Add CSR file reader classes in module_io (deepmodeling#2754)

* refactor sparse_matrix class to use map

* update output_hcontainer using new sparse matrix

* add csr file reader

* try to fix error

* fix error

---------

Co-authored-by: root <hongriTianqi>

* Refactor(input model): create the input (deepmodeling#2671)

* Refactor(input model): create the input
 rebuild class and function. This has no effect on the current code.
 Refactor deepmodeling#2549

* Refactor(input model):
Fix the annotations  in the last pull request.
And fix a bug in unit test
 Refactor deepmodeling#2549

* Refactor(input model): create the input
fix some compile bugs
 Refactor deepmodeling#2549

* fix namespace using bugs

* fix some namespace using bugs

* Update CMakeLists.txt

fix conflict in io_print_info

---------

Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
Co-authored-by: Xiaokuang Bai <baixiaokuang@gmail.com>

* Fix : DeePKS for nspin = 2 and gamma point (deepmodeling#2755)

* Fix : DeePKS for nspin = 2 and gamma point

* Fixed cal_f_delta_gamma

* fixed test

---------

Co-authored-by: wenfei-li <liwenfei@gmail.com>
Co-authored-by: dyzheng <zhengdy@dp.tech>

* Fix issue deepmodeling#2721 (deepmodeling#2739)

* Fix issue deepmodeling#2721: a correction on atom sequence check

Fix issue deepmodeling#2721

* Update read_atoms.cpp

* Update klist.cpp

* Revert "Update klist.cpp"

This reverts commit 0699982.

---------

Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
Co-authored-by: Zhao Tianqi <hongriTianqi@users.noreply.github.com>

* update version to v3.3.1 (deepmodeling#2766)

* Update xc_functional_vxc.cpp (deepmodeling#2756)

* Refactor: Two center integral implemented in module_nao (deepmodeling#2757)

* add lookup function to TwoCenterTable

* rabtab assumes uniform grid; table behavior change

* two_center_integral initial commit

* TwoCenterIntegrator implemented with test

* Refactor: CubicSpline class stores derivatives instead of polynomial coefficients (deepmodeling#2772)

* CubicSpline add support for derivative

* function name fix

* Refactor: add UnitTests and new functions and OverlapNew operator with HContainer (deepmodeling#2777)

* update demo1_SR

* Refactor: update demos in module_hcontainer

* Test: add unit test for parallel_orbitals.cpp

* update parallel_orbitals.h with get_indexes functions

* Refactor: small modifies for constructor of OperatorLCAO

* Refactor: update get_pointer() interface in AtomPair

* Refactor: add func_folding and UnitTest

* Feature: add new Operator for overlap of NAOs - OperatorNew

* Fix: bug in CI

* remove a useless head file in cal_dm.h (deepmodeling#2774)

* Feature: add a parameter `symmetry_autoclose` to control the behavior when symmetry error occurs (deepmodeling#2740)

* fix a debugging output in the 1st ion-step

* add parameter symmetry_autoclose

* Refactor: make `vl_grid_to_2D` and `Gint_inout` independent of `LCAO_Matrix` (deepmodeling#2758)

* remove LCAO_Matrix dependence in vl_grid_to_2D

* remove LCAO_Matrix dependence in Gint_inout

---------

Co-authored-by: Zhao Tianqi <hongriTianqi@users.noreply.github.com>

* Test: add a parallel script for parallel_2d_test (deepmodeling#2764)

* Test: add a parallel script for parallel_2d_test

* Update source/module_basis/module_ao/test/parallel_2d_test.sh

---------

Co-authored-by: root <hongriTianqi>
Co-authored-by: Peng Xingliang <91927439+pxlxingliang@users.noreply.github.com>

* Fix: add a initialization of lmaxmax in UnitTests `cell_unitcell_test_setupcell` (deepmodeling#2767)

* add a initialization of lmaxmax in UnitTests #test_setupcell

* Update source/module_cell/test/unitcell_test_setupcell.cpp

* Update source/module_cell/test_pw/unitcell_test_pw.cpp

* Update source/module_cell/test/unitcell_test_setupcell.cpp

* Update source/module_cell/test_pw/unitcell_test_pw.cpp

---------

Co-authored-by: Zhao Tianqi <hongriTianqi@users.noreply.github.com>

* Test: add parallel scripts for parallel_orbitals unit tests (deepmodeling#2778)

Co-authored-by: root <hongriTianqi>

* Test: add a unit test to constructor SR from reading csr file (deepmodeling#2780)

Co-authored-by: root <hongriTianqi>

* Docs: update conda-forge docs (deepmodeling#2784)

* Fix: check atom types cpmsostence between STRU and DP model (deepmodeling#2770)

* add cuda arch 3.5 compilation support for ABACUS (deepmodeling#2794)

* Fix: bug in print_PAOs() (deepmodeling#2790)

* Fix: autoset bx/by/bz when set nx/ny/nz manually (deepmodeling#2791)

* Fix: bx = 0 if nx is set mannualy in INPUT

* add a line of comment

* add autoset bx/by/bz when set nx/ny/nz manually

---------

Co-authored-by: root <hongriTianqi>

* make RealGauntTable singleton & doxygen style change (deepmodeling#2789)

Co-authored-by: Wenfei Li <38569667+wenfei-li@users.noreply.github.com>

* new CubicSpline interface (deepmodeling#2800)

Co-authored-by: Wenfei Li <38569667+wenfei-li@users.noreply.github.com>

* Test: add a unit test for zhegv in lapack_connector (deepmodeling#2796)

---------

Co-authored-by: dyzheng <zhengdy@dp.tech>
Co-authored-by: Zhao Tianqi <hongriTianqi@users.noreply.github.com>
Co-authored-by: Wenfei Li <38569667+wenfei-li@users.noreply.github.com>
Co-authored-by: wenfei-li <liwenfei@gmail.com>
Co-authored-by: Chun Cai <amoycaic@gmail.com>
Co-authored-by: cyFortneu <33978601+maki49@users.noreply.github.com>
Co-authored-by: wqzhou <33364058+WHUweiqingzhou@users.noreply.github.com>
Co-authored-by: lyb9812 <88070104+lyb9812@users.noreply.github.com>
Co-authored-by: PeizeLin <78645006+PeizeLin@users.noreply.github.com>
Co-authored-by: Mohan Chen <mohan.chen.chen.mohan@gmail.com>
Co-authored-by: GRYS <57103981+grysgreat@users.noreply.github.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
Co-authored-by: Xiaokuang Bai <baixiaokuang@gmail.com>
Co-authored-by: Yike Huang <67682086+kirk0830@users.noreply.github.com>
Co-authored-by: jinzx10 <jzx016@hotmail.com>
Co-authored-by: Omega <62006565+Satinelamp@users.noreply.github.com>
Co-authored-by: Peng Xingliang <91927439+pxlxingliang@users.noreply.github.com>
Co-authored-by: Yu Liu <77716030+YuLiu98@users.noreply.github.com>
  • Loading branch information
19 people authored Aug 9, 2023
1 parent 0d16b93 commit 1c8f0af
Show file tree
Hide file tree
Showing 183 changed files with 38,716 additions and 1,413 deletions.
7 changes: 5 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Configure your VS Code settings as `"C_Cpp.clang_format_style": "file"` (you can

## Adding a unit test

We use GoogleTest as our test framework. Write your test under the corresponding module folder at `abacus-develop/tests`, then append the test to `tests/CMakeLists.txt`. If there are currently no unit tests provided for the module, do as follows. `module_base` provides a simple demonstration.
We use [GoogleTest](https://github.com/google/googletest) as our test framework. Write your test under the corresponding module folder at `abacus-develop/tests`, then append the test to `tests/CMakeLists.txt`. If there are currently no unit tests provided for the module, do as follows. `module_base` provides a simple demonstration.

- Add a folder named `test` under the module.
- Append the content below to `CMakeLists.txt` of the module:
Expand Down Expand Up @@ -142,8 +142,9 @@ To add a unit test:
)
```

- Build with `-D BUILD_TESTING=1` flag. You can find built testing programs under `build/source/<module_name>/test`.
- Build with `-D BUILD_TESTING=1` flag, `cmake` will look for `GoogleTest` in the default path (usually `/usr/local`); if not found, you can specify the path with `-D GTEST_DIR`. You can find built testing programs under `build/source/<module_name>/test`.
- Follow the installing procedure of CMake. The tests will move to `build/test`.
- Considering `-D BUILD_TESTING=1`, the compilation will be slower compared with the case `-D BUILD_TESTING=0`.

## Debugging the codes

Expand Down Expand Up @@ -187,6 +188,8 @@ This feature requires using GCC compiler. We use `gcov` and `lcov` to generate c
cmake --build build --target test ARGS="-V --timeout 21600"
```

If configuration fails unfortunately, you can find [required files](https://github.com/baixiaokuang/CMake-codecov/tree/master/cmake) (including three *.cmake and llvm-cov-wrapper), and copy these four files into `/abacus-develop/cmake`. Alternatively, you can define the path with option `-D CMAKE_CURRENT_SOURCE_DIR`.

3. Generate HTML report.

```bash
Expand Down
21 changes: 14 additions & 7 deletions docs/advanced/input_files/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,12 +403,19 @@ These variables are used to control general system parameters.

- **Type**: Real
- **Description**: The accuracy for symmetry judgment. Usually the default value is good enough, but if the lattice parameters or atom positions in STRU file is not accurate enough, this value should be enlarged.

Note: if *[calculation](#calculation)=cell_relax*, this value can be dynamically enlarged corresponding to the accuracy loss of the lattice parameters and atom positions during the relaxation. There will be a warning message in that case.

> Note: if *[calculation](#calculation)==cell_relax*, this value can be dynamically changed corresponding to the variation of accuracy of the lattice parameters and atom positions during the relaxation. The new value will be printed in `OUT.${suffix}/running_cell-relax.log` in that case.
- **Default**: 1.0e-5
- **Unit**: Bohr

### symmetry_autoclose

- **Type**: Boolean
- **Availability**: *[symmetry](#symmetry)==1*
- **Description**: Control how to deal with error in symmetry analysis due to inaccurate lattice parameters or atom positions in STRU file, especially useful when *[calculation](#calculation)==cell-relax*
- False: quit with an error message
- True: automatically set symmetry to 0 and continue running without symmetry analysis
- **Default**: False

### kpar

- **Type**: Integer
Expand Down Expand Up @@ -2388,7 +2395,7 @@ These variables are used to control vdW-corrected related parameters.

- **Type**: Real
- **Availability**: `vdw_method` is set to `d2`, `d3_0`, or `d3_bj`
- **Description**: This scale factor is used to optimize the interaction energy deviations in van der Waals (vdW) corrected calculations. The recommended values of this parameter are dependent on the chosen vdW correction method and the DFT functional being used. For DFT-D2, the recommended values are 0.75 (PBE), 1.2 (BLYP), 1.05 (B-P86), 1.0 (TPSS), and 1.05 (B3LYP). For DFT-D3, recommended values with different DFT functionals can be found on the [here](https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Description**: This scale factor is used to optimize the interaction energy deviations in van der Waals (vdW) corrected calculations. The recommended values of this parameter are dependent on the chosen vdW correction method and the DFT functional being used. For DFT-D2, the recommended values are 0.75 (PBE), 1.2 (BLYP), 1.05 (B-P86), 1.0 (TPSS), and 1.05 (B3LYP). For DFT-D3, recommended values with different DFT functionals can be found on the [here](https://www.chemiebn.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Default**:
- 0.75: if `vdw_method` is set to `d2`
- 1.0: if `vdw_method` is set to `d3_0` or `d3_bj`
Expand All @@ -2397,7 +2404,7 @@ These variables are used to control vdW-corrected related parameters.

- **Type**: Real
- **Availability**: `vdw_method` is set to `d3_0` or `d3_bj`
- **Description**: This scale factor is relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Description**: This scale factor is relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemiebn.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Default**:
- 0.722: if `vdw_method` is set to `d3_0`
- 0.7875: if `vdw_method` is set to `d3_bj`
Expand All @@ -2406,7 +2413,7 @@ These variables are used to control vdW-corrected related parameters.

- **Type**: Real
- **Availability**: `vdw_method` is set to `d3_0` or `d3_bj`
- **Description**: This damping function parameter is relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Description**: This damping function parameter is relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemiebn.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Default**:
- 1.217: if `vdw_method` is set to `d3_0`
- 0.4289: if `vdw_method` is set to `d3_bj`
Expand All @@ -2415,7 +2422,7 @@ These variables are used to control vdW-corrected related parameters.

- **Type**: Real
- **Availability**: `vdw_method` is set to `d3_0` or `d3_bj`
- **Description**: This damping function parameter is only relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Description**: This damping function parameter is only relevant for D3(0) and D3(BJ) van der Waals (vdW) correction methods. The recommended values of this parameter with different DFT functionals can be found on the [webpage](https://www.chemiebn.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3). The default value of this parameter in ABACUS is set to be the recommended value for PBE.
- **Default**:
- 1.0: if `vdw_method` is set to `d3_0`
- 4.4407: if `vdw_method` is set to `d3_bj`
Expand Down
10 changes: 6 additions & 4 deletions docs/quick_start/easy_install.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,19 +184,21 @@ We also support [Gitpod](https://www.gitpod.io/): [Open in Gitpod](https://gitpo

## Install by conda

Conda is a package management system with a separated environment, not requiring system privileges. A pre-built ABACUS binary with all requirements is available at [deepmodeling conda channel](https://anaconda.org/deepmodeling/abacus).
Conda is a package management system with a separated environment, not requiring system privileges. A pre-built ABACUS binary with all requirements is available at [conda-forge](https://anaconda.org/conda-forge/abacus). Conda will install the GPU-accelerated version of ABACUS if a valid GPU driver is present.

```bash
# Install
# We recommend installing ABACUS in a new environment to avoid potential conflicts:
conda create -n abacus_env abacus -c deepmodeling -c conda-forge
conda create -n abacus_env abacus -c conda-forge

# Run
conda activate abacus_env
OMP_NUM_THREADS=1 mpirun -n 4 abacus

# Update
conda update -n abacus_env abacus -c deepmodeling -c conda-forge
conda update -n abacus_env abacus -c conda-forge
```

For more details on building a conda package of ABACUS, please refer to the [conda recipe file](/conda/meta.yaml) [online](https://github.com/deepmodeling/abacus-develop/blob/develop/conda/meta.yaml).
For more details on building a conda package of ABACUS, please refer to the [conda recipe file](https://github.com/deepmodeling/abacus-develop/blob/develop/conda/meta.yaml).

> Note: The [deepmodeling conda channel](https://anaconda.org/deepmodeling/abacus) offers historical versions of ABACUS.
1 change: 1 addition & 0 deletions source/Makefile.Objects
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ OBJS_IO_LCAO=cal_r_overlap_R.o\
write_dm_sparse.o\

OBJS_LCAO=DM_gamma.o\
DM_gamma_2d_to_grid.o\
DM_k.o\
evolve_elec.o\
evolve_psi.o\
Expand Down
Loading

0 comments on commit 1c8f0af

Please sign in to comment.