(git:08825b9)
Loading...
Searching...
No Matches
xc_xbecke_roussel Module Reference

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.

Detailed Description

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.

Note
History
12.2008 created [mguidon]
Author
mguidon

Function/Subroutine Documentation

◆ xbecke_roussel_lda_info()

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

Parameters
referencestring with the reference of the actual functional
shortformstring with the shortform of the functional name
needsthe components needed by this functional are set to true (does not set the unneeded components to false)
max_derivcontrols the number of derivatives
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 90 of file xc_xbecke_roussel.F.

Here is the caller graph for this function:

◆ xbecke_roussel_lsd_info()

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

Parameters
referencestring with the reference of the actual functional
shortformstring with the shortform of the functional name
needsthe components needed by this functional are set to true (does not set the unneeded components to false)
max_deriv...
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 126 of file xc_xbecke_roussel.F.

Here is the caller graph for this function:

◆ xbecke_roussel_lda_eval()

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

Parameters
rho_setthe density where you want to evaluate the functional
deriv_setplace where to store the functional derivatives (they are added to the derivatives)
grad_derivmaximum degree of the derivative that should be evaluated
br_paramsparameters for the becke roussel functional
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 161 of file xc_xbecke_roussel.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xbecke_roussel_lsd_eval()

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

Parameters
rho_setthe density where you want to evaluate the functional
deriv_setplace where to store the functional derivatives (they are added to the derivatives)
grad_derivmaximum degree of the derivative that should be evaluated
br_paramsparameters for the becke roussel functional
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 352 of file xc_xbecke_roussel.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ x_br_lsd_y_lte_0()

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

Parameters
rho...
ndrho...
tau...
laplace_rho...
e_0...
e_rho...
e_ndrho...
e_tau...
e_laplace_rho...
sx...
gamma...
grad_deriv...
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 559 of file xc_xbecke_roussel.F.

Here is the caller graph for this function:

◆ x_br_lsd_y_gt_0()

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.

Parameters
rho...
ndrho...
tau...
laplace_rho...
e_0...
e_rho...
e_ndrho...
e_tau...
e_laplace_rho...
sx...
gamma...
grad_deriv...
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 801 of file xc_xbecke_roussel.F.

Here is the caller graph for this function:

◆ x_br_lsd_y_lte_0_cutoff()

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.

Parameters
rho...
ndrho...
tau...
laplace_rho...
e_0...
e_rho...
e_ndrho...
e_tau...
e_laplace_rho...
sx...
R...
gamma...
grad_deriv...
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 1057 of file xc_xbecke_roussel.F.

Here is the caller graph for this function:

◆ x_br_lsd_y_gt_0_cutoff()

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.

Parameters
rho...
ndrho...
tau...
laplace_rho...
e_0...
e_rho...
e_ndrho...
e_tau...
e_laplace_rho...
sx...
R...
gamma...
grad_deriv...
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 1811 of file xc_xbecke_roussel.F.

Here is the caller graph for this function: