int2_compute Module


Uses

  • module~~int2_compute~~UsesGraph module~int2_compute int2_compute module~atomic_structure_m atomic_structure_m module~int2_compute->module~atomic_structure_m module~basis_tools basis_tools module~int2_compute->module~basis_tools 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 parallel module~int2_compute->module~parallel module~precision precision module~int2_compute->module~precision iso_c_binding iso_c_binding module~atomic_structure_m->iso_c_binding module~basis_tools->module~atomic_structure_m module~basis_tools->module~parallel module~basis_tools->module~precision iso_fortran_env iso_fortran_env module~basis_tools->iso_fortran_env module~constants constants module~basis_tools->module~constants module~io_constants io_constants module~basis_tools->module~io_constants module~int2_pairs->module~precision module~int2e_libint->module~int2_pairs module~int2e_libint->module~precision module~int2e_libint->iso_c_binding module~int2e_libint->module~constants 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~precision comm_IOFILE comm_IOFILE module~messages->comm_IOFILE comm_PAR comm_PAR module~messages->comm_PAR module~messages->module~io_constants module~parallel->module~precision module~parallel->iso_c_binding module~parallel->iso_fortran_env mpi mpi module~parallel->mpi module~precision->iso_fortran_env module~constants->module~precision module~libint_f->iso_c_binding

Used by

  • module~~int2_compute~~UsedByGraph module~int2_compute int2_compute module~grd2 grd2 module~grd2->module~int2_compute module~tdhf_lib tdhf_lib module~tdhf_lib->module~int2_compute module~tdhf_mrsf_lib tdhf_mrsf_lib module~tdhf_mrsf_lib->module~int2_compute module~tdhf_z_vector_mod tdhf_z_vector_mod module~tdhf_z_vector_mod->module~int2_compute module~tdhf_z_vector_mod->module~tdhf_lib proc~fock_jk fock_jk proc~fock_jk->module~int2_compute proc~scf_driver scf_driver proc~scf_driver->module~int2_compute proc~tdhf_energy tdhf_energy proc~tdhf_energy->module~int2_compute proc~tdhf_energy->module~tdhf_lib proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->module~int2_compute proc~tdhf_mrsf_energy->module~tdhf_lib proc~tdhf_mrsf_energy->module~tdhf_mrsf_lib proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->module~int2_compute proc~tdhf_sf_energy->module~tdhf_lib module~hf_gradient_mod hf_gradient_mod module~hf_gradient_mod->module~grd2 module~tdhf_gradient_mod tdhf_gradient_mod module~tdhf_gradient_mod->module~grd2 proc~get_states_overlap get_states_overlap proc~get_states_overlap->module~tdhf_mrsf_lib proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->module~tdhf_lib proc~get_transition_density get_transition_density proc~get_transition_density->module~tdhf_lib proc~oqp_tdhf_z_vector oqp_tdhf_z_vector proc~oqp_tdhf_z_vector->module~tdhf_lib proc~sfdmat sfdmat proc~sfdmat->module~tdhf_lib proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->module~tdhf_lib

Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: module_name = "int2_compute"
integer, public, parameter :: ERR_CAM_PARAM = 1

Derived Types

type, public ::  int2_storage_t

Components

Type Visibility Attributes Name Initial
integer, public :: ncur = 0
integer, public :: buf_size = 0
integer, public :: thread_id = 1
integer(kind=2), public, allocatable :: ids(:,:)
real(kind=dp), public, allocatable, dimension(:) :: ints

Type-Bound Procedures

procedure, public, pass :: init => int2_storage_init
procedure, public, pass :: clean => int2_storage_clean

type, public, abstract ::  int2_compute_data_t

Components

Type Visibility Attributes Name Initial
logical, public :: multipass = .false.
integer, public :: num_passes = 1
integer, public :: cur_pass = 1
real(kind=dp), public :: scale_coulomb = 1.0d0
real(kind=dp), public :: scale_exchange = 1.0d0
type(par_env_t), public :: pe

Type-Bound Procedures

procedure(int2_compute_data_parallel_start), public, deferred, pass :: parallel_start
procedure(int2_compute_data_parallel_stop), public, deferred, pass :: parallel_stop
procedure(int2_compute_data_update), public, deferred, pass :: update
procedure(int2_compute_data_clean), public, deferred, pass :: clean
procedure, public, pass :: screen_ij => int2_compute_data_t_screen_ij
procedure, public, pass :: screen_ijkl => int2_compute_data_t_screen_ijkl
generic, public :: screen => screen_ij, screen_ijkl

type, public, abstract, extends(int2_compute_data_t) ::  int2_fock_data_t

Components

Type Visibility Attributes Name Initial
logical, public :: multipass = .false.
integer, public :: num_passes = 1
integer, public :: cur_pass = 1
real(kind=dp), public :: scale_coulomb = 1.0d0
real(kind=dp), public :: scale_exchange = 1.0d0
type(par_env_t), public :: pe
integer, public :: nshells = 0
integer, public :: fockdim = 0
integer, public :: nthreads = 1
integer, public :: nfocks = 1
real(kind=dp), public, allocatable :: f(:,:,:)
real(kind=dp), public, allocatable :: dsh(:,:)
real(kind=dp), public :: max_den = 1.0d0
real(kind=dp), public, pointer :: d(:,:) => null()

