(git:5e7fe52)
Loading...
Searching...
No Matches
rirs_grid_utils Module Reference

Shared RI-RS grid I/O and contracted-Gaussian evaluation utilities. More...

Functions/Subroutines

subroutine, public get_rirs_grid_filepath (element_symbol, grid_select, grid_file_suffix, filepath)
 Construct the path of an RI-RS grid file.
integer function, public read_rirs_grid_npoints (filename)
 Read the number of points from an RI-RS grid file.
subroutine, public read_rirs_grid_file (filename, points)
 Read Cartesian grid points from the existing CP2K RI-RS .ion format.
subroutine, public initialize_rirs_grid (points, n_select, center_atom, particle_set, n_voronoi_candidates)
 Build one deterministic atom-specific grid from a tabulated source grid.
subroutine, public evaluate_ao_on_points (phi, grid_points, atom_index, 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.

Detailed Description

Shared RI-RS grid I/O and contracted-Gaussian evaluation utilities.

Function/Subroutine Documentation

◆ get_rirs_grid_filepath()

subroutine, public rirs_grid_utils::get_rirs_grid_filepath ( character(len=*), intent(in) element_symbol,
integer, intent(in) grid_select,
character(len=*), intent(in) grid_file_suffix,
character(len=*), intent(out) filepath )

Construct the path of an RI-RS grid file.

Parameters
element_symbol...
grid_select...
grid_file_suffix...
filepath...

Definition at line 44 of file rirs_grid_utils.F.

Here is the caller graph for this function:

◆ read_rirs_grid_npoints()

integer function, public rirs_grid_utils::read_rirs_grid_npoints ( character(len=*), intent(in) filename)

Read the number of points from an RI-RS grid file.

Parameters
filename...
Returns
Number of grid points.

Definition at line 74 of file rirs_grid_utils.F.

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

◆ read_rirs_grid_file()

subroutine, public rirs_grid_utils::read_rirs_grid_file ( character(len=*), intent(in) filename,
real(kind=dp), dimension(:, :), intent(out), allocatable points )

Read Cartesian grid points from the existing CP2K RI-RS .ion format.

Parameters
filenameComplete input filename; no suffix or element-name construction is performed.
pointsGrid points in Bohr, indexed (alpha,l).

Definition at line 90 of file rirs_grid_utils.F.

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

◆ initialize_rirs_grid()

subroutine, public rirs_grid_utils::initialize_rirs_grid ( real(kind=dp), dimension(:, :), intent(inout), allocatable points,
integer, intent(in) n_select,
integer, intent(in) center_atom,
type(particle_type), dimension(:), pointer particle_set,
integer, intent(out) n_voronoi_candidates )

Build one deterministic atom-specific grid from a tabulated source grid.

Parameters
pointsSource-grid coordinates on entry and selected coordinates on return.
n_selectNumber of requested points.
center_atomAtom on which the relative source grid is centred.
particle_setMolecular atom positions.
n_voronoi_candidatesNumber of candidates available in the atom's Voronoi volume.
Author
Jan Wilhelm

Definition at line 169 of file rirs_grid_utils.F.

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

◆ evaluate_ao_on_points()

subroutine, public rirs_grid_utils::evaluate_ao_on_points ( real(kind=dp), dimension(:, :), intent(inout) phi,
real(kind=dp), dimension(:, :), intent(in) grid_points,
integer, intent(in) atom_index,
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

phi_mu(r_l) = sum_(p,c) S_(pc,mu) d_x^lx d_y^ly d_z^lz exp(-zeta_p |d|^2).

The optional derivative is evaluated analytically as

d phi_mu(r_l)/d r_(l,alpha) = sum_(p,c) S_(pc,mu) exp(-zeta_p |d|^2) [d polynomial_c/d d_alpha - 2 zeta_p d_alpha polynomial_c].

The routine is shared by production GW RI-RS and grid optimization. Production callers can pass a cutoff_squared; the optimizer omits it so moving points never cross a discontinuous AO-screening boundary.

Parameters
phiAO values, accumulated into phi(l,mu).
grid_pointsCartesian grid points, indexed (alpha,l).
atom_indexSource atom whose contracted AOs are evaluated.
particle_setMolecular particles.
qs_kind_setQuickstep atomic kinds containing the ORB bases.
cellSimulation cell used for the minimum-image displacement.
dphiOptional AO derivatives, accumulated into dphi(alpha,l,mu).
cutoff_squaredOptional squared AO cutoff radius.

Definition at line 301 of file rirs_grid_utils.F.

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

◆ evaluate_ao_basis_on_points()

subroutine, public rirs_grid_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.

Parameters
phiAO values, accumulated into phi(l,mu).
grid_pointsCartesian grid points, indexed (alpha,l).
basisContracted Gaussian basis to evaluate.
source_positionCentre of the basis.
cellSimulation cell used for the minimum-image displacement.
dphiOptional AO derivatives, accumulated into dphi(alpha,l,mu).
cutoff_squaredOptional squared AO cutoff radius.

Definition at line 348 of file rirs_grid_utils.F.

Here is the caller graph for this function: