TABLE OF CONTENTS


ABINIT/atomdata_from_znucl [ Functions ]

[ Top ] [ Functions ]

NAME

 atomdata_from_znucl

FUNCTION

 Return atomic data : symbol, covalent radius, atomic mass
 Atomic masses are those recommended by the commission on Atomic Weights and
 Isotopic Abundances, Inorganic Chemistry Division, IUPAC, in
 Pure Appl. Chem. 60, 841 (1988) [[cite:IUPAC1988]]. For Tc, Pm, Po to Ac, Pa and beyond U,
 none of the isotopes has a half-life greater than 3.0d10 years, and
 the values provided here do not come from that source.

INPUTS

 znucl=atomic number (a real(dp) number ! the nearest integer is selected in the routine ...)

OUTPUT

 amu=atomic mass (Masses beyond element 103 are fixed at 260)
 rcov=covalent radius   (Elements beyond 86 have an estimated covalent radius)
 character(len=2) symbol=atomic symbol

PARENTS

      bonds_lgth_angles,fresid,ingeo,invars1,m_abimover,m_atomdata,m_crystal
      m_crystal_io,m_effective_potential_file,m_epjdos,mlwfovlp_setup,out1dm
      prt_cif,prtposcar,randomcellpos,vdw_dftd2,vdw_dftd3

CHILDREN

SOURCE

103 subroutine atomdata_from_znucl(atom,znucl)
104 
105 
106 !This section has been created automatically by the script Abilint (TD).
107 !Do not modify the following lines by hand.
108 #undef ABI_FUNC
109 #define ABI_FUNC 'atomdata_from_znucl'
110 !End of the abilint section
111 
112  implicit none
113 
114 !Arguments ------------------------------------
115 !scalars
116  real(dp),intent(in) :: znucl
117  type(atomdata_t),intent(out) :: atom
118 
119 !Local variables-------------------------------
120 !scalars
121  integer :: nucl
122  real(dp) :: amu,rcov
123  character(len=2) :: symbol
124 
125 ! *************************************************************************
126 
127  nucl=nint(znucl)
128  select case (nucl)
129    case(0)
130      amu=one         ; rcov=one/Bohr_Ang    ; symbol='no'
131    case(1)
132      amu=1.00794d0   ; rcov=0.32d0/Bohr_Ang ; symbol=' H'
133    case(2)
134      amu=4.002602d0  ; rcov=0.93d0/Bohr_Ang ; symbol='He'
135    case(3)
136      amu=6.941d0     ; rcov=1.23d0/Bohr_Ang ; symbol='Li'
137    case(4)
138      amu=9.012182d0  ; rcov=0.90d0/Bohr_Ang ; symbol='Be'
139    case(5)
140      amu=10.811d0    ; rcov=0.80d0/Bohr_Ang ; symbol=' B'
141    case(6)
142      amu=12.011d0    ; rcov=0.77d0/Bohr_Ang ; symbol=' C'
143    case(7)
144      amu=14.00674d0  ; rcov=0.74d0/Bohr_Ang ; symbol=' N'
145    case(8)
146      amu=15.9994d0   ; rcov=0.73d0/Bohr_Ang ; symbol=' O'
147    case(9)
148      amu=18.9984032d0; rcov=0.72d0/Bohr_Ang ; symbol=' F'
149 
150    case(10)
151      amu=20.1797d0   ; rcov=0.71d0/Bohr_Ang ; symbol='Ne'
152    case(11)
153      amu=22.989768d0 ; rcov=1.54d0/Bohr_Ang ; symbol='Na'
154    case(12)
155      amu=24.3050d0   ; rcov=1.36d0/Bohr_Ang ; symbol='Mg'
156    case(13)
157      amu=26.981539d0 ; rcov=1.18d0/Bohr_Ang ; symbol='Al'
158    case(14)
159      amu=28.0855d0   ; rcov=1.11d0/Bohr_Ang ; symbol='Si'
160    case(15)
161      amu=30.973762d0 ; rcov=1.06d0/Bohr_Ang ; symbol=' P'
162    case(16)
163      amu=32.066d0    ; rcov=1.02d0/Bohr_Ang ; symbol=' S'
164    case(17)
165      amu=35.4527d0   ; rcov=0.99d0/Bohr_Ang ; symbol='Cl'
166    case(18)
167      amu=39.948d0    ; rcov=0.98d0/Bohr_Ang ; symbol='Ar'
168    case(19)
169      amu=39.0983d0   ; rcov=2.03d0/Bohr_Ang ; symbol=' K'
170 
171    case(20)
172      amu=40.078d0    ; rcov=1.74d0/Bohr_Ang ; symbol='Ca'
173    case(21)
174      amu=44.955910d0 ; rcov=1.44d0/Bohr_Ang ; symbol='Sc'
175    case(22)
176      amu=47.88d0     ; rcov=1.32d0/Bohr_Ang ; symbol='Ti'
177    case(23)
178      amu=50.9415d0   ; rcov=1.22d0/Bohr_Ang ; symbol=' V'
179    case(24)
180      amu=51.9961d0   ; rcov=1.18d0/Bohr_Ang ; symbol='Cr'
181    case(25)
182      amu=54.93805d0  ; rcov=1.17d0/Bohr_Ang ; symbol='Mn'
183    case(26)
184      amu=55.847d0    ; rcov=1.17d0/Bohr_Ang ; symbol='Fe'
185    case(27)
186      amu=58.93320d0  ; rcov=1.16d0/Bohr_Ang ; symbol='Co'
187    case(28)
188      amu=58.69d0     ; rcov=1.15d0/Bohr_Ang ; symbol='Ni'
189    case(29)
190      amu=63.546d0    ; rcov=1.17d0/Bohr_Ang ; symbol='Cu'
191 
192    case(30)
193      amu=65.39d0     ; rcov=1.25d0/Bohr_Ang ; symbol='Zn'
194    case(31)
195      amu=69.723d0    ; rcov=1.26d0/Bohr_Ang ; symbol='Ga'
196    case(32)
197      amu=72.61d0     ; rcov=1.22d0/Bohr_Ang ; symbol='Ge'
198    case(33)
199      amu=74.92159d0  ; rcov=1.20d0/Bohr_Ang ; symbol='As'
200    case(34)
201      amu=78.96d0     ; rcov=1.16d0/Bohr_Ang ; symbol='Se'
202    case(35)
203      amu=79.904d0    ; rcov=1.14d0/Bohr_Ang ; symbol='Br'
204    case(36)
205      amu=83.80d0     ; rcov=1.12d0/Bohr_Ang ; symbol='Kr'
206    case(37)
207      amu=85.4678d0   ; rcov=2.16d0/Bohr_Ang ; symbol='Rb'
208    case(38)
209      amu=87.62d0     ; rcov=1.91d0/Bohr_Ang ; symbol='Sr'
210    case(39)
211      amu=88.90585d0  ; rcov=1.62d0/Bohr_Ang ; symbol=' Y'
212 
213    case(40)
214      amu=91.224d0    ; rcov=1.45d0/Bohr_Ang ; symbol='Zr'
215    case(41)
216      amu=92.90638d0  ; rcov=1.34d0/Bohr_Ang ; symbol='Nb'
217    case(42)
218      amu=95.94d0     ; rcov=1.30d0/Bohr_Ang ; symbol='Mo'
219    case(43)
220      amu=98.9062d0   ; rcov=1.27d0/Bohr_Ang ; symbol='Tc'
221    case(44)
222      amu=101.07d0    ; rcov=1.25d0/Bohr_Ang ; symbol='Ru'
223    case(45)
224      amu=102.9055d0  ; rcov=1.25d0/Bohr_Ang ; symbol='Rh'
225    case(46)
226      amu=106.42d0    ; rcov=1.28d0/Bohr_Ang ; symbol='Pd'
227    case(47)
228      amu=107.8682d0  ; rcov=1.34d0/Bohr_Ang ; symbol='Ag'
229    case(48)
230      amu=112.411d0   ; rcov=1.48d0/Bohr_Ang ; symbol='Cd'
231    case(49)
232      amu=114.82d0    ; rcov=1.44d0/Bohr_Ang ; symbol='In'
233 
234    case(50)
235      amu=118.710d0   ; rcov=1.41d0/Bohr_Ang ; symbol='Sn'
236    case(51)
237      amu=121.753d0   ; rcov=1.40d0/Bohr_Ang ; symbol='Sb'
238    case(52)
239      amu=127.60d0    ; rcov=1.36d0/Bohr_Ang ; symbol='Te'
240    case(53)
241      amu=126.90447d0 ; rcov=1.33d0/Bohr_Ang ; symbol=' I'
242    case(54)
243      amu=131.29d0    ; rcov=1.31d0/Bohr_Ang ; symbol='Xe'
244    case(55)
245      amu=132.90543d0 ; rcov=2.35d0/Bohr_Ang ; symbol='Cs'
246    case(56)
247      amu=137.327d0   ; rcov=1.98d0/Bohr_Ang ; symbol='Ba'
248    case(57)
249      amu=138.9055d0  ; rcov=1.69d0/Bohr_Ang ; symbol='La'
250    case(58)
251      amu=140.115d0   ; rcov=1.65d0/Bohr_Ang ; symbol='Ce'
252    case(59)
253      amu=140.90765d0 ; rcov=1.65d0/Bohr_Ang ; symbol='Pr'
254 
255    case(60)
256      amu=144.24d0    ; rcov=1.64d0/Bohr_Ang ; symbol='Nd'
257    case(61)
258      amu=147.91d0    ; rcov=1.64d0/Bohr_Ang ; symbol='Pm'
259    case(62)
260      amu=150.36d0    ; rcov=1.62d0/Bohr_Ang ; symbol='Sm'
261    case(63)
262      amu=151.965d0   ; rcov=1.85d0/Bohr_Ang ; symbol='Eu'
263    case(64)
264      amu=157.25d0    ; rcov=1.61d0/Bohr_Ang ; symbol='Gd'
265    case(65)
266      amu=158.92534d0 ; rcov=1.59d0/Bohr_Ang ; symbol='Tb'
267    case(66)
268      amu=162.50d0    ; rcov=1.59d0/Bohr_Ang ; symbol='Dy'
269    case(67)
270      amu=164.93032d0 ; rcov=1.57d0/Bohr_Ang ; symbol='Ho'
271    case(68)
272      amu=167.26d0    ; rcov=1.57d0/Bohr_Ang ; symbol='Er'
273    case(69)
274      amu=168.93421d0 ; rcov=1.56d0/Bohr_Ang ; symbol='Tm'
275 
276    case(70)
277      amu=173.04d0    ; rcov=1.70d0/Bohr_Ang ; symbol='Yb'
278    case(71)
279      amu=174.967d0   ; rcov=1.56d0/Bohr_Ang ; symbol='Lu'
280    case(72)
281      amu=178.49d0    ; rcov=1.44d0/Bohr_Ang ; symbol='Hf'
282    case(73)
283      amu=180.9479d0  ; rcov=1.34d0/Bohr_Ang ; symbol='Ta'
284    case(74)
285      amu=183.85d0    ; rcov=1.30d0/Bohr_Ang ; symbol=' W'
286    case(75)
287      amu=186.207d0   ; rcov=1.28d0/Bohr_Ang ; symbol='Re'
288    case(76)
289      amu=190.2d0     ; rcov=1.26d0/Bohr_Ang ; symbol='Os'
290    case(77)
291      amu=192.22d0    ; rcov=1.27d0/Bohr_Ang ; symbol='Ir'
292    case(78)
293      amu=195.08d0    ; rcov=1.30d0/Bohr_Ang ; symbol='Pt'
294    case(79)
295      amu=196.96654d0 ; rcov=1.34d0/Bohr_Ang ; symbol='Au'
296 
297    case(80)
298      amu=200.59d0    ; rcov=1.49d0/Bohr_Ang ; symbol='Hg'
299    case(81)
300      amu=204.3833d0  ; rcov=1.48d0/Bohr_Ang ; symbol='Tl'
301    case(82)
302      amu=207.2d0     ; rcov=1.47d0/Bohr_Ang ; symbol='Pb'
303    case(83)
304      amu=208.98037d0 ; rcov=1.46d0/Bohr_Ang ; symbol='Bi'
305    case(84)
306      amu=209.0d0     ; rcov=1.46d0/Bohr_Ang ; symbol='Po'
307    case(85)
308      amu=210.0d0     ; rcov=1.45d0/Bohr_Ang ; symbol='At'
309    case(86)
310      amu=222.0d0     ; rcov=1.45d0/Bohr_Ang ; symbol='Rn'
311    case(87)
312      amu=223.0d0     ; rcov=2.50d0/Bohr_Ang ; symbol='Fr'
313    case(88)
314      amu=226.0254d0  ; rcov=2.10d0/Bohr_Ang ; symbol='Ra'
315    case(89)
316      amu=230.0d0     ; rcov=1.85d0/Bohr_Ang ; symbol='Ac'
317 
318    case(90)
319      amu=232.0381d0  ; rcov=1.65d0/Bohr_Ang ; symbol='Th'
320    case(91)
321      amu=231.0359d0  ; rcov=1.50d0/Bohr_Ang ; symbol='Pa'
322    case(92)
323      amu=238.0289d0  ; rcov=1.42d0/Bohr_Ang ; symbol=' U'
324    case(93)
325      amu=237.0482d0  ; rcov=1.42d0/Bohr_Ang ; symbol='Np'
326    case(94)
327      amu=242.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Pu'
328    case(95)
329      amu=243.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Am'
330    case(96)
331      amu=247.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Cm'
332    case(97)
333      amu=247.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Bk'
334    case(98)
335      amu=249.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Cf'
336    case(99)
337      amu=254.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Es'
338 
339    case(100)
340      amu=253.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Fm'
341    case(101)
342      amu=256.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Md'
343    case(102)
344      amu=254.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='No'
345    case(103)
346      amu=257.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Lr'
347    case(104:)
348      amu=260.0d0     ; rcov=1.42d0/Bohr_Ang ; symbol='Xx'
349 
350  end select
351 
352  atom%znucl = znucl 
353  atom%amu = amu
354  atom%rcov = rcov
355  atom%symbol = symbol
356 
357 end subroutine atomdata_from_znucl

