Calculations used in Chapter 5: Core Ionization

Core ionization energies are the minimum energies needed to remove an electron from a 1s-orbital of an atom. These energies are cumbersome to calculate by conventional methods, but easy using generalized Sturmians.

We will start by discussing the general features of core ionization energies using the large-Z approximation discussed in Chapter 3. This approximation is equivalent to using a basis set limited to configurations that are degenerate if interelectron repulsion is neglected. These configurations, which we call an ℛ-block, all correspond to a particular value of

(Subscript[ℛ, ν])==(Sqrt[(1/(Subscript[n, 1]^2))+(1/(Subscript[n, 2]^2))+⋯+(1/(Subscript[n, N]^2))])

In the large-Z approximation the energy of an atomic state is given by

(Subscript[E, κ])==-(1/2)((Subscript[ℛ, ν])Z-|(Subscript[λ, κ])|)(^2)

where (Subscript[λ, κ]) is the corresponding eigenvalue for the ℛ-block of the interelectron repulsion matrix.

Initialization

We begin by loading the libraries that we will use:

(*For rapid calculation of repulsion-matrix*)
Get["Sturmian`binary`"];
Get["Sturmian`M`misc`"];
(*For constructing basis sets that obey the Pauli principle*)
Get["Sturmian`M`pauli`"];
(*For automatic identification of the symmetry of eigenstates*)
Get["Sturmian`M`identify`"];
Get["Sturmian`M`format`"];
Off[General::spell];

Set-up and auxiliary functions

In order to calculate the ℛ-blocks appropriate for a core ionization calculation, we set o1, o2 and o3 to the sets of one-electron quantum numbers with n==1, n==2 and n==3 respectively, appropriate for lowest shells when 1≤N≤18. We then generate bigbases, a list of all possible N-electron configurations (2≤N≤10) allowed by the Pauli principle and restricted to the n==1 and n==2 shells.

