mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-28 22:25:32 -04:00
make gauxc_cache a POINTER in qs_environment_type and allocate on first use
This commit is contained in:
parent
67f1fef70f
commit
62f158b7e8
2 changed files with 24 additions and 16 deletions
|
|
@ -324,7 +324,7 @@ MODULE qs_environment_types
|
|||
TYPE(mo_set_type), DIMENSION(:), POINTER :: mos_last_converged => NULL()
|
||||
! tblite
|
||||
TYPE(tblite_type), POINTER :: tb_tblite => Null()
|
||||
TYPE(cp_gauxc_cache_type) :: gauxc_cache
|
||||
TYPE(cp_gauxc_cache_type), POINTER :: gauxc_cache => NULL()
|
||||
END TYPE qs_environment_type
|
||||
|
||||
CONTAINS
|
||||
|
|
@ -1010,9 +1010,10 @@ CONTAINS
|
|||
|
||||
IF (.NOT. ASSOCIATED(qs_env%molecular_scf_guess_env)) ALLOCATE (qs_env%molecular_scf_guess_env)
|
||||
|
||||
NULLIFY (qs_env%tb_tblite)
|
||||
NULLIFY (qs_env%tb_tblite)
|
||||
NULLIFY (qs_env%gauxc_cache)
|
||||
|
||||
END SUBROUTINE init_qs_env
|
||||
END SUBROUTINE init_qs_env
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief Set the QUICKSTEP environment.
|
||||
|
|
@ -1688,13 +1689,16 @@ CONTAINS
|
|||
IF (ASSOCIATED(qs_env%rhs)) DEALLOCATE (qs_env%rhs)
|
||||
|
||||
! tblite
|
||||
IF (ASSOCIATED(qs_env%tb_tblite)) THEN
|
||||
CALL deallocate_tblite_type(qs_env%tb_tblite)
|
||||
END IF
|
||||
IF (ASSOCIATED(qs_env%tb_tblite)) THEN
|
||||
CALL deallocate_tblite_type(qs_env%tb_tblite)
|
||||
END IF
|
||||
|
||||
CALL gauxc_cache_release(qs_env%gauxc_cache)
|
||||
IF (ASSOCIATED(qs_env%gauxc_cache)) THEN
|
||||
CALL gauxc_cache_release(qs_env%gauxc_cache)
|
||||
DEALLOCATE (qs_env%gauxc_cache)
|
||||
END IF
|
||||
|
||||
END SUBROUTINE qs_env_release
|
||||
END SUBROUTINE qs_env_release
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief releases part of the given qs_env in order to save memory
|
||||
|
|
@ -1916,12 +1920,15 @@ CONTAINS
|
|||
IF (ASSOCIATED(qs_env%rhs)) DEALLOCATE (qs_env%rhs)
|
||||
|
||||
! tblite
|
||||
IF (ASSOCIATED(qs_env%tb_tblite)) THEN
|
||||
CALL deallocate_tblite_type(qs_env%tb_tblite)
|
||||
END IF
|
||||
IF (ASSOCIATED(qs_env%tb_tblite)) THEN
|
||||
CALL deallocate_tblite_type(qs_env%tb_tblite)
|
||||
END IF
|
||||
|
||||
CALL gauxc_cache_release(qs_env%gauxc_cache)
|
||||
IF (ASSOCIATED(qs_env%gauxc_cache)) THEN
|
||||
CALL gauxc_cache_release(qs_env%gauxc_cache)
|
||||
DEALLOCATE (qs_env%gauxc_cache)
|
||||
END IF
|
||||
|
||||
END SUBROUTINE qs_env_part_release
|
||||
END SUBROUTINE qs_env_part_release
|
||||
|
||||
END MODULE qs_environment_types
|
||||
|
|
|
|||
|
|
@ -1264,10 +1264,11 @@ CONTAINS
|
|||
END IF
|
||||
END IF
|
||||
|
||||
! After creating the basisset, we will have to check max_l>3 as a further condition
|
||||
params%use_fd_gradient = gapw_method .AND. need_xc_gradient
|
||||
! After creating the basisset, we will have to check max_l>3 as a further condition
|
||||
params%use_fd_gradient = gapw_method .AND. need_xc_gradient
|
||||
|
||||
cache => qs_env%gauxc_cache
|
||||
IF (.NOT. ASSOCIATED(qs_env%gauxc_cache)) ALLOCATE (qs_env%gauxc_cache)
|
||||
cache => qs_env%gauxc_cache
|
||||
CALL gauxc_cache_init( &
|
||||
cache, &
|
||||
params, &
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue