shell_den_screen_mrsf Subroutine

public subroutine shell_den_screen_mrsf(dsh, da, basis)

Uses

  • proc~~shell_den_screen_mrsf~~UsesGraph proc~shell_den_screen_mrsf shell_den_screen_mrsf module~basis_tools basis_tools proc~shell_den_screen_mrsf->module~basis_tools module~types types proc~shell_den_screen_mrsf->module~types 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~precision precision module~basis_tools->module~precision module~types->module~basis_tools 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 module~types->module~precision tagarray tagarray module~types->tagarray module~atomic_structure_m->iso_c_binding module~constants->module~precision module~functionals->iso_c_binding module~functionals->module~precision xc_f03_lib_m xc_f03_lib_m module~functionals->xc_f03_lib_m module~parallel->iso_c_binding module~parallel->iso_fortran_env module~parallel->module~precision mpi mpi module~parallel->mpi module~precision->iso_fortran_env

Arguments

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

Called by

proc~~shell_den_screen_mrsf~~CalledByGraph proc~shell_den_screen_mrsf shell_den_screen_mrsf proc~int2_mrsf_data_t_init_screen int2_mrsf_data_t%int2_mrsf_data_t_init_screen proc~int2_mrsf_data_t_init_screen->proc~shell_den_screen_mrsf proc~int2_mrsf_data_t_parallel_start int2_mrsf_data_t%int2_mrsf_data_t_parallel_start proc~int2_mrsf_data_t_parallel_start->proc~int2_mrsf_data_t_init_screen

Source Code

  subroutine shell_den_screen_mrsf(dsh,da,basis)

    use types, only: information
    use basis_tools, only: basis_set

    implicit none

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

    integer :: ish, jsh, maxi, maxj, mini, minj

    ! RHF
    do ish = 1, basis%nshell
      mini = basis%ao_offset(ish)
      maxi = mini + basis%naos(ish)-1
      do jsh = 1, ish
        minj = basis%ao_offset(jsh)
        maxj = minj+basis%naos(jsh)-1
        dsh(ish,jsh) = maxval(abs(da(:,minj:maxj,mini:maxi)))
        dsh(jsh,ish) = dsh(ish,jsh)
      end do
    end do

  end subroutine shell_den_screen_mrsf