tdhf_mrsf_lib Module


Uses

  • module~~tdhf_mrsf_lib~~UsesGraph module~tdhf_mrsf_lib tdhf_mrsf_lib module~basis_tools basis_tools module~tdhf_mrsf_lib->module~basis_tools module~int2_compute int2_compute module~tdhf_mrsf_lib->module~int2_compute module~oqp_linalg oqp_linalg module~tdhf_mrsf_lib->module~oqp_linalg module~precision precision module~tdhf_mrsf_lib->module~precision 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~io_constants io_constants module~basis_tools->module~io_constants module~parallel parallel module~basis_tools->module~parallel module~int2_compute->module~basis_tools module~int2_compute->module~precision module~int2_compute->module~atomic_structure_m 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~int2_compute->module~parallel module~blas_wrap blas_wrap module~oqp_linalg->module~blas_wrap module~lapack_wrap lapack_wrap module~oqp_linalg->module~lapack_wrap module~precision->iso_fortran_env iso_c_binding iso_c_binding module~atomic_structure_m->iso_c_binding module~blas_wrap->module~precision module~blas_wrap->module~messages module~mathlib_types mathlib_types module~blas_wrap->module~mathlib_types module~constants->module~precision module~int2_pairs->module~precision module~int2e_libint->module~precision module~int2e_libint->module~constants module~int2e_libint->module~int2_pairs module~int2e_libint->iso_c_binding 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~lapack_wrap->module~precision module~lapack_wrap->module~messages module~lapack_wrap->module~mathlib_types 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 module~parallel->module~precision module~parallel->iso_fortran_env module~parallel->iso_c_binding mpi mpi module~parallel->mpi module~libint_f->iso_c_binding

Used by

  • module~~tdhf_mrsf_lib~~UsedByGraph module~tdhf_mrsf_lib tdhf_mrsf_lib proc~get_states_overlap get_states_overlap proc~get_states_overlap->module~tdhf_mrsf_lib proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->module~tdhf_mrsf_lib

Derived Types

type, public, extends(int2_fock_data_t) ::  int2_mrsf_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()
real(kind=dp), public, allocatable :: f3(:,:,:,:,:)
real(kind=dp), public, pointer :: d3(:,:,:,:) => null()
logical, public :: tamm_dancoff = .true.

Type-Bound Procedures

generic, public :: screen => screen_ij, screen_ijkl
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_mrsf_data_t_parallel_start
procedure, public :: parallel_stop => int2_mrsf_data_t_parallel_stop
procedure, public :: init_screen => int2_mrsf_data_t_init_screen
procedure, public :: update => int2_mrsf_data_t_update
procedure, public :: clean => int2_mrsf_data_t_clean

Subroutines

public subroutine int2_mrsf_data_t_parallel_start(this, basis, nthreads)

Arguments

Type IntentOptional Attributes Name
class(int2_mrsf_data_t), intent(inout), target :: this
type(basis_set), intent(in) :: basis
integer, intent(in) :: nthreads

public subroutine int2_mrsf_data_t_parallel_stop(this)

Arguments

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

public subroutine int2_mrsf_data_t_clean(this)

Arguments

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

public subroutine int2_mrsf_data_t_init_screen(this, basis)

Arguments

Type IntentOptional Attributes Name
class(int2_mrsf_data_t), intent(inout), target :: this
type(basis_set), intent(in) :: basis

public subroutine shell_den_screen_mrsf(dsh, da, basis)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: dsh(:,:)
real(kind=dp), intent(in), dimension(:,:,:) :: da
type(basis_set), intent(in) :: basis

public subroutine int2_mrsf_data_t_update(this, buf)

Arguments

Type IntentOptional Attributes Name
class(int2_mrsf_data_t), intent(inout) :: this
type(int2_storage_t), intent(inout) :: buf

public subroutine mrinivec(infos, ea, eb, bvec_mo, xm, nvec)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:) :: ea
real(kind=dp), intent(in), dimension(:) :: eb
real(kind=dp), intent(out), dimension(:,:) :: bvec_mo
real(kind=dp), intent(out), dimension(:) :: xm
integer, intent(in) :: nvec

public subroutine mrsfcbc(infos, va, vb, bvec, fmrsf)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:,:) :: va
real(kind=dp), intent(in), dimension(:,:) :: vb
real(kind=dp), intent(in), dimension(:,:) :: bvec
real(kind=dp), intent(inout), target, dimension(:,:,:) :: fmrsf

public subroutine mrsfmntoia(infos, fmrsf, pmo, va, vb, ivec)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), target, dimension(:,:,:) :: fmrsf
real(kind=dp), intent(out), dimension(:,:) :: pmo
real(kind=dp), intent(in), dimension(:,:) :: va
real(kind=dp), intent(in), dimension(:,:) :: vb
integer, intent(in) :: ivec

public subroutine mrsfesum(infos, wrk, fij, fab, pmo, iv)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:,:) :: wrk
real(kind=dp), intent(in), dimension(:,:) :: fij
real(kind=dp), intent(in), dimension(:,:) :: fab
real(kind=dp), intent(inout), dimension(:,:) :: pmo
integer, intent(in) :: iv

