About Herman Skillman Input Files
We shall go over what goes into an input file. This will start out with
a summary breakdown of what the Herman-Skillman program, as given in the
updated codes v04,v07, expects.
Following that is a commented
example for Zinc with discussions on key points. Also, there are plenty
of sample Input Files to look at. Note
that HS generally works with energy in Rydbergs.
I. Look at the input as defined by READ lines.
2005 READ (5,3001) REC1,REC2,REC3
READ (5,9001) TITLE
READ (5,100) KEY,TOL,THRESH,MESH,IPRATT,MAXIT,KUT,RADION,RATIO,ALPHA
C READ IN NORMALIZED ATOMIC POTENTIAL; FORM BASED ON IF KEY = 0,1,2
IF(KEY-1)1203,208,14
1203 READ (5,1)(RU2(M),M=1,437,4)
208 READ (5,10)(RU3(M),M=1,441)
14 READ (5,10)(RU2(M),M=1,441)
READ (5,10)(RU3(M),M=1,441)
ENDIF
205 READ (5,3) Z,NCORES,NVALES,XION
210 READ (5,7)(NNLZ(I),WWNL(I),EE(I),I=1,NCSPVS)
3001 FORMAT(3(A4,4X),I4)
9001 FORMAT(10A8)
100 FORMAT(I4,2F8.6,4I4,3F14.9)
10 FORMAT(1PE15.7,1P4E14.7)
1 FORMAT(F8.5,9F7.5)
3 FORMAT(F4.0,2I4,F10.6)
7 FORMAT(I4,F10.6,F11.4)
line01 [REC1] [REC2] [REC3]
line02 [TITLE]
line03 [KEY] [TOL] [THRESH] [MESH] [IPRATT] [MAXIT] [KUT] [RADION] [RATIO] [ALPHA]
line04 { U(X) for x = 0.00 TO 0.09, STEP 0.01 }
line05 { U(X) for x = 0.10 TO 0.28, STEP 0.02 }
line06 { U(X) for x = 0.30 TO 0.66, STEP 0.04 }
line07 { U(X) for x = 0.70 TO 1.42, STEP 0.08 }
line08 { U(X) for x = 1.50 TO 2.94, STEP 0.16 } ABRIDGED
line09 { U(X) for x = 3.10 TO 5.98, STEP 0.32 } REPRESENTATION
line10 { U(X) for x = 6.30 TO 12.06, STEP 0.64 } FORMAT
line11 { U(X) for x = 12.7 TO 24.22, STEP 1.28 }
line12 { U(X) for x = 25.5 TO 48.54, STEP 2.56 }
line13 { U(X) for x = 51.1 TO 97.18, STEP 5.12 }
line14 { U(X) for x = 102.3 TO 194.46, STEP 10.24 }
line15 [Z] [NCORES] [NVALES] [XION]
line16 { [NNLZ] [WWNL] [EE] for "core" orbital #1 }
line16.1 { [NNLZ] [WWNL] [EE] for "core" orbital #2 }
line16.2 { [NNLZ] [WWNL] [EE] for "core" orbital #3 }
line16.3 { ... }
line17 { [NNLZ] [WWNL] [EE] for "valence" orbital #1 }
line17.1 { ... }
line18 -1
line19 COMMENTS:
line19.1 { region for storing user comments about the }
line19.2 { purpose of the input file, performance notes, }
line19.3 { etc. }
II. Discussion of the details of each input line
Using Zinc for Example Input
-
line 01, Output Labels :
-
CONT/ BRF - both tell the program to continue with the run; useful when
creating a multi-element input file. CONT requests creating hsall.out and
BRF does not.
-
POT - request printing the potential in hspot.out
-
RAD - request printing the radial wave function in hswf.out
-
hsinfo.out is always created with self-consistency convergence information and
with energy eigenvalues
Example: CONT POT RAD
-
line 02, Title :
A descriptive title to be copied into the output files; e.g. element name,
charge, etc.
Example: ZINC
-
line 03, Control Parameters :
-
KEY - controls how normalized potential U(X) is input.
-
0 = 110pt. abridged input which will be extrapolated to the full
441pt. with the input used to fill every 4th mesh point.
-
1 = full 441pt. input.
-
2 = two full 441pt. inputs near the desired potential are
supplied to allow extrapolation of the potential for a desired Z value;
Zextr = 2Z3 - Z2 is expected.
-
TOL - test criterion for self-consistency. Beta of 0.001 usually works.
-
THRESH - test criterion for energy eigenvalue accuracy = abs(dE/E); 0.00001
or 0.00002 usually works.
-
MESH - # of mesh points to use in the Schroedinger Equation solution
subroutine. It can equal 441, 481, or 521 only! For most atoms, 441 is
adequate. For highly excited configurations, the larger sizes may be required
to contain the large radial distances attained by the outermost orbitals.
-
IPRATT - # of consecutive iterations to use the Pratt improvement scheme
for generating the new trial potential following an arithmetic averaging
iteration. 1 is usually sufficient.
-
MAXIT - maximum # of iterations permitted in a given run. If TOL is not
achieved by the self-consistency, then quit at MAXIT iteration. 20 iterations
is enforced by the program. 30 to 50 iterations should be sufficient.
-
KUT - Choice of potential to use for asymptotic limit of large r. It is
recommended to use 0; however, KUT was left available to allow comparison and
experimentation.
-
0 = use V(r) in the wave equation.
The modified Hartree-Fock-Slater-Latter potential that enforces
proper ideal asymptotic behavior of the potential at large r. V(r) is meant
to fix the tendency of the free-electron exchange potential to go to zero
too fast,
V(r)=Vo(r) for r < ro; else V(r)=-2(Z-N+1)/r
with matching point
V(ro)=Vo(ro)=-2(Z-N+1)/ro.
-
1 = use Vo(r). Hartree-Fock-Slater free-electron exchange pot.
-
RADION - ionic radius. If given, it defines the radius of the charged
atomic sphere used in calculation of the coulomb potential. Default is 0.0
to ignore this option.
-
BRATIO - branching ratio for ionic radius; 0.0 < BRATIO < 1.0. Leaving
it 0.0 is the same as defining a ratio of 1.0 (this is the default,
no branching).
-
ALPHA - exchange parameter for the Xa local
statistical-exchange approximation for determining the exchange potential.
In general, ALPHA is about 0.7 for all but the lightest atoms where it
rises to about 0.78. A
compilation of ALPHA
values for up to Z=41 can be found from Karlheinz Schwarz, Phys. Rev. B
5 Num. 7, 2466 (1972). A simple algebraic formula for alpha that fits
Schwarz' data fairly well is alpha = (1/(Z+1.5) + 2/(Z+1.5)2)/3 + 0.697.
VXa(r) = 3 e2
alpha [3/(8pi) |rho(r)|] 1/3
Example: 0 0.003 0.00010 441 1 50 0 0.000000000 1.000000000 0.70000
-
lines 04-14, U(r), Normalized Atomic Potential :
U(r) can be read straight out of the tables in Herman and Skillman's
published book. It is always inputted as either the full 441pts of the
mesh grid or as the 110pt. abridged version. Three notes: The values used
and reported by the program are in AU*Rydbergs. It is best if the given potential
is for an atom whose electronic configuration and Z number are similar
to the actual atom or ion being studied (within Z +- 10 is pretty good).
If an ion is being studied, it is preferable to give U(r) the correct limiting
form.
U(r) = U(ux) listed in the book for grid x, where x = r/u and u = 1/2 *
(3pi/4)2/3 * Z-1/3.
U(r) = -rV(r)/(2Z) with the limits of r=0 --> rV(r) = -2Z and r=infin. -->
rV(r) = -2.
Example: 1.00000 .98990 .97956 .96912 .95867 .94829 .93802 .92789 .91793 .90814
.89853 .87983 .86182 .84445 .82769 .81154 .79598 .78099 .76657 .75268
.73930 .71390 .69009 .66761 .64631 .62607 .60679 .58840 .57085 .55406
.53797 .50773 .47976 .45380 .42969 .40733 .38660 .36736 .34944 .33267
.31692 .28805 .26225 .23919 .21864 .20039 .18422 .16990 .15721 .14596
.13595 .11904 .10541 .09427 .08507 .07740 .07095 .06551 .06088 .05692
.05350 .04792 .04355 .04001 .03706 .03454 .03333 .03333 .03333 .03333
.03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333
.03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333
.03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333
.03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333 .03333
-
line 15, Atom Description :
-
Z - atomic number
-
NCORES - number of subshells assumed to be core orbitals
-
NVALES - number of subshells assumed to be valence orbitals
-
XION - ionicity, = Z - N; N = # of electrons. 0 for neutrals, +1, +2, etc.
The ionicity must be zero or positive. No method of making the potential
energy more negative to bind excess electrons is included. Does allow
fractional ionicities; +0.25, +1.5, etc.
NOTE: If you are only interested in utilizing the wavefunctions generated for
the core orbitals, the ionicity does not really matter ... it is easiest to just
utilize those generated for the neutral atom. (Test it! Compare neutral Vs.
+1 Vs. +2 Vs. excited bound state Vs. etc.)
NOTE: NCORES and NVALES independent values can be played with to create
the system you want, but the total NCORES+NVALES must correctly
equal the total number of subshells. Also, the values of NCORES and NVALES does
not effect the calculation of the wavefunctions or energy eigen values. It only
effects the calculation of the core charge density Vs. the valence charge density.
NOTE: Empty orbitals (orbital with no electrons) are allowed by the program.
Generally, this is used to include empty valence orbitals; useful for getting
wavefunctions for the orbitals even though there are no electrons in that orbital.
NOTE: In lines 16 and lines 17, the orbitals may be listed in any order. The only
distinction is core Vs. valence.
Example: (Zinc is 1s22s22p63s23p63d104s2)
( Zn+0 ) 30. 5 2 0.000000
("Zn+2") 30. 5 2 1.500000
-
lines 16, "core" Orbitals Info :
The "core" orbitals are generally orbitals with large binding energies,
but the user can experiment. The information for these shells should be
listed in a number of lines equaling the value given for NCORES. The
information for these lines can be found in the tables in Herman and Skillman's
book or a good periodic table. See Atomic
Reference Information provided on this site.
-
NNLZ - quantum numbers n, l for the orbital subshell. Entered as an
integer NNLZ = 100 n + 10 l + c, where c is a dummy number that
can be used to distinguish different configurations (often just left as 0).
-
WWNL - occupation number (# of electrons) for the subshell;
WWNL = 2 (2 l + 1) for filled subshells.
-
EE - trial energy eigenvalue(negative number) for that orbital subshell in
Rydbergs. See trial initial values
from Herman & Skillman's book or
experimental binding energies provided on this site.
Any value of the order (z/n)2 * small# (where the
small# is about 0.75 for deep core orbitals and is continually
reduced in size moving out to less and less bound orbitals) can be given.
As long as the trial value is not too far off, the
self-consistent cycle will converge correctly.
Example: (1s) 100 2.000000 -698.4000
(2s) 200 2.000000 -85.1200
(2p) 210 6.000000 -75.5500 Using HS Tables
(3s) 300 2.000000 -9.7930
(3p) 310 6.000000 -6.6610
-
lines 17, "valence" Orbitals Info :
The "valence" orbitals are all orbitals with binding energies near zero.
Example: (3d) 320 10.000000 -1.2582
( Zn+0 4s) 400 2.000000 -0.6185
("Zn+2"4s) 400 0.500000 -0.6185
-
line 18, -1 is put there visually to signify the end of data. It has no
other purpose.
-
lines 19, Comments region for notes to yourself.
Go to top of page
Created: Nobember 5, 1998 --- Last Updated: December 5, 2001
By Mark D. Pauli