Skip to content

Commit a9e79d1

Browse files
committed
Merge branch 'develop' into ccp_param_INPUT_2
2 parents e6dadc4 + c0bdbfb commit a9e79d1

File tree

1,359 files changed

+3321
-2766
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,359 files changed

+3321
-2766
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ set(ABACUS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/source)
167167
set(ABACUS_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests)
168168
set(ABACUS_BIN_PATH ${CMAKE_CURRENT_BINARY_DIR}/${ABACUS_BIN_NAME})
169169
include_directories(${ABACUS_SOURCE_DIR})
170-
include_directories(${ABACUS_SOURCE_DIR}/module_base/module_container)
170+
include_directories(${ABACUS_SOURCE_DIR}/source_base/module_container)
171171

172172
set(CMAKE_CXX_STANDARD 11)
173173
set(CMAKE_CXX_STANDARD_REQUIRED ON)

docs/CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The source code of ABACUS is based on several modules. Under the ABACUS root dir
3939
For those who are interested in the source code, the following figure shows the structure of the source code.
4040

4141
```text
42-
|-- module_base A basic module including
42+
|-- source_base A basic module including
4343
| | (1) Mathematical library interface functions: BLAS, LAPACK, Scalapack;
4444
| | (2) Custom data classes: matrix, vector definitions and related functions;
4545
| | (3) Parallelization functions: MPI, OpenMP;
@@ -77,7 +77,7 @@ For those who are interested in the source code, the following figure shows the
7777
| |-- hamilt_pwdft The module for defining the Hamiltonian in PW-DFT calculations.
7878
| | |-- operator_pw The module for defining the operators in PW-DFT calculations.
7979
| `-- hamilt_stodft The module for defining the Hamiltonian in STODFT calculations.
80-
|-- module_hsolver The module for solving the Hamiltonian with different diagonalization methods, including CG, Davidson in PW
80+
|-- source_hsolver The module for solving the Hamiltonian with different diagonalization methods, including CG, Davidson in PW
8181
| | calculations, and scalapack and genelpa in LCAO calculations.
8282
|-- module_io The module for reading of INPUT files and output properties including band structure, density of states, charge density, etc.
8383
|-- module_md The module for performing molecular dynamics.
@@ -183,7 +183,7 @@ pre-commit install
183183

184184
## Adding a unit test
185185

186-
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.
186+
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. `source_base` provides a simple demonstration.
187187

188188
- Add a folder named `test` under the module.
189189
- Append the content below to `CMakeLists.txt` of the module:

docs/advanced/acceleration/cuda.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ In ABACUS, we provide the option to use GPU devices to accelerate performance. T
1212

1313
- **Parallel strategy**: K point parallel.
1414

15-
Unlike PW basis, only the grid integration module (module_gint) and the diagonalization of the Hamiltonian matrix (module_hsolver) have been implemented with GPU acceleration under LCAO basis.
15+
Unlike PW basis, only the grid integration module (module_gint) and the diagonalization of the Hamiltonian matrix (source_hsolver) have been implemented with GPU acceleration under LCAO basis.
1616

1717
## Required hardware/software
1818

