You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| | (2) Custom data classes: matrix, vector definitions and related functions;
45
45
| | (3) Parallelization functions: MPI, OpenMP;
46
46
| | (4) Utility functions: timer, random number generator, etc.
47
47
| | (5) Global parameters: input parameters, element names, mathematical and physical constants.
48
48
| |-- module_container The container module for storing data and performing operations on them and on different architectures.
49
-
|-- module_basis Basis means the basis set to expand the wave function.
49
+
|-- source_basis Basis means the basis set to expand the wave function.
50
50
| |-- module_ao Atomic orbital basis set to be refactored.
51
51
| |-- module_nao New numerical atomic orbital basis set for two-center integrals in LCAO calculations
52
52
| `-- module_pw Data structures and relevant methods for planewave involved calculations
53
-
|-- module_cell The module for defining the unit cell and its operations, and reading pseudopotentials.
53
+
|-- source_cell The module for defining the unit cell and its operations, and reading pseudopotentials.
54
54
| |-- module_neighbor The module for finding the neighbors of each atom in the unit cell.
55
55
| |-- module_paw The module for performing PAW calculations.
56
56
| |-- module_symmetry The module for finding the symmetry operations of the unit cell.
57
-
|-- module_elecstate The module for defining the electronic state and its operations.
57
+
|-- source_estate The module for defining the electronic state and its operations.
58
58
| |-- module_charge The module for calculating the charge density, charge mixing
59
59
| |-- potentials The module for calculating the potentials, including Hartree, exchange-correlation, local pseudopotential, etc.
60
-
|-- module_esolver The module defining task-specific driver of corresponding workflow for evaluating energies, forces, etc., including lj, dp, ks, sdft, ofdft, etc.
60
+
|-- source_esolver The module defining task-specific driver of corresponding workflow for evaluating energies, forces, etc., including lj, dp, ks, sdft, ofdft, etc.
61
61
| | TDDFT, Orbital-free DFT, etc.
62
-
|-- module_hamilt_general The module for defining general Hamiltonian that can be used both in PW and LCAO calculations.
62
+
|-- source_hamilt The module for defining general Hamiltonian that can be used both in PW and LCAO calculations.
63
63
| |-- module_ewald The module for calculating the Ewald summation.
64
64
| |-- module_surchem The module for calculating the surface charge correction.
65
65
| |-- module_vdw The module for calculating the van der Waals correction.
66
66
| |-- module_xc The module for calculating the exchange-correlation energy and potential.
67
-
|-- module_hamilt_lcao The module for defining the Hamiltonian in LCAO calculations.
67
+
|-- source_lcao The module for defining the Hamiltonian in LCAO calculations.
68
68
| |-- hamilt_lcaodft The module for defining the Hamiltonian in LCAO-DFT calculations.
69
69
| | |-- operator_lcao The module for defining the operators in LCAO-DFT calculations.
70
70
| |-- module_deepks The module for defining the Hamiltonian in DeepKS calculations.
71
71
| |-- module_dftu The module for defining the Hamiltonian in DFT+U calculations.
72
72
| |-- module_gint The module for performing grid integral in LCAO calculations.
73
73
| |-- module_hcontainer The module for storing the Hamiltonian matrix in LCAO calculations.
74
-
| `-- module_tddft The module for defining the Hamiltonian in TDDFT calculations.
75
-
|-- module_hamilt_pw The module for defining the Hamiltonian in PW calculations.
76
-
| |-- hamilt_ofdft The module for defining the Hamiltonian in OFDFT calculations.
77
-
| |-- hamilt_pwdft The module for defining the Hamiltonian in PW-DFT calculations.
74
+
| |-- module_rt The module for defining the Hamiltonian in TDDFT calculations.
75
+
| `-- module_ri The module for performing RI calculations.
76
+
|-- source_pw The module for defining the Hamiltonian in PW calculations.
77
+
| |-- module_ofdft The module for defining the Hamiltonian in OFDFT calculations.
78
+
| |-- module_pwdft The module for defining the Hamiltonian in PW-DFT calculations.
78
79
| | |-- operator_pw The module for defining the operators in PW-DFT calculations.
79
-
| `-- 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
+
| `-- module_stodft The module for defining the Hamiltonian in STODFT calculations.
81
+
|-- source_hsolver The module for solving the Hamiltonian with different diagonalization methods, including CG, Davidson in PW
81
82
| | calculations, and scalapack and genelpa in LCAO calculations.
82
-
|-- module_io The module for reading of INPUT files and output properties including band structure, density of states, charge density, etc.
83
-
|-- module_md The module for performing molecular dynamics.
84
-
|-- module_psi The module for defining the wave function and its operations.
85
-
|-- module_relax The module for performing structural optimization.
86
-
| |-- relax_new The module for performing structural optimization with new algorithm, optimized for cell and ion simultaneously.
87
-
| `-- relax_old The module for performing structural optimization with old algorithm, optimized for cell and ion separately.
88
-
|-- module_ri The module for performing RI calculations.
83
+
|-- source_io The module for reading of INPUT files and output properties including band structure, density of states, charge density, etc.
84
+
|-- source_md The module for performing molecular dynamics.
85
+
|-- source_psi The module for defining the wave function and its operations.
86
+
`-- source_relax The module for performing structural optimization, optimized for cell and ion simultaneously.
89
87
```
90
88
91
89
## Submitting an Issue
@@ -101,7 +99,7 @@ For comments that need to be shown in documents, these formats should be used --
101
99
102
100
A helpful VS Code extension -- [Doxygen Documentation Generator](https://marketplace.visualstudio.com/items?itemName=cschlosser.doxdocgen), can help you formating comments.
103
101
104
-
An practical example is class [LCAO_Deepks](https://github.com/deepmodeling/abacus-develop/blob/deepks/source/module_hamilt_lcao/module_deepks/LCAO_deepks.h), the effects can be seen on [readthedocs page](https://abacus-deepks.readthedocs.io/en/latest/DeePKS_API/classLCAO__Descriptor.html#exhale-class-classLCAO-Descriptor)
102
+
An practical example is class [LCAO_Deepks](https://github.com/deepmodeling/abacus-develop/blob/deepks/source/source_lcao/module_deepks/LCAO_deepks.h), the effects can be seen on [readthedocs page](https://abacus-deepks.readthedocs.io/en/latest/DeePKS_API/classLCAO__Descriptor.html#exhale-class-classLCAO-Descriptor)
105
103
106
104
- Tips
107
105
- Only comments in .h file will be visible in generated by Doxygen + Sphinx;
@@ -183,7 +181,7 @@ pre-commit install
183
181
184
182
## Adding a unit test
185
183
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.
184
+
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.
187
185
188
186
- Add a folder named `test` under the module.
189
187
- Append the content below to `CMakeLists.txt` of the module:
@@ -257,7 +255,7 @@ To add a unit test:
257
255
./cell_unitcell_test
258
256
```
259
257
260
-
under the directory of `build/source/module_cell/test` to run the test `cell_unitcell_test`.
258
+
under the directory of `build/source/source_cell/test` to run the test `cell_unitcell_test`.
261
259
However, it is more convenient to run unit tests with `ctest` command under the `build` directory. You can check all unit tests by
0 commit comments