![]() |
(git:f2099e5)
|
Common setup operations used by the periodic and non-periodic GW RI-RS implementations. More...
Functions/Subroutines | |
| subroutine, public | precompute_ri_rs_radii (bs_env) |
| Compute per-atom AO and RI basis radii from the most diffuse Gaussian primitive in the AO ("ORB") and RI auxiliary ("RI_AUX") basis sets. Stores results in bs_envri_rsradius_ao_per_atom(:) and bs_envri_rsradius_ri_per_atom(:) and prints a per-atom table. Radius: r_kind = sqrt(-log(eps)/alpha_min_kind), with eps = eps_filter. | |
| subroutine, public | filter_grid_to_voronoi (points, icenter_atom, particle_set, mask, atom_indices) |
| Retain source-grid points inside the Voronoi volume of one atom. | |
| subroutine, public | get_rirs_cluster_atoms (particle_set, cell, icenter_atom, radius, atom_indices) |
| Form C_A from nuclei within the specified radius, in global atom order. | |
| subroutine, public | evaluate_ao_on_points (phi, grid_points, iatom, particle_set, qs_kind_set, cell, dphi, cutoff_squared) |
| Evaluate contracted spherical AOs, and optionally their grid-coordinate derivatives. | |
| subroutine, public | evaluate_ao_basis_on_points (phi, grid_points, basis, source_position, cell, dphi, cutoff_squared) |
| Evaluate one explicitly supplied contracted Gaussian basis on Cartesian points. | |
Common setup operations used by the periodic and non-periodic GW RI-RS implementations.
| subroutine, public gw_ri_rs_utils::precompute_ri_rs_radii | ( | type(post_scf_bandstructure_type), pointer | bs_env | ) |
Compute per-atom AO and RI basis radii from the most diffuse Gaussian primitive in the AO ("ORB") and RI auxiliary ("RI_AUX") basis sets. Stores results in bs_envri_rsradius_ao_per_atom(:) and bs_envri_rsradius_ri_per_atom(:) and prints a per-atom table. Radius: r_kind = sqrt(-log(eps)/alpha_min_kind), with eps = eps_filter.
| bs_env | Band-structure environment containing GW parameters. |
Definition at line 44 of file gw_ri_rs_utils.F.
| subroutine, public gw_ri_rs_utils::filter_grid_to_voronoi | ( | real(kind=dp), dimension(:, :), intent(inout), allocatable | points, |
| integer, intent(in) | icenter_atom, | ||
| type(particle_type), dimension(:), pointer | particle_set, | ||
| logical, dimension(:), intent(out), optional | mask, | ||
| integer, dimension(:), intent(in), optional | atom_indices ) |
Retain source-grid points inside the Voronoi volume of one atom.
| points | Source-grid coordinates on entry and Voronoi-filtered coordinates on return. |
| icenter_atom | Atom whose Voronoi volume is retained. |
| particle_set | Molecular atom positions. |
| mask | Optional membership mask; if present, leave points unchanged. |
| atom_indices | Optional subset of nuclei defining the Voronoi partition. |
Definition at line 122 of file gw_ri_rs_utils.F.
| subroutine, public gw_ri_rs_utils::get_rirs_cluster_atoms | ( | type(particle_type), dimension(:), pointer | particle_set, |
| type(cell_type), pointer | cell, | ||
| integer, intent(in) | icenter_atom, | ||
| real(kind=dp), intent(in) | radius, | ||
| integer, dimension(:), intent(out), allocatable | atom_indices ) |
Form C_A from nuclei within the specified radius, in global atom order.
| particle_set | Molecular nuclei. |
| cell | Simulation cell. |
| icenter_atom | Central atom A. |
| radius | Cluster radius. |
| atom_indices | Cluster atom indices including A. |
Definition at line 184 of file gw_ri_rs_utils.F.
| subroutine, public gw_ri_rs_utils::evaluate_ao_on_points | ( | real(kind=dp), dimension(:, :), intent(inout) | phi, |
| real(kind=dp), dimension(:, :), intent(in) | grid_points, | ||
| integer, intent(in) | iatom, | ||
| type(particle_type), dimension(:), pointer | particle_set, | ||
| type(qs_kind_type), dimension(:), pointer | qs_kind_set, | ||
| type(cell_type), pointer | cell, | ||
| real(kind=dp), dimension(:, :, :), intent(inout), optional | dphi, | ||
| real(kind=dp), intent(in), optional | cutoff_squared ) |
Evaluate contracted spherical AOs, and optionally their grid-coordinate derivatives.
For atom A and displacement d(alpha)=r_l(alpha)-R_A(alpha), the value is
ϕ_μ(r_l) = Σ_(p,c) S_(pc,μ) d_x^lx d_y^ly d_z^lz exp(-ζ_p |d|^2).
The optional derivative is evaluated analytically as
d ϕ_μ(r_l)/d r_(l,α) = sum_(p,c) S_(pc,mu) exp(-zeta_p |d|^2) [d polynomial_c/d d_alpha - 2 zeta_p d_alpha polynomial_c].
| phi | AO values, accumulated into phi(l,mu). |
| grid_points | Cartesian grid points, indexed (alpha,l). |
| iatom | Source atom whose contracted AOs are evaluated. |
| particle_set | Molecular particles. |
| qs_kind_set | Quickstep atomic kinds containing the ORB bases. |
| cell | Simulation cell used for the minimum-image displacement. |
| dphi | Optional AO derivatives, accumulated into dphi(alpha,l,mu). |
| cutoff_squared | Optional squared AO cutoff radius. |
Definition at line 227 of file gw_ri_rs_utils.F.
| subroutine, public gw_ri_rs_utils::evaluate_ao_basis_on_points | ( | real(kind=dp), dimension(:, :), intent(inout) | phi, |
| real(kind=dp), dimension(:, :), intent(in) | grid_points, | ||
| type(gto_basis_set_type), pointer | basis, | ||
| real(kind=dp), dimension(3), intent(in) | source_position, | ||
| type(cell_type), pointer | cell, | ||
| real(kind=dp), dimension(:, :, :), intent(inout), optional | dphi, | ||
| real(kind=dp), intent(in), optional | cutoff_squared ) |
Evaluate one explicitly supplied contracted Gaussian basis on Cartesian points.
| phi | AO values, accumulated into phi(l,mu). |
| grid_points | Cartesian grid points, indexed (alpha,l). |
| basis | Contracted Gaussian basis to evaluate. |
| source_position | Centre of the basis. |
| cell | Simulation cell used for the minimum-image displacement. |
| dphi | Optional AO derivatives, accumulated into dphi(alpha,l,mu). |
| cutoff_squared | Optional squared AO cutoff radius. |
Definition at line 274 of file gw_ri_rs_utils.F.