@@ -45,13 +45,11 @@ MODULE admm_utils
4545!> \param ispin ...
4646!> \param admm_env ...
4747!> \param ks_matrix ...
48- !> \param error ...
4948! *****************************************************************************
50- SUBROUTINE admm_correct_for_eigenvalues (ispin , admm_env , ks_matrix , error )
49+ SUBROUTINE admm_correct_for_eigenvalues (ispin , admm_env , ks_matrix )
5150 INTEGER , INTENT (IN ) :: ispin
5251 TYPE(admm_type), POINTER :: admm_env
5352 TYPE(cp_dbcsr_type), POINTER :: ks_matrix
54- TYPE(cp_error_type), INTENT (INOUT ) :: error
5553
5654 INTEGER :: nao_aux_fit, nao_orb
5755 TYPE(cp_dbcsr_type), POINTER :: work
@@ -65,62 +63,58 @@ SUBROUTINE admm_correct_for_eigenvalues(ispin, admm_env, ks_matrix, error)
6563 !* remove what has been added and add the correction
6664 NULLIFY(work)
6765 ALLOCATE(work)
68- CALL cp_dbcsr_init (work, error )
66+ CALL cp_dbcsr_init (work)
6967 CALL cp_dbcsr_create(work, ' work' , &
7068 cp_dbcsr_distribution(ks_matrix), dbcsr_type_symmetric, cp_dbcsr_row_block_sizes(ks_matrix),&
7169 cp_dbcsr_col_block_sizes(ks_matrix), &
7270 cp_dbcsr_get_data_size(ks_matrix),&
73- cp_dbcsr_get_data_type(ks_matrix), error = error )
71+ cp_dbcsr_get_data_type(ks_matrix))
7472
75- CALL cp_dbcsr_copy(work, ks_matrix, error= error)
76- CALL cp_dbcsr_set(work, 0.0_dp , error)
77- CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
78- error= error)
73+ CALL cp_dbcsr_copy(work, ks_matrix)
74+ CALL cp_dbcsr_set(work, 0.0_dp )
75+ CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. )
7976
80- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp , error )
77+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp )
8178
8279 ! ** calculate A^T* H_tilde* A
8380 CALL cp_gemm(' N' ,' N' ,nao_aux_fit,nao_orb,nao_aux_fit,&
8481 1.0_dp , admm_env%K(ispin)%matrix,admm_env%A, 0.0_dp ,&
85- admm_env%work_aux_orb,error )
82+ admm_env%work_aux_orb)
8683 CALL cp_gemm(' T' ,' N' ,nao_orb,nao_orb,nao_aux_fit,&
8784 1.0_dp , admm_env%A, admm_env%work_aux_orb ,0.0_dp ,&
88- admm_env%H_corr(ispin)%matrix,error )
85+ admm_env%H_corr(ispin)%matrix)
8986
90- CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
91- error= error)
87+ CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. )
9288
93- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp , error )
94- CALL cp_dbcsr_deallocate_matrix(work,error )
89+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp )
90+ CALL cp_dbcsr_deallocate_matrix(work)
9591
9692 CASE(do_admm_purify_mo_diag)
9793 !* remove what has been added and add the correction
9894 NULLIFY(work)
9995 ALLOCATE(work)
100- CALL cp_dbcsr_init (work, error )
96+ CALL cp_dbcsr_init (work)
10197 CALL cp_dbcsr_create(work, ' work' , &
10298 cp_dbcsr_distribution(ks_matrix), dbcsr_type_symmetric, cp_dbcsr_row_block_sizes(ks_matrix),&
10399 cp_dbcsr_col_block_sizes(ks_matrix), cp_dbcsr_get_data_size(ks_matrix),&
104- cp_dbcsr_get_data_type(ks_matrix), error = error )
100+ cp_dbcsr_get_data_type(ks_matrix))
105101
106- CALL cp_dbcsr_copy(work, ks_matrix, error= error)
107- CALL cp_dbcsr_set(work, 0.0_dp , error)
108- CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
109- error= error)
102+ CALL cp_dbcsr_copy(work, ks_matrix)
103+ CALL cp_dbcsr_set(work, 0.0_dp )
104+ CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. )
110105
111106 ! ** calculate A^T* H_tilde* A
112107 CALL cp_gemm(' N' ,' N' ,nao_aux_fit,nao_orb,nao_aux_fit,&
113108 1.0_dp , admm_env%K(ispin)%matrix,admm_env%A, 0.0_dp ,&
114- admm_env%work_aux_orb,error )
109+ admm_env%work_aux_orb)
115110 CALL cp_gemm(' T' ,' N' ,nao_orb,nao_orb,nao_aux_fit,&
116111 1.0_dp , admm_env%A, admm_env%work_aux_orb ,0.0_dp ,&
117- admm_env%H_corr(ispin)%matrix,error )
112+ admm_env%H_corr(ispin)%matrix)
118113
119- CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
120- error= error)
114+ CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. )
121115
122- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp , error )
123- CALL cp_dbcsr_deallocate_matrix(work,error )
116+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp )
117+ CALL cp_dbcsr_deallocate_matrix(work)
124118
125119 CASE(do_admm_purify_mo_no_diag, do_admm_purify_none, do_admm_purify_cauchy)
126120 ! do nothing
@@ -135,13 +129,11 @@ END SUBROUTINE admm_correct_for_eigenvalues
135129!> \param ispin ...
136130!> \param admm_env ...
137131!> \param ks_matrix ...
138- !> \param error ...
139132! *****************************************************************************
140- SUBROUTINE admm_uncorrect_for_eigenvalues (ispin , admm_env , ks_matrix , error )
133+ SUBROUTINE admm_uncorrect_for_eigenvalues (ispin , admm_env , ks_matrix )
141134 INTEGER , INTENT (IN ) :: ispin
142135 TYPE(admm_type), POINTER :: admm_env
143136 TYPE(cp_dbcsr_type), POINTER :: ks_matrix
144- TYPE(cp_error_type), INTENT (INOUT ) :: error
145137
146138 INTEGER :: nao_aux_fit, nao_orb
147139 TYPE(cp_dbcsr_type), POINTER :: work
@@ -155,46 +147,42 @@ SUBROUTINE admm_uncorrect_for_eigenvalues(ispin, admm_env, ks_matrix, error)
155147 !* remove what has been added and add the correction
156148 NULLIFY(work)
157149 ALLOCATE(work)
158- CALL cp_dbcsr_init (work, error )
150+ CALL cp_dbcsr_init (work)
159151 CALL cp_dbcsr_create(work, ' work' , &
160152 cp_dbcsr_distribution(ks_matrix), dbcsr_type_symmetric, cp_dbcsr_row_block_sizes(ks_matrix),&
161153 cp_dbcsr_col_block_sizes(ks_matrix), cp_dbcsr_get_data_size(ks_matrix),&
162- cp_dbcsr_get_data_type(ks_matrix), error = error )
154+ cp_dbcsr_get_data_type(ks_matrix))
163155
164- CALL cp_dbcsr_copy(work, ks_matrix, error= error)
165- CALL cp_dbcsr_set(work, 0.0_dp , error)
166- CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
167- error= error)
156+ CALL cp_dbcsr_copy(work, ks_matrix)
157+ CALL cp_dbcsr_set(work, 0.0_dp )
158+ CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. )
168159
169- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp , error )
160+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp )
170161
171- CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
172- error= error)
162+ CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. )
173163
174- CALL cp_dbcsr_set(work, 0.0_dp , error)
175- CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
176- error= error)
164+ CALL cp_dbcsr_set(work, 0.0_dp )
165+ CALL copy_fm_to_dbcsr(admm_env%ks_to_be_merged(ispin)%matrix, work, keep_sparsity= .TRUE. )
177166
178- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp , error )
179- CALL cp_dbcsr_deallocate_matrix(work,error )
167+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , 1.0_dp )
168+ CALL cp_dbcsr_deallocate_matrix(work)
180169
181170 CASE(do_admm_purify_mo_diag)
182171 NULLIFY(work)
183172 ALLOCATE(work)
184- CALL cp_dbcsr_init (work, error )
173+ CALL cp_dbcsr_init (work)
185174 CALL cp_dbcsr_create(work, ' work' , &
186175 cp_dbcsr_distribution(ks_matrix), dbcsr_type_symmetric, cp_dbcsr_row_block_sizes(ks_matrix),&
187176 cp_dbcsr_col_block_sizes(ks_matrix), cp_dbcsr_get_data_size(ks_matrix),&
188- cp_dbcsr_get_data_type(ks_matrix), error = error )
177+ cp_dbcsr_get_data_type(ks_matrix))
189178
190- CALL cp_dbcsr_copy(work, ks_matrix, error = error )
191- CALL cp_dbcsr_set(work, 0.0_dp , error )
179+ CALL cp_dbcsr_copy(work, ks_matrix)
180+ CALL cp_dbcsr_set(work, 0.0_dp )
192181
193- CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. ,&
194- error= error)
182+ CALL copy_fm_to_dbcsr(admm_env%H_corr(ispin)%matrix, work, keep_sparsity= .TRUE. )
195183
196- CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp , error )
197- CALL cp_dbcsr_deallocate_matrix(work,error )
184+ CALL cp_dbcsr_add(ks_matrix, work, 1.0_dp , - 1.0_dp )
185+ CALL cp_dbcsr_deallocate_matrix(work)
198186
199187 CASE(do_admm_purify_mo_no_diag, do_admm_purify_none, do_admm_purify_cauchy)
200188 ! do nothing
0 commit comments