Octopus
xc_kernel_oct_m Module Reference

Functions/Subroutines

subroutine, public xc_get_fxc (xcs, gr, namespace, rho, ispin, fxc, fxc_grad, fxc_grad_spin)
 Returns the exchange-correlation kernel. More...
 
subroutine, public xc_get_kxc (xcs, mesh, namespace, rho, ispin, kxc)
 

Function/Subroutine Documentation

◆ xc_get_fxc()

subroutine, public xc_kernel_oct_m::xc_get_fxc ( type(xc_t), intent(in), target  xcs,
type(grid_t), intent(in)  gr,
type(namespace_t), intent(in)  namespace,
real(real64), dimension(:, :), intent(inout)  rho,
integer, intent(in)  ispin,
real(real64), dimension(:,:,:), intent(out)  fxc,
real(real64), dimension(:,:,:,:,:), intent(out), optional  fxc_grad,
real(real64), dimension(:,:,:,:), intent(out), optional  fxc_grad_spin 
)

Returns the exchange-correlation kernel.

In general we have the xc kernel of the form fxc(r, r, \sigma, \sigma)

For LDA, this has the form of fxc(r, sigma, sigma<tt>) \delta(r-r)

For GGA, we have extra terms that goes with the gradient (fxc_grad) and further term for spin-polarized systems (fxc_grad_spin)

Parameters
[in]xcsXC type
[in]grReal-space grid
[in,out]rhoElectronic density
[in]ispinSpin component
[out]fxcLocal part of fxc
[out]fxc_gradGradient terms
[out]fxc_grad_spinExtra gradient terms for polarized

Definition at line 171 of file xc_kernel.F90.

◆ xc_get_kxc()

subroutine, public xc_kernel_oct_m::xc_get_kxc ( type(xc_t), intent(in), target  xcs,
class(mesh_t), intent(in)  mesh,
type(namespace_t), intent(in)  namespace,
real(real64), dimension(:, :), intent(in)  rho,
integer, intent(in)  ispin,
real(real64), dimension(:,:,:,:), intent(inout)  kxc 
)

Definition at line 513 of file xc_kernel.F90.