Skip to content

Commit

Permalink
Add POINTER attribute for admm_env
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrack committed Nov 24, 2022
1 parent 63f81a7 commit e3c5558
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/admm_types.F
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ MODULE admm_types
!> \author Manuel Guidon
! **************************************************************************************************
SUBROUTINE admm_env_create(admm_env, admm_control, mos, para_env, natoms, nao_aux_fit)
TYPE(admm_type), POINTER :: admm_env
TYPE(admm_control_type), POINTER :: admm_control
TYPE(mo_set_type), DIMENSION(:), INTENT(IN) :: mos
Expand Down Expand Up @@ -352,7 +353,8 @@ SUBROUTINE admm_env_create(admm_env, admm_control, mos, para_env, natoms, nao_au
CALL cp_fm_struct_release(fm_struct_orb_aux)
CALL cp_fm_struct_release(fm_struct_orb_orb)
! copy settings from admm_control
! Copy settings from admm_control
CPASSERT(ASSOCIATED(admm_control))
admm_env%purification_method = admm_control%purification_method
admm_env%scaling_model = admm_control%scaling_model
admm_env%aux_exch_func = admm_control%aux_exch_func
Expand All @@ -365,7 +367,7 @@ SUBROUTINE admm_env_create(admm_env, admm_control, mos, para_env, natoms, nao_au
IF ((admm_control%method == do_admm_blocking_purify_full) .OR. &
(admm_control%method == do_admm_blocked_projection)) THEN
! create block map
! Create block map
ALLOCATE (admm_env%block_map(natoms, natoms))
admm_env%block_map(:, :) = 0
DO iblock = 1, SIZE(admm_control%blocks)
Expand Down Expand Up @@ -398,10 +400,13 @@ END SUBROUTINE admm_env_create
!> \author Manuel Guidon
! **************************************************************************************************
SUBROUTINE admm_env_release(admm_env)
TYPE(admm_type), POINTER :: admm_env
INTEGER :: ispin
CPASSERT(ASSOCIATED(admm_env))
CALL cp_fm_release(admm_env%S)
CALL cp_fm_release(admm_env%S_inv)
CALL cp_fm_release(admm_env%Q)
Expand Down Expand Up @@ -581,7 +586,7 @@ SUBROUTINE get_admm_env(admm_env, mo_derivs_aux_fit, mos_aux_fit, sab_aux_fit, s
matrix_ks_aux_fit_dft, matrix_ks_aux_fit_hfx, rho_aux_fit, &
rho_aux_fit_buffer, admm_dm)
TYPE(admm_type), INTENT(IN) :: admm_env
TYPE(admm_type), INTENT(IN), POINTER :: admm_env
TYPE(cp_fm_type), DIMENSION(:), OPTIONAL, POINTER :: mo_derivs_aux_fit
TYPE(mo_set_type), DIMENSION(:), OPTIONAL, POINTER :: mos_aux_fit
TYPE(neighbor_list_set_p_type), DIMENSION(:), &
Expand All @@ -597,6 +602,8 @@ SUBROUTINE get_admm_env(admm_env, mo_derivs_aux_fit, mos_aux_fit, sab_aux_fit, s
TYPE(qs_rho_type), OPTIONAL, POINTER :: rho_aux_fit, rho_aux_fit_buffer
TYPE(admm_dm_type), OPTIONAL, POINTER :: admm_dm
CPASSERT(ASSOCIATED(admm_env))
IF (PRESENT(mo_derivs_aux_fit)) mo_derivs_aux_fit => admm_env%mo_derivs_aux_fit
IF (PRESENT(mos_aux_fit)) mos_aux_fit => admm_env%mos_aux_fit
IF (PRESENT(sab_aux_fit)) sab_aux_fit => admm_env%sab_aux_fit
Expand Down Expand Up @@ -640,7 +647,7 @@ SUBROUTINE set_admm_env(admm_env, mo_derivs_aux_fit, mos_aux_fit, sab_aux_fit, s
matrix_ks_aux_fit_dft, matrix_ks_aux_fit_hfx, rho_aux_fit, &
rho_aux_fit_buffer, admm_dm)
TYPE(admm_type), INTENT(INOUT) :: admm_env
TYPE(admm_type), INTENT(INOUT), POINTER :: admm_env
TYPE(cp_fm_type), DIMENSION(:), OPTIONAL, POINTER :: mo_derivs_aux_fit
TYPE(mo_set_type), DIMENSION(:), OPTIONAL, POINTER :: mos_aux_fit
TYPE(neighbor_list_set_p_type), DIMENSION(:), &
Expand All @@ -656,6 +663,8 @@ SUBROUTINE set_admm_env(admm_env, mo_derivs_aux_fit, mos_aux_fit, sab_aux_fit, s
TYPE(qs_rho_type), OPTIONAL, POINTER :: rho_aux_fit, rho_aux_fit_buffer
TYPE(admm_dm_type), OPTIONAL, POINTER :: admm_dm
CPASSERT(ASSOCIATED(admm_env))
IF (PRESENT(mo_derivs_aux_fit)) admm_env%mo_derivs_aux_fit => mo_derivs_aux_fit
IF (PRESENT(mos_aux_fit)) admm_env%mos_aux_fit => mos_aux_fit
IF (PRESENT(sab_aux_fit)) admm_env%sab_aux_fit => sab_aux_fit
Expand Down

0 comments on commit e3c5558

Please sign in to comment.