|
38 | 38 | - [ndx, ndy, ndz](#ndx-ndy-ndz) |
39 | 39 | - [pw\_seed](#pw_seed) |
40 | 40 | - [pw\_diag\_thr](#pw_diag_thr) |
| 41 | + - [diago\_smooth\_ethr](#diago_smooth_ethr) |
41 | 42 | - [pw\_diag\_nmax](#pw_diag_nmax) |
42 | 43 | - [pw\_diag\_ndim](#pw_diag_ndim) |
43 | 44 | - [diag\_subspace](#diag_subspace) |
@@ -791,6 +792,12 @@ These variables are used to control the plane wave related parameters. |
791 | 792 | - **Description**: Only used when you use `ks_solver = cg/dav/dav_subspace/bpcg`. It indicates the threshold for the first electronic iteration, from the second iteration the pw_diag_thr will be updated automatically. **For nscf calculations with planewave basis set, pw_diag_thr should be <= 1e-3.** |
792 | 793 | - **Default**: 0.01 |
793 | 794 |
|
| 795 | +### diago_smooth_ethr |
| 796 | + |
| 797 | +- **Type**: bool |
| 798 | +- **Description**: If `TRUE`, the smooth threshold strategy, which applies a larger threshold (10e-5) for the empty states, will be implemented in the diagonalization methods. (This strategy should not affect total energy, forces, and other ground-state properties, but computational efficiency will be improved.) If `FALSE`, the smooth threshold strategy will not be applied. |
| 799 | +- **Default**: false |
| 800 | + |
794 | 801 | ### pw_diag_nmax |
795 | 802 |
|
796 | 803 | - **Type**: Integer |
@@ -1391,6 +1398,7 @@ These variables are used to control the geometry relaxation. |
1391 | 1398 | - **Description**: The methods to do geometry optimization. |
1392 | 1399 | - cg: using the conjugate gradient (CG) algorithm. Note that there are two implementations of the conjugate gradient (CG) method, see [relax_new](#relax_new). |
1393 | 1400 | - bfgs: using the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. |
| 1401 | + - bfgs_trad: using the traditional Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. |
1394 | 1402 | - cg_bfgs: using the CG method for the initial steps, and switching to BFGS method when the force convergence is smaller than [relax_cg_thr](#relax_cg_thr). |
1395 | 1403 | - sd: using the steepest descent (SD) algorithm. |
1396 | 1404 | - fire: the Fast Inertial Relaxation Engine method (FIRE), a kind of molecular-dynamics-based relaxation algorithm, is implemented in the molecular dynamics (MD) module. The algorithm can be used by setting [calculation](#calculation) to `md` and [md_type](#md_type) to `fire`. Also ionic velocities should be set in this case. See [fire](../md.md#fire) for more details. |
@@ -1569,10 +1577,8 @@ These variables are used to control the output of properties. |
1569 | 1577 | ### out_freq_elec |
1570 | 1578 |
|
1571 | 1579 | - **Type**: Integer |
1572 | | -- **Description**: The output frequency of the charge density (controlled by [out_chg](#out_chg)), wavefunction (controlled by [out_wfc_pw](#out_wfc_pw) or [out_wfc_r](#out_wfc_r)), and density matrix of localized orbitals (controlled by [out_dm](#out_dm)). |
1573 | | - - \>0: Output them every `out_freq_elec` iteration numbers in electronic iterations. |
1574 | | - - 0: Output them when the electronic iteration is converged or reaches the maximal iteration number. |
1575 | | -- **Default**: 0 |
| 1580 | +- **Description**: Output the charge density (only binary format, controlled by [out_chg](#out_chg)), wavefunction (controlled by [out_wfc_pw](#out_wfc_pw) or [out_wfc_r](#out_wfc_r)) per `out_freq_elec` electronic iterations. Note that they are always output when converged or reach the maximum iterations [scf_nmax](#scf_nmax). |
| 1581 | +- **Default**: [scf_nmax](#scf_nmax) |
1576 | 1582 |
|
1577 | 1583 | ### out_chg |
1578 | 1584 |
|
@@ -2068,7 +2074,7 @@ Warning: this function is not robust enough for the current version. Please try |
2068 | 2074 | - **Type**: int |
2069 | 2075 | - **Availability**: numerical atomic orbital basis |
2070 | 2076 | - **Description**: Include V_delta label for DeePKS training. When `deepks_out_labels` is true and `deepks_v_delta` > 0, ABACUS will output h_base.npy, v_delta.npy and h_tot.npy(h_tot=h_base+v_delta). |
2071 | | - Meanwhile, when `deepks_v_delta` equals 1, ABACUS will also output v_delta_precalc.npy, which is used to calculate V_delta during DeePKS training. However, when the number of atoms grows, the size of v_delta_precalc.npy will be very large. In this case, it's recommended to set `deepks_v_delta` as 2, and ABACUS will output psialpha.npy and grad_evdm.npy but not v_delta_precalc.npy. These two files are small and can be used to calculate v_delta_precalc in the procedure of training DeePKS. |
| 2077 | + Meanwhile, when `deepks_v_delta` equals 1, ABACUS will also output v_delta_precalc.npy, which is used to calculate V_delta during DeePKS training. However, when the number of atoms grows, the size of v_delta_precalc.npy will be very large. In this case, it's recommended to set `deepks_v_delta` as 2, and ABACUS will output phialpha.npy and grad_evdm.npy but not v_delta_precalc.npy. These two files are small and can be used to calculate v_delta_precalc in the procedure of training DeePKS. |
2072 | 2078 | - **Default**: 0 |
2073 | 2079 |
|
2074 | 2080 | ### deepks_out_unittest |
@@ -2454,10 +2460,11 @@ These variables are relevant when using hybrid functionals. |
2454 | 2460 | ### exx_ccp_rmesh_times |
2455 | 2461 |
|
2456 | 2462 | - **Type**: Real |
2457 | | -- **Description**: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. For HSE, setting it to 1 is enough. But for PBE0, a much larger number must be used. |
| 2463 | +- **Description**: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. The value should be at least 1. Reducing this value can effectively increase the speed of self-consistent calculations using hybrid functionals. |
2458 | 2464 | - **Default**: |
2459 | | - - 1.5: if *[dft_functional](#dft_functional)==hse* |
2460 | | - - 5: else |
| 2465 | + - 5: if *[dft_functional](#dft_functional)==hf/pbe0/scan0/muller/power/wp22* |
| 2466 | + - 1.5: if *[dft_functional](#dft_functional)==hse/cwp22* |
| 2467 | + - 1: else |
2461 | 2468 |
|
2462 | 2469 | ### exx_distribute_type |
2463 | 2470 |
|
@@ -2496,6 +2503,7 @@ These variables are relevant when using hybrid functionals. |
2496 | 2503 | - **Description**: |
2497 | 2504 | - True: Enforce LibRI to use `double` data type. |
2498 | 2505 | - False: Enforce LibRI to use `complex` data type. |
| 2506 | + Setting it to True can effectively improve the speed of self-consistent calculations with hybrid functionals. |
2499 | 2507 | - **Default**: depends on the [gamma_only](#gamma_only) option |
2500 | 2508 | - True: if gamma_only |
2501 | 2509 | - False: else |
|
0 commit comments