LibrpaOptions Struct Reference

LibrpaOptions Struct Reference#

LibRPA: LibrpaOptions Struct Reference
LibRPA
LibrpaOptions Struct Reference

Runtime options structure for LibRPA calculations. More...

#include <librpa_options.h>

Inheritance diagram for LibrpaOptions:

Public Attributes

char output_dir [LIBRPA_MAX_STRLEN]
 
char restart_from_dir [LIBRPA_MAX_STRLEN]
 
LibrpaParallelRouting parallel_routing
 Scheme of parallelization.
 
double vq_threshold
 
LibrpaSwitch use_kpara_scf_eigvec
 
LibrpaTimeFreqGrid tfgrids_type
 Type of time/frequency grids.
 
int nfreq
 
double tfgrids_freq_min
 
double tfgrids_freq_interval
 
double tfgrids_freq_max
 
double tfgrids_time_min
 
double tfgrids_time_interval
 
double minimax_emin
 Minimal transition energy when generating minimax grids.
 
double minimax_emax
 Maximal transition energy when generating minimax grids.
 
double minimax_regulation
 
LibrpaSwitch use_fullcoul_exx
 
LibrpaSwitch use_fullcoul_eps
 
LibrpaSwitch use_fullcoul_wc
 
LibrpaSwitch use_symmetry_exx
 
LibrpaSwitch use_symmetry_gw
 
LibrpaSwitch use_symmetry_rpa
 
LibrpaSwitch output_abacus_gw_gf
 
int n_bands_chi0
 
int n_bands_sigc
 
int option_bvk_remap
 BvK remapping convention for band interpolation.
 
double gf_threshold
 
int libri_chi0_collect_s0_chunk
 
long long libri_chi0_collect_max_bytes
 
LibrpaSwitch use_scalapack_ecrpa
 
LibrpaSwitch use_shrink_abfs
 
LibrpaSwitch use_shrink_chi
 
int n_params_anacon
 
int n_params_anacon_resample
 
LibrpaTimeFreqGrid anacon_tfgrids_type
 Type of optional frequency grid used for GW analytic continuation.
 
int anacon_nfreq
 Number of points in the optional GW analytic-continuation frequency grid.
 
int option_qpe_solver
 Quasi-particle equation solver option.
 
double qpe_solver_thres
 
int qpe_solver_n_iter_max
 
double qpe_solver_damp_factor
 
LibrpaSwitch use_qpe_adaptive_damp
 
LibrpaSwitch use_qpe_legacy_update
 
LibrpaSwitch override_qpe_solver_nan
 
LibrpaSwitch use_hedin_shift
 
int istate_ref_hedin_shift
 
double sf_gf_omega_shift
 
double sf_sigc_omega_shift
 
LibrpaSwitch use_scalapack_gw_wc
 
LibrpaSwitch use_cholesky_gw_wc
 
LibrpaSwitch use_gpu_replace_scalapack
 
LibrpaSwitch use_elpa_sqrt_coulomb
 
LibrpaSwitch replace_w_head
 
int option_dielect_func
 Option of computing dielectric function on imaginary axis.
 
LibrpaSwitch use_2d_dielectric
 
int rpa_headwing_body_start
 
LibrpaSwitch read_sigc_mat_rf
 
char rpa_headwing_mode [LIBRPA_MAX_STRLEN]
 
double sqrt_coulomb_threshold
 
double libri_chi0_threshold_C
 
double libri_chi0_threshold_G
 
double libri_exx_threshold_C
 
double libri_exx_threshold_D
 
double libri_exx_threshold_V
 
double libri_g0w0_threshold_C
 
double libri_g0w0_threshold_G
 
double libri_g0w0_threshold_Wc
 
LibrpaSwitch output_gw_sigc_ks_kf
 
LibrpaSwitch output_gw_sigc_ks_mat_kf
 
LibrpaSwitch output_exx_ks_mat_k
 
