mod_dft_gridint_tdxc_grad Module


Uses

  • module~~mod_dft_gridint_tdxc_grad~~UsesGraph module~mod_dft_gridint_tdxc_grad mod_dft_gridint_tdxc_grad module~mod_dft_gridint mod_dft_gridint module~mod_dft_gridint_tdxc_grad->module~mod_dft_gridint module~precision precision module~mod_dft_gridint_tdxc_grad->module~precision module~mod_dft_gridint->module~precision module~basis_tools basis_tools module~mod_dft_gridint->module~basis_tools module~functionals functionals module~mod_dft_gridint->module~functionals module~io_constants io_constants module~mod_dft_gridint->module~io_constants module~mod_dft_molgrid mod_dft_molgrid module~mod_dft_gridint->module~mod_dft_molgrid module~mod_dft_xc_libxc mod_dft_xc_libxc module~mod_dft_gridint->module~mod_dft_xc_libxc module~oqp_linalg oqp_linalg module~mod_dft_gridint->module~oqp_linalg module~parallel parallel module~mod_dft_gridint->module~parallel iso_fortran_env iso_fortran_env module~precision->iso_fortran_env module~basis_tools->module~precision module~basis_tools->iso_fortran_env module~basis_tools->module~io_constants module~basis_tools->module~parallel module~atomic_structure_m atomic_structure_m module~basis_tools->module~atomic_structure_m module~constants constants module~basis_tools->module~constants module~functionals->module~precision iso_c_binding iso_c_binding module~functionals->iso_c_binding xc_f03_lib_m xc_f03_lib_m module~functionals->xc_f03_lib_m module~mod_dft_molgrid->module~precision module~bragg_slater_radii bragg_slater_radii module~mod_dft_molgrid->module~bragg_slater_radii module~lebedev lebedev module~mod_dft_molgrid->module~lebedev module~mod_grid_storage mod_grid_storage module~mod_dft_molgrid->module~mod_grid_storage module~mod_dft_xc_libxc->module~precision module~mod_dft_xclib mod_dft_xclib module~mod_dft_xc_libxc->module~mod_dft_xclib module~blas_wrap blas_wrap module~oqp_linalg->module~blas_wrap module~lapack_wrap lapack_wrap module~oqp_linalg->module~lapack_wrap module~parallel->module~precision module~parallel->iso_fortran_env module~parallel->iso_c_binding mpi mpi module~parallel->mpi module~atomic_structure_m->iso_c_binding module~blas_wrap->module~precision module~mathlib_types mathlib_types module~blas_wrap->module~mathlib_types module~messages messages module~blas_wrap->module~messages module~bragg_slater_radii->module~precision module~constants->module~precision module~lapack_wrap->module~precision module~lapack_wrap->module~mathlib_types module~lapack_wrap->module~messages module~lebedev->module~precision module~mod_dft_xclib->module~precision module~mod_dft_xclib->module~functionals module~mod_grid_storage->module~precision module~messages->module~precision module~messages->module~io_constants comm_IOFILE comm_IOFILE module~messages->comm_IOFILE comm_PAR comm_PAR module~messages->comm_PAR

Used by

  • module~~mod_dft_gridint_tdxc_grad~~UsedByGraph module~mod_dft_gridint_tdxc_grad mod_dft_gridint_tdxc_grad proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->module~mod_dft_gridint_tdxc_grad

Derived Types

type, public, extends(xc_consumer_t) ::  xc_consumer_tdg_t

Components

Type Visibility Attributes Name Initial
real(kind=fp), public :: E_xc
real(kind=fp), public :: E_exch
real(kind=fp), public :: E_corr
real(kind=fp), public :: N_elec
real(kind=fp), public :: E_kin
real(kind=fp), public :: G_total(3)
type(par_env_t), public :: pe
integer, public :: nMtx = 1
logical, public :: do_fxc = .true.
logical, public :: do_ground_state = .true.
real(kind=fp), public, pointer :: pa(:,:,:)
real(kind=fp), public, pointer :: pb(:,:,:)
real(kind=fp), public, pointer :: xa(:,:,:)
real(kind=fp), public, pointer :: xb(:,:,:)
real(kind=fp), public, allocatable :: rrho(:,:,:,:)
real(kind=fp), public, allocatable :: drrho(:,:,:,:,:)
real(kind=fp), public, allocatable :: rtau(:,:,:,:)
real(kind=fp), public, allocatable :: bfgrad(:,:,:)
real(kind=fp), public, allocatable :: grad_d(:,:,:,:)
real(kind=fp), public, allocatable :: grad_p(:,:,:,:)
real(kind=fp), public, allocatable :: grad_x(:,:,:,:)
real(kind=fp), public, allocatable :: tmpGrad_(:,:)
real(kind=fp), public, allocatable :: tmp_(:,:,:,:)
real(kind=fp), public, allocatable :: tmpV_(:,:,:)
real(kind=fp), public, allocatable :: tmpG1_(:,:,:)

Type-Bound Procedures

procedure, public :: parallel_start
procedure, public :: parallel_stop
procedure, public :: resetGradPointers
procedure, public :: resetPointers
procedure, public :: update
procedure, public :: postUpdate
procedure, public :: clean

Subroutines

public subroutine utddft_xc_gradient(basis, molGrid, dedft, da, db, pa, pb, xa, xb, nMtx, threshold, infos)

@brief Compute derivative XC contribution to the TD-DFT KS-like matrices @param[in] basis basis set @param[in] wf density matrix/orbitals @param[inout] fx fock-like matrices @param[inout] dx densities @param[in] nMtx number of density/Fock-like matrices @param[in] threshold tolerance @param[in] isGGA .TRUE. if GGA/mGGA functional used @param[in] infos OQP metadata @author Vladimir Mironov

Arguments

Type IntentOptional Attributes Name
type(basis_set) :: basis
type(dft_grid_t), intent(in), target :: molGrid
real(kind=fp), intent(out) :: dedft(:,:)
real(kind=fp), intent(inout), contiguous, target :: da(:,:)
real(kind=fp), intent(inout), contiguous, target :: db(:,:)
real(kind=fp), intent(inout), target :: pa(:,:,:)
real(kind=fp), intent(inout), target :: pb(:,:,:)
real(kind=fp), intent(inout), optional, target :: xa(:,:,:)
real(kind=fp), intent(inout), optional, target :: xb(:,:,:)
integer, intent(in) :: nMtx
real(kind=fp), intent(in) :: threshold
type(information), intent(in), target :: infos

public subroutine tddft_xc_gradient(basis, molGrid, dedft, da, pa, xa, nMtx, threshold, infos)

@brief Compute derivative XC contribution to the TD-DFT KS-like matrices @param[in] basis basis set @param[in] wf density matrix/orbitals @param[inout] fx fock-like matrices @param[inout] dx densities @param[in] nMtx number of density/Fock-like matrices @param[in] threshold tolerance @param[in] isGGA .TRUE. if GGA/mGGA functional used @param[in] infos OQP metadata @author Vladimir Mironov

Arguments

Type IntentOptional Attributes Name
type(basis_set) :: basis
type(dft_grid_t), intent(in), target :: molGrid
real(kind=fp), intent(out) :: dedft(:,:)
real(kind=fp), intent(inout), contiguous, target :: da(:,:)
real(kind=fp), intent(inout), target :: pa(:,:,:)
real(kind=fp), intent(inout), optional, target :: xa(:,:,:)
integer, intent(in) :: nMtx
real(kind=fp), intent(in) :: threshold
type(information), intent(in), target :: infos