Octopus
xc_oct_m Module Reference

Data Types

type  internal_quantities_t
 
type  xc_t
 

Functions/Subroutines

subroutine, public xc_write_info (xcs, iunit, namespace)
 
subroutine, public xc_write_fxc_info (xcs, iunit, namespace)
 
subroutine, public xc_init (xcs, namespace, ndim, periodic_dim, nel, x_id, c_id, xk_id, ck_id, hartree_fock, ispin)
 
subroutine, public xc_end (xcs)
 
logical pure function, public xc_is_orbital_dependent (xcs)
 Is the xc family orbital dependent. More...
 
pure logical function, public family_is_gga (family, only_collinear)
 Is the xc function part of the GGA family. More...
 
pure logical function, public family_is_supported (family)
 Is the xc family internally supported by Octopus. More...
 
pure logical function, public family_is_mgga (family, only_collinear)
 Is the xc function part of the mGGA family. More...
 
pure logical function, public family_is_nc_mgga (family)
 
logical pure function, public family_is_mgga_with_exc (xcs)
 Is the xc function part of the mGGA family with an energy functional. More...
 
logical pure function, public family_is_hybrid (xcs)
 Returns true if the functional is an hybrid functional. More...
 
pure logical function, public in_family (family, xc_families)
 
logical function xc_compute_exchange (xc, theory_level)
 Theory levels and functionals for which exacy exchange is required. More...
 
subroutine set_hybrid_params (xcs, namespace, cam_ext)
 Sets external parameters for some hybrid functionals. More...
 
logical function, public xc_is_not_size_consistent (xcs, namespace)
 Is one of the x or c functional is not size consistent. More...
 
logical pure function, public xc_is_energy_functional (xcs)
 Is one of the x or c functional is not an energy functional. More...
 

Variables

real(real64), parameter, public xc_tiny = 1.0e-12_real64
 Arbitrary definition of tiny, for use in XC context. More...
 
integer, parameter, public lr_none = 0
 
integer, parameter, public lr_x = 1
 

Function/Subroutine Documentation

◆ xc_write_info()

subroutine, public xc_oct_m::xc_write_info ( type(xc_t), intent(in)  xcs,
integer, intent(in), optional  iunit,
type(namespace_t), intent(in), optional  namespace 
)

Definition at line 225 of file xc.F90.

◆ xc_write_fxc_info()

subroutine, public xc_oct_m::xc_write_fxc_info ( type(xc_t), intent(in)  xcs,
integer, intent(in), optional  iunit,
type(namespace_t), intent(in), optional  namespace 
)

Definition at line 254 of file xc.F90.

◆ xc_init()

subroutine, public xc_oct_m::xc_init ( type(xc_t), intent(out)  xcs,
type(namespace_t), intent(in)  namespace,
integer, intent(in)  ndim,
integer, intent(in)  periodic_dim,
real(real64), intent(in)  nel,
integer, intent(in)  x_id,
integer, intent(in)  c_id,
integer, intent(in)  xk_id,
integer, intent(in)  ck_id,
logical, intent(in)  hartree_fock,
integer, intent(in)  ispin 
)

Definition at line 275 of file xc.F90.

◆ xc_end()

subroutine, public xc_oct_m::xc_end ( type(xc_t), intent(inout)  xcs)

Definition at line 517 of file xc.F90.

◆ xc_is_orbital_dependent()

logical pure function, public xc_oct_m::xc_is_orbital_dependent ( type(xc_t), intent(in)  xcs)

Is the xc family orbital dependent.

Note that at the moment this routine consider all mGGAs to be orbital dependent while it should be formally only the one having a dependence in vtau

Definition at line 541 of file xc.F90.

◆ family_is_gga()

pure logical function, public xc_oct_m::family_is_gga ( integer, intent(in)  family,
logical, intent(in), optional  only_collinear 
)

Is the xc function part of the GGA family.

Definition at line 552 of file xc.F90.

◆ family_is_supported()

pure logical function, public xc_oct_m::family_is_supported ( integer, intent(in)  family)

Is the xc family internally supported by Octopus.

This is used internally to check if we need to call libxc or not OEP functionals are treated separately.

Definition at line 570 of file xc.F90.

◆ family_is_mgga()

pure logical function, public xc_oct_m::family_is_mgga ( integer, intent(in), optional  family,
logical, intent(in), optional  only_collinear 
)

Is the xc function part of the mGGA family.

Definition at line 579 of file xc.F90.

◆ family_is_nc_mgga()

pure logical function, public xc_oct_m::family_is_nc_mgga ( integer, intent(in)  family)

Definition at line 590 of file xc.F90.

◆ family_is_mgga_with_exc()

logical pure function, public xc_oct_m::family_is_mgga_with_exc ( type(xc_t), intent(in)  xcs)

Is the xc function part of the mGGA family with an energy functional.

Definition at line 598 of file xc.F90.

◆ family_is_hybrid()

logical pure function, public xc_oct_m::family_is_hybrid ( type(xc_t), intent(in)  xcs)

Returns true if the functional is an hybrid functional.

Definition at line 613 of file xc.F90.

◆ in_family()

pure logical function, public xc_oct_m::in_family ( integer, intent(in)  family,
integer, dimension(:), intent(in)  xc_families 
)

Definition at line 626 of file xc.F90.

◆ xc_compute_exchange()

logical function xc_oct_m::xc_compute_exchange ( class(xc_t), intent(in)  xc,
integer, intent(in)  theory_level 
)
private

Theory levels and functionals for which exacy exchange is required.

Definition at line 634 of file xc.F90.

◆ set_hybrid_params()

subroutine xc_oct_m::set_hybrid_params ( type(xc_t), intent(inout)  xcs,
type(namespace_t), intent(in)  namespace,
type(xc_cam_t), intent(in)  cam_ext 
)
private

Sets external parameters for some hybrid functionals.

Parameters
[in]cam_extExternal CAM parameters to add for the hybrids

Definition at line 653 of file xc.F90.

◆ xc_is_not_size_consistent()

logical function, public xc_oct_m::xc_is_not_size_consistent ( type(xc_t), intent(in)  xcs,
type(namespace_t), intent(in)  namespace 
)

Is one of the x or c functional is not size consistent.

Definition at line 696 of file xc.F90.

◆ xc_is_energy_functional()

logical pure function, public xc_oct_m::xc_is_energy_functional ( type(xc_t), intent(in)  xcs)

Is one of the x or c functional is not an energy functional.

Definition at line 706 of file xc.F90.

Variable Documentation

◆ xc_tiny

real(real64), parameter, public xc_oct_m::xc_tiny = 1.0e-12_real64

Arbitrary definition of tiny, for use in XC context.

Definition at line 216 of file xc.F90.

◆ lr_none

integer, parameter, public xc_oct_m::lr_none = 0

Definition at line 218 of file xc.F90.

◆ lr_x

integer, parameter, public xc_oct_m::lr_x = 1

Definition at line 218 of file xc.F90.