![]() |
(git:5e7fe52)
|
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. | |
Shared RI-RS grid I/O and contracted-Gaussian evaluation utilities.
| 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.
| element_symbol | ... |
| grid_select | ... |
| grid_file_suffix | ... |
| filepath | ... |
Definition at line 44 of file rirs_grid_utils.F.
| 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.
| filename | ... |
Definition at line 74 of file rirs_grid_utils.F.
| 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.
| filename | Complete input filename; no suffix or element-name construction is performed. |
| points | Grid points in Bohr, indexed (alpha,l). |
Definition at line 90 of file rirs_grid_utils.F.
| 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.
| points | Source-grid coordinates on entry and selected coordinates on return. |
| n_select | Number of requested points. |
| center_atom | Atom on which the relative source grid is centred. |
| particle_set | Molecular atom positions. |
| n_voronoi_candidates | Number of candidates available in the atom's Voronoi volume. |
Definition at line 169 of file rirs_grid_utils.F.
| 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.
| phi | AO values, accumulated into phi(l,mu). |
| grid_points | Cartesian grid points, indexed (alpha,l). |
| atom_index | 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 301 of file rirs_grid_utils.F.
| 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.
| 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 348 of file rirs_grid_utils.F.