ABINIT/m_atomdata [ Modules ]

[ Top ] [ Modules ]

NAME

  m_atomdata

FUNCTION

   Atomic data

COPYRIGHT

  Copyright (C) 2000-2018 ABINIT group (XG, MJV, MT, MG)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

PARENTS

CHILDREN

TODO

  * Use module global lookup table.

SOURCE

24 #if defined HAVE_CONFIG_H
25 #include "config.h"
26 #endif
27 
28 #include "abi_common.h"
29 
30 module m_atomdata
31     
32  use defs_basis
33  use m_errors
34  use m_abicore
35 
36  implicit none
37 
38  private
39 
40 ! Utilities
41  public :: symbol2znucl      ! Symbol --> znucl
42  public :: znucl2symbol      ! znucl --> symbol 
43  public :: atom_length       ! Return atomic decay length for one given type of atom.
44  public :: atom_gauss        ! Approximate the atomic density with a gaussian (used to initialize densities)

m_atomdata/atom_gauss [ Functions ]

[ Top ] [ m_atomdata ] [ Functions ]

NAME

 atom_gauss

FUNCTION

 Approximate the atomic density with a gaussian. Used to approximate densities with 
 atomic-like quantities if the pseudopotential does not provide the valence charge density.

INPUTS

 ntypat=Number of type of atoms.
 densty(ntypat,3)=parameter for initialisation of the density of this atom type
                  if densty>0, returned decay length if densty!
 ziontypat(ntypat)=charge on current type of atom (real number)
 znucltypat=atomic number, for current type of atom

