1!
2! Copyright (C) 2012 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!
8SUBROUTINE default_conf(zed,config)
9!
10!  This subroutine provides a default electronic configuration for each atom.
11!
12USE kinds, ONLY : DP
13IMPLICIT NONE
14CHARACTER(LEN=80), INTENT(OUT) :: config
15REAL(DP), INTENT(IN) :: zed
16INTEGER :: ized
17
18ized=NINT(zed)
19IF (ABS(zed-ized)>1.d-8) CALL errore('default_conf',&
20                                          'integer zed is required',1)
21
22IF (ized==1)   config='1s1.0'
23IF (ized==2)   config='1s2.0'
24IF (ized==3)   config='[He] 2s1.0'
25IF (ized==4)   config='[He] 2s2.0'
26IF (ized==5)   config='[He] 2s2.0 2p1.0'
27IF (ized==6)   config='[He] 2s2.0 2p2.0'
28IF (ized==7)   config='[He] 2s2.0 2p3.0'
29IF (ized==8)   config='[He] 2s2.0 2p4.0'
30IF (ized==9)   config='[He] 2s2.0 2p5.0'
31IF (ized==10)  config='[He] 2s2.0 2p6.0'
32IF (ized==11)  config='[Ne] 3s1.0'
33IF (ized==12)  config='[Ne] 3s2.0'
34IF (ized==13)  config='[Ne] 3s2.0 3p1.0'
35IF (ized==14)  config='[Ne] 3s2.0 3p2.0'
36IF (ized==15)  config='[Ne] 3s2.0 3p3.0'
37IF (ized==16)  config='[Ne] 3s2.0 3p4.0'
38IF (ized==17)  config='[Ne] 3s2.0 3p5.0'
39IF (ized==18)  config='[Ne] 3s2.0 3p6.0'
40IF (ized==19)  config='[Ar] 4s1.0'
41IF (ized==20)  config='[Ar] 4s2.0'
42IF (ized==21)  config='[Ar] 4s2.0 3d1.0'
43IF (ized==22)  config='[Ar] 4s2.0 3d2.0'
44IF (ized==23)  config='[Ar] 4s2.0 3d3.0'
45IF (ized==24)  config='[Ar] 4s1.0 3d5.0'
46IF (ized==25)  config='[Ar] 4s2.0 3d5.0'
47IF (ized==26)  config='[Ar] 4s2.0 3d6.0'
48IF (ized==27)  config='[Ar] 4s2.0 3d7.0'
49IF (ized==28)  config='[Ar] 4s2.0 3d8.0'
50IF (ized==29)  config='[Ar] 4s1.0 3d10.0'
51IF (ized==30)  config='[Ar] 4s2.0 3d10.0'
52IF (ized==31)  config='[Ar] 4s2.0 3d10.0 4p1.0'
53IF (ized==32)  config='[Ar] 4s2.0 3d10.0 4p2.0'
54IF (ized==33)  config='[Ar] 4s2.0 3d10.0 4p3.0'
55IF (ized==34)  config='[Ar] 4s2.0 3d10.0 4p4.0'
56IF (ized==35)  config='[Ar] 4s2.0 3d10.0 4p5.0'
57IF (ized==36)  config='[Ar] 4s2.0 3d10.0 4p6.0'
58IF (ized==37)  config='[Kr] 5s1.0'
59IF (ized==38)  config='[Kr] 5s2.0'
60IF (ized==39)  config='[Kr] 5s2.0 4d1.0'
61IF (ized==40)  config='[Kr] 5s2.0 4d2.0'
62IF (ized==41)  config='[Kr] 5s1.0 4d4.0'
63IF (ized==42)  config='[Kr] 5s1.0 4d5.0'
64IF (ized==43)  config='[Kr] 5s2.0 4d5.0'
65IF (ized==44)  config='[Kr] 5s1.0 4d7.0'
66IF (ized==45)  config='[Kr] 5s1.0 4d8.0'
67IF (ized==46)  config='[Kr] 5s0.0 4d10.0'
68IF (ized==47)  config='[Kr] 5s1.0 4d10.0'
69IF (ized==48)  config='[Kr] 5s2.0 4d10.0'
70IF (ized==49)  config='[Kr] 5s2.0 4d10.0 5p1.0'
71IF (ized==50)  config='[Kr] 5s2.0 4d10.0 5p2.0'
72IF (ized==51)  config='[Kr] 5s2.0 4d10.0 5p3.0'
73IF (ized==52)  config='[Kr] 5s2.0 4d10.0 5p4.0'
74IF (ized==53)  config='[Kr] 5s2.0 4d10.0 5p5.0'
75IF (ized==54)  config='[Kr] 5s2.0 4d10.0 5p6.0'
76IF (ized==55)  config='[Xe] 6s1.0'
77IF (ized==56)  config='[Xe] 6s2.0'
78IF (ized==57)  config='[Xe] 6s2.0 5d1.0 4f0.0'
79IF (ized==58)  config='[Xe] 6s2.0 5d1.0 4f1.0'
80IF (ized==59)  config='[Xe] 6s2.0 5d0.0 4f3.0'
81IF (ized==60)  config='[Xe] 6s2.0 5d0.0 4f4.0'
82IF (ized==61)  config='[Xe] 6s2.0 5d0.0 4f5.0'
83IF (ized==62)  config='[Xe] 6s2.0 5d0.0 4f6.0'
84IF (ized==63)  config='[Xe] 6s2.0 5d0.0 4f7.0'
85IF (ized==64)  config='[Xe] 6s2.0 5d1.0 4f7.0'
86IF (ized==65)  config='[Xe] 6s2.0 5d0.0 4f9.0'
87IF (ized==66)  config='[Xe] 6s2.0 5d0.0 4f10.0'
88IF (ized==67)  config='[Xe] 6s2.0 5d0.0 4f11.0'
89IF (ized==68)  config='[Xe] 6s2.0 5d0.0 4f12.0'
90IF (ized==69)  config='[Xe] 6s2.0 5d0.0 4f13.0'
91IF (ized==70)  config='[Xe] 6s2.0 5d0.0 4f14.0'
92IF (ized==71)  config='[Xe] 6s2.0 5d1.0 4f14.0'
93IF (ized==72)  config='[Xe] 6s2.0 5d2.0 4f14.0'
94IF (ized==73)  config='[Xe] 6s2.0 5d3.0 4f14.0'
95IF (ized==74)  config='[Xe] 6s2.0 5d4.0 4f14.0'
96IF (ized==75)  config='[Xe] 6s2.0 5d5.0 4f14.0'
97IF (ized==76)  config='[Xe] 6s2.0 5d6.0 4f14.0'
98IF (ized==77)  config='[Xe] 6s2.0 5d7.0 4f14.0'
99IF (ized==78)  config='[Xe] 6s1.0 5d9.0 4f14.0'
100IF (ized==79)  config='[Xe] 6s1.0 5d10.0 4f14.0'
101IF (ized==80)  config='[Xe] 6s2.0 5d10.0 4f14.0'
102IF (ized==81)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p1.0'
103IF (ized==82)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p2.0'
104IF (ized==83)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p3.0'
105IF (ized==84)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p4.0'
106IF (ized==85)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p5.0'
107IF (ized==86)  config='[Xe] 6s2.0 5d10.0 4f14.0 6p6.0'
108IF (ized==87)  config='[Rn] 7s1.0'
109IF (ized==88)  config='[Rn] 7s2.0'
110IF (ized==89)  config='[Rn] 7s2.0 6d1.0 5f0.0'
111IF (ized==90)  config='[Rn] 7s2.0 6d2.0 5f0.0'
112IF (ized==91)  config='[Rn] 7s2.0 6d1.0 5f2.0'
113IF (ized==92)  config='[Rn] 7s2.0 6d1.0 5f3.0'
114IF (ized==93)  config='[Rn] 7s2.0 6d1.0 5f4.0'
115IF (ized==94)  config='[Rn] 7s2.0 6d0.0 5f6.0'
116IF (ized==95)  config='[Rn] 7s2.0 6d0.0 5f7.0'
117IF (ized==96)  config='[Rn] 7s2.0 6d1.0 5f7.0'
118IF (ized==97)  config='[Rn] 7s2.0 6d0.0 5f9.0'
119IF (ized==98)  config='[Rn] 7s2.0 6d0.0 5f10.0'
120IF (ized==99)  config='[Rn] 7s2.0 6d0.0 5f11.0'
121IF (ized==100) config='[Rn] 7s2.0 6d0.0 5f12.0'
122IF (ized==101) config='[Rn] 7s2.0 6d0.0 5f13.0'
123IF (ized==102) config='[Rn] 7s2.0 6d0.0 5f14.0'
124IF (ized==103) config='[Rn] 7s2.0 7p1.0 5f14.0'
125
126RETURN
127END SUBROUTINE default_conf
128