1! 2! Copyright (C) 2002-2007 Quantum ESPRESSO group 3! This file is distributed under the terms of the 4! GNU General Public License. See the file `License' 5! in the root directory of the present distribution, 6! or http://www.gnu.org/copyleft/gpl.txt . 7! 8! AB INITIO COSTANT PRESSURE MOLECULAR DYNAMICS 9! ---------------------------------------------- 10! Car-Parrinello Parallel Program 11! Carlo Cavazzoni - Gerardo Ballabio 12! SISSA, Trieste, Italy - 1997-99 13! Last modified: Tue Nov 2 08:03:11 MET 1999 14! ---------------------------------------------- 15 16 17MODULE pseudopotential 18 19 ! ... declare modules 20 21 USE kinds, ONLY: DP 22 USE splines, ONLY: spline_data 23 24 IMPLICIT NONE 25 SAVE 26 27 ! declare module-scope variables 28 29 TYPE (spline_data), ALLOCATABLE :: vps_sp(:) 30 TYPE (spline_data), ALLOCATABLE :: dvps_sp(:) 31 ! 32 TYPE (spline_data), ALLOCATABLE :: rhoc1_sp(:) 33 TYPE (spline_data), ALLOCATABLE :: rhocp_sp(:) 34 ! 35 REAL(DP), ALLOCATABLE :: xgtab(:) 36 37 LOGICAL :: tpstab = .TRUE. 38 39! ---------------------------------------------- 40 41CONTAINS 42 43! ---------------------------------------------- 44 45 SUBROUTINE deallocate_pseudopotential 46 47 USE splines, ONLY: kill_spline 48 USE local_pseudo, ONLY: deallocate_local_pseudo 49 USE uspp, ONLY: dvan 50 51 INTEGER :: i, j 52 53 CALL deallocate_local_pseudo() 54 ! 55 IF( ALLOCATED( dvan ) ) DEALLOCATE( dvan ) 56 IF( ALLOCATED( xgtab ) ) DEALLOCATE( xgtab ) 57 ! 58 IF( ALLOCATED( vps_sp ) ) THEN 59 DO i = 1, size(vps_sp) 60 CALL kill_spline(vps_sp(i),'a') 61 END DO 62 DEALLOCATE(vps_sp) 63 END IF 64 ! 65 IF( ALLOCATED(dvps_sp) ) THEN 66 DO i = 1, size(dvps_sp) 67 CALL kill_spline(dvps_sp(i),'a') 68 END DO 69 DEALLOCATE(dvps_sp) 70 END IF 71 ! 72 IF( ALLOCATED(rhoc1_sp) ) THEN 73 DO i = 1, size(rhoc1_sp) 74 CALL kill_spline(rhoc1_sp(i),'a') 75 END DO 76 DEALLOCATE(rhoc1_sp) 77 END IF 78 ! 79 IF( ALLOCATED(rhocp_sp) ) THEN 80 DO i = 1, size(rhocp_sp) 81 CALL kill_spline(rhocp_sp(i),'a') 82 END DO 83 DEALLOCATE(rhocp_sp) 84 END IF 85 ! 86 RETURN 87 END SUBROUTINE deallocate_pseudopotential 88 89 90END MODULE pseudopotential 91 92! ---------------------------------------------- 93