OUTPUT

 gauss(2,ntypat)=Gaussian parameters.

PARENTS

      dfpt_looppert

CHILDREN

SOURCE

883 subroutine atom_gauss(ntypat, densty, ziontypat, znucltypat, gauss)
884 
885 
886 !This section has been created automatically by the script Abilint (TD).
887 !Do not modify the following lines by hand.
888 #undef ABI_FUNC
889 #define ABI_FUNC 'atom_gauss'
890 !End of the abilint section
891 
892  implicit none
893 
894 !Arguments ------------------------------------
895 !scalars
896  integer,intent(in) :: ntypat
897 !arrays
898  real(dp),intent(in) :: densty(ntypat,4),ziontypat(ntypat),znucltypat(ntypat)
899  real(dp),intent(out) :: gauss(2,ntypat)
900 
901 !Local variables-------------------------------
902 !scalars
903  integer :: itypat
904 
905 ! *************************************************************************
906 
907  do itypat=1,ntypat
908    gauss(1,itypat) = ziontypat(itypat)
909    gauss(2,itypat) = atom_length(densty(itypat,1), ziontypat(itypat), znucltypat(itypat))
910  end do
911 
912 end subroutine atom_gauss

m_atomdata/atom_length [ Functions ]

[ Top ] [ m_atomdata ] [ Functions ]

NAME

 atom_length

FUNCTION

 Return atomic decay length for one given type of atom.
 This length is used to generate an approximate atomic gaussian density
 in reciprocal space:   n^AT(G)=exp[-(2pi.length.G)^2]

INPUTS

 densty=parameter for initialisation of the density of this atom type
        if densty>0, returned decay length if densty !
 zion=charge on current type of atom (real number)
 znucl=atomic number, for current type of atom

OUTPUT

 length=decay lenth

PARENTS

      extraprho,fresidrsp,initro

CHILDREN

SOURCE

