librpa_f03.f90 File Reference#
|
LibRPA
|
librpa_f03.f90 File Reference
Fortran 2003 binding for LibRPA. More...
Data Types | |
| type | librpa_f03::librpaoptions |
| High-level Fortran wrapper for runtime options. More... | |
| type | librpa_f03::librpahandler |
| High-level Fortran wrapper for LibRPA handler. More... | |
Modules | |
| module | librpa_f03 |
| Fortran 2003 module for LibRPA API. | |
Variables | |
| integer, parameter, public | librpa_f03::dp = ${LIBRPA_FORTRAN_DP} |
| Double precision kind for user data. | |
| integer, parameter, public | librpa_f03::librpa_max_strlen = 200 |
| Maximum length for string parameters. | |
Verbosity levels | |
Controls the amount of output during computation. | |
| integer, parameter, public | librpa_f03::librpa_verbose_debug = 4 |
| Debug output. | |
| integer, parameter, public | librpa_f03::librpa_verbose_info = 3 |
| Informational messages. | |
| integer, parameter, public | librpa_f03::librpa_verbose_warn = 2 |
| Warnings and above. | |
| integer, parameter, public | librpa_f03::librpa_verbose_critical = 1 |
| Critical errors only. | |
| integer, parameter, public | librpa_f03::librpa_verbose_silent = 0 |
| No output. | |
Parallel routing strategies | |
Specifies how computation is distributed across MPI processes. | |
| integer, parameter, public | librpa_f03::librpa_routing_unset = LIBRPA_UNSET |
| Unset. | |
| integer, parameter, public | librpa_f03::librpa_routing_auto = LIBRPA_AUTO |
| Auto-select. | |
| integer, parameter, public | librpa_f03::librpa_routing_rtau = 0 |
| Real-space tau decomposition. | |
| integer, parameter, public | librpa_f03::librpa_routing_atompair = 1 |
| Atom-pair parallelization. | |
| integer, parameter, public | librpa_f03::librpa_routing_libri = 2 |
| Use LibRI for RI basis. | |
Time-frequency grid types | |
Different grid types for numerical integration. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_unset = LIBRPA_UNSET |
| Unset. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_gl = 0 |
| Gauss-Legendre. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_gci = 1 |
| Gauss-Chebyshev type I. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_gcii = 2 |
| Gauss-Chebyshev type II. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_minimax = 3 |
| Minimax grid. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_evenspaced = 4 |
| Evenly spaced. | |
| integer, parameter, public | librpa_f03::librpa_tfgrid_evenspaced_tf = 5 |
| Evenly spaced in time-frequency. | |
Angular basis ordering conventions | |
Ordering of real spherical harmonics inside one angular-momentum shell. | |
| integer, parameter, public | librpa_f03::librpa_angular_order_unset = LIBRPA_UNSET |
| Unknown or not specified. | |
| integer, parameter, public | librpa_f03::librpa_angular_order_natural = 0 |
| -l, -l+1, ..., l-1, l | |
| integer, parameter, public | librpa_f03::librpa_angular_order_abs_pm = 1 |
| 0, 1, -1, 2, -2, ... | |
| integer, parameter, public | librpa_f03::librpa_angular_order_openmx = 2 |
| OpenMX ordering. | |
| integer, parameter, public | librpa_f03::librpa_angular_order_pyscf = 3 |
| PySCF ordering. | |
Real spherical harmonic coefficient conventions | |
Coefficient-pair conventions for nonzero real spherical harmonic branches. | |
| integer, parameter, public | librpa_f03::librpa_rsh_coeff_unset = LIBRPA_UNSET |
| Unknown or not specified. | |
| integer, parameter, public | librpa_f03::librpa_rsh_coeff_1_m = 0 |
| {1, (-1)^m} | |
| integer, parameter, public | librpa_f03::librpa_rsh_coeff_m_1 = 1 |
| {(-1)^m, 1} | |
Switch values | |
Boolean switch as integer type (compatible with C). | |
Type definitions | |
| subroutine, public | librpa_f03::librpa_init_global (sw_redirect, redirect_path, sw_process) |
| Initialize the global computing environment of LibRPA. | |
| subroutine, public | librpa_f03::librpa_finalize_global () |
| Release all internal data and finalize the global computing environment of LibRPA. | |
| subroutine, public | librpa_f03::librpa_set_output_level (output_level) |
| Set global LibRPA stdout verbosity. | |
| integer function, public | librpa_f03::librpa_get_output_level () |
| Get global LibRPA stdout verbosity. | |
| integer function, public | librpa_f03::librpa_get_major_version () |
| Get major version number. | |
| integer function, public | librpa_f03::librpa_get_minor_version () |
| Get minor version number. | |
| integer function, public | librpa_f03::librpa_get_patch_version () |
| Get patch version number. | |
| subroutine, public | librpa_f03::librpa_test () |
| Run internal self-tests. | |
| subroutine, public | librpa_f03::librpa_print_profile () |
| Print profiling information. | |
Detailed Description
Fortran 2003 binding for LibRPA.
This module provides Fortran interfaces to LibRPA functionality for performing RPA correlation energy, exact exchange, and G0W0 calculations.
Usage
Typical workflow:
use librpa_f03
implicit none
type(LibrpaOptions) :: opts
type(LibrpaHandler) :: h
! Initialize LibRPA environment
call librpa_init_global()
! Initialize options
call opts%init()
! Create handler
call h%init(mpi_comm_world)
! Set input data
call h%set_scf_dimension(nspins, nkpts, nstates, nbasis)
! ... set more input data ...
! Perform calculation
ec = h%get_rpa_correlation_energy(h, opts, nkpts_ibz, contrib_ibzk(:))
! Clean up
call h%free()
call librpa_finalize_global()
void librpa_init_global(LibrpaSwitch switch_redirect_stdout=LIBRPA_SWITCH_OFF, const char *redirect_path="stdout", LibrpaSwitch switch_process_output=LIBRPA_SWITCH_ON)
Initialize the global LibRPA environment.
void librpa_set_output_level(LibrpaVerbose output_level)
Set the global LibRPA stdout verbosity.
integer, parameter, public librpa_verbose_info
Informational messages.
Definition librpa_f03.f90:65
Generated by