(git:3add494)
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 More...
 
subroutine, public xbecke_roussel_lsd_info (reference, shortform, needs, max_deriv)
 return various information on the functional More...
 
subroutine, public xbecke_roussel_lda_eval (rho_set, deriv_set, grad_deriv, br_params)
 evaluates the Becke Roussel exchange functional for lda More...
 
subroutine, public xbecke_roussel_lsd_eval (rho_set, deriv_set, grad_deriv, br_params)
 evaluates the Becke Roussel exchange functional for lda More...
 
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 More...
 
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. More...
 
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. More...
 
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. More...
 

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_derivdegree 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_paramsparameters for the becke roussel functional
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 163 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_derivdegree 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_paramsparameters for the becke roussel functional
History
12.2008 created [mguidon]
Author
mguidon

Definition at line 360 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 571 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 815 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 1073 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 1831 of file xc_xbecke_roussel.F.

Here is the caller graph for this function: