librpa_compute.h Source File

librpa_compute.h Source File#

LibRPA: librpa_compute.h Source File
LibRPA
librpa_compute.h
Go to the documentation of this file.
1#pragma once
6
7#include "librpa_handler.h"
8#include "librpa_options.h"
9
10// C APIs
11#ifdef __cplusplus
12extern "C" {
13#endif
14
27 double *omegas, double *weights);
28
43 int n_ibz_kpoints, double *rpa_corr_ibzk_contrib_re,
44 double *rpa_corr_ibzk_contrib_im);
45
47
52
54
68 const int n_spins, const int n_kpts_this, const int *iks_this,
69 int i_state_low, int i_state_high, double *vexx);
70
72
86 const int n_spins, const int n_kpts_band_this, const int *iks_band_this,
87 int i_state_low, int i_state_high, double *vexx_band);
88
90
95
97
118 const int n_spins, const int n_kpts_this,
119 const int *iks_this, int i_state_low, int i_state_high,
120 const double *vxc, const double *vexx, double *sigc_re, double *sigc_im);
121
123
148 const int n_spins, const int n_kpts_this,
149 const int *iks_this, int i_state_low, int i_state_high,
150 const double *vxc, const double *vexx, double *sigc_re,
151 double *sigc_im, double *eqp);
152
154
178 LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins,
179 const int n_kpts_this, const int *iks_this, int i_state_low, int i_state_high,
180 const int n_omegas, const double *omegas, const double *vxc, const double *vexx,
181 double *spectral_function, double *sigc);
182
184
205 const int n_spins, const int n_kpts_band_this,
206 const int *iks_band_this, int i_state_low, int i_state_high,
207 const double *vxc_band, const double *vexx_band, double *sigc_band_re, double *sigc_band_im);
208
210
235 const int n_spins, const int n_kpts_band_this,
236 const int *iks_band_this, int i_state_low, int i_state_high,
237 const double *vxc_band, const double *vexx_band,
238 double *sigc_band_re, double *sigc_band_im,
239 double *eqp_band);
240
242
265 LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins,
266 const int n_kpts_band_this, const int *iks_band_this, int i_state_low,
267 int i_state_high, const int n_omegas, const double *omegas,
268 const double *vxc_band, const double *vexx_band, double *spectral_function_band,
269 double *sigc_band);
270
271#ifdef __cplusplus
272}
273#endif
void librpa_get_g0w0_sigc_kgrid(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_this, const int *iks_this, int i_state_low, int i_state_high, const double *vxc, const double *vexx, double *sigc_re, double *sigc_im)
Obtain correlation self-energies for selected states.
void librpa_get_g0w0_qpe_band_k(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_band_this, const int *iks_band_this, int i_state_low, int i_state_high, const double *vxc_band, const double *vexx_band, double *sigc_band_re, double *sigc_band_im, double *eqp_band)
Obtain correlation self-energies and QP energies for selected band-k states.
void librpa_build_exx(LibrpaHandler *h, const LibrpaOptions *p_opts)
Build exact-exchange matrix.
void librpa_get_g0w0_spectral_function_kgrid(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_this, const int *iks_this, int i_state_low, int i_state_high, const int n_omegas, const double *omegas, const double *vxc, const double *vexx, double *spectral_function, double *sigc)
Obtain spectral functions for selected k-grid states.
void librpa_get_g0w0_qpe_kgrid(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_this, const int *iks_this, int i_state_low, int i_state_high, const double *vxc, const double *vexx, double *sigc_re, double *sigc_im, double *eqp)
Obtain correlation self-energies and QP energies for selected states.
void librpa_build_g0w0_sigma(LibrpaHandler *h, const LibrpaOptions *p_opts)
Build self-energy matrix of G0W0, including the correlation and exchange contributions.
void librpa_get_exx_pot_band_k(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_band_this, const int *iks_band_this, int i_state_low, int i_state_high, double *vexx_band)
Obtain exact-exchange potential for selected states at band k-points.
double librpa_get_rpa_correlation_energy(LibrpaHandler *h, const LibrpaOptions *p_opts, int n_ibz_kpoints, double *rpa_corr_ibzk_contrib_re, double *rpa_corr_ibzk_contrib_im)
Compute RPA correlation energy.
void librpa_get_imaginary_frequency_grids(LibrpaHandler *h, const LibrpaOptions *p_opts, double *omegas, double *weights)
Construct and return frequency grids for numerical integration.
void librpa_get_g0w0_sigc_band_k(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_band_this, const int *iks_band_this, int i_state_low, int i_state_high, const double *vxc_band, const double *vexx_band, double *sigc_band_re, double *sigc_band_im)
Obtain correlation self-energies for selected states at band k-points.
void librpa_get_g0w0_spectral_function_band_k(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_band_this, const int *iks_band_this, int i_state_low, int i_state_high, const int n_omegas, const double *omegas, const double *vxc_band, const double *vexx_band, double *spectral_function_band, double *sigc_band)
Obtain spectral functions for selected band-k states.
void librpa_get_exx_pot_kgrid(LibrpaHandler *h, const LibrpaOptions *p_opts, const int n_spins, const int n_kpts_this, const int *iks_this, int i_state_low, int i_state_high, double *vexx)
Obtain exact-exchange potential for selected states.
Handler management for LibRPA instances.
Runtime options for LibRPA calculations.
Opaque handle to a LibRPA instance.
Definition librpa_handler.h:26
Runtime options structure for LibRPA calculations.
Definition librpa_options.h:35