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
Copy file name to clipboardExpand all lines: doc/generate-basis.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
In ABACUS, the atomic orbital bases are generated using a scheme developed in the [paper](https://iopscience.iop.org/article/10.1088/0953-8984/22/44/445501). We provide a script named “generate_orbital.sh” under the directory tools/ to generate the atomic orbitals bases. In order to run this script, an ORBITAL_INPUT file is required.
6
6
7
-
An example of this ORBITAL_INPUT file can be found in $ABACUS/tools/SIAB/2_Generate:
7
+
An example of this ORBITAL_INPUT file can be found in $ABACUS/tools/SIAB/SimulatedAnnealing/example_N:
@@ -101,7 +101,7 @@ The ORBITAL_INPUT file contains 5 parts :
101
101
This part gives the bond lengths of the reference systems (dimer or trimer). Generally, the bond lengths are chosen to distribute on both sides of the equilibrium value. For example, for N dimer we use (in Å):
102
102
- Dis 1.0 1.1 1.5 2.0 3.0
103
103
104
-
It means we take 5 reference systems (dimer), and the bond lengths are 1.0 1.1 1.5 2.0 3.0 angstrom, respectively. Every element has reference systems with different bond lengths, which could be found in file $ABACUS/tools/SIAB/2_Generate/DIS.txt.
104
+
It means we take 5 reference systems (dimer), and the bond lengths are 1.0 1.1 1.5 2.0 3.0 angstrom, respectively. Every element has reference systems with different bond lengths, which could be found in file $ABACUS/tools/SIAB/DIS.txt.
105
105
4. orbital generation
106
106
107
107
The main parameters for orbital generation
@@ -142,7 +142,7 @@ The ORBITAL_INPUT file contains 5 parts :
142
142
143
143
the accept rise of spillage when optimizing the kinetic energy
144
144
145
-
After preparing the ORBITAL_INPUT file, one just needs to run the script and wait for the results. The results will be written into several output files under the directory $element.id_element/$Rcut/, for example 07_N/6/.
145
+
After preparing the ORBITAL_INPUT file, one just needs to run the script "$PATH_TO/generate_orbital.sh ORBITAL_INPUT" and wait for the results. The results will be written into several output files under the directory $element.id_element/$Rcut/, for example 07_N/6/.
146
146
147
147
Some output files listed here are useful.
148
148
- ORBITAL_RESULTS.txt
@@ -160,4 +160,4 @@ For some elements, you can download the reference ORBITAL_INPUT files and pseudo
160
160
A file README is also given and you can decide the parameters with it as a reference.
161
161
In most cases, you just need to modify the parameters in Section 1, 2. Section 4 may be
162
162
partially modified if you need higher precision orbitals. The users are not encouraged to change
163
-
the settings in sections 5, unless you are very familiar with the code generating algorithms.
163
+
the settings in sections 5, unless you are very familiar with the code generating algorithms.
-[Variables useful for debugging](#variables-useful-for-debugging)
59
65
@@ -292,7 +298,7 @@ This part of variables are used to control general system parameters.
292
298
293
299
- diago_proc<a id="diago_proc"></a>
294
300
- *Type*: Integer
295
-
- *Descrption*: If set to a positive number, then it specifies the number of threads used for carrying out diagonalization. Must be less than or equal to total number of MPI threads. Also, when cg diagonalization is used, diago_proc must be same as total number of MPI threads. If set to 0, then it will be set to the number of MPI threads. Normally, it is fine just leaving it to default value.
301
+
- *Descrption*: If set to a positive number, then it specifies the number of threads used for carrying out diagonalization. Must be less than or equal to total number of MPI threads. Also, when cg diagonalization is used, diago_proc must be same as total number of MPI threads. If set to 0, then it will be set to the number of MPI threads. Normally, it is fine just leaving it to default value. Only used for pw base.
296
302
- *Default*: 0
297
303
298
304
[back to top](#input-file)
@@ -605,6 +611,22 @@ calculations.
605
611
606
612
[back to top](#input-file)
607
613
614
+
615
+
- ocp<a id="ocp"></a>
616
+
- *Type*: Boolean
617
+
- *Description*: option for choose whether calcualting constrained DFT or not.
618
+
Only used for TDDFT.
619
+
- *Default*:0
620
+
621
+
[back to top](#input-file)
622
+
623
+
- ocp_set<a id="ocp_set"></a>
624
+
- *Type*: string
625
+
- *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.
626
+
- *Default*:none
627
+
628
+
[back to top](#input-file)
629
+
608
630
### Geometry relaxation
609
631
This part of variables are used to control the geometry relaxation.
610
632
@@ -687,11 +709,11 @@ This part of variables are used to control the geometry relaxation.
687
709
- stress_thr<a id="stress-thr"></a>
688
710
- *Type*: Real
689
711
- *Description*: The threshold of the stress convergence, it indicates the largest stress among all the directions, the unit is KBar,
690
-
- *Default*: 10
712
+
- *Default*: 0.01
691
713
692
714
[back to top](#input-file)
693
715
694
-
- press1, 2, 3<a id="press"></a>
716
+
- press1, press2, press3<a id="press"></a>
695
717
- *Type*: Real
696
718
- *Description*: the external pressures along three axes,the compressive stress is taken to be positive, the unit is KBar.
697
719
- *Default*: 0
@@ -831,6 +853,41 @@ This part of variables are used to control the output of properties.
831
853
832
854
[back to top](#input-file)
833
855
856
+
- out_element_info<a id="out-element-info"></a>
857
+
- *Type*: Boolean
858
+
- *Description*: When set to 1, ABACUS will generate a new directory under OUT.suffix path named as element name such as 'Si', which contained files "Si-d1-orbital-dru.dat Si-p2-orbital-k.dat Si-s2-orbital-dru.dat
Si-p2-orbital-dru.dat Si-s1-orbital-ru.dat " for example.
868
+
869
+
- *Default*: 0
870
+
871
+
[back to top](#input-file)
872
+
873
+
- restart_save<a id="restart_save"></a>
874
+
- *Type*: Boolean
875
+
- *Description*: Only for LCAO, store charge density file and H matrix file every scf step for restart.
876
+
- *Default*: 0
877
+
878
+
[back to top](#input-file)
879
+
880
+
- restart_load<a id="restart_load"></a>
881
+
- *Type*: Boolean
882
+
- *Description*: Only for LCAO, used for restart, only if that:
883
+
* set restart_save as true and do scf calculation before.
884
+
* please ensure suffix is same with calculation before and density file and H matrix file is exist.
885
+
886
+
restart from stored density file and H matrix file.
887
+
- *Default*: 0
888
+
889
+
[back to top](#input-file)
890
+
834
891
### Density of states
835
892
This part of variables are used to control the calculation of DOS.
836
893
@@ -859,7 +916,7 @@ This part of variables are used to control the calculation of DOS.
859
916
This part of variables are used to control the addition of an external electric field. It is achieved by adding a saw-like potential to the local ionic potential.
860
917
861
918
- efield<a id="efield"></a>
862
-
- *Type*: Bool
919
+
- *Type*: Boolean
863
920
- *Description*: Controls whether to add the external electric field. When set to 1, the electric field is turned on. When set to 0, there is no electric field.
864
921
- *Default*: 0.
865
922
@@ -895,9 +952,10 @@ This part of variables are used to control the addition of an external electric
895
952
896
953
### DeePKS
897
954
This part of variables are used to control the usage of DeePKS method (a comprehensive data-driven approach to improve accuracy of DFT).
955
+
Warning: this function is not robust enough for version 2.2.0. Please try these variables in https://github.com/deepmodeling/abacus-develop/tree/deepks .
898
956
899
957
- out_descriptor<a id="out-descriptor"></a>
900
-
- *Type*: Bool
958
+
- *Type*: Boolean
901
959
- *Description*: when set to 1, ABACUS will calculate and output descriptor for DeePKS training. In `LCAO` calculation, a path of *.orb file is needed to be specified under `NUMERICAL_DESCRIPTOR`in `STRU`file. For example:
902
960
```
903
961
NUMERICAL_ORBITAL
@@ -917,7 +975,7 @@ This part of variables are used to control the usage of DeePKS method (a compreh
917
975
918
976
[back to top](#input-file)
919
977
- deepks_scf<a id="deepks-scf"></a>
920
-
- *Type*: Bool
978
+
- *Type*: Boolean
921
979
- *Description*: only when deepks is enabled in `LCAO` calculation can this variable set to 1. Then, a trained, traced model file is needed for self-consistant field iteration in DeePKS method.
922
980
- *Default*: 0
923
981
@@ -1071,7 +1129,7 @@ This part of variables are used to control the molecular dynamics calculations.
1071
1129
[back to top](#input-file)
1072
1130
1073
1131
- md_rstmd<a id="md-rstmd"></a>
1074
-
- *Type*: Bool
1132
+
- *Type*: Boolean
1075
1133
- *Description*: to control whether restart md.
1076
1134
- 0:When set to 0, ABACUS will calculate md normolly.
1077
1135
- 1:When set to 1, ABACUS will calculate md from last step in your test before.
@@ -1116,7 +1174,7 @@ This part of variables are used to control the molecular dynamics calculations.
1116
1174
- NVT_control<a id="nvt-control"></a>
1117
1175
- *Type*: Integer
1118
1176
- *Description*: Specifies which type of thermostat is used.
1119
-
- 1: Nose-Hoover
1177
+
- 1: Nose-Hoover-chains
1120
1178
- 2: Langevin
1121
1179
- 3: Andersen
1122
1180
- *Default*: 1
@@ -1174,43 +1232,43 @@ This part of variables are used to control the molecular dynamics calculations.
1174
1232
1175
1233
### DFT+U correction
1176
1234
This part of variables are used to control DFT+U correlated parameters
1177
-
- dft_plus_u
1178
-
- *Type*: Bool
1235
+
- dft_plus_u<a id="dft_plus_u"></a>
1236
+
- *Type*: Boolean
1179
1237
- *Description*: If set to 1, ABCUS will calculate plus U correction, which is especially important for correlated electron.
1180
1238
- *Default*: 0
1181
1239
1182
1240
[back to top](#input-file)
1183
1241
1184
-
- orbital_corr
1242
+
- orbital_corr<a id="orbital_corr"></a>
1185
1243
- *Type*: Int
1186
1244
- *Description*: $l_1,l_2,l_3,\ldots$ for atom type 1,2,3 respectively.(usually 2 for d electrons and 3 for f electrons) .Specify which orbits need plus U correction for each atom. If set to -1, the correction would not be calculate for this atom.
1187
1245
- *Default*: None
1188
1246
1189
1247
[back to top](#input-file)
1190
1248
1191
-
- hubbard_u
1249
+
- hubbard_u<a id="hubbard_u"></a>
1192
1250
- *Type*: Real
1193
1251
- *Description*: Hubbard Coulomb interaction parameter U(ev) in plus U correction,which should be specified for each atom unless Yukawa potential is use. ABACUS use a simplified scheme which only need U and J for each atom.
1194
1252
- *Default*: 0.0
1195
1253
1196
1254
[back to top](#input-file)
1197
1255
1198
-
- hund_j
1256
+
- hund_j<a id="hund_j"></a>
1199
1257
- *Type*: Real
1200
1258
- *Description*: Hund exchange parameter J(ev) in plus U correction ,which should be specified for each atom unless Yukawa potential is use. ABACUS use a simplified scheme which only need U and J for each atom.
1201
1259
- *Default*: 0.0
1202
1260
1203
1261
[back to top](#input-file)
1204
1262
1205
-
- yukawa_potential
1206
-
- *Type*: Bool
1263
+
- yukawa_potential<a id="yukawa_potential"></a>
1264
+
- *Type*: Boolean
1207
1265
- *Description*: whether use the local screen Coulomb potential method to calculate the value of U and J. If this is set to 1, hubbard_u and hund_j do not need to be specified.
1208
1266
- *Default*: 0
1209
1267
1210
1268
[back to top](#input-file)
1211
1269
1212
-
- omc
1213
-
- *Type*: Bool
1270
+
- omc<a id="omc"></a>
1271
+
- *Type*: Boolean
1214
1272
- *Description*: whether turn on occupation matrix control method or not
1215
1273
- *Default*: 0
1216
1274
@@ -1361,6 +1419,8 @@ This part of variables are used to control berry phase and wannier90 interfacae
1361
1419
- *Default*: up
1362
1420
1363
1421
[back to top](#input-file)
1422
+
1423
+
### TDDFT: time dependent density functional theory
1364
1424
- tddft<a id="tddft"></a>
1365
1425
- *Type*: Integer
1366
1426
- *Description*:
@@ -1369,22 +1429,71 @@ This part of variables are used to control berry phase and wannier90 interfacae
1369
1429
- *Default*: 0
1370
1430
1371
1431
[back to top](#input-file)
1372
-
- vext<a id="vext"></a>
1432
+
- td_dr2<a id="td_dr2"></a>
1433
+
- *Type*: Double
1434
+
- *Description*: Accuracy of electron convergence when doing time-dependent evolution.
1435
+
- *Default*: 1e-9
1436
+
1437
+
[back to top](#input-file)
1438
+
- td_dt<a id="td_dt"></a>
1439
+
- *Type*: Double
1440
+
- *Description*: Time-dependent evolution time step. (fs)
1441
+
- *Default*: 0.02
1442
+
1443
+
[back to top](#input-file)
1444
+
- td_force_dt<a id="td_force_dt"></a>
1445
+
- *Type*: Double
1446
+
- *Description*: Time-dependent evolution force changes time step. (fs)
1447
+
- *Default*: 0.02
1448
+
1449
+
[back to top](#input-file)
1450
+
- td_vext<a id="td_vext"></a>
1373
1451
- *Type*: Integer
1374
1452
- *Description*:
1375
1453
- 1: add a laser material interaction (extern laser field).
1376
1454
- 0: no extern laser field.
1377
1455
- *Default*: 0
1378
1456
1379
1457
[back to top](#input-file)
1380
-
- vext_dire<a id="vext-dire"></a>
1458
+
- td_vext_dire<a id="td_vext_dire"></a>
1381
1459
- *Type*: Integer
1382
1460
- *Description*:
1383
1461
- 1: the direction of external light field is along x axis.
1384
1462
- 2: the direction of external light field is along y axis.
1385
1463
- 3: the direction of external light field is along z axis.
1386
1464
- *Default*: 1
1387
1465
1466
+
[back to top](#input-file)
1467
+
- td_timescale<a id="td_timescale"></a>
1468
+
- *Type*: Double
1469
+
- *Description*: Time range of external electric field application. (fs)
0 commit comments