Skip to content

Commit 35067e5

Browse files
author
abacus_fixer
committed
merge BSE
2 parents 1571b93 + 1e4c1c6 commit 35067e5

125 files changed

Lines changed: 10602 additions & 2311 deletions

File tree

Some content is hidden

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

cmake/modules/FindLibRI.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ if(NOT LIBRI_DIR)
1616
include(FetchContent)
1717
FetchContent_Declare(
1818
LibRI
19-
URL https://codeload.github.com/abacusmodeling/LibRI/tar.gz/e6d78e0
19+
URL https://codeload.github.com/abacusmodeling/LibRI/tar.gz/b0eff7a
2020
)
2121
FetchContent_Populate(LibRI)
2222
set(LIBRI_DIR ${libri_SOURCE_DIR})

docs/advanced/input_files/input-main.md

Lines changed: 162 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@
202202
- [out\_element\_info](#out_element_info)
203203
- [restart\_save](#restart_save)
204204
- [rpa](#rpa)
205+
- [rpa\_out\_vel](#rpa_out_vel)
206+
- [rpa\_outdir](#rpa_outdir)
205207
- [out\_pchg](#out_pchg)
206208
- [out\_wfc\_norm](#out_wfc_norm)
207209
- [out\_wfc\_re\_im](#out_wfc_re_im)
@@ -547,9 +549,6 @@
547549
- [pexsi\_elec\_thr](#pexsi_elec_thr)
548550
- [pexsi\_zero\_thr](#pexsi_zero_thr)
549551
- [Linear Response TDDFT](#linear-response-tddft)
550-
- [ri\_hartree\_benchmark](#ri_hartree_benchmark)
551-
- [aims\_nbasis](#aims_nbasis)
552-
- [Linear Response TDDFT (Under Development Feature)](#linear-response-tddft-under-development-feature)
553552
- [xc\_kernel](#xc_kernel)
554553
- [lr\_init\_xc\_kernel](#lr_init_xc_kernel)
555554
- [lr\_solver](#lr_solver)
@@ -562,6 +561,26 @@
562561
- [out\_wfc\_lr](#out_wfc_lr)
563562
- [abs\_gauge](#abs_gauge)
564563
- [abs\_broadening](#abs_broadening)
564+
- [plot\_istate](#plot_istate)
565+
- [exciton\_plot\_type](#exciton_plot_type)
566+
- [exciton\_plot\_format](#exciton_plot_format)
567+
- [exciton\_fixed\_coordinate](#exciton_fixed_coordinate)
568+
- [exciton\_slice\_plane](#exciton_slice_plane)
569+
- [exciton\_slice\_pos](#exciton_slice_pos)
570+
- [exciton\_slice\_npoints](#exciton_slice_npoints)
571+
- [exciton\_slice\_range](#exciton_slice_range)
572+
- [ri\_hartree\_benchmark](#ri_hartree_benchmark)
573+
- [aims\_nbasis](#aims_nbasis)
574+
- [Bethe-Salpeter Equation](#bethe-salpeter-equation)
575+
- [bse\_tda](#bse_tda)
576+
- [bse\_spin\_types](#bse_spin_types)
577+
- [bse\_mem\_save](#bse_mem_save)
578+
- [bse\_ri\_hartree](#bse_ri_hartree)
579+
- [bse\_use\_fine\_kgrid](#bse_use_fine_kgrid)
580+
- [bse\_q\_approx\_mode](#bse_q_approx_mode)
581+
- [bse\_q\_approx\_threshold](#bse_q_approx_threshold)
582+
- [out\_bse\_ab](#out_bse_ab)
583+
- [bse\_continue](#bse_continue)
565584
- [Reduced Density Matrix Functional Theory](#reduced-density-matrix-functional-theory)
566585
- [rdmft](#rdmft)
567586
- [rdmft\_power\_alpha](#rdmft_power_alpha)
@@ -2328,11 +2347,27 @@
23282347
### rpa
23292348

23302349
- **Type**: Boolean
2350+
- **Availability**: *Numerical atomic orbital basis*
23312351
- **Description**: Generate output files used in rpa calculations.
23322352

23332353
> Note: If symmetry is set to 1, additional files containing the necessary information for exploiting symmetry in the subsequent rpa calculation will be output: irreducible_sector.txt, symrot_k.txt and symrot_R.txt.
23342354
- **Default**: False
23352355

2356+
### rpa_out_vel
2357+
2358+
- **Type**: Boolean
2359+
- **Availability**: *Numerical atomic orbital basis*
2360+
- **Description**: Velocity matrix in KS basis (in unit of eV *Angstrom). Loop layer: spin -> k -> direction -> KS_basis1 -> KS_basis2.
2361+
- **Default**: False
2362+
- **Unit**: eV * A
2363+
2364+
### rpa_outdir
2365+
2366+
- **Type**: String
2367+
- **Availability**: *Numerical atomic orbital basis*
2368+
- **Description**: The directory to save files for LibRPA.
2369+
- **Default**: "./OUT.librpa/"
2370+
23362371
### out_pchg
23372372

23382373
- **Type**: String
@@ -4874,23 +4909,6 @@
48744909

48754910
## Linear Response TDDFT
48764911

4877-
### ri_hartree_benchmark
4878-
4879-
- **Type**: String
4880-
- **Description**: Whether to use the RI approximation for the Hartree term in LR-TDDFT for benchmark (with FHI-aims/ABACUS read-in style)
4881-
- **Default**: none
4882-
4883-
### aims_nbasis
4884-
4885-
- **Type**: A number(ntype) of Integers
4886-
- **Availability**: *ri_hartree_benchmark = aims*
4887-
- **Description**: Atomic basis set size for each atom type (with the same order as in STRU) in FHI-aims.
4888-
- **Default**: {} (empty list, where ABACUS use its own basis set size)
4889-
4890-
[back to top](#full-list-of-input-keywords)
4891-
4892-
## Linear Response TDDFT (Under Development Feature)
4893-
48944912
### xc_kernel
48954913

48964914
- **Type**: String
@@ -4965,22 +4983,144 @@
49654983

49664984
- **Type**: String
49674985
- **Description**: Whether to use length or velocity gauge to calculate the absorption spectrum in LR-TDDFT.
4968-
- **Default**: length
4986+
- **Default**: velocity
49694987

49704988
### abs_broadening
49714989

49724990
- **Type**: Real
49734991
- **Description**: The broadening factor for the absorption spectrum calculation.
49744992
- **Default**: 0.01
49754993

4994+
### plot_istate
4995+
4996+
- **Type**: Integer
4997+
- **Description**: The index of the excited state to plot, starting from 0.
4998+
- **Default**: 0
4999+
5000+
### exciton_plot_type
5001+
5002+
- **Type**: String
5003+
- **Description**: Exciton density represented when lr_solver is 'plot': 'average' integrates out the other particle, while 'conditional' fixes one particle at exciton_fixed_coordinate and plots a slice of the other particle's density.
5004+
- **Default**: average
5005+
5006+
### exciton_plot_format
5007+
5008+
- **Type**: String
5009+
- **Availability**: *lr_solver = plot*
5010+
- **Description**: The exciton-density output format. Average density supports cube, slice, and both; conditional density supports slice only.
5011+
- **Default**: cube
5012+
5013+
### exciton_fixed_coordinate
5014+
5015+
- **Type**: Vector of Real (6 values)
5016+
- **Description**: Cartesian coordinates in Bohr used by conditional exciton plotting, in the order hole_x hole_y hole_z electron_x electron_y electron_z.
5017+
- **Default**: 0.0 0.0 0.0 0.0 0.0 0.0
5018+
5019+
### exciton_slice_plane
5020+
5021+
- **Type**: String
5022+
- **Description**: Pair of lattice-vector directions spanning the cross section: 'ab', 'bc', or 'ca'.
5023+
- **Default**: ab
5024+
5025+
### exciton_slice_pos
5026+
5027+
- **Type**: Real
5028+
- **Description**: Offset in Bohr along the remaining lattice-vector direction: c for an ab slice, a for bc, and b for ca.
5029+
- **Default**: 0.0
5030+
5031+
### exciton_slice_npoints
5032+
5033+
- **Type**: Integer
5034+
- **Description**: Target in-plane grid resolution. The final grid uses a uniform number of points per primitive cell over `exciton_slice_range` and includes both endpoints.
5035+
- **Default**: 200
5036+
5037+
### exciton_slice_range
5038+
5039+
- **Type**: Vector of Integer (4 values)
5040+
- **Availability**: *lr_solver = plot and exciton_plot_format = slice or both*
5041+
- **Description**: The in-plane primitive-cell range of an exciton slice: ustart uend vstart vend. The end values are exclusive cell boundaries, while grid data include both range endpoints.
5042+
- **Default**: -1 2 -1 2
5043+
- **Unit**: primitive cells
5044+
5045+
### ri_hartree_benchmark
5046+
5047+
- **Type**: String
5048+
- **Description**: Whether to use the RI approximation for the Hartree term in LR-TDDFT for benchmark (with FHI-aims/ABACUS read-in style)
5049+
- **Default**: none
5050+
5051+
### aims_nbasis
5052+
5053+
- **Type**: A number(ntype) of Integers
5054+
- **Availability**: *ri_hartree_benchmark = aims*
5055+
- **Description**: Atomic basis set size for each atom type (with the same order as in STRU) in FHI-aims.
5056+
- **Default**: {} (empty list, where ABACUS use its own basis set size)
5057+
5058+
[back to top](#full-list-of-input-keywords)
5059+
5060+
## Bethe-Salpeter Equation
5061+
5062+
### bse_tda
5063+
5064+
- **Type**: String
5065+
- **Description**: Whether the Tamm-Dancoff approximation is used: 'tda', 'full', or 'both'.
5066+
- **Default**: tda
5067+
5068+
### bse_spin_types
5069+
5070+
- **Type**: Vector of String (>=1 values)
5071+
- **Description**: Spin types for a closed-shell calculation in one task: 'singlet', 'triplet', and the test modes 'rpa' and 'ipa'.
5072+
- **Default**: singlet triplet
5073+
5074+
### bse_mem_save
5075+
5076+
- **Type**: Boolean
5077+
- **Description**: Whether to save memory by adding V and W directly to the BSE matrix. When enabled, bse_ri_hartree is enabled and bse_continue is reset to 0.
5078+
- **Default**: false
5079+
5080+
### bse_ri_hartree
5081+
5082+
- **Type**: Boolean
5083+
- **Description**: Whether to use the RI approximation for the Hartree term in BSE.
5084+
- **Default**: true
5085+
5086+
### bse_use_fine_kgrid
5087+
5088+
- **Type**: Integer
5089+
- **Description**: Fine k-grid mode for BSE: 0 uses the coarse k-grid, 1 uses a uniform fine k-grid, and 2 uses a non-uniform fine k-grid. Modes 1 and 2 require band_kpath_info, band_KS_eigenvector_k_{index}.txt, KS_band_spin_{index}.txt, and GW_band_spin_{index}.txt.
5090+
- **Default**: 0
5091+
5092+
### bse_q_approx_mode
5093+
5094+
- **Type**: Integer
5095+
- **Description**: q-to-k-pair mapping mode: 0 uses exact mapping, 1 uses the coarse q-grid approximation, and 2 uses exact for Γ-close q-points and coarse for other q-points.
5096+
- **Default**: 0
5097+
5098+
### bse_q_approx_threshold
5099+
5100+
- **Type**: Real
5101+
- **Description**: Threshold radius in Bohr^-1 for exact q-to-k-pair mapping when bse_q_approx_mode is 2.
5102+
- **Default**: 0.1
5103+
5104+
### out_bse_ab
5105+
5106+
- **Type**: Boolean
5107+
- **Description**: Whether to output the AB matrix to a file.
5108+
- **Default**: false
5109+
5110+
### bse_continue
5111+
5112+
- **Type**: Integer
5113+
- **Description**: Step from which to continue a previous BSE calculation: 0 starts a new calculation; 1 reads A_V; 2 reads A_V and A_W; 3 reads A_V, A_W, and B_V; 4 reads A_V, A_W, B_V, and B_W.
5114+
- **Default**: 0
5115+
49765116
[back to top](#full-list-of-input-keywords)
49775117

49785118
## Reduced Density Matrix Functional Theory
49795119

49805120
### rdmft
49815121

49825122
- **Type**: Boolean
4983-
- **Description**: Whether to perform rdmft calculation (reduced density matrix funcional theory)
5123+
- **Description**: Whether to perform rdmft calculation (reduced density matrix funcional theory). The physical quantities that RDMFT temporarily expects to output are the kinetic energy, total energy, and 1-RDM of the system in the ground state, etc.
49845124
- **Default**: false
49855125

49865126
### rdmft_power_alpha

docs/generate_input_main.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,12 @@
6363
"Quasiatomic Orbital (QO) analysis",
6464
"PEXSI",
6565
"Linear Response TDDFT",
66-
"Linear Response TDDFT (Under Development Feature)",
66+
"Bethe-Salpeter Equation",
6767
"Reduced Density Matrix Functional Theory",
6868
"Model",
6969
"Other",
7070
]
7171

72-
7372
def normalize_type(type_text: str) -> str:
7473
"""
7574
Normalize legacy type labels for cleaner generated docs.

0 commit comments

Comments
 (0)