(git:6344619)
Loading...
Searching...
No Matches
qs_vxc_atom_utils Module Reference

Support routines for integrals of the Vxc/Fxc/Gxc potentials calculated for the atomic density in the basis set of spherical primitives. More...

Data Types

type  tau_basis_cache_type

Functions/Subroutines

subroutine, public evaluate_nlcc_primitive_fields (point, center, gth_potential, sgp_potential, rho, gradient, hessian)
 Evaluate an NLCC density and its first two Cartesian derivatives.
real(dp) function, public gapw_atom_grid_support_radius (grid_atom, rho_h, rho_s, drho_h, drho_s, tau_h, tau_s)
 Compact support radius of one hard-minus-soft atom-grid field.
subroutine, public calc_rho_angular (grid_atom, harmonics, nspins, grad_func, ir, r_h, r_s, rho_h, rho_s, dr_h, dr_s, r_h_d, r_s_d, drho_h, drho_s)
 ...
subroutine, public create_tau_basis_cache (tau_cache, grid_atom, basis_1c, harmonics)
 Precompute radial and angular factors for GAPW meta-GGA tau contractions.
subroutine, public release_tau_basis_cache (tau_cache)
 Release precomputed GAPW meta-GGA tau factors.
subroutine, public calc_tau_atom (tau_h, tau_s, rho_atom, tau_cache, nspins)
 Computes tau hard and soft on the atomic grids for meta-GGA calculations.
subroutine, public calc_rho_nlcc (grid_atom, nspins, grad_func, ir, rho_nlcc, rho_h, rho_s, drho_nlcc, drho_h, drho_s)
 ...
subroutine, public gavxcgb_nogc (vxc_h, vxc_s, int_hh, int_ss, grid_atom, basis_1c, harmonics, nspins)
 ...
subroutine, public gavxcgb_gc (vxc_h, vxc_s, vxg_h, vxg_s, int_hh, int_ss, grid_atom, basis_1c, harmonics, nspins)
 ...
subroutine, public dgavtaudgb (vtau_h, vtau_s, int_hh, int_ss, tau_cache, nspins)
 Integrates 0.5 * grad_ga .dot. (V_tau * grad_gb) on the atomic grid for meta-GGA.
subroutine, public calc_weight_function (fun, r2, order, alpha)
 Calculates the radial weight function for accurate XC integration.

Detailed Description

Support routines for integrals of the Vxc/Fxc/Gxc potentials calculated for the atomic density in the basis set of spherical primitives.

Function/Subroutine Documentation

◆ evaluate_nlcc_primitive_fields()

subroutine, public qs_vxc_atom_utils::evaluate_nlcc_primitive_fields ( real(dp), dimension(3), intent(in) point,
real(dp), dimension(3), intent(in) center,
type(gth_potential_type), intent(in), pointer gth_potential,
type(sgp_potential_type), intent(in), pointer sgp_potential,
real(dp), intent(out) rho,
real(dp), dimension(3), intent(out) gradient,
real(dp), dimension(3, 3), intent(out) hessian )

Evaluate an NLCC density and its first two Cartesian derivatives.

Parameters
pointevaluation point
centerpseudopotential center
gth_potentialoptional GTH potential
sgp_potentialoptional separable Gaussian potential
rhocore density
gradientCartesian density gradient
hessianCartesian density Hessian

Definition at line 68 of file qs_vxc_atom_utils.F.

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

◆ gapw_atom_grid_support_radius()

real(dp) function, public qs_vxc_atom_utils::gapw_atom_grid_support_radius ( type(grid_atom_type), pointer grid_atom,
real(dp), dimension(:, :, :), intent(in) rho_h,
real(dp), dimension(:, :, :), intent(in) rho_s,
real(dp), dimension(:, :, :, :), intent(in) drho_h,
real(dp), dimension(:, :, :, :), intent(in) drho_s,
real(dp), dimension(:, :, :), intent(in) tau_h,
real(dp), dimension(:, :, :), intent(in) tau_s )

Compact support radius of one hard-minus-soft atom-grid field.

