35 use,
intrinsic :: iso_fortran_env
55#ifdef HAVE_LIBXC_FUNCS
70 type(accel_kernel_t),
save :: kernel_xc_dens_extract_block
71 type(accel_kernel_t),
save :: kernel_xc_dens_apply_corrections
75#include "xc_vxc_inc.F90"
79 real(real64),
intent(in) :: global(:,:)
80 real(real64),
intent(out) :: local(:,:)
81 integer,
intent(in) :: n_block
82 integer,
intent(in) :: nspin
83 integer,
intent(in) :: ip
92 local(is, ib) = global(ib + ip - 1, is)
100 real(real64),
intent(in) :: local(:,:)
101 real(real64),
intent(inout) :: global(:,:)
102 integer,
intent(in) :: n_block
103 integer,
intent(in) :: spin_channels
104 integer,
intent(in) :: ip
110 do is = 1, spin_channels
113 global(ib + ip - 1, is) = global(ib + ip - 1, is) + local(is, ib)
This module contains interfaces for routines in allocate_hardware_aware.c.
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, force_host)
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)