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
Document the charge and magnetic mixing thresholds that bypass Kerker preconditioning, and clarify that mixing_gg0_min does not change those fixed thresholds.
Copy file name to clipboardExpand all lines: docs/advanced/input_files/input-main.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1351,8 +1351,8 @@
1351
1351
### mixing_gg0
1352
1352
1353
1353
-**Type**: Real
1354
-
-**Description**: Whether to perfom Kerker scaling for chargedensity.
1355
-
->0: The high frequency wave vectors will be suppressed by multiplying a scaling factor. Setting mixing_gg0 = 1.0 is normally a good starting point. Kerker preconditioner will be automatically turned off if mixing_beta <= 0.1.
1354
+
-**Description**: Controls the Kerker preconditioner for charge-density mixing.
1355
+
->0: Enables Kerker scaling to suppress long-wavelength (small-G) charge-density fluctuations. Setting mixing_gg0 = 1.0 is normally a good starting point. This setting has no effect when mixing_beta <= 0.1 because the charge-density Kerker preconditioner is bypassed.
1356
1356
- 0: No Kerker scaling is performed.
1357
1357
1358
1358
For systems that are difficult to converge, particularly metallic systems, enabling Kerker scaling may aid in achieving convergence.
@@ -1361,13 +1361,17 @@
1361
1361
### mixing_gg0_mag
1362
1362
1363
1363
-**Type**: Real
1364
-
-**Description**: Whether to perfom Kerker preconditioner of magnetic density. Note: we do not recommand to open Kerker preconditioner of magnetic density unless the system is too hard to converge.
1364
+
-**Description**: Controls the Kerker preconditioner for magnetic-density mixing. It is disabled by default and is generally only recommended for systems whose magnetic density is difficult to converge.
1365
+
1366
+
The magnetic-density Kerker preconditioner is bypassed when mixing_beta_mag <= 0.1, so mixing_gg0_mag has no effect in that regime. It is also unavailable when the charge-density Kerker preconditioner itself is bypassed.
1365
1367
-**Default**: 0.0
1366
1368
1367
1369
### mixing_gg0_min
1368
1370
1369
1371
-**Type**: Real
1370
-
-**Description**: The minimum kerker coefficient.
1372
+
-**Description**: Sets the lower bound used by the Kerker filter. The lower bound is evaluated as mixing_gg0_min / mixing_beta for charge-density mixing and mixing_gg0_min / mixing_beta_mag for magnetic-density mixing.
1373
+
1374
+
In the current implementation, the automatic bypass thresholds are fixed independently of mixing_gg0_min: charge-density Kerker is bypassed when mixing_beta <= 0.1, and magnetic-density Kerker is bypassed when mixing_beta_mag <= 0.1. Changing mixing_gg0_min does not change these thresholds or re-enable Kerker.
Copy file name to clipboardExpand all lines: docs/parameters.yaml
+8-4Lines changed: 8 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -765,8 +765,8 @@ parameters:
765
765
category: Electronic structure
766
766
type: Real
767
767
description: |
768
-
Whether to perfom Kerker scaling for chargedensity.
769
-
* >0: The high frequency wave vectors will be suppressed by multiplying a scaling factor. Setting mixing_gg0 = 1.0 is normally a good starting point. Kerker preconditioner will be automatically turned off if mixing_beta <= 0.1.
768
+
Controls the Kerker preconditioner for charge-density mixing.
769
+
* >0: Enables Kerker scaling to suppress long-wavelength (small-G) charge-density fluctuations. Setting mixing_gg0 = 1.0 is normally a good starting point. This setting has no effect when mixing_beta <= 0.1 because the charge-density Kerker preconditioner is bypassed.
770
770
* 0: No Kerker scaling is performed.
771
771
772
772
For systems that are difficult to converge, particularly metallic systems, enabling Kerker scaling may aid in achieving convergence.
@@ -777,15 +777,19 @@ parameters:
777
777
category: Electronic structure
778
778
type: Real
779
779
description: |
780
-
Whether to perfom Kerker preconditioner of magnetic density. Note: we do not recommand to open Kerker preconditioner of magnetic density unless the system is too hard to converge.
780
+
Controls the Kerker preconditioner for magnetic-density mixing. It is disabled by default and is generally only recommended for systems whose magnetic density is difficult to converge.
781
+
782
+
The magnetic-density Kerker preconditioner is bypassed when mixing_beta_mag <= 0.1, so mixing_gg0_mag has no effect in that regime. It is also unavailable when the charge-density Kerker preconditioner itself is bypassed.
781
783
default_value: "0.0"
782
784
unit: ""
783
785
availability: ""
784
786
- name: mixing_gg0_min
785
787
category: Electronic structure
786
788
type: Real
787
789
description: |
788
-
The minimum kerker coefficient.
790
+
Sets the lower bound used by the Kerker filter. The lower bound is evaluated as mixing_gg0_min / mixing_beta for charge-density mixing and mixing_gg0_min / mixing_beta_mag for magnetic-density mixing.
791
+
792
+
In the current implementation, the automatic bypass thresholds are fixed independently of mixing_gg0_min: charge-density Kerker is bypassed when mixing_beta <= 0.1, and magnetic-density Kerker is bypassed when mixing_beta_mag <= 0.1. Changing mixing_gg0_min does not change these thresholds or re-enable Kerker.
Copy file name to clipboardExpand all lines: source/source_io/module_parameter/read_input_item_elec_stru.cpp
+8-4Lines changed: 8 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -711,8 +711,8 @@ For systems that are difficult to converge, one could try increasing the value o
711
711
item.annotation = "mixing parameter in kerker";
712
712
item.category = "Electronic structure";
713
713
item.type = "Real";
714
-
item.description = R"(Whether to perfom Kerker scaling for chargedensity.
715
-
* >0: The high frequency wave vectors will be suppressed by multiplying a scaling factor. Setting mixing_gg0 = 1.0 is normally a good starting point. Kerker preconditioner will be automatically turned off if mixing_beta <= 0.1.
714
+
item.description = R"(Controls the Kerker preconditioner for charge-density mixing.
715
+
* >0: Enables Kerker scaling to suppress long-wavelength (small-G) charge-density fluctuations. Setting mixing_gg0 = 1.0 is normally a good starting point. This setting has no effect when mixing_beta <= 0.1 because the charge-density Kerker preconditioner is bypassed.
716
716
* 0: No Kerker scaling is performed.
717
717
718
718
For systems that are difficult to converge, particularly metallic systems, enabling Kerker scaling may aid in achieving convergence.)";
@@ -727,7 +727,9 @@ For systems that are difficult to converge, particularly metallic systems, enabl
727
727
item.annotation = "mixing parameter in kerker";
728
728
item.category = "Electronic structure";
729
729
item.type = "Real";
730
-
item.description = "Whether to perfom Kerker preconditioner of magnetic density. Note: we do not recommand to open Kerker preconditioner of magnetic density unless the system is too hard to converge.";
730
+
item.description = R"(Controls the Kerker preconditioner for magnetic-density mixing. It is disabled by default and is generally only recommended for systems whose magnetic density is difficult to converge.
731
+
732
+
The magnetic-density Kerker preconditioner is bypassed when mixing_beta_mag <= 0.1, so mixing_gg0_mag has no effect in that regime. It is also unavailable when the charge-density Kerker preconditioner itself is bypassed.)";
731
733
item.default_value = "0.0";
732
734
item.unit = "";
733
735
item.availability = "";
@@ -739,7 +741,9 @@ For systems that are difficult to converge, particularly metallic systems, enabl
739
741
item.annotation = "the minimum kerker coefficient";
740
742
item.category = "Electronic structure";
741
743
item.type = "Real";
742
-
item.description = "The minimum kerker coefficient.";
744
+
item.description = R"(Sets the lower bound used by the Kerker filter. The lower bound is evaluated as mixing_gg0_min / mixing_beta for charge-density mixing and mixing_gg0_min / mixing_beta_mag for magnetic-density mixing.
745
+
746
+
In the current implementation, the automatic bypass thresholds are fixed independently of mixing_gg0_min: charge-density Kerker is bypassed when mixing_beta <= 0.1, and magnetic-density Kerker is bypassed when mixing_beta_mag <= 0.1. Changing mixing_gg0_min does not change these thresholds or re-enable Kerker.)";
0 commit comments