Skip to content

Commit b5c32c2

Browse files
authored
Merge pull request #855 from caic99/develop
Doc: Format markdown files.
2 parents c75eda3 + 3aec82c commit b5c32c2

File tree

4 files changed

+1200
-1284
lines changed

4 files changed

+1200
-1284
lines changed

doc/features.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
# Features
2+
23
Here we summarize several features of ABACUS:
3-
- [Basis sets](#basis-sets)
4-
- [Pseudopotentials](#pseudopotentials)
5-
- [Boundary conditions and k-points](#boundary-conditions-and-k-points)
6-
- [Kohn-Sham solver](#kohn-sham-solver)
7-
- [Exchange-correlation functionals](#exchange-correlation-functionals)
4+
5+
- [Basis sets](#basis-sets)
6+
- [Pseudopotentials](#pseudopotentials)
7+
- [Boundary conditions and k-points](#boundary-conditions-and-k-points)
8+
- [Kohn-Sham solver](#kohn-sham-solver)
9+
- [Exchange-correlation functionals](#exchange-correlation-functionals)
810

911
[back to main page](../README.md)
1012

1113
## Basis sets
1214

1315
In ABACUS, there are 3 types of basis set choices:
16+
1417
1. PW
1518

1619
Plane wave basis.
@@ -22,15 +25,15 @@ In ABACUS, there are 3 types of basis set choices:
2225
3. LCAO_in_PW
2326

2427
Expand the atomic basis in terms of plane waves, and use plane-waves techniques to construct the Hamiltonian matrix, but solve the eigenvalue problem within the LCAO basis set.
25-
28+
2629
In the INPUT file, the keyword basis_type controls what basis type to use:
2730

2831
1. PW: basis_type = pw
2932
2. LCAO: basis_type = lcao
3033
3. LCAO_in_PW: basis_type = lcao_in_pw
3134

3235
The default value of basis_type is pw. When choosing lcao or lcao_in_pw, the user should prepare atomic orbitals first.
33-
36+
3437
Information on the keyword basis_type can also be found in [the list of input keywords](input-main.md#basis-type).
3538

3639
We also provide a [detailed instruction](generate-basis.md) on generating basis functions.
@@ -88,10 +91,11 @@ Information on the keyword ks_solver is also given in the [list of input variabl
8891
[back to top](#features)
8992

9093
## Exchange-correlation functionals
94+
9195
In our package, the XC functional can either be set explicitly using the dft_functional keyword as explained below, or set implicitly according to the XC functional information read from pseudopotential file. The user should ensure that the XC functional set in the INPUT file and the pseudopotential file are consistent. **Currently only LDA and GGA are supported.**
9296

9397
To be specific, we briefly explain the format of the pseudopotential file and the key information it contains. There are a few lines in Si’s GGA pseudopotential file Si_ONCV_PBE-1.0.upf:
94-
98+
9599
```
96100
<PP_HEADER
97101
generated="Generated using ONCVPSP code by D. R. Hamann"
@@ -115,12 +119,13 @@ rho_cutoff=" 6.01000000000E+00"
115119
```
116120

117121
The user can set the XC functional type in INPUT file with the parameter, dft_functional:
122+
118123
- none: the functional is specified implicity by the input pseudopotential file
119124
- lda: Perdew-Zunger local density approximation
120125
- pbe: Perdew-Burke-Ernzerhof general gradient approximation
121-
126+
122127
If the functional specified by the user is not consistent with the pseudopotential file, the program will stop with an error message.
123128

124129
Information on the keyword ks_solver is also given in the [list of input variables](input-main.md#dft-functional).
125130

126-
[back to top](#features)
131+
[back to top](#features)

doc/input-kpt.md

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,45 @@
11
# KPT file
2+
23
- [Generate k-mesh automatically](#generate-k-mesh-automatically)
34
- [Set k-points explicitly](#set-k-points-explicitly)
45
- [Band structure calculations](#band-structure-calculations)
56

6-
77
[back to main page](../README.md)
88

99
ABACUS uses periodic boundary conditions for both crystals and finite systems. For isolated systems, such as atoms, molecules, clusters, etc., one uses the so-called supercell model. Lattice vectors of the supercell are set in the `STRU` file. For the input k-point (`KPT`) file, the file should either contain the k-point coordinates and weights or the mesh size for creating the k-point gird. Both options are allowed in `ABACUS`.
1010

11-
## Generate k-mesh automatically
11+
## Generate k-mesh automatically
12+
1213
To generate k-mesh automatically, it requires the input subdivisions of the Brillouin zone
1314
in each direction and the origin for the k-mesh. ABACUS uses the Monkhorst-Pack
1415
method to generate k-mesh, and the following is an example input k-point (`KPT`) file used in
1516
`ABACUS`.
17+
1618
```
1719
K_POINTS //keyword for start
1820
0 //total number of k-point, `0' means generate automatically
1921
Gamma //which kind of Monkhorst-Pack method, `Gamma' or `MP'
2022
2 2 2 0 0 0 //first three number: subdivisions along recpri. vectors
21-
last three number: shift of the mesh
23+
//last three number: shift of the mesh
2224
```
25+
2326
In the above example, the first line is a keyword, and it can be set as `K_POINTS`, or `KPOINTS` or just `K`.
2427
The second line is an integer, and its value determines how to get k-points. In this example, `0` means using Monkhorst-Pack (MP) method to generate k-points automatically.
2528

26-
The third line tells the input type of k-points, Gamma or ‘MP’, different Monkhorst Pack
29+
The third line tells the input type of k-points, `Gamma` or `MP`, different Monkhorst Pack
2730
(MP) method. Monkhorst-Pack (MP) is a method which uses the uniform k-points sampling in
28-
Brillouin-zone, while Gamma means the &Gamma;-centered Monkhorst-Pack method.
31+
Brillouin-zone, while `Gamma` means the &Gamma;-centered Monkhorst-Pack method.
2932
The first three numbers of the last line are integers, which give the MP k grid dimensions, and
3033
the rest three are real numbers, which give the offset of the k grid. In this example, the numbers
3134
`0 0 0` means that there is no offset, and this is the a standard 2by2by2 k grid.
3235

3336
[back to top](#kpt-file)
3437

3538
## Set k-points explicitly
39+
3640
If the user wants to set up the k-points explicitly, the input k-point file should contain
3741
the k-point coordinates and weights. An example is given as follows:
42+
3843
```
3944
K_POINTS //keyword for start
4045
8 //total number of k-point
@@ -52,22 +57,25 @@ Direct //`Direct' or `Cartesian' coordinate
5257
[back to top](#kpt-file)
5358

5459
## Band structure calculations
60+
5561
ABACUS uses specified high-symmetry directions of the Brillouin zone for band structure
5662
calculations. The third line of k-point file should start with ‘Line’ or ‘Line_Cartesian’ for
5763
line mode. ‘Line’ means the positions below are in Direct coordinates, while ‘Line_Cartesian’
5864
means in Cartesian coordinates:
65+
5966
```
60-
K_POINTS # keyword for start
61-
6 # number of high symmetry lines
62-
Line # line-mode
63-
0.5 0.0 0.5 20 # X
64-
0.0 0.0 0.0 20 # G
65-
0.5 0.5 0.5 20 # L
66-
0.5 0.25 0.75 20 # W
67-
0.375 0.375 0.75 20 # K
68-
0.0 0.0 0.0 1 # G
67+
K_POINTS // keyword for start
68+
6 // number of high symmetry lines
69+
Line // line-mode
70+
0.5 0.0 0.5 20 // X
71+
0.0 0.0 0.0 20 // G
72+
0.5 0.5 0.5 20 // L
73+
0.5 0.25 0.75 20 // W
74+
0.375 0.375 0.75 20 // K
75+
0.0 0.0 0.0 1 // G
6976
```
77+
7078
The fourth line and the following are special k-point coordinates and number of k-points
7179
between this special k-point and the next.
7280

73-
[back to top](#kpt-file)
81+
[back to top](#kpt-file)

0 commit comments

Comments
 (0)