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
34typedef struct
35{
36 /* ============================================================================= */
37 /* Common runtime control */
38
46
56
58
65
70
77
79
87
91 int nfreq;
92
93 /* ============================================================================= */
94 /* Parameters for time and freqeuncy grids.
95 * Different grid types will use none/part/all of the parameters. */
100
105
110
115
120
122
133
135
144
151
152 /* ============================================================================= */
153 /* Coulomb matrices usage */
154
159
164
169
176
183
190
197
198 /* ============================================================================= */
199 /* Sum of states */
200
207
214
216
225
226 /* ============================================================================= */
227 /* RPA specific */
228
233
240
247
252
253 /* ============================================================================= */
254 /* ABF compression */
255
262
269
270 /* ============================================================================= */
271 /* GW specific */
272
277
288
290
300
302
314
316
326
331
336
342
347
355
362
378
389
396
403
408
415
422
429
434
436
448
455
463
470
474
479
480 /* ============================================================================= */
481 /* LibRI related */
482
487
492
497
502
507
512
517
522
523 /* Output controls */
530
537
544
558
567
575
587
594
601
608
615
622
629
631
641
648void librpa_set_output_dir(LibrpaOptions *opts, const char *output_dir);
649
656void librpa_set_restart_from_dir(LibrpaOptions *opts, const char *restart_from_dir);
657
658#ifdef __cplusplus
659}
660#endif
Enumeration types and constants for LibRPA.
int LibrpaSwitch
Boolean switch type.
Definition librpa_enums.h:117
LibrpaParallelRouting
Parallel routing strategy for distributed memory calculations.
Definition librpa_enums.h:83
LibrpaTimeFreqGrid
Type of time or frequency grid for integration.
Definition librpa_enums.h:101
void librpa_set_output_dir(LibrpaOptions *opts, const char *output_dir)
Set the output directory for LibRPA results.
void librpa_set_restart_from_dir(LibrpaOptions *opts, const char *restart_from_dir)
Set the directory to read restart checkpoint files from.
#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:35
LibrpaSwitch use_gpu_replace_scalapack
Definition librpa_options.h:421
LibrpaSwitch use_symmetry_rpa
Definition librpa_options.h:189
LibrpaSwitch output_wc_rf_atom_pair
Definition librpa_options.h:614
int qpe_solver_n_iter_max
Definition librpa_options.h:335
LibrpaSwitch output_gw_sigc_ks_mat_kf
Definition librpa_options.h:536
double sf_sigc_omega_shift
Definition librpa_options.h:402
int istate_ref_hedin_shift
Definition librpa_options.h:388
LibrpaSwitch use_symmetry_exx
Definition librpa_options.h:175
double libri_g0w0_threshold_G
Definition librpa_options.h:516
LibrpaTimeFreqGrid anacon_tfgrids_type
Type of optional frequency grid used for GW analytic continuation.
Definition librpa_options.h:299
LibrpaParallelRouting parallel_routing
Scheme of parallelization.
Definition librpa_options.h:64
double libri_chi0_threshold_C
Definition librpa_options.h:486
int ifreq_output_wc_end
Definition librpa_options.h:628
int n_bands_sigc
Definition librpa_options.h:213
int istate_output_mat_start
Definition librpa_options.h:566
LibrpaSwitch output_gw_sigc_ks_kf
Definition librpa_options.h:529
LibrpaSwitch replace_w_head
Definition librpa_options.h:433
double tfgrids_freq_min
Definition librpa_options.h:99
int option_dielect_func
Option of computing dielectric function on imaginary axis.
Definition librpa_options.h:447
double libri_chi0_threshold_G
Definition librpa_options.h:491
double sf_gf_omega_shift
Definition librpa_options.h:395
LibrpaSwitch output_abacus_gw_gf
Definition librpa_options.h:196
LibrpaSwitch use_fullcoul_exx
Definition librpa_options.h:158
double qpe_solver_damp_factor
Definition librpa_options.h:341
LibrpaSwitch use_scalapack_ecrpa
Definition librpa_options.h:251
int option_qpe_solver
Quasi-particle equation solver option.
Definition librpa_options.h:325
int n_params_anacon_resample
Definition librpa_options.h:287
double tfgrids_freq_interval
Definition librpa_options.h:104
double vq_threshold
Definition librpa_options.h:69
LibrpaSwitch use_fullcoul_eps
Definition librpa_options.h:163
double minimax_emax
Maximal transition energy when generating minimax grids.
Definition librpa_options.h:143
int anacon_nfreq
Number of points in the optional GW analytic-continuation frequency grid.
Definition librpa_options.h:313
double tfgrids_freq_max
Definition librpa_options.h:109
LibrpaSwitch use_scalapack_gw_wc
Definition librpa_options.h:407
LibrpaSwitch read_sigc_mat_rf
Definition librpa_options.h:469
LibrpaSwitch output_gw_sigc_mat_rf
Definition librpa_options.h:600
int nfreq
Definition librpa_options.h:91
char restart_from_dir[LIBRPA_MAX_STRLEN]
Definition librpa_options.h:55
char rpa_headwing_mode[LIBRPA_MAX_STRLEN]
Definition librpa_options.h:473
LibrpaSwitch use_elpa_sqrt_coulomb
Definition librpa_options.h:428
LibrpaSwitch output_gw_sigc_mat_rt
Definition librpa_options.h:593
LibrpaSwitch use_qpe_legacy_update
Definition librpa_options.h:354
double libri_g0w0_threshold_Wc
Definition librpa_options.h:521
double gf_threshold
Definition librpa_options.h:232
char output_dir[LIBRPA_MAX_STRLEN]
Definition librpa_options.h:45
double sqrt_coulomb_threshold
Definition librpa_options.h:478
LibrpaSwitch output_wc_rf
Definition librpa_options.h:607
double libri_exx_threshold_V
Definition librpa_options.h:506
double tfgrids_time_min
Definition librpa_options.h:114
LibrpaSwitch use_symmetry_gw
Definition librpa_options.h:182
LibrpaSwitch use_shrink_abfs
Definition librpa_options.h:261
double qpe_solver_thres
Definition librpa_options.h:330
int istate_output_mat_end
Definition librpa_options.h:574
double libri_g0w0_threshold_C
Definition librpa_options.h:511
LibrpaSwitch use_hedin_shift
Definition librpa_options.h:377
LibrpaSwitch use_2d_dielectric
Definition librpa_options.h:454
LibrpaSwitch output_exx_ks_mat_k
Definition librpa_options.h:543
double tfgrids_time_interval
Definition librpa_options.h:119
double minimax_emin
Minimal transition energy when generating minimax grids.
Definition librpa_options.h:132
int rpa_headwing_body_start
Definition librpa_options.h:462
int ifreq_output_wc_start
Definition librpa_options.h:621
LibrpaSwitch output_gw_sigc_mat_kf
Definition librpa_options.h:586
double libri_exx_threshold_C
Definition librpa_options.h:496
int n_bands_chi0
Definition librpa_options.h:206
int option_bvk_remap
BvK remapping convention for band interpolation.
Definition librpa_options.h:224
double minimax_regulation
Definition librpa_options.h:150
int libri_chi0_collect_s0_chunk
Definition librpa_options.h:239
LibrpaSwitch use_qpe_adaptive_damp
Definition librpa_options.h:346
LibrpaTimeFreqGrid tfgrids_type
Type of time/frequency grids.
Definition librpa_options.h:86
long long libri_chi0_collect_max_bytes
Definition librpa_options.h:246
LibrpaSwitch output_exx_mat_k
Definition librpa_options.h:557
LibrpaSwitch use_fullcoul_wc
Definition librpa_options.h:168
double libri_exx_threshold_D
Definition librpa_options.h:501
LibrpaSwitch use_shrink_chi
Definition librpa_options.h:268
int n_params_anacon
Definition librpa_options.h:276
LibrpaSwitch use_kpara_scf_eigvec
Definition librpa_options.h:76
LibrpaSwitch override_qpe_solver_nan
Definition librpa_options.h:361
LibrpaSwitch use_cholesky_gw_wc
Definition librpa_options.h:414