librpa_f03 Module Reference

librpa_f03 Module Reference#

LibRPA: librpa_f03 Module Reference
LibRPA
librpa_f03 Module Reference

Fortran 2003 module for LibRPA API. More...

Data Types

type  librpahandler
 High-level Fortran wrapper for LibRPA handler. More...
 
type  librpaoptions
 High-level Fortran wrapper for runtime options. More...
 

Variables

integer, parameter, public dp = ${LIBRPA_FORTRAN_DP}
 Double precision kind for user data.
 
integer, parameter, public librpa_max_strlen = 200
 Maximum length for string parameters.
 
Verbosity levels

Controls the amount of output during computation.

integer, parameter, public librpa_verbose_debug = 4
 Debug output.
 
integer, parameter, public librpa_verbose_warn = 3
 Warnings and above.
 
integer, parameter, public librpa_verbose_info = 2
 Informational messages.
 
integer, parameter, public librpa_verbose_critical = 1
 Critical errors only.
 
integer, parameter, public librpa_verbose_silent = 0
 No output.
 
Parallel routing strategies

Specifies how computation is distributed across MPI processes.

integer, parameter, public librpa_routing_unset = LIBRPA_UNSET
 Unset.
 
integer, parameter, public librpa_routing_auto = LIBRPA_AUTO
 Auto-select.
 
integer, parameter, public librpa_routing_rtau = 0
 Real-space tau decomposition.
 
integer, parameter, public librpa_routing_atompair = 1
 Atom-pair parallelization.
 
integer, parameter, public librpa_routing_libri = 2
 Use LibRI for RI basis.
 
Time-frequency grid types

Different grid types for numerical integration.

integer, parameter, public librpa_tfgrid_unset = LIBRPA_UNSET
 Unset.
 
integer, parameter, public librpa_tfgrid_gl = 0
 Gauss-Legendre.
 
integer, parameter, public librpa_tfgrid_gci = 1
 Gauss-Chebyshev type I.
 
integer, parameter, public librpa_tfgrid_gcii = 2
 Gauss-Chebyshev type II.
 
integer, parameter, public librpa_tfgrid_minimax = 3
 Minimax grid.
 
integer, parameter, public librpa_tfgrid_evenspaced = 4
 Evenly spaced.
 
integer, parameter, public librpa_tfgrid_evenspaced_tf = 5
 Evenly spaced in time-frequency.
 
Switch values

Boolean switch as integer type (compatible with C).

Type definitions

subroutine, public librpa_init_global (sw_redirect, redirect_path, sw_process)
 Initialize the global computing environment of LibRPA.
 
subroutine, public librpa_finalize_global ()
 Release all internal data and finalize the global computing environment of LibRPA.
 
integer function, public librpa_get_major_version ()
 Get major version number.
 
integer function, public librpa_get_minor_version ()
 Get minor version number.
 
integer function, public librpa_get_patch_version ()
 Get patch version number.
 
subroutine, public librpa_test ()
 Run internal self-tests.
 
subroutine, public librpa_print_profile ()
 Print profiling information.
 

Detailed Description

Fortran 2003 module for LibRPA API.

Function/Subroutine Documentation

◆ librpa_finalize_global()

subroutine, public librpa_f03::librpa_finalize_global ( void )

Release all internal data and finalize the global computing environment of LibRPA.

It should be called after all LibRPA operations are finished.

◆ librpa_get_major_version()

integer function, public librpa_f03::librpa_get_major_version ( void )

Get major version number.

Returns
Major version (X in X.Y.Z).

◆ librpa_get_minor_version()

integer function, public librpa_f03::librpa_get_minor_version ( void )

Get minor version number.

Returns
Minor version (Y in X.Y.Z).

◆ librpa_get_patch_version()

integer function, public librpa_f03::librpa_get_patch_version ( void )

Get patch version number.

Returns
Patch version (Z in X.Y.Z).

◆ librpa_init_global()

subroutine, public librpa_f03::librpa_init_global ( logical, intent(in), optional sw_redirect,
character(len=*), intent(in), optional redirect_path,
logical, intent(in), optional sw_process )

Initialize the global computing environment of LibRPA.

It should be called after MPI initialization and before other LibRPA functions.

Parameters
sw_redirectSwitch of redirecting standard output (default false)
redirect_pathPath of redirected output, only used when sw_redirect is true
sw_processSwitch of writing per-process output (default true)

◆ librpa_print_profile()

subroutine, public librpa_f03::librpa_print_profile ( void )

Print profiling information.

Outputs timing and memory usage statistics.

◆ librpa_test()

subroutine, public librpa_f03::librpa_test ( void )

Run internal self-tests.

Performs basic sanity checks on LibRPA functionality. Useful for debugging issues.

Variable Documentation

◆ dp

integer, parameter, public librpa_f03::dp = ${LIBRPA_FORTRAN_DP}

Double precision kind for user data.

Control it through -DLIBRPA_FORTRAN_DP at compile time.