LibrpaSwitch output_exx_mat_k
 
int istate_output_mat_start
 
int istate_output_mat_end
 
LibrpaSwitch output_gw_sigc_mat_kf
 
LibrpaSwitch output_gw_sigc_mat_rt
 
LibrpaSwitch output_gw_sigc_mat_rf
 
LibrpaSwitch output_wc_rf
 
LibrpaSwitch output_wc_rf_atom_pair
 
int ifreq_output_wc_start
 
int ifreq_output_wc_end
 

Detailed Description

Runtime options structure for LibRPA calculations.

This structure contains all configurable parameters for controlling RPA, exact exchange (EXX), and G0W0 calculations. Initialize with librpa_init_options() and modify as needed before passing to computation functions.

Note
The data layout must match the Fortran binding. Use utilities/check_librpa_options.py for inter-binding check.

Member Data Documentation

◆ anacon_nfreq

int LibrpaOptions::anacon_nfreq

Number of points in the optional GW analytic-continuation frequency grid.

Negative values use the source grid nfreq when the analytic-continuation grid is built. Zero is invalid. Positive values select that many points; if this equals the source nfreq and no new grid type is selected, the original grid is reused.

Default
-1
Status
Experimental

◆ anacon_tfgrids_type

LibrpaTimeFreqGrid LibrpaOptions::anacon_tfgrids_type

Type of optional frequency grid used for GW analytic continuation.

When unset and anacon_nfreq does not request a different grid size, analytic continuation uses the original GW self-energy grid.

Default
LIBRPA_TFGRID_UNSET
Status
Experimental

◆ gf_threshold

double LibrpaOptions::gf_threshold

Threshold for real-space Green's function in response function calculation.

Default
0.0

◆ ifreq_output_wc_end

int LibrpaOptions::ifreq_output_wc_end

Half-open Wc frequency output end index; negative means all remaining frequencies.

Default
-1
Status
Experimental

◆ ifreq_output_wc_start

int LibrpaOptions::ifreq_output_wc_start

First zero-based Wc frequency index to output.

Default
0
Status
Experimental

◆ istate_output_mat_end

int LibrpaOptions::istate_output_mat_end

Half-open KS-state end index when exporting KS-basis matrices; negative means all remaining states.

Default
-1
Status
Experimental

◆ istate_output_mat_start

int LibrpaOptions::istate_output_mat_start

First zero-based KS state included in both dimensions when exporting the KS-basis exact-exchange and correlation self-energy matrices. Matrix construction is unaffected.

Default
0
Status
Experimental

◆ istate_ref_hedin_shift

int LibrpaOptions::istate_ref_hedin_shift

Absolute zero-based reference state index for Hedin shifts.

Details
This index is not relative to i_state_low. A negative value applies a per-state shift; a nonnegative value uses that state at each k-point and spin channel for all states in the same channel.
Default
-1
Status
Experimental

◆ libri_chi0_collect_max_bytes

long long LibrpaOptions::libri_chi0_collect_max_bytes

Maximum estimated local chi0 tensor bytes per LibRI collection chunk; 0 keeps one-shot collection.

Default
0
Status
Experimental

◆ libri_chi0_collect_s0_chunk

int LibrpaOptions::libri_chi0_collect_s0_chunk

Number of first-index atoms per LibRI chi0 collection chunk; 0 keeps one-shot collection.

Default
0
Status
Experimental

◆ libri_chi0_threshold_C

double LibrpaOptions::libri_chi0_threshold_C

Threshold of real-space LRI triple coefficients to compute response function using LibRI.

Default
0.0

◆ libri_chi0_threshold_G

double LibrpaOptions::libri_chi0_threshold_G

Threshold of real-space Green's function to compute response function using LibRI.

Default
0.0

◆ libri_exx_threshold_C

double LibrpaOptions::libri_exx_threshold_C

