librpa_options.h Source File

librpa_options.h Source File#

LibRPA: librpa_options.h Source File
LibRPA
librpa_options.h
Go to the documentation of this file.
1#pragma once
9
10#include "librpa_enums.h"
11
12// C APIs
13#ifdef __cplusplus
14extern "C" {
15#endif
16
18#define LIBRPA_MAX_STRLEN 200
19
20// NOTE: in case the data layout of LibrpaOptions is changed,
21// its Fortran binding should be adapted accordingly.
22
33typedef struct
34{
35 /* ============================================================================= */
36 /* Common runtime control */
37
40
43
46
49
52
55
57 int nfreq;
58
59 /* ============================================================================= */
60 /* Parameters for time and freqeuncy grids.
61 * Different grid types will use none/part/all of the parameters. */
64
67
70
73
76
78
84
86
90
93
94 /* ============================================================================= */
95 /* Coulomb matrices usage */
96
99
102
105
106 /* ============================================================================= */
107 /* Sum of states */
108
111
114
115 /* ============================================================================= */
116 /* RPA specific */
117
120
123
124 /* ============================================================================= */
125 /* ABF compression */
126
129
132
133 /* ============================================================================= */
134 /* GW specific */
135
138
141
144
147
149
156
159
162
165
166 /* ============================================================================= */
167 /* LibRI related */
168
171
174
177
180
183
186
189
192
193 /* Output controls */
196
199
202
204
211
213
223
230void librpa_set_output_dir(LibrpaOptions *opts, const char *output_dir);
231
232#ifdef __cplusplus
233}
234#endif
Enumeration types and constants for LibRPA.
int LibrpaSwitch
Boolean switch type.
Definition librpa_enums.h:91
int LibrpaVerbose
Verbosity level for runtime output.
Definition librpa_enums.h:107
LibrpaParallelRouting
Parallel routing strategy for distributed memory calculations.
Definition librpa_enums.h:58
LibrpaTimeFreqGrid
Type of time or frequency grid for integration.
Definition librpa_enums.h:76
void librpa_set_output_dir(LibrpaOptions *opts, const char *output_dir)
Set the output directory for LibRPA results.
#define LIBRPA_MAX_STRLEN
Definition librpa_options.h:18
void librpa_init_options(LibrpaOptions *opts)
Initialize runtime options to default values.
Runtime options structure for LibRPA calculations.
Definition librpa_options.h:34
double libri_g0w0_threshold_G
Threshold of real-space Green's function to compute GW correlation self-energy using LibRI.
Definition librpa_options.h:188
LibrpaParallelRouting parallel_routing
Scheme of parallelization.
Definition librpa_options.h:42
double libri_chi0_threshold_C
Threshold of real-space LRI triple coefficients to compute response function using LibRI.
Definition librpa_options.h:170
int n_bands_sigc
Maximal number of bands for computing correlation self-energy.
Definition librpa_options.h:113
LibrpaSwitch replace_w_head
Flag of replacing head of screened interaction by macroscopic dielectric function.
Definition librpa_options.h:146
double tfgrids_freq_min
Minimum frequency for grid generation, in Hartree.
Definition librpa_options.h:63
int option_dielect_func
Option of computing dielectric function on imaginary axis.
Definition librpa_options.h:155
double libri_chi0_threshold_G
Threshold of real-space Green's function to compute response function using LibRI.
Definition librpa_options.h:173
LibrpaSwitch use_fullcoul_exx
Switch of using full Coulomb interaction in exact-exchange operator.
Definition librpa_options.h:98
LibrpaSwitch use_scalapack_ecrpa
Flag to control whether to use ScaLAPACK to compute RPA correlation energy.
Definition librpa_options.h:122
double tfgrids_freq_interval
Frequency interval for even-spaced grids, in Hartree.
Definition librpa_options.h:66
double vq_threshold
Threshold for real-space Coulomb matrices.
Definition librpa_options.h:48
LibrpaSwitch use_fullcoul_eps
Switch of using full Coulomb interaction in .
Definition librpa_options.h:101
int option_output_Wc_Rf_mat
Switch of outputting Wc matrix in Abs (real space, imaginary frequency domain)
Definition librpa_options.h:210
double minimax_emax
Maximal transition energy when generating minimax grids.
Definition librpa_options.h:89
double tfgrids_freq_max
Maximum frequency for grid generation, in Hartree.
Definition librpa_options.h:69
LibrpaSwitch load_sigc_from_file
Flag of loading correlation self-energy matrix (real-space, imaginary frequency) from file.
Definition librpa_options.h:161
LibrpaSwitch use_scalapack_gw_wc
Flag of using ScaLAPACK for computing Wc from chi0.
Definition librpa_options.h:140
LibrpaSwitch output_gw_sigc_mat
Output correlation self-energy matrix (reciprocal space, imaginary frequency domain)
Definition librpa_options.h:195
LibrpaSwitch output_gw_sigc_mat_rf
Output correlation self-energy matrix in NAO (real space, imaginary frequency domain)
Definition librpa_options.h:201
int nfreq
Number of time/frequency points.
Definition librpa_options.h:57
LibrpaSwitch output_gw_sigc_mat_rt
Output correlation self-energy matrix in NAO (real space, imaginary time domain)
Definition librpa_options.h:198
double libri_g0w0_threshold_Wc
Threshold of correlation screened Coulomb matrix to compute GW correlation self-energy using LibRI.
Definition librpa_options.h:191
double gf_threshold
Threshold for real-space Green's function in response function calculation.
Definition librpa_options.h:119
char output_dir[LIBRPA_MAX_STRLEN]
Output directory.
Definition librpa_options.h:39
double sqrt_coulomb_threshold
Threshold of eigenvalues to perform square root of Coulomb matrices.
Definition librpa_options.h:164
double libri_exx_threshold_V
Threshold of real-space Coulomb matrices to compute exact exchange using LibRI.
Definition librpa_options.h:182
double tfgrids_time_min
Minimum time for grid generation, in Hartree^-1.
Definition librpa_options.h:72
LibrpaSwitch use_shrink_abfs
Flag to use a compressed auxiliary basis.
Definition librpa_options.h:128
double libri_g0w0_threshold_C
Threshold of real-space LRI triple coefficients to compute GW correlation self-energy using LibRI.
Definition librpa_options.h:185
LibrpaSwitch use_2d_dielectric
Switch of using 2D dielectric function.
Definition librpa_options.h:158
LibrpaVerbose output_level
Verbose level for output.
Definition librpa_options.h:45
double tfgrids_time_interval
Time interval for even-spaced grids, in Hartree^-1.
Definition librpa_options.h:75
double minimax_emin
Minimal transition energy when generating minimax grids.
Definition librpa_options.h:83
double libri_exx_threshold_C
Threshold of real-space LRI triple coefficients to compute exact exchange using LibRI.
Definition librpa_options.h:176
int n_bands_chi0
Maximal number of bands for computing response function.
Definition librpa_options.h:110
double minimax_regulation
Regulation for minimax grids generation.
Definition librpa_options.h:92
LibrpaTimeFreqGrid tfgrids_type
Type of time/frequency grids.
Definition librpa_options.h:54
LibrpaSwitch use_fullcoul_wc
Switch of using full Coulomb interaction in .
Definition librpa_options.h:104
double libri_exx_threshold_D
Threshold of real-space density matrices to compute exact exchange using LibRI.
Definition librpa_options.h:179
LibrpaSwitch use_shrink_chi
Flag to compress response function using shrinked basis.
Definition librpa_options.h:131
int n_params_anacon
Number of parameters for analytic continuation.
Definition librpa_options.h:137
LibrpaSwitch use_kpara_scf_eigvec
Flag to specify parallel distribution of eigenvectors of SCF starting point.
Definition librpa_options.h:51
LibrpaSwitch use_cholesky_gw_wc
Flag of using cholesky factorization for computing Wc from chi0.
Definition librpa_options.h:143