![]() |
(git:b77b4be)
|
Calculates the exchange energy based on the Becke-Roussel exchange hole. Takes advantage of an analytical representation of the hole in order to avoid solving a non-linear equation by means of Newton- Raphson algorithm. More...
Functions/Subroutines | |
subroutine, public | xbecke_roussel_lda_info (reference, shortform, needs, max_deriv) |
return various information on the functional | |
subroutine, public | xbecke_roussel_lsd_info (reference, shortform, needs, max_deriv) |
return various information on the functional | |
subroutine, public | xbecke_roussel_lda_eval (rho_set, deriv_set, grad_deriv, br_params) |
evaluates the Becke Roussel exchange functional for lda | |
subroutine, public | xbecke_roussel_lsd_eval (rho_set, deriv_set, grad_deriv, br_params) |
evaluates the Becke Roussel exchange functional for lda | |
subroutine, public | x_br_lsd_y_lte_0 (rho, ndrho, tau, laplace_rho, e_0, e_rho, e_ndrho, e_tau, e_laplace_rho, sx, gamma, grad_deriv) |
full range evaluation for y <= 0 | |
subroutine, public | x_br_lsd_y_gt_0 (rho, ndrho, tau, laplace_rho, e_0, e_rho, e_ndrho, e_tau, e_laplace_rho, sx, gamma, grad_deriv) |
Full range evaluation for y > 0. | |
subroutine, public | x_br_lsd_y_lte_0_cutoff (rho, ndrho, tau, laplace_rho, e_0, e_rho, e_ndrho, e_tau, e_laplace_rho, sx, r, gamma, grad_deriv) |
Truncated long range part for y <= 0. | |
subroutine, public | x_br_lsd_y_gt_0_cutoff (rho, ndrho, tau, laplace_rho, e_0, e_rho, e_ndrho, e_tau, e_laplace_rho, sx, r, gamma, grad_deriv) |
Truncated long range part for y > 0. | |
Calculates the exchange energy based on the Becke-Roussel exchange hole. Takes advantage of an analytical representation of the hole in order to avoid solving a non-linear equation by means of Newton- Raphson algorithm.
subroutine, public xc_xbecke_roussel::xbecke_roussel_lda_info | ( | character(len=*), intent(out), optional | reference, |
character(len=*), intent(out), optional | shortform, | ||
type(xc_rho_cflags_type), intent(inout), optional | needs, | ||
integer, intent(out), optional | max_deriv | ||
) |
return various information on the functional
reference | string with the reference of the actual functional |
shortform | string with the shortform of the functional name |
needs | the components needed by this functional are set to true (does not set the unneeded components to false) |
max_deriv | controls the number of derivatives |
Definition at line 90 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::xbecke_roussel_lsd_info | ( | character(len=*), intent(out), optional | reference, |
character(len=*), intent(out), optional | shortform, | ||
type(xc_rho_cflags_type), intent(inout), optional | needs, | ||
integer, intent(out), optional | max_deriv | ||
) |
return various information on the functional
reference | string with the reference of the actual functional |
shortform | string with the shortform of the functional name |
needs | the components needed by this functional are set to true (does not set the unneeded components to false) |
max_deriv | ... |
Definition at line 126 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::xbecke_roussel_lda_eval | ( | type(xc_rho_set_type), intent(in) | rho_set, |
type(xc_derivative_set_type), intent(in) | deriv_set, | ||
integer, intent(in) | grad_deriv, | ||
type(section_vals_type), pointer | br_params | ||
) |
evaluates the Becke Roussel exchange functional for lda
rho_set | the density where you want to evaluate the functional |
deriv_set | place where to store the functional derivatives (they are added to the derivatives) |
grad_deriv | degree of the derivative that should be evaluated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated |
br_params | parameters for the becke roussel functional |
Definition at line 163 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::xbecke_roussel_lsd_eval | ( | type(xc_rho_set_type), intent(in) | rho_set, |
type(xc_derivative_set_type), intent(in) | deriv_set, | ||
integer, intent(in) | grad_deriv, | ||
type(section_vals_type), pointer | br_params | ||
) |
evaluates the Becke Roussel exchange functional for lda
rho_set | the density where you want to evaluate the functional |
deriv_set | place where to store the functional derivatives (they are added to the derivatives) |
grad_deriv | degree of the derivative that should be evaluated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated |
br_params | parameters for the becke roussel functional |
Definition at line 360 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::x_br_lsd_y_lte_0 | ( | real(dp), intent(in) | rho, |
real(dp), intent(in) | ndrho, | ||
real(dp), intent(in) | tau, | ||
real(dp), intent(in) | laplace_rho, | ||
real(dp), intent(inout) | e_0, | ||
real(dp), intent(inout) | e_rho, | ||
real(dp), intent(inout) | e_ndrho, | ||
real(dp), intent(inout) | e_tau, | ||
real(dp), intent(inout) | e_laplace_rho, | ||
real(dp), intent(in) | sx, | ||
real(dp), intent(in) | gamma, | ||
integer, intent(in) | grad_deriv | ||
) |
full range evaluation for y <= 0
rho | ... |
ndrho | ... |
tau | ... |
laplace_rho | ... |
e_0 | ... |
e_rho | ... |
e_ndrho | ... |
e_tau | ... |
e_laplace_rho | ... |
sx | ... |
gamma | ... |
grad_deriv | ... |
Definition at line 571 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::x_br_lsd_y_gt_0 | ( | real(dp), intent(in) | rho, |
real(dp), intent(in) | ndrho, | ||
real(dp), intent(in) | tau, | ||
real(dp), intent(in) | laplace_rho, | ||
real(dp), intent(inout) | e_0, | ||
real(dp), intent(inout) | e_rho, | ||
real(dp), intent(inout) | e_ndrho, | ||
real(dp), intent(inout) | e_tau, | ||
real(dp), intent(inout) | e_laplace_rho, | ||
real(dp), intent(in) | sx, | ||
real(dp), intent(in) | gamma, | ||
integer, intent(in) | grad_deriv | ||
) |
Full range evaluation for y > 0.
rho | ... |
ndrho | ... |
tau | ... |
laplace_rho | ... |
e_0 | ... |
e_rho | ... |
e_ndrho | ... |
e_tau | ... |
e_laplace_rho | ... |
sx | ... |
gamma | ... |
grad_deriv | ... |
Definition at line 815 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::x_br_lsd_y_lte_0_cutoff | ( | real(dp), intent(in) | rho, |
real(dp), intent(in) | ndrho, | ||
real(dp), intent(in) | tau, | ||
real(dp), intent(in) | laplace_rho, | ||
real(dp), intent(inout) | e_0, | ||
real(dp), intent(inout) | e_rho, | ||
real(dp), intent(inout) | e_ndrho, | ||
real(dp), intent(inout) | e_tau, | ||
real(dp), intent(inout) | e_laplace_rho, | ||
real(dp), intent(in) | sx, | ||
real(dp), intent(in) | r, | ||
real(dp), intent(in) | gamma, | ||
integer, intent(in) | grad_deriv | ||
) |
Truncated long range part for y <= 0.
rho | ... |
ndrho | ... |
tau | ... |
laplace_rho | ... |
e_0 | ... |
e_rho | ... |
e_ndrho | ... |
e_tau | ... |
e_laplace_rho | ... |
sx | ... |
R | ... |
gamma | ... |
grad_deriv | ... |
Definition at line 1073 of file xc_xbecke_roussel.F.
subroutine, public xc_xbecke_roussel::x_br_lsd_y_gt_0_cutoff | ( | real(dp), intent(in) | rho, |
real(dp), intent(in) | ndrho, | ||
real(dp), intent(in) | tau, | ||
real(dp), intent(in) | laplace_rho, | ||
real(dp), intent(inout) | e_0, | ||
real(dp), intent(inout) | e_rho, | ||
real(dp), intent(inout) | e_ndrho, | ||
real(dp), intent(inout) | e_tau, | ||
real(dp), intent(inout) | e_laplace_rho, | ||
real(dp), intent(in) | sx, | ||
real(dp), intent(in) | r, | ||
real(dp), intent(in) | gamma, | ||
integer, intent(in) | grad_deriv | ||
) |
Truncated long range part for y > 0.
rho | ... |
ndrho | ... |
tau | ... |
laplace_rho | ... |
e_0 | ... |
e_rho | ... |
e_ndrho | ... |
e_tau | ... |
e_laplace_rho | ... |
sx | ... |
R | ... |
gamma | ... |
grad_deriv | ... |
Definition at line 1831 of file xc_xbecke_roussel.F.