From 217c96177a448fecbf10d3d22c2f587da205c7a7 Mon Sep 17 00:00:00 2001 From: Stephan Fritzsche Date: Mon, 30 Oct 2023 21:12:02 +0100 Subject: [PATCH] Updata cascade schemes. --- src/module-Cascade-inc-computations.jl | 8 +- src/module-Cascade-inc-stepwise-decay.jl | 2 +- src/module-DecayYield.jl | 5 +- src/module-PeriodicTable.jl | 206 +++++++++++++++++++++++ src/module-PhotoExcitation.jl | 3 +- src/module-PhotoIonization.jl | 4 +- 6 files changed, 219 insertions(+), 9 deletions(-) diff --git a/src/module-Cascade-inc-computations.jl b/src/module-Cascade-inc-computations.jl index a11b4e0..731a364 100644 --- a/src/module-Cascade-inc-computations.jl +++ b/src/module-Cascade-inc-computations.jl @@ -126,9 +126,11 @@ linesA::Array{AutoIonization.Line,1}, settings::DecayYield.Settings) # Identify the level key of the given level also in the lists of radiative and Auger lines level = outcome.level; levelKey = LevelKey( LevelSymmetry(level.J, level.parity), level.index, level.energy, 0.) + @show levelKey similarKey = LevelKey(); rateR = 0.; rateA = 0.; NoPhotonLines = 0; NoAugerLines = 0 for line in linesR compareKey = LevelKey( LevelSymmetry(line.initialLevel.J, line.initialLevel.parity), line.initialLevel.index, line.initialLevel.energy, 0.) + @show compareKey if Basics.isSimilar(levelKey, compareKey, 1.0e-3) println("** compareKey = $compareKey"); similarKey = deepcopy(compareKey) end end if similarKey == LevelKey() error("No similar level found !") end @@ -369,7 +371,8 @@ if rProbabilities[subsh] == 0. continue end idy = Cascade.dumpGeant4Index(subsh) sa = "$idy "; sa = sa[1:13] * @sprintf("%.6e", rProbabilities[subsh]) - en = Defaults.convertUnits("energy: from atomic to eV", subshEnergies[subsh]) * 1.0e-6 ## energies in MeV + en = subshEnergies[holeSubshell] - subshEnergies[subsh] + en = Defaults.convertUnits("energy: from atomic to eV", en) * 1.0e-6 ## energies in MeV sa = sa * " " * @sprintf("%.6e", abs(en)); println(stream, sa) end end @@ -408,7 +411,8 @@ if aProbabilities[(subsha, subshb)] == 0. continue end ida = Cascade.dumpGeant4Index(subsha); idb = Cascade.dumpGeant4Index(subshb) sa = "$ida $idb "; sa = sa[1:26] * @sprintf("%.6e", aProbabilities[(subsha, subshb)]) - en = Defaults.convertUnits("energy: from atomic to eV", subshEnergies[subsha]) * 1.0e-6 ## energies in MeV + en = subshEnergies[holeSubshell] - subshEnergies[subsha] - subshEnergies[subshb] + en = Defaults.convertUnits("energy: from atomic to eV", en) * 1.0e-6 ## energies in MeV sa = sa * " " * @sprintf("%.6e", abs(en)); println(stream, sa) end end diff --git a/src/module-Cascade-inc-stepwise-decay.jl b/src/module-Cascade-inc-stepwise-decay.jl index e41c1d2..393e7d6 100644 --- a/src/module-Cascade-inc-stepwise-decay.jl +++ b/src/module-Cascade-inc-stepwise-decay.jl @@ -68,7 +68,7 @@ "giving now rise to a total of $nt $(string(step.process)) decay lines." ) end end # - data = Cascade.DecayData(linesR, linesA) + data = ( Cascade.Data{PhotoEmission.Line}(linesR), Cascade.Data{AutoIonization.Line}(linesA) ) end diff --git a/src/module-DecayYield.jl b/src/module-DecayYield.jl index 0c1b648..40e7774 100644 --- a/src/module-DecayYield.jl +++ b/src/module-DecayYield.jl @@ -115,13 +115,12 @@ module DecayYield wa = Cascade.Computation(Cascade.Computation(), name="photon lines", nuclearModel=nm, grid=grid, asfSettings=asfSettings, scheme=Cascade.StepwiseDecayScheme([Radiative()], 0, Dict{Int64,Float64}(), 0, decayShells, Shell[], Shell[]), approach=cApproach, initialConfigs=initialConfigs) - @show wa - wb = perform(wa, output=true, outputToFile=false); linesR = wb["decay line data:"].linesR + wb = perform(wa, output=true, outputToFile=false); linesR = wb["decay line data:"][1].lines println("\nPerform a cascade computation for all (single-electron) Auger decay channels of the levels from the initial configurations:") wa = Cascade.Computation(Cascade.Computation(), name="Auger lines", nuclearModel=nm, grid=grid, asfSettings=asfSettings, scheme=Cascade.StepwiseDecayScheme([Auger()], 1, Dict{Int64,Float64}(), 0, decayShells, Shell[], Shell[]), approach=cApproach, initialConfigs=initialConfigs) - wb = perform(wa, output=true, outputToFile=false); linesA = wb["decay line data:"].linesA + wb = perform(wa, output=true, outputToFile=false); linesA = wb["decay line data:"][2].lines # # Calculate all amplitudes and requested properties newOutcomes = DecayYield.Outcome[] diff --git a/src/module-PeriodicTable.jl b/src/module-PeriodicTable.jl index a8ec034..16b9f46 100644 --- a/src/module-PeriodicTable.jl +++ b/src/module-PeriodicTable.jl @@ -473,5 +473,211 @@ module PeriodicTable return( wa ) end + + """ + `PeriodicTable.bindingEnergies_XrayDataBooklet(Z::Int64)` + ... to return the `stored values' of Bearden et al. (1967), Cardona et al. (1978) and Fuggle et al. (1980) + for the element with nuclear charge Z; all binding energies are given in eV. + """ + function bindingEnergies_XrayDataBooklet(Z::Int64) + # + # 1s_1/2, 2s_1/2, 2p_1/2, 2p_3/2, 3s_1/2, 3p_1/2, 3p_3/2, 3d_3/2, 3d_5/2, 4s_1/2, 4p_1/2, 4p_3/2, + # 4d_3/2, 4d_5/2, 4f_5/2, 4f_7/2, 5s_1/2, 5p_1/2, 5p_3/2, 5d_3/2, 5d_5/2, 6s_1/2, 6p_1/2, 6p_3/2 + if Z == 1 wa = [ 13.6, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 2 wa = [ 24.6, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 3 wa = [ 54.7, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 4 wa = [ 111.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 5 wa = [ 188.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 6 wa = [ 284.2, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 7 wa = [ 409.9, 37.3, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 8 wa = [ 543.1, 41.6, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 9 wa = [ 696.7, 31.0, 9.0, 9.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 10 wa = [ 870.2, 48.5, 21.7, 21.6, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + # + elseif Z == 11 wa = [ 1070.8, 63.5, 30.65, 30.81, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 12 wa = [ 1303.0, 88.7, 49.78, 49.50, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 13 wa = [ 1559.6, 117.8, 72.95, 72.55, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 14 wa = [ 1839.0, 149.7, 99.82, 99.42, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 15 wa = [ 2145.5, 189.0, 136.0, 135.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 16 wa = [ 2472.0, 230.9, 163.6, 162.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 17 wa = [ 2822.4, 270.0, 202.0, 200.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 18 wa = [ 3205.9, 326.3, 250.6, 248.4, 29.3, 15.9, 15.7, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 19 wa = [ 3608.4, 378.6, 297.3, 294.6, 34.8, 18.3, 18.3, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 20 wa = [ 4038.5, 438.4, 349.7, 346.2, 44.3, 25.4, 25.4, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + # + elseif Z == 21 wa = [ 4492.0, 498.0, 403.6, 398.7, 51.1, 28.3, 28.3, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 22 wa = [ 4966.0, 560.9, 460.2, 453.8, 58.7, 32.6, 32.6, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 23 wa = [ 5465.0, 626.7, 519.8, 512.1, 66.3, 37.2, 37.2, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 24 wa = [ 5989.0, 696.0, 583.8, 574.1, 74.1, 42.2, 42.2, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 25 wa = [ 6539.0, 769.1, 649.9, 638.7, 82.3, 47.2, 47.2, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 26 wa = [ 7112.0, 844.6, 719.9, 706.8, 91.3, 52.7, 52.7, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 27 wa = [ 7709.0, 925.1, 793.2, 778.1, 101.0, 58.9, 59.9, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 28 wa = [ 8333.0, 1008.6, 870.0, 852.7, 110.8, 68.0, 66.2, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 29 wa = [ 8979.0, 1096.7, 952.3, 932.7, 122.5, 77.3, 75.1, -1.0, -1.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 30 wa = [ 9659.0, 1196.2, 1044.9, 1021.8, 139.8, 91.4, 88.6, 10.2, 10.1, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + # + elseif Z == 31 wa = [ 10367.0, 1299.0, 1143.2, 1116.4, 159.5, 103.5, 100.0, 18.7, 18.7, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 32 wa = [ 11103.0, 1414.6, 1248.1, 1217.0, 180.1, 124.9, 120.8, 29.8, 29.2, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 33 wa = [ 11867.0, 1527.0, 1359.1, 1323.6, 204.7, 146.2, 141.2, 41.7, 41.7, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 34 wa = [ 12658.0, 1652.0, 1474.3, 1433.9, 229.6, 166.5, 160.7, 55.5, 54.6, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 35 wa = [ 13474.0, 1782.0, 1596.0, 1550.0, 257.0, 189.0, 182.0, 70.0, 69.0, -1.0, -1.0, -1.0, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 36 wa = [ 14326.0, 1921.0, 1730.9, 1678.4, 292.8, 222.2, 214.4, 95.0, 93.8, 27.5, 14.1, 14.1, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + # + elseif Z == 37 wa = [ 15200.0, 2065.0, 1864.0, 1804.0, 326.7, 248.7, 239.1, 113.0, 112.0, 30.5, 16.3, 15.3, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 38 wa = [ 16105.0, 2216.0, 2007.0, 1940.0, 358.7, 280.3, 270.0, 136.0, 134.2, 38.9, 21.3, 20.1, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 39 wa = [ 17038.0, 2373.0, 2156.0, 2080.0, 392.0, 310.6, 298.8, 157.7, 155.8, 43.8, 24.4, 23.1, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 40 wa = [ 17998.0, 2532.0, 2307.0, 2223.0, 430.3, 343.5, 329.8, 181.1, 178.8, 50.6, 28.5, 27.1, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 41 wa = [ 18986.0, 2698.0, 2465.0, 2371.0, 466.6, 376.1, 360.6, 205.0, 202.3, 56.4, 32.6, 30.8, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 42 wa = [ 20000.0, 2866.0, 2625.0, 2520.0, 506.3, 411.6, 394.0, 231.1, 227.9, 63.2, 37.6, 35.5, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 43 wa = [ 21044.0, 3043.0, 2793.0, 2677.0, 544.0, 447.6, 417.7, 257.6, 253.9, 69.5, 42.3, 39.9, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 44 wa = [ 22117.0, 3224.0, 2967.0, 2838.0, 586.1, 483.5, 461.4, 284.2, 280.0, 75.0, 46.3, 43.2, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 45 wa = [ 23220.0, 3412.0, 3146.0, 3004.0, 628.1, 521.3, 496.5, 311.9, 307.2, 81.4, 50.5, 47.3, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 46 wa = [ 24350.0, 3604.0, 3330.0, 3173.0, 671.6, 599.9, 532.3, 340.5, 335.2, 87.1, 55.7, 50.9, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + elseif Z == 47 wa = [ 25514.0, 3806.0, 3524.0, 3351.0, 719.0, 603.8, 573.0, 374.0, 368.3, 97.0, 63.7, 58.3, + -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ] + # + elseif Z == 48 wa = [26711.0, 4018.0, 3727.0, 3538.0, 772.0, 652.6, 618.4, 411.9, 405.2, 109.8, 63.9, 63.9, + 11.7, 10.7, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 49 wa = [27940.0, 4238.0, 3938.0, 3730.0, 827.2, 703.2, 665.3, 451.4, 443.9, 122.9, 73.5, 73.5, + 17.7, 16.9, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 50 wa = [29200.0, 4465.0, 4156.0, 3929.0, 884.7, 756.5, 714.6, 493.2, 484.9, 137.1, 83.6, 83.6, + 24.9, 23.9, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 51 wa = [30491.0, 4698.0, 4380.0, 4132.0, 946.0, 812.7, 766.4, 537.5, 528.2, 153.2, 95.6, 95.6, + 33.3, 32.1, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 52 wa = [31814.0, 4939.0, 4612.0, 4341.0, 1006.0, 870.8, 820.0, 583.4, 573.0, 169.4, 103.3, 103.3, + 41.9, 40.4, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 53 wa = [33169.0, 5188.0, 4852.0, 4557.0, 1072.0, 931.0, 875.0, 630.8, 619.3, 186.0, 123.0, 123.0, + 50.6, 48.9, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 54 wa = [34561.0, 5453.0, 5107.0, 4786.0, 1148.7, 1002.1, 940.6, 689.0, 676.4, 213.2, 146.7, 145.5, + 69.5, 67.5, -1.0, -1.0, 23.3, 13.4, 12.1, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 55 wa = [35985.0, 5714.0, 5359.0, 5012.0, 1211.0, 1071.0, 1003.0, 740.5, 726.6, 232.3, 172.4, 161.3, + 79.8, 77.5, -1.0, -1.0, 22.7, 14.2, 12.1, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 56 wa = [37441.0, 5989.0, 5624.0, 5247.0, 1293.0, 1137.0, 1063.0, 795.7, 780.5, 253.5, 192.0, 178.6, + 92.6, 89.9, -1.0, -1.0, 30.3, 17.0, 14.8, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 57 wa = [38925.0, 6266.0, 5891.0, 5483.0, 1362.0, 1209.0, 1128.0, 853.0, 836.0, 274.7, 205.8, 196.0, + 105.3, 102.5, -1.0, -1.0, 34.3, 19.3, 16.8, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 58 wa = [40443.0, 6549.0, 6164.0, 5723.0, 1436.0, 1274.0, 1187.0, 902.4, 883.8, 291.0, 223.2, 206.5, + 109.0, -1.0, 0.1, 0.1, 37.8, 19.8, 17.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 59 wa = [41991.0, 6835.0, 6440.0, 5964.0, 1511.0, 1337.0, 1242.0, 948.3, 928.8, 304.5, 236.3, 217.6, + 115.1, 115.1, 2.0, 2.0, 37.4, 22.3, 22.3, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 60 wa = [43569.0, 7126.0, 6722.0, 6208.0, 1575.0, 1403.0, 1297.0, 1003.3, 980.4, 319.2, 243.3, 224.6, + 120.5, 120.5, 1.5, 1.5, 37.5, 21.1, 21.1, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 61 wa = [45184.0, 7428.0, 7013.0, 6459.0, -1.0, 1471.0, 1357.0, 1052.0, 1027.0, -1.0, 242.0, 242.0, + 120.0, 120.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 62 wa = [46834.0, 7737.0, 7312.0, 6716.0, 1723.0, 1541.0, 1420.0, 1110.9, 1083.4, 347.2, 265.6, 247.4, + 129.0, 129.0, 5.2, 5.2, 37.4, 21.3, 21.3, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 63 wa = [48519.0, 8052.0, 7617.0, 6977.0, 1800.0, 1614.0, 1481.0, 1158.6, 1127.5, 360.0, 284.0, 257.0, + 133.0, 127.7, 0.0, 0.0, 32.0, 22.0, 22.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 64 wa = [50239.0, 8376.0, 7930.0, 7243.0, 1881.0, 1688.0, 1544.0, 1221.9, 1189.6, 378.6, 286.0, 271.0, + -1.0, 142.6, 8.6, 8.6, 36.0, 28.0, 21.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 65 wa = [51996.0, 8708.0, 8252.0, 7514.0, 1968.0, 1768.0, 1611.0, 1276.9, 1241.1, 396.0, 322.4, 284.1, + 150.5, 150.5, 7.7, 2.4, 45.6, 28.7, 22.6, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 66 wa = [53789.0, 9046.0, 8581.0, 7790.0, 2047.0, 1842.0, 1676.0, 1333.0, 1292.6, 414.2, 333.5, 293.2, + 153.6, 153.6, 8.0, 4.3, 49.9, 26.3, 26.3, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 67 wa = [55618.0, 9394.0, 8918.0, 8071.0, 2128.0, 1923.0, 1741.0, 1392.0, 1351.0, 432.4, 343.5, 308.2, + 160.0, 160.0, 8.6, 5.2, 49.3, 30.8, 24.1, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 68 wa = [57486.0, 9751.0, 9264.0, 8358.0, 2207.0, 2006.0, 1812.0, 1453.0, 1409.0, 449.8, 366.2, 320.2, + 167.6, 167.6, -1.0, 4.7, 50.6, 31.4, 24.7, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 69 wa = [59390.0, 10116.0, 9617.0, 8648.0, 2307.0, 2090.0, 1885.0, 1515.0, 1468.0, 470.9, 385.9, 332.6, + 175.5, 175.5, -1.0, 4.6, 54.7, 31.8, 25.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 70 wa = [61332.0, 10486.0, 9978.0, 8944.0, 2398.0, 2173.0, 1950.0, 1576.0, 1528.0, 480.5, 388.7, 339.7, + 191.2, 182.4, 2.5, 1.3, 52.0, 30.3, 24.1, -1.0, -1.0, -1.0, -1.0, -1.0] + # + elseif Z == 71 wa = [63314.0, 10870.0, 10349.0, 9244.0, 2491.0, 2264.0, 2024.0, 1639.0, 1589.0, 506.8, 412.4, 359.2, + 206.1, 196.3, 89.0, 7.5, 57.3, 33.6, 26.7, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 72 wa = [65351.0, 11271.0, 10739.0, 9561.0, 2601.0, 2365.0, 2108.0, 1716.0, 1662.0, 538.0, 438.2, 380.7, + 220.0, 211.5, 15.9, 14.2, 64.2, 38.0, 29.9, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 73 wa = [67416.0, 11682.0, 11136.0, 9881.0, 2708.0, 2469.0, 2194.0, 1793.0, 1735.0, 563.4, 463.4, 400.9, + 237.9, 226.4, 23.5, 21.6, 69.7, 42.2, 32.7, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 74 wa = [69525.0, 12100.0, 11544.0, 10207.0, 2820.0, 2575.0, 2281.0, 1872.0, 1809.0, 594.1, 490.4, 423.6, + 255.9, 243.5, 33.6, 31.4, 75.6, 45.3, 36.8, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 75 wa = [71676.0, 12527.0, 11959.0, 10535.0, 2932.0, 2682.0, 2367.0, 1949.0, 1883.0, 625.4, 518.7, 446.8, + 273.9, 260.5, 42.9, 40.5, 83.0, 45.6, 34.6, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 76 wa = [73871.0, 12968.0, 12385.0, 10871.0, 3049.0, 2792.0, 2457.0, 2031.0, 1960.0, 658.2, 549,1, 470.7, + 293.1, 278.5, 53.4, 50.7, 84.0, 58.0, 44.5, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 77 wa = [76111.0, 13419.0, 12824.0, 11215.0, 3174.0, 2909.0, 2551.0, 2116.0, 2040.0, 691.1, 577.8, 495.8, + 311.9, 296.3, 63.8, 60.8, 95.2, 63.0, 48.0, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 78 wa = [78395.0, 13880.0, 13273.0, 11564.0, 3296.0, 3027.0, 2645.0, 2202.0, 2122.0, 725.4, 609.1, 519.4, + 331.6, 314.6, 74.5, 71.2, 101.7, 65.3, 51.7, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 79 wa = [80725.0, 14353.0, 13734.0, 11919.0, 3425.0, 3148.0, 2743.0, 2291.0, 2206.0, 762.1, 642.7, 546.3, + 353.2, 335.1, 87.6, 84.0, 107.2, 74.2, 57.2, -1.0, -1.0, -1.0, -1.0, -1.0] + elseif Z == 80 wa = [83102.0, 14839.0, 14209.0, 12284.0, 3562.0, 3279.0, 2847.0, 2385.0, 2295.0, 802.2, 680.2, 576.6, + 378.2, 358.8, 104.0, 99.9, 127.0, 83.1, 64.5, 96.0, 7.8, -1.0, -1.0, -1.0] + elseif Z == 81 wa = [85530.0, 15347.0, 14698.0, 12658.0, 3704.0, 3416.0, 2957.0, 2485.0, 2389.0, 846.2, 720.5, 609.5, + 405.7, 385.0, 122.2, 117.8, 136.0, 94.6, 73.5, 14.7, 12.5, -1.0, -1.0, -1.0] + elseif Z == 82 wa = [88005.0, 15861.0, 15200.0, 13035.0, 3851.0, 3554.0, 3066.0, 2586.0, 2484.0, 891.8, 761.9, 643.5, + 434.3, 412.2, 141.7, 136.9, 147.0, 106.4, 83.3, 20.7, 18.1, -1.0, -1.0, -1.0] + elseif Z == 83 wa = [90524.0, 16388.0, 15711.0, 13419.0, 3999.0, 3696.0, 3177.0, 2688.0, 2580.0, 939.0, 805.2, 678.8, + 464.0, 440.1, 162.3, 157.0, 159.3, 119.0, 92.6, 26.9, 23.8, -1.0, -1.0, -1.0] + elseif Z == 84 wa = [93105.0, 16939.0, 16244.0, 13814.0, 4149.0, 3854.0, 3302.0, 2798.0, 2683.0, 995.0, 851.0, 705.0, + 500.0, 473.0, 184.0, 184.0, 177.0, 132.0, 104.0, 31.0, 31.0, -1.0, -1.0, -1.0] + elseif Z == 85 wa = [95730.0, 17493.0, 16785.0, 14214.0, 4317.0, 4008.0, 3426.0, 2909.0, 2787.0, 1042.0, 886.0, 740.0, + 533.0, 507.0, 210.0, 210.0, 195.0, 148.0, 115.0, 40.0, 40.0, -1.0, -1.0, -1.0] + elseif Z == 86 wa = [98404.0, 18049.0, 17337.0, 14619.0, 4482.0, 4159.0, 3538.0, 3022.0, 2892.0, 1097.0, 929.0, 768.0, + 567.0, 541.0, 238.0, 238.0, 214.0, 164.0, 127.0, 48.0, 48.0, 26.0, -1.0, -1.0] + elseif Z == 87 wa = [101137.0, 18639.0, 17907.0, 15031.0, 4652.0, 4327.0, 3663.0, 3136.0, 3000.0, 1153.0, 980.0, 810.0, + 603.0, 577.0, 268.0, 268.0, 234.0, 182.0, 140.0, 58.0, 58.0, 34.0, 15.0, 15.0] + elseif Z == 88 wa = [103922.0, 19237.0, 18484.0, 15444.0, 4822.0, 4490.0, 3792.0, 3248.0, 3105.0, 1208.0, 1058.0, 879.0, + 636.0, 603.0, 299.0, 299.0, 254.0, 200.0, 153.0, 68.0, 68.0, 44.0, 19.0, 19.0] + elseif Z == 89 wa = [106755.0, 19840.0, 19083.0, 15871.0, 5002.0, 4656.0, 3909.0, 3370.0, 3219.0, 1269.0, 1080.0, 890.0, + 675.0, 639.0, 319.0, 319.0, 272.0, 215.0, 167.0, 80.0, 80.0, -1.0, -1.0, -1.0] + elseif Z == 90 wa = [109651.0, 20472.0, 19693.0, 16300.0, 5182.0, 4830.0, 4046.0, 3491.0, 3332.0, 1330.0, 1168.0, 966.4, + 712.1, 675.2, 342.4, 333.1, 290.0, 229.0, 182.0, 92.5, 85.4, 41.4, 24.5, 16.6] + elseif Z == 91 wa = [112601.0, 21105.0, 20314.0, 16733.0, 5367.0, 5001.0, 4174.0, 3611.0, 3442.0, 1387.0, 1224.0, 1007.0, + 743.0, 708.0, 371.0, 360.0, 310.0, 232.0, 232.0, 94.0, 94.0, -1.0, -1.0, -1.0] + elseif Z == 92 wa = [115606.0, 21757.0, 20948.0, 17166.0, 5548.0, 5182.0, 4303.0, 3728.0, 3552.0, 1439.0, 1271.0, 1043.0, + 778.3, 736.2, 388.2, 377.4, 321.0, 257.0, 192.0, 102.8, 94.2, 43.9, 26.8, 16.8] + # + else error("Data not available for Z = $Z") + end + return( wa ) + end + end # module diff --git a/src/module-PhotoExcitation.jl b/src/module-PhotoExcitation.jl index 2515b87..383b530 100644 --- a/src/module-PhotoExcitation.jl +++ b/src/module-PhotoExcitation.jl @@ -184,7 +184,8 @@ module PhotoExcitation end end oscFactor = (Ji2 + 1) / (Jf2 + 1) / 2. * Defaults.getDefaults("speed of light: c")^3 / line.omega^2 - csFactor = 2 * pi^3 * Defaults.getDefaults("alpha") / (line.omega * (Ji2 + 1)) + ## oscFactor = oscFactor / (Jf2 + 1) ## Schippers (Oct. 2023) + csFactor = 2 * pi^3 * Defaults.getDefaults("alpha") / (line.omega * (Ji2 + 1)) ## / (Jf2 + 1) ## Schippers (Oct. 2023) oscStrength = EmProperty(oscFactor*oscCoulomb, oscFactor*oscBabushkin) crossSection = EmProperty(csFactor*csCoulomb, csFactor*csBabushkin) staTensor = TensorComp[] diff --git a/src/module-PhotoIonization.jl b/src/module-PhotoIonization.jl index 1805471..a75dbbb 100644 --- a/src/module-PhotoIonization.jl +++ b/src/module-PhotoIonization.jl @@ -294,7 +294,7 @@ module PhotoIonization end # Print all results to screen PhotoIonization.displayResults(stdout, newLines, settings) - PhotoIonization.displayTimeDelay(stdout, newLines, settings) + ## PhotoIonization.displayTimeDelay(stdout, newLines, settings) if printSummary PhotoIonization.displayResults(iostream, newLines, settings) end # if output return( newLines ) @@ -695,7 +695,7 @@ module PhotoIonization TableStrings.inUnits("cross section"); na=3) println(stream, sa); println(stream, sb); println(stream, " ", TableStrings.hLine(nx)) # - wx = 1.0 ## wx = 1.0 (Schippers, August'23; wx = 2.0) + wx = 1.0 ## wx = 1.0 (Schippers, August'23; wx = 2.0; wx = pi/2) for line in lines sa = ""; isym = LevelSymmetry( line.initialLevel.J, line.initialLevel.parity) fsym = LevelSymmetry( line.finalLevel.J, line.finalLevel.parity)