docs/advanced/input_files/input-main.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
- [cal\_force](#cal_force)
119119
- [force\_thr](#force_thr)
120120
- [force\_thr\_ev](#force_thr_ev)
121-
- [force\_thr\_ev2](#force_thr_ev2)
121+
- [force\_zero\_out](#force_zero_out)
122122
- [relax\_bfgs\_w1](#relax_bfgs_w1)
123123
- [relax\_bfgs\_w2](#relax_bfgs_w2)
124124
- [relax\_bfgs\_rmax](#relax_bfgs_rmax)
@@ -134,6 +134,7 @@
134134
- [Output Variables](#variables-related-to-output-information)
135135
- [out\_freq\_elec](#out_freq_elec)
136136
- [out\_chg](#out_chg)
137+
- [out\_xc\_r](#out_xc_r)
137138
- [out\_pot](#out_pot)
138139
- [out\_dm](#out_dmk)
139140
- [out\_dm1](#out_dmr)
@@ -1508,10 +1509,10 @@ These variables are used to control the geometry relaxation.
15081509
- **Default**: 0.0257112
15091510
- **Unit**: eV/Angstrom (0.03889 Ry/Bohr)
15101511

1511-
### force_thr_ev2
1512+
### force_zero_out
15121513

15131514
- **Type**: Real
1514-
- **Description**: The calculated force will be set to 0 when it is smaller than the parameter `force_thr_ev2`.
1515+
- **Description**: The force whose value is smaller than `force_zero_out` will be treated as zero.
15151516
- **Default**: 0.0
15161517
- **Unit**: eV/Angstrom
15171518

@@ -1654,6 +1655,25 @@ These variables are used to control the output of properties.
16541655
- **Default**: 0 3
16551656
- **Note**: In the 3.10-LTS version, the file names are SPIN1_CHG.cube and SPIN1_CHG_INI.cube, etc.
16561657

1658+
### out_xc_r
1659+
1660+
- **Type**: Integer \[Integer\](optional)
1661+
- **Description**:
1662+
The first integer controls whether to output the exchange-correlation (in Bohr^-3) on real space grids using Libxc to folder `OUT.${suffix}`:
1663+
- 0: rho, amag, sigma, exc
1664+
- 1: vrho, vsigma
1665+
- 2: v2rho2, v2rhosigma, v2sigma2
1666+
- 3: v3rho3, v3rho2sigma, v3rhosigma2, v3sigma3
1667+
- 4: v4rho4, v4rho3sigma, v4rho2sigma2, v4rhosigma3, v4sigma4
1668+
The meaning of the files is presented in [Libxc](https://libxc.gitlab.io/manual/libxc-5.1.x/)
1669+
1670+
The second integer controls the precision of the charge density output, if not given, will use `3` as default.
1671+
1672+
---
1673+
The circle order of the charge density on real space grids is: x is the outer loop, then y and finally z (z is moving fastest).
1674+
1675+
- **Default**: -1 3
1676+
16571677
### out_pot
16581678

16591679
- **Type**: Integer

python/pyabacus/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ find_package(pybind11 CONFIG REQUIRED)
1212

1313
# set source path
1414
set(ABACUS_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../source")
15-
set(BASE_PATH "${ABACUS_SOURCE_DIR}/module_base")
15+
set(BASE_PATH "${ABACUS_SOURCE_DIR}/source_base")
1616
set(NAO_PATH "${ABACUS_SOURCE_DIR}/module_basis/module_nao")
17-
set(HSOLVER_PATH "${ABACUS_SOURCE_DIR}/module_hsolver")
17+
set(HSOLVER_PATH "${ABACUS_SOURCE_DIR}/source_hsolver")
1818
set(PSI_PATH "${ABACUS_SOURCE_DIR}/module_psi")
1919
set(ENABLE_LCAO ON)
2020
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../../cmake")
@@ -69,14 +69,14 @@ endif()
6969
include_directories(
7070
${BASE_PATH}
7171
${ABACUS_SOURCE_DIR}
72-
${ABACUS_SOURCE_DIR}/module_base/module_container
72+
${ABACUS_SOURCE_DIR}/source_base/module_container
7373
)
7474

7575
# add basic libraries
7676
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
7777
# add base
7878
set(BASE_BINARY_DIR "${PROJECT_SOURCE_DIR}/build/base")
79-
add_subdirectory(${ABACUS_SOURCE_DIR}/module_base ${BASE_BINARY_DIR})
79+
add_subdirectory(${ABACUS_SOURCE_DIR}/source_base ${BASE_BINARY_DIR})
8080
# add parameter
8181
set(PARAMETER_BINARY_DIR "${PROJECT_SOURCE_DIR}/build/parameter")
8282
add_subdirectory(${ABACUS_SOURCE_DIR}/module_parameter ${PARAMETER_BINARY_DIR})

python/pyabacus/CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ find_package(pybind11 CONFIG REQUIRED)
7272
```cmake
7373
# Set source path
7474
set(ABACUS_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../source")
75-
set(BASE_PATH "${ABACUS_SOURCE_DIR}/module_base")
75+
set(BASE_PATH "${ABACUS_SOURCE_DIR}/source_base")
7676
set(NAO_PATH "${ABACUS_SOURCE_DIR}/module_basis/module_nao")
77-
set(HSOLVER_PATH "${ABACUS_SOURCE_DIR}/module_hsolver")
77+
set(HSOLVER_PATH "${ABACUS_SOURCE_DIR}/source_hsolver")
7878
set(PSI_PATH "${ABACUS_SOURCE_DIR}/module_psi")
7979
set(ENABLE_LCAO ON)
8080
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../../cmake")
@@ -131,7 +131,7 @@ endif()
131131
include_directories(
132132
${BASE_PATH}
133133
${ABACUS_SOURCE_DIR}
134-
${ABACUS_SOURCE_DIR}/module_base/module_container
134+
${ABACUS_SOURCE_DIR}/source_base/module_container
135135
)
136136
```
137137
- This section adds the necessary include directories for the project.
@@ -141,7 +141,7 @@ include_directories(
141141
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
142142
# Add base
143143
set(BASE_BINARY_DIR "${PROJECT_SOURCE_DIR}/build/base")
144-
add_subdirectory(${ABACUS_SOURCE_DIR}/module_base ${BASE_BINARY_DIR})
144+
add_subdirectory(${ABACUS_SOURCE_DIR}/source_base ${BASE_BINARY_DIR})
145145
# Add parameter
146146
set(PARAMETER_BINARY_DIR "${PROJECT_SOURCE_DIR}/build/parameter")
147147
add_subdirectory(${ABACUS_SOURCE_DIR}/module_parameter ${PARAMETER_BINARY_DIR})

python/pyabacus/examples/indexmap.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def _index_map(ntype, natom, lmax, nzeta=None):
6060
6161
0, 1, -1, 2, -2, 3, -3, ..., l, -l
6262
63-
(see module_base/ylm.cpp and module_base/math_ylmreal.cpp
63+
(see source_base/ylm.cpp and source_base/math_ylmreal.cpp
6464
for details)
6565
6666
'''

python/pyabacus/src/ModuleBase/py_base_math.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#include <pybind11/numpy.h>
22
#include <pybind11/pybind11.h>
33

4-
#include "module_base/math_sphbes.h"
5-
#include "module_base/math_integral.h"
6-
#include "module_base/spherical_bessel_transformer.h"
4+
#include "source_base/math_sphbes.h"
5+
#include "source_base/math_integral.h"
6+
#include "source_base/spherical_bessel_transformer.h"
77

88
namespace py = pybind11;
99
using namespace pybind11::literals;

python/pyabacus/src/ModuleNAO/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ list(APPEND _naos
1313
${NAO_PATH}/two_center_integrator.cpp
1414
${NAO_PATH}/two_center_table.cpp
1515
# dependency
16-
${ABACUS_SOURCE_DIR}/module_base/kernels/math_ylm_op.cpp
17-
${ABACUS_SOURCE_DIR}/module_base/kernels/math_kernel_op.cpp
18-
${ABACUS_SOURCE_DIR}/module_base/kernels/math_kernel_op_vec.cpp
16+
${ABACUS_SOURCE_DIR}/source_base/kernels/math_ylm_op.cpp
17+
${ABACUS_SOURCE_DIR}/source_base/kernels/math_kernel_op.cpp
18+
${ABACUS_SOURCE_DIR}/source_base/kernels/math_kernel_op_vec.cpp
1919
# ${ABACUS_SOURCE_DIR}/module_psi/kernels/psi_memory_op.cpp
20-
${ABACUS_SOURCE_DIR}/module_base/module_device/memory_op.cpp
21-
${ABACUS_SOURCE_DIR}/module_base/module_device/device.cpp
20+
${ABACUS_SOURCE_DIR}/source_base/module_device/memory_op.cpp
21+
${ABACUS_SOURCE_DIR}/source_base/module_device/device.cpp
2222
)
2323
add_library(naopack SHARED
2424
${_naos}

python/pyabacus/src/ModuleNAO/py_m_nao.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <pybind11/pybind11.h>
33
#include <pybind11/stl.h>
44

5-
#include "module_base/vector3.h"
5+
#include "source_base/vector3.h"
66
#include "module_basis/module_nao/radial_collection.h"
77
#include "module_basis/module_nao/two_center_integrator.h"
88

0 commit comments

Comments
 (0)