Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #21

Merged
merged 34 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
fe3e4b3
Fix: error in specific situations refers to 2208 (#2742)
dyzheng Jul 23, 2023
3a56eed
Test: simplify compiling ucell info in UNIT tests (#2747)
hongriTianqi Jul 23, 2023
3d5637c
Paw : added accumulate_rhoij (#2734)
wenfei-li Jul 24, 2023
3efaa63
Docs: fix dead links for vdw-d3 (#2741)
caic99 Jul 24, 2023
93090d3
support reusing blacs_ctxt in Parallel_2D::set_desc (#2744)
maki49 Jul 24, 2023
c2d273b
Doc: add some details of UnitTest and Converge in Documentation (#2752)
WHUweiqingzhou Jul 25, 2023
4bf23f6
Fix : update code for S(t+dt/2) (#2753)
lyb9812 Jul 25, 2023
8f0570b
Fix: change R in LCAO_Hamilt::calculate_HR_exx_sparse(), to alleviate…
PeizeLin Jul 25, 2023
48a7a3d
Refactor: separate 2d-to-grid operation from `Local_Orbital_Charge` i…
maki49 Jul 25, 2023
304b495
Feature: Add a output interface for hcontainer and a sparse matrix c…
hongriTianqi Jul 25, 2023
2015f1d
Feature: Add CSR file reader classes in module_io (#2754)
hongriTianqi Jul 27, 2023
79bc133
Refactor(input model): create the input (#2671)
grysgreat Jul 28, 2023
594bccb
Fix : DeePKS for nspin = 2 and gamma point (#2755)
wenfei-li Jul 28, 2023
d38a8df
Fix issue #2721 (#2739)
kirk0830 Jul 28, 2023
b3c50b6
update version to v3.3.1 (#2766)
jinzx10 Jul 28, 2023
93f5223
Update xc_functional_vxc.cpp (#2756)
Satinelamp Jul 31, 2023
4008ceb
Refactor: Two center integral implemented in module_nao (#2757)
jinzx10 Jul 31, 2023
ae4e7ea
Refactor: CubicSpline class stores derivatives instead of polynomial …
jinzx10 Jul 31, 2023
add4812
Refactor: add UnitTests and new functions and OverlapNew operator wit…
dyzheng Aug 2, 2023
ef29857
remove a useless head file in cal_dm.h (#2774)
WHUweiqingzhou Aug 2, 2023
22a5446
Feature: add a parameter `symmetry_autoclose` to control the behavior…
maki49 Aug 2, 2023
162143c
Refactor: make `vl_grid_to_2D` and `Gint_inout` independent of `LCAO_…
maki49 Aug 2, 2023
178f9bb
Test: add a parallel script for parallel_2d_test (#2764)
hongriTianqi Aug 2, 2023
1437a1f
Fix: add a initialization of lmaxmax in UnitTests `cell_unitcell_test…
WHUweiqingzhou Aug 2, 2023
9fd67cb
Test: add parallel scripts for parallel_orbitals unit tests (#2778)
hongriTianqi Aug 2, 2023
b7bb740
Test: add a unit test to constructor SR from reading csr file (#2780)
hongriTianqi Aug 2, 2023
b31a5d6
Docs: update conda-forge docs (#2784)
caic99 Aug 2, 2023
ce14dcc
Fix: check atom types cpmsostence between STRU and DP model (#2770)
YuLiu98 Aug 3, 2023
cf1270f
add cuda arch 3.5 compilation support for ABACUS (#2794)
denghuilu Aug 4, 2023
bb23383
Fix: bug in print_PAOs() (#2790)
YuLiu98 Aug 8, 2023
0ece436
Fix: autoset bx/by/bz when set nx/ny/nz manually (#2791)
hongriTianqi Aug 8, 2023
74a5bf2
make RealGauntTable singleton & doxygen style change (#2789)
jinzx10 Aug 8, 2023
2dc1ec3
new CubicSpline interface (#2800)
jinzx10 Aug 8, 2023
3bab97c
Test: add a unit test for zhegv in lapack_connector (#2796)
hongriTianqi Aug 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading