Octopus
|
Functions/Subroutines | |
subroutine, public | 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 | 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... | |
real(real64) function | get_virial_energy (gr, nspin, fxc) |
Computes the energy from the force virial relation. More... | |
subroutine, public | 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 | fbe_c_lda_sl (namespace, psolver, gr, st, space, ec, vxc) |
Sturm-Liouville version of the FBE local-density correlation functional. More... | |
subroutine | dx_fbe_calc (namespace, psolver, mesh, der, st, ex, vxc, fxc) |
subroutine | dfbe_x (namespace, mesh, der, psolver, st, isp, ex, vxc, fxc) |
This routine is adapted from the dslater routine. More... | |
subroutine | zx_fbe_calc (namespace, psolver, mesh, der, st, ex, vxc, fxc) |
subroutine | 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 | gr_aux => null() |
real(real64), dimension(:), pointer | rho_aux => null() |
real(real64), dimension(:), allocatable | diag_lapl |
diagonal of the laplacian More... | |
subroutine, public xc_fbe_oct_m::x_fbe_calc | ( | integer, intent(in) | id, |
type(namespace_t), intent(in) | namespace, | ||
type(poisson_t), intent(in) | psolver, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(inout) | st, | ||
type(space_t), intent(in) | space, | ||
real(real64), intent(inout) | ex, | ||
real(real64), dimension(:,:), intent(inout), optional, contiguous | 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.
[in,out] | vxc | vxc(grmeshnp, stdnspin) |
Definition at line 164 of file xc_fbe.F90.
|
private |
Solve the Sturm-Liouville equation On entry, vxc is the adiabatic one, on exit, it is the solution of the Sturm-Liouville equation.
Definition at line 219 of file xc_fbe.F90.
|
private |
Computes the energy from the force virial relation.
Definition at line 327 of file xc_fbe.F90.
subroutine, public xc_fbe_oct_m::lda_c_fbe | ( | type(states_elec_t), intent(in) | st, |
integer, intent(in) | n_blocks, | ||
real(real64), dimension(:,:), intent(in) | l_dens, | ||
real(real64), dimension(:,:), intent(inout) | l_dedd, | ||
real(real64), dimension(:), intent(inout), optional | 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.
The spin-polarized case does not have an energy and uses the approximated potential that neglects \nabla \zeta. The energy is therefore wrong for the spin-polarized case
Definition at line 362 of file xc_fbe.F90.
subroutine, public xc_fbe_oct_m::fbe_c_lda_sl | ( | type(namespace_t), intent(in) | namespace, |
type(poisson_t), intent(in) | psolver, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(inout) | st, | ||
type(space_t), intent(in) | space, | ||
real(real64), intent(inout) | ec, | ||
real(real64), dimension(:,:), intent(inout), optional, contiguous | vxc | ||
) |
Sturm-Liouville version of the FBE local-density correlation functional.
[in,out] | vxc | vxc(grmeshnp, stdnspin) |
Definition at line 430 of file xc_fbe.F90.
|
private |
[in,out] | vxc | vxc(grmeshnp, stdnspin) |
[out] | fxc | the exchange force density |
Definition at line 579 of file xc_fbe.F90.
|
private |
This routine is adapted from the dslater routine.
[in,out] | vxc | vxc(grmeshnp) |
[in,out] | fxc | the exchange force density |
Definition at line 636 of file xc_fbe.F90.
|
private |
[in,out] | vxc | vxc(grmeshnp, stdnspin) |
[out] | fxc | the exchange force density |
Definition at line 941 of file xc_fbe.F90.
|
private |
This routine is adapted from the zslater routine.
[in,out] | vxc | vxc(grmeshnp) |
[in,out] | fxc | the exchange force density |
Definition at line 998 of file xc_fbe.F90.
|
private |
Definition at line 151 of file xc_fbe.F90.
|
private |
Definition at line 152 of file xc_fbe.F90.
|
private |
diagonal of the laplacian
Definition at line 153 of file xc_fbe.F90.