Parameters
grid_atomradial and angular source grid
rho_hhard one-center density values
rho_ssoft one-center density values
drho_hhard one-center density-gradient values
drho_ssoft one-center density-gradient values
tau_hhard one-center kinetic-energy-density values
tau_ssoft one-center kinetic-energy-density values
Returns
outermost radius required by any primitive hard-minus-soft field

Definition at line 156 of file qs_vxc_atom_utils.F.

Here is the caller graph for this function:

◆ calc_rho_angular()

subroutine, public qs_vxc_atom_utils::calc_rho_angular ( type(grid_atom_type), pointer grid_atom,
type(harmonics_atom_type), pointer harmonics,
integer, intent(in) nspins,
logical, intent(in) grad_func,
integer, intent(in) ir,
type(rho_atom_coeff), dimension(:), pointer r_h,
type(rho_atom_coeff), dimension(:), pointer r_s,
real(kind=dp), dimension(:, :, :), pointer rho_h,
real(kind=dp), dimension(:, :, :), pointer rho_s,
type(rho_atom_coeff), dimension(:), pointer dr_h,
type(rho_atom_coeff), dimension(:), pointer dr_s,
type(rho_atom_coeff), dimension(:, :), pointer r_h_d,
type(rho_atom_coeff), dimension(:, :), pointer r_s_d,
real(kind=dp), dimension(:, :, :, :), pointer drho_h,
real(kind=dp), dimension(:, :, :, :), pointer drho_s )

...

Parameters
grid_atom...
harmonics...
nspins...
grad_func...
ir...
r_h...
r_s...
rho_h...
rho_s...
dr_h...
dr_s...
r_h_d...
r_s_d...
drho_h...
drho_s...

Definition at line 216 of file qs_vxc_atom_utils.F.

Here is the caller graph for this function:

◆ create_tau_basis_cache()

subroutine, public qs_vxc_atom_utils::create_tau_basis_cache ( type(tau_basis_cache_type), intent(inout) tau_cache,
type(grid_atom_type), pointer grid_atom,
type(gto_basis_set_type), pointer basis_1c,
type(harmonics_atom_type), pointer harmonics )

Precompute radial and angular factors for GAPW meta-GGA tau contractions.

Parameters
tau_cacheprecomputed compact one-center gradient basis
grid_atomatom-centered integration grid
basis_1cGAPW one-center basis
harmonicsspherical harmonics on the atom-centered grid

Definition at line 329 of file qs_vxc_atom_utils.F.

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

◆ release_tau_basis_cache()

subroutine, public qs_vxc_atom_utils::release_tau_basis_cache ( type(tau_basis_cache_type), intent(inout) tau_cache)

Release precomputed GAPW meta-GGA tau factors.

Parameters
tau_cacheprecomputed compact one-center gradient basis

Definition at line 401 of file qs_vxc_atom_utils.F.

Here is the caller graph for this function:

◆ calc_tau_atom()

subroutine, public qs_vxc_atom_utils::calc_tau_atom ( real(dp), dimension(:, :, :), intent(inout) tau_h,
real(dp), dimension(:, :, :), intent(inout) tau_s,
type(rho_atom_type), pointer rho_atom,
type(tau_basis_cache_type), intent(in) tau_cache,
integer, intent(in) nspins )

Computes tau hard and soft on the atomic grids for meta-GGA calculations.

Parameters
tau_hthe hard part of tau
tau_sthe soft part of tau
rho_atomatom-centered density matrices
tau_cacheprecomputed compact one-center gradient basis
nspinsnumber of spin channels
Note
This is a rewrite to correct a meta-GGA GAPW bug. This is more brute force than the original, which was done along in qs_rho_atom_methods.F, but makes sure that no corner is cut in terms of accuracy (A. Bussy)

Definition at line 429 of file qs_vxc_atom_utils.F.

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

◆ calc_rho_nlcc()

