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
@@ -1101,6 +1104,42 @@ These variables are used to control the calculation of DOS.
1101
1104
1102
1105
[back to top](#full-list-of-input-keywords)
1103
1106
1107
+
## NAOs
1108
+
1109
+
These variables are used to control the generation of numerical atomic orbitals (NAOs). NAOs is the linear combination of bessel functions.
1110
+
1111
+
### bessel_nao_ecut
1112
+
1113
+
-**Type**: Real
1114
+
-**Description**: energy cutoff of bessel functions.
1115
+
-**Default**: same as ecutwfc
1116
+
1117
+
### bessel_nao_tolerence
1118
+
1119
+
-**Type**: Real
1120
+
-**Description**: tolerance when searching for the zeros of bessel functions.
1121
+
-**Default**: 1.0e-12
1122
+
1123
+
### bessel_nao_rcut
1124
+
1125
+
-**Type**: Real
1126
+
-**Description**: cutoff radius of bessel functions.
1127
+
-**Default**: 6.0
1128
+
1129
+
### bessel_nao_smooth
1130
+
1131
+
-**Type**: Boolean
1132
+
-**Description**: whether the bessel functions smooth at radius cutoff.
1133
+
-**Default**: 1
1134
+
1135
+
### bessel_nao_sigma
1136
+
1137
+
-**Type**: Real
1138
+
-**Description**: energy range for smooth. See also `bessel_nao_smooth`.
1139
+
-**Default**: 0.1
1140
+
1141
+
[back to top](#full-list-of-input-keywords)
1142
+
1104
1143
## DeePKS
1105
1144
1106
1145
These variables are used to control the usage of DeePKS method (a comprehensive data-driven approach to improve the accuracy of DFT).
@@ -1119,13 +1158,6 @@ Warning: this function is not robust enough for the current version. Please try
1119
1158
NUMERICAL_DESCRIPTOR
1120
1159
jle.orb
1121
1160
```
1122
-
1123
-
NUMERICAL_DESCRIPTOR
1124
-
jle.orb
1125
-
1126
-
```
1127
-
1128
-
```
1129
1161
-**Default**: 0
1130
1162
1131
1163
### deepks_scf
@@ -1146,18 +1178,36 @@ Warning: this function is not robust enough for the current version. Please try
1146
1178
-**Description**: the projectors used in DeePKS are bessel functions. To generate such projectors, set calculation type to `gen_bessel` and run ABACUS. The lmax of Bessel functions is specified using bessel_descriptor_lmax. See also [calculation](#calculation).
1147
1179
-**Default**: 2
1148
1180
1149
-
### bessel_descriptor_rcut
1181
+
### bessel_descriptor_ecut
1150
1182
1151
1183
-**Type**: Real
1152
-
-**Description**: cutoff radius of bessel functions. See also `bessel_descriptor_lmax`.
1153
-
-**Default**: 6.0
1184
+
-**Description**: energy cutoff of bessel functions. See also `bessel_descriptor_lmax`.
1185
+
-**Default**: same as ecutwfc
1154
1186
1155
1187
### bessel_descriptor_tolerence
1156
1188
1157
1189
-**Type**: Real
1158
1190
-**Description**: tolerance when searching for the zeros of bessel functions. See also `bessel_descriptor_lmax`.
1159
1191
-**Default**: 1.0e-12
1160
1192
1193
+
### bessel_descriptor_rcut
1194
+
1195
+
-**Type**: Real
1196
+
-**Description**: cutoff radius of bessel functions. See also `bessel_descriptor_lmax`.
1197
+
-**Default**: 6.0
1198
+
1199
+
### bessel_descriptor_smooth
1200
+
1201
+
-**Type**: Boolean
1202
+
-**Description**: whether the bessel functions smooth at radius cutoff. See also `bessel_descriptor_lmax`.
1203
+
-**Default**: 1
1204
+
1205
+
### bessel_descriptor_sigma
1206
+
1207
+
-**Type**: Real
1208
+
-**Description**: energy range for smooth. See also `bessel_descriptor_smooth`.
1209
+
-**Default**: 0.1
1210
+
1161
1211
### deepks_bandgap
1162
1212
1163
1213
-**Type**: Boolean
@@ -1366,19 +1416,19 @@ These variables are relevant when using hybrid functionals
1366
1416
### exx_hybrid_alpha
1367
1417
1368
1418
-**Type**: Real
1369
-
-**Description**: fraction of Fock exchange in hybrid functionals, so that $E_{X}=\alpha F_{X}+(1-\alpha)E_{X,LDA/GGA}$
1370
-
-**Default**: 0.25
1419
+
-**Description**: fraction of Fock exchange in hybrid functionals, so that $E_{X}=\alpha E_{X}+(1-\alpha)E_{X,\text{LDA/GGA}}$
1420
+
-**Default**: 1 if dft_functional==hf else 0.25
1371
1421
1372
1422
### exx_hse_omega
1373
1423
1374
1424
-**Type**: Real
1375
-
-**Description**: range-separation parameter in HSE functional, such that $1/r=erfc(\omega r)/r+erf(\omega r)/r$.
1425
+
-**Description**: range-separation parameter in HSE functional, such that $1/r=\text{erfc}(\omega r)/r+\text{erf}(\omega r)/r$.
1376
1426
-**Default**: 0.11
1377
1427
1378
1428
### exx_separate_loop
1379
1429
1380
1430
-**Type**: Boolean
1381
-
-**Description**: There are two types of iterative approaches provided by ABACUS to evaluate Fock exchange. If this parameter is set to 0, it will start with a GGA-Loop, and then Hybrid-Loop, in which EXX Hamiltonian $H_{exx}$ is updated with electronic iterations. If this parameter is set to 1, a two-step method is employed, i.e. in the inner iterations, density matrix is updated, while in the outer iterations, $H_{exx}$ is calculated based on density matrix that converges in the inner iteration.
1431
+
-**Description**: There are two types of iterative approaches provided by ABACUS to evaluate Fock exchange. If this parameter is set to 0, it will start with a GGA-Loop, and then Hybrid-Loop, in which EXX Hamiltonian $H_{exx}$ is updated with electronic iterations. If this parameter is set to 1, a two-step method is employed, i.e. in the inner iterations, density matrix is updated, while in the outer iterations, $H_{exx}$ is calculated based on density matrix that converges in the inner iteration. (Currently not used)
1382
1432
-**Default**: 1
1383
1433
1384
1434
### exx_hybrid_step
@@ -1417,10 +1467,22 @@ These variables are relevant when using hybrid functionals
1417
1467
-**Description**: The Fock exchange can be expressed as $\Sigma_{k,l}(ik|jl)D_{kl}$ where D is the density matrix. Smaller values of the density matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-4.
1418
1468
-**Default**: 1E-4
1419
1469
1470
+
### exx_c_grad_threshold
1471
+
1472
+
-**Type**: Real
1473
+
-**Description**: See also the entry [exx_pca_threshold](#exx_pca_threshold). $\nabla C^{k}_{ij}$ is used in force and stress. Smaller components (less than exx_c_grad_threshold) of the $\nabla C^{k}_{ij}$ matrix are neglected to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-4.
1474
+
-**Default**: 1E-4
1475
+
1476
+
### exx_v_grad_threshold
1477
+
1478
+
-**Type**: Real
1479
+
-**Description**: See also the entry [exx_pca_threshold](#exx_pca_threshold). With the approximation $\Phi_{i}\Phi_{j}\sim C^{k}_{ij}P_{k}$, the four-center integral in Fock exchange is expressed as $(ik|jl)=\Sigma_{a,b}C^{a}_{ij}V_{ab}C^{b}_{kl}$, where $V_{ab}=(P_{a}|P_{b})$ is a double-center integral. $\nabla V_{ab}$ is used in force and stress. Smaller values of the V matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 0, i.e. no truncation.
1480
+
-**Default**: 1E-1
1481
+
1420
1482
### exx_schwarz_threshold
1421
1483
1422
1484
-**Type**: Real
1423
-
-**Description**: In practice the four-center integrals are sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each integral before carrying out explicit evaluations. Those that are smaller than exx_schwarz_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-5.
1485
+
-**Description**: In practice the four-center integrals are sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each integral before carrying out explicit evaluations. Those that are smaller than exx_schwarz_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-5. (Currently not used)
1424
1486
-**Default**: 0
1425
1487
1426
1488
### exx_cauchy_threshold
@@ -1429,22 +1491,28 @@ These variables are relevant when using hybrid functionals
1429
1491
-**Description**: In practice the Fock exchange matrix is sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each matrix element before carrying out explicit evaluations. Those that are smaller than exx_cauchy_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-7.
1430
1492
-**Default**: 1E-7
1431
1493
1494
+
### exx_cauchy_grad_threshold
1495
+
1496
+
-**Type**: Real
1497
+
-**Description**: In practice the Fock exchange matrix in force and stress is sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each matrix element before carrying out explicit evaluations. Those that are smaller than exx_cauchy_grad_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-7.
1498
+
-**Default**: 1E-7
1499
+
1432
1500
### exx_ccp_threshold
1433
1501
1434
1502
-**Type**: Real
1435
-
-**Description**: It is related to the cutoff of on-site Coulomb potentials, currently not used.
1503
+
-**Description**: It is related to the cutoff of on-site Coulomb potentials. (Currently not used)
1436
1504
-**Default**: 1e-8
1437
1505
1438
1506
### exx_ccp_rmesh_times
1439
1507
1440
1508
-**Type**: Real
1441
-
-**Description**: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. For HSE1, setting it to 1 is enough. But for PBE0, a much larger number must be used.
1442
-
-**Default**: 10
1509
+
-**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.
1510
+
-**Default**: 1.5 if dft_functional==hse else 10
1443
1511
1444
1512
### exx_distribute_type
1445
1513
1446
1514
-**Type**: String
1447
-
-**Description**: When running in parallel, the evaluation of Fock exchange is done by distributing atom pairs on different threads, then gather the results. exx_distribute_type governs the mechanism of distribution. Available options are `htime`, `order`, `kmean1` and `kmeans2`. `order` is where atom pairs are simply distributed by their orders. `hmeans` is a distribution where the balance in time is achieved on each processor, hence if the memory is sufficient, this is the recommended method. `kmeans1` and `kmeans2` are two methods where the k-means clustering method is used to reduce memory requirement. They might be necessary for very large systems.
1515
+
-**Description**: When running in parallel, the evaluation of Fock exchange is done by distributing atom pairs on different threads, then gather the results. exx_distribute_type governs the mechanism of distribution. Available options are `htime`, `order`, `kmean1` and `kmeans2`. `order` is where atom pairs are simply distributed by their orders. `hmeans` is a distribution where the balance in time is achieved on each processor, hence if the memory is sufficient, this is the recommended method. `kmeans1` and `kmeans2` are two methods where the k-means clustering method is used to reduce memory requirement. They might be necessary for very large systems. (Currently not used)
0 commit comments