33 use,
intrinsic :: iso_fortran_env
52#ifdef HAVE_LIBXC_FUNCS
69#include "xc_vxc_inc.F90"
73 real(real64),
intent(in) :: global(:,:)
74 real(real64),
intent(out) :: local(:,:)
75 integer,
intent(in) :: n_block
76 integer,
intent(in) :: nspin
77 integer,
intent(in) :: ip
86 local(is, ib) = global(ib + ip - 1, is)
94 real(real64),
intent(in) :: local(:,:)
95 real(real64),
intent(inout) :: global(:,:)
96 integer,
intent(in) :: n_block
97 integer,
intent(in) :: spin_channels
98 integer,
intent(in) :: ip
104 do is = 1, spin_channels
107 global(ib + ip - 1, is) = global(ib + ip - 1, is) + local(is, ib)
This module calculates the derivatives (gradients, Laplacians, etc.) of a function.
This module implements the underlying real-space grid.
This module is intended to contain "only mathematical" functions and procedures.
This module defines various routines, operating on mesh functions.
This module defines the meshes, which are used in Octopus.
This module handles spin dimensions of the states and the k-point distribution.
This module defines the unit system, used for input and output.
pure logical function, public family_is_mgga(family, only_collinear)
Is the xc function part of the mGGA family.
pure logical function, public family_is_gga(family, only_collinear)
Is the xc function part of the GGA family.
logical pure function, public family_is_mgga_with_exc(xcs)
Is the xc function part of the mGGA family with an energy functional.
real(real64), parameter, public xc_tiny
Arbitrary definition of tiny, for use in XC context.
integer, parameter, public lr_x
pure logical function, public family_is_supported(family)
Is the xc family internally supported by Octopus.
pure logical function, public in_family(family, xc_families)
subroutine, public xc_get_vxc(gr, xcs, st, kpoints, psolver, namespace, space, rho, ispin, rcell_volume, vxc, ex, ec, deltaxc, vtau, ex_density, ec_density, stress_xc, force_orbitalfree)
subroutine xc_compute_vxc(der, xcs, st, psolver, namespace, space, quantities, ispin, vxc, ex, ec, deltaxc, vtau, ex_density, ec_density, stress_xc)
subroutine copy_local_to_global(local, global, n_block, spin_channels, ip)
subroutine copy_global_to_local(global, local, n_block, nspin, ip)