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: docs/advanced/input_files/input-main.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -653,7 +653,7 @@
653
653
### bndpar
654
654
655
655
-**Type**: Integer
656
-
-**Description**: Divide all processors into bndpar groups, and bands (only stochastic orbitals now) will be distributed among each group. It should be larger than 0.
656
+
-**Description**: Divide all processors into bndpar groups for SDFT or the BPCG solver. bndpar must be positive, no greater than the number of MPI processes, and kpar * bndpar must divide the number of MPI processes exactly.
657
657
-**Default**: 1
658
658
659
659
### latname
@@ -1265,7 +1265,7 @@
1265
1265
-**Description**: The number of spin components of wave functions.
1266
1266
- 1: Spin degeneracy
1267
1267
- 2: Collinear spin polarized.
1268
-
- 4: For the case of noncollinear polarized, nspin will be automatically set to 4 without being specified by the user.
1268
+
- 4: Noncollinear or spin-orbit calculations. Set nspin to 4 explicitly when noncolin or lspinorb is enabled.
1269
1269
-**Default**: 1
1270
1270
1271
1271
### smearing_method
@@ -1469,7 +1469,7 @@
1469
1469
-**Type**: Boolean
1470
1470
-**Description**: Whether to consider spin-orbit coupling (SOC) effect in the calculation.
1471
1471
- True: Consider spin-orbit coupling effect. When enabled:
1472
-
- nspin is automatically set to 4 (noncollinear spin representation)
1472
+
- nspin must be explicitly set to 4 (noncollinear spin representation)
1473
1473
- Symmetry is automatically disabled (SOC breaks inversion symmetry)
1474
1474
- Requires full-relativistic pseudopotentials with has_so=true in the UPF header
1475
1475
- False: Do not consider spin-orbit coupling effect.
@@ -1481,7 +1481,7 @@
1481
1481
-**Type**: Boolean
1482
1482
-**Description**: Whether to allow non-collinear magnetic moments, where magnetization can point in arbitrary directions (x, y, z components) rather than being constrained to the z-axis.
1483
1483
- True: Allow non-collinear polarization. When enabled:
1484
-
- nspin is automatically set to 4
1484
+
- nspin must be explicitly set to 4
1485
1485
- Wave function dimension is doubled (npol=2), and the number of occupied states is doubled
1486
1486
- Charge density has 4 components (Pauli spin matrices)
1487
1487
- Cannot be used with gamma_only=true
@@ -1535,8 +1535,8 @@
1535
1535
-**Type**: Integer or string
1536
1536
-**Availability**: *esolver_type = sdft*
1537
1537
-**Description**: The number of stochastic orbitals
1538
-
-> 0: Perform stochastic DFT. Increasing the number of bands improves accuracy and reduces stochastic errors; To perform mixed stochastic-deterministic DFT, you should set nbands, which represents the number of KS orbitals.
1539
-
- 0: Perform Kohn-Sham DFT.
1538
+
-1-1000000: Perform stochastic DFT. Increasing the number of bands improves accuracy and reduces stochastic errors; To perform mixed stochastic-deterministic DFT, you should set nbands, which represents the number of KS orbitals.
1539
+
- 0: Invalid. Use all for the complete-basis SDFT mode.
1540
1540
- all: All complete basis sets are used to replace stochastic orbitals with the Chebyshev method (CT), resulting in the same results as KSDFT without stochastic errors.
Copy file name to clipboardExpand all lines: docs/advanced/scf/spin.md
+11-10Lines changed: 11 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,11 +30,11 @@ If **"nupdown"** is set to non-zero, number of spin-up and spin-down electrons w
30
30
31
31
## Noncollinear Spin Polarized Calculations
32
32
The spin non-collinear polarization calculation corresponds to setting **"noncolin 1"**, in which case the coupling between spin up and spin down will be taken into account.
33
-
In this case, nspin is automatically set to 4, which is usually not required to be specified manually.
33
+
In this case, **"nspin 4"** must also be specified. ABACUS reports an input error instead of silently changing an incompatible or omitted nspin value.
34
34
The weight of each band will not change, but the number of occupied states will be double.
35
35
If the nbands parameter is set manually, it is generally set to twice what it would be when nspin<4.
36
36
37
-
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.
37
+
In general, non-collinear magnetic moment settings are often used in calculations considering [SOC effects](#soc-effects). When **"lspinorb 1"**is set in INPUT, **"nspin 4"** is also required.
38
38
39
39
Note: different settings for "noncolin" and "lspinorb" correspond to different calculations:
40
40
@@ -119,22 +119,22 @@ Example from a full-relativistic UPF file:
119
119
-**PseudoDOJO**: Provides both scalar and full-relativistic versions
When using SOC or non-collinear calculations, ABACUS automatically adjusts several parameters:
124
+
When using SOC or non-collinear calculations, set the required spin representation explicitly. ABACUS still derives internal spin state and some related settings after validating the input:
125
125
126
126
### When `lspinorb=true`:
127
-
1.**nspin**: Automatically set to 4 (noncollinear spin representation)
127
+
1.**nspin**: Must be explicitly set to 4 (noncollinear spin representation)
128
128
2.**Symmetry**: Automatically disabled (`symm_flag=-1`) because SOC breaks inversion symmetry
129
129
3.**Magnetization**: NOT automatically set when `noncolin=0` (implies non-magnetic material with SOC)
130
130
131
131
### When `noncolin=true`:
132
-
1.**nspin**: Automatically set to 4
132
+
1.**nspin**: Must be explicitly set to 4
133
133
2.**npol**: Set to 2 (wave function has two spinor components)
134
134
3.**Magnetization**: Automatically set if user provides zero values (unless `lspinorb=1` and `noncolin=0`)
135
135
136
136
### Important Notes:
137
-
- You do NOT need to manually set `nspin=4` when using `lspinorb=1` or `noncolin=1`
137
+
- You must set `nspin=4` when using `lspinorb=1` or `noncolin=1`; missing or incompatible values are rejected during input validation
138
138
- Symmetry operations are incompatible with SOC, so they are automatically turned off
139
139
- For `lspinorb=1, noncolin=0`: This is a special case for non-magnetic materials with SOC, where magnetization is not initialized
140
140
@@ -172,7 +172,7 @@ basis_type pw
172
172
ecutwfc 50
173
173
lspinorb 1 # Enable SOC
174
174
noncolin 0 # No non-collinear magnetism
175
-
# nspin will be automatically set to 4
175
+
nspin 4 # Required spinor representation
176
176
# symmetry will be automatically disabled
177
177
```
178
178
@@ -185,7 +185,7 @@ calculation scf
185
185
basis_type lcao
186
186
lspinorb 0 # No SOC
187
187
noncolin 1 # Enable non-collinear magnetism
188
-
# nspin will be automatically set to 4
188
+
nspin 4 # Required spinor representation
189
189
# Magnetization directions should be specified in STRU file
190
190
```
191
191
@@ -199,7 +199,7 @@ basis_type pw
199
199
ecutwfc 60
200
200
lspinorb 1 # Enable SOC
201
201
noncolin 1 # Enable non-collinear magnetism
202
-
# nspin will be automatically set to 4
202
+
nspin 4 # Required spinor representation
203
203
# symmetry will be automatically disabled
204
204
# Magnetization directions should be specified in STRU file
205
205
```
@@ -213,6 +213,7 @@ calculation scf
213
213
basis_type pw
214
214
ecutwfc 50
215
215
lspinorb 1 # Enable SOC
216
+
nspin 4 # Required spinor representation
216
217
soc_lambda 0.5 # 50% SOC strength
217
218
# Useful when full SOC overestimates or underestimates experimental results
Copy file name to clipboardExpand all lines: docs/community/faq.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ To perform SOC calculations in ABACUS, follow these steps:
50
50
2.**Use full-relativistic pseudopotentials**: SOC calculations require pseudopotentials with `has_so=true` in the UPF header
51
51
- Download full-relativistic versions of SG15_ONCV pseudopotentials from [quantum-simulation.org](http://quantum-simulation.org/potentials/sg15_oncv/upf/)
52
52
- Check the UPF file header for `relativistic="full"` and `has_so="T"`
53
-
3.**Verify automatic settings**: When `lspinorb=1` is set, `nspin` is automatically set to 4 and symmetry is automatically disabled
53
+
3.**Set the spin representation**: When `lspinorb=1` is set, explicitly set `nspin=4`; symmetry is automatically disabled
54
54
55
55
**Basis set support**: Both `basis_type=pw` (plane wave) and `basis_type=lcao` (numerical atomic orbitals) support SOC calculations for both SCF and NSCF.
Copy file name to clipboardExpand all lines: docs/parameters.yaml
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -108,7 +108,7 @@ parameters:
108
108
category: System variables
109
109
type: Integer
110
110
description: |
111
-
Divide all processors into bndpar groups, and bands (only stochastic orbitals now) will be distributed among each group. It should be larger than 0.
111
+
Divide all processors into bndpar groups for SDFT or the BPCG solver. bndpar must be positive, no greater than the number of MPI processes, and kpar * bndpar must divide the number of MPI processes exactly.
112
112
default_value: "1"
113
113
unit: ""
114
114
availability: ""
@@ -661,7 +661,7 @@ parameters:
661
661
The number of spin components of wave functions.
662
662
* 1: Spin degeneracy
663
663
* 2: Collinear spin polarized.
664
-
* 4: For the case of noncollinear polarized, nspin will be automatically set to 4 without being specified by the user.
664
+
* 4: Noncollinear or spin-orbit calculations. Set nspin to 4 explicitly when noncolin or lspinorb is enabled.
665
665
default_value: "1"
666
666
unit: ""
667
667
availability: ""
@@ -906,7 +906,7 @@ parameters:
906
906
description: |
907
907
Whether to consider spin-orbit coupling (SOC) effect in the calculation.
908
908
* True: Consider spin-orbit coupling effect. When enabled:
909
-
* nspin is automatically set to 4 (noncollinear spin representation)
909
+
* nspin must be explicitly set to 4 (noncollinear spin representation)
910
910
* Symmetry is automatically disabled (SOC breaks inversion symmetry)
911
911
* Requires full-relativistic pseudopotentials with has_so=true in the UPF header
912
912
* False: Do not consider spin-orbit coupling effect.
@@ -920,7 +920,7 @@ parameters:
920
920
description: |
921
921
Whether to allow non-collinear magnetic moments, where magnetization can point in arbitrary directions (x, y, z components) rather than being constrained to the z-axis.
922
922
* True: Allow non-collinear polarization. When enabled:
923
-
* nspin is automatically set to 4
923
+
* nspin must be explicitly set to 4
924
924
* Wave function dimension is doubled (npol=2), and the number of occupied states is doubled
925
925
* Charge density has 4 components (Pauli spin matrices)
926
926
* Cannot be used with gamma_only=true
@@ -2198,8 +2198,8 @@ parameters:
2198
2198
type: Integer or string
2199
2199
description: |
2200
2200
The number of stochastic orbitals
2201
-
* > 0: Perform stochastic DFT. Increasing the number of bands improves accuracy and reduces stochastic errors; To perform mixed stochastic-deterministic DFT, you should set nbands, which represents the number of KS orbitals.
2202
-
* 0: Perform Kohn-Sham DFT.
2201
+
* 1-1000000: Perform stochastic DFT. Increasing the number of bands improves accuracy and reduces stochastic errors; To perform mixed stochastic-deterministic DFT, you should set nbands, which represents the number of KS orbitals.
2202
+
* 0: Invalid. Use all for the complete-basis SDFT mode.
2203
2203
* all: All complete basis sets are used to replace stochastic orbitals with the Chebyshev method (CT), resulting in the same results as KSDFT without stochastic errors.
0 commit comments