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
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`.
10
8
11
9
## Gamma-only Calculations
@@ -39,7 +37,7 @@ The first three numbers of the last line are integers, which give the MP k grid
39
37
the rest three are real numbers, which give the offset of the k grid. In this example, the numbers
40
38
`0 0 0` means that there is no offset, and this is the a standard 2by2by2 k grid.
41
39
42
-
[back to top](#kpt-file)
40
+
[back to top](#the-kpt-file)
43
41
44
42
## Set k-points explicitly
45
43
@@ -60,7 +58,7 @@ Direct //`Direct' or `Cartesian' coordinate
60
58
0.5 0.5 0.5 0.125
61
59
```
62
60
63
-
[back to top](#kpt-file)
61
+
[back to top](#the-kpt-file)
64
62
65
63
## Band structure calculations
66
64
@@ -84,4 +82,4 @@ Line // line-mode
84
82
The fourth line and the following are special k-point coordinates and number of k-points
Copy file name to clipboardExpand all lines: docs/advanced/input_files/stru.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,6 @@
5
5
-[latname fcc](#latname-fcc)
6
6
-[Structure of the file](#structure-of-the-file)
7
7
8
-
[back to main page](../README.md)
9
-
10
8
## Examples
11
9
12
10
The `STRU` file contains the information about the lattice geometry, the name(s) and/or location(s) of the pseudopotential and numerical orbital files, as well as the structural information about the system.
Copy file name to clipboardExpand all lines: docs/advanced/opt.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ In ABACUS, we implemented the CG method for doing fixed-cell structural relaxati
41
41
Apart from conventional optimization where all degrees of freedom are allowed to move, we also offer the option of doing constrained optimization in ABACUS.
42
42
43
43
### Fixing Atomic Positions
44
-
Users may note that in the above-mentioned [example](), the atomic positions in STRU file are given along with three integers:
44
+
Users may note that in the above-mentioned example, the atomic positions in STRU file are given along with three integers:
45
45
46
46
```
47
47
Al
@@ -69,4 +69,4 @@ then the first Al atom will not be allowed to move in z direction.
69
69
Fixing atomic position is sometimes helpful during relaxation of isolated molecule/cluster, to prevent the system from drifting in space.
70
70
71
71
### Fixing Cell Parameters
72
-
Sometimes we want to do variable-cell relaxation with some of the cell degrees of freedom fixed. This is achieved by the [fixed_axes](./input_files/input-main.md#fixed_axes) keyword. We offer the options of fixing certain axis(axes), or fixing the volume.
72
+
Sometimes we want to do variable-cell relaxation with some of the cell degrees of freedom fixed. This is achieved by the [fixed_axes](./input_files/input-main.md#fixed_axes) keyword. We offer the options of fixing certain axis(axes), or fixing the volume.
Copy file name to clipboardExpand all lines: docs/advanced/scf/construct_H.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ Here, we use a simple [example calculation](https://github.com/deepmodeling/abac
45
45
dft_functional SCAN
46
46
```
47
47
48
-
Note that in the case of PBE and SCAN, we are using 'short-hand' names to represent the entire functional, which is made up of individual exchange and correlation components. A complete list of 'short-hand' expressions supported by ABACUS can be found in [source code](../source/module_xc/xc_functional.cpp).
48
+
Note that in the case of PBE and SCAN, we are using 'short-hand' names to represent the entire functional, which is made up of individual exchange and correlation components. A complete list of 'short-hand' expressions supported by ABACUS can be found in [source code](../../../source/module_xc/xc_functional.cpp).
49
49
50
50
Apart from the 'short-hand' names, ABACUS also allow supplying exchange-correlation functionals as combinations of LIBXC keywords for functional components, joined by plus sign, for example, setting:
51
51
@@ -84,6 +84,6 @@ Here, we use a simple [example calculation](https://github.com/deepmodeling/abac
84
84
85
85
Conventional functionals, e.g., L(S)DA and GGAs, encounter failures in strongly correlated systems, usually characterized by partially filled *d*/*f* shells. These include transition metals (TM) and their oxides, rare-earth compounds, and actinides, to name a few, where L(S)DA/GGAs typically yield quantitatively or even qualitatively wrong results. To address this failure, an efficient and successful method named DFT+*U*, which inherits the efficiency of L(S)DA/GGA but gains the strength of the Hubbard model in describing the physics of strongly correlatedsystems, has been developed.
86
86
87
-
Now the DFT+*U* method is accessible in ABACUS. The details of the DFT+*U* method could be found in this [paper](https://doi.org/10.1063/5.0090122). It should be noted that the DFT+*U* works only within the NAO scheme, which means that the value of the keyword `basis_type` must be lcao when DFT+*U* is called. To turn on DFT+*U*, users need to set the value of the `dft_plus_u` keyword in the `INPUT` file to be 1. All relevant parmeters used in DFT+*U* calculations are listed in the [DFT+*U* correction](../input_files/input-main.md#DFTU-correction) part of the [list of keywords](../input_files/input-main.md).
87
+
Now the DFT+*U* method is accessible in ABACUS. The details of the DFT+*U* method could be found in this [paper](https://doi.org/10.1063/5.0090122). It should be noted that the DFT+*U* works only within the NAO scheme, which means that the value of the keyword `basis_type` must be lcao when DFT+*U* is called. To turn on DFT+*U*, users need to set the value of the `dft_plus_u` keyword in the `INPUT` file to be 1. All relevant parmeters used in DFT+*U* calculations are listed in the [DFT+*U* correction](../input_files/input-main.md#dftu-correction) part of the [list of keywords](../input_files/input-main.md).
88
88
89
-
Examples of DFT+*U* calculations are provided in this [directory](https://github.com/deepmodeling/abacus-develop/tree/develop/examples/dft_plus_u).
89
+
Examples of DFT+*U* calculations are provided in this [directory](https://github.com/deepmodeling/abacus-develop/tree/develop/examples/dft_plus_u).
Copy file name to clipboardExpand all lines: docs/advanced/scf/hsolver.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ When "basis_type = pw", `ks_solver` can be `cg` or `dav`. The default setting `c
9
9
When "basis_type = lcao", `ks_solver` can be `genelpa` or `scalapack_gvx`. The default setting `genelpa` is recommended, which is based on ELPA (EIGENVALUE SOLVERS FOR PETAFLOP APPLICATIONS) (https://elpa.mpcdf.mpg.de/) and the kernel is auto choosed by GENELPA(https://github.com/pplab/GenELPA), usually faster than the setting of "scalapack_gvx", which is based on ScaLAPACK(Scalable Linear Algebra PACKage)
10
10
11
11
## Stochasic DFT
12
-
We support stochastic DFT calculation (SDFT) or mixed stochastic-deterministic DFT (MDFT) with plane-wave basis [[Phys. Rev. B 106, 125132 (2022)](https://doi.org/10.1103/PhysRevB.106.125132)]. Different from traditional KSDFT with the explicit diagonalization method, SDFT and MDFT calculate physical quantities with trace of the corresponding operators. The advantages of SDFT and MDFT compared to the traditional KSDFT are the ability to simulate larger sizes and higher temperatures. In our package, SDFT and MDFT can be used by setting the `calculation` parameter to `sto-scf` or `sto-md` for SCF calculations or MD calculations. To start with, you can refer to an easy [example](../../examples/stochastic.md) and an explanation of the [input variables](../../input-main.md#electronic-structure-sdft).
12
+
We support stochastic DFT calculation (SDFT) or mixed stochastic-deterministic DFT (MDFT) with plane-wave basis [[Phys. Rev. B 106, 125132 (2022)](https://doi.org/10.1103/PhysRevB.106.125132)]. Different from traditional KSDFT with the explicit diagonalization method, SDFT and MDFT calculate physical quantities with trace of the corresponding operators. The advantages of SDFT and MDFT compared to the traditional KSDFT are the ability to simulate larger sizes and higher temperatures. In our package, SDFT and MDFT can be used by setting the `calculation` parameter to `sto-scf` or `sto-md` for SCF calculations or MD calculations. To start with, you can refer to two [examples](https://github.com/deepmodeling/abacus-develop/tree/develop/examples/stochastic) and an explanation of the [input variables](../input_files/input-main.md#electronic-structure-sdft).
13
13
14
14
When we have a hamiltonian, the electronic density can be calculated with:
Here the number of KS orbitals $N_\phi$ is controlled by the parameter `nbands` while the number of stochastic orbitals $N_\chi$ is controlled by `nbands_sto`.
33
33
34
-
Besides, although SDFT does not diagonalize the hamiltonian, it can also caluclate DOS and electronic conductivities with parameters `out_dos` and `cal_cond` separately.
34
+
Besides, although SDFT does not diagonalize the hamiltonian, it can also caluclate DOS and electronic conductivities with parameters `out_dos` and `cal_cond` separately.
Copy file name to clipboardExpand all lines: docs/advanced/scf/spin.md
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Spin-polarization
1
+
# Spin-polarization and SOC
2
2
3
3
## Non-spin-polarized Calculations
4
4
Setting of **"nspin 1"** in INPUT file means calculation with non-polarized spin.
@@ -25,7 +25,7 @@ In this case, nspin is automatically set to 4, which is usually not required to
25
25
The weight of each band will not change, but the number of occupied states will be double.
26
26
If the nbands parameter is set manually, it is generally set to twice what it would be when nspin<4.
27
27
28
-
In general, non-collinear magnetic moment settings are often used in calculations considering [SOC effects](./soc.md). When **"lspinorb 1"** in INPUT file, "nspin" is also automatically set to 4.
28
+
In general, non-collinear magnetic moment settings are often used in calculations considering [SOC effects](#soc-effects). When **"lspinorb 1"** in INPUT file, "nspin" is also automatically set to 4.
29
29
Note: different settings for "noncolin" and "lspinorb" correspond to different calculations:
30
30
- noncolin=0 lspinorb=0 nspin<4 :
31
31
Non-collinear magnetic moments and SOC effects are not considered.
@@ -42,3 +42,30 @@ The SOC effect and non-collinear magnetic moment are both calculated.
42
42
- Continuation job for "nspin 1" need file "SPIN1_CHG" which is generated by setting "out_chg=1" in task before. By setting "init_chg file" in new job's INPUT file, charge density will start from file but not atomic.
43
43
- Continuation job for "nspin 2" need files "SPIN1_CHG" and "SPIN2_CHG" which are generated by "out_chg 1" with "nspin 2", and refer to spin-up and spin-down charge densities respectively. It should be note that reading "SPIN1_CHG" only for the continuation target magnetic moment job is not supported now.
44
44
- Continuation job for "nspin 4" need files "SPIN%s_CHG", where %s in {1,2,3,4}, which are generated by "out_chg 1" with any variable setting leading to 'nspin'=4, and refer to charge densities in Pauli spin matrixes. It should be note that reading charge density files printing by 'nspin'=2 case is supported, which means only $\sigma_{tot}$ and $\sigma_{z}$ are read.
45
+
46
+
# SOC Effects
47
+
## SOC
48
+
`lspinorb` is used for control whether or not SOC(spin-orbit coupling) effects should be considered.
49
+
50
+
Both `basis_type=pw` and `basis_type=lcao` support `scf` and `nscf` calculation with SOC effects.
51
+
52
+
Atomic forces and cell stresses can not be calculated with SOC effects yet.
53
+
54
+
## Pseudopotentials and Numerical Atomic Orbitals
55
+
For Norm-Conserving pseudopotentials, there are differences between SOC version and non-SOC version.
56
+
57
+
Please check your pseudopotential files before calculating.
58
+
In `PP_HEADER` part, keyword `has_so=1` and `relativistic="full"` refer to SOC effects have been considered,
59
+
which would lead to different `PP_NONLOCAL` and `PP_PSWFC` parts.
60
+
Please be careful that `relativistic="full"` version can be used for SOC or non-SOC calculation, but `relativistic="scalar"` version only can be used for non-SOC calculation.
61
+
When full-relativistic pseudopotential is used for non-SOC calculation, ABACUS will automatically transform it to scalar-relativistic version.
62
+
63
+
Numerical atomic orbitals in ABACUS are unrelated with spin, and same orbital file can be used for SOC and non-SOC calculation.
64
+
65
+
## Partial-relativistic SOC Effect
66
+
Sometimes, for some real materials, both scalar-relativistic and full-relativistic can not describe the exact spin-orbit coupling.
67
+
Artificial modulation can help for these cases.
68
+
69
+
`soc_lambda`, which has value range [0.0, 1.0] , is used for modulate SOC effect.
70
+
In particular, `soc_lambda 0.0` refers to scalar-relativistic case and `soc_lambda 1.0` refers to full-relativistic case.
0 commit comments