{o1,o2,o3}=oneelectronstates[#,#]&/@{1,2,3};
o12=Join[o1,o2];

(*N is a reserved word in Mathematica (numerical evaluation),so in the code that follows,Nel is used in its place.*)
bigbases=Table[binomialchoices[o12,Nel],{Nel,2,10}];

Next, we compute bases for the ground state ℛ-blocks for 2≤N≤(Subscript[N, max]) and for the ionized system for 1≤N'≤(Subscript[N, max])-1:

For the ground state ℛ-blocks (rblocks0), we have two cases: If 2≤N≤10, we select from bigbases those N-electron configurations for which the first two electrons are in the n==1 shell and the remainder in the n==2 shell. If 10<N≤18, the n==1 and n==2 shells are fully occupied, and the remaining electrons are placed in the n==3 shell. The ℛ-blocks appropriate for describing the ionized states (rblocksi) are constructed from the ground state blocks by removing an electron from the 1s-shell.

Nmax=11;
N10core={{1,0,0,1},{1,0,0,-1},{2,0,0,1},{2,0,0,-1},{2,1,-1,1},{2,1,0,1},{2,1,1,1},{2,1,-1,-1},{2,1,0,-1},{2,1,1,-1}};

rblock0[n_]:=Module[{threeblock},If[n≤10,Return[Select[bigbases[[n-1]],(#[[1,1]]==1)&&(#[[2,1]]==1)&]]];
threeblock=Join[N10core,#]&/@binomialchoices[o3,n-10];
Return[threeblock];];

rblocki[n_]:=Drop[#,1]&/@rblock0[n];

rblocksi=Table[rblocki[n],{n,2,Nmax}];
rblocks0=Table[rblock0[n],{n,2,Nmax}];

The dimensions of the ℛ-blocks should be Binomial[8,N-2] for 2<N≤10 and Binomial[18,N-10] for 10<N≤18, corresponding to the number of electrons in the open subshell. We can check by inspection that this is the case.

Length/@rblocks0
Table[Binomial[8,Nel-2],{Nel,2,10}]
Table[Binomial[18,Nel-10],{Nel,11,Nmax}]

Finding the Interelectron Repulsion Roots

We next compute the two lists of interelectron repulsion-matrices:  Tsi for the ionized systems and Ts0 for the ground state systems.

Tsi=repulsionMatrix/@rblocksi;
Ts0=repulsionMatrix/@rblocks0;

classify[Trep,basis,tolerance] gives us the roots of matrix Trep and the symmetries of the corresponding eigenvectors. We are interested in the roots of the R-blocks:

roots=classify[Tsi[[2]],rblocksi[[2]],10^(-8)]

The symmetries are given as pairs (L,S). To increase readability, we can apply term2label[] to show them in the style of standard spectroscopic notation.

{#[[1]],term2label[#[[2]]]}&/@roots

Tables 5.1 and 5.2 show the roots of the ℛ-blocks of the interelectron repulsion matrices Tsi corresponding to the  core-ionized system. The roots need only be calculated once and may be used for rough approximations to all the series that they represent.

table51data=Table[classify[Tsi[[i]],rblocksi[[i]],10^(-8)],{i,Length[rblocksi]}];

table51data2={NumberForm[Abs[#[[1]]],6],term2label[#[[2]]]}&/@#&/@table51data;

(table51data3=Flatten/@Transpose[padtable[table51data2,{"",""}]])//MatrixForm

We’ll use the smallest roots from Table 5.1 and 5.2 - corresponding to the most tightly bound states in the large-Z approximations - for our example:

smallestroots=First/@table51data
{#[[1]],term2label[#[[2]]]}&/@smallestroots

Computing Core-Ionization Energies

Now we’re ready to calculate approximate energies. Eapprox0[N,Z] defines the approximate energies of the N-electron ground states with nuclear charge Z, as defined in Eq. 5.1; Eapprox1[N-1,Z] similarly gives approximate energy for the core-ionized states.

λ0=Last/@Eigenvalues/@Ts0;
r0=Table[Sqrt[2+i/4],{i,0,8}];
λ1=First/@smallestroots;
r1=Table[Sqrt[1+i/4],{i,0,8}];

Eapprox0[Nel_,Z_]:=-1/2*(Z*r0[[Nel-1]]+λ0[[Nel-1]])^2;
Eapprox1[Np_,Z_]:=-1/2*(Z*r1[[Np]]+λ1[[Np]])^2;

The following are the parameters that enter Equation 5.1; the top number in the brackets is (Subscript[Zℛ, ν]), while the lower number is (Subscript[λ, κ]):

{Table[{Z r0[[i]],λ0[[i]]},{i,9}]}//MatrixForm

In this way we find that (Subscript[E, 0])≈-(1/2)(((Z(Sqrt[2])-0.441942))^2) when N==2, (Subscript[E, 0])≈-(1/2)(((3Z/2-0.68187))^2) when N==3, et cetera.

Similarly, the parameters used in Equation 5.3 are:

{Table[{Z r1[[i]],λ1[[i]]},{i,9}]}//MatrixForm

Thus we have (Subscript[E, i])≈-(1/2)(Z^2) when N'==N-1==1, (Subscript[E, i])≈-(1/2)(((Z(Sqrt[5])/2-0.168089))^2) when N'==2, and so on.

Taking the difference between these energies, we obtain Equation 5.4, which defines the approximate energies ΔE[N,Z] required to ionize an electron from the core for various values of N.

(deltas=Table[Expand[Eapprox1[Nel-1,Z]-Eapprox0[Nel,Z]],{Nel,2,10}])//MatrixForm

Table 5.3 shows ΔE for 2≤N,Z≤10.

table53data=Table[If[Nel<Z,deltas[[Nel]],0],{Nel,Length[deltas]},{Z,2,10}];
MatrixForm[Map[chew[#,4]&,table53data,{2}]]

The following reproduces Figure 5.1: The energy ΔE required to remove an electron from the inner shell of an N-electron atom or ion is an approximate quadratic function of the nuclear charge Z (Equation 5.4).

fig51lines=Table[Plot[(Eapprox1[Nel-1,Z]-Eapprox0[Nel,Z])/Z^2,{Z,Nel,20}],{Nel,2,7}];

labels={Graphics[Text["N=2",{2,.2}]],Graphics[Text["N=7",{7,.267}]]};

figure51=Show[Join[fig51lines,labels],PlotRange->{0,.5},AxesOrigin->{0,0},AxesLabel->{"Z","ΔE/(Z^2)"},TextStyle->{FontSize->15,FontFamily->Times}]

Finally, for Figure 5.2, we calculate the core ionization energy ΔE and plot it as a function of electron count N for several values of nuclear charge Z. The approximate linear dependence of N is discussed in Chapter 5; it is in fact approximately piecewise linear, with breaks in slope occurring when subshells are filled, i.e. at N==2, N==10, N==18, etc.

lines=Table[ListPlot[Table[{Nel,Eapprox1[Nel-1,Z]-Eapprox0[Nel,Z]},{Nel,2,Min[10,Z]}],Joined->True],{Z,3,15}];

dots=Table[ListPlot[Table[{Nel,Eapprox1[Nel-1,Z]-Eapprox0[Nel,Z]},{Nel,2,Min[10,Z]}],PlotStyle->PointSize[.013]],{Z,3,15}];

linedots=Table[Show[lines[[i]],dots[[i]]],{i,Length[lines]}];

linelabels={Graphics[Text["Z=15",{10.55,78}]],Graphics[Text["Z=10",{10.55,28}]]};

figure52=Show[Join[linedots,linelabels],AxesLabel->{"N","ΔE"},TextStyle->{FontSize->15,FontFamily->Times},AxesOrigin->{2,0},PlotRange->{{2,11.5},{0,105}}]

In Figure 5.2, we are struck by the approximate linear dependence of ΔE on the number of electrons N, a parameter that has very complex effects on the wavefunctions. How can this interesting result be explained? In the next notebook, we will generate the electron density distributions for an isonuclear series in order to explore this question.