diff --git a/src/xcDFT/elements.f90 b/src/xcDFT/elements.f90 deleted file mode 100644 index 22953dc..0000000 --- a/src/xcDFT/elements.f90 +++ /dev/null @@ -1,170 +0,0 @@ -function element_number(element_name) - - implicit none - - integer,parameter :: nelement_max = 103 - character(len=2),intent(in) :: element_name - integer :: element_number - character(len=2),parameter :: element_list(nelement_max) = & - (/' H', 'He', & ! 2 - 'Li','Be', ' B',' C',' N',' O',' F','Ne', & ! 10 - 'Na','Mg', 'Al','Si',' P',' S','Cl','Ar', & ! 18 - ' K','Ca','Sc','Ti',' V','Cr','Mn','Fe','Co','Ni','Cu','Zn','Ga','Ge','As','Se','Br','Kr', & ! 36 - 'Rb','Sr',' Y','Zr','Nb','Mo','Tc','Ru','Rh','Pd','Ag','Cd','In','Sn','Sb','Te',' I','Xe', & ! 54 - 'Cs','Ba', & ! 56 - 'La','Ce','Pr','Nd','Pm','Sm','Eu','Gd','Tb','Dy','Ho','Er','Tm','Yb', & ! 70 - 'Lu','Hf','Ta',' W','Re','Os','Ir','Pt','Au','Hg','Tl','Pb','Bi','Po','At','Rn', & ! 86 - 'Fr','Ra', & ! 88 - 'Ac','Th','Pa',' U','Np','Pu','Am','Cm','Bk','Cf','Es','Fm','Md','No', & ! 102 - 'Lr' & ! 103 - /) - -!===== - integer :: ielement -!===== - - ielement=1 - do while( ADJUSTL(element_name) /= ADJUSTL(element_list(ielement)) ) - if( ielement == nelement_max ) then - write(*,'(a,a)') ' Input symbol ',element_name - write(*,'(a,i3,a)') ' Element symbol is not one of first ',nelement_max,' elements' - write(*,*) '!!! element symbol not understood !!!' - stop - endif - ielement = ielement + 1 - enddo - - element_number = ielement - -end function element_number - -function element_core(zval,zatom) - implicit none - double precision,intent(in) :: zval - double precision,intent(in) :: zatom - integer :: element_core -!===== - - ! - ! If zval /= zatom, this is certainly an effective core potential - ! and no core states should be frozen. - if( ABS(zval - zatom) > 1d0-3 ) then - element_core = 0 - else - - if( zval <= 4.00001d0 ) then ! up to Be - element_core = 0 - else if( zval <= 12.00001d0 ) then ! up to Mg - element_core = 1 - else if( zval <= 30.00001d0 ) then ! up to Ca - element_core = 5 - else if( zval <= 48.00001d0 ) then ! up to Sr - element_core = 9 - else - write(*,*) '!!! not imlemented in element_core !!!' - stop - endif - - endif - - -end function element_core - -function element_covalent_radius(zatom) - -! Return covalent radius of an atom - - implicit none - include 'parameters.h' - - integer,intent(in) :: zatom - double precision :: element_covalent_radius - - ! - ! Data from Cambridge Structural Database - ! http://en.wikipedia.org/wiki/Covalent_radius - ! - ! Values are first given in picometer - ! They will be converted in bohr later on - select case(zatom) - case( 1) - element_covalent_radius = 31. - case( 2) - element_covalent_radius = 28. - case( 3) - element_covalent_radius = 128. - case( 4) - element_covalent_radius = 96. - case( 5) - element_covalent_radius = 84. - case( 6) - element_covalent_radius = 73. - case( 7) - element_covalent_radius = 71. - case( 8) - element_covalent_radius = 66. - case( 9) - element_covalent_radius = 57. - case(10) ! Ne. - element_covalent_radius = 58. - case(11) - element_covalent_radius = 166. - case(12) - element_covalent_radius = 141. - case(13) - element_covalent_radius = 121. - case(14) - element_covalent_radius = 111. - case(15) - element_covalent_radius = 107. - case(16) - element_covalent_radius = 105. - case(17) - element_covalent_radius = 102. - case(18) ! Ar. - element_covalent_radius = 106. - case(19) - element_covalent_radius = 203. - case(20) - element_covalent_radius = 176. - case(21) - element_covalent_radius = 170. - case(22) - element_covalent_radius = 160. - case(23) - element_covalent_radius = 153. - case(24) - element_covalent_radius = 139. - case(25) - element_covalent_radius = 145. - case(26) - element_covalent_radius = 145. - case(27) - element_covalent_radius = 140. - case(28) - element_covalent_radius = 124. - case(29) - element_covalent_radius = 132. - case(30) - element_covalent_radius = 122. - case(31) - element_covalent_radius = 120. - case(32) - element_covalent_radius = 119. - case(34) - element_covalent_radius = 120. - case(35) - element_covalent_radius = 120. - case(36) ! Kr. - element_covalent_radius = 116. - case default - write(*,*) '!!! covalent radius not available !!!' - stop - end select - - ! pm to bohr conversion - element_covalent_radius = element_covalent_radius*pmtoau - - -end function element_covalent_radius -