(git:6d276e9)
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.
 

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 66 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 154 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 214 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 327 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 399 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 427 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 512 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 592 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 755 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 1009 of file qs_vxc_atom_utils.F.

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