![]() |
(git:b77b4be)
|
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 159 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 239 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 405 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 452 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 862 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 1877 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 3371 of file xas_tdp_atom.F.