746 function atom_length(densty,zion,znucl) result(length)
747 
748 
749 !This section has been created automatically by the script Abilint (TD).
750 !Do not modify the following lines by hand.
751 #undef ABI_FUNC
752 #define ABI_FUNC 'atom_length'
753 !End of the abilint section
754 
755  implicit none
756 
757 !Arguments ------------------------------------
758 !scalars
759  real(dp),intent(in) :: densty,zion,znucl
760  real(dp) :: length
761 
762 !Local variables-------------------------------
763 !scalars
764  integer :: nval
765  real(dp) :: coreel
766 !arrays
767  real(dp) :: data_length(16)
768 
769 ! *************************************************************************
770 
771 !Either use the input value, or the default value, tabulated now.
772  if(abs(densty)>tol10)then
773    length=densty
774  else
775 
776 !  Count the number of core electrons.
777    coreel=znucl-zion
778 !  Round the number of valence electrons
779    nval=nint(zion)
780 
781 !  For each set of core electron numbers, there are different decay lengths,
782 !  they start from nval=1, and proceed by group of 5, until a default is used
783 
784    if (nval==0) then
785      length=zero
786 
787 !    Bare ions : adjusted on 1h and 2he only
788    else if(coreel<0.5)then
789      data_length(1:4)=(/ .6_dp,.4_dp,.3_dp,.25_dp /)
790      length=.2_dp
791      if(nval<=4)length=data_length(nval)
792 
793 !    1s2 core : adjusted on 3li, 6c, 7n, and 8o
794    else if(coreel<2.5)then
795      data_length(1:8)=(/ 1.8_dp,1.4_dp,1.0_dp ,.7_dp,.6_dp,&
796 &     .5_dp, .4_dp, .35_dp /)
797      length=.3_dp
798      if(nval<=8)length=data_length(nval)
799 
800 !    Ne core (1s2 2s2 2p6) : adjusted on 11na, 13al, 14si and 17cl
801    else if(coreel<10.5)then
802      data_length(1:10)=(/ 2.0_dp,1.6_dp,1.25_dp,1.1_dp,1.0_dp,&
803 &     .9_dp, .8_dp, .7_dp , .7_dp, .7_dp  /)
804      length=.6_dp
805      if(nval<=10)length=data_length(nval)
806 
807 !    Mg core (1s2 2s2 2p6 3s2) : adjusted on 19k, and on coreel==10
808    else if(coreel<12.5)then
809      data_length(1:10)=(/ 1.9_dp,1.5_dp,1.15_dp,1.0_dp,0.9_dp,&
810 &     .8_dp, .7_dp, .6_dp , .6_dp, .6_dp  /)
811      length=.5_dp
812      if(nval<=10)length=data_length(nval)
813 
814 !    Ar core (Ne + 3s2 3p6) : adjusted on 20ca, 25mn and 30zn
815    else if(coreel<18.5)then
816      data_length(1:12)=(/ 2.0_dp ,1.8_dp ,1.5_dp,1.2_dp ,1.0_dp,&
817 &     .9_dp , .85_dp, .8_dp, .75_dp, .7_dp,&
818 &     .65_dp, .65_dp /)
819      length=.6_dp
820      if(nval<=12)length=data_length(nval)
821 
822 !    Full 3rd shell core (Ar + 3d10) : adjusted on 31ga, 34se and 38sr
823    else if(coreel<28.5)then
824      data_length(1:14)=(/ 1.5_dp ,1.25_dp,1.15_dp,1.05_dp,1.00_dp,&
825 &     .95_dp, .95_dp, .9_dp , .9_dp , .85_dp,&
826 &     .85_dp, .80_dp, .8_dp , .75_dp         /)
827      length=.7_dp
828      if(nval<=14)length=data_length(nval)
829 
830 !    Krypton core (Ar + 3d10 4s2 4p6) : adjusted on 39y, 42mo and 48cd
831    else if(coreel<36.5)then
832      data_length(1:12)=(/ 2.0_dp ,2.00_dp,1.60_dp,1.40_dp,1.25_dp,&
833 &     1.10_dp,1.00_dp, .95_dp, .90_dp, .85_dp,&
834 &     .80_dp, .75_dp /)
835      length=.7_dp
836      if(nval<=12)length=data_length(nval)
837 
838 !    For the remaining elements, consider a function of nval only
839    else
840      data_length(1:12)=(/ 2.0_dp ,2.00_dp,1.55_dp,1.25_dp,1.15_dp,&
841 &     1.10_dp,1.05_dp,1.0_dp , .95_dp , .9_dp,&
842 &     .85_dp, .85_dp /)
843      length=.8_dp
844      if(nval<=12)length=data_length(nval)
845 
846    end if
847 
848  end if  ! End the choice between default and no-default
849 
850 !DEBUG
851 !Here, use the previous default
852 !length=1.2_dp
853 !ENDDEBUG
854 
855 end function atom_length

m_atomdata/atomdata_from_symbol [ Functions ]

[ Top ] [ m_atomdata ] [ Functions ]

NAME

 atomdata_from_symbol

FUNCTION

INPUTS

OUTPUT

PARENTS

      append_xyz,m_atomdata,upf2abinit,upfheader2abi

CHILDREN

SOURCE

