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
116 const int n_spins, const int n_kpts_this,
117 const int *iks_this, int i_state_low, int i_state_high,
118 const double *vxc, const double *vexx, double *sigc_re, double *sigc_im);
119
121
140 const int n_spins, const int n_kpts_band_this,
141 const int *iks_band_this, int i_state_low, int i_state_high,
142 const double *vxc_band, const double *vexx_band, double *sigc_band_re, double *sigc_band_im);
143
144#ifdef __cplusplus
145}
146#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_build_exx(LibrpaHandler *h, const LibrpaOptions *p_opts)
Build exact-exchange matrix.
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_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:34