Skip to content

Commit 8eed91d

Browse files
dyzhengdzzz2001YuLiu981041176461AsTonyshment
authored
Stable branch : update to version 3.10.0 (#6077)
* Fix: stress error with Dojo pseudopotential and LIBXC * Fix: nspin2/4 mismatch with nspin1 with PBE * Fix: add test case to CI * Fix: delete useless warning of write_dmr * Fix: DFTU output format * Fix: error of noncolin and autoset mag * Fix: reference of noncolin * Revert "Fix: nspin2/4 mismatch with nspin1 with PBE" This reverts commit ffd91ff. * Perf: optimize the stream strategy in module_gint (#5845) * optimize stream strategy * limit max threads * Fix: modify orb info manually (#5853) * Fix: parse_expression for scientific notation (#5882) * Fix: parse_expression for scientific notation * modify openmp strategy (#5898) * Fix document description for ocp and ocp_set (#5896) * Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS (#5905) * Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS * Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS: fix a minor test issue (304_NO_GO_AF_atommag) * Fix a bug and a magic number in module_exx_symmetry (#5848) * fix a magic number in get_euler_angle * do not allow higher symmetry of bvk supercell than the original cell * Docs: update docs about init_wfc (#5912) * Fix the wrong symmetry analysis at nspin=2 (#5926) * analyze magnetic group without time-reversal symmetry * fix: need to calculate direct coordinates again * fix a bug about hcontainer in exx nscf (#5927) * fix cmake bug (#5929) * inline function of complexarray (#5964) * modify doc (#5965) * Fix segmentation fault in integrate test 312_NO_GO_wfc_get_wf (#5970) * Doc: polish Quick Start part of online doc (#6006) * polish Quick Start in online doc * set scf_thr 1e-6 * correct typo * test: fix Dockerfile.intel (#5999) Co-authored-by: root <pxlxingliang> * fix the format (#6008) * Fix : out_mat_dh will lead to different result with MPI-1core with MPI-4core (#6018) * Fix: Enhance the warning message when the XC name cannot be recognized. (#6025) * Update latest Intel oneAPI default compiler for cxx (#6035) * Update latest Intel oneAPI default compiler for cxx * Update elpa version to newest in demo cmake script * Fix: Angular momentum quantum number check in reading SOC pseudopot file (#6027) * Fix the angular momentum quantum number check in reading SOC pseudopot file * Fix related unit test problem and add an SOC pseudopot file * Refactor SOC check logic for improved readability * Feature: support the `default` as the value of `dft_functional` when initialize vdw (#5949) * Feature: support the `default` as the value of `dft_functional` when initialize vdw * Refactor a littble bit * Optimize: Compilation time of vdwd3_autoset_xcparam.cpp (#6042) The compilation time of the vdwd3_autoset_xcparam.cpp file is reduced from 250 seconds to just 5 seconds in my machine. Thanks to the suggestion from DeepSeek: replacing dynamic initialization with a static array for constructing the std::map * directly enter exx loop when init_wfc=file (#6019) * Perf: openmp for cal_force_stress (#5956) * remove wrong timer * omp for cal_force_stress * openmp for cal_force_stress in dftu * openmp for cal_force_stress in dspin * little change * fix bug * fix a bug * Fix: DFT+U force&stress with of some elements are -1 (#6049) Co-authored-by: dyzheng <[email protected]> * Fix: add the print header for `cusolvermp` in scf info (#6038) * fix an output for debug (#6066) * Perf: optimize cal_DMR and folding_HR (#6068) * modify variable name * modify variable name * change pointer to ptr * modify variable name * modify some variable names * move functions from .cpp to .h * optimize cal_DMR * add schedule(dynamic) * optimize func_folding * add a check before calculating EXX force (#6067) * fixing issue #5961 (#6071) * modify warning output (#6074) * Version: 3.10.0 --------- Co-authored-by: dzzz2001 <[email protected]> Co-authored-by: Yu Liu <[email protected]> Co-authored-by: jiyuyang <[email protected]> Co-authored-by: Taoni Bao <[email protected]> Co-authored-by: Qianrui Liu <[email protected]> Co-authored-by: LUNASEA <[email protected]> Co-authored-by: wqzhou <[email protected]> Co-authored-by: Peng Xingliang <[email protected]> Co-authored-by: Xinyuan Liang <[email protected]> Co-authored-by: Liang Sun <[email protected]> Co-authored-by: Chen Nuo <[email protected]> Co-authored-by: kirk0830 <[email protected]> Co-authored-by: dyzheng <[email protected]> Co-authored-by: Jie Bao <[email protected]>
1 parent 19a1b13 commit 8eed91d

File tree

84 files changed

+4172
-910
lines changed

Some content is hidden

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

84 files changed

+4172
-910
lines changed

Dockerfile.intel

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ RUN source /opt/intel/oneapi/setvars.sh && \
4444
ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \
4545
cd /tmp && rm -rf elpa-$ELPA_VER
4646

47+
RUN cd /tmp && git clone https://github.com/Tencent/rapidjson.git && cp -r rapidjson/include/rapidjson /usr/include/ \
48+
&& rm -rf rapidjson
49+
4750
RUN wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcpu.zip \
4851
--no-check-certificate --quiet -O libtorch.zip && \
4952
unzip -q libtorch.zip -d /opt && rm libtorch.zip

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
# About ABACUS
1414

15-
ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of norm-conserving pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, DeePTB etc.) in molecular and material simulations.
15+
ABACUS (**A**tomic-orbital **B**ased **A**b-initio **C**omputation at **US**tc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, DeePTB etc.) in molecular and material simulations.
1616

1717
# Online Documentation
1818
For detailed documentation, please refer to [our documentation website](https://abacus.deepmodeling.com/).

cmake/FindMKL.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ endif()
8383
endif() # MKL::MKL
8484

8585
# For compatibility with legacy libpaw_interface CMakeLists.txt
86-
if(TARGET MKL::MKL)
86+
if(TARGET MKL::MKL AND NOT TARGET IntelMKL::MKL)
8787
add_library(IntelMKL::MKL ALIAS MKL::MKL)
8888
endif()
8989

docs/CITATIONS.md

+8
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,18 @@ The following references are required to be cited when using ABACUS. Specificall
44

55
- **For general purpose:**
66

7+
*For LCAO basis:*
8+
79
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.
810

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

13+
Peize Lin, Xinguo Ren, Xiaohui Liu, Lixin He. Ab initio electronic structure calculations based on numerical atomic orbitals: Basic fomalisms and recent progresses. Wiley Interdisciplinary Reviews: Computational Molecular Science, 2024, 14(1): e1687.
14+
15+
*For LCAO and PW basis:*
16+
17+
Weiqing Zhou, Deye Zheng, Qianrui Liu, et al. ABACUS: An Electronic Structure Analysis Package for the AI Era. arXiv preprint arXiv:2501.08697, 2025.
18+
1119
- **If Stochastic DFT is used:**
1220

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

docs/DevelopingTeam.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ The current development team consists the following research groups/affiliations
44
- University of Science and Technology of China (Dr. Lixin He)
55
- Peking University (Dr. Mohan Chen)
66
- Institute of Physics, Chinese Academy of Sciences (Dr. Xinguo Ren)
7-
- Beijing AI for Science Institute
8-
- Institute of Artificial Intelligence, Hefei Comprehensive National Science Center.
7+
- Beijing AI for Science Institute (Dr. Daye Zheng)
8+
- Institute of Artificial Intelligence, Hefei Comprehensive National Science Center (Dr. Lixin He).

docs/advanced/input_files/input-main.md

+15-8
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ These variables are used to control general system parameters.
564564
### init_wfc
565565

566566
- **Type**: String
567-
- **Description**: Only useful for plane wave basis only now. It is the name of the starting wave functions. In the future. we should also make this variable available for localized orbitals set.
567+
- **Description**: The type of the starting wave functions.
568568

569569
Available options are:
570570

@@ -576,6 +576,8 @@ These variables are used to control general system parameters.
576576
with `psi_initializer 1`, two more options are supported:
577577
- nao: from numerical atomic orbitals. If they are not enough, other wave functions are initialized with random numbers.
578578
- nao+random: add small random numbers on numerical atomic orbitals
579+
580+
> Only the `file` option is useful for the lcao basis set, which is mostly used when [calculation](#calculation) is set to `set_wf` and `get_pchg`. See more details in [out_wfc_lcao](#out_wfc_lcao).
579581
- **Default**: atomic
580582

581583
### init_chg
@@ -3518,19 +3520,24 @@ These variables are used to control berry phase and wannier90 interface paramete
35183520

35193521
- **Type**: Boolean
35203522
- **Availability**:
3521-
- For PW and LCAO codes. if set to 1, occupations of bands will be setting of "ocp_set".
3522-
- For TDDFT in LCAO codes. if set to 1, occupations will be constrained since second ionic step.
3523-
- For OFDFT, this feature can't be used.
3523+
- For PW and LCAO codes: If set to 1, the band occupations will be determined by `ocp_set`.
3524+
- For RT-TDDFT in LCAO codes: If set to 1, same as above, but the occupations will be constrained starting from the second ionic step.
3525+
- For OFDFT: This feature is not available.
35243526
- **Description**:
3525-
- True: fix the occupations of bands.
3526-
- False: do not fix the occupations of bands.
3527+
- True: Fixes the band occupations based on the values specified in `ocp_set`.
3528+
- False: Does not fix the band occupations.
35273529
- **Default**: False
35283530

35293531
### ocp_set
35303532

35313533
- **Type**: String
3532-
- **Description**: If ocp is True, the ocp_set is a string to set the number of occupancy, like '1 10 * 1 0 1' representing the 13 band occupancy, 12th band occupancy 0 and the rest 1, the code is parsing this string into an array through a regular expression.
3533-
- **Default**: none
3534+
- **Description**:
3535+
- If `ocp` is set to 1, `ocp_set` must be provided as a string specifying the occupation numbers for each band across all k-points. The format follows a space-separated pattern, where occupations are assigned sequentially to bands for each k-point. A shorthand notation `N*x` can be used to repeat a value `x` for `N` bands.
3536+
- Example:
3537+
- `1 10*1 0 1` represents occupations for 13 bands, where the 12th band is fully unoccupied (`0`), and all others are occupied (`1`).
3538+
- For a system with multiple k-points, the occupations must be specified for all k-points, following their order in the output file kpoints (may lead to fractional occupations).
3539+
- Incorrect specification of `ocp_set` could lead to inconsistencies in electron counting, causing the calculation to terminate with an error.
3540+
- **Default**: None
35343541

35353542
[back to top](#full-list-of-input-keywords)
35363543

docs/community/faq.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ write(cs_stru, cs_atoms, format='abacus', pp=pp, basis=basis)
109109

110110
ABACUS applies the density difference between two SCF steps (labeled as `DRHO` in the screen output) as the convergence criterion, which is considered as a more robust choice compared with the energy difference. `DRHO` is calculated via `DRHO = |rho(G)-rho_previous(G)|^2`. Note that the energy difference between two SCF steps (labed as `EDIFF`) is also printed out in the screen output.
111111

112-
**4. Why EDIFF is much slower than DRHO?
112+
**4. Why EDIFF is much slower than DRHO?**
113113

114114
For metaGGA calculations, it is normal because in addition to charge density, kinetic density also needs to be considered in metaGGA calculations. In this case, you can try set `mixing_tau = true`. If you find EDIFF is much slower than DRHO for non-metaGGA calculations, please start a new issue to us.
115115

docs/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ABACUS Documentation
1010
ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is
1111
an open-source computer code package based on density functional
1212
theory (DFT). The package utilizes both plane wave and numerical
13-
atomic basis sets with the usage of norm-conserving pseudopotentials
13+
atomic basis sets with the usage of pseudopotentials
1414
to describe the interactions between nuclear ions and valence electrons.
1515
ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from
1616
single-point calculations, the package allows geometry optimizations

docs/quick_start/easy_install.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Easy Installation
22

3-
This guide helps you install ABACUS with basic features. **For DeePKS, DeePMD and Libxc support, or building with `make`, please refer to [the advanced installation guide](../advanced/install.md)** after going through this page. We recommend building ABACUS with `cmake` to avoid dependency issues. We recommend compiling ABACUS(and possibly its requirements) from the source code using the latest compiler for the best performace. You can try [toolchain](#install-requirements-by-toolchain) to install ABACUS and dependencies in a source-code compilation way with convience. You can also deploy ABACUS **without building** by [Docker](#container-deployment) or [conda](#install-by-conda). Please note that ABACUS only supports Linux; for Windows users, please consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/) or docker.
3+
This guide helps you install ABACUS with basic features. **For DeePKS, DeePMD and Libxc support, or building with `make`, please refer to [the advanced installation guide](../advanced/install.md)** after going through this page. We recommend building ABACUS with `cmake` to avoid dependency issues. We recommend compiling ABACUS (and possibly its requirements) from the source code using the latest compiler for the best performace. You can try [toolchain](#install-requirements-by-toolchain) to install ABACUS and dependencies in a source-code compilation way with convience. You can also deploy ABACUS **without building** by [Docker](#container-deployment) or [conda](#install-by-conda). Please note that ABACUS only supports Linux; for Windows users, please consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/) or docker.
44

55
## Get ABACUS source code
66

@@ -79,7 +79,7 @@ git remote -v
7979

8080
# Replace "origin" with "upstream" or the remote name corresponding to deepmodeling/abacus-develop if necessary
8181
git fetch origin
82-
git checkout v3.8.4 # Replace the tag with the latest version
82+
git checkout v3.x.x # Replace the tag with the latest version, like v3.10.0
8383
git describe --tags # Verify if the tag has been successfully checked out
8484
```
8585

@@ -106,7 +106,7 @@ Here, 'build' is the path for building ABACUS; and '-D' is used for setting up s
106106
- `CMAKE_INSTALL_PREFIX`: the path of ABACUS binary to install; `/usr/local/bin/abacus` by default
107107
- Compilers
108108
- `CMAKE_CXX_COMPILER`: C++ compiler; usually `g++`(GNU C++ compiler) or `icpx`(Intel C++ compiler). Can also set from environment variable `CXX`. It is OK to use MPI compiler here.
109-
- `MPI_CXX_COMPILER`: MPI wrapper for C++ compiler; usually `mpicxx` or `mpiicpc`(for Intel MPI).
109+
- `MPI_CXX_COMPILER`: MPI wrapper for C++ compiler; usually `mpicxx` or `mpiicpx`(for Intel toolkits) or `mpiicpc`(for classic Intel Compiler Classic MPI before 2024.0).
110110
- Requirements: Unless indicated, CMake will try to find under default paths.
111111
- `MKLROOT`: If environment variable `MKLROOT` exists, `cmake` will take MKL as a preference, i.e. not using `LAPACK`, `ScaLAPACK` and `FFTW`. To disable MKL, unset environment variable `MKLROOT`, or pass `-DMKLROOT=OFF` to `cmake`.
112112
- `LAPACK_DIR`: Path to OpenBLAS library `libopenblas.so`(including BLAS and LAPACK)
@@ -136,7 +136,7 @@ Here, 'build' is the path for building ABACUS; and '-D' is used for setting up s
136136
Here is an example:
137137

138138
```bash
139-
CXX=mpiicpc cmake -B build -DCMAKE_INSTALL_PREFIX=~/abacus -DELPA_DIR=~/elpa-2016.05.004/build -DCEREAL_INCLUDE_DIR=~/cereal/include
139+
CXX=mpiicpx cmake -B build -DCMAKE_INSTALL_PREFIX=~/abacus -DELPA_DIR=~/elpa-2025.01.001/build -DCEREAL_INCLUDE_DIR=~/cereal/include
140140
```
141141

142142
## Build and Install
@@ -192,6 +192,8 @@ OMP_NUM_THREADS=4 mpirun -n 4 abacus
192192

193193
In this case, the total thread count is 16.
194194

195+
> Notice: If the MPI library you are using is OpenMPI, which is commonly the case, when you set the number of processes to 1 or 2, OpenMPI will default to `--bind-to core`. This means that no matter how many threads you set, these threads will be restricted to run on 1 or 2 CPU cores. Therefore, setting a higher number of OpenMP threads might result in slower program execution. Hence, when using `mpirun -n` set to 1 or 2, it is recommended to set `--bind-to none` to avoid performance degradation. For example:`OMP_NUM_THREADS=6 mpirun --bind-to none -n 1 abacus`. The detailed binding strategy of OpenMPI can be referred to at https://docs.open-mpi.org/en/v5.0.x/man-openmpi/man1/mpirun.1.html#quick-summary.
196+
195197
ABACUS will try to determine the number of threads used by each process if `OMP_NUM_THREADS` is not set. However, it is **required** to set `OMP_NUM_THREADS` before running `mpirun` to avoid potential performance issues.
196198

197199
Please refer to [hands-on guide](./hands_on.md) for more instructions.

docs/quick_start/hands_on.md

+7-11
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### A quick LCAO example
66

7-
ABACUS is well known for its support of LCAO (Linear Combination of Atomic Orbital) basis set in calculating periodic condensed matter systems, so it's a good choice to start from a LCAO example of self-consistent field (SCF) calculation. Here, FCC MgO has been chosen as a quick start example. The default name of a structure file in ABACUS is `STRU`. The `STRU` file for FCC MgO in a LCAO calculation is shown below:
7+
ABACUS is well known for its support of LCAO (Linear Combination of Atomic Orbital) basis set in calculating periodic condensed matter systems. It's a good choice to start from a LCAO example of self-consistent field (SCF) calculation. Here, FCC MgO has been chosen as a quick start example. The default name of a structure file in ABACUS is `STRU`. The `STRU` file for FCC MgO in a LCAO calculation is shown below:
88

99
```
1010
#This is the atom file containing all the information
@@ -48,11 +48,10 @@ Next, the `INPUT` file is required, which sets all key parameters to direct ABAC
4848
```
4949
INPUT_PARAMETERS
5050
suffix MgO
51-
ntype 2
5251
pseudo_dir ./
5352
orbital_dir ./
5453
ecutwfc 100 # Rydberg
55-
scf_thr 1e-4 # Rydberg
54+
scf_thr 1e-6 # SCF criterion
5655
basis_type lcao
5756
calculation scf # this is the key parameter telling abacus to do a scf calculation
5857
```
@@ -71,7 +70,7 @@ Gamma
7170
After all the above input files have been set, one should be able to run the first quick example. The simplest way is to use the command line, e.g.:
7271

7372
```
74-
mpirun -np 2 abacus
73+
OMP_NUM_THREADS=1 mpirun -np 2 abacus
7574
```
7675

7776
The main output information is stored in the file `OUT.MgO/running_scf.log`, which starts with
@@ -138,10 +137,9 @@ The `INPUT` file follows as:
138137
```
139138
INPUT_PARAMETERS
140139
suffix MgO
141-
ntype 2
142140
pseudo_dir ./
143141
ecutwfc 100 # Rydberg
144-
scf_thr 1e-4 # Rydberg
142+
scf_thr 1e-6 # SCF criterion
145143
basis_type pw # changes the type of basis set
146144
calculation scf # this is the key parameter telling abacus to do a scf calculation
147145
```
@@ -201,12 +199,11 @@ The `INPUT` is provided as follows:
201199
```
202200
INPUT_PARAMETERS
203201
suffix MgO
204-
ntype 2
205202
nelec 0.0
206203
pseudo_dir ./
207204
orbital_dir ./
208205
ecutwfc 100 # Rydberg
209-
scf_thr 1e-4 # Rydberg
206+
scf_thr 1e-6 # SCF criterion
210207
basis_type lcao
211208
calculation cell-relax # this is the key parameter telling abacus to do a optimization calculation
212209
force_thr_ev 0.01 # the threshold of the force convergence, in unit of eV/Angstrom
@@ -223,11 +220,10 @@ The `INPUT` is provided as follows:
223220
```
224221
INPUT_PARAMETERS
225222
suffix MgO
226-
ntype 2
227223
nelec 0.0
228224
pseudo_dir ./
229225
ecutwfc 100 # Rydberg
230-
scf_thr 1e-4 # Rydberg
226+
scf_thr 1e-6 # SCF criterion
231227
basis_type pw
232228
calculation cell-relax # this is the key parameter telling abacus to do a optimization calculation
233229
force_thr_ev 0.01 # the threshold of the force convergence, in unit of eV/Angstrom
@@ -236,4 +232,4 @@ relax_nmax 100 # the maximal number of ionic iteration steps
236232
out_stru 1
237233
```
238234

239-
Use the same `KPT`, `STRU`, and pseudopotential files as in the above SCF-PW examples. The final optimized structure can be found in `STRU_NOW.cif` and `OUT.MgO/running_cell-relax.log`.
235+
Use the same `KPT`, `STRU`, and pseudopotential files as in the above SCF-PW examples. The final optimized structure can be found in `STRU_NOW.cif` and `STRU_ION_D` with different format.

docs/quick_start/output.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The following files are the central output files for ABACUS. After executing the
66

77
Different from `INPUT` given by the users, `OUT.suffix/INPUT` contains all parameters in ABACUS.
88

9-
> **Note:** `OUT.suffix/INPUT` contain the initial default of ABACUS instead of the real parameters used in calculations. If you want to figure out the real parameters used in calculations, you can open `OUT.suffix/runing_scf.log` and research corresponding parameter you are interested.
9+
> **Note:** `OUT.suffix/INPUT` contain the initial default of ABACUS instead of the real parameters used in calculations. This file is stored for reproduction in case the default value is changed during development. If you want to figure out the real parameters used in calculations, you can open `OUT.suffix/runing_scf.log` and research corresponding parameter you are interested.
1010
1111
For a complete list of input parameters, please consult this [instruction](../advanced/input_files/input-main.md).
1212

@@ -33,9 +33,9 @@ BAND Energy(ev) Occupation Kpoint = 1
3333
5 9.41058 0
3434
```
3535

36-
## *STRU_SIMPLE.cif*
36+
## *STRU.cif*
3737

38-
ABACUS generates a `.cif` format structure file based on the input file `STRU`, facilitating users to visualize with commonly used software. `STRU_READIN_ADJUST.cif` is the structure after considering symmetry.
38+
ABACUS generates a `.cif` format structure file based on the input file `STRU`, facilitating users to visualize with commonly used software.
3939

4040
## *warning.log*
4141

source/module_base/complexarray.cpp

-14
Original file line numberDiff line numberDiff line change
@@ -262,18 +262,4 @@ void point_mult(ComplexArray &in1, ComplexArray &in2, ComplexArray &out){
262262
in1.ptr[i].real() * in2.ptr[i].imag() +
263263
in1.ptr[i].imag() * in2.ptr[i].real());}
264264
}
265-
const std::complex <double> &ComplexArray::operator()(const int ind1, const int ind2, const int ind3, const int ind4) const{
266-
assert(ind1>=0); assert(ind1<bound1);
267-
assert(ind2>=0); assert(ind2<bound2);
268-
assert(ind3>=0); assert(ind3<bound3);
269-
assert(ind4>=0); assert(ind4<bound4);
270-
const int ind = ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4;
271-
return ptr[ind];}
272-
std::complex<double>& ComplexArray::operator()(const int ind1,const int ind2,const int ind3,const int ind4){
273-
assert(ind1>=0); assert(ind1<bound1);
274-
assert(ind2>=0); assert(ind2<bound2);
275-
assert(ind3>=0); assert(ind3<bound3);
276-
assert(ind4>=0); assert(ind4<bound4);
277-
const int ind = ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4;
278-
return ptr[ind];}
279265
}

0 commit comments

Comments
 (0)