Threshold of real-space LRI triple coefficients to compute exact exchange using LibRI.

Default
0.0

◆ libri_exx_threshold_D

double LibrpaOptions::libri_exx_threshold_D

Threshold of real-space density matrices to compute exact exchange using LibRI.

Default
0.0

◆ libri_exx_threshold_V

double LibrpaOptions::libri_exx_threshold_V

Threshold of real-space Coulomb matrices to compute exact exchange using LibRI.

Default
0.0

◆ libri_g0w0_threshold_C

double LibrpaOptions::libri_g0w0_threshold_C

Threshold of real-space LRI triple coefficients to compute GW correlation self-energy using LibRI.

Default
0.0

◆ libri_g0w0_threshold_G

double LibrpaOptions::libri_g0w0_threshold_G

Threshold of real-space Green's function to compute GW correlation self-energy using LibRI.

Default
0.0

◆ libri_g0w0_threshold_Wc

double LibrpaOptions::libri_g0w0_threshold_Wc

Threshold of correlation screened Coulomb matrix to compute GW correlation self-energy using LibRI.

Default
0.0

◆ minimax_emax

double LibrpaOptions::minimax_emax

Maximal transition energy when generating minimax grids.

This option is introduced for test of supercell to fix the minimax frequency points

Default
-1.0
Status
Experimental

◆ minimax_emin

double LibrpaOptions::minimax_emin

Minimal transition energy when generating minimax grids.

When set negative (the default), the minimal energy is decided by the mean-field input and set to the energy gap. For now, it is suggested to manually set this option for gapless systems.

Default
-1.0
Status
Experimental

◆ minimax_regulation

double LibrpaOptions::minimax_regulation

Regulation for minimax grids generation.

Default
0.0
Status
Experimental

◆ n_bands_chi0

int LibrpaOptions::n_bands_chi0

Maximal number of bands for computing response function.

Default
-1 (< 0 for all bands)
Status
Experimental

◆ n_bands_sigc

int LibrpaOptions::n_bands_sigc

Maximal number of bands for computing correlation self-energy.

Default
-1 (< 0 for all bands)
Status
Experimental

◆ n_params_anacon

int LibrpaOptions::n_params_anacon

Number of parameters for analytic continuation.

Default
-1 (uses all nfreq data)

◆ n_params_anacon_resample

int LibrpaOptions::n_params_anacon_resample

Number of parameters for the source-grid Pade used to resample GW analytic continuation. Negative values use n_params_anacon. This parameter only works when resampling imaginary-frequency grids is enabled via a different frequency grids type (anacon_tfgrids_type) or number of grids points (anacon_nfreq) from the direct evaluation of \(\Sigma_c(i\omega)\).

Default
-1
Status
Experimental

◆ nfreq

int LibrpaOptions::nfreq

Number of time/frequency points.

Default
16

◆ option_bvk_remap

int LibrpaOptions::option_bvk_remap

BvK remapping convention for band interpolation.

Available values:

  • 0: map each atom-pair R to one nearest BvK image.
  • 1: Wigner-Seitz remapping; split over all nearest BvK images at equal distance.
Default
1

◆ option_dielect_func

int LibrpaOptions::option_dielect_func

Option of computing dielectric function on imaginary axis.

Available values:

  • 0: use data directly read from input
  • 1: cubic-spline interpolation from input data
  • 2: dielectric model fitting from input data
  • 3: analytic head and wing correction
  • 4: analytic head correction
Default
0

◆ option_qpe_solver

int LibrpaOptions::option_qpe_solver

Quasi-particle equation solver option.

Available values:

  • 0: damped residual-mixing self-consistent solver
  • 1: quasi-Newton self-consistent solver using the Pade derivative
  • 2: perturbative solver linearized at the mean-field energy
Default
0

◆ output_abacus_gw_gf

LibrpaSwitch LibrpaOptions::output_abacus_gw_gf