377 subroutine atomdata_from_symbol(atom,symbol) 
378 
379 
380 !This section has been created automatically by the script Abilint (TD).
381 !Do not modify the following lines by hand.
382 #undef ABI_FUNC
383 #define ABI_FUNC 'atomdata_from_symbol'
384 !End of the abilint section
385 
386  implicit none
387 
388 !Arguments ------------------------------------
389 !scalars
390  character(len=*),intent(in) :: symbol
391  type(atomdata_t),intent(out) :: atom
392 
393 !Local variables-------------------------------
394 !scalars
395  real(dp) :: znucl,amu,rcov
396 
397 ! *************************************************************************
398 
399  select case (symbol)
400    case('no')
401      amu=     one         ; rcov=one/Bohr_Ang    ; znucl=0
402    case(' H', 'H ')
403      amu=     1.00794d0   ; rcov=0.32d0/Bohr_Ang ; znucl=1
404    case('He')
405      amu=     4.002602d0  ; rcov=0.93d0/Bohr_Ang ; znucl=2
406    case('Li')
407      amu=     6.941d0     ; rcov=1.23d0/Bohr_Ang ; znucl=3
408    case('Be')
409      amu=     9.012182d0  ; rcov=0.90d0/Bohr_Ang ; znucl=4
410    case(' B', 'B ')
411      amu=     10.811d0    ; rcov=0.80d0/Bohr_Ang ; znucl=5
412    case(' C', 'C ')
413      amu=     12.011d0    ; rcov=0.77d0/Bohr_Ang ; znucl=6
414    case(' N', 'N ')
415      amu=     14.00674d0  ; rcov=0.74d0/Bohr_Ang ; znucl=7
416    case(' O', 'O ')
417      amu=     15.9994d0   ; rcov=0.73d0/Bohr_Ang ; znucl=8
418    case(' F', 'F ')
419      amu=     18.9984032d0; rcov=0.72d0/Bohr_Ang ; znucl=9
420      
421    case('Ne')
422      amu=     20.1797d0   ; rcov=0.71d0/Bohr_Ang ; znucl=10
423    case('Na')                                             
424      amu=    22.989768d0 ; rcov=1.54d0/Bohr_Ang ; znucl= 11
425    case('Mg')                                             
426      amu=     24.3050d0   ; rcov=1.36d0/Bohr_Ang ; znucl=12
427    case('Al')                                             
428      amu=     26.981539d0 ; rcov=1.18d0/Bohr_Ang ; znucl=13
429    case('Si')                                             
430      amu=     28.0855d0   ; rcov=1.11d0/Bohr_Ang ; znucl=14
431    case(' P', 'P ')                                             
432      amu=     30.973762d0 ; rcov=1.06d0/Bohr_Ang ; znucl=15
433    case(' S', 'S ')                                             
434      amu=     32.066d0    ; rcov=1.02d0/Bohr_Ang ; znucl=16
435    case('Cl')                                             
436      amu=     35.4527d0   ; rcov=0.99d0/Bohr_Ang ; znucl=17
437    case('Ar')                                             
438      amu=     39.948d0    ; rcov=0.98d0/Bohr_Ang ; znucl=18
439    case(' K', 'K ')                                             
440      amu=     39.0983d0   ; rcov=2.03d0/Bohr_Ang ; znucl=19
441      
442    case('Ca')
443      amu=     40.078d0    ; rcov=1.74d0/Bohr_Ang ; znucl=20
444    case('Sc')                                             
445      amu=     44.955910d0 ; rcov=1.44d0/Bohr_Ang ; znucl=21
446    case('Ti')                                             
447      amu=     47.88d0     ; rcov=1.32d0/Bohr_Ang ; znucl=22
448    case(' V', 'V ')                                             
449      amu=     50.9415d0   ; rcov=1.22d0/Bohr_Ang ; znucl=23
450    case('Cr')                                             
451      amu=     51.9961d0   ; rcov=1.18d0/Bohr_Ang ; znucl=24
452    case('Mn')                                             
453      amu=     54.93805d0  ; rcov=1.17d0/Bohr_Ang ; znucl=25
454    case('Fe')                                             
455      amu=     55.847d0    ; rcov=1.17d0/Bohr_Ang ; znucl=26
456    case('Co')                                             
457      amu=     58.93320d0  ; rcov=1.16d0/Bohr_Ang ; znucl=27
458    case('Ni')                                             
459      amu=     58.69d0     ; rcov=1.15d0/Bohr_Ang ; znucl=28
460    case('Cu')                                             
461      amu=     63.546d0    ; rcov=1.17d0/Bohr_Ang ; znucl=29
462      
463    case('Zn')
464      amu=     65.39d0     ; rcov=1.25d0/Bohr_Ang ; znucl=30
465    case('Ga')                                             
466      amu=     69.723d0    ; rcov=1.26d0/Bohr_Ang ; znucl=31
467    case('Ge')                                             
468      amu=     72.61d0     ; rcov=1.22d0/Bohr_Ang ; znucl=32
469    case('As')                                             
470      amu=     74.92159d0  ; rcov=1.20d0/Bohr_Ang ; znucl=33
471    case('Se')                                             
472      amu=     78.96d0     ; rcov=1.16d0/Bohr_Ang ; znucl=34
473    case('Br')                                             
474      amu=     79.904d0    ; rcov=1.14d0/Bohr_Ang ; znucl=35
475    case('Kr')                                             
476      amu=     83.80d0     ; rcov=1.12d0/Bohr_Ang ; znucl=36
477    case('Rb')                                             
478      amu=     85.4678d0   ; rcov=2.16d0/Bohr_Ang ; znucl=37
479    case('Sr')                                             
480      amu=     87.62d0     ; rcov=1.91d0/Bohr_Ang ; znucl=38
481    case(' Y', 'Y ')                                             
482      amu=     88.90585d0  ; rcov=1.62d0/Bohr_Ang ; znucl=39
483      
484    case('Zr')
485      amu=     91.224d0    ; rcov=1.45d0/Bohr_Ang ; znucl=40
486    case('Nb')                                             
487      amu=     92.90638d0  ; rcov=1.34d0/Bohr_Ang ; znucl=41
488    case('Mo')                                             
489      amu=     95.94d0     ; rcov=1.30d0/Bohr_Ang ; znucl=42
490    case('Tc')                                             
491      amu=     98.9062d0   ; rcov=1.27d0/Bohr_Ang ; znucl=43
492    case('Ru')                                             
493      amu=     101.07d0    ; rcov=1.25d0/Bohr_Ang ; znucl=44
494    case('Rh')                                             
495      amu=     102.9055d0  ; rcov=1.25d0/Bohr_Ang ; znucl=45
496    case('Pd')                                             
497      amu=     106.42d0    ; rcov=1.28d0/Bohr_Ang ; znucl=46
498    case('Ag')                                             
499      amu=     107.8682d0  ; rcov=1.34d0/Bohr_Ang ; znucl=47
500    case('Cd')                                             
501      amu=     112.411d0   ; rcov=1.48d0/Bohr_Ang ; znucl=48
502    case('In')                                             
503      amu=     114.82d0    ; rcov=1.44d0/Bohr_Ang ; znucl=49
504      
505    case('Sn')
506      amu=     118.710d0   ; rcov=1.41d0/Bohr_Ang ; znucl=50
507    case('Sb')                                             
508      amu=     121.753d0   ; rcov=1.40d0/Bohr_Ang ; znucl=51
509    case('Te')                                             
510      amu=     127.60d0    ; rcov=1.36d0/Bohr_Ang ; znucl=52
511    case(' I', 'I ')                                             
512      amu=     126.90447d0 ; rcov=1.33d0/Bohr_Ang ; znucl=53
513    case('Xe')                                             
514      amu=     131.29d0    ; rcov=1.31d0/Bohr_Ang ; znucl=54
515    case('Cs')                                             
516      amu=     132.90543d0 ; rcov=2.35d0/Bohr_Ang ; znucl=55
517    case('Ba')                                             
518      amu=     137.327d0   ; rcov=1.98d0/Bohr_Ang ; znucl=56
519    case('La')                                             
520      amu=     138.9055d0  ; rcov=1.69d0/Bohr_Ang ; znucl=57
521    case('Ce')                                             
522      amu=     140.115d0   ; rcov=1.65d0/Bohr_Ang ; znucl=58
523    case('Pr')                                             
524      amu=     140.90765d0 ; rcov=1.65d0/Bohr_Ang ; znucl=59
525      
526    case('Nd')
527      amu=     144.24d0    ; rcov=1.64d0/Bohr_Ang ; znucl=60
528    case('Pm')                                             
529      amu=     147.91d0    ; rcov=1.64d0/Bohr_Ang ; znucl=61
530    case('Sm')                                             
531      amu=     150.36d0    ; rcov=1.62d0/Bohr_Ang ; znucl=62
532    case('Eu')                                             
533      amu=     151.965d0   ; rcov=1.85d0/Bohr_Ang ; znucl=63
534    case('Gd')                                             
535      amu=     157.25d0    ; rcov=1.61d0/Bohr_Ang ; znucl=64
536    case('Tb')                                             
537      amu=     158.92534d0 ; rcov=1.59d0/Bohr_Ang ; znucl=65
538    case('Dy')                                             
539      amu=     162.50d0    ; rcov=1.59d0/Bohr_Ang ; znucl=66
540    case('Ho')                                             
541      amu=     164.93032d0 ; rcov=1.57d0/Bohr_Ang ; znucl=67
542    case('Er')                                             
543      amu=     167.26d0    ; rcov=1.57d0/Bohr_Ang ; znucl=68
544    case('Tm')                                             
545      amu=     168.93421d0 ; rcov=1.56d0/Bohr_Ang ; znucl=69
546      
547    case('Yb')
548      amu=     173.04d0    ; rcov=1.70d0/Bohr_Ang ; znucl=70
549    case('Lu')                                             
550      amu=     174.967d0   ; rcov=1.56d0/Bohr_Ang ; znucl=71
551    case('Hf')                                             
552      amu=     178.49d0    ; rcov=1.44d0/Bohr_Ang ; znucl=72
553    case('Ta')                                             
554      amu=     180.9479d0  ; rcov=1.34d0/Bohr_Ang ; znucl=73
555    case(' W', 'W ')                                             
556      amu=     183.85d0    ; rcov=1.30d0/Bohr_Ang ; znucl=74
557    case('Re')                                             
558      amu=     186.207d0   ; rcov=1.28d0/Bohr_Ang ; znucl=75
559    case('Os')                                             
560      amu=     190.2d0     ; rcov=1.26d0/Bohr_Ang ; znucl=76
561    case('Ir')                                             
562      amu=     192.22d0    ; rcov=1.27d0/Bohr_Ang ; znucl=77
563    case('Pt')                                             
564      amu=     195.08d0    ; rcov=1.30d0/Bohr_Ang ; znucl=78
565    case('Au')                                             
566      amu=     196.96654d0 ; rcov=1.34d0/Bohr_Ang ; znucl=79
567      
568    case('Hg')
569      amu=     200.59d0    ; rcov=1.49d0/Bohr_Ang ; znucl=80
570    case('Tl')                                             
571      amu=     204.3833d0  ; rcov=1.48d0/Bohr_Ang ; znucl=81
572    case('Pb')                                             
573      amu=     207.2d0     ; rcov=1.47d0/Bohr_Ang ; znucl=82
574    case('Bi')                                             
575      amu=     208.98037d0 ; rcov=1.46d0/Bohr_Ang ; znucl=83
576    case('Po')                                             
577      amu=     209.0d0     ; rcov=1.46d0/Bohr_Ang ; znucl=84
578    case('At')                                             
579      amu=     210.0d0     ; rcov=1.45d0/Bohr_Ang ; znucl=85
580    case('Rn')                                             
581      amu=     222.0d0     ; rcov=1.45d0/Bohr_Ang ; znucl=86
582    case('Fr')                                             
583      amu=     223.0d0     ; rcov=2.50d0/Bohr_Ang ; znucl=87
584    case('Ra')                                             
585      amu=     226.0254d0  ; rcov=2.10d0/Bohr_Ang ; znucl=88
586    case('Ac')                                             
587      amu=     230.0d0     ; rcov=1.85d0/Bohr_Ang ; znucl=89
588      
589    case('Th')
590      amu=     232.0381d0  ; rcov=1.65d0/Bohr_Ang ; znucl=90
591    case('Pa')                                             
592      amu=     231.0359d0  ; rcov=1.50d0/Bohr_Ang ; znucl=91
593    case(' U', 'U ')                                             
594      amu=     238.0289d0  ; rcov=1.42d0/Bohr_Ang ; znucl=92
595    case('Np')                                             
596      amu=     237.0482d0  ; rcov=1.42d0/Bohr_Ang ; znucl=93
597    case('Pu')                                             
598      amu=     242.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=94
599    case('Am')                                             
600      amu=     243.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=95
601    case('Cm')                                             
602      amu=     247.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=96
603    case('Bk')                                             
604      amu=     247.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=97
605    case('Cf')                                             
606      amu=     249.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=98
607    case('Es')                                             
608      amu=     254.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=89
609      
610    case('Fm')
611      amu=     253.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=100
612    case('Md')
613      amu=     256.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=101
614    case('No')
615      amu=     254.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=102
616    case('Lr')
617      amu=     257.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=103
618    case('Xx')
619      amu=     260.0d0     ; rcov=1.42d0/Bohr_Ang ; znucl=104
620    case default
621      MSG_ERROR("Unknown symbol name: "//TRIM(symbol))
622  end select
623 
624  atom%znucl = znucl 
625  atom%amu = amu
626  atom%rcov = rcov
627  atom%symbol = symbol
628 
629 end subroutine atomdata_from_symbol

m_atomdata/atomdata_t [ Types ]

[ Top ] [ m_atomdata ] [ Types ]

NAME

 atomdata_t

FUNCTION

  Record with the atomic data (symbol, covalent radius, atomic mass) for a given atomic specie

SOURCE

58  type,public :: atomdata_t
59    real(dp) :: znucl          ! Atomic number (real to treat alchemy)
60    real(dp) :: amu            ! Atomic mass 
61    real(dp) :: rcov           ! Covalent radius
62    character(len=2) :: symbol ! Atomic symbol
63  end type atomdata_t
64 
65 
66  public :: atomdata_from_znucl   ! Return atomic data from znucl
67  public :: atomdata_from_symbol  ! Return atomic data from symbol

m_atomdata/symbol2znucl [ Functions ]

[ Top ] [ m_atomdata ] [ Functions ]

NAME

FUNCTION

   Return znucl from the symbol

OUTPUT

PARENTS

CHILDREN

SOURCE

694 function symbol2znucl(symbol) result(znucl)
695 
696 
697 !This section has been created automatically by the script Abilint (TD).
698 !Do not modify the following lines by hand.
699 #undef ABI_FUNC
700 #define ABI_FUNC 'symbol2znucl'
701 !End of the abilint section
702 
703  implicit none
704 
705 !Arguments ------------------------------------
706 !scalars
707  real(dp) :: znucl
708  character(len=*),intent(in) :: symbol
709 
710 !Local variables
711  type(atomdata_t) :: atom
712 
713 ! *************************************************************************
714 
715  call atomdata_from_symbol(atom, symbol)
716  znucl = atom%znucl
717 
718 end function symbol2znucl

m_atomdata/znucl2symbol [ Functions ]

[ Top ] [ m_atomdata ] [ Functions ]

NAME

FUNCTION

   Return the symbol from znucl

INPUTS

 znucl=atomic number

OUTPUT

PARENTS

CHILDREN

SOURCE

651 function znucl2symbol(znucl) result(symbol)
652 
653 
654 !This section has been created automatically by the script Abilint (TD).
655 !Do not modify the following lines by hand.
656 #undef ABI_FUNC
657 #define ABI_FUNC 'znucl2symbol'
658 !End of the abilint section
659 
660  implicit none
661 
662 !Arguments ------------------------------------
663 !scalars
664  real(dp),intent(in) :: znucl
665  character(len=2) :: symbol
666 
667 !Local variables
668  type(atomdata_t) :: atom
669 
670 ! *************************************************************************
671 
672  call atomdata_from_znucl(atom, znucl)
673  symbol = atom%symbol
674 
675 end function znucl2symbol