subroutine, public qs_vxc_atom_utils::calc_rho_nlcc ( type(grid_atom_type), pointer grid_atom,
integer, intent(in) nspins,
logical, intent(in) grad_func,
integer, intent(in) ir,
real(kind=dp), dimension(:) rho_nlcc,
real(kind=dp), dimension(:, :, :), pointer rho_h,
real(kind=dp), dimension(:, :, :), pointer rho_s,
real(kind=dp), dimension(:) drho_nlcc,
real(kind=dp), dimension(:, :, :, :), pointer drho_h,
real(kind=dp), dimension(:, :, :, :), pointer drho_s )

...

Parameters
grid_atom...
nspins...
grad_func...
ir...
rho_nlcc...
rho_h...
rho_s...
drho_nlcc...
drho_h...
drho_s...

Definition at line 514 of file qs_vxc_atom_utils.F.

Here is the caller graph for this function:

◆ gavxcgb_nogc()

subroutine, public qs_vxc_atom_utils::gavxcgb_nogc ( real(dp), dimension(:, :, :), pointer vxc_h,
real(dp), dimension(:, :, :), pointer vxc_s,
type(rho_atom_coeff), dimension(:), pointer int_hh,
type(rho_atom_coeff), dimension(:), pointer int_ss,
type(grid_atom_type), pointer grid_atom,
type(gto_basis_set_type), pointer basis_1c,
type(harmonics_atom_type), pointer harmonics,
integer, intent(in) nspins )

...

Parameters
vxc_h...
vxc_s...
int_hh...
int_ss...
grid_atom...
basis_1c...
harmonics...
nspins...

Definition at line 594 of file qs_vxc_atom_utils.F.

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

◆ gavxcgb_gc()

subroutine, public qs_vxc_atom_utils::gavxcgb_gc ( real(dp), dimension(:, :, :), pointer vxc_h,
real(dp), dimension(:, :, :), pointer vxc_s,
real(dp), dimension(:, :, :, :), pointer vxg_h,
real(dp), dimension(:, :, :, :), pointer vxg_s,
type(rho_atom_coeff), dimension(:), pointer int_hh,
type(rho_atom_coeff), dimension(:), pointer int_ss,
type(grid_atom_type), pointer grid_atom,
type(gto_basis_set_type), pointer basis_1c,
type(harmonics_atom_type), pointer harmonics,
integer, intent(in) nspins )

...

Parameters
vxc_h...
vxc_s...
vxg_h...
vxg_s...
int_hh...
int_ss...
grid_atom...
basis_1c...
harmonics...
nspins...

Definition at line 757 of file qs_vxc_atom_utils.F.

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

◆ dgavtaudgb()

subroutine, public qs_vxc_atom_utils::dgavtaudgb ( real(dp), dimension(:, :, :), pointer vtau_h,
real(dp), dimension(:, :, :), pointer vtau_s,
type(rho_atom_coeff), dimension(:), pointer int_hh,
type(rho_atom_coeff), dimension(:), pointer int_ss,
type(tau_basis_cache_type), intent(in) tau_cache,
integer, intent(in) nspins )

Integrates 0.5 * grad_ga .dot. (V_tau * grad_gb) on the atomic grid for meta-GGA.

Parameters
vtau_hthe hard tau potential
vtau_sthe soft tau potential
int_hhhard one-center matrix contribution
int_sssoft one-center matrix contribution
tau_cacheprecomputed compact one-center gradient basis
nspinsnumber of spin channels
Note
This is a rewrite to correct meta-GGA GAPW bug. This is more brute force than the original but makes sure that no corner is cut in terms of accuracy (A. Bussy)

Definition at line 1011 of file qs_vxc_atom_utils.F.

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

◆ calc_weight_function()

subroutine, public qs_vxc_atom_utils::calc_weight_function ( real(dp), dimension(:), intent(inout) fun,
real(dp), dimension(:), intent(in) r2,
integer, intent(in) order,
real(dp), intent(in) alpha )

Calculates the radial weight function for accurate XC integration.

Parameters
funThe weight function
r2Radial values of the grid (squared)
orderPolynomial order (2n)
alphaGaussian exponent

Definition at line 1107 of file qs_vxc_atom_utils.F.

Here is the caller graph for this function: