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
© Copyright 2024