Switch of outputting ABACUS-compatible GW Green's-function data.

Default
false
Status
Experimental

◆ output_dir

char LibrpaOptions::output_dir[LIBRPA_MAX_STRLEN]

Output directory for results.

Details
Set with librpa_set_output_dir() or librpa::Options::set_output_dir() so directory normalization is applied.
Default
librpa.d/

◆ output_exx_ks_mat_k

LibrpaSwitch LibrpaOptions::output_exx_ks_mat_k

Output exact-exchange matrix in KS basis and k-space.

Default
false
Status
Experimental

◆ output_exx_mat_k

LibrpaSwitch LibrpaOptions::output_exx_mat_k

Output exact-exchange matrix in NAO basis and k-space as dense binary files. Files in output_dir are named ExxK_kgrid_ispin_S_ik_K.bin or ExxK_band_B_ispin_S_ik_K.bin, with zero-based indices. Spinor blocks include _spinor_BRA_KET before _ik. Values are in Hartree and include the exchange minus sign. All NAOs are exported, independently of the KS-state output range, when the k-space EXX potential is constructed. Binary layout: native-endian int32 dimension and int32 scalar byte size (8), then row-major real/imaginary float64 pairs, without threshold filtering.

Default
false
Status
Experimental

◆ output_gw_sigc_ks_kf

LibrpaSwitch LibrpaOptions::output_gw_sigc_ks_kf

Output KS-diagonal correlation self-energy in k-space, imaginary frequency domain.

Default
false
Status
Experimental

◆ output_gw_sigc_ks_mat_kf

LibrpaSwitch LibrpaOptions::output_gw_sigc_ks_mat_kf

Output correlation self-energy matrix in KS basis (k-space, imaginary frequency domain).

Default
false
Status
Experimental

◆ output_gw_sigc_mat_kf

LibrpaSwitch LibrpaOptions::output_gw_sigc_mat_kf

Output correlation self-energy matrix in NAO basis (k-space, imaginary frequency domain). Dense binary files in output_dir use the same layout as output_exx_mat_k: SigcKF_kgrid_ispin_S_ik_K_ifreq_F.bin or SigcKF_band_B_ispin_S_ik_K_ifreq_F.bin, with zero-based indices. Spinor blocks include _spinor_BRA_KET before _ik. Values are in Hartree; all NAOs are exported without threshold filtering.

Default
false
Status
Experimental

◆ output_gw_sigc_mat_rf

LibrpaSwitch LibrpaOptions::output_gw_sigc_mat_rf

Output correlation self-energy matrix in NAO basis (real space, imaginary frequency domain).

Default
false
Status
Experimental

◆ output_gw_sigc_mat_rt

LibrpaSwitch LibrpaOptions::output_gw_sigc_mat_rt

Output correlation self-energy matrix in NAO basis (real space, imaginary time domain).

Default
false
Status
Experimental

◆ output_wc_rf

LibrpaSwitch LibrpaOptions::output_wc_rf

Output Wc matrix in ABFs (real space, imaginary frequency domain).

Default
false
Status
Experimental

◆ output_wc_rf_atom_pair

LibrpaSwitch LibrpaOptions::output_wc_rf_atom_pair

Output Wc(R, iw) as atom-pair blocks instead of full matrices.

Default
true
Status
Experimental

◆ override_qpe_solver_nan

LibrpaSwitch LibrpaOptions::override_qpe_solver_nan

If enabled, keep the final unconverged QPE iterate instead of outputting NaN.

Default
false
Status
Diagnostic

◆ parallel_routing

LibrpaParallelRouting LibrpaOptions::parallel_routing

Scheme of parallelization.

Available driver values: auto, atompair, rtau, libri.

Default
LIBRPA_ROUTING_AUTO

◆ qpe_solver_damp_factor

double LibrpaOptions::qpe_solver_damp_factor

