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
166
174
181
188
195
202
203 /* ============================================================================= */
204 /* Sum of states */
205
212
219
228
237
239
248
249 /* ============================================================================= */
250 /* RPA specific */
251
256
263
270
275
276 /* ============================================================================= */
277 /* ABF compression */
278
285
292
293 /* ============================================================================= */
294 /* GW specific */
295
300
311
313
323
325
337
339
349
354
359
365
370
378
385
401
412
419
426
431
438
445
452
457
459
471
484
494
501
505
510
511 /* ============================================================================= */
512 /* LibRI related */
513
518
523
528
533
538
543
548
553
554 /* Output controls */
561
568
575
589
604
613
621
633
640
647
654
661
668
675
677
687
694void librpa_set_output_dir(LibrpaOptions *opts, const char *output_dir);
695
702void librpa_set_restart_from_dir(LibrpaOptions *opts, const char *restart_from_dir);
703
704#ifdef __cplusplus
705}
706#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:444
LibrpaSwitch use_symmetry_rpa
Definition librpa_options.h:194
LibrpaSwitch output_wc_rf_atom_pair
Definition librpa_options.h:660
int qpe_solver_n_iter_max
Definition librpa_options.h:358
LibrpaSwitch output_gw_sigc_ks_mat_kf
Definition librpa_options.h:567
double sf_sigc_omega_shift
Definition librpa_options.h:425
int istate_ref_hedin_shift
Definition librpa_options.h:411
LibrpaSwitch use_symmetry_exx
Definition librpa_options.h:180
double libri_g0w0_threshold_G
Definition librpa_options.h:547
LibrpaTimeFreqGrid anacon_tfgrids_type
Type of optional frequency grid used for GW analytic continuation.
Definition librpa_options.h:322
LibrpaParallelRouting parallel_routing
Scheme of parallelization.
Definition librpa_options.h:64
double libri_chi0_threshold_C
Definition librpa_options.h:517
int ifreq_output_wc_end
Definition librpa_options.h:674
int n_bands_sigc
Definition librpa_options.h:218
int istate_output_mat_start
Definition librpa_options.h:612
LibrpaSwitch output_gw_sigc_ks_kf
Definition librpa_options.h:560
LibrpaSwitch replace_w_head
Definition librpa_options.h:456
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:470
double libri_chi0_threshold_G
Definition librpa_options.h:522
double sf_gf_omega_shift
Definition librpa_options.h:418
LibrpaSwitch output_abacus_gw_gf
Definition librpa_options.h:201
LibrpaSwitch use_fullcoul_exx
Definition librpa_options.h:158
double qpe_solver_damp_factor
Definition librpa_options.h:364
LibrpaSwitch use_scalapack_ecrpa
Definition librpa_options.h:274
int option_qpe_solver
Quasi-particle equation solver option.
Definition librpa_options.h:348
int n_params_anacon_resample
Definition librpa_options.h:310
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:165
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:336
double tfgrids_freq_max
Definition librpa_options.h:109
LibrpaSwitch use_scalapack_gw_wc
Definition librpa_options.h:430
LibrpaSwitch read_sigc_mat_rf
Definition librpa_options.h:500
LibrpaSwitch output_gw_sigc_mat_rf
Definition librpa_options.h:646
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:504
LibrpaSwitch use_elpa_sqrt_coulomb
Definition librpa_options.h:451
LibrpaSwitch output_gw_sigc_mat_rt
Definition librpa_options.h:639
LibrpaSwitch use_qpe_legacy_update
Definition librpa_options.h:377
double libri_g0w0_threshold_Wc
Definition librpa_options.h:552
double gf_threshold
Definition librpa_options.h:255
char output_dir[LIBRPA_MAX_STRLEN]
Definition librpa_options.h:45
double sqrt_coulomb_threshold
Definition librpa_options.h:509
LibrpaSwitch output_wc_rf
Definition librpa_options.h:653
double libri_exx_threshold_V
Definition librpa_options.h:537
double tfgrids_time_min
Definition librpa_options.h:114
LibrpaSwitch use_symmetry_gw
Definition librpa_options.h:187
LibrpaSwitch use_shrink_abfs
Definition librpa_options.h:284
double qpe_solver_thres
Definition librpa_options.h:353
int istate_output_mat_end
Definition librpa_options.h:620
double libri_g0w0_threshold_C
Definition librpa_options.h:542
LibrpaSwitch use_hedin_shift
Definition librpa_options.h:400
LibrpaSwitch use_2d_dielectric
Definition librpa_options.h:483
LibrpaSwitch output_exx_ks_mat_k
Definition librpa_options.h:574
double tfgrids_time_interval
Definition librpa_options.h:119
LibrpaSwitch output_exx_mat_r
Definition librpa_options.h:603
double minimax_emin
Minimal transition energy when generating minimax grids.
Definition librpa_options.h:132
int rpa_headwing_body_start
Definition librpa_options.h:493
int ifreq_output_wc_start
Definition librpa_options.h:667
LibrpaSwitch output_gw_sigc_mat_kf
Definition librpa_options.h:632
double libri_exx_threshold_C
Definition librpa_options.h:527
int n_bands_chi0
Definition librpa_options.h:211
int option_bvk_remap
BvK remapping convention for band interpolation.
Definition librpa_options.h:247
double minimax_regulation
Definition librpa_options.h:150
int libri_chi0_collect_s0_chunk
Definition librpa_options.h:262
LibrpaSwitch use_qpe_adaptive_damp
Definition librpa_options.h:369
LibrpaTimeFreqGrid tfgrids_type
Type of time/frequency grids.
Definition librpa_options.h:86
long long libri_chi0_collect_max_bytes
Definition librpa_options.h:269
LibrpaSwitch output_exx_mat_k
Definition librpa_options.h:588
LibrpaSwitch use_fullcoul_wc
Definition librpa_options.h:173
double libri_exx_threshold_D
Definition librpa_options.h:532
LibrpaSwitch use_shrink_chi
Definition librpa_options.h:291
int n_params_anacon
Definition librpa_options.h:299
LibrpaSwitch use_kpara_scf_eigvec
Definition librpa_options.h:76
LibrpaSwitch override_qpe_solver_nan
Definition librpa_options.h:384
int n_bands_exclude_chi0
Definition librpa_options.h:227
int n_bands_exclude_sigc
Definition librpa_options.h:236
LibrpaSwitch use_cholesky_gw_wc
Definition librpa_options.h:437