From 599c882fa04c63e6a72bb4bbc5ac9fb08ead19af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Sch=C3=BCtt?= Date: Fri, 14 Feb 2025 23:07:22 +0100 Subject: [PATCH] DBX: Remove dbcsr_iterator_next_1d_block --- src/arnoldi/arnoldi_methods.F | 12 ++++++------ src/dbx/cp_dbcsr_api.F | 26 -------------------------- src/emd/rt_propagation_methods.F | 2 +- src/emd/rt_propagation_output.F | 2 +- src/emd/rt_propagation_utils.F | 2 +- src/qs_scf_block_davidson.F | 7 +++---- src/rt_propagation_forces.F | 6 +++--- 7 files changed, 15 insertions(+), 42 deletions(-) diff --git a/src/arnoldi/arnoldi_methods.F b/src/arnoldi/arnoldi_methods.F index 01aba8afe6..c8b01ec06a 100644 --- a/src/arnoldi/arnoldi_methods.F +++ b/src/arnoldi/arnoldi_methods.F @@ -207,7 +207,7 @@ CONTAINS REAL(dp) :: rnorm REAL(kind=dp) :: norm REAL(kind=dp), ALLOCATABLE, DIMENSION(:) :: v_vec, w_vec - REAL(kind=dp), DIMENSION(:), POINTER :: data_vec + REAL(kind=dp), DIMENSION(:, :), POINTER :: data_block TYPE(arnoldi_control_type), POINTER :: control TYPE(arnoldi_data_type), POINTER :: ar_data TYPE(dbcsr_iterator_type) :: iter @@ -235,9 +235,9 @@ CONTAINS ! Setup the initial normalized random vector (sufficient if it only happens on proc_col 0) CALL dbcsr_iterator_start(iter, vectors%input_vec) DO WHILE (dbcsr_iterator_blocks_left(iter)) - CALL dbcsr_iterator_next_block(iter, row, col, data_vec, row_size=row_size, col_size=col_size) + CALL dbcsr_iterator_next_block(iter, row, col, data_block, row_size=row_size, col_size=col_size) iseed(1) = 2; iseed(2) = MOD(row, 4095); iseed(3) = MOD(col, 4095); iseed(4) = 11 - CALL dlarnv(2, iseed, row_size*col_size, data_vec) + CALL dlarnv(2, iseed, row_size*col_size, data_block) END DO CALL dbcsr_iterator_stop(iter) END IF @@ -298,7 +298,7 @@ CONTAINS REAL(dp) :: rnorm REAL(kind=dp) :: denom, norm REAL(kind=dp), ALLOCATABLE, DIMENSION(:) :: v_vec, w_vec - REAL(kind=dp), DIMENSION(:), POINTER :: data_vec + REAL(kind=dp), DIMENSION(:, :), POINTER :: data_block TYPE(arnoldi_control_type), POINTER :: control TYPE(arnoldi_data_type), POINTER :: ar_data TYPE(dbcsr_iterator_type) :: iter @@ -326,9 +326,9 @@ CONTAINS ! Setup the initial normalized random vector (sufficient if it only happens on proc_col 0) CALL dbcsr_iterator_start(iter, vectors%input_vec) DO WHILE (dbcsr_iterator_blocks_left(iter)) - CALL dbcsr_iterator_next_block(iter, row, col, data_vec, row_size=row_size, col_size=col_size) + CALL dbcsr_iterator_next_block(iter, row, col, data_block, row_size=row_size, col_size=col_size) iseed(1) = 2; iseed(2) = MOD(row, 4095); iseed(3) = MOD(col, 4095); iseed(4) = 11 - CALL dlarnv(2, iseed, row_size*col_size, data_vec) + CALL dlarnv(2, iseed, row_size*col_size, data_block) END DO CALL dbcsr_iterator_stop(iter) END IF diff --git a/src/dbx/cp_dbcsr_api.F b/src/dbx/cp_dbcsr_api.F index d0ec057382..63e09fcb18 100644 --- a/src/dbx/cp_dbcsr_api.F +++ b/src/dbx/cp_dbcsr_api.F @@ -242,7 +242,6 @@ MODULE cp_dbcsr_api INTERFACE dbcsr_iterator_next_block MODULE PROCEDURE dbcsr_iterator_next_block_index - MODULE PROCEDURE dbcsr_iterator_next_1d_block MODULE PROCEDURE dbcsr_iterator_next_2d_block END INTERFACE @@ -1034,31 +1033,6 @@ CONTAINS CALL dbcsr_iterator_next_block_prv(iterator%prv, row=row, column=column, blk=blk) END SUBROUTINE dbcsr_iterator_next_block_index -! ************************************************************************************************** -!> \brief ... -!> \param iterator ... -!> \param row ... -!> \param column ... -!> \param block ... -!> \param block_number ... -!> \param row_size ... -!> \param col_size ... -!> \param row_offset ... -!> \param col_offset ... -! ************************************************************************************************** - SUBROUTINE dbcsr_iterator_next_1d_block(iterator, row, column, block, & - block_number, row_size, col_size, & - row_offset, col_offset) - TYPE(dbcsr_iterator_type), INTENT(INOUT) :: iterator - INTEGER, INTENT(OUT) :: row, column - REAL(kind=dp), DIMENSION(:), POINTER :: block - INTEGER, INTENT(OUT), OPTIONAL :: block_number, row_size, col_size, & - row_offset, col_offset - - CALL dbcsr_iterator_next_block_prv(iterator%prv, row, column, block, block_number, & - row_size, col_size, row_offset, col_offset) - END SUBROUTINE dbcsr_iterator_next_1d_block - ! ************************************************************************************************** !> \brief ... !> \param iterator ... diff --git a/src/emd/rt_propagation_methods.F b/src/emd/rt_propagation_methods.F index 1385637d99..fccc755e5d 100644 --- a/src/emd/rt_propagation_methods.F +++ b/src/emd/rt_propagation_methods.F @@ -534,7 +534,7 @@ CONTAINS INTEGER :: col_atom, handle, row_atom LOGICAL :: found - REAL(dp), DIMENSION(:), POINTER :: block_values, block_values2 + REAL(dp), DIMENSION(:, :), POINTER :: block_values, block_values2 TYPE(dbcsr_iterator_type) :: iter TYPE(dbcsr_type), POINTER :: tmp diff --git a/src/emd/rt_propagation_output.F b/src/emd/rt_propagation_output.F index a564bd8a87..5f112f0a49 100644 --- a/src/emd/rt_propagation_output.F +++ b/src/emd/rt_propagation_output.F @@ -476,7 +476,7 @@ CONTAINS INTEGER :: col_atom, group_handle, handle, i, & ispin, row_atom REAL(dp) :: alpha, max_alpha - REAL(dp), DIMENSION(:), POINTER :: block_values + REAL(dp), DIMENSION(:, :), POINTER :: block_values TYPE(dbcsr_iterator_type) :: iter TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: rho_new TYPE(dbcsr_type), POINTER :: tmp diff --git a/src/emd/rt_propagation_utils.F b/src/emd/rt_propagation_utils.F index 4f23457c4f..7c551bf111 100644 --- a/src/emd/rt_propagation_utils.F +++ b/src/emd/rt_propagation_utils.F @@ -131,7 +131,7 @@ CONTAINS nder, row_atom INTEGER, DIMENSION(6, 2) :: c_map_mat LOGICAL :: return_s_derivatives - REAL(dp), DIMENSION(:), POINTER :: block_values + REAL(dp), DIMENSION(:, :), POINTER :: block_values TYPE(dbcsr_iterator_type) :: iter TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: C_mat, S_der, s_derivs TYPE(dbcsr_type), POINTER :: B_mat, tmp_mat, tmp_mat2 diff --git a/src/qs_scf_block_davidson.F b/src/qs_scf_block_davidson.F index 729bfbb5e4..a700652d8f 100644 --- a/src/qs_scf_block_davidson.F +++ b/src/qs_scf_block_davidson.F @@ -483,9 +483,8 @@ CONTAINS CHARACTER(len=*), PARAMETER :: routineN = 'generate_extended_space_sparse' - INTEGER :: col, col_offset, handle, homo, i_first, i_last, imo, iteration, j, jj, k, & - max_iter, n, nao, nmat, nmat2, nmo, nmo_converged, nmo_not_converged, nset, nset_conv, & - nset_not_conv, row + INTEGER :: col_offset, handle, homo, i_first, i_last, imo, iteration, j, jj, k, max_iter, n, & + nao, nmat, nmat2, nmo, nmo_converged, nmo_not_converged, nset, nset_conv, nset_not_conv INTEGER, ALLOCATABLE, DIMENSION(:) :: iconv, inotconv INTEGER, ALLOCATABLE, DIMENSION(:, :) :: iconv_set, inotconv_set LOGICAL :: converged, do_apply_preconditioner @@ -577,7 +576,7 @@ CONTAINS vnorm = 0.0_dp CALL dbcsr_iterator_start(iter, matrix_z) DO WHILE (dbcsr_iterator_blocks_left(iter)) - CALL dbcsr_iterator_next_block(iter, row, col, block, col_offset=col_offset) + CALL dbcsr_iterator_next_block(iter, block=block, col_offset=col_offset) DO j = 1, SIZE(block, 2) vnorm(col_offset + j - 1) = vnorm(col_offset + j - 1) + SUM(block(:, j)**2) END DO diff --git a/src/rt_propagation_forces.F b/src/rt_propagation_forces.F index 5171104cee..9a14a37c61 100644 --- a/src/rt_propagation_forces.F +++ b/src/rt_propagation_forces.F @@ -168,7 +168,7 @@ CONTAINS INTEGER :: col_atom, i, ikind, kind_atom, row_atom LOGICAL :: found - REAL(dp), DIMENSION(:), POINTER :: block_values, block_values2 + REAL(dp), DIMENSION(:, :), POINTER :: block_values, block_values2 TYPE(dbcsr_iterator_type) :: iter DO i = 1, 3 @@ -185,7 +185,7 @@ CONTAINS !The block_values are in a vector format, ! so the dot_product is the sum over all elements of the hamand product, that I need force(ikind)%ehrenfest(i, kind_atom) = force(ikind)%ehrenfest(i, kind_atom) + & - 2.0_dp*DOT_PRODUCT(block_values, block_values2) + 2.0_dp*SUM(block_values*block_values2) END IF END DO CALL dbcsr_iterator_stop(iter) @@ -202,7 +202,7 @@ CONTAINS !The block_values are in a vector format, so the dot_product is ! the sum over all elements of the hamand product, that I need force(ikind)%ehrenfest(i, kind_atom) = force(ikind)%ehrenfest(i, kind_atom) + & - 2.0_dp*DOT_PRODUCT(block_values, block_values2) + 2.0_dp*SUM(block_values*block_values2) END IF END DO CALL dbcsr_iterator_stop(iter)