Damping factor for quasi-particle equation solver updates. Used as the initial and maximum factor when adaptive damping is enabled.

Default
0.1

◆ qpe_solver_n_iter_max

int LibrpaOptions::qpe_solver_n_iter_max

Maximum number of iterations for the quasi-particle equation solver; must be positive.

Default
10000

◆ qpe_solver_thres

double LibrpaOptions::qpe_solver_thres

Convergence threshold for the quasi-particle equation solver, in Hartree.

Default
1.0e-6

◆ read_sigc_mat_rf

LibrpaSwitch LibrpaOptions::read_sigc_mat_rf

Flag of reading NAO correlation self-energy matrix in real-space/frequency form.

Default
false
Status
Experimental

◆ replace_w_head

LibrpaSwitch LibrpaOptions::replace_w_head

Flag of replacing head of screened interaction by macroscopic dielectric function.

Default
false

◆ restart_from_dir

char LibrpaOptions::restart_from_dir[LIBRPA_MAX_STRLEN]

Directory to read restart checkpoint files from. Empty uses output_dir.

Details
Set with librpa_set_restart_from_dir() or librpa::Options::set_restart_from_dir() so directory normalization is applied.
Default
empty
Status
Experimental

◆ rpa_headwing_body_start

int LibrpaOptions::rpa_headwing_body_start

First regular Coulomb-eigenbasis channel used by RPA head/wing correction. Zero uses channel 1 in the current analytic 3D/2D head/wing path.

Default
0
Status
Experimental

◆ rpa_headwing_mode

char LibrpaOptions::rpa_headwing_mode[LIBRPA_MAX_STRLEN]

RPA Gamma correction mode: "qavg" keeps the current head/wing q-average, "head_only" replaces only the analytic head before the ordinary trace-log.

◆ sf_gf_omega_shift

double LibrpaOptions::sf_gf_omega_shift

Broadening/shift used for Green's function in spectral-function output, in Hartree.

Default
0.01
Status
Experimental

◆ sf_sigc_omega_shift

double LibrpaOptions::sf_sigc_omega_shift

Broadening/shift used for correlation self-energy in spectral-function output, in Hartree.

Default
0.01
Status
Experimental

◆ sqrt_coulomb_threshold

double LibrpaOptions::sqrt_coulomb_threshold

Threshold of eigenvalues to perform square root of Coulomb matrices.

Default
0.0

◆ tfgrids_freq_interval

double LibrpaOptions::tfgrids_freq_interval

Frequency interval for even-spaced grids, in Hartree.

Default
0.0

◆ tfgrids_freq_max

double LibrpaOptions::tfgrids_freq_max

Maximum frequency for grid generation, in Hartree.

Default
1000.0

◆ tfgrids_freq_min

double LibrpaOptions::tfgrids_freq_min

Minimum frequency for grid generation, in Hartree.

Default
0.005

◆ tfgrids_time_interval

double LibrpaOptions::tfgrids_time_interval

Time interval for even-spaced grids, in Hartree^-1.

Default
0.0

◆ tfgrids_time_min

double LibrpaOptions::tfgrids_time_min

Minimum time for grid generation, in Hartree^-1.

Default
0.005

◆ tfgrids_type

LibrpaTimeFreqGrid LibrpaOptions::tfgrids_type

Type of time/frequency grids.

Available driver values: GL, GC-I, GL-II, minimax, evenspaced, evenspaced_tf. The driver maps the unset API value to minimax.

Default
LIBRPA_TFGRID_UNSET

◆ use_2d_dielectric

LibrpaSwitch LibrpaOptions::use_2d_dielectric

Switch of using 2D dielectric function.

Default
false
Status
Experimental

◆ use_cholesky_gw_wc

LibrpaSwitch LibrpaOptions::use_cholesky_gw_wc

Flag of using cholesky factorization for computing Wc from chi0.

Default
false
Status
Experimental

