Skip to content

Commit de86fa5

Browse files
authored
Merge pull request #206 from deepmodeling/develop
Merge: update 3.0.0 docs to abacusmodeling/abacus-develop.git
2 parents 1c0dee8 + 777baca commit de86fa5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1688
-2407
lines changed

docs/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If you would like to implement a new feature, please submit an issue with a prop
2222

2323
## Structure of the package
2424

25-
Please refer to [our instructions](./install.md) on how to installing ABACUS.
25+
Please refer to [our instructions](./quick_start/easy_install.md) on how to installing ABACUS.
2626
The source code of ABACUS is based on several modules. Under the ABACUS root directory, there are the following folders:
2727

2828
- `cmake`: relevant files for finding required packages when compiling the code with cmake;

docs/advanced/input_files/input-main.md

Lines changed: 294 additions & 294 deletions
Large diffs are not rendered by default.

docs/advanced/input_files/kpt.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
- [Set k-points explicitly](#set-k-points-explicitly)
55
- [Band structure calculations](#band-structure-calculations)
66

7-
[back to main page](../README.md)
8-
97
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`.
108

119
## Gamma-only Calculations
@@ -39,7 +37,7 @@ The first three numbers of the last line are integers, which give the MP k grid
3937
the rest three are real numbers, which give the offset of the k grid. In this example, the numbers
4038
`0 0 0` means that there is no offset, and this is the a standard 2by2by2 k grid.
4139

42-
[back to top](#kpt-file)
40+
[back to top](#the-kpt-file)
4341

4442
## Set k-points explicitly
4543

@@ -60,7 +58,7 @@ Direct //`Direct' or `Cartesian' coordinate
6058
0.5 0.5 0.5 0.125
6159
```
6260

63-
[back to top](#kpt-file)
61+
[back to top](#the-kpt-file)
6462

6563
## Band structure calculations
6664

@@ -84,4 +82,4 @@ Line // line-mode
8482
The fourth line and the following are special k-point coordinates and number of k-points
8583
between this special k-point and the next.
8684

87-
[back to top](#kpt-file)
85+
[back to top](#the-kpt-file)

docs/advanced/input_files/stru.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
- [latname fcc](#latname-fcc)
66
- [Structure of the file](#structure-of-the-file)
77

8-
[back to main page](../README.md)
9-
108
## Examples
119

1210
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.

docs/advanced/opt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ In ABACUS, we implemented the CG method for doing fixed-cell structural relaxati
4141
Apart from conventional optimization where all degrees of freedom are allowed to move, we also offer the option of doing constrained optimization in ABACUS.
4242

4343
### 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:
4545

4646
```
4747
Al
@@ -69,4 +69,4 @@ then the first Al atom will not be allowed to move in z direction.
6969
Fixing atomic position is sometimes helpful during relaxation of isolated molecule/cluster, to prevent the system from drifting in space.
7070

7171
### 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.

docs/advanced/scf/construct_H.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Here, we use a simple [example calculation](https://github.com/deepmodeling/abac
4545
dft_functional SCAN
4646
```
4747
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).
4949
5050
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:
5151
@@ -84,6 +84,6 @@ Here, we use a simple [example calculation](https://github.com/deepmodeling/abac
8484
8585
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.
8686
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).
8888
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).

docs/advanced/scf/hsolver.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ When "basis_type = pw", `ks_solver` can be `cg` or `dav`. The default setting `c
99
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)
1010

1111
## 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).
1313

1414
When we have a hamiltonian, the electronic density can be calculated with:
1515

@@ -31,4 +31,4 @@ $\ket{\tilde\chi_i}=\ket{\chi_i}-\sum_{n=1}^{N_\phi}\braket{\phi_n|\chi_i}\ket{\
3131

3232
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`.
3333

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.

docs/advanced/scf/soc.md

Lines changed: 0 additions & 25 deletions
This file was deleted.

docs/advanced/scf/spin.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Spin-polarization
1+
# Spin-polarization and SOC
22

33
## Non-spin-polarized Calculations
44
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
2525
The weight of each band will not change, but the number of occupied states will be double.
2626
If the nbands parameter is set manually, it is generally set to twice what it would be when nspin<4.
2727

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.
2929
Note: different settings for "noncolin" and "lspinorb" correspond to different calculations:
3030
- noncolin=0 lspinorb=0 nspin<4 :
3131
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.
4242
- 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.
4343
- 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.
4444
- 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.
71+

docs/examples/BSSE.md

Lines changed: 0 additions & 171 deletions
This file was deleted.

0 commit comments

Comments
 (0)