Type-Bound Procedures

procedure(int2_compute_data_update), public, deferred, pass :: update
generic, public :: screen => screen_ij, screen_ijkl
procedure, public :: parallel_start => int2_fock_data_t_parallel_start
procedure, public :: parallel_stop => int2_fock_data_t_parallel_stop
procedure, public :: clean => int2_fock_data_t_clean
procedure, public :: init_screen => int2_fock_data_t_init_screen
procedure, public :: screen_ij => int2_fock_data_t_screen_ij
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl
procedure, public :: int2_fock_data_t_parallel_start
procedure, public :: int2_fock_data_t_parallel_stop

type, public, extends(int2_fock_data_t) ::  int2_rhf_data_t

Components

Type Visibility Attributes Name Initial
logical, public :: multipass = .false.
integer, public :: num_passes = 1
integer, public :: cur_pass = 1
real(kind=dp), public :: scale_coulomb = 1.0d0
real(kind=dp), public :: scale_exchange = 1.0d0
type(par_env_t), public :: pe
integer, public :: nshells = 0
integer, public :: fockdim = 0
integer, public :: nthreads = 1
integer, public :: nfocks = 1
real(kind=dp), public, allocatable :: f(:,:,:)
real(kind=dp), public, allocatable :: dsh(:,:)
real(kind=dp), public :: max_den = 1.0d0
real(kind=dp), public, pointer :: d(:,:) => null()

Type-Bound Procedures

generic, public :: screen => screen_ij, screen_ijkl
procedure, public :: parallel_stop => int2_fock_data_t_parallel_stop
procedure, public :: clean => int2_fock_data_t_clean
procedure, public :: init_screen => int2_fock_data_t_init_screen
procedure, public :: screen_ij => int2_fock_data_t_screen_ij
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl
procedure, public :: int2_fock_data_t_parallel_start
procedure, public :: int2_fock_data_t_parallel_stop
procedure, public :: parallel_start => int2_rhf_data_t_parallel_start
procedure, public :: update => int2_rhf_data_t_update

type, public, extends(int2_fock_data_t) ::  int2_urohf_data_t

Components

Type Visibility Attributes Name Initial
logical, public :: multipass = .false.
integer, public :: num_passes = 1
integer, public :: cur_pass = 1
real(kind=dp), public :: scale_coulomb = 1.0d0
real(kind=dp), public :: scale_exchange = 1.0d0
type(par_env_t), public :: pe
integer, public :: nshells = 0
integer, public :: fockdim = 0
integer, public :: nthreads = 1
integer, public :: nfocks = 1
real(kind=dp), public, allocatable :: f(:,:,:)
real(kind=dp), public, allocatable :: dsh(:,:)
real(kind=dp), public :: max_den = 1.0d0
real(kind=dp), public, pointer :: d(:,:) => null()

Type-Bound Procedures

generic, public :: screen => screen_ij, screen_ijkl
procedure, public :: parallel_stop => int2_fock_data_t_parallel_stop
procedure, public :: clean => int2_fock_data_t_clean
procedure, public :: init_screen => int2_fock_data_t_init_screen
procedure, public :: screen_ij => int2_fock_data_t_screen_ij
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl
procedure, public :: int2_fock_data_t_parallel_start
procedure, public :: int2_fock_data_t_parallel_stop
procedure, public :: parallel_start => int2_urohf_data_t_parallel_start
procedure, public :: update => int2_urohf_data_t_update

type, public ::  int2_compute_t

Components

Type Visibility Attributes Name Initial
type(basis_set), public, pointer :: basis
type(atomic_structure), public, pointer :: atoms
real(kind=dp), public, allocatable :: schwarz_ints_regular(:,:)
real(kind=dp), public, allocatable :: schwarz_ints_attenuated(:,:)
real(kind=dp), public, contiguous, pointer :: schwarz_ints(:,:) => null()
logical, public :: schwarz = .true.
integer, public :: buf_size = 50000
integer, public :: skipped = 0
type(int2_cutoffs_t), public :: cutoffs
type(int2_pair_storage), public :: ppairs
logical, public :: attenuated = .false.
real(kind=dp), public :: mu = 1.0d99
type(par_env_t), public :: pe

Type-Bound Procedures

procedure, public, pass :: init => int2_compute_t_init
procedure, public, pass :: set_screening => int2_compute_t_set_screening
procedure, public, pass :: clean => int2_compute_t_clean
procedure, public, pass :: run => int2_run
procedure, public, pass :: run_generic => int2_twoei
procedure, public, pass :: run_cam => int2_run_cam

Subroutines

public subroutine ints_exchange(basis, schwarz_ints, mu2)

Arguments

Type IntentOptional Attributes Name
type(basis_set), intent(in) :: basis
real(kind=dp), intent(inout) :: schwarz_ints(:,:)
real(kind=dp), intent(in), optional :: mu2