public subroutine mrsfqroesum(fbzzfa, pmo, noca, nocb, nbf, ivec)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), target :: fbzzfa(*)
real(kind=dp), intent(inout) :: pmo(:,:)
integer, intent(in) :: noca
integer, intent(in) :: nocb
integer, intent(in) :: nbf
integer, intent(in) :: ivec

public subroutine get_mrsf_transitions(trans, noca, nocb, nbf)

Arguments

Type IntentOptional Attributes Name
integer, intent(out), dimension(:,:) :: trans
integer, intent(in) :: noca
integer, intent(in) :: nocb
integer, intent(in) :: nbf

public subroutine mrsfxvec(infos, xv, xv12)

@details This subroutine transforms Multi-Reference Spin-Flip (MRSF) response vectors from a compressed representation to an expanded form. It handles both singlet (mrst=1) and triplet (mrst=3) cases.

Read more…

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:) :: xv
real(kind=dp), intent(inout), dimension(:) :: xv12

public subroutine mrsfsp(xhxa, xhxb, ca, cb, xv, fmrsf, noca, nocb)

@brief Spin-pairing parts of singlet and triplet MRSF Lagrangian

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: xhxa
real(kind=dp), intent(out), dimension(:,:) :: xhxb
real(kind=dp), intent(in), dimension(:,:) :: ca
real(kind=dp), intent(in), dimension(:,:) :: cb
real(kind=dp), intent(in), dimension(:,:) :: xv
real(kind=dp), intent(in), target, dimension(:,:,:) :: fmrsf
integer, intent(in) :: noca
integer, intent(in) :: nocb

public subroutine mrsfrowcal(wmo, mo_energy_a, fa, fb, xk, xhxa, xhxb, hppija, hppijb, noca, nocb)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: wmo
real(kind=dp), intent(in), dimension(:) :: mo_energy_a
real(kind=dp), intent(in), dimension(:,:) :: fa
real(kind=dp), intent(in), dimension(:,:) :: fb
real(kind=dp), intent(in), dimension(:) :: xk
real(kind=dp), intent(in), dimension(:,:) :: xhxa
real(kind=dp), intent(in), dimension(:,:) :: xhxb
real(kind=dp), intent(in), dimension(:,:) :: hppija
real(kind=dp), intent(in), dimension(:,:) :: hppijb
integer, intent(in) :: noca
integer, intent(in) :: nocb

public subroutine mrsfqrorhs(rhs, xhxa, xhxb, hpta, hptb, tab, tij, fa, fb, noca, nocb)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:) :: rhs
real(kind=dp), intent(inout), dimension(:,:) :: xhxa
real(kind=dp), intent(inout), dimension(:,:) :: xhxb
real(kind=dp), intent(in), dimension(:,:) :: hpta
real(kind=dp), intent(in), dimension(:,:) :: hptb
real(kind=dp), intent(in), dimension(:,:) :: tab
real(kind=dp), intent(in), dimension(:,:) :: tij
real(kind=dp), intent(in), dimension(:,:) :: fa
real(kind=dp), intent(in), dimension(:,:) :: fb
integer, intent(in) :: noca
integer, intent(in) :: nocb

public subroutine mrsfqropcal(pa, pb, tab, tij, z, noca, nocb)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: pa
real(kind=dp), intent(out), dimension(:,:) :: pb
real(kind=dp), intent(in), dimension(:,:) :: tab
real(kind=dp), intent(in), dimension(:,:) :: tij
real(kind=dp), intent(in), dimension(:) :: z
integer, intent(in) :: noca
integer, intent(in) :: nocb

public subroutine mrsfqrowcal(w, mo_energy_a, fa, fb, z, xhxa, xhxb, hppija, hppijb, noca, nocb)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: w
real(kind=dp), intent(in), dimension(:) :: mo_energy_a
real(kind=dp), intent(in), dimension(:,:) :: fa
real(kind=dp), intent(in), dimension(:,:) :: fb
real(kind=dp), intent(in), dimension(:) :: z
real(kind=dp), intent(in), dimension(:,:) :: xhxa
real(kind=dp), intent(in), dimension(:,:) :: xhxb
real(kind=dp), intent(in), dimension(:,:) :: hppija
real(kind=dp), intent(in), dimension(:,:) :: hppijb
integer, intent(in) :: noca
integer, intent(in) :: nocb

public subroutine get_mrsf_transition_density(infos, trden, bvec_mo, ist, jst)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(out), dimension(:,:) :: trden
real(kind=dp), intent(in), dimension(:,:) :: bvec_mo
integer, intent(in) :: ist
integer, intent(in) :: jst

public subroutine get_trans_den(trden, xv12i, xv12j, noca, nocb, nvirb)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: trden
real(kind=dp), intent(in), dimension(:,:) :: xv12i
real(kind=dp), intent(in), dimension(:,:) :: xv12j
integer, intent(in) :: noca
integer, intent(in) :: nocb
integer, intent(in) :: nvirb