2003-07-07 05:47:17 +08:00
|
|
|
!
|
|
|
|
! Copyright (C) 2002 FPMD group
|
|
|
|
! This file is distributed under the terms of the
|
|
|
|
! GNU General Public License. See the file `License'
|
|
|
|
! in the root directory of the present distribution,
|
|
|
|
! or http://www.gnu.org/copyleft/gpl.txt .
|
|
|
|
!
|
|
|
|
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
MODULE electrons_base
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
|
|
|
|
USE kinds, ONLY: dbl
|
|
|
|
!
|
|
|
|
IMPLICIT NONE
|
|
|
|
SAVE
|
|
|
|
|
|
|
|
INTEGER :: nbnd = 0 ! total number of electronic states
|
|
|
|
INTEGER :: nbndx = 0 ! array dimension nbndx >= nbnd
|
|
|
|
INTEGER :: nel(2) = 0 ! number of electrons (up, down)
|
|
|
|
INTEGER :: nelt = 0 ! total number of electrons ( up + down )
|
|
|
|
INTEGER :: nupdwn(2) = 0 ! number of states with spin up (1) and down (2)
|
|
|
|
INTEGER :: iupdwn(2) = 0 ! first state with spin (1) and down (2)
|
|
|
|
INTEGER :: nspin = 0 ! nspin = number of spins (1=no spin, 2=LSDA)
|
2004-11-02 00:43:29 +08:00
|
|
|
|
|
|
|
REAL(dbl), ALLOCATABLE :: f(:) ! occupation numbers ( at gamma )
|
|
|
|
REAL(dbl) :: qbac = 0.0d0 ! background neutralizing charge
|
|
|
|
INTEGER, ALLOCATABLE :: fspin(:) ! spin of each state
|
2003-07-07 05:47:17 +08:00
|
|
|
!
|
2004-11-02 00:43:29 +08:00
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
CONTAINS
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
|
|
|
|
SUBROUTINE deallocate_elct()
|
|
|
|
IF( ALLOCATED( f ) ) DEALLOCATE( f )
|
|
|
|
IF( ALLOCATED( fspin ) ) DEALLOCATE( fspin )
|
|
|
|
RETURN
|
|
|
|
END SUBROUTINE
|
|
|
|
|
2003-07-07 05:47:17 +08:00
|
|
|
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
END MODULE electrons_base
|
|
|
|
!------------------------------------------------------------------------------!
|
2004-11-02 00:43:29 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
MODULE electrons_nose
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
|
|
|
|
USE kinds, ONLY: dbl
|
|
|
|
!
|
|
|
|
IMPLICIT NONE
|
|
|
|
SAVE
|
|
|
|
|
|
|
|
REAL(dbl) :: fnosee = 0.0d0 ! frequency of the thermostat ( in THz )
|
|
|
|
REAL(dbl) :: qne = 0.0d0 ! mass of teh termostat
|
|
|
|
REAL(dbl) :: ekincw = 0.0d0 ! kinetic energy to be kept constant
|
|
|
|
!
|
|
|
|
|
|
|
|
!------------------------------------------------------------------------------!
|
|
|
|
END MODULE electrons_nose
|
|
|
|
!------------------------------------------------------------------------------!
|