Octopus
xc_fbe.F90 File Reference

Go to the source code of this file.

Modules

module  xc_fbe_oct_m
 

Functions/Subroutines

subroutine, public xc_fbe_oct_m::x_fbe_calc (id, namespace, psolver, gr, st, space, ex, vxc)
 Interface to X(x_fbe_calc) Two possible run modes possible: adiabatic and Sturm-Liouville. In the first one, we assume no current and solve the local force-balance equation In the second case, we solve the Sturm-Liouville equation The energy is given by the virial relation. More...
 
subroutine xc_fbe_oct_m::solve_sturm_liouville (namespace, gr, st, space, fxc, vxc)
 Solve the Sturm-Liouville equation On entry, vxc is the adiabatic one, on exit, it is the solution of the Sturm-Liouville equation. More...
 
subroutine sl_operator (x, hx)
 Computes Ax = \nabla\cdot(\rho\nabla x) More...
 
subroutine preconditioner (x, hx)
 Simple preconditioner Here we need to approximate P^-1 We use the Jacobi approximation and that \nabla\cdot[ \rho \nabla v] \approx \rho \nabla^2 v. More...
 
real(real64) function xc_fbe_oct_m::get_virial_energy (gr, nspin, fxc)
 Computes the energy from the force virial relation. More...
 
subroutine, public xc_fbe_oct_m::lda_c_fbe (st, n_blocks, l_dens, l_dedd, l_zk)
 Computes the local density correlation potential and energy obtained from the Colle-Salvetti approximation to the reduced density matrix, with a gradient expansion on the correlation force density. More...
 
subroutine, public xc_fbe_oct_m::fbe_c_lda_sl (namespace, psolver, gr, st, space, ec, vxc)
 Sturm-Liouville version of the FBE local-density correlation functional. More...
 
subroutine xc_fbe_oct_m::dx_fbe_calc (namespace, psolver, mesh, der, st, ex, vxc, fxc)
 
subroutine xc_fbe_oct_m::dfbe_x (namespace, mesh, der, psolver, st, isp, ex, vxc, fxc)
 This routine is adapted from the dslater routine. More...
 
subroutine xc_fbe_oct_m::zx_fbe_calc (namespace, psolver, mesh, der, st, ex, vxc, fxc)
 
subroutine xc_fbe_oct_m::zfbe_x (namespace, mesh, der, psolver, st, isp, ex, vxc, fxc)
 This routine is adapted from the zslater routine. More...
 

Variables

type(grid_t), pointer xc_fbe_oct_m::gr_aux => null()
 
real(real64), dimension(:), pointer xc_fbe_oct_m::rho_aux => null()
 
real(real64), dimension(:), allocatable xc_fbe_oct_m::diag_lapl
 diagonal of the laplacian More...
 

Function/Subroutine Documentation

◆ sl_operator()

subroutine solve_sturm_liouville::sl_operator ( real(real64), dimension(:), intent(in), contiguous  x,
real(real64), dimension(:), intent(out), contiguous  hx 
)
private

Computes Ax = \nabla\cdot(\rho\nabla x)

Definition at line 276 of file xc_fbe.F90.

◆ preconditioner()

subroutine solve_sturm_liouville::preconditioner ( real(real64), dimension(:), intent(in), contiguous  x,
real(real64), dimension(:), intent(out), contiguous  hx 
)
private

Simple preconditioner Here we need to approximate P^-1 We use the Jacobi approximation and that \nabla\cdot[ \rho \nabla v] \approx \rho \nabla^2 v.

Definition at line 310 of file xc_fbe.F90.