(git:08825b9)
Loading...
Searching...
No Matches
qs_active_space_utils Module Reference

Contains utility routines for the active space module. More...

Functions/Subroutines

subroutine, public subspace_matrix_to_array (source_matrix, target_array, row_index, col_index)
 Copy a (square portion) of a cp_fm_type matrix to a standard 1D Fortran array.
subroutine, public eri_to_array (eri_env, array, active_orbitals, spin1, spin2)
 Copy the eri tensor for spins isp1 and isp2 to a standard 1D Fortran array.
pure subroutine, public find_degenerate_splits (eigenvalues, active, eps_degenerate, npairs, first_active, first_other)
 Finds pairs of degenerate orbitals of which one is active and the other is not, i.e. sets of degenerate orbitals that are split by the active space.

Detailed Description

Contains utility routines for the active space module.

History
04.2023 created [SB]
Author
SB

Function/Subroutine Documentation

◆ subspace_matrix_to_array()

subroutine, public qs_active_space_utils::subspace_matrix_to_array ( type(cp_fm_type), intent(in) source_matrix,
real(kind=dp), dimension(:), intent(out) target_array,
integer, dimension(:), intent(in) row_index,
integer, dimension(:), intent(in) col_index )

Copy a (square portion) of a cp_fm_type matrix to a standard 1D Fortran array.

Parameters
source_matrixthe matrix from where the data is taken
target_arraythe array were the data is copied to
row_indexa list containing the row subspace indices
col_indexa list containing the column subspace indices

Definition at line 44 of file qs_active_space_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eri_to_array()

subroutine, public qs_active_space_utils::eri_to_array ( type(eri_type), intent(in) eri_env,
real(kind=dp), dimension(:), intent(inout) array,
integer, dimension(:, :), intent(in) active_orbitals,
integer, intent(in) spin1,
integer, intent(in) spin2 )

Copy the eri tensor for spins isp1 and isp2 to a standard 1D Fortran array.

Parameters
eri_envthe eri environment
arraythe 1D Fortran array where the eri are copied to
active_orbitalsa list containing the active orbitals indices
spin1the spin of the bra
spin2the spin of the ket

Definition at line 84 of file qs_active_space_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_degenerate_splits()

pure subroutine, public qs_active_space_utils::find_degenerate_splits ( real(kind=dp), dimension(:), intent(in) eigenvalues,
integer, dimension(:), intent(in) active,
real(kind=dp), intent(in) eps_degenerate,
integer, intent(out) npairs,
integer, intent(out) first_active,
integer, intent(out) first_other )

Finds pairs of degenerate orbitals of which one is active and the other is not, i.e. sets of degenerate orbitals that are split by the active space.

Parameters
eigenvaluesorbital energies of the available orbitals
activeindices of the active orbitals; indices outside the available orbitals are skipped
eps_degenerateenergy difference below which two orbitals count as degenerate
npairsnumber of split pairs
first_activeactive orbital of the first split pair (0 if there is none)
first_othernon-active orbital of the first split pair (0 if there is none)

Definition at line 165 of file qs_active_space_utils.F.

Here is the caller graph for this function: