tdhf_gradient_mod Module


Uses

  • module~~tdhf_gradient_mod~~UsesGraph module~tdhf_gradient_mod tdhf_gradient_mod module~basis_tools basis_tools module~tdhf_gradient_mod->module~basis_tools module~grd2 grd2 module~tdhf_gradient_mod->module~grd2 module~io_constants io_constants module~tdhf_gradient_mod->module~io_constants module~precision precision module~tdhf_gradient_mod->module~precision module~types types module~tdhf_gradient_mod->module~types module~basis_tools->module~io_constants module~basis_tools->module~precision iso_fortran_env iso_fortran_env module~basis_tools->iso_fortran_env module~atomic_structure_m atomic_structure_m module~basis_tools->module~atomic_structure_m module~constants constants module~basis_tools->module~constants module~parallel parallel module~basis_tools->module~parallel module~grd2->module~basis_tools module~grd2->module~io_constants module~grd2->module~precision module~grd2->module~constants module~grd2_rys grd2_rys module~grd2->module~grd2_rys module~int2_compute int2_compute module~grd2->module~int2_compute module~precision->iso_fortran_env module~types->module~basis_tools module~types->module~precision iso_c_binding iso_c_binding module~types->iso_c_binding module~types->module~atomic_structure_m module~functionals functionals module~types->module~functionals module~types->module~parallel tagarray tagarray module~types->tagarray module~atomic_structure_m->iso_c_binding module~constants->module~precision module~functionals->module~precision module~functionals->iso_c_binding xc_f03_lib_m xc_f03_lib_m module~functionals->xc_f03_lib_m module~grd2_rys->module~basis_tools module~grd2_rys->module~precision module~grd2_rys->module~constants module~int2_compute->module~basis_tools module~int2_compute->module~precision module~int2_compute->module~atomic_structure_m module~int2_compute->module~parallel module~int2_pairs int2_pairs module~int2_compute->module~int2_pairs module~int2e_libint int2e_libint module~int2_compute->module~int2e_libint module~int2e_rys int2e_rys module~int2_compute->module~int2e_rys module~messages messages module~int2_compute->module~messages module~parallel->module~precision module~parallel->iso_c_binding module~parallel->iso_fortran_env mpi mpi module~parallel->mpi module~int2_pairs->module~precision module~int2e_libint->module~precision module~int2e_libint->iso_c_binding module~int2e_libint->module~constants module~int2e_libint->module~int2_pairs module~libint_f libint_f module~int2e_libint->module~libint_f module~int2e_rys->module~basis_tools module~int2e_rys->module~precision module~int2e_rys->module~constants module~messages->module~io_constants module~messages->module~precision comm_IOFILE comm_IOFILE module~messages->comm_IOFILE comm_PAR comm_PAR module~messages->comm_PAR module~libint_f->iso_c_binding

Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: module_name = "tdhf_gradient_mod"

Derived Types

type, public, extends(grd2_compute_data_t) ::  grd2_tdhf_compute_data_t

Components

Type Visibility Attributes Name Initial
logical, public :: attenuated = .false.
real(kind=dp), public :: mu = 1.0d99
real(kind=dp), public :: hfscale = 1.0d0
real(kind=dp), public :: hfscale2 = 1.0d0
real(kind=dp), public :: coulscale = 1.0d0
integer, public :: cur_pass = 1
real(kind=dp), public, pointer :: d2(:,:,:) => null()
real(kind=dp), public, pointer :: p2(:,:,:) => null()
real(kind=dp), public, pointer :: xpy2(:,:,:) => null()
real(kind=dp), public, pointer :: xmy2(:,:,:) => null()
integer, public :: nbf = 0

Type-Bound Procedures

procedure, public :: init => grd2_tdhf_compute_data_t_init
procedure, public :: clean => grd2_tdhf_compute_data_t_clean
procedure, public :: get_density => grd2_tdhf_compute_data_t_get_density

Subroutines

public subroutine tdhf_gradient_C(c_handle) bind(C, name="tdhf_gradient")

Arguments

Type IntentOptional Attributes Name
type(oqp_handle_t) :: c_handle

public subroutine tdhf_gradient(infos)

Arguments

Type IntentOptional Attributes Name
type(information), intent(inout), target :: infos

public subroutine tdhf_1e_grad(infos, basis)

Arguments

Type IntentOptional Attributes Name
type(information), intent(inout) :: infos
type(basis_set), intent(inout) :: basis

public subroutine tdhf_2e_grad(basis, infos, d, p, xpy, xmy)

@brief The driver for the two electron gradient

Arguments

Type IntentOptional Attributes Name
type(basis_set) :: basis
type(information), intent(inout), target :: infos
real(kind=dp), contiguous, target :: d(:,:,:)
real(kind=dp), contiguous, target :: p(:,:,:)
real(kind=dp), contiguous, target :: xpy(:,:,:)
real(kind=dp), contiguous, target :: xmy(:,:,:)

public subroutine grd2_tdhf_compute_data_t_init(this)

Arguments

Type IntentOptional Attributes Name
class(grd2_tdhf_compute_data_t), intent(inout), target :: this

public subroutine grd2_tdhf_compute_data_t_clean(this)

Arguments

Type IntentOptional Attributes Name
class(grd2_tdhf_compute_data_t), intent(inout), target :: this

public subroutine grd2_tdhf_compute_data_t_get_density(this, basis, id, dab, dabmax)

@brief Compute density factors for \Gamma term of 2-electron contribution to TD-DFT gradients

Arguments

Type IntentOptional Attributes Name
class(grd2_tdhf_compute_data_t), intent(inout), target :: this
type(basis_set), intent(in) :: basis
integer, intent(in) :: id(4)
real(kind=dp), intent(out), target :: dab(*)
real(kind=dp), intent(out) :: dabmax