![]() |
(git:07c9450)
|
This module deals with all the integrals done on local atomic grids in xas_tdp. This is mostly used to compute the xc kernel matrix elements wrt two RI basis elements (centered on the same excited atom) <P|fxc(r)|Q>, where the kernel fxc is purely a function of the ground state density and r. This is also used to compute the SOC matrix elements in the orbital basis. More...
Functions/Subroutines | |
| subroutine, public | init_xas_atom_env (xas_atom_env, xas_tdp_env, xas_tdp_control, qs_env, ltddfpt) |
| Initializes a xas_atom_env type given the qs_enxas_atom_env, qs_envv. | |
| subroutine, public | init_xas_atom_grid_harmo (xas_atom_env, grid_info, do_xc, qs_env) |
| Initializes the atomic grids and harmonics for the RI atomic calculations. | |
| subroutine, public | truncate_radial_grid (grid_atom, max_radius) |
| Reduces the radial extension of an atomic grid such that it only covers a given radius. | |
| subroutine, public | compute_sphi_so (ikind, basis_type, sphi_so, qs_env) |
| Computes the contraction coefficients to go from spherical orbitals to sgf for a given atomic kind and a given basis type. | |
| subroutine, public | calculate_density_coeffs (xas_atom_env, qs_env) |
| Compute the coefficients to project the density on a partial RI_XAS basis. | |
| subroutine, public | integrate_fxc_atoms (int_fxc, xas_atom_env, xas_tdp_control, qs_env) |
| Integrate the xc kernel as a function of r on the atomic grids for the RI_XAS basis. | |
| subroutine, public | integrate_soc_atoms (matrix_soc, xas_atom_env, qs_env, soc_atom_env) |
| Computes the SOC matrix elements with respect to the ORB basis set for each atomic kind and put them as the block diagonal of dbcsr_matrix. | |
This module deals with all the integrals done on local atomic grids in xas_tdp. This is mostly used to compute the xc kernel matrix elements wrt two RI basis elements (centered on the same excited atom) <P|fxc(r)|Q>, where the kernel fxc is purely a function of the ground state density and r. This is also used to compute the SOC matrix elements in the orbital basis.
| subroutine, public xas_tdp_atom::init_xas_atom_env | ( | type(xas_atom_env_type), pointer | xas_atom_env, |
| type(xas_tdp_env_type), pointer | xas_tdp_env, | ||
| type(xas_tdp_control_type), pointer | xas_tdp_control, | ||
| type(qs_environment_type), pointer | qs_env, | ||
| logical, optional | ltddfpt | ||
| ) |
Initializes a xas_atom_env type given the qs_enxas_atom_env, qs_envv.
| xas_atom_env | the xas_atom_env to initialize |
| xas_tdp_env | ... |
| xas_tdp_control | ... |
| qs_env | ... |
| ltddfpt | ... |
Definition at line 160 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::init_xas_atom_grid_harmo | ( | type(xas_atom_env_type), pointer | xas_atom_env, |
| character(len=default_string_length), dimension(:, :), pointer | grid_info, | ||
| logical, intent(in) | do_xc, | ||
| type(qs_environment_type), pointer | qs_env | ||
| ) |
Initializes the atomic grids and harmonics for the RI atomic calculations.
| xas_atom_env | ... |
| grid_info | ... |
| do_xc | Whether the xc kernel will ne computed on the atomic grids. If not, the harmonics are built for the orbital basis for all kinds. |
| qs_env | ... |
Definition at line 240 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::truncate_radial_grid | ( | type(grid_atom_type), pointer | grid_atom, |
| real(dp), intent(in) | max_radius | ||
| ) |
Reduces the radial extension of an atomic grid such that it only covers a given radius.
| grid_atom | the atomic grid from which we truncate the radial part |
| max_radius | the maximal radial extension of the resulting grid |
Definition at line 406 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::compute_sphi_so | ( | integer, intent(in) | ikind, |
| character(len=*), intent(in) | basis_type, | ||
| real(dp), dimension(:, :), pointer | sphi_so, | ||
| type(qs_environment_type), pointer | qs_env | ||
| ) |
Computes the contraction coefficients to go from spherical orbitals to sgf for a given atomic kind and a given basis type.
| ikind | the kind for which we compute the coefficients |
| basis_type | the type of basis for which we compute |
| sphi_so | where the new contraction coefficients are stored (not yet allocated) |
| qs_env | ... |
Definition at line 453 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::calculate_density_coeffs | ( | type(xas_atom_env_type), pointer | xas_atom_env, |
| type(qs_environment_type), pointer | qs_env | ||
| ) |
Compute the coefficients to project the density on a partial RI_XAS basis.
| xas_atom_env | ... |
| qs_env | ... |
Definition at line 863 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::integrate_fxc_atoms | ( | type(cp_2d_r_p_type), dimension(:, :), pointer | int_fxc, |
| type(xas_atom_env_type), pointer | xas_atom_env, | ||
| type(xas_tdp_control_type), pointer | xas_tdp_control, | ||
| type(qs_environment_type), pointer | qs_env | ||
| ) |
Integrate the xc kernel as a function of r on the atomic grids for the RI_XAS basis.
| int_fxc | the global array containing the (P|fxc|Q) integrals, for all spin configurations |
| xas_atom_env | ... |
| xas_tdp_control | ... |
| qs_env | ... |
Definition at line 1878 of file xas_tdp_atom.F.
| subroutine, public xas_tdp_atom::integrate_soc_atoms | ( | type(dbcsr_p_type), dimension(:), pointer | matrix_soc, |
| type(xas_atom_env_type), optional, pointer | xas_atom_env, | ||
| type(qs_environment_type), pointer | qs_env, | ||
| type(soc_atom_env_type), optional, pointer | soc_atom_env | ||
| ) |
Computes the SOC matrix elements with respect to the ORB basis set for each atomic kind and put them as the block diagonal of dbcsr_matrix.
| matrix_soc | the matrix where the SOC is stored |
| xas_atom_env | ... |
| qs_env | ... |
| soc_atom_env | ... |
Definition at line 3387 of file xas_tdp_atom.F.