Skip to content

Commit 6accf1b

Browse files
committed
Update parameters.yaml generated by abacus
1 parent b6b0d4a commit 6accf1b

1 file changed

Lines changed: 130 additions & 41 deletions

File tree

docs/parameters.yaml

Lines changed: 130 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,20 @@ parameters:
137137
default_value: none
138138
unit: ""
139139
availability: ""
140+
- name: assume_isolated
141+
category: System variables
142+
type: String
143+
description: |
144+
Used to perform a calculation assuming an isolated system in a 3D supercell.
145+
146+
Available options are:
147+
* none: regular periodic calculation without isolated-system correction.
148+
* makov-payne, m-p, mp: compute the Makov-Payne correction to the total energy and estimate a corrected vacuum level for eigenvalue alignment. This option is available only for cubic lattices (latname = sc, fcc, or bcc).
149+
150+
Theory: G. Makov and M. C. Payne, Phys. Rev. B 51, 4014 (1995).
151+
default_value: none
152+
unit: ""
153+
availability: ""
140154
- name: init_wfc
141155
category: System variables
142156
type: String
@@ -704,14 +718,18 @@ parameters:
704718
* 0.1 or less: if convergence of SCF calculation is difficult to reach, please try 0 < mixing_beta < 0.1.
705719
706720
Note: For low-dimensional large systems, the setup of mixing_beta=0.1, mixing_ndim=20, and mixing_gg0=1.0 usually works well.
721+
722+
For spin-polarized calculations (nspin=2 or nspin=4) that are difficult to converge, try reducing both mixing_beta and mixing_beta_mag simultaneously, e.g., mixing_beta=0.1 and mixing_beta_mag=0.1 or lower.
707723
default_value: "0.8 for nspin=1, 0.4 for nspin=2 and nspin=4."
708724
unit: ""
709725
availability: ""
710726
- name: mixing_beta_mag
711727
category: Electronic structure
712728
type: Real
713729
description: |
714-
Mixing parameter of magnetic density.
730+
Mixing parameter of magnetic density for spin-polarized calculations. A lower value of mixing_beta_mag results in less influence of the magnetic density update, making the SCF calculation more stable for spin-polarized systems. However, it may require more steps to achieve convergence.
731+
732+
If SCF convergence is difficult with spin polarization (nspin=2 or nspin=4), try reducing both mixing_beta and mixing_beta_mag simultaneously, e.g., mixing_beta=0.1 and mixing_beta_mag=0.1 or lower.
715733
default_value: "4*mixing_beta, but the maximum value is 1.6."
716734
unit: ""
717735
availability: ""
@@ -823,15 +841,15 @@ parameters:
823841
category: Electronic structure
824842
type: Real
825843
description: |
826-
It's the density threshold for electronic iteration. It represents the charge density error between two sequential densities from electronic iterations. This criterion is always enabled. If `scf_ene_thr` is set, the total-energy criterion (`scf_ene_thr`) is evaluated conditionally after the charge-density criterion (`scf_thr`) is satisfied, and not on the first iteration. For local-orbital calculations, 1e-6 is usually accurate enough.
844+
It's the density threshold for electronic iteration. It represents the charge density error between two sequential densities from electronic iterations. Usually for local orbitals, usually 1e-6 may be accurate enough.
827845
default_value: "1.0e-9 (plane-wave basis), or 1.0e-7 (localized atomic orbital basis)."
828846
unit: "Ry if scf_thr_type=1, dimensionless if scf_thr_type=2"
829847
availability: ""
830848
- name: scf_ene_thr
831849
category: Electronic structure
832850
type: Real
833851
description: |
834-
It's the energy threshold for electronic iteration. The compared quantity is the total-energy difference evaluated from the charge densities before and after the `Hpsi` operation in one SCF step. It is not the same as the screen-output `EDIFF`, which is the energy difference before `Hpsi` and after charge mixing (i.e., across both `Hpsi` and charge-mixing operations).
852+
It's the energy threshold for electronic iteration. It represents the total energy error between two sequential densities from electronic iterations.
835853
default_value: "-1.0. If the user does not set this parameter, it will not take effect."
836854
unit: eV
837855
availability: ""
@@ -1686,6 +1704,14 @@ parameters:
16861704
default_value: "1.0"
16871705
unit: fs
16881706
availability: ""
1707+
- name: md_csvr_tau
1708+
category: Molecular dynamics
1709+
type: Real
1710+
description: |
1711+
The characteristic time scale for the CSVR (Canonical Sampling through Velocity Rescaling) thermostat. Larger values give weaker coupling, smaller values give stronger coupling. Recommended value: 100 * md_dt.
1712+
default_value: "100.0"
1713+
unit: fs
1714+
availability: md_thermostat = csvr
16891715
- name: md_tolerance
16901716
category: Molecular dynamics
16911717
type: Real
@@ -2848,7 +2874,18 @@ parameters:
28482874
- nspin = 1: `tau.cube`;
28492875
- nspin = 2: `taus1.cube`, and `taus2.cube`;
28502876
- nspin = 4: `taus1.cube`, `taus2.cube`, `taus3.cube`, and `taus4.cube`;
2851-
- 2: On top of 1, also output the initial charge density files with a suffix name as '_ini', such as `taus1_ini.cube`, etc.
2877+
- 2: On top of 1, also output the initial charge density files. The files are named as:
2878+
- out_freq_ion = 0:
2879+
- nspin = 1: `chg_ini.cube`;
2880+
- nspin = 2: `chgs1_ini.cube` and `chgs2_ini.cube`;
2881+
- nspin = 4: `chgs1_ini.cube`, `chgs2_ini.cube`, `chgs3_ini.cube`, and `chgs4_ini.cube`;
2882+
- output at every step (overwrite same file)
2883+
- out_freq_ion > 0:
2884+
- nspin = 1: `chgg{geom_step}_ini.cube` (e.g., `chgg1_ini.cube`);
2885+
- nspin = 2: `chgs1g{geom_step}_ini.cube` and `chgs2g{geom_step}_ini.cube`;
2886+
- nspin = 4: `chgs1g{geom_step}_ini.cube`, `chgs2g{geom_step}_ini.cube`, `chgs3g{geom_step}_ini.cube`, and `chgs4g{geom_step}_ini.cube`.
2887+
- output every out_freq_ion steps
2888+
Here, {geom_step} denotes the geometry step index, starting from 1 (geom_step = istep + 1).
28522889
- -1: Disable the charge density auto-back-up file `{suffix}-CHARGE-DENSITY.restart`, useful for large systems.
28532890
28542891
The second integer controls the precision of the charge density output. If not given, `3` is used as default. For restarting from this file and other high-precision calculations, `10` is recommended.
@@ -2869,9 +2906,17 @@ parameters:
28692906
* nspin = 4: pots1.cube, pots2.cube, pots3.cube, and pots4.cube
28702907
* 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/02_postprocessing/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential.
28712908
* 3: Apart from 1, also output the total local potential of the initial charge density. The files are named as:
2872-
* nspin = 1: pots1_ini.cube;
2873-
* nspin = 2: pots1_ini.cube and pots2_ini.cube;
2874-
* nspin = 4: pots1_ini.cube, pots2_ini.cube, pots3_ini.cube, and pots4_ini.cube
2909+
* out_freq_ion = 0:
2910+
* nspin = 1: `pot_ini.cube`;
2911+
* nspin = 2: `pots1_ini.cube` and `pots2_ini.cube`;
2912+
* nspin = 4: `pots1_ini.cube`, `pots2_ini.cube`, `pots3_ini.cube`, and `pots4_ini.cube`;
2913+
* output at every step (overwrite same file)
2914+
* out_freq_ion > 0:
2915+
* nspin = 1: `potg{geom_step}_ini.cube` (e.g., `potg1_ini.cube`);
2916+
* nspin = 2: `pots1g{geom_step}_ini.cube` and `pots2g{geom_step}_ini.cube`;
2917+
* nspin = 4: `pots1g{geom_step}_ini.cube`, `pots2g{geom_step}_ini.cube`, `pots3g{geom_step}_ini.cube`, and `pots4g{geom_step}_ini.cube`.
2918+
* output every out_freq_ion steps
2919+
Here, {geom_step} denotes the geometry step index, starting from 1 (geom_step = istep + 1).
28752920
28762921
The optional second integer controls the output precision. If not provided, the default precision is 8.
28772922
@@ -2886,17 +2931,18 @@ parameters:
28862931
type: "Boolean \\[Integer\\](optional)"
28872932
description: |
28882933
Whether to output the density matrix for each k-point into files in the folder OUT.${suffix}. For current develop versions, out_dmk writes *_nao.txt files and includes a g{istep} index in the file name:
2889-
* For gamma only case:
2890-
* nspin = 1 and 4: dmg1_nao.txt;
2891-
* nspin = 2: dms1g1_nao.txt and dms2g1_nao.txt for the two spin channels.
2892-
* For multi-k points case:
2893-
* nspin = 1 and 4: dmk1g1_nao.txt, dmk2g1_nao.txt, ...;
2894-
* nspin = 2: dmk1s1g1_nao.txt... and dmk1s2g1_nao.txt... for the two spin channels.
2895-
Here, g{istep} denotes the geometry/step index in the output file name.
2934+
* For gamma only case:
2935+
* nspin = 1 and 4: dmg1_nao.txt;
2936+
* nspin = 2: dms1g1_nao.txt and dms2g1_nao.txt for the two spin channels.
2937+
* For multi-k points case:
2938+
* nspin = 1 and 4: dmk1g1_nao.txt, dmk2g1_nao.txt, ...;
2939+
* nspin = 2: dmk1s1g1_nao.txt... and dmk1s2g1_nao.txt... for the two spin channels.
28962940
2897-
[NOTE] Version difference (develop vs 3.10-LTS):
2898-
* In develop, out_dmk supports both gamma-only and multi-k-point density-matrix output.
2899-
* In 3.10-LTS, the corresponding keyword is out_dm, and the output files are SPIN1_DM and SPIN2_DM, etc.
2941+
Here, g{istep} denotes the geometry/step index in the output file name.
2942+
2943+
[NOTE] Version difference (develop vs 3.10-LTS):
2944+
* In develop, out_dmk supports both gamma-only and multi-k-point density-matrix output.
2945+
* In 3.10-LTS, the corresponding keyword is out_dm, and the output files are SPIN1_DM and SPIN2_DM, etc.
29002946
default_value: "False"
29012947
unit: ""
29022948
availability: Numerical atomic orbital basis
@@ -3151,23 +3197,23 @@ parameters:
31513197
category: Output information
31523198
type: Boolean
31533199
description: |
3154-
Whether to print Hamiltonian matrices H(R) in npz format. The output files are named output_HR0.npz, output_HR1.npz, and so on according to spin channel. This feature requires ABACUS to be built with CNPY.
3200+
Whether to print Hamiltonian matrices H(R) in npz format. This feature does not work for gamma-only calculations.
31553201
default_value: "False"
31563202
unit: Ry
31573203
availability: Numerical atomic orbital basis (not gamma-only algorithm)
31583204
- name: out_hsr_npz
31593205
category: Output information
31603206
type: Boolean
31613207
description: |
3162-
Whether to print Hamiltonian matrices H(R) and overlap matrix S(R) in npz format. The output files are named output_SR.npz, output_HR0.npz, output_HR1.npz, and so on according to spin channel. This feature requires ABACUS to be built with CNPY.
3208+
Whether to print Hamiltonian matrices H(R) and overlap matrix S(R) in npz format. This feature does not work for gamma-only calculations.
31633209
default_value: "False"
3164-
unit: ""
3210+
unit: Ry
31653211
availability: Numerical atomic orbital basis (not gamma-only algorithm)
31663212
- name: out_dm_npz
31673213
category: Output information
31683214
type: Boolean
31693215
description: |
3170-
Whether to print density matrices DM(R) in npz format. The output files are named output_DM0.npz, output_DM1.npz, and so on according to spin channel. This feature requires ABACUS to be built with CNPY.
3216+
Whether to print density matrices DM(R) in npz format. This feature does not work for gamma-only calculations.
31713217
default_value: "False"
31723218
unit: ""
31733219
availability: Numerical atomic orbital basis (not gamma-only algorithm)
@@ -3262,12 +3308,14 @@ parameters:
32623308
description: |
32633309
Whether to output the electron localization function (ELF) in the folder `OUT.${suffix}`. The files are named as
32643310
* nspin = 1:
3265-
* elf.cube: ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i}|^2} - \frac{|\nabla\rho|^2}{8\rho}}{\frac{3}{10}(3\pi^2)^{2/3}\rho^{5/3}}$;
3311+
* elftot.cube: ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i}|^2} - \frac{|\nabla\rho|^2}{8\rho}}{\frac{3}{10}(3\pi^2)^{2/3}\rho^{5/3}}$;
32663312
* nspin = 2:
3267-
* elf1.cube, elf2.cube: ${\rm{ELF}}_\sigma = \frac{1}{1+\chi_\sigma^2}$, $\chi_\sigma = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i,\sigma}|^2} - \frac{|\nabla\rho_\sigma|^2}{8\rho_\sigma}}{\frac{3}{10}(6\pi^2)^{2/3}\rho_\sigma^{5/3}}$;
3268-
* elf.cube: ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i,\sigma}{f_i |\nabla\psi_{i,\sigma}|^2} - \sum_{\sigma}{\frac{|\nabla\rho_\sigma|^2}{8\rho_\sigma}}}{\sum_{\sigma}{\frac{3}{10}(6\pi^2)^{2/3}\rho_\sigma^{5/3}}}$;
3313+
* elfs1.cube, elfs2.cube: ${\rm{ELF}}_\sigma = \frac{1}{1+\chi_\sigma^2}$, $\chi_\sigma = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i,\sigma}|^2} - \frac{|\nabla\rho_\sigma|^2}{8\rho_\sigma}}{\frac{3}{10}(6\pi^2)^{2/3}\rho_\sigma^{5/3}}$;
3314+
* elftot.cube: ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i,\sigma}{f_i |\nabla\psi_{i,\sigma}|^2} - \sum_{\sigma}{\frac{|\nabla\rho_\sigma|^2}{8\rho_\sigma}}}{\sum_{\sigma}{\frac{3}{10}(6\pi^2)^{2/3}\rho_\sigma^{5/3}}}$;
32693315
* nspin = 4 (noncollinear):
3270-
* elf.cube: ELF for total charge density, ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i}|^2} - \frac{|\nabla\rho|^2}{8\rho}}{\frac{3}{10}(3\pi^2)^{2/3}\rho^{5/3}}$
3316+
* elftot.cube: ELF for total charge density, ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i}|^2} - \frac{|\nabla\rho|^2}{8\rho}}{\frac{3}{10}(3\pi^2)^{2/3}\rho^{5/3}}$
3317+
3318+
When `out_freq_ion > 0`, a geometry step suffix `g{#}` is appended to the file names (e.g., `elftotg1.cube`, `elfs1g1.cube`).
32713319
32723320
The second integer controls the precision of the kinetic energy density output, if not given, will use 3 as default. For purpose restarting from this file and other high-precision involved calculation, recommend to use 10.
32733321
@@ -3766,25 +3814,27 @@ parameters:
37663814
* none: no vdW correction
37673815
37683816
[NOTE] ABACUS supports automatic setting of DFT-D3 parameters for common functionals. To benefit from this feature, please specify the parameter dft_functional explicitly, otherwise the autoset procedure will crash. If not satisfied with the built-in parameters, any manual setting on vdw_s6, vdw_s8, vdw_a1 and vdw_a2 will overwrite the automatic values.
3769-
3770-
[NOTE] DFT-D4 support requires ABACUS to be configured with ENABLE_DFTD4=ON and a CMake-installed dftd4 library exporting `dftd4-config.cmake`. DFT-D4 damping parameters are loaded from the external library.
37713817
default_value: none
37723818
unit: ""
37733819
availability: ""
37743820
- name: vdw_d4_xc
37753821
category: vdW correction
37763822
type: String
37773823
description: |
3778-
Functional name passed to the DFT-D4 library to load its internal damping parameters. If set to default, ABACUS infers the functional name from dft_functional or pseudopotential metadata.
3824+
Functional name used to load DFT-D4 damping parameters from the DFT-D4 library.
3825+
If set to default, ABACUS infers the functional name from dft_functional or pseudopotential metadata.
37793826
default_value: default
37803827
unit: ""
37813828
availability: vdw_method is set to d4
37823829
- name: vdw_d4_model
37833830
category: vdW correction
37843831
type: String
37853832
description: |
3786-
DFT-D4 dispersion model used by the external DFT-D4 library. Available options are d4 for the standard D4 model and d4s for the smooth D4S model.
3787-
default_value: d4
3833+
DFT-D4 dispersion model used by the external DFT-D4 library.
3834+
Available options are:
3835+
* d4: standard D4 model
3836+
* d4s: smooth D4S model
3837+
default_value: "d4"
37883838
unit: ""
37893839
availability: vdw_method is set to d4
37903840
- name: vdw_s6
@@ -3895,7 +3945,7 @@ parameters:
38953945
category: vdW correction
38963946
type: String
38973947
description: |
3898-
Defines the cutoff radius when vdw_cutoff_type is set to radius. The default values depend on the chosen vdw_method. For DFT-D4, this controls the two-body dispersion cutoff, while the three-body cutoff is internally limited to the DFT-D4 default value of 40 Bohr.
3948+
Defines the radius of the cutoff sphere when vdw_cutoff_type is set to radius. The default values depend on the chosen vdw_method.
38993949
default_value: ""
39003950
unit: defined by vdw_radius_unit (default Bohr)
39013951
availability: vdw_cutoff_type is set to radius
@@ -3921,10 +3971,10 @@ parameters:
39213971
category: vdW correction
39223972
type: Real
39233973
description: |
3924-
The cutoff radius when calculating coordination numbers. The default is 40 Bohr for DFT-D3 and 30 Bohr for DFT-D4.
3974+
The cutoff radius when calculating coordination numbers.
39253975
default_value: "40"
39263976
unit: "defined by vdw_cn_thr_unit (default: Bohr)"
3927-
availability: vdw_method is set to d3_0, d3_bj, or d4
3977+
availability: "vdw_method is set to d3_0, d3_bj, or d4"
39283978
- name: vdw_cn_thr_unit
39293979
category: vdW correction
39303980
type: String
@@ -4269,14 +4319,6 @@ parameters:
42694319
default_value: "2"
42704320
unit: ""
42714321
availability: sc_mag_switch is true
4272-
- name: sc_scf_nmin
4273-
category: Spin-Constrained DFT
4274-
type: Integer
4275-
description: |
4276-
Minimum number of outer scf loop before initializing lambda loop
4277-
default_value: "2"
4278-
unit: ""
4279-
availability: sc_mag_switch is true
42804322
- name: alpha_trial
42814323
category: Spin-Constrained DFT
42824324
type: Real
@@ -4309,6 +4351,53 @@ parameters:
43094351
default_value: "1.0e-4"
43104352
unit: ""
43114353
availability: sc_mag_switch is true
4354+
- name: sc_direction_only
4355+
category: Spin-Constrained DFT
4356+
type: Boolean
4357+
description: |
4358+
When true, only the direction of the magnetic moment is constrained to the target direction, while the magnitude is allowed to vary freely. This is useful for studying magnetic anisotropy or when the magnitude of the moment is determined by the electronic structure rather than an external constraint.
4359+
4360+
When false (default), both the direction and magnitude of the magnetic moment are constrained to the target values.
4361+
default_value: "False"
4362+
unit: ""
4363+
availability: sc_mag_switch is true
4364+
- name: sc_lambda_strategy
4365+
category: Spin-Constrained DFT
4366+
type: String
4367+
description: |
4368+
Lambda update strategy for spin-constrained DFT:
4369+
* bfgs: BFGS quasi-Newton method
4370+
* linear_response: linear response (Scheme B)
4371+
* augmented_lagrangian: augmented Lagrangian (Scheme C)
4372+
* hybrid_delayed: hybrid delayed update (Scheme D)
4373+
* linear_scan: linear sweep of lambda for testing magnetic moment response
4374+
default_value: bfgs
4375+
unit: ""
4376+
availability: sc_mag_switch is true
4377+
- name: sc_scan_lambda_start
4378+
category: Spin-Constrained DFT
4379+
type: Float
4380+
description: |
4381+
Starting lambda value for linear_scan strategy. Only used when sc_lambda_strategy=linear_scan.
4382+
default_value: "0.0"
4383+
unit: eV/uB
4384+
availability: sc_lambda_strategy is linear_scan
4385+
- name: sc_scan_lambda_end
4386+
category: Spin-Constrained DFT
4387+
type: Float
4388+
description: |
4389+
Ending lambda value for linear_scan strategy. Only used when sc_lambda_strategy=linear_scan.
4390+
default_value: "1.0"
4391+
unit: eV/uB
4392+
availability: sc_lambda_strategy is linear_scan
4393+
- name: sc_scan_steps
4394+
category: Spin-Constrained DFT
4395+
type: Integer
4396+
description: |
4397+
Number of lambda values to scan. Only used when sc_lambda_strategy=linear_scan.
4398+
default_value: "20"
4399+
unit: ""
4400+
availability: sc_lambda_strategy is linear_scan
43124401
- name: qo_switch
43134402
category: Quasiatomic Orbital (QO) analysis
43144403
type: Boolean

0 commit comments

Comments
 (0)