a program to generate configuration-state lists of LS

Computer Physics
Communications
Computer Physics Communications 74(1993) 432—440
North-Holland
LSGEN a program to generate configuration-state lists
of LS-coupled basis functions
—
Lennart Sturesson
Department of Physics, Lund Institute of Technology, P.O. Box 118, S-221 00 Lund, Sweden
and
Charlotte Froese Fischer
Department of Computer Science, Vanderbilt University, Nashville, TN 37235, USA
Received 27 March 1992
The MCHF_ LSGEN program systematically generates coupled configuration states needed for accurate MCHF studies.
All possible couplings and configuration states are made of multi-replacements from several reference sets.
PROGRAM SUMMARY
Title of program: MCHF - LSGEN
No. of bits in a word: 32
Catalogue number: ACLG
Peripherals used: terminal, disk
Program obtainable from: CPC Program Library, Queen’s
University of Belfast. N. Ireland (see application form in this
issue)
No. of lines in distributed program, including test data, etc.:
2489
Licensing provisions: none
CPC Program Library subroutines used: none
Computers: VAXstation 3100, DECstation 3100, SUN 3/160;
Installations: Lund University, Vanderbilt University
Keywords: atomic structure, configuration interaction, configuration states, complex atoms, correlation, wave functions,
Operation systems under which the program has been tested:
VMS, Ultrix, Sun UNIX
Programming languages used: FORTRAN77
Options required compiling the program on SUN: -Nc128
________
Correspondence to: C. Froese Fischer, Department of Cornputer Science, Vanderbilt University, Nashville, m~
37235,
USA.
0010-4655/93/$06.00 © 1993
—
bound states, LS coupling
Nature of physical problem
Atomic properties are calculated to high accuracy using large,
systematic expansions of basis configuration state functions in
variational MCHF calculations.
Method of solution
By a systematic multi-replacement of electrons in subshells,
up to principal quantum number 15 and orbital angular
momentum “n” all possible configurations and couplings are
Elsevier Science Publishers B.V. All rights reserved
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basisfunctions
433
generated. The program generates a configuration state list in
the “clist” format required by the MCHF atomic structure
package [1]. The reference configurations and active set are
entered simultaneously.
orbital angular momenta may only be populated with 0, 1 or 2
electrons. Fully populated f-~ubshellsare automatically transferred to the list of closed subshells, common to all configuration states.
Restrictions on the complexity of the problem
The number of subshells in a configuration may be selected to
be any number between 1 and 5 (five) but there is no further
restriction on the number of electrons. Due to the limitations
in the MCHF package f-subshells may be populated with 0, 1,
2 or 14 electrons, while g-subshells and others with higher
Typical running time
The CPU time required for the test runs is 0.6 s and 3.0 s for
Test Run 1 and 2, respectively, on a DECstation 3100.
References
[1] C. Froese Fischer, Comppt. Phys. Commun. 64 (1991) 369.
LONG WRITE-UP
1. Introduction
The powerful computers of today enable
atomic structure calculations in which the wave
function for a particular state is expanded in
terms of a large number of configuration state
functions. To manually produce a set of configuration state functions (CSF’s) is not only inefficient but also error prone even for a few-electron
system. Being a problem, systematical in nature,
it is obvious that computers are best suited for
this task. In a multi-configuration Hartree—Fock
calculation using the atomic structure package of
Froese Fischer [1],the number of possible configuration states with a maximum of five subshells in
addition to a set of closed subshells common to
all configurations, could be quite large. Such a
program, GENCL [2], is already a part of the
MCHF package, though, being a multipurpose
program it is somewhat complicated to use for
making lists consisting of large active sets. The
program presented here, LSGEN, is a complement to the GENCL program and is especially
designed to make configuration lists from large
active sets of electrons that include all possible
configurations and their couplings. The program
has, in principle, no technical limitation on the
number of electrons, so it would have been possible to generate configuration lists describing any
atom in the periodic table if the limitations of
NONH [3] had not been incorporated, a program
that computes expressions for the configuration
interaction matrix elements needed by MCHF [1].
It is possible either to generate configuration lists
originating from two reference configurations in
one single run, or to i~ergeexpansions of different reference configu~ationsor different active
sets to an existing conI~igurationlist.
Recently, a progr~mto calculate hyperfine
structure constants frbm MCHF wavefunctions
has been developed [4].
This program has been
used to calculate the~hyperfine structure constants of lithium [5] a~tdsodium [6], and studies
for magnesium [7] and copper [8] are in progress.
For these calculations LSGEN has been used to
generate the appropriate configuration lists.
These atoms are inte$sting from different points
of view. Lithium, being the third lightest element
in the periodic table, has three electrons. This is
a small number of electrons making it possible to
perform all one-, two4 and three-particle excitations. The magnesiun~atom is somewhat more
complex having twelve~electrons. This is a two-valence-electron system ~Vitha core of the filled is,
2s and 2p subshells. TI~iissystem exhibits polarization effects of the cre and other correlation
effects. In some cases strong configuration interaction causes atomic states to be highly mixed
combinations of two, qr more, configurations with
weights of similar magnitude. An example is the
3s3d 1D state in Mg v~’hichhas a large admixture
of the 3p2 1D configu~ationstate. If the configuration list in this ca~ewould not contain both
configuration states tl~iederived hyperfine structure data would not etven be of the same magnitude as the values der~vedfrom experiments.
In both cases, lithi~imand magnesium, it has
been found that configuration lists consisting of
434
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basis functions
1500, or even more, configuration state functions
are essential in order to achieve agreement with
experimental data.
2. The program
2.1. The interface and input data
The “clist” format has been described in detail
[1],but let us review some essential features here.
A list of configuration states (i.e. configurations
and their couplings) is described in terms of a list
of closed subshells, common to all configuration
states, and a set of “open” subshells, specific to a
given configuration state. The latter may contain
some closed subshells in particular cases, but if
the subshell is open in some configuration state,
the subshell is considered a member of the set of
open subshells. Should some subshells be filled in
all configurations then the MCHF calculations
will be more efficient if these subshells are transferred to the list of “closed” subshells. For brevity,
we refer to these two sets simply as open or
closed subshells.
From the user’s point of view the interactive
part of the program is of most interest. To generate a configuration state list some parameters
need to be specified. The program asks for the
values of these parameters and at the same time
indicates appropriate answers inside parentheses.
An
indicates the default answer; this response can be given by a single stroke of the
return key.
The first question asked by the program determines the mode to be followed, i.e. is a new list
to be generated or are new configuration states to
be added to an existing list. In the MCHF atomic
structure package the number of open shells in a
given configuration state is limited to maximum
of five. In some cases five open shells might give
too long a list, so the maximum number of open
shells in the configuration list may be specified to
be any number between one and five,
The process of generating configuration states
is one where, given a configuration with a set of
occupied subshells, 1-, 2-, 3-,..., n-electron replacements are made to an active set of electrons
“*“
or subshells. The set of configurations from which
such replacements are made constitute a reference set, whereas the set of subshells to which
replacements may be made constitute the active
set. The latter is often a “virtual” set, i.e. unoccupied in the reference configuration, but for generation purposes it is convenient to classify the
active set as the set of subshells in the reference
set whose occupation number may vary as well as
the virtual set. In this program, substitutions are
made from each member of the reference set, in
turn, and the new configuration states appended
to those already determined. The subshells defining a member of the reference set and the active
set are entered simultaneously and the program
assumes that the reference set is to appear, if
possible, in the list of configurations. It is, e.g.,
possible to use is2 as a reference set to generate
a 3D term. In this case the reference configuration does not couple to the desired term, so it will
not appear in the configuration list.
The upper limit for the principal quantum
number, n, for subshells in the generated list of
configurations may be selected in response to a
prompt, with an upper limit of 15, while the
highest orbital angular momentum, 1, may be
specified in the same manner, with an upper limit
of “n” (i.e. s, p, d, f, g, h, i, k, 1, m and n-orbitals
can be used). The maximum angular momentum
specified should be at least the same, or higher,
than the orbital with the highest angular moment
in the reference configuration.
The number of electrons in the subshells of
the reference configuration are entered one subshell at a time. In the case of orbitals with angular momentum, 1, higher than “d”, the number of
electrons that may be entered is limited to being
less than or equal to 2, due to limitations in
NONH. The exception to this is the f-subshells.
These may be filled, i.e. populated with 14 electrons, and then treated as closed subshells. In this
case they are automatically transfered to the list
of closed subshells. In order to minimize the
number of entries from the keyboard, the user
has to specify the highest principal quantum
number of the occupied subshells of the reference configuration and whether or not all the
selected subshells should be part of the active set.
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basisfunctions
If the user decides not to use all subshells as a
part of the active set the program will ask if it is
to be active or inactive for every subshell. Here it
is also possible to restrict the minimum number
of electrons to appear in a specific subshell in the
reference configuration. This option will not appear if a subshell is only populated with one
electron. In the case of filled subshells a fourth
alternative appears. The orbital may be chosen to
be a closed subshell. As mentioned above, filled
f-subshells will automatically become closed subshells. Finally, the term and the maximum number of excitations are to be entered.
In making a secondary list of configurations
and merging them to the primary list, some of the
questions above are omitted. This will be described further in a later section.
The configurations in the list are in a strict
logical order. In some cases the reference configuration will not appear as the first configuration
in the list.
2.2. The concept
If there are any closed subshells these are
entered by the program on the second line in the
configuration list. Then the “shuffling”-routine
systematically distributes all the other electrons
among the subshells according to the input data.
This routine consists of more than one hundred
nested do loops. Due to this the code has to be
compiled with the -Nc option on a SUN workstation. All possible configurations are generated
with respect to the number of excited particles,
parity but adhering to the limitation in NONH.
Thus, the routine will not populate subshells with
high angular momentum (f or higher) with more
than two electrons. Comments in the code are
included an a way so that this limitation may
easily be removed.
When a possible candidate is found, the next
routine tries all possible couplings, for this particular configuration, to generate the desired term.
Each time an attempt is successful the program
writes the configuration and all of the couplings
of this configuration to a temporary file. Due to
another limitation in NONH orbitals with high
angular momentum and populated with two elec-
435
trons will not be coupled to resultant angular
momentum of L higher than “I”. This limitation
also may easily be removed. The code to couple
three or more electroas in high angular momentum orbitals is not implemented, so some extensions in the program~have to be made if the
changes described abo~ieare done. After generating all possible configurations the user has to
decide if another refe~tenceconfiguration is to be
entered. If not, the temporary file is written to
CFG.INP, the file tha serves as input to NONH,
BREIT [91,
and MCH1~88[10].
The nested do loops establish a strict logical
order of appearance ~f the configurations in the
list. In some cases the first reference configuration will not be the first configuration in the list.
For NONH and BRE~Tthe order of the configuration states is unimportant, but the MCHF88
program uses a simple procedure for finding one
eigenvalue/eigenvect~rof the interaction matrix
[11],even if the eigen~tateis not the lowest. If no
initial estimates are provided in the CFG.INP
file, MCHF88 starts ~he MCHF-SCF procedure
by setting the expan~ioncoefficient of the first
component of the wafre function to unity and all
others to zero. Convergence to a particular eigenvalue is not guarant~ed.Numerical stability requires that the first component be a major cornponent of the eigenv~ctorand it is customary to
make this the domir~antcomponent. For states
lowest in their symm~try,data can be presented
to LSGEN so that this condition is automatically
satisfied by making this configuration the first
reference configuratk~n,but the order may not be
correct for certain ex~itedstates, such as ls2s is.
In such cases, it ~s recommended that the
CFG.INP file be editted, and the dominant configuration state moved to the first position.
2.3. Merging two, or more, configuration lists
After generating the configuration list, as described in the previdus subsection, the program
gives the user an op~~ortunity
to complement this
original list with an~therlist, using a different
reference configuration and an arbitrary active
set. This second case is entered in about the same
way as the primary ot~e,though no change can be
436
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basisfunctions
made in what subshells are to be closed, nor can
the term be changed. As a result, the f-orbitals
may only be populated with 0, 1 or 2 electrons.
The program checks the number of entered electrons and the parity to be equal with those of the
primary reference configuration. Like in the case
of the primary list all possible configurations and
couplings obeying the input data are written to a
temporary file. Finally, the two configuration lists
are merged together.
Another possibility is to add new configurations to a previous list of configurations. The
name of the old list is expected to be CFG.OLD,
so the output-file from the earlier run (CFG.INP)
may have to be renamed. The program determines the closed subshells, the number of electrons, the parity and the LS term from this list.
In the same way as above a configuration list is
created. The two files are then merged together.
This routine makes it possible to use any desired
number of reference configurations.
The routine that performs the merging only
compares the configurations and not the couplings. If some couplings, but not all, of a configuration have been excluded from the CFG.OLD
file they will not appear in the resulting configuration list, even if they are present in the complementary list.
The configurations have to be in the strict
logical order established by the nested do-loops.
If the CFG.OLD file has been rearranged, e.g. to
put the reference set in the first position, the
program may produce a list of configurations that
will not pass NONH, due to the fact that the
same configuration and coupling could appear
twice.
(CFG.INP) to CFG.OLD and then rerun the
program selecting the “add”-option.
The first example is the 1s22s22p63s3d 1D state
in Mg, which was mentioned earlier in this paper.
The example takes 0.5 seconds CPU time to run
on a DEC 3100 workstation.
The second example is the 1s22p 2P state in
Li. This example is larger than the first one. Here
we have combined one-, two- and three-particle
excitations. This example takes 3.0 seconds CPU
time to run on a DEC 3100 workstation.
The third example is a demonstration of the
minimum option and the generated list is displayed. The case again is the 1s22s 2S state in Li.
In order to describe only core-polarization, the
minimum option is applied to inhibit multi-partide excitation from the core even if a multiparticle excitation is chosen. As is seen in the example
both the 1 electrons and the 2 electron are excited simultaneously.
Acknowledgements
This work was supported by the Swedish Natural Science Research Council and the US Department of Energy Office of Basic Energy Sciences.
References
[1] C. Froese Fischer, Comput. Phys. Commun. 64 (1991)
369.
[2] C Froese Fischer and Bin Liu, Comput. Phys. Commun.
[3] A. Hibbert and C. Froese Fischer, Comput. Phys. Cornmun. 64 (1991) 417.
[4] P. Jönsson, C.-G., Wahlstrdm and C. Froese Fischer,
3. Examples
We will now show three examples of how to
generate configuration lists. The first two exampies are authentic generations from refs. [5] and
[7]. In both cases the program is run in the “new
list”-mode and then, after the first list has been
generated, a second list is merged in. An alternative would have been to stop after the first list
had been produced, copy the outputfile
Comput. Phys. Commun. 74 (1993) 399, this issue.
[5] 1. Carlsson, P. Jönsson and C. Froese Fischer, Phys. Rev.
A 46 (1992) 2420.
[6] J. Carisson, P. Jönsson, L. Sturesson and C. Froese
Fischer, Phys. Scripta 46 (1992) 394.
[7] J. Carlsson, P. Jönsson and L. Sturesson, work in progress.
[8] J. Carlsson and P. Jönsson, work in progress.
[9] A. Hibbert, R. Glass, and C. Froese Fischer, Comput.
Phys. Commun. 64 (1991) 455.
[10] C. Froese Fischer, Comput. Phys. Commun. 64 (1991)
431.
[11] C. Froese Fischer, Comput. Phys. Rep. 3 (1986) 274.
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basisfunctions
TEST RUN OUTPUT
9p inactive or active? (i/a)
>
9d inactive or active? (i/a)
>
9f inactive or active? (i/a)
>
9g inactive or active? (i/*)
>1
lOs inactive or active? (i/a)
>
lop inactive or active? (i/a)
>
lOd inactive or active? (i/a)
>
lOf inactive or active? (i/a)
>i
log inactive or active? (us)
>i
Resulting term? (iS, 3?, etc.)
>2?
Number of excitations ~ ? (0. .3)
>2
1366 configuration states have been generated.
Generate a second list? (y/a)
>y
Maximum number of open subshells? (1. .5)
>5
Highest n-number? (1. .15)
>5
Highest 1-number? (a. .g)
>g
Are all these nl-subshells active? (n/a)
>
Highest n-number in reference configuration ? (1. .5)
>2
Number of electrons in is? (0. .2)
>2
Number of electrons in 2s? (0. .2)
>0
2p? (0. .6)
>1Number of electrons in
Number of excitations
? (0. .3)
>3
690 configuration states have been generated.
1841 configuration states in the final list.
The merged file is called cfg.inp.
~
>>lsgen
New list, add to existing list or quit? (*/a/q)
>
Maximum number of open subshells? (1. .5)
>5
Highest principal quantum number, n?. (1.. 15)
>3
Highest orbital angular momentum, 1? (s. .d)
>d
Case 13.
437
438
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basisfunctions
Highest n-number in reference configuration? (1. .3)
>3
Number of electrons in 28? (0. .2)
>2
2p? (0. .6)
Number of electrons in
>6
Number of electrons in 3s? (0. .2)
>0
Number of electrons in 3p? (0. .6)
>2
Number of electrons in 3d? (0. .10)
>0
Number of excitations
? (0. .10)
>2
124 configuration states have been generated.
178 configuration states in the final list.
The merged file is called cfg.inp.
===~=~> Case
>>lsgen
New list, add to existing list or quit? (*/a/q)
>
Maximum number of open subshells? (1.5)
>5
Highest principal quantum number, n? (1. .15)
>10
Highest orbital angular momentum, 1? (a. .m)
>g
Are all these nl—subshells active? (n/a)
>n
Highest n-number in reference set? (1..10)
>2
Number of electrons in is? (0. .2)
>2
Closed, inactive, active or minimum? (c/i/*/O. .1)
>
Number of electrons in 2s? (0. .2)
>0
Inactive or active? (i/*)
>
Number of electrons in 2p? (0. .6)
>1
Inactive or active? (i/a)
>
3s inactive or active? (i/*)
>
3p inactive or active? (i/*)
>
3d inactive or active? (i/*)
>
edited for brevity
8g inactive or active? (i/a)
>i
9s inactive or active? (j/*)
>
#2.
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basis functions
===—~> Case *1.
)>lsgen
New list, add to existing list or quit? (a/a/q)
>
Maximum number of open subshells? (i. .5)
>5
Highest principal quantum number, n? (1. .15)
>3
Highest orbital angular momentum, 1? (s. .d)
>d
Are all these nl—subshells active? (n/a)
>n
Highest n-number in reference configuration? (1. .3)
>3
Number of electrons in is? (0. .2)
>2
Closed, inactive, active or minimum? (c/i/a/O. .1)
>c
Number of electrons in 2s? (0. .2)
>2
Closed, inactive, active or minimum? (c/i/*/O. .1)
>
Number of electrons in 2p? (0. .6)
>6
Closed, inactive, active or minimum? (c/i/*/O. .5)
>
Number of electrons in 3s? (0. .2)
>1
Inactive or active? (i/a)
>
Number of electrons in 3p? (0. .6)
>0
Inactive or active? (i/*)
>
Number of electrons in 3d? (0. .10)
>1
Inactive or active? (i/a)
>
Resulting term? (iS, 3?, etc.)
>1D
Number of excitations = ? (0. .10)
>2
102 configuration states have been generated.
Generate a second list? (y/*)
>7
Maximum number of open subshells? (1. .5)
>5
Highest n-number? (1. .15)
>3
Highest 1-number? (s. .d)
>d
Are all these nl—subshells active? (n/a)
>
439
441)
L. Sturesson, C. Froese Fischer
/
Generation of configuration-state lists of LS-coupled basis functions
Are all these nl—subshells active? (n/a)
>n
Highest n-number in reference configuration? (1. .3)
>2
Number of electrons in is? (0. .2)
>2
Closed, inactive, active or minimum? (c/i/a/0. .1)
>1
Number of electrons in 2a? (0. .2)
>1
Inactive or active? (i/a)
>
Number of electrons in 2p? (0. .6)
>0
Inactive or active? (i/a)
>
3s inactive or active? (i/*)
>
3p inactive or active? (i/a)
>
3d inactive or active? (i/a)
>
Resulting term? (15, 3P, etc.)
>2S
Number of excitations
? (0. .2)
>2
11 configuration states have been generated.
Generate a second list? (y/*)
>
ii configuration states in the final list.
The generated file is called cfg.inp.
>>cat cfg.inp
ls( 2)
iSO
is( 2)
2s( 1)
2Si
3s( 1)
2S
iSO
is( 1)
251
2S
2s( 2)
251
150
2S
ls( 1) 2s( 1) 3s( 1)
2S1
2Si
2S1
ls( 1) 2s( 1) 3s( 1)
2Si 2p( 251
2Sl
2)
ls( 2S1
1)
iSO
2S
is( 1) 2p( 1) 3p( 1)
2Si
2Pi
2P1
ls( 1) 2p( 1) 3p( 1)
2Si
2Pi
2P1
is( 1) 3s( 2)
251
iSO
2S
is( 1) 3p( 2)
2Si
iso
2S
is( 1) 3d( 2)
2Si
150
2S
*
iS
25
3S
2S
iP
2S
3P
2S