◆ use_elpa_sqrt_coulomb

LibrpaSwitch LibrpaOptions::use_elpa_sqrt_coulomb

Flag of using ELPA for sqrt Coulomb matrix.

Default
Build-dependent: true with LIBRPA_USE_ELPA, false otherwise.
Status
Experimental

◆ use_fullcoul_eps

LibrpaSwitch LibrpaOptions::use_fullcoul_eps

Switch of using full Coulomb interaction in \(\varepsilon = 1 - v \chi^0\)

Default
true

◆ use_fullcoul_exx

LibrpaSwitch LibrpaOptions::use_fullcoul_exx

Switch of using full Coulomb interaction in exact-exchange operator.

Default
false

◆ use_fullcoul_wc

LibrpaSwitch LibrpaOptions::use_fullcoul_wc

Switch of using full Coulomb interaction in \(W^c = (\varepsilon^{-1} - 1) v\).

Default
false

◆ use_gpu_replace_scalapack

LibrpaSwitch LibrpaOptions::use_gpu_replace_scalapack

Flag of using GPU for computing Wc from chi0.

Default
Build-dependent: true when a CUDA/HIP build detects a device, false otherwise.
Status
Experimental

◆ use_hedin_shift

LibrpaSwitch LibrpaOptions::use_hedin_shift

Compute and apply Hedin shifts in QP solves.

Details

\[\Delta_{rks} = \mathrm{Re}\,\Sigma_c(\epsilon_{rks} - E_F) + \Sigma_x(rks) - v_{xc}(rks) \]

and evaluate the correlation self-energy in QP solves at

\[\Sigma_c(E - E_F - \Delta_{rks}). \]

Default
false
Status
Experimental

◆ use_kpara_scf_eigvec

LibrpaSwitch LibrpaOptions::use_kpara_scf_eigvec

Flag to specify parallel distribution of eigenvectors of SCF starting point.

Default
false
Status
Experimental

◆ use_qpe_adaptive_damp

LibrpaSwitch LibrpaOptions::use_qpe_adaptive_damp

If enabled, adapt the QPE damping factor during the solve.

Default
false

◆ use_qpe_legacy_update

LibrpaSwitch LibrpaOptions::use_qpe_legacy_update

Test-only switch to recover the legacy non-adaptive QPE update. Ignored when adaptive damping is enabled.

Default
false
Status
Diagnostic

◆ use_scalapack_ecrpa

LibrpaSwitch LibrpaOptions::use_scalapack_ecrpa

Flag to control whether to use ScaLAPACK to compute RPA correlation energy.

Default
true

◆ use_scalapack_gw_wc

LibrpaSwitch LibrpaOptions::use_scalapack_gw_wc

Flag of using ScaLAPACK for computing Wc from chi0.

Default
true

◆ use_shrink_abfs

LibrpaSwitch LibrpaOptions::use_shrink_abfs

Flag to use a compressed auxiliary basis.

Default
false
Status
Experimental

◆ use_shrink_chi

LibrpaSwitch LibrpaOptions::use_shrink_chi

Flag to compress response function using shrinked basis.

Default
true
Status
Experimental

◆ use_symmetry_exx

LibrpaSwitch LibrpaOptions::use_symmetry_exx

Switch of using the symmetry context in exact-exchange paths.

Default
false
Status
Experimental

◆ use_symmetry_gw

LibrpaSwitch LibrpaOptions::use_symmetry_gw

Switch of using the symmetry context in GW paths.

Default
false
Status
Experimental

◆ use_symmetry_rpa

LibrpaSwitch LibrpaOptions::use_symmetry_rpa

Switch of using the symmetry context in RPA/chi0 paths.

Default
false
Status
Experimental

◆ vq_threshold

double LibrpaOptions::vq_threshold

Threshold for real-space Coulomb matrices.

Default
0.0

The documentation for this struct was generated from the following file: