diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3f295bd7..d38d14f3 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -2,13 +2,12 @@ name: CI on: push: branches: - - main + - dev - develop tags: '*' - pull_request: + exclude: "log_sample_script.txt" + concurrency: - # Skip intermediate builds: always. - # Cancel intermediate builds: only if it is a pull request build. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: @@ -18,22 +17,73 @@ jobs: strategy: fail-fast: false matrix: - version: - - '1.7' - - 'nightly' - os: - - ubuntu-latest - arch: - - x64 + include: + - {version: '1.9', os: ubuntu-latest, payload: serial} + - {version: '1.9', os: macOS-latest, payload: serial} + - {version: '1.9', os: windows-latest, payload: serial} steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} - arch: ${{ matrix.arch }} + arch: x64 - uses: julia-actions/cache@v1 - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 + env: + JULIA_NUM_THREADS: 2 + if: ${{ matrix.payload == 'serial' }} + continue-on-error: ${{ matrix.version == 'nightly' }} + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - {version: '1.9', os: 'ubuntu-latest', payload: mpi} + mpi: [ 'openmpi' ] + name: mpi test + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: x64 + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - name: "Run mpi tests" + run: | + export JULIA_PROJECT=@. + export JULIA_MPIEXEC=mpiexecjl + export JULIA_NUM_THREADS=1 + julia --project -e 'ENV["JULIA_MPI_BINARY"]=""; using Pkg; Pkg.add("MPI"); Pkg.build("MPI"; verbose=true); using MPI; MPI.install_mpiexecjl()' + julia --project=@. -e "using InteractiveUtils; versioninfo(verbose=true)" + julia --project=@. -e "using Pkg; Pkg.instantiate(); Pkg.build()" + export PATH=$PATH:/home/runner/.julia/bin + mpiexecjl -n 4 julia --depwarn=yes --project=@. ./test/mpirun_test.jl + build2: + runs-on: 'ubuntu-latest' + strategy: + fail-fast: false + matrix: + include: + - {version: '1.9', os: 'ubuntu-latest'} + name: Run sample_script.jl + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: x64 + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - run: | + git_hash=$(git rev-parse --short "$GITHUB_SHA") + julia --project="@." -t 4 ./example/sample_script.jl > ./example/log_sample_script.txt + - name: commit changed logfile + uses: stefanzweifel/git-auto-commit-action@v4.2.0 + with: + commit_message: Update log_sample_script.txt docs: name: Documentation runs-on: ubuntu-latest @@ -41,7 +91,7 @@ jobs: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 with: - version: '1' + version: '1.9' - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-docdeploy@v1 env: @@ -53,3 +103,6 @@ jobs: using NuclearToolkit DocMeta.setdocmeta!(NuclearToolkit, :DocTestSetup, :(using NuclearToolkit); recursive=true) doctest(NuclearToolkit)' + + + diff --git a/.github/workflows/CI_pullrequest.yml b/.github/workflows/CI_pullrequest.yml new file mode 100644 index 00000000..34d7c897 --- /dev/null +++ b/.github/workflows/CI_pullrequest.yml @@ -0,0 +1,116 @@ +name: CI_PR +on: + pull_request: + branches: + - main + - develop + tags: '*' + exclude: "log_sample_script.txt" +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - {version: '1.9', os: ubuntu-latest, payload: serial} + - {version: '1.9', os: macOS-latest, payload: serial} + - {version: '1.9', os: windows-latest, payload: serial} + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: x64 + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + env: + JULIA_NUM_THREADS: 2 + if: ${{ matrix.payload == 'serial' }} + continue-on-error: ${{ matrix.version == 'nightly' }} + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - {version: '1.9', os: ubuntu-latest, payload: mpi} + mpi: [ 'openmpi' ] + name: mpi test + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: x64 + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - name: "Run mpi tests" + run: | + export JULIA_PROJECT=@. + export JULIA_MPIEXEC=mpiexecjl + export JULIA_NUM_THREADS=1 + julia --project -e 'ENV["JULIA_MPI_BINARY"]=""; using Pkg; Pkg.add("MPI"); Pkg.build("MPI"; verbose=true); using MPI; MPI.install_mpiexecjl()' + julia --project=@. -e "using InteractiveUtils; versioninfo(verbose=true)" + julia --project=@. -e "using Pkg; Pkg.instantiate(); Pkg.build()" + export PATH=$PATH:/home/runner/.julia/bin + mpiexecjl -n 4 julia --depwarn=yes --project=@. ./test/mpirun_test.jl + + # build2: + # runs-on: ubuntu-latest + # strategy: + # fail-fast: false + # matrix: + # include: + # - {version: '1.8', os: ubuntu-latest} + # name: Run sample_script.jl + # steps: + # - uses: actions/checkout@v2 + # with: + # fetch-depth: 0 + # - uses: julia-actions/setup-julia@v1 + # with: + # version: ${{ matrix.version }} + # arch: x64 + # - uses: julia-actions/cache@v1 + # - uses: julia-actions/julia-buildpkg@v1 + # - run: | + # git_hash=$(git rev-parse --short "$GITHUB_SHA") + # echo git_hash $git_hash + # echo running on branch ${GITHUB_REF##*/} + # echo git_hash:[$git_hash] > ./example/log_sample_script.txt + # julia --project="@." -t 4 ./example/sample_script.jl >> ./example/log_sample_script.txt + # git add example/log_sample_script.txt + # - name: commit changed logfile + # uses: stefanzweifel/git-auto-commit-action@v4.2.0 + # with: + # commit_message: Update log_sample_script.txt + docs: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1.9' + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-docdeploy@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + - run: | + julia --project=docs -e ' + using Documenter: DocMeta, doctest + using NuclearToolkit + DocMeta.setdocmeta!(NuclearToolkit, :DocTestSetup, :(using NuclearToolkit); recursive=true) + doctest(NuclearToolkit)' + + + diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 00000000..8c833634 --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -0,0 +1,26 @@ +on: + push: + paths: + - "paper/*" + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: paper/paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: paper/paper.pdf \ No newline at end of file diff --git a/.gitignore b/.gitignore index 057e6557..15aeed65 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ docs/.DS_Store *.snt.bin /snts /flowOmega +logfile.dat +*/logfile.dat + diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 00000000..a6df5fef --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,619 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.9.0" +manifest_format = "2.0" +project_hash = "dd7b4a4d19c7b70a09e31975bfcbbdc16981125d" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.6.1" + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + + [deps.Adapt.weakdeps] + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.ArgCheck]] +git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" +uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" +version = "2.3.0" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AssociatedLegendrePolynomials]] +git-tree-sha1 = "3204d769e06c5678b23cf928d850f2f4ad5ec8a5" +uuid = "2119f1ac-fb78-50f5-8cc0-dda848ebdb19" +version = "1.0.1" + +[[deps.BangBang]] +deps = ["Compat", "ConstructionBase", "Future", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables", "ZygoteRules"] +git-tree-sha1 = "7fe6d92c4f281cf4ca6f2fba0ce7b299742da7ca" +uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" +version = "0.3.37" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.Baselet]] +git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e" +uuid = "9718e550-a3fa-408a-8086-8db961cd8217" +version = "0.1.1" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "e7ff6cadf743c098e08fca25c91103ee4303c9bb" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.15.6" + +[[deps.ChangesOfVariables]] +deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +git-tree-sha1 = "38f7a08f19d8810338d4f5085211c7dfa5d5bdd8" +uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" +version = "0.1.4" + +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + +[[deps.Compat]] +deps = ["Dates", "LinearAlgebra", "UUIDs"] +git-tree-sha1 = "00a2cccc7f098ff3b66806862d275ca3db9e6e5a" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.5.0" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.2+0" + +[[deps.CompositionsBase]] +git-tree-sha1 = "455419f7e328a1a2493cabc6428d79e951349769" +uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" +version = "0.1.1" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "89a9db8d28102b094992472d333674bd1a83ce2a" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.1" + + [deps.ConstructionBase.extensions] + IntervalSetsExt = "IntervalSets" + StaticArraysExt = "StaticArrays" + + [deps.ConstructionBase.weakdeps] + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.ContextVariablesX]] +deps = ["Compat", "Logging", "UUIDs"] +git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc" +uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5" +version = "0.1.3" + +[[deps.DataAPI]] +git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.14.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.13" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DefineSingletons]] +git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c" +uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52" +version = "0.1.2" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.ExprTools]] +git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.8" + +[[deps.FLoops]] +deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"] +git-tree-sha1 = "ffb97765602e3cbe59a0589d237bf07f245a8576" +uuid = "cc61a311-1640-44b5-9fba-1b764f453329" +version = "0.2.1" + +[[deps.FLoopsBase]] +deps = ["ContextVariablesX"] +git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7" +uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6" +version = "0.1.1" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.1.5" + +[[deps.Glob]] +git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.0" + +[[deps.HDF5]] +deps = ["Compat", "HDF5_jll", "Libdl", "Mmap", "Random", "Requires", "UUIDs"] +git-tree-sha1 = "c73fdc3d9da7700691848b78c61841274076932a" +uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +version = "0.16.15" + +[[deps.HDF5_jll]] +deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "4cc2bb72df6ff40b055295fdef6d92955f9dede8" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.12.2+2" + +[[deps.HalfIntegers]] +git-tree-sha1 = "00db638039558e6396b93e2702862d6a884ac50e" +uuid = "f0d1745a-41c9-11e9-1dd9-e5d34d218721" +version = "1.4.3" + +[[deps.InitialValues]] +git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" +uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" +version = "0.3.1" + +[[deps.IntegerMathUtils]] +git-tree-sha1 = "f366daebdfb079fd1fe4e3d560f99a0c892e15bc" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.0" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.InverseFunctions]] +deps = ["Test"] +git-tree-sha1 = "49510dfcb407e572524ba94aeae2fced1f3feb0f" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.8" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.1.1" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.1" + +[[deps.JuliaVariables]] +deps = ["MLStyle", "NameResolution"] +git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" +uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" +version = "0.2.4" + +[[deps.KrylovKit]] +deps = ["ChainRulesCore", "GPUArraysCore", "LinearAlgebra", "Printf"] +git-tree-sha1 = "1a5e1d9941c783b0119897d29f2eb665d876ecf3" +uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" +version = "0.6.0" + +[[deps.LRUCache]] +git-tree-sha1 = "d862633ef6097461037a00a13f709a62ae4bdfdd" +uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" +version = "1.4.0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.LatinHypercubeSampling]] +deps = ["Random", "StableRNGs", "StatsBase", "Test"] +git-tree-sha1 = "42938ab65e9ed3c3029a8d2c58382ca75bdab243" +uuid = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d" +version = "1.8.0" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "946607f84feb96220f480e0422d3484c49c00239" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.19" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.MKL]] +deps = ["Artifacts", "Libdl", "LinearAlgebra", "MKL_jll"] +git-tree-sha1 = "100521a1d2181cb39036ee1a6955d6b9686bb363" +uuid = "33e6dc65-8f57-5167-99aa-e5a354878fb2" +version = "0.6.1" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + +[[deps.MLStyle]] +git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" +uuid = "d8e11817-5142-5d16-987a-aa16d5891078" +version = "0.4.17" + +[[deps.MPI]] +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "3bb087eb4322bd73db110722f97624f3f2edb047" +uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" +version = "0.20.7" + +[[deps.MPICH_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "6d4fa43afab4611d090b11617ecea1a144b21d35" +uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" +version = "4.0.2+5" + +[[deps.MPIPreferences]] +deps = ["Libdl", "Preferences"] +git-tree-sha1 = "71f937129731a29eabe6969db2c90368a4408933" +uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +version = "0.1.7" + +[[deps.MPItrampoline_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "b3f9e42685b4ad614eca0b44bd863cd41b1c86ea" +uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" +version = "5.0.2+1" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.10" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+0" + +[[deps.MicroCollections]] +deps = ["BangBang", "InitialValues", "Setfield"] +git-tree-sha1 = "629afd7d10dbc6935ec59b32daeb33bc4460a42e" +uuid = "128add7d-3638-4c79-886c-908ea0c25c34" +version = "0.1.4" + +[[deps.MicrosoftMPI_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "a16aa086d335ed7e0170c5265247db29172af2f9" +uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" +version = "10.1.3+2" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" + +[[deps.NameResolution]] +deps = ["PrettyPrint"] +git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" +uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" +version = "0.1.5" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.21+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenMPI_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "346d6b357a480300ed7854dbc70e746ac52e10fd" +uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" +version = "4.1.3+3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1aa4b74f80b01c6bc2b89992b861b5f210e665b5" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.21+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.4.1" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.0" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.3.0" + +[[deps.PrettyPrint]] +git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4" +uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" +version = "0.2.0" + +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "311a2aa90a64076ea0fac2ad7492e914e6feeb81" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RationalRoots]] +git-tree-sha1 = "52315cf3098691c1416a356925027af5ab5bf548" +uuid = "308eb6b3-cc68-5ff3-9e97-c3c4da4fa681" +version = "0.2.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.1.0" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "d75bda01f8c31ebb72df80a46c88b25d1c79c56d" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.1.7" + +[[deps.SplittablesBase]] +deps = ["Setfield", "Test"] +git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5" +uuid = "171d559e-b47b-412a-8079-5efa626c420e" +version = "0.1.15" + +[[deps.StableRNGs]] +deps = ["Random", "Test"] +git-tree-sha1 = "3be7d49667040add7ee151fefaf1f8c04c8c8276" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.0" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.0" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f9af7f195fb13589dd2e2d57fdb401717d2eb1f6" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.5.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.21" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] +git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.10.1" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TimerOutputs]] +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "f2fd3f288dfc6f507b0c3a2eb3bac009251e548b" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.22" + +[[deps.Transducers]] +deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] +git-tree-sha1 = "c42fa452a60f022e9e087823b47e5a5f8adc53d5" +uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" +version = "0.4.75" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.WignerSymbols]] +deps = ["HalfIntegers", "LRUCache", "Primes", "RationalRoots"] +git-tree-sha1 = "960e5f708871c1d9a28a7f1dbcaf4e0ee34ee960" +uuid = "9f57e263-0b3d-5e2e-b1be-24f2bb48858b" +version = "2.0.0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" + +[[deps.ZygoteRules]] +deps = ["MacroTools"] +git-tree-sha1 = "8c1a8e4dfacb1fd631745552c8db35d0deb09ea0" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.2" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.7.0+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" diff --git a/Project.toml b/Project.toml index 4d6f609d..cab4b49c 100644 --- a/Project.toml +++ b/Project.toml @@ -1,14 +1,19 @@ name = "NuclearToolkit" uuid = "89bb3bae-bcec-43ae-87b7-9dd181dc6334" authors = ["SotaYoshida and contributors"] -version = "0.1.1" +version = "0.3.5" [deps] +AssociatedLegendrePolynomials = "2119f1ac-fb78-50f5-8cc0-dda848ebdb19" Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +FLoops = "cc61a311-1640-44b5-9fba-1b764f453329" Glob = "c27321d9-0574-5035-807b-f59d2c89b15c" +HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" LatinHypercubeSampling = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +MKL = "33e6dc65-8f57-5167-99aa-e5a354878fb2" MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" @@ -19,13 +24,18 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" WignerSymbols = "9f57e263-0b3d-5e2e-b1be-24f2bb48858b" [compat] +AssociatedLegendrePolynomials = "1" Combinatorics = "1" +FLoops = "0.2" Glob = "1" +HDF5 = "0.16" +KrylovKit = "0.6" LaTeXStrings = "1" LatinHypercubeSampling = "1.8" +MKL = "0.6" MPI = "0.19, 0.20" SpecialFunctions = "1.8, 2" -StatsBase = "0.33" +StatsBase = "0.33, 0.34" TimerOutputs = "0.5" WignerSymbols = "1.1, 2" -julia = "1.7" +julia = "1.8" diff --git a/README.md b/README.md index 859d94cb..84a34c1d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # NuclearToolkit.jl +[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://SotaYoshida.github.io/NuclearToolkit.jl/stable) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://SotaYoshida.github.io/NuclearToolkit.jl/dev) [![Build Status](https://github.com/SotaYoshida/NuclearToolkit.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/SotaYoshida/NuclearToolkit.jl/actions/workflows/CI.yml?query=branch%3Amain) - +[![DOI](https://joss.theoj.org/papers/10.21105/joss.04694/status.svg)](https://doi.org/10.21105/joss.04694) @@ -10,6 +11,10 @@ Julia package for nuclear structure calculations covering: - generating Chiral EFT interactions - many-body calculations (HFMBPT, IMSRG/VS-IMSRG, valence shell-model, etc.) + +Note: Of course, 'for structural calculations' simply means that the author (SY) is not familiar with reaction theories. +Contributions and suggestions from reaction theory and experimental researchers are very welcome. Thanks. + ## Installation Assuming that you have already installed Julia (v>=1.7.0), @@ -22,18 +27,27 @@ When working on a working node (w/o permissions to access ```~/```), overwrite t ## How to START -Execute `sample_script.jl` like +Execute `example/sample_script.jl` like ``` -julia -t 10 sample_script.jl +julia -t 10 example/sample_script.jl ``` -This sample script performs +This sample script performs: - generating NN potential with hw=20, emax=4 - HFMBPT(3) and IMSRG/VS-IMSRG calculation using the NN potential - shell-model calculation using the effective interaction derived by VS-IMSRG ## How to cite -When you use `NuclearToolkit.jl` in your work, please cite: - -(For now) [arXiv:2208.02464](https://arxiv.org/abs/2208.02464) +When you use `NuclearToolkit.jl` in your work, please cite the JOSS paper:https://doi.org/10.21105/joss.04694 +``` +@article{Yoshida2022, +doi = {10.21105/joss.04694}, +url = {https://doi.org/10.21105/joss.04694}, +year = {2022}, +publisher = {The Open Journal}, +volume = {7}, number = {79}, pages = {4694}, +author = {Sota Yoshida}, +title = {NuclearToolkit.jl: A Julia package for nuclear structure calculations}, +journal = {Journal of Open Source Software} } +``` \ No newline at end of file diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 28345dc9..496ad3b9 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1,14 +1,36 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.0" +julia_version = "1.9.0" manifest_format = "2.0" -project_hash = "890123780b214903826fcd05197d725b9675b02e" +project_hash = "6f8690925d80085ca63ebd447c9c6fabe7e3acde" [[deps.ANSIColoredPrinters]] git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" version = "0.0.1" +[[deps.AbstractTrees]] +git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.4" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "02f731463748db57cc2ebfbd9fbc9ce8280d3433" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.7.1" + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + + [deps.Adapt.weakdeps] + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.ArgCheck]] +git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" +uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" +version = "2.3.0" + [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" @@ -16,20 +38,48 @@ version = "1.1.1" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +[[deps.AssociatedLegendrePolynomials]] +git-tree-sha1 = "3204d769e06c5678b23cf928d850f2f4ad5ec8a5" +uuid = "2119f1ac-fb78-50f5-8cc0-dda848ebdb19" +version = "1.0.1" + +[[deps.BangBang]] +deps = ["Compat", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables"] +git-tree-sha1 = "e28912ce94077686443433c2800104b061a827ed" +uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" +version = "0.3.39" + + [deps.BangBang.extensions] + BangBangChainRulesCoreExt = "ChainRulesCore" + BangBangDataFramesExt = "DataFrames" + BangBangStaticArraysExt = "StaticArrays" + BangBangStructArraysExt = "StructArrays" + BangBangTypedTablesExt = "TypedTables" + + [deps.BangBang.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" + TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" + [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.Baselet]] +git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e" +uuid = "9718e550-a3fa-408a-8086-8db961cd8217" +version = "0.1.1" + [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "80ca332f6dcb2508adba68f22f551adb2d00a624" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "e0af648f0692ec1691b5d094b8724ba1346281cf" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.15.3" +version = "1.18.0" +weakdeps = ["SparseArrays"] -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "38f7a08f19d8810338d4f5085211c7dfa5d5bdd8" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.4" + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.Combinatorics]] git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" @@ -37,46 +87,91 @@ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.0.2" [[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "5856d3031cdb1f3b2b6340dfdc66b6d9a149a374" +deps = ["UUIDs"] +git-tree-sha1 = "8a62af3e248a8c4bad6b32cbbe663ae02275e32c" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.2.0" +version = "4.10.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "0.5.2+0" +version = "1.0.2+0" + +[[deps.CompositionsBase]] +git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" +uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" +version = "0.1.2" + + [deps.CompositionsBase.extensions] + CompositionsBaseInverseFunctionsExt = "InverseFunctions" + + [deps.CompositionsBase.weakdeps] + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.4" + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + + [deps.ConstructionBase.weakdeps] + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.ContextVariablesX]] +deps = ["Compat", "Logging", "UUIDs"] +git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc" +uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5" +version = "0.1.3" [[deps.DataAPI]] -git-tree-sha1 = "fb5f5316dd3fd4c5e7c30a24d50643b73e37cd40" +git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.10.0" +version = "1.15.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.13" +version = "0.18.15" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DefineSingletons]] +git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c" +uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52" +version = "0.1.2" + [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.DocStringExtensions]] deps = ["LibGit2"] -git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.6" +version = "0.9.3" [[deps.Documenter]] -deps = ["ANSIColoredPrinters", "Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] -git-tree-sha1 = "122d031e8dcb2d3e767ed434bc4d1ae1788b5a7f" +deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "Dates", "DocStringExtensions", "Downloads", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "Test", "Unicode"] +git-tree-sha1 = "662fb21ae7fad33e044c2b59ece832fdce32c171" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "0.27.17" +version = "1.1.2" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] @@ -84,65 +179,133 @@ uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" [[deps.ExprTools]] -git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.8" +version = "0.1.10" + +[[deps.FLoops]] +deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"] +git-tree-sha1 = "ffb97765602e3cbe59a0589d237bf07f245a8576" +uuid = "cc61a311-1640-44b5-9fba-1b764f453329" +version = "0.2.1" + +[[deps.FLoopsBase]] +deps = ["ContextVariablesX"] +git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7" +uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6" +version = "0.1.1" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.1.5" + [[deps.Glob]] -git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" -version = "1.3.0" +version = "1.3.1" + +[[deps.HDF5]] +deps = ["Compat", "HDF5_jll", "Libdl", "Mmap", "Printf", "Random", "Requires", "UUIDs"] +git-tree-sha1 = "114e20044677badbc631ee6fdc80a67920561a29" +uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +version = "0.16.16" + +[[deps.HDF5_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] +git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.14.2+1" [[deps.HalfIntegers]] -git-tree-sha1 = "00db638039558e6396b93e2702862d6a884ac50e" +git-tree-sha1 = "1cfb497b72e1e8ab2256334dee1aaad43fa279ad" uuid = "f0d1745a-41c9-11e9-1dd9-e5d34d218721" -version = "1.4.3" +version = "1.5.1" + +[[deps.Hwloc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8ecb0b34472a3c98f945e3c75fc7d5428d165511" +uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" +version = "2.9.3+0" [[deps.IOCapture]] deps = ["Logging", "Random"] -git-tree-sha1 = "f7be53659ab06ddc986428d3a9dcc95f6fa6705a" +git-tree-sha1 = "d75853a0bdbfb1ac815478bacd89cd27b550ace6" uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.2" +version = "0.2.3" + +[[deps.InitialValues]] +git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" +uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" +version = "0.3.1" [[deps.IntegerMathUtils]] -git-tree-sha1 = "f366daebdfb079fd1fe4e3d560f99a0c892e15bc" +git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.0" +version = "0.1.2" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "b3364212fb5d870f724876ffcd34dd8ec6d98918" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.7" - [[deps.IrrationalConstants]] -git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.1.1" +version = "0.2.2" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" [[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" +version = "1.5.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.3" +version = "0.21.4" + +[[deps.JuliaVariables]] +deps = ["MLStyle", "NameResolution"] +git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" +uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" +version = "0.2.4" + +[[deps.KrylovKit]] +deps = ["ChainRulesCore", "GPUArraysCore", "LinearAlgebra", "Printf"] +git-tree-sha1 = "1a5e1d9941c783b0119897d29f2eb665d876ecf3" +uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" +version = "0.6.0" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" [[deps.LRUCache]] -git-tree-sha1 = "d64a0aff6691612ab9fb0117b0995270871c5dfc" +git-tree-sha1 = "d36130483e3b6e4cd88d81633b596563264f15db" uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" -version = "1.3.0" +version = "1.5.0" [[deps.LaTeXStrings]] git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" @@ -151,9 +314,14 @@ version = "1.3.0" [[deps.LatinHypercubeSampling]] deps = ["Random", "StableRNGs", "StatsBase", "Test"] -git-tree-sha1 = "42938ab65e9ed3c3029a8d2c58382ca75bdab243" +git-tree-sha1 = "825289d43c753c7f1bf9bed334c253e9913997f8" uuid = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d" -version = "1.8.0" +version = "1.9.0" + +[[deps.LazilyInitializedFields]] +git-tree-sha1 = "410fe4739a4b092f2ffe36fcb0dcc3ab12648ce1" +uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" +version = "1.2.1" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -182,78 +350,143 @@ version = "1.10.2+0" uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "94d9c52ca447e23eac0c0f074effbcd38830deb5" +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.18" +version = "0.3.26" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.MKL]] +deps = ["Artifacts", "Libdl", "LinearAlgebra", "MKL_jll"] +git-tree-sha1 = "100521a1d2181cb39036ee1a6955d6b9686bb363" +uuid = "33e6dc65-8f57-5167-99aa-e5a354878fb2" +version = "0.6.1" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + +[[deps.MLStyle]] +git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" +uuid = "d8e11817-5142-5d16-987a-aa16d5891078" +version = "0.4.17" + [[deps.MPI]] -deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "Pkg", "Random", "Requires", "Serialization", "Sockets"] -git-tree-sha1 = "d56a80d8cf8b9dc3050116346b3d83432b1912c0" +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "b4d8707e42b693720b54f0b3434abee6dd4d947a" uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" -version = "0.19.2" +version = "0.20.16" + + [deps.MPI.extensions] + AMDGPUExt = "AMDGPU" + CUDAExt = "CUDA" + + [deps.MPI.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" [[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] -git-tree-sha1 = "089ec72dbf7d7a853626f438d140d0a642ddbda4" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.0.2+4" +version = "4.1.2+0" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] -git-tree-sha1 = "49f10d34284610c125421c7a4e6f913e4bc00897" +git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.3" +version = "0.1.9" + +[[deps.MPItrampoline_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" +uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" +version = "5.3.1+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.11" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +[[deps.MarkdownAST]] +deps = ["AbstractTrees", "Markdown"] +git-tree-sha1 = "465a70f0fc7d443a00dcdc3267a497397b8a3899" +uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" +version = "0.1.2" + [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" +version = "2.28.2+0" + +[[deps.MicroCollections]] +deps = ["BangBang", "InitialValues", "Setfield"] +git-tree-sha1 = "629afd7d10dbc6935ec59b32daeb33bc4460a42e" +uuid = "128add7d-3638-4c79-886c-908ea0c25c34" +version = "0.1.4" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a16aa086d335ed7e0170c5265247db29172af2f9" +git-tree-sha1 = "a7023883872e52bc29bcaac74f19adf39347d2d5" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.3+2" +version = "10.1.4+0" [[deps.Missings]] deps = ["DataAPI"] -git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.0.2" +version = "1.1.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" +version = "2022.10.11" + +[[deps.NameResolution]] +deps = ["PrettyPrint"] +git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" +uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" +version = "0.1.5" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.NuclearToolkit]] -deps = ["Combinatorics", "Glob", "LaTeXStrings", "LatinHypercubeSampling", "LinearAlgebra", "MPI", "Printf", "Random", "SpecialFunctions", "Statistics", "StatsBase", "TimerOutputs", "WignerSymbols"] +deps = ["AssociatedLegendrePolynomials", "Combinatorics", "FLoops", "Glob", "HDF5", "KrylovKit", "LaTeXStrings", "LatinHypercubeSampling", "LinearAlgebra", "MKL", "MPI", "Printf", "Random", "SpecialFunctions", "Statistics", "StatsBase", "TimerOutputs", "WignerSymbols"] path = ".." uuid = "89bb3bae-bcec-43ae-87b7-9dd181dc6334" -version = "0.1.1" +version = "0.3.5" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" +version = "0.3.21+4" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] @@ -261,10 +494,16 @@ uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+0" [[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] -git-tree-sha1 = "f603a060218ca6818055be3608d4969e937d81bb" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "PMIx_jll", "TOML", "Zlib_jll", "libevent_jll", "prrte_jll"] +git-tree-sha1 = "694458ae803b684f09c07f90459cb79655fb377d" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.3+2" +version = "5.0.0+0" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.12+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -273,32 +512,55 @@ uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" [[deps.OrderedCollections]] -git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.4.1" +version = "1.6.2" + +[[deps.PMIx_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libevent_jll"] +git-tree-sha1 = "8b3b19351fa24791f94d7ae85faf845ca1362541" +uuid = "32165bc3-0280-59bc-8c0b-c33b6203efab" +version = "4.2.7+0" [[deps.Parsers]] -deps = ["Dates"] -git-tree-sha1 = "1285416549ccfcdf0c50d4997a94331e88d68413" +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.3.1" +version = "2.7.2" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" +version = "1.9.0" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.0" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" +git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" +version = "1.4.1" + +[[deps.PrettyPrint]] +git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4" +uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" +version = "0.2.0" [[deps.Primes]] deps = ["IntegerMathUtils"] -git-tree-sha1 = "311a2aa90a64076ea0fac2ad7492e914e6feeb81" +git-tree-sha1 = "4c9f306e5d6603ae203c2000dd460d81a5251489" uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.3" +version = "0.5.4" [[deps.Printf]] deps = ["Unicode"] @@ -317,6 +579,12 @@ git-tree-sha1 = "52315cf3098691c1416a356925027af5ab5bf548" uuid = "308eb6b3-cc68-5ff3-9e97-c3c4da4fa681" version = "0.2.0" +[[deps.RegistryInstances]] +deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] +git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" +uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" +version = "0.1.0" + [[deps.Requires]] deps = ["UUIDs"] git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" @@ -330,24 +598,40 @@ version = "0.7.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" +git-tree-sha1 = "5165dfb9fd131cf0c6957a3a7605dede376e7b63" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.0.1" +version = "1.2.0" [[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "d75bda01f8c31ebb72df80a46c88b25d1c79c56d" +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.1.7" +version = "2.3.1" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.SplittablesBase]] +deps = ["Setfield", "Test"] +git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5" +uuid = "171d559e-b47b-412a-8079-5efa626c420e" +version = "0.1.15" [[deps.StableRNGs]] deps = ["Random", "Test"] @@ -355,26 +639,49 @@ git-tree-sha1 = "3be7d49667040add7ee151fefaf1f8c04c8c8276" uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" version = "1.0.0" +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] -git-tree-sha1 = "f9af7f195fb13589dd2e2d57fdb401717d2eb1f6" +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.5.0" +version = "1.7.0" [[deps.StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +git-tree-sha1 = "1d77abd07f617c4868c33d4f5b9e1dbb2643c9cf" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" +version = "0.34.2" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -387,9 +694,29 @@ uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "9dfcb767e17b0849d6aaf85997c98a5aea292513" +git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.21" +version = "0.5.23" + +[[deps.Transducers]] +deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] +git-tree-sha1 = "53bd5978b182fa7c57577bdb452c35e5b4fb73a5" +uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" +version = "0.4.78" + + [deps.Transducers.extensions] + TransducersBlockArraysExt = "BlockArrays" + TransducersDataFramesExt = "DataFrames" + TransducersLazyArraysExt = "LazyArrays" + TransducersOnlineStatsBaseExt = "OnlineStatsBase" + TransducersReferenceablesExt = "Referenceables" + + [deps.Transducers.weakdeps] + BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02" + OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338" + Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -407,12 +734,24 @@ version = "2.0.0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" +version = "1.2.13+0" + +[[deps.libaec_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "eddd19a8dea6b139ea97bdc8a0e2667d4b661720" +uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" +version = "1.0.6+1" [[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" +version = "5.7.0+0" + +[[deps.libevent_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll"] +git-tree-sha1 = "7dcec01ff5bf9c2febffaa7ec00d3199172ade8b" +uuid = "1080aeaf-3a6a-583e-a51c-c537b09f60ec" +version = "2.1.13+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] @@ -423,3 +762,9 @@ version = "1.48.0+0" deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+0" + +[[deps.prrte_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "PMIx_jll", "libevent_jll"] +git-tree-sha1 = "5adb2d7a18a30280feb66cad6f1a1dfdca2dc7b0" +uuid = "eb928a42-fffd-568d-ab9c-3f5d54fc65b9" +version = "3.0.2+0" diff --git a/docs/make.jl b/docs/make.jl index 2c28655f..e43d4b84 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -9,6 +9,7 @@ makedocs(; authors="SotaYoshida ", repo="https://github.com/SotaYoshida/NuclearToolkit.jl/blob/{commit}{path}#{line}", sitename="NuclearToolkit.jl", + checkdocs=:none, format=Documenter.HTML(; prettyurls=get(ENV, "CI", "false") == "true", canonical="https://SotaYoshida.github.io/NuclearToolkit.jl", @@ -19,6 +20,7 @@ makedocs(; "HowToUse" => "howtouse.md", "FileFormat" => "fileformat.md", "Optional parameters" => "parameters.md", + "Contributing to NuclearToolkit" => "contributing.md", "References" => ["ChiEFTint" => "ChiEFTint.md","HartreeFock" => "HartreeFock.md","IMSRG" => "IMSRG.md","ShellModel" => "ShellModel.md"] ], ) diff --git a/docs/src/ChiEFTint.md b/docs/src/ChiEFTint.md index e3e1ab66..8650f001 100644 --- a/docs/src/ChiEFTint.md +++ b/docs/src/ChiEFTint.md @@ -2,9 +2,7 @@ Functions needed to generate nucleon-nucleon (NN) potential from Chiral EFT. -The parameters needed for chiEFTint are specified in `optional_parameters.jl`. -If one specifies the potential type in `optional_paramters.jl`, the corresponding `LECs_XX.jl` will be read (if possible). -Otherwise, one runs with the so-called Entem Machleidt N3LO potential. +The parameters needed for chiEFTint are specified through `optional_parameters.jl` or the optional argument `fn_params=[PATH_TO_FILE]` in main API, `make_chiEFTint()`. ```@autodocs Modules = [NuclearToolkit] @@ -14,9 +12,11 @@ Pages = ["chiEFTint/main_chiEFTint.jl", "chiEFTint/angmom_algebra.jl", "chiEFTint/misc_plt_io.jl", "chiEFTint/threebodyforce.jl", - "chiEFTint/bayesopt.jl", + "chiEFTint/calibration.jl", + "chiEFTint/renorm.jl", "chiEFTint/valence.jl", "chiEFTint/eff3nf.jl", + "chiEFTint/dict_LECs.jl" ] ``` diff --git a/docs/src/HartreeFock.md b/docs/src/HartreeFock.md index 2c4c0b8c..250307a1 100644 --- a/docs/src/HartreeFock.md +++ b/docs/src/HartreeFock.md @@ -1,6 +1,6 @@ # Hartreefock -Functions for Hartree-Fock calculations. +Files in `src/hartreefock.jl` for Hartree-Fock calculations. - [def_struct.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/hartreefock.jl/def_struct.jl): define struct/mutable struct - [hf_mbpt.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/hartreefock.jl/hf_mbpt.jl): calculate HFMBPT energy correction diff --git a/docs/src/IMSRG.md b/docs/src/IMSRG.md index 4fe2d3a1..e1f8522b 100644 --- a/docs/src/IMSRG.md +++ b/docs/src/IMSRG.md @@ -1,11 +1,36 @@ # IMSRG -Functions for IM-SRG calculations +Files in `src/IMSRG.jl` for IM-SRG calculations: - [imsrg_util.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/IMSRG.jl/imsrg_util.jl): contains main and util functions - [commutator.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/IMSRG.jl/commutator.jl): functions to calculate commutators and BCH transform to carry out IMSRG flow with Magnus expansion - [valencespace.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/IMSRG.jl/valencespace.jl): functions for Valence-space IM-SRG (VS-IMSRG) calculations to derive shell-model effective interactions/operators + +Since we use the so-called Magnus formulation of IMSRG flow, $\Omega$ + +```math +H(s) = e^{\Omega(s)}H(0)e^{-\Omega(s)} \\\\ +e^{\Omega(s+ds)} = e^{\eta(s)ds}e^{\Omega(s)} +``` +is needed to explicitly calculate the flow generator ``\eta``. +See e.g. [Annual Review of Nuclear and Particle Science 69, 307-362](https://doi.org/10.1146/annurev-nucl-101917-021120) for more details. + +In the package, temporary binary files for ``\Omega`` are genereted in `flowOmega` directory (which will be made if not available). +Although users do not need to read or write these binary files in normal use, the contents of the binary files are described for specific uses and development, e.g. re-start IMSRG flow from the temporary files. + +A temporary file is generated like `flowOmega/Omega_1234He4_1.bin`. +This contains +- number of single particle basis (`Int64`), which is assumbed to be common between proton and neutron. +- One-body matrix element for protons and neutrons (`Matrix{Float64}`) +- number of two-body channels (`Int64`) +- dimensions of each channel (`Vector{Int64}`) +- Two-body matrix element for protons and neutrons (`Vector{Matrix{Float64}}`) + +Note that the all matrix elements are written in row-major order (I know Julia is column-major language). + +--- + ```@autodocs Modules = [NuclearToolkit] Pages = ["IMSRG.jl/commutator.jl", diff --git a/docs/src/ShellModel.md b/docs/src/ShellModel.md index cefc172c..5958bcaa 100644 --- a/docs/src/ShellModel.md +++ b/docs/src/ShellModel.md @@ -6,7 +6,8 @@ Functions for shell-model calculations - [transit.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/ShellModel/transit.jl): EM transitions - [input_int_snt.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/ShellModel/input_int_snt.jl): I/O stuffs - [eigenvector_continuation.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/ShellModel/eigenvector_continuation.jl): eigenvector continuation to sample and construct shell-model wavefunctions - +- [KSHELL.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/ShellModel/KSHELL.jl): dealing with KSHELL outputs +- [betadecay.jl](https://github.com/SotaYoshida/NuclearToolkit.jl/tree/main/src/ShellModel/betadecay.jl): evaluate beta-decay properties using KSHELL log/summary ```@autodocs Modules = [NuclearToolkit] @@ -14,6 +15,7 @@ Pages = ["ShellModel/shellmodel_main.jl", "ShellModel/lanczos_methods.jl", "ShellModel/transit.jl", "ShellModel/input_int_snt.jl", - "ShellModel/eigenvector_continuation.jl"] - + "ShellModel/eigenvector_continuation.jl", + "ShellModel/KSHELL.jl", + "ShellModel/betadecay.jl"] ``` diff --git a/docs/src/contributing.md b/docs/src/contributing.md new file mode 100644 index 00000000..e69d7911 --- /dev/null +++ b/docs/src/contributing.md @@ -0,0 +1,100 @@ +# Contributing to NuclearToolkit.jl + +Thank you for considering contributing to this package. + +Feedbacks and contributions to NuclearToolkit.jl are very welcome. +These can be: +- bug report +- submitting a new function or a patch to the bug +- documentation issue +- feature request +- etc. + +For these contributions, it would be nice to let you know a basic policy (the workflow of code development and LICENSE, shown below) in this package. +Note that the package has been developed by a single author (@SotaYoshida) so far, and thereby the followings are just the author's policy. Comments on the development policy itself are also welcome. + + +## Workfklow of code development + +We use the GitHub to host the package, to track issues/pull requests. + +The document is built using [Documenter.jl](https://juliadocs.github.io/Documenter.jl/stable/), +which is a package for building documentation from docstrings and markdown files. +It is automized to build and deploy the document using GitHub Actions. + +A typical workfklow of code development is the following: + +1. clone or folk the repository and modify the code and/or document locally + +2. propose modifications through a pull request (PR) to **`develop` branch** + +3. if the PR passes the automated tests, it will be merged + +4. At some point, we tag and release, which is done automatically by instructing the JuliaRegistrator bot to do so. + + +### Automated tests on GitHub Actions + +We use GitHub Actions to run the test codes and to build/deploy the document. +When some changes are submitted through a pull request, the test codes are run to check that the changes are not destructive. + +The test jobs are specified in yml files like `.github/workflows/CI.yml` and one can find the test code in `test/` of the repository. + +The current test codes check +- Generating a nucleon-nucleon potential, i.e., input for nuclear many-body methods +- HFMBPT results with the NN-potential +- IMSRG/VSIMSRG results the NN-potential +- shell-model results with the derived effective interaction by VS-IMSRG +- MPI and sampling stuffs are runnable + +!!! note + If you submit a major change to the code, please consider to update the test codes matching to your modifications. + +## Reporting bugs by opening a new issue + +Thank you so much for considering to report bugs! +When you report a bug in the code, please open an new issue from [Here](https://github.com/SotaYoshida/NuclearToolkit.jl/issues). +Please make sure to include any information necessary for us to reproduce the errors. Thanks! + +## Propose modifications through Pull Requests (PRs) + +You can propose modifications you made on the package through pull requests. + +* As stated above, please consider to make test codes matching to your modifications. + +* Please make sure to submit your PR to `develop` branch. The 'main' branch will be protected by 'github branch protection'. + +As this package is currently being developed by a single author, branching rules such as git-flow and GitHub Flow have not been adopted. +When we got contributors, the branch-rule will be set upon discussions. + + +### Style Guide for Julia + +If you are new to Julia language, Julia's [Style Guide](https://docs.julialang.org/en/v1/manual/style-guide/) can be usefull to write your own codes. If the current code does not follow the style guide, we would be grateful if you could let us know. + +It is recommended (not always necessarily) to add the so-called 'docstring' to the functions to explain what the function does and to generate document with Documenter.jl. An example is: +```julia +""" + Eval_EigenStates!(H::Hamiltonian,ψ::WaveFunction,n::Int64) + +Function to calculate the lowest ``n`` wavefunctions and overwrite results to `ψ`. + +# Arguments +- `H::Hamiltonian` the Hamiltonian of the system, see struct `Hamiltonian` for more details. +- `ψ::WaveFunction` the wavefunction, see struct `WaveFunction` for more details. +- `n::Int64` the number of states of interest. +""" +function Eval_EigenStates!(H::Hamiltonian,ψ::WaveFunction,n::Int64) + # write your nice codes here + +end +``` + +!!! note + When you want to add a new API to the package, which can be called in Julia REPL, you need to export it at `src/NuclearToolkit.jl`. + + +## LICENSE + +Any contribution from you will be under the [MIT License](https://opensource.org/licenses/MIT), as well as the package itself. +Feel free to contact to @SotaYoshida if that's a concern. \ No newline at end of file diff --git a/docs/src/fileformat.md b/docs/src/fileformat.md index 709b2da2..c516751d 100644 --- a/docs/src/fileformat.md +++ b/docs/src/fileformat.md @@ -2,7 +2,8 @@ In NuclearToolkit.jl, input/output interactions are in the so-called snt format (or its binary form). The snt format is one used in widely-used shell-model code [KSHELL](https://sites.google.com/alumni.tsukuba.ac.jp/kshell-nuclear/). -If you specify the option `tbme_fmt="snt.bin"` for Chiral EFT interactions, the output becomes binary form, where the integers are in `Int64` and floating point numbers are in `Float64`. +If you specify the option `tbme_fmt="snt.bin"` for Chiral EFT interactions, the output becomes binary form. +The integers are in `Int16` for `a,b,c,d,J` (single particle index and total-J of two-body matrix elements, TBMEs) and `Int64` for others, and the floating point numbers for TBMEs are in `Float32` (by default). Here is an example of w.snt. The comments are not written in the outputs of NuclearToolkit. ``` @@ -35,3 +36,12 @@ Here is an example of w.snt. The comments are not written in the outputs of Nucl 1 1 1 1 0 -2.18450 1 1 1 1 2 -0.06650 ``` + +For free space interactions, output of `chiEFTint`, they have V2n3n and Vpp terms in addition to the VNN term: +``` +... +! i j k l J _J _J _J + 1 1 1 1 0 -6.4492081719 0.0000000000 -0.0000000000e+00 + 1 2 1 2 0 -1.9671496992 0.0000000000 5.0000000000e-01 +... +``` \ No newline at end of file diff --git a/docs/src/parameters.md b/docs/src/parameters.md index 4a1bac63..4fe43828 100644 --- a/docs/src/parameters.md +++ b/docs/src/parameters.md @@ -1,6 +1,11 @@ # Parameters in NuclearToolkit -Here is the summary of optional parameters, which can be specified by users through `optional_parameters.jl` in the working directory. +Here is the summary of optional parameters, which can be specified by users like this: +```julia +make_chiEFTint(;fn_params="your_parameter_file.jl") +``` + +If you do not specify the optional argument `fn_params`, the pacakege tries to read `optional_parameters.jl` in the current path. * For ChiEFTint - `n_mesh::Int64`, number of momentum mesh @@ -10,15 +15,19 @@ Here is the summary of optional parameters, which can be specified by users thro - `chi_order::Int64`, order of chiral EFT potenteial (0:LO 1:NLO 2:NNLO 3:N3LO 4:N4LO) - `calc_NN::Bool`, calculate NN part - `calc_3N::Bool`, calculate eff2n (2n3n) part - - `hw::Float64` hbaromega + - `coulomb::Bool`, calculate Coulomb term + - `calc_EperA::Bool`, calculate E/A + - `hw::Float64` hbar omega in MeV - `srg::Bool`, SRG transformation (NN-only) - `srg_lambda::Float64`, resolution scale for SRG in ``fm^{-1}`` - - `tbme_fmt::String` "snt" or "snt.bin" is supported + - `tbme_fmt::String` file format of matrix-elements of free-space interaction. "snt" or "snt.bin" is supported - `fn_tbme::String` file name of output interaction - `pottype::String` potential type (em500n3lo,emn500n3lo,emn500n4lo) - - `kF::Float64` Fermi momentum for 2n3n + - `kF::Float64` Fermi momentum for 2n3n in fm``^{-1}`` * For IMSRG - `smax::Float64` max flow parameter `s` - `dsmax::Float64` maximum step size for IMSRG flow - `maxnormOmega::Float64` tol for norm of IMSRG generator - `denominatorDelta::Float64` denominator delta for multi-shell interaction + - `BetaCM::Float64` beta for center-of-mass correction + - `magnusamethod::String` specifying IMSRG solver ("" or "split" => multi-step splitting (as a default), "no-split" or "NS"=> no-splitting) diff --git a/example/log_sample_script.txt b/example/log_sample_script.txt new file mode 100644 index 00000000..9796cefd --- /dev/null +++ b/example/log_sample_script.txt @@ -0,0 +1,295 @@ +size of dWS (jmax 9 lmax 40 e2max 8 Nnmax 20): + dtri 4.46 MB dcgm0 1.11 MB d6j_int 1.11 MB d6j_lj 0.28 MB + d9j_lsj 1.76 MB dictHOB 0.44 MB +BLAS.get_config() LBTConfig([ILP64] libmkl_rt.so, [LP64] libmkl_rt.so) +BLAS.get_num_threads() 1 nthreads 4 +size of dWS (jmax 9 lmax 40 e2max 8 Nnmax 20): + dtri 4.46 MB dcgm0 1.11 MB d6j_int 1.11 MB d6j_lj 0.28 MB + d9j_lsj 1.76 MB dictHOB 0.44 MB +target: O16 Ref. => Z=8 N=8 E: -132.9506 = E1b 363.70 + E2b -496.65 ( -55.16 -367.32 -74.18) +EMP2 -23.70628 1b -0.000 pp -1.437 pn -20.815 nn -1.454 +EMP3 0.37645 pp -0.111 hh -1.895 ph 2.383 +E_HF -132.95058 E_MBPT(3) = -156.2804 Eexp: -127.619 + +parameters in optional_parameters.jl will be used. +def-by-run d6j_lj done! 4191 + step: s E0 ||Omega_1|| ||Omega_2|| ||Eta_1|| ||Eta_2|| Ncomm. nwritten + 0 0.000 -132.95057781 0.000000e+00 0.000000e+00 1.033824e-16 1.410292e+00 0 0 + 1 0.500 -150.64837609 5.169121e-17 7.051459e-01 4.457285e-02 6.465559e-01 10 0 + 2 1.000 -154.78704838 2.228643e-02 3.232779e-01 5.387093e-02 3.441643e-01 18 1 + 3 1.500 -156.02709507 2.693546e-02 1.720822e-01 5.200791e-02 1.968159e-01 25 2 + 4 2.000 -156.46234611 5.291574e-02 2.697514e-01 4.609815e-02 1.192463e-01 34 2 + 5 2.500 -156.63786066 2.304908e-02 5.962317e-02 3.915110e-02 7.603387e-02 40 3 + 6 3.000 -156.71754528 4.261375e-02 9.740456e-02 3.246552e-02 5.082054e-02 47 3 + 7 3.500 -156.75734646 5.883469e-02 1.223106e-01 2.655233e-02 3.554179e-02 55 3 + 8 4.000 -156.77877263 7.209319e-02 1.393224e-01 2.156017e-02 2.604640e-02 63 3 + 9 4.500 -156.79104484 8.284970e-02 1.513341e-01 1.745834e-02 2.007233e-02 71 3 + 10 5.000 -156.79848127 9.154892e-02 1.600942e-01 1.414576e-02 1.629448e-02 79 3 + 11 5.500 -156.80324373 9.858457e-02 1.666945e-01 1.150104e-02 1.388250e-02 87 3 + 12 6.000 -156.80646858 1.042894e-01 1.718341e-01 9.405852e-03 1.230019e-02 95 3 + 13 6.500 -156.80877527 1.089366e-01 1.759706e-01 7.754598e-03 1.120726e-02 104 3 + 14 7.000 -156.81051145 1.127468e-01 1.794075e-01 6.457349e-03 1.039706e-02 113 3 + 15 7.500 -156.81187735 1.158958e-01 1.823489e-01 5.439592e-03 9.749738e-03 122 3 + 16 8.000 -156.81299135 1.185223e-01 1.849332e-01 4.640660e-03 9.198211e-03 131 3 + 17 8.500 -156.81392512 1.207286e-01 1.872546e-01 4.015938e-03 8.705218e-03 139 3 + 18 9.000 -156.81472443 1.226094e-01 1.893775e-01 3.520493e-03 8.251996e-03 147 3 + 19 9.500 -156.81541866 1.242303e-01 1.913467e-01 3.124629e-03 7.827798e-03 155 3 + 20 10.000 -156.81602782 1.256424e-01 1.931932e-01 2.805005e-03 7.426899e-03 163 3 + 21 10.500 -156.81656612 1.268858e-01 1.949382e-01 2.543557e-03 7.046196e-03 171 3 + 22 11.000 -156.81704414 1.279916e-01 1.965967e-01 2.326485e-03 6.683924e-03 179 3 + 23 11.500 -156.81747005 1.289842e-01 1.981790e-01 2.143354e-03 6.338987e-03 187 3 + 24 12.000 -156.81785041 1.298828e-01 1.996926e-01 1.986340e-03 6.010600e-03 195 3 + 25 12.500 -156.81819065 1.307022e-01 2.011427e-01 1.849605e-03 5.698119e-03 203 3 + 26 13.000 -156.81849533 1.314544e-01 2.025332e-01 1.728808e-03 5.400952e-03 211 3 + 27 13.500 -156.81876840 1.321487e-01 2.038672e-01 1.620718e-03 5.118518e-03 219 3 + 28 14.000 -156.81901328 1.327926e-01 2.051470e-01 1.522924e-03 4.850238e-03 227 3 + 29 14.500 -156.81923296 1.333922e-01 2.063745e-01 1.433620e-03 4.595530e-03 235 3 + 30 15.000 -156.81943009 1.339523e-01 2.075515e-01 1.351441e-03 4.353810e-03 243 3 + 31 15.500 -156.81960704 1.344770e-01 2.086796e-01 1.275347e-03 4.124497e-03 251 3 + 32 16.000 -156.81976590 1.349696e-01 2.097602e-01 1.204533e-03 3.907021e-03 259 3 + 33 16.500 -156.81990854 1.354330e-01 2.107947e-01 1.138373e-03 3.700822e-03 267 3 + 34 17.000 -156.82003317 5.691865e-04 1.850411e-03 1.074658e-03 3.506997e-03 272 4 + 35 17.500 -156.82014499 1.106509e-03 3.603905e-03 1.015349e-03 3.323020e-03 277 4 + 36 18.000 -156.82024531 1.614168e-03 5.265407e-03 9.598947e-04 3.148469e-03 282 4 + 37 18.500 -156.82033533 2.094090e-03 6.839628e-03 9.078782e-04 2.982918e-03 287 4 + 38 19.000 -156.82041609 2.547997e-03 8.331069e-03 8.589724e-04 2.825941e-03 292 4 + 39 19.500 -156.82048854 2.977444e-03 9.744018e-03 8.129099e-04 2.677124e-03 297 4 + 40 20.000 -156.82055356 3.383857e-03 1.108256e-02 7.694672e-04 2.536064e-03 302 4 + 41 20.500 -156.82061188 3.768545e-03 1.235056e-02 7.284533e-04 2.402376e-03 307 4 + 42 21.000 -156.82066421 4.132725e-03 1.355172e-02 6.897020e-04 2.275686e-03 312 4 + 43 21.500 -156.82071117 4.477530e-03 1.468954e-02 6.530664e-04 2.155638e-03 317 4 + 44 22.000 -156.82075329 4.804017e-03 1.576733e-02 6.184151e-04 2.041891e-03 323 4 + 45 22.500 -156.82079108 5.113180e-03 1.678825e-02 5.856293e-04 1.934120e-03 329 4 + 46 23.000 -156.82082498 5.405952e-03 1.775529e-02 5.546002e-04 1.832017e-03 335 4 + 47 23.500 -156.82085540 5.683211e-03 1.867127e-02 5.252279e-04 1.735286e-03 341 4 + 48 24.000 -156.82088269 5.945786e-03 1.953889e-02 4.974198e-04 1.643648e-03 347 4 + 49 24.500 -156.82090717 6.194459e-03 2.036069e-02 4.710897e-04 1.556836e-03 353 4 + 50 25.000 -156.82092913 6.429969e-03 2.113909e-02 4.461569e-04 1.474599e-03 359 4 + 51 25.500 -156.82094883 6.653014e-03 2.187636e-02 4.225460e-04 1.396697e-03 365 4 + 52 26.000 -156.82096651 6.864257e-03 2.257469e-02 4.001858e-04 1.322902e-03 371 4 + 53 26.500 -156.82098237 7.064321e-03 2.323613e-02 3.790095e-04 1.253000e-03 377 4 + 54 27.000 -156.82099659 7.253799e-03 2.386261e-02 3.589540e-04 1.186785e-03 383 4 + 55 27.500 -156.82100935 7.433251e-03 2.445599e-02 3.399597e-04 1.124063e-03 389 4 + 56 28.000 -156.82102080 7.603207e-03 2.501800e-02 3.219703e-04 1.064652e-03 395 4 + 57 28.500 -156.82103107 7.764171e-03 2.555032e-02 3.049325e-04 1.008377e-03 401 4 + 58 29.000 -156.82104028 7.916617e-03 2.605449e-02 2.887961e-04 9.550725e-04 407 4 + 59 29.500 -156.82104854 8.060996e-03 2.653201e-02 2.735132e-04 9.045825e-04 413 4 + 60 30.000 -156.82105595 8.197734e-03 2.698429e-02 2.590387e-04 8.567587e-04 419 4 + 61 30.500 -156.82106260 8.327237e-03 2.741266e-02 2.453300e-04 8.114605e-04 425 4 + 62 31.000 -156.82106857 8.449887e-03 2.781838e-02 2.323465e-04 7.685550e-04 431 4 + 63 31.500 -156.82107392 8.566046e-03 2.820265e-02 2.200499e-04 7.279160e-04 437 4 + 64 32.000 -156.82107872 8.676057e-03 2.856660e-02 2.084039e-04 6.894239e-04 443 4 + 65 32.500 -156.82108302 8.780246e-03 2.891131e-02 1.973741e-04 6.529656e-04 449 4 + 66 33.000 -156.82108688 8.878922e-03 2.923778e-02 1.869279e-04 6.184337e-04 455 4 + 67 33.500 -156.82109035 8.972374e-03 2.954699e-02 1.770345e-04 5.857267e-04 461 4 + 68 34.000 -156.82109345 9.060881e-03 2.983985e-02 1.676646e-04 5.547481e-04 467 4 + 69 34.500 -156.82109624 9.144704e-03 3.011722e-02 1.587905e-04 5.254069e-04 473 4 + 70 35.000 -156.82109874 9.224090e-03 3.037991e-02 1.503861e-04 4.976166e-04 479 4 + 71 35.500 -156.82110098 9.299275e-03 3.062872e-02 1.424264e-04 4.712953e-04 485 4 + 72 36.000 -156.82110300 9.370480e-03 3.086436e-02 1.348880e-04 4.463654e-04 491 4 + 73 36.500 -156.82110480 9.437916e-03 3.108754e-02 1.277486e-04 4.227536e-04 497 4 + 74 37.000 -156.82110642 9.501784e-03 3.129891e-02 1.209870e-04 4.003901e-04 503 4 + 75 37.500 -156.82110787 9.562271e-03 3.149910e-02 1.145833e-04 3.792090e-04 509 4 + 76 38.000 -156.82110917 9.619556e-03 3.168870e-02 1.085185e-04 3.591479e-04 515 4 + 77 38.500 -156.82111034 9.673809e-03 3.186827e-02 1.027747e-04 3.401476e-04 521 4 + 78 39.000 -156.82111139 9.725191e-03 3.203834e-02 9.733496e-05 3.221521e-04 527 4 + 79 39.500 -156.82111233 9.773854e-03 3.219941e-02 9.218310e-05 3.051083e-04 533 4 + 80 40.000 -156.82111317 9.819940e-03 3.235197e-02 8.730392e-05 2.889658e-04 539 4 + 81 40.500 -156.82111393 9.863588e-03 3.249645e-02 8.268300e-05 2.736771e-04 545 4 + 82 41.000 -156.82111461 9.904925e-03 3.263328e-02 7.830665e-05 2.591970e-04 551 4 + 83 41.500 -156.82111522 9.944074e-03 3.276288e-02 7.416194e-05 2.454828e-04 557 4 + 84 42.000 -156.82111576 9.981151e-03 3.288562e-02 7.023662e-05 2.324940e-04 563 4 + 85 42.500 -156.82111625 1.001627e-02 3.300186e-02 6.651905e-05 2.201922e-04 569 4 + 86 43.000 -156.82111669 1.004952e-02 3.311196e-02 6.299826e-05 2.085412e-04 575 4 + 87 43.500 -156.82111708 1.008102e-02 3.321622e-02 5.966383e-05 1.975066e-04 581 4 + 88 44.000 -156.82111744 1.011085e-02 3.331498e-02 5.650588e-05 1.870556e-04 587 4 + 89 44.500 -156.82111775 1.013910e-02 3.340850e-02 5.351509e-05 1.771575e-04 593 4 + 90 45.000 -156.82111804 1.016585e-02 3.349708e-02 5.068259e-05 1.677831e-04 599 4 + 91 45.500 -156.82111829 1.019119e-02 3.358097e-02 4.800002e-05 1.589046e-04 605 4 + 92 46.000 -156.82111852 1.021519e-02 3.366042e-02 4.545944e-05 1.504959e-04 611 4 + 93 46.500 -156.82111873 1.023792e-02 3.373567e-02 4.305333e-05 1.425320e-04 617 4 + 94 47.000 -156.82111891 1.025944e-02 3.380693e-02 4.077457e-05 1.349895e-04 623 4 + 95 47.500 -156.82111907 1.027983e-02 3.387442e-02 3.861643e-05 1.278461e-04 629 4 + 96 48.000 -156.82111922 1.029913e-02 3.393835e-02 3.657252e-05 1.210806e-04 635 4 + 97 48.500 -156.82111936 1.031742e-02 3.399889e-02 3.463679e-05 1.146731e-04 641 4 + 98 49.000 -156.82111947 1.033473e-02 3.405622e-02 3.280352e-05 1.086046e-04 647 4 + 99 49.500 -156.82111958 1.035113e-02 3.411052e-02 3.106728e-05 1.028572e-04 653 4 + 100 50.000 -156.82111968 1.036667e-02 3.416195e-02 2.942294e-05 9.741393e-05 659 4 + 101 50.500 -156.82111976 1.038138e-02 3.421066e-02 2.786563e-05 9.225868e-05 665 4 + 102 51.000 -156.82111984 1.039531e-02 3.425678e-02 2.639075e-05 8.737623e-05 671 4 + 103 51.500 -156.82111991 1.040850e-02 3.430047e-02 2.499393e-05 8.275213e-05 677 4 + 104 52.000 -156.82111997 1.042100e-02 3.434185e-02 2.367105e-05 7.837272e-05 683 4 + 105 52.500 -156.82112003 1.043283e-02 3.438103e-02 2.241818e-05 7.422506e-05 689 4 + 106 53.000 -156.82112008 1.044404e-02 3.441814e-02 2.123163e-05 7.029688e-05 695 4 + 107 53.500 -156.82112012 1.045465e-02 3.445329e-02 2.010788e-05 6.657657e-05 701 4 + 108 54.000 -156.82112016 1.046471e-02 3.448658e-02 1.904361e-05 6.305314e-05 707 4 + 109 54.500 -156.82112020 1.047423e-02 3.451811e-02 1.803567e-05 5.971616e-05 713 4 + 110 55.000 -156.82112023 1.048324e-02 3.454796e-02 1.708108e-05 5.655577e-05 719 4 + 111 55.500 -156.82112026 1.049178e-02 3.457624e-02 1.617701e-05 5.356263e-05 725 4 + 112 56.000 -156.82112028 1.049987e-02 3.460302e-02 1.532079e-05 5.072788e-05 731 4 + 113 56.500 -156.82112031 1.050753e-02 3.462839e-02 1.450990e-05 4.804315e-05 737 4 + 114 57.000 -156.82112033 1.051479e-02 3.465241e-02 1.374192e-05 4.550050e-05 743 4 + 115 57.500 -156.82112035 1.052166e-02 3.467516e-02 1.301459e-05 4.309241e-05 749 4 + 116 58.000 -156.82112036 1.052816e-02 3.469670e-02 1.232575e-05 4.081176e-05 755 4 + 117 58.500 -156.82112038 1.053433e-02 3.471711e-02 1.167338e-05 3.865181e-05 761 4 + 118 59.000 -156.82112039 1.054016e-02 3.473643e-02 1.105553e-05 3.660617e-05 767 4 + 119 59.500 -156.82112041 1.054569e-02 3.475474e-02 1.047038e-05 3.466878e-05 773 4 + 120 60.000 -156.82112042 1.055092e-02 3.477207e-02 9.916210e-06 3.283393e-05 779 4 + 121 60.500 -156.82112043 1.055588e-02 3.478849e-02 9.391367e-06 3.109619e-05 785 4 + 122 61.000 -156.82112043 1.056058e-02 3.480403e-02 8.894303e-06 2.945041e-05 791 4 + 123 61.500 -156.82112044 1.056502e-02 3.481876e-02 8.423548e-06 2.789173e-05 797 4 + 124 62.000 -156.82112045 1.056923e-02 3.483271e-02 7.977709e-06 2.641554e-05 803 4 + 125 62.500 -156.82112046 1.057322e-02 3.484591e-02 7.555467e-06 2.501748e-05 809 4 + 126 63.000 -156.82112046 1.057700e-02 3.485842e-02 7.155573e-06 2.369341e-05 815 4 + 127 63.500 -156.82112047 1.058058e-02 3.487027e-02 6.776845e-06 2.243942e-05 821 4 + 128 64.000 -156.82112047 1.058397e-02 3.488149e-02 6.418163e-06 2.125179e-05 827 4 + 129 64.500 -156.82112048 1.058717e-02 3.489211e-02 6.078464e-06 2.012701e-05 833 4 + 130 65.000 -156.82112048 1.059021e-02 3.490218e-02 5.756745e-06 1.906177e-05 839 4 + 131 65.500 -156.82112048 1.059309e-02 3.491171e-02 5.452054e-06 1.805290e-05 845 4 + 132 66.000 -156.82112049 1.059582e-02 3.492073e-02 5.163490e-06 1.709743e-05 851 4 + 133 66.500 -156.82112049 1.059840e-02 3.492928e-02 4.890199e-06 1.619253e-05 857 4 + 134 67.000 -156.82112049 1.060084e-02 3.493738e-02 4.631372e-06 1.533551e-05 863 4 + 135 67.500 -156.82112049 1.060316e-02 3.494505e-02 4.386245e-06 1.452386e-05 869 4 + 136 68.000 -156.82112049 1.060535e-02 3.495231e-02 4.154091e-06 1.375516e-05 875 4 + 137 68.500 -156.82112050 1.060743e-02 3.495919e-02 3.934225e-06 1.302715e-05 881 4 + 138 69.000 -156.82112050 1.060940e-02 3.496570e-02 3.725996e-06 1.233767e-05 887 4 + 139 69.500 -156.82112050 1.061126e-02 3.497187e-02 3.528788e-06 1.168467e-05 893 4 + 140 70.000 -156.82112050 1.061302e-02 3.497771e-02 3.342018e-06 1.106624e-05 899 4 + 141 70.500 -156.82112050 1.061469e-02 3.498324e-02 3.165133e-06 1.048054e-05 905 4 + 142 71.000 -156.82112050 1.061628e-02 3.498848e-02 2.997610e-06 9.925842e-06 911 4 + 143 71.500 -156.82112050 1.061777e-02 3.499345e-02 2.838954e-06 9.400498e-06 917 4 + 144 72.000 -156.82112050 1.061919e-02 3.499815e-02 2.688695e-06 8.902960e-06 923 4 + 145 72.500 -156.82112050 1.062054e-02 3.500260e-02 2.546389e-06 8.431754e-06 929 4 + 146 73.000 -156.82112051 1.062181e-02 3.500681e-02 2.411615e-06 7.985487e-06 935 4 + 147 73.500 -156.82112051 1.062302e-02 3.501081e-02 2.283974e-06 7.562840e-06 941 4 + 148 74.000 -156.82112051 1.062416e-02 3.501459e-02 2.163089e-06 7.162562e-06 947 4 + 149 74.500 -156.82112051 1.062524e-02 3.501817e-02 2.048602e-06 6.783469e-06 953 4 + 150 75.000 -156.82112051 1.062626e-02 3.502156e-02 1.940174e-06 6.424440e-06 959 4 + 151 75.500 -156.82112051 1.062723e-02 3.502477e-02 1.837486e-06 6.084413e-06 965 4 + 152 76.000 -156.82112051 1.062815e-02 3.502781e-02 1.740232e-06 5.762383e-06 971 4 + 153 76.500 -156.82112051 1.062902e-02 3.503070e-02 1.648126e-06 5.457397e-06 977 4 + 154 77.000 -156.82112051 1.062985e-02 3.503342e-02 1.560895e-06 5.168553e-06 983 4 + 155 77.500 -156.82112051 1.063063e-02 3.503601e-02 1.478281e-06 4.894996e-06 989 4 + 156 78.000 -156.82112051 1.063137e-02 3.503846e-02 1.400039e-06 4.635918e-06 995 4 + 157 78.500 -156.82112051 1.063207e-02 3.504077e-02 1.325938e-06 4.390552e-06 1001 4 + 158 79.000 -156.82112051 1.063273e-02 3.504297e-02 1.255760e-06 4.158172e-06 1007 4 + 159 79.500 -156.82112051 1.063336e-02 3.504505e-02 1.189295e-06 3.938092e-06 1013 4 + 160 80.000 -156.82112051 1.063395e-02 3.504702e-02 1.126349e-06 3.729660e-06 1019 4 + 161 80.500 -156.82112051 1.063452e-02 3.504888e-02 1.066734e-06 3.532259e-06 1025 4 + 162 81.000 -156.82112051 1.063505e-02 3.505065e-02 1.010275e-06 3.345306e-06 1031 4 + 163 81.500 -156.82112051 1.063555e-02 3.505232e-02 9.568032e-07 3.168249e-06 1037 4 + 164 82.000 -156.82112051 1.063603e-02 3.505390e-02 9.061620e-07 3.000562e-06 1043 4 + 165 82.500 -156.82112051 1.063648e-02 3.505540e-02 8.582011e-07 2.841750e-06 1049 4 + 166 83.000 -156.82112051 1.063691e-02 3.505683e-02 8.127787e-07 2.691344e-06 1055 4 + 167 83.500 -156.82112051 1.063732e-02 3.505817e-02 7.697603e-07 2.548899e-06 1061 4 + 168 84.000 -156.82112051 1.063771e-02 3.505945e-02 7.290189e-07 2.413992e-06 1067 4 + 169 84.500 -156.82112051 1.063807e-02 3.506065e-02 6.904337e-07 2.286226e-06 1073 4 + 170 85.000 -156.82112051 1.063841e-02 3.506180e-02 6.538908e-07 2.165222e-06 1079 4 + 171 85.500 -156.82112051 1.063874e-02 3.506288e-02 6.192820e-07 2.050623e-06 1085 4 + 172 86.000 -156.82112051 1.063905e-02 3.506390e-02 5.865050e-07 1.942089e-06 1091 4 + 173 86.500 -156.82112051 1.063934e-02 3.506487e-02 5.554627e-07 1.839299e-06 1097 4 + 174 87.000 -156.82112051 1.063962e-02 3.506579e-02 5.260635e-07 1.741950e-06 1103 4 + 175 87.500 -156.82112051 1.063989e-02 3.506667e-02 4.982203e-07 1.649753e-06 1109 4 + 176 88.000 -156.82112051 1.064013e-02 3.506749e-02 4.718507e-07 1.562436e-06 1115 4 + 177 88.500 -156.82112051 1.064037e-02 3.506827e-02 4.468768e-07 1.479741e-06 1121 4 + 178 89.000 -156.82112051 1.064059e-02 3.506901e-02 4.232248e-07 1.401422e-06 1127 4 + 179 89.500 -156.82112051 1.064081e-02 3.506971e-02 4.008245e-07 1.327248e-06 1133 4 + 180 90.000 -156.82112051 1.064101e-02 3.507038e-02 3.796099e-07 1.257000e-06 1139 4 + 181 90.500 -156.82112051 1.064120e-02 3.507100e-02 3.595181e-07 1.190471e-06 1145 4 + 182 91.000 -156.82112051 1.064138e-02 3.507160e-02 3.404897e-07 1.127462e-06 1151 4 + 183 91.500 -156.82112051 1.064155e-02 3.507216e-02 3.224685e-07 1.067789e-06 1157 4 + 184 92.000 -156.82112051 1.064171e-02 3.507270e-02 3.054010e-07 1.011273e-06 1163 4 + 185 92.500 -156.82112051 1.064186e-02 3.507320e-02 2.892369e-07 9.577492e-07 1169 4 + 186 93.000 -156.82112051 1.064200e-02 3.507368e-02 2.739283e-07 9.070580e-07 1175 4 + + +Starting VS-IMSRG flow + step: s E0 ||Omega_1|| ||Omega_2|| ||Eta_1|| ||Eta_2|| Ncomm. nwritten + 0 93.000 -156.82112051 0.000000e+00 0.000000e+00 3.229158e-01 6.378179e+00 1175 5 + 1 93.500 -156.82112051 1.614579e-01 3.189090e+00 9.227151e-02 2.761175e+00 1185 5 + 2 94.000 -156.82112051 4.613575e-02 1.380588e+00 1.389716e-01 1.441046e+00 1193 6 + 3 94.500 -156.82112051 6.948582e-02 7.205232e-01 1.184896e-01 8.269515e-01 1201 7 + 4 95.000 -156.82112051 5.924480e-02 4.134758e-01 8.893113e-02 5.161785e-01 1208 8 + 5 95.500 -156.82112051 4.446556e-02 2.580892e-01 6.482493e-02 3.480325e-01 1215 9 + 6 96.000 -156.82112051 3.241246e-02 1.740163e-01 4.762813e-02 2.502454e-01 1221 10 + 7 96.500 -156.82112051 5.621124e-02 2.977482e-01 3.579587e-02 1.888736e-01 1229 10 + 8 97.000 -156.82112051 1.789794e-02 9.443679e-02 2.761892e-02 1.475082e-01 1235 11 + 9 97.500 -156.82112051 3.169891e-02 1.677967e-01 2.182843e-02 1.179198e-01 1241 11 + 10 98.000 -156.82112051 4.259421e-02 2.259722e-01 1.759313e-02 9.577239e-02 1247 11 + 11 98.500 -156.82112051 5.136303e-02 2.728047e-01 1.439169e-02 7.863840e-02 1254 11 + 12 99.000 -156.82112051 7.195846e-03 3.931920e-02 1.189991e-02 6.506699e-02 1259 12 + 13 99.500 -156.82112051 1.314460e-02 7.181908e-02 9.914422e-03 5.413659e-02 1265 12 + 14 100.000 -156.82112051 1.809915e-02 9.881703e-02 8.303855e-03 4.522856e-02 1271 12 + 15 100.500 -156.82112051 2.224708e-02 1.213313e-01 6.980349e-03 3.790600e-02 1277 12 + 16 101.000 -156.82112051 2.573216e-02 1.401637e-01 5.882715e-03 3.184809e-02 1283 12 + 17 101.500 -156.82112051 2.866758e-02 1.559548e-01 4.966578e-03 2.681195e-02 1289 12 + 18 102.000 -156.82112051 3.114431e-02 1.692216e-01 4.198543e-03 2.260932e-02 1295 12 + 19 102.500 -156.82112051 3.323662e-02 1.803857e-01 3.552696e-03 1.909163e-02 1301 12 + 20 103.000 -156.82112051 3.500574e-02 1.897928e-01 3.008432e-03 1.614001e-02 1307 12 + 21 103.500 -156.82112051 3.650263e-02 1.977283e-01 2.549069e-03 1.365835e-02 1313 12 + 22 104.000 -156.82112051 3.776984e-02 2.044287e-01 2.160925e-03 1.156828e-02 1319 12 + 23 104.500 -156.82112051 3.884307e-02 2.100906e-01 1.832674e-03 9.805459e-03 1325 12 + 24 105.000 -156.82112051 3.975235e-02 2.148784e-01 1.554884e-03 8.316818e-03 1331 12 + 25 105.500 -156.82112051 4.052298e-02 2.189293e-01 1.319662e-03 7.058360e-03 1337 12 + 26 106.000 -156.82112051 4.117629e-02 2.223586e-01 1.120388e-03 5.993494e-03 1343 12 + 27 106.500 -156.82112051 4.173029e-02 2.252629e-01 9.514930e-04 5.091694e-03 1349 12 + 28 107.000 -156.82112051 4.220019e-02 2.277237e-01 8.082886e-04 4.327428e-03 1356 12 + 29 107.500 -156.82112051 4.259886e-02 2.298095e-01 6.868218e-04 3.679298e-03 1363 12 + 30 108.000 -156.82112051 4.293716e-02 2.315779e-01 5.837569e-04 3.129333e-03 1370 12 + 31 108.500 -156.82112051 4.322431e-02 2.330777e-01 4.962771e-04 2.662418e-03 1377 12 + 32 109.000 -156.82112051 4.346809e-02 2.343501e-01 4.220026e-04 2.265824e-03 1384 12 + 33 109.500 -156.82112051 4.367510e-02 2.354298e-01 3.589212e-04 1.928813e-03 1391 12 + 34 110.000 -156.82112051 4.385091e-02 2.363463e-01 3.053310e-04 1.642322e-03 1398 12 + 35 110.500 -156.82112051 4.400025e-02 2.371243e-01 2.597919e-04 1.398690e-03 1405 12 + 36 111.000 -156.82112051 4.412714e-02 2.377850e-01 2.210844e-04 1.191437e-03 1412 12 + 37 111.500 -156.82112051 4.423496e-02 2.383462e-01 1.881759e-04 1.015080e-03 1419 12 + 38 112.000 -156.82112051 4.432660e-02 2.388229e-01 1.601912e-04 8.649718e-04 1426 12 + 39 112.500 -156.82112051 4.440450e-02 2.392279e-01 1.363885e-04 7.371735e-04 1433 12 + 40 113.000 -156.82112051 4.447072e-02 2.395721e-01 1.161388e-04 6.283445e-04 1440 12 + 41 113.500 -156.82112051 4.452704e-02 2.398646e-01 9.890843e-05 5.356499e-04 1447 12 + 42 114.000 -156.82112051 4.457493e-02 2.401133e-01 8.424462e-05 4.566827e-04 1454 12 + 43 114.500 -156.82112051 4.461566e-02 2.403247e-01 7.176295e-05 3.893980e-04 1461 12 + 44 115.000 -156.82112051 4.465031e-02 2.405045e-01 6.113702e-05 3.320584e-04 1468 12 + 45 115.500 -156.82112051 4.467979e-02 2.406573e-01 5.208959e-05 2.831867e-04 1475 12 + 46 116.000 -156.82112051 4.470487e-02 2.407874e-01 4.438509e-05 2.415268e-04 1482 12 + 47 116.500 -156.82112051 4.472622e-02 2.408980e-01 3.782334e-05 2.060101e-04 1489 12 + 48 117.000 -156.82112051 4.474438e-02 2.409921e-01 3.223416e-05 1.757273e-04 1496 12 + 49 117.500 -156.82112051 4.475984e-02 2.410721e-01 2.747285e-05 1.499045e-04 1503 12 + 50 118.000 -156.82112051 4.477300e-02 2.411402e-01 2.341636e-05 1.278827e-04 1510 12 + 51 118.500 -156.82112051 4.478421e-02 2.411982e-01 1.996000e-05 1.091008e-04 1517 12 + 52 119.000 -156.82112051 4.479374e-02 2.412476e-01 1.701471e-05 9.308090e-05 1524 12 + 53 119.500 -156.82112051 4.480186e-02 2.412895e-01 1.450471e-05 7.941587e-05 1531 12 + 54 120.000 -156.82112051 4.480878e-02 2.413253e-01 1.236549e-05 6.775881e-05 1538 12 + 55 120.500 -156.82112051 4.481466e-02 2.413557e-01 1.054214e-05 5.781407e-05 1545 12 + 56 121.000 -156.82112051 4.481968e-02 2.413816e-01 8.987909e-06 4.932969e-05 1552 12 + 57 121.500 -156.82112051 4.482395e-02 2.414037e-01 7.662995e-06 4.209089e-05 1559 12 + 58 122.000 -156.82112051 4.482758e-02 2.414224e-01 6.533495e-06 3.591454e-05 1566 12 + 59 122.500 -156.82112051 4.483068e-02 2.414384e-01 5.570534e-06 3.064452e-05 1573 12 + 60 123.000 -156.82112051 4.483331e-02 2.414520e-01 4.749516e-06 2.614769e-05 1580 12 + 61 123.500 -156.82112051 4.483556e-02 2.414636e-01 4.049488e-06 2.231051e-05 1587 12 + 62 124.000 -156.82112051 4.483747e-02 2.414734e-01 3.452595e-06 1.903615e-05 1594 12 + 63 124.500 -156.82112051 4.483910e-02 2.414818e-01 2.943626e-06 1.624200e-05 1601 12 + 64 125.000 -156.82112051 4.484048e-02 2.414890e-01 2.509617e-06 1.385762e-05 1608 12 + 65 125.500 -156.82112051 4.484166e-02 2.414951e-01 2.139518e-06 1.182289e-05 1615 12 + 66 126.000 -156.82112051 4.484267e-02 2.415002e-01 1.823913e-06 1.008654e-05 1622 12 + 67 126.500 -156.82112051 4.484352e-02 2.415046e-01 1.554774e-06 8.604821e-06 1629 12 + 68 127.000 -156.82112051 4.484425e-02 2.415084e-01 1.325260e-06 7.340408e-06 1636 12 + 69 127.500 -156.82112051 4.484487e-02 2.415116e-01 1.129537e-06 6.261450e-06 1643 12 + 70 128.000 -156.82112051 4.484540e-02 2.415143e-01 9.626320e-07 5.340772e-06 1650 12 + 71 128.500 -156.82112051 4.484585e-02 2.415166e-01 8.203041e-07 4.555181e-06 1657 12 + 72 129.000 -156.82112051 4.484623e-02 2.415185e-01 6.989383e-07 3.884890e-06 1664 12 + 73 129.500 -156.82112051 4.484655e-02 2.415202e-01 5.954516e-07 3.313011e-06 1671 12 + 74 130.000 -156.82112051 4.484683e-02 2.415216e-01 5.072152e-07 2.825132e-06 1678 12 + 75 130.500 -156.82112051 4.484706e-02 2.415228e-01 4.319873e-07 2.408955e-06 1685 12 + 76 131.000 -156.82112051 4.484726e-02 2.415238e-01 3.678562e-07 2.053984e-06 1692 12 + 77 131.500 -156.82112051 4.484743e-02 2.415247e-01 3.131915e-07 1.751261e-06 1699 12 + 78 132.000 -156.82112051 4.484757e-02 2.415254e-01 2.666027e-07 1.493143e-06 1706 12 + 79 132.500 -156.82112051 4.484770e-02 2.415260e-01 2.269041e-07 1.273107e-06 1713 12 + 80 133.000 -156.82112051 4.484780e-02 2.415266e-01 1.930844e-07 1.085586e-06 1720 12 + 81 133.500 -156.82112051 4.484789e-02 2.415270e-01 1.642813e-07 9.258295e-07 1727 12 +Operator:Rp2 + HF point proton radius 2.049501 charge radius 2.211009 => HF+PT 2.229791 +IMSRG point proton radius 2.099186 charge radius 2.257141 + Mg24 Z,N=(12,12) c(8,8) v(4,4) mdim: 28503 ( 4.45 ) J [0.0, 2.0, 2.0, 3.0, 4.0, 4.0, 5.0, 1.0, 6.0, 2.0] +En. -109.0654 -107.7170 -106.0557 -104.8003 -104.7485 -103.2378 -101.1769 -100.7040 -100.1376 -100.1193 +Ex. 0.0000 1.3484 3.0097 4.2651 4.3170 5.8276 7.8886 8.3615 8.9278 8.9461 diff --git a/example/optional_parameters.jl b/example/optional_parameters.jl new file mode 100644 index 00000000..8f057956 --- /dev/null +++ b/example/optional_parameters.jl @@ -0,0 +1,14 @@ +###--- ChiralEFT --- +n_mesh = 50 +emax = 4 +chi_order = 3 +calc_NN = true +calc_3N = false +hw = 20.0 +srg_lambda = 2.0 +tbme_fmt = "snt.bin" + +### --- IMSRG --- +smax = 500.0 +dsmax = 0.5 +denominatorDelta=0.0 \ No newline at end of file diff --git a/sample_script.jl b/example/sample_script.jl similarity index 100% rename from sample_script.jl rename to example/sample_script.jl diff --git a/optional_parameters.jl b/optional_parameters.jl index ae65976b..35cbdc67 100644 --- a/optional_parameters.jl +++ b/optional_parameters.jl @@ -1,7 +1,7 @@ ###--- ChiralEFT --- n_mesh = 50 emax = 4 -chi_order = 4 #0:LO 1:NLO 2:NNLO 3:N3LO +chi_order = 3 calc_NN = true calc_3N = false hw = 20.0 diff --git a/paper/paper.bib b/paper/paper.bib index e035a840..ab911eed 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -3,14 +3,18 @@ @article{Bezanson2012 title={{J}ulia: A fast dynamic language for technical computing}, author={Bezanson, Jeff and Karpinski, Stefan and Shah, Viral B and Edelman, Alan}, journal={arXiv preprint arXiv:1209.5145}, - year={2012} + year={2012}, + doi = {10.48550/arXiv.1209.5145}, + url = {https://arxiv.org/abs/1209.5145} } @article{SY2n3n, title={Exploring medium mass nuclei using effective chiral nucleon-nucleon interactions}, author={Yoshida, Sota}, journal={arXiv preprint arXiv:2208.02464}, - year={2022} + year={2022}, + doi = {10.48550/arXiv.2208.02464}, + url = {https://arxiv.org/abs/2208.02464} } @article{BrownRev, @@ -21,7 +25,7 @@ @article{BrownRev pages = "517 - 599", year = "2001", issn = "0146-6410", -doi = "https://doi.org/10.1016/S0146-6410(01)00159-4", +doi = "10.1016/S0146-6410(01)00159-4", url = "http://www.sciencedirect.com/science/article/pii/S0146641001001594", author = {B A Brown} } @@ -112,7 +116,7 @@ @article{LENPICrev1 url = {http://link.aps.org/doi/10.1103/RevModPhys.81.1773} } @ARTICLE{LENPICrev2, -AUTHOR={Epelbaum, Evgeny and Krebs, Hermann and Reinert, Patrick}, +AUTHOR={Epelbaum, E. and Krebs, H. and Reinert, P.}, TITLE={High-Precision Nuclear Forces From Chiral EFT: State-of-the-Art, Challenges, and Outlook}, JOURNAL={Frontiers in Physics}, VOLUME={8}, @@ -173,7 +177,8 @@ @ARTICLE{ANTOINE adsurl = {https://ui.adsabs.harvard.edu/abs/1999AcPPB..30..705C}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} } -@article{BIGSTICK, + +@article{BIGSTICK1, title = {Factorization in large-scale many-body calculations}, journal = {Computer Physics Communications}, volume = {184}, @@ -181,16 +186,17 @@ @article{BIGSTICK pages = {2761-2774}, year = {2013}, issn = {0010-4655}, -doi = {https://doi.org/10.1016/j.cpc.2013.07.022}, -url = {https://www.sciencedirect.com/science/article/pii/S0010465513002518}, author = {Calvin W. Johnson and W. Erich Ormand and Plamen G. Krastev}, -keywords = {Shell model, Configuration interaction, Many-body} +doi = {10.1016/j.cpc.2013.07.022}, +url = {https://www.sciencedirect.com/science/article/pii/S0010465513002518}, } @misc{BIGSTICK2, -Author = {Calvin W. Johnson and W. Erich Ormand and Kenneth S. McElvain and Hongzhang Shan}, -Title = {BIGSTICK: A flexible configuration-interaction shell-model code}, -Year = {2018}, -Eprint = {arXiv:1801.08432}, +Title = {{BIGSTICK}: A flexible configuration-interaction shell-model code}, +year = {2018}, +journal = {arXiv preprint arXiv:1801.08432}, +author = {Calvin W. Johnson and W. Erich Ormand and Kenneth S. McElvain and Hongzhang Shan}, +doi = {10.48550/arXiv.1801.08432}, +url = {https://arxiv.org/abs/1801.08432} } @article{NuShellX, title = "The Shell-Model Code NuShellX@MSU", @@ -200,13 +206,15 @@ @MSU pages = "115 - 118", year = "2014", issn = "0090-3752", -doi = "https://doi.org/10.1016/j.nds.2014.07.022" +doi = "10.1016/j.nds.2014.07.022" } @misc{KSHELL1, Author = {Noritaka Shimizu}, -Title = {Nuclear shell-model code for massive parallel computation, "KSHELL"}, +Title = {Nuclear shell-model code for massive parallel computation, ``KSHELL''}, Year = {2013}, -Eprint = {arXiv:1310.5431} +journal = {arXiv preprint arXiv:1310.5431}, +doi = {10.48550/arXiv.1310.5431}, +url = {https://arxiv.org/abs/1310.5431}, } @article{KSHELL2, title = "Thick-restart block Lanczos method for large-scale shell-model calculations", @@ -215,7 +223,7 @@ @article{KSHELL2 pages = "372 - 384", year = "2019", issn = "0010-4655", -doi = "https://doi.org/10.1016/j.cpc.2019.06.011", +doi = "10.1016/j.cpc.2019.06.011", url = "http://www.sciencedirect.com/science/article/pii/S0010465519301985", author = "Noritaka Shimizu and Takahiro Mizusaki and Yutaka Utsuno and Yusuke Tsunoda" } @@ -226,4 +234,4 @@ @misc{imsrgcode publisher = {GitHub}, journal = {GitHub repository}, url = {https://github.com/ragnarstroberg/imsrg} -} \ No newline at end of file +} diff --git a/paper/paper.md b/paper/paper.md index ae745627..fad3b70f 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -17,7 +17,6 @@ date: 10 August 2022 bibliography: paper.bib --- - # Summary One of the ultimate goals in nuclear physics is to understand and predict various properties of nuclei from a fundamental interaction among nucleons, the nuclear force. Owing to recent developments in the community, especially in describing the nuclear force and in nuclear many-body methods, it is becoming possible to make quantitative discussions and predictions on various properties with first-principles calculations. @@ -27,15 +26,15 @@ It can therefore be difficult to familiarize oneself with the technical details # Statement of need ``NuclearToolkit.jl`` provides self-contained codes for nuclear physics covering from nuclear forces to various nuclear many-body methods. -Users can generate nucleon-nucleon (NN) potentials based on chiral effective field theory [@EMrev1,@EMrev2,@LENPICrev1,@LENPICrev2] and use them in many-body methods such as Hartree-Fock many-body perturbation theory (which is well known as Møller–Plesset method in the community of chemistry) [@ShavittBartlett2009], in-medium similarity renormalization group (IM-SRG) [@StrobergRev19], and valence shell model (configuration interaction method) [@BrownRev,@CourierRev,@OtsukaRev]. +Users can generate nucleon-nucleon (NN) potentials based on chiral effective field theory [@EMrev1;@EMrev2;@LENPICrev1;@LENPICrev2] and use them in many-body methods such as Hartree-Fock many-body perturbation theory (which is well known as Møller–Plesset method in the community of chemistry) [@ShavittBartlett2009], in-medium similarity renormalization group (IM-SRG) [@StrobergRev19], and valence shell model (configuration interaction method) [@BrownRev;@CaurierRev;@OtsukaRev]. -In nuclear physics community, many public codes are already available. -Although it may not be possible to list them all, representative examples are ANTOINE [@ANTOINE], NuShellX [@NuShellX], BIGSTICK [@BIGSTICK1,@BIGSTICK2], and KSHELL [@KSHELL1,@KSHELL2] for valence shell-model and imsrg [@imsrgcode] for IM-SRG. -People are using those various codes, which are typically written in FORTRAN/Fortran, C++, etc., and call them in their homemade shell or Python scripts. +In the nuclear physics community, many public codes are already available. +Although it may not be possible to list them all, representative examples are ANTOINE [@ANTOINE], NuShellX [@NuShellX], BIGSTICK [@BIGSTICK1;@BIGSTICK2], and KSHELL [@KSHELL1;@KSHELL2] for valence shell-model and imsrg [@imsrgcode] for IM-SRG. +People are using those various codes, which are typically written in Fortran, C++, etc., and call them in their homemade shell or Python scripts. `NuclearToolkit.jl`, which is not a wrapper of those existing codes, provides -a new interface that combines these various methods into one and works on both laptops and supercomputers in almost the same way. That is achieved by high readability and portability of Julia language[@Bezanson2012]. +a new interface that combines these various methods into one and works on a variety of environments, including Linux, Mac, and Windows. This is achieved thanks to the high readability and portability of the Julia programming language [@Bezanson2012]. -This code has been used in previous works [@PTEPSY,@SY2n3n] +This code has been used in previous works [@PTEPSY;@SY2n3n]. # Acknowledgements diff --git a/src/IMSRG.jl/commutator.jl b/src/IMSRG.jl/commutator.jl index 12480bab..e6d1d024 100644 --- a/src/IMSRG.jl/commutator.jl +++ b/src/IMSRG.jl/commutator.jl @@ -1,57 +1,85 @@ """ - OpCommutator!(X::Op,Y::Op,ret::Op,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) where{Op <: Operator} - -overwrite ret operator by ``[X,Y]`` + OpCommutator!(X::Op,Y::Op,ret::Op,HFobj,Chan1b,Chan2bD,dictMono,d6j_lj,PandyaObj,to) where{Op <: Operator} + +overwrite `ret` operator by the commutator ``[X,Y]`` """ -function OpCommutator!(X::Op,Y::Op,ret::Op,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) where{Op <: Operator} +function OpCommutator!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD,dictMono,d6j_lj,PandyaObj::PandyaObject,to) where{Op <: Operator} Chan2b = Chan2bD.Chan2b - E0 = ret.zerobody - if X.hermite && Y.hermite; ret.hermite=false; ret.antihermite=true - elseif X.hermite && Y.antihermite; ret.hermite=true;ret.antihermite=false - elseif X.antihermite && Y.hermite; ret.hermite=true;ret.antihermite=false; - else ret.hermite = false;end + if X.hermite[1] && Y.hermite[1]; ret.hermite[1]=false; ret.antihermite[1]=true + elseif X.hermite[1] && Y.antihermite[1]; ret.hermite[1]=true;ret.antihermite[1]=false + elseif X.antihermite[1] && Y.hermite[1]; ret.hermite[1]=true;ret.antihermite[1]=false; + else ret.hermite[1] = false;end ## zero-body pieces - if !ret.antihermite - comm110ss!(X,Y,E0,HFobj) - comm220ss!(X,Y,E0,HFobj,Chan2b) - end - ## one-body pieces + if !ret.antihermite[1] + comm110ss!(X,Y,ret,HFobj) + comm220ss!(X,Y,ret,HFobj,Chan2b) + end + ## one-body pieces @timeit to "comm111" comm111ss!(X,Y,ret) - @timeit to "comm121" comm121ss!(X,Y,ret,HFobj,Chan1b,Chan2b,dictMono,PandyaObj) - @timeit to "comm221" comm221ss!(X,Y,ret,HFobj,Chan1b,Chan2bD,PandyaObj) + @timeit to "comm121" comm121ss!(X,Y,ret,HFobj,Chan1b,dictMono,PandyaObj) + @timeit to "comm221" comm221ss!(X,Y,ret,HFobj,Chan1b,Chan2bD,PandyaObj,to) + ## two-body pieces - @timeit to "comm122" comm122ss!(X,Y,ret,HFobj,Chan1b,Chan2b,PandyaObj,to) + @timeit to "comm122" comm122ss!(X,Y,ret,Chan2b,PandyaObj,to) @timeit to "comm222pphh" comm222_pphh_ss!(X,Y,ret,HFobj,Chan2bD,PandyaObj,to) - @timeit to "comm222ph" comm222ph_ss!(X,Y,ret,HFobj,Chan2bD,dict6j,PandyaObj,to) - + @timeit to "comm222ph" comm222ph_ss!(X,Y,ret,HFobj,Chan2bD,d6j_lj,PandyaObj,to) return nothing end """ - BCH_Product(X,Y,Z,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to;tol=1.e-4) + Bernoulli_number(k::Int64)::Float64 -returns ``Z`` to satisfy: ``e^Z = e^X e^Y`` +Return the k-th Bernoulli number. Some special cases are listed below +- B(0) = 1 +- B(1) = -1/2. In some literature, B(1) = 1/2. +- B(2) = 1/6 +- B(2n+1) = 0 (for n >=1) -``Z`` is calculated with Baker–Campbell–Hausdorff (BCH) formula: +For others, see the references [A000367](https://oeis.org/A000367) and [A002445](https://oeis.org/A002445). +""" +function Bernoulli_number(k::Int64)::Float64 + @assert k >=0 "Domain error on Bernoulli_number(k) k<0" + if k == 0; return 1.0; end + if k == 1; return -1/2; end + if k >= 3 && k%2 == 1; return 0.0; end + if k > 35 + @warn "Domein error for Bernoulli_number(k=$k). It returs 0, inaccurate for even input" + end + + nume = (1, -1, 1, -1, 5, -691, 7, -3617, 43867, -174611, 854513, -236364091, 8553103, -23749461029, 8615841276005, -7709321041217, 2577687858367, -26315271553053477373, 2929993913841559, -261082718496449122051) + deno = (6, 30, 42, 30, 66, 2730, 6, 510, 798, 330, 138, 2730, 6, 870, 14322, 510, 6, 1919190, 6, 13530, 1806, 690, 282, 46410, 66, 1590, 798, 870, 354, 56786730, 6, 510, 64722, 30, 4686, 140100870, 6, 30, 3318, 230010, 498, 3404310, 6, 61410, 272118, 1410, 6, 4501770, 6, 33330, 4326, 1590, 642, 209191710, 1518, 1671270, 42) + n = div(k,2) + return Float64(nume[n]/deno[n]) +end + +const berfac = [Float64(Bernoulli_number(k)/factorial(big(k))) for k = collect(1:35)] + + +""" + BCH_Product(X::Op,Y::Op,Z::Op,tmpOp::Op,Nested::Op,ncomm::Vector{Int64},norms::Vector{Float64},Chan1b::chan1b,Chan2bD::chan2bD,HFobj::HamiltonianNormalOrdered,dictMono,d6j_lj,PandyaObj::PandyaObject,to;tol=1.e-4) where Op <:Operator +returns ``Z`` to satisfy: ``e^Z = e^X e^Y``. + +``Z`` is calculated with Baker–Campbell–Hausdorff (BCH) formula: +``Z = X + Y + \\sum^{\\infty}_{k=1} ad^{(k)}_\\Omega(\\eta)`` ``Z = X + Y + 1/2[X, Y] + 1/12 [X,[X,Y]] + 1/12 [Y,[Y,X]] -1/24 [Y,[X,[X,Y]]] -1/720 [Y,[Y,[Y,[Y,X]]]] -1/720 [X,[X,[X,[X,Y]]]] +...`` -For IMSRG flow of ``H(s)``, ``X=\\eta(s)*ds``, ``Y=\\Omega(s)``, and ``Z=\\Omega(s+ds)`` +For IMSRG flow of ``H(s)``, ``X=\\eta(s) ds``, ``Y=\\Omega(s)``, and ``Z=\\Omega(s+ds)`` """ -function BCH_Product(X,Y,Z,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj, - dictMono,dict6j,PandyaObj,to;tol=1.e-4) - Nested.hermite = true; Nested.antihermite=false - berfac = [-0.5, 1.0/12.0, 0.0, -1.0/720.0, 0.0, 1.0/30240.0, 0.0, 1.0/1209600.0 ] +function BCH_Product(X::Op,Y::Op,Z::Op,tmpOp::Op,Nested::Op,ncomm::Vector{Int64},norms::Vector{Float64},Chan1b::chan1b,Chan2bD::chan2bD,HFobj::HamiltonianNormalOrdered, + dictMono,d6j_lj,PandyaObj::PandyaObject,to;tol=1.e-4,verbose=false) where Op <:Operator + Nested.hermite[1] = true; Nested.antihermite[1]=false Chan2b = Chan2bD.Chan2b - p_sps = HFobj.modelspace.p_sps; n_sps = HFobj.modelspace.n_sps + p_sps = HFobj.modelspace.p_sps; n_sps = HFobj.modelspace.n_sps + ## clear old history + aOp!(tmpOp,0.0); aOp!(Nested,0.0) ## comm0 term: X+Y -> Z Ncomm = 0 aOp1_p_bOp2_Op3!(X,Y,Z,1.0,1.0,0.0) - ## comm1 term: 1/2[X,Y] - ## norm check to determine whther to go further or not - Ncomm +=1 - aOp!(Nested,0.0) ## clear old history - @timeit to "comm." OpCommutator!(Y,X,Nested,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) + ## comm1 term: 1/2[X,Y] * 2 + ## norm check to determine whther to go further or not + Ncomm +=1 + @timeit to "comm." OpCommutator!(Y,X,Nested,HFobj,Chan1b,Chan2bD,dictMono,d6j_lj,PandyaObj,to) nx = getNorm(X,p_sps,n_sps,Chan2b) sqrt(getNorm1b(X.onebody,p_sps,n_sps)^2 + getNorm2b(X.twobody,Chan2b)^2) norm1b = getNorm1b(Nested.onebody,p_sps,n_sps) @@ -61,21 +89,27 @@ function BCH_Product(X,Y,Z,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj, if nxy *nx > tol Ncomm += 1 aOp!(tmpOp,0.0) - @timeit to "comm." OpCommutator!(Nested,X,tmpOp,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) + @timeit to "comm." OpCommutator!(Nested,X,tmpOp,HFobj,Chan1b,Chan2bD,dictMono,d6j_lj,PandyaObj,to) aOp1_p_bOp2!(tmpOp,Z,1.0/12.0,1.0) end k=1 - while getNorm(Nested,p_sps,n_sps,Chan2b) > tol && k < 3 - if k<=2 || k%2==1 + while getNorm(Nested,p_sps,n_sps,Chan2b) > tol + if k<=2 || k % 2 == 0 aOp1_p_bOp2!(Nested,Z,berfac[k],1.0) end aOp!(tmpOp,0.0) - @timeit to "comm." OpCommutator!(Y,Nested,tmpOp,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) + @timeit to "comm." OpCommutator!(Y,Nested,tmpOp,HFobj,Chan1b,Chan2bD,dictMono,d6j_lj,PandyaObj,to) aOp1_p_bOp2!(tmpOp,Nested,1.0,0.0) Ncomm += 1 k +=1 + if k > 35 + @warn "warning! iteration exceeds 35 in BCH_Product. results may be inaccurate..." + break + end end - + # if verbose + # println("$Ncomm times commuatator is needed in BCH_Product w/ tol = $tol ") + # end ### update norms for Omega(s+1) ncomm[1] += Ncomm norms[1] = getNorm1b(Z.onebody,p_sps,n_sps) @@ -84,44 +118,55 @@ function BCH_Product(X,Y,Z,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj, end """ - BCH_Transform(Omega,O0,Hs,tOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to;tol=1.e-9,maxit=50,verbose=false) - -Update ``B`` (assumed to be ``H`` or ``O``) via ``e^ABe^{-A} =B+[A,B]+1/2![A,[A,B]]+1/3![A,[A,[A,B]]]+...`` - -It needs 3 copy to store (k-1)-th adj./k-th adj./ret. + BCH_Transform(Omega,O0,Os,tOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to;tol=1.e-9,maxit=50,verbose=false) -Note that the `ret` and `tOp` are also overwritten. -`BCH_Transform(nOmega,H0,IMSRGObj,tmpOp,norms,Chan2b)` -e.g., -`Omega`: ``\\Omega(s+ds)``, `H0`: ``H(s=0)`` or ``O(s=0)``, and `ret`: ``H(s+ds)`` +Update ``Os`` via ``e^ABe^{-A} =B+[A,B]+1/2![A,[A,B]]+1/3![A,[A,[A,B]]]+...`` +Note that ``Os,tOp,Nested`` are set zero. +- `Omega`: ``\\Omega(s+ds)`` +- `O0`: ``O(s=0)`` +- `Os`: ``O(s+ds)`` """ -function BCH_Transform(Omega,O0,Hs,tOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj, - dictMono,dict6j,PandyaObj,to;tol=1.e-9,maxit=100,verbose=false) - if Omega.hermite && O0.hermite; tOp.hermite=false; tOp.antihermite=true - elseif Omega.hermite && O0.antihermite; tOp.hermite=true;tOp.antihermite=false - elseif Omega.antihermite && O0.hermite; tOp.hermite=true;tOp.antihermite=false; - else tOp.hermite = false;end - Nested.hermite = tOp.hermite; Nested.antihermite = tOp.antihermite - +function BCH_Transform(Omega::Op,O0::Op,Os::Op,tOp::Op,Nested::Op,ncomm,norms,Chan1b::chan1b,Chan2bD::chan2bD,HFobj::HamiltonianNormalOrdered, + dictMono,d6j_lj,PandyaObj::PandyaObject,to;tol=1.e-9,maxit=100,verbose=false) where Op<:Operator + if Omega.hermite[1] && O0.hermite[1] + tOp.hermite[1]=false; tOp.antihermite[1]=true + elseif Omega.hermite[1] && O0.antihermite[1] + tOp.hermite[1]=true; tOp.antihermite[1]=false + elseif Omega.antihermite[1] && O0.hermite[1] + tOp.hermite[1]=true; tOp.antihermite[1]=false + else + tOp.hermite[1] = false + end + Nested.hermite[1] = tOp.hermite[1]; Nested.antihermite[1] = tOp.antihermite[1] MS = HFobj.modelspace; p_sps = MS.p_sps; n_sps = MS.n_sps Chan2b = Chan2bD.Chan2b - aOp1_p_bOp2!(O0,Nested,1.0,0.0) # B -> Nested - aOp1_p_bOp2!(Nested,Hs,1.0,0.0) # Os = O0 + + aOp!(Os,0.0); aOp!(tOp,0.0); aOp!(Nested,0.0) + aOp1_p_bOp2!(O0,Nested,1.0,0.0) # O0 -> Nested (B) + aOp1_p_bOp2!(Nested,Os,1.0,0.0) # Os = O0 (first term) nx = getNorm(O0,p_sps,n_sps,Chan2b) ny = getNorm(Omega,p_sps,n_sps,Chan2b) epsilon = nx * exp(-2*ny) * tol / (2*ny) factor_kth = 1.0 + + epsilon = tol for iter=1:maxit aOp!(tOp,0.0) factor_kth /= iter - @timeit to "comm." OpCommutator!(Omega,Nested,tOp,HFobj,Chan1b,Chan2bD,dictMono,dict6j,PandyaObj,to) + @timeit to "comm." OpCommutator!(Omega,Nested,tOp,HFobj,Chan1b,Chan2bD,dictMono,d6j_lj,PandyaObj,to) ncomm[1] += 1 aOp1_p_bOp2!(tOp,Nested,1.0,0.0) - aOp1_p_bOp2!(Nested,Hs,factor_kth,1.0) + aOp1_p_bOp2!(Nested,Os,factor_kth,1.0) epsilon *= iter+1 normNest = getNorm(Nested,p_sps,n_sps,Chan2b) - if normNest < epsilon; break;end + if verbose + println("iter $iter E $(Os.zerobody[1])") + end + if normNest < epsilon; + #if verbose;println("BCHTrans converged at iter $iter under epsilon $epsilon");end + break + end if iter == maxit println("BCH transform didn't converge after $iter iteration") end @@ -129,83 +174,81 @@ function BCH_Transform(Omega,O0,Hs,tOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj, return nothing end -## comm. to 0-body -function comm110ss!(X,Y,Z0::zerobody,HFobj) where {zerobody<:Vector{Float64}} - if X.hermite && Y.hermite; return nothing;end - if X.antihermite && Y.antihermite; return nothing;end - x1bs = X.onebody; y1bs = Y.onebody +function comm110ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered) where {Op<:Operator} + if X.hermite[1] && Y.hermite[1]; return nothing;end + if X.antihermite[1] && Y.antihermite[1]; return nothing;end + Z0 = ret.zerobody; x1bs = X.onebody; y1bs = Y.onebody sps = HFobj.modelspace.sps; holes = HFobj.modelspace.holes - for pn = 1:2 + for pn = 1:2 x1b = x1bs[pn]; y1b = y1bs[pn] xyyx = x1b*y1b - y1b*x1b for hole in holes[pn] ja = sps[hole].j hidx = div(hole,2) + hole%2 - Z0[1] += (ja+1) * sps[hole].occ * xyyx[hidx,hidx] + Z0[1] += (ja+1) * sps[hole].occ[1] * xyyx[hidx,hidx] end end return nothing -end +end """ - comm220ss!(X,Y,Z::zerobody,HFobj,Chan2b) where {zerobody<:Vector{Float64}} + comm220ss!(X::Op,Y::Op,Z::Op,HFobj::HamiltonianNormalOrdered,Chan2b::Vector{chan2b}) where Op<:Operator ``[X_2,Y_2]_0 = 2 \\sum_{J}(2J+1) \\mathrm{Tr}(X_{hh'pp'} Y_{pp'hh'}) `` """ -function comm220ss!(X,Y,Z::zerobody,HFobj,Chan2b) where {zerobody<:Vector{Float64}} +function comm220ss!(X::Op,Y::Op,Z::Op,HFobj::HamiltonianNormalOrdered,Chan2b::Vector{chan2b}) where Op<:Operator sps = HFobj.modelspace.sps x2bs = X.twobody; y2bs = Y.twobody - for ch = 1:length(x2bs) + for ch in eachindex(x2bs) x2b = x2bs[ch]; y2b = y2bs[ch]; tbc = Chan2b[ch] J = tbc.J; kets = tbc.kets NJ = 2*J+1 zsum = 0.0 - for ib = 1:length(kets) + for ib in eachindex(kets) a,b = kets[ib] - na = sps[a].occ; nb = sps[b].occ + na = sps[a].occ[1]; nb = sps[b].occ[1] if na * nb == 0.0; continue;end - for ik = 1:length(kets) + for ik in eachindex(kets) c,d = kets[ik] - nc = sps[c].occ; nd = sps[d].occ + nc = sps[c].occ[1]; nd = sps[d].occ[1] zsum += (x2b[ib,ik]*y2b[ik,ib]-y2b[ib,ik]*x2b[ik,ib])*na*nb *(1-nc)*(1-nd) - end + end end - Z[1] += NJ * zsum - end + Z.zerobody[1] += NJ * zsum + end return nothing end -## comm. to 1body """ comm111ss!(X,Y,ret;inifac=1.0) -``[X_1,Y_1]`` +returns ``[X_1,Y_1]`` """ -function comm111ss!(X,Y,ret;inifac=1.0) +function comm111ss!(X::Op,Y::Op,ret::Op;inifac=1.0) where Op<:Operator m1bs = ret.onebody; x1bs = X.onebody; y1bs = Y.onebody for pn = 1:2 m1b = m1bs[pn]; x1b = x1bs[pn]; y1b = y1bs[pn] - BLAS.gemm!('N','N',1.0,x1b,y1b,inifac,m1b) + BLAS.gemm!('N','N',1.0,x1b,y1b,inifac,m1b) BLAS.gemm!('N','N',-1.0,y1b,x1b,1.0,m1b) end return nothing -end +end """ comm121ss!(X,Y,ret,HFobj,Chan1b,Chan2b,dictMono,PandyaObj) -returns ``[X_1,Y_2] - [Y_1,X_2]``, whose elements are given as +returns ``[X_1,Y_2] - [Y_1,X_2]``, whose elements are given as `` [X_1,Y_2]_{ij} = \\frac{1}{2j_i+1}\\sum_{ab} (n_a \\bar{n}_b) \\sum_{J} (2J+1) (X_{ab} Y^J_{biaj} - X_{ba} Y^J_{aibj}) `` """ -function comm121ss!(X,Y,ret,HFobj,Chan1b,Chan2b,dictMono,PandyaObj) +function comm121ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,dictMono,PandyaObj::PandyaObject) where Op <:Operator x1bs = X.onebody; y1bs = Y.onebody; m1bs = ret.onebody - x2bs = X.twobody; y2bs = Y.twobody; hZ = ifelse(ret.hermite,1.0,-1.0) + x2bs = X.twobody; y2bs = Y.twobody; hZ = ifelse(ret.hermite[1],1.0,-1.0) sps = HFobj.modelspace.sps keys6j = PandyaObj.keys6j dim1b = size(x1bs[1])[1] - for pn = 1:2 #pn_for i,j - y1b = y1bs[pn]; m1b = m1bs[pn] + for pn = 1:2 + y1b = y1bs[pn]; m1b = m1bs[pn] chan1bs = Chan1b.chs1b[pn] imin = ifelse(pn==1,1,2) imax = ifelse(pn==1,2*dim1b-1,2*dim1b) @@ -228,10 +271,10 @@ function comm121ss!(X,Y,ret,HFobj,Chan1b,Chan2b,dictMono,PandyaObj) amin = ifelse(pn_ab==1,1,2) amax = ifelse(pn_ab==1,2*dim1b-1,2*dim1b) for a = amin:2:amax - oa = sps[a]; na = oa.occ; idx_a = div(a,2)+a%2 + oa = sps[a]; na = oa.occ[1]; idx_a = div(a,2)+a%2 nonzero_bs = chan1bs_ab[a] for b in nonzero_bs - ob = sps[b]; nb = ob.occ; idx_b = div(b,2)+b%2 + ob = sps[b]; nb = ob.occ[1]; idx_b = div(b,2)+b%2 #if na + nb != 1; continue;end if (na * nb != 0.0 || na + nb == 0.0); continue;end # for fractional nab = na * (1-nb) @@ -247,7 +290,7 @@ function comm121ss!(X,Y,ret,HFobj,Chan1b,Chan2b,dictMono,PandyaObj) m1b[idx_i,idx_j] += x1y2 -y1x2 if idx_i != idx_j; m1b[idx_j,idx_i] = hZ * m1b[idx_i,idx_j];end end - end + end end return nothing end @@ -256,9 +299,9 @@ end """ single_121(a,b,i,j,o1b,o2bs,sps,key,targetDict;verbose=false) -calc 121part ``[X_1,Y_2]-[Y_1,X_2]`` for given `i`,`j` and `a`,`b`. +Function to calculate 121part ``[X_1,Y_2]-[Y_1,X_2]`` for given `i`,`j` and `a`,`b`. -``\\sum_{J} [J]^2 (o1_{ab}o2_{biaj} - o1_{ba}o2_{aibj})`` +``\\sum_{J} [J]^2 (o_{1,ab}o_{2,biaj} - o_{1,ba}o_{2,aibj})`` """ function single_121(a,b,i,j,o1b,o2bs,sps,key,targetDict;verbose=false) key1 = @view key[1:2]; key2 = @view key[3:4] @@ -275,19 +318,18 @@ function single_121(a,b,i,j,o1b,o2bs,sps,key,targetDict;verbose=false) if b==i; fac_bi *= sqrt(2.0);end if b > i; flip_bi = true;key2[1]=i;key2[2]=b;end fac = fac_aj * fac_bi - for tmp_ket in targetDict[key1].vals + for tmp_ket in targetDict[key1].vals ch,i_aj,J = tmp_ket o2b = o2bs[ch]; NJ = (2*J+1) - phase_aj = ifelse(flip_aj, (-1)^(div(ja+jj,2)+J+1), 1.0) - for tmp_bra in targetDict[key2].vals + phase_aj = ifelse(flip_aj, (-1)^(div(ja+jj,2)+J+1), 1) + for tmp_bra in targetDict[key2].vals ch_bra,i_bi,Jbra = tmp_bra if ch_bra != ch;continue;end - phase_bi = ifelse(flip_bi, (-1)^(div(jb+ji,2)+Jbra+1),1.0) + phase_bi = ifelse(flip_bi, (-1)^(div(jb+ji,2)+Jbra+1),1) tmp = fac * NJ * phase_aj * phase_bi * o1b[idx_a,idx_b] *o2b[i_bi,i_aj] r_ajbi += tmp end end - ## aibj term r_aibj = 0.0 flip_ai = flip_bj = false @@ -302,314 +344,349 @@ function single_121(a,b,i,j,o1b,o2bs,sps,key,targetDict;verbose=false) for tmp_ket in targetDict[key1].vals ch,i_ai,J = tmp_ket o2b = o2bs[ch]; NJ = (2*J+1) - phase_ai = ifelse(flip_ai, (-1)^(div(ja+ji,2)+J+1), 1.0) + phase_ai = ifelse(flip_ai, (-1)^(div(ja+ji,2)+J+1), 1) for tmp_bra in targetDict[key2].vals ch_bra,i_bj,Jbra = tmp_bra if ch_bra != ch;continue;end - phase_bj = ifelse(flip_bj, (-1)^(div(jb+jj,2)+Jbra+1),1.0) + phase_bj = ifelse(flip_bj, (-1)^(div(jb+jj,2)+Jbra+1),1) r_aibj += fac * NJ * phase_ai * phase_bj * o1b[idx_b,idx_a] *o2b[i_ai,i_bj] end end - return r_ajbi - r_aibj + return r_ajbi - r_aibj +end + +function mul_dvec_mat!(dim,B,A,C) + @inbounds @simd for j = 1:dim + dest = @view C[:,j] + Avec = @view A[:,j] + dest .= B .* Avec + end + return nothing end """ - comm221ss!(X,Y,ret,HFobj,Chan1b,Chan2bD,PandyaObj) + comm221ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD,PandyaObj::PandyaObject) where Op<:Operator returns ``[X_2,Y_2]_1 - [Y_2,X_2]_1``, whose elements are given as ``[X_2,Y_2]_{ij} = 1/(2[j_i]) \\sum_{abc}\\sum_{J}[J](n'_an'_bn_c-n_an_bn'_c)(X_{2,ciab}Y_{2,abcj}-Y_{2,ciab}X_{2,abcj})`` """ -function comm221ss!(X,Y,ret,HFobj,Chan1b,Chan2bD,PandyaObj) - Chan2b = Chan2bD.Chan2b - hZ = ifelse(ret.hermite,1.0,-1.0) +function comm221ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD,PandyaObj::PandyaObject,to) where Op<:Operator + Chan2b = Chan2bD.Chan2b + vecs_nab = PandyaObj.vecs_nab + vecs_nab_bar = PandyaObj.vecs_nab_bar + tMats = PandyaObj.tMat + hZ = ifelse(ret.hermite[1],1.0,-1.0) x2bs = X.twobody; y2bs = Y.twobody; m1bs = ret.onebody sps = HFobj.modelspace.sps - holes = HFobj.modelspace.holes - particles = HFobj.modelspace.particles - dim1b = size(m1bs[1])[1]; nchan = length(Chan2b) - Dict_chidx_from_ketJ = Chan2bD.dict_ch_idx_from_ket - key6js = PandyaObj.keys6j - for pn_ij = 1:2 - t1b = m1bs[pn_ij] - chan1b = Chan1b.chs1b[pn_ij] - @threads for idx_i = 1:dim1b - i = 2*(idx_i-1) + pn_ij - oi = sps[i]; ji = oi.j; ni = oi.occ - jdeno = 1.0/(ji+1) - tkey = key6js[threadid()] - tkey = @view tkey[1:2] - for j in chan1b[i] - idx_j = div(j,2) + j%2 - jj = sps[j].j; nj = sps[j].occ - for ch = 1:nchan - tbc = Chan2b[ch]; x2 = x2bs[ch]; y2 = y2bs[ch] - J = tbc.J; Tz = tbc.Tz; tkets = tbc.kets;nkets=length(tkets) - NJ = 2*J+1 - tdict = Dict_chidx_from_ketJ[2+div(Tz,2)][J+1] - for i_ab =1:nkets - a,b = tkets[i_ab] - na = sps[a].occ - nb = sps[b].occ - n_ab = na * nb - nbar_ab = (1-na)*(1-nb) - sqfac_ab = ifelse(a==b,sqrt(2.0),1.0) - for idx_cspace = 1:2 - c_space = ifelse(idx_cspace==1,holes,particles) - for pn_c = 1:2 - for c in c_space[pn_c] - jc = sps[c].j; nc = sps[c].occ; nbar_c = 1-nc - if Tz != sps[j].tz + sps[c].tz; continue;end - if Tz != sps[i].tz + sps[c].tz; continue;end - if !tri_check(jc,ji,2*J);continue;end - if !tri_check(jc,jj,2*J);continue;end - if abs(Tz) ==2 && J%2 == 1 && (c == i || c==j);continue;end - fflip_ci = (-1)^(div(ji+jc,2)+J+1) - fflip_cj = (-1)^(div(jj+jc,2)+J+1) - phase_ci = ifelse(c>i,fflip_ci,1.0) - phase_cj = ifelse(c>j,fflip_cj,1.0) - i_ci = i_cj = 0 - if c<=i - tkey[1] = c; tkey[2] = i - else - tkey[1] = i; tkey[2] = c - end - for tmp in tdict[tkey] - if tmp[1] == ch - i_ci = tmp[2] - break - end - end - if i_ci == 0; continue; end - if c<=j - tkey[1] = c; tkey[2] = j - else - tkey[1] = j; tkey[2] = c - end - for tmp in tdict[tkey] - if tmp[1] == ch - i_cj = tmp[2] - break - end - end - if i_cj == 0; continue; end - sqfac_ci = ifelse(c==i,sqrt(2.0),1.0) - sqfac_cj = ifelse(c==j,sqrt(2.0),1.0) - sqfac = sqfac_ci*sqfac_cj #* sqfac_ab^2 - x2y2 = (x2[i_ci,i_ab] * y2[i_ab,i_cj] - y2[i_ci,i_ab] * x2[i_ab,i_cj]) * sqfac * (nbar_ab*nc + n_ab*nbar_c) - t1b[idx_i,idx_j] += phase_ci * phase_cj * jdeno * x2y2 * NJ - end - end - end - end + dim1b = size(m1bs[1])[1] + ch_dict = Chan2bD.dict_ch_idx_from_ket + nthre = nthreads() + for i=1:2*nthre; PandyaObj.copy_1bmat[i] .= 0.0;end + @inbounds @threads :dynamic for ch in eachindex(x2bs) + tbc = Chan2b[ch]; nket = tbc.nkets + if nket == 0; continue;end + J = tbc.J; Tz = tbc.Tz + x2 = x2bs[ch]; y2 = y2bs[ch] + tdict = ch_dict[div(Tz+2,2)+1] + NJ = 2.0*J+1.0 + vec_nab = vecs_nab[ch] + vec_nab_bar = vecs_nab_bar[ch] + tid = threadid() + tMat = tMats[tid] + XY = @view tMat[1:nket,1:nket] + XYbar = @view tMat[nket+1:2*nket,nket+1:2*nket] + XnY = @view tMat[1:nket,nket+1:2*nket] + YnX = @view tMat[nket+1:2*nket,1:nket] + + mul_dvec_mat!(nket,vec_nab,y2,XnY) + BLAS.gemm!('N','N',1.0,x2,XnY,0.0,XY) + mul_dvec_mat!(nket,vec_nab,x2,YnX) + BLAS.gemm!('N','N',-1.0,y2,YnX,1.0,XY) + mul_dvec_mat!(nket,vec_nab_bar,y2,XnY) + BLAS.gemm!('N','N',1.0,x2,XnY,0.0,XYbar) + mul_dvec_mat!(nket,vec_nab_bar,x2,YnX) + BLAS.gemm!('N','N',-1.0,y2,YnX,1.0,XYbar) + + for c = 1:2*dim1b + oc = sps[c]; jc = oc.j; nc = oc.occ[1]; nbar_c = 1-nc + pn_ij = 0 + if Tz==0 + pn_ij = ifelse(oc.tz==-1,2,1) + else + pn_ij = ifelse(oc.tz==-1,1,2) + end + tmat = PandyaObj.copy_1bmat[(pn_ij-1)*nthre+tid] + chan1b = Chan1b.chs1b[pn_ij] + for idx_i = 1:dim1b + i = 2*(idx_i-1) + pn_ij + oi = sps[i]; ji = oi.j + if Tz != sps[i].tz + sps[c].tz; continue;end + if !tri_check(jc,ji,2*J);continue;end + if abs(Tz) == 2 && J%2 == 1 && c==i;continue;end + jdeno = 1.0/(ji+1) + sqfac_ci = ifelse(c==i,sqrt(2.0),1.0) + tf_ci = ((div(ji+jc,2)+J+1) % 2 == 1) + fflip_ci = ifelse(tf_ci,-1.0,1.0) + phase_ci = ifelse(c>i,fflip_ci,1) + i_ci = 0 + nkey = get_nkey3_ketJ(c,i,J) + if c>i; nkey=get_nkey3_ketJ(i,c,J);end + + tmp = tdict[nkey] + if tmp[1] == ch; i_ci = tmp[2];end + if i_ci == 0; continue; end + + for j in chan1b[i] + idx_j = div(j,2) + j%2 + jj = sps[j].j + if Tz != sps[j].tz + sps[c].tz; continue;end + if !tri_check(jc,jj,2*J);continue;end + if abs(Tz) ==2 && J%2 == 1 && c==j;continue;end + sqfac_cj = ifelse(c==j,sqrt(2.0),1.0) + tf_cj = ((div(jj+jc,2)+J+1) % 2 == 1) + fflip_cj = ifelse(tf_cj, -1.0, 1.0) + phase_cj = ifelse(c>j,fflip_cj,1.0) + i_cj = 0 + nkey = get_nkey3_ketJ(c,j,J) + if c > j; nkey = get_nkey3_ketJ(j,c,J);end + + tmp = tdict[nkey] + if tmp[1] == ch; i_cj = tmp[2];end + if i_cj == 0; continue; end + + sqfac = sqfac_ci*sqfac_cj + v_1 = nbar_c * XY[i_ci,i_cj] + v_2 = nc * XYbar[i_ci,i_cj] + tmat[idx_i,idx_j] += phase_ci * phase_cj * NJ *sqfac* jdeno * (v_1 + v_2) + if idx_i != idx_j; tmat[idx_j,idx_i] = hZ * tmat[idx_i,idx_j];end end - if idx_i != idx_j; t1b[idx_j,idx_i] = hZ * t1b[idx_i,idx_j];end end end end + for i = 1:2*nthre + pn_ij = ifelse(i<=nthre,1,2) + t1b = m1bs[pn_ij] + axpy!(1.0,PandyaObj.copy_1bmat[i],t1b) + end return nothing end - -function comm222ph_ss!(X,Y,ret,HFobj,Chan2bD,dict6j,PandyaObj,to) - hy = ifelse(Y.hermite,1.0,-1.0) - hz = ifelse(ret.hermite,1.0,-1.0) +function comm222ph_ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan2bD::chan2bD,d6j_lj,PandyaObj::PandyaObject,to) where Op<:Operator + hy = ifelse(Y.hermite[1],1.0,-1.0) + hz = ifelse(ret.hermite[1],1.0,-1.0) MS = HFobj.modelspace; sps = MS.sps - numbers = PandyaObj.numbers + numbers = PandyaObj.numbers Chan2b_Pandya = PandyaObj.Chan2b - nchPandya = length(Chan2b_Pandya) phkets = PandyaObj.phkets PhaseMats = PandyaObj.PhaseMats - Zbars = PandyaObj.Zbars; XYbars = PandyaObj.XYbars; keys6j = PandyaObj.keys6j - @threads for ich=1:nchPandya - tmpMat = PandyaObj.tMat[threadid()] - key6j = keys6j[threadid()] - Zbar = Zbars[ich]; Zbar .= 0.0 - tbc_cc = Chan2b_Pandya[ich] - tnumbers = numbers[ich] - ch_cc,nKets_cc,nhh,nph = tnumbers - nph_kets = nhh + nph - Xbar_ph = @view XYbars[threadid()][1][1:nKets_cc,1:2*nph_kets] - Ybar_ph = @view XYbars[threadid()][2][1:2*nph_kets,1:nKets_cc] - if nKets_cc * nph_kets !=0 - Xbar_ph .= 0.0; Ybar_ph .= 0.0 - DoPandyaTransformation(X, Xbar_ph, tbc_cc, Chan2bD, HFobj, PandyaObj, tnumbers,dict6j,key6j,"T") - DoPandyaTransformation(Y, Ybar_ph, tbc_cc, Chan2bD, HFobj, PandyaObj, tnumbers,dict6j,key6j,"N") - PhaseMat = PhaseMats[ich]; PhaseMat .= 1.0 - tkets = tbc_cc.kets - for iket = 1:nKets_cc - p,q = tkets[iket] - jp = sps[p].j; jq = sps[q].j - if div(jp+jq,2) % 2 != 0;continue;end - tv = @view PhaseMat[iket,:]; tv .*= -1.0 - tv = @view PhaseMat[:,iket]; tv .*= -1.0 + Zbars = PandyaObj.Zbars; XYbars = PandyaObj.XYbars + @timeit to "Pandya loop" @inbounds @threads :dynamic for ich in eachindex(Chan2b_Pandya) + ch_cc,nKets_cc,nhh,nph = numbers[ich] + nph_kets = nhh + nph + if nKets_cc * nph_kets == 0; continue; end + tbc_cc = Chan2b_Pandya[ich] + Zbar = Zbars[ich] #; Zbar .= 0.0 + + tid = threadid() + Xbar_ph = @view XYbars[tid][1][1:nKets_cc,1:2*nph_kets] + Ybar_ph = @view XYbars[tid][2][1:2*nph_kets,1:nKets_cc] + Xbar_ph .= 0.0; Ybar_ph .= 0.0 + + DoPandyaTransformation(X, Xbar_ph, tbc_cc, Chan2bD, HFobj, nph_kets, d6j_lj, to, "T") + DoPandyaTransformation(Y, Ybar_ph, tbc_cc, Chan2bD, HFobj, nph_kets, d6j_lj, to, "N") + + PhaseMat = PhaseMats[ich]; PhaseMat .= 1.0 + tkets = tbc_cc.kets + for iket in eachindex(tkets) + p,q = tkets[iket] + jp = sps[p].j; jq = sps[q].j + if div(jp+jq,2) % 2 != 0;continue;end + tv = @view PhaseMat[iket,:]; tv .*= -1.0 + tv = @view PhaseMat[:,iket]; tv .*= -1.0 + end + PhaseMatY = @view PhaseMat[phkets[ich],:] + + Zleft = @view Zbar[:,1:nKets_cc] + Zright = @view Zbar[:,nKets_cc+1:2*nKets_cc] + tmpMat = PandyaObj.tMat[tid] + calcZbar!(Xbar_ph,Ybar_ph,PhaseMat,PhaseMatY,tmpMat,hy,nph_kets,nKets_cc,Zleft,Zright,hz) + end + @timeit to "AddInv" AddInvPandya!(Zbars,ret,Chan2bD,d6j_lj,PandyaObj,sps,to) + return nothing +end + +""" +Function to store `d6j_lj` needed in IMSRGflow. +Note that the manipulations in this function are meaningless. +""" +function def_d6j_lj_by_run!(X::Op,Y::Op,HFobj::HamiltonianNormalOrdered,Chan2bD::chan2bD,d6j_lj,PandyaObj::PandyaObject,to) where Op<:Operator + MS = HFobj.modelspace; sps = MS.sps + numbers = PandyaObj.numbers + Chan2b_Pandya = PandyaObj.Chan2b + XYbars = PandyaObj.XYbars + for ich in eachindex(Chan2b_Pandya) + ch_cc,nKets_cc,nhh,nph = numbers[ich] + nph_kets = nhh + nph + if nKets_cc * nph_kets == 0; continue; end + tbc_cc = Chan2b_Pandya[ich] + Xbar_ph = @view XYbars[1][1][1:nKets_cc,1:2*nph_kets] + Ybar_ph = @view XYbars[1][2][1:2*nph_kets,1:nKets_cc] + DoPandyaTransformation(X, Xbar_ph, tbc_cc, Chan2bD, HFobj, nph_kets, d6j_lj, to, "T";def_mode=true) + DoPandyaTransformation(Y, Ybar_ph, tbc_cc, Chan2bD, HFobj, nph_kets, d6j_lj, to, "N";def_mode=true) + end + Chan2b =Chan2bD.Chan2b + numbers_addinv = PandyaObj.numbers_addinv + for ich in eachindex(numbers_addinv) + ch = numbers_addinv[ich][1] + tbc = Chan2b[ch]; nKets = tbc.nkets + if nKets == 0;continue;end + tkets = tbc.kets; J = tbc.J + for ibra in eachindex(tkets) + i,j = tkets[ibra] + ji = sps[i].j; jj = sps[j].j + for iket = ibra:nKets + k,l = tkets[iket] + jk = sps[k].j; jl = sps[l].j + Jpmin = max( abs(div(ji-jl,2)), abs(div(jj-jk,2))) + Jpmax = min( div(ji+jl,2), div(jj+jk,2)) + for Jpr = Jpmin:Jpmax + call_d6j_defbyrun(ji,jj,J*2,jk,jl,Jpr*2,d6j_lj;def_mode=true) + end + Jpmin = max( abs(div(ji-jk,2)), abs(div(jj-jl,2))) + Jpmax = min( div(ji+jk,2), div(jj+jl,2)) + for Jpr = Jpmin:Jpmax + call_d6j_defbyrun(ji,jj,J*2,jl,jk,Jpr*2,d6j_lj;def_mode=true) + end end - PhaseMatY = @view PhaseMat[phkets[ich],:] - Zleft = @view Zbar[:,1:nKets_cc] - Zright = @view Zbar[:,nKets_cc+1:2*nKets_cc] - calcZbar!(Xbar_ph,Ybar_ph,PhaseMat,PhaseMatY,tmpMat,hy,nph_kets,nKets_cc,Zleft,Zright,hz) end end - @timeit to "AddInv" AddInvPandya!(Zbars,ret,Chan2bD,dict6j,PandyaObj,sps,to) return nothing -end +end + """ calcZbar!(Xbar,Ybar,PhaseMat,PhaseMatY,tmpMat,hy,nph_kets,nKets_cc,Zlefthalf,Zrighthalf,hz) -- `Xbar`: (`nKets_cc`, 2*`nph_kets`) matrix -- `Ybar`: (2*`nph_kets`,`nKets_cc`) matrix -- `PhaseMatY`: (`nph_kets`,`nKets_cc`) matrix -- `Zbar`: (`nKets_cc`, 2*`nKets_cc`) matrix +- `Xbar`: (`nKets_cc`, 2*`nph_kets`) matrix or SubArray +- `Ybar`: (2*`nph_kets`,`nKets_cc`) matrix or SubArray +- `PhaseMatY`: (`nph_kets`,`nKets_cc`) matrix or SubArray +- `Zbar`: (`nKets_cc`, 2*`nKets_cc`) matrix or SubArray """ -function calcZbar!(Xbar,Ybar,PhaseMat,PhaseMatY,tmpMat,hy,nph_kets,nKets_cc, - Zlefthalf,Zrighthalf,hz) +function calcZbar!(Xbar,Ybar,PhaseMat,PhaseMatY,tmpMat,hy,nph_kets,nKets_cc,Zlefthalf,Zrighthalf,hz) BLAS.gemm!('N','N',1.0,Xbar,Ybar,0.0,Zlefthalf) - ru = @view Ybar[nph_kets+1:2*nph_kets,:] + ru = @view Ybar[nph_kets+1:2*nph_kets,:] rl = @view Ybar[1:nph_kets,:] upper = @view tmpMat[1:nph_kets,1:nKets_cc]; upper .= (ru .* PhaseMatY) lower = @view tmpMat[nph_kets+1:2*nph_kets,1:nKets_cc]; lower .= (rl .* PhaseMatY) tmpMatr = @view tmpMat[1:2*nph_kets,1:nKets_cc] BLAS.gemm!('N','N',hy,Xbar,tmpMatr,0.0,Zrighthalf) - tM = @view tmpMat[1:nKets_cc,1:nKets_cc]; tM .= Zrighthalf' .* PhaseMat; Zrighthalf .+= tM - tM .= 0.0; axpy!(hz,Zlefthalf',tM); Zlefthalf .+= tM return nothing -end +end -function AddInvPandya!(Zbars,ret,Chan2bD,dict6j,PandyaObj,sps,to) +function AddInvPandya!(Zbars::Vector{Matrix{Float64}},ret::Operator,Chan2bD::chan2bD,d6j_lj,PandyaObj::PandyaObject,sps,to) Chan2b =Chan2bD.Chan2b Chan2b_Pandya = PandyaObj.Chan2b dict_2b_ch = Chan2bD.dict_ch_JPT dict_ch2ich = PandyaObj.dict_ch2ich numbers_addinv = PandyaObj.numbers_addinv tdict_ichidx = PandyaObj.dict_ich_idx_from_ketcc - hermite = ret.hermite - ofst1 = 1000 - @inbounds @threads for ich = 1:length(numbers_addinv) + hermite = ret.hermite[1] + + PandyaChannels = PandyaObj.Pandya3Channels + vec = PandyaObj.vec_flat + vec .*= 0.0 + idxdict_nth = PandyaObj.idxdict_nth + + @inbounds @threads for nth in eachindex(PandyaChannels) + tmp = PandyaChannels[nth] + ch = tmp[1] + ibra = tmp[2] + iket = tmp[3] + tbc = Chan2b[ch] + tkets = tbc.kets; J = tbc.J + i,j = tkets[ibra] + li = sps[i].l; tzi = sps[i].tz + ji = sps[i].j; jj = sps[j].j + d_ij = delta(i,j) + + k,l = tkets[iket] + lk = sps[k].l; jk = sps[k].j; tzk = sps[k].tz + ll = sps[l].l; jl = sps[l].j; tzl = sps[l].tz + + prty_cc = ifelse((li+ll)%2==0,1,-1) + aTz_cc = abs(tzi+tzl) + commij = z_from_zbar(aTz_cc,prty_cc,i,j,k,l,ji,jj,J,jk,jl,d6j_lj,dict_ch2ich,dict_2b_ch,tdict_ichidx,Zbars,Chan2b_Pandya,to) + commji = 0.0 + if k==l + commji = commij + elseif i==j + phase_odd = (div(ji+jj,2)+div(jk+jl,2))%2 == 1 + commji = ifelse(phase_odd,-1.0,1.0) * commij + else + prty_cc = ifelse((li+lk)%2==0,1,-1) + aTz_cc = abs(tzi+tzk) + commji = z_from_zbar(aTz_cc,prty_cc,i,j,l,k,ji,jj,J,jl,jk,d6j_lj,dict_ch2ich,dict_2b_ch,tdict_ichidx,Zbars,Chan2b_Pandya,to) + end + if commij == commji == 0.0; continue;end + d_kl = delta(k,l) + tnorm = ifelse(d_ij==d_kl, 1.0+d_ij,sqrt(2.0)) + phase_kl = (div(jk+jl,2)-J)%2 + phase = ifelse(phase_kl==1,-1.0,1.0) + vec[nth] -= (commij - phase * commji) /tnorm + end + + @inbounds @threads for ich in eachindex(numbers_addinv) ch = numbers_addinv[ich][1] - tbc = Chan2b[ch]; tkets = tbc.kets; J = tbc.J - nKets = length(tkets) - if nKets != 0 - key6j = PandyaObj.keys6j[threadid()] - Z2b = ret.twobody[ch] - tdict = dict6j[J+1] - @inbounds for ibra = 1:nKets - i,j = tkets[ibra] - li = sps[i].l; tzi = sps[i].tz - ji = sps[i].j; jj = sps[j].j - ketmin = ifelse(hermite,ibra,ibra+1) - @inbounds for iket = ketmin:nKets - k,l = tkets[iket] - lk = sps[k].l; jk = sps[k].j; tzk = sps[k].tz - ll = sps[l].l; jl = sps[l].j; tzl = sps[l].tz - commij = commji = 0.0 - prty_cc = (-1)^((li+ll)%2) - aTz_cc = abs(tzi+tzl) - Jpmin = max(abs(div(ji-jl,2)),abs(div(jk-jj,2))) - Jpmax = min(div(ji+jl,2), div(jk+jj,2)) - for Jpr = Jpmin:Jpmax - nkey = get_nkey_from_key6j(ji,jj,jk,jl,Jpr,ofst1) - sixj = tdict[nkey] - if abs(sixj) < 1.e-8;continue;end - key_JPT = @view key6j[1:3] - key_JPT[1] = aTz_cc; key_JPT[2] = prty_cc; key_JPT[3] = Jpr - ich_cc = dict_ch2ich[ dict_2b_ch[key_JPT].Vch ] - nketcc = length(Chan2b_Pandya[ich_cc].kets) - flipil = ifelse(i>l,true,false); flipkj = ifelse(k>j,true,false) - tkey_il = @view key6j[1:2]; tkey_kj = @view key6j[3:4] - update_key!(i,l,flipil,tkey_il) - update_key!(k,j,flipkj,tkey_kj) - - idx_il = tdict_ichidx[ich_cc][tkey_il[1] * ofst1 + tkey_il[2]] - idx_kj = tdict_ichidx[ich_cc][tkey_kj[1] * ofst1 + tkey_kj[2]] + ifelse(k>j,nketcc,0) - - phaseil = (-1)^( div(ji+jl,2)+Jpr+1 ) - phase = ifelse(flipil,phaseil,1.0) - me1 = Zbars[ich_cc][idx_il,idx_kj] - commij -= (2*Jpr+1) * sixj * me1 *phase - end - if k==l - commji = commij - elseif i==j - commji = (-1)^((div(ji+jj,2)+div(jk+jl,2))%2) *commij - else - prty_cc = (-1)^((li+lk)%2) - aTz_cc = abs(tzi+tzk) - Jpmin = max( abs(div(jj-jl,2)), abs(div(jk-ji,2))) - Jpmax = min( div(jj+jl,2), div(jk+ji,2)) - for Jpr = Jpmin:Jpmax - nkey = get_nkey_from_key6j(jj,ji,jk,jl,Jpr,ofst1) - sixj = tdict[nkey] - - if abs(sixj) < 1.e-8;continue;end - key_JPT = @view key6j[1:3] - key_JPT[1] = aTz_cc; key_JPT[2] = prty_cc; key_JPT[3] = Jpr - ch_cc = dict_2b_ch[key_JPT].Vch - ich_cc = dict_ch2ich[ch_cc] - nketcc = length(Chan2b_Pandya[ich_cc].kets) - flipik = ifelse(i>k,true,false); fliplj = ifelse(l>j,true,false) - tkey_ik = @view key6j[1:2]; tkey_lj = @view key6j[3:4] - update_key!(i,k,flipik,tkey_ik) - update_key!(l,j,fliplj,tkey_lj) - - idx_ik = tdict_ichidx[ich_cc][tkey_ik[1]*ofst1+tkey_ik[2]] - idx_lj = tdict_ichidx[ich_cc][tkey_lj[1]*ofst1+tkey_lj[2]]+ ifelse(l>j,nketcc,0) - - phaseik = (-1)^( div(ji+jk,2)+Jpr+1 ) - phase = ifelse(flipik,phaseik,1.0) - me1 = Zbars[ich_cc][idx_ik,idx_lj] * phase - commji -= (2*Jpr+1) * sixj * me1 - end - end - d_ij = delta(i,j);d_kl = delta(k,l) - tnorm = ifelse(d_ij==d_kl, 1.0+delta(i,j),sqrt(2.0)) - phase = (-1)^(div(jk+jl,2)-J) - Z2b[ibra,iket] -= (commij - phase * commji) /tnorm - if hermite - Z2b[iket,ibra] = Z2b[ibra,iket] - elseif iket != ibra - Z2b[iket,ibra] = -Z2b[ibra,iket] - end - end + tbc = Chan2b[ch]; nKets = tbc.nkets + tkets = tbc.kets + Z2b = ret.twobody[ch] + + for ibra in eachindex(tkets) + ketmin = ifelse(hermite,ibra,ibra+1) + for iket = ketmin:nKets + v = vec[idxdict_nth[get_nkey3_u(ch,ibra,iket)]] + Z2b[ibra,iket] += v + if hermite + Z2b[iket,ibra] = Z2b[ibra,iket] + elseif iket != ibra + Z2b[iket,ibra] = -Z2b[ibra,iket] + end end end - end - return nothing -end -function update_key!(i,j,flip::Bool,tkey) - if flip - tkey[1] = j; tkey[2] = i - else - tkey[1] = i; tkey[2] = j - end + end return nothing end -function getlocalidx(i,j,tkets_cc;ofst=true) - flip = false - ti = i; tj = j - if i > j - ti = j; tj = i - flip = true - end - tidx = 0 - for (idx,ket) in enumerate(tkets_cc) - if ket[1] == ti && ket[2] == tj - tidx = idx - break - end - end - if ofst - return tidx + ifelse(i>j,length(tkets_cc),0),flip - else - return tidx,flip +function z_from_zbar(aTz_cc::I,prty_cc::I,a::I,b::I,c::I,d::I,ja::I,jb::I,J::I,jc::I,jd::I,d6j_lj, + dict_ch2ich,dict_2b_ch,tdict_ichidx,Zbars,Chan2b_Pandya,to) where I <:Int64 + z = 0.0 + J2 = J *2 + flipad = ifelse(a>d,true,false); divval = div(ja+jd,2) + flipcb = ifelse(c>b,true,false) + nkey_ad = get_nkey2_u(a,d); if flipad; nkey_ad = get_nkey2_u(d,a);end + nkey_cb = get_nkey2_u(c,b); if flipcb; nkey_cb = get_nkey2_u(b,c);end + Jpmin = max( abs(div(ja-jd,2)), abs(div(jb-jc,2))) + Jpmax = min( divval, div(jc+jb,2)) + for Jpr = Jpmin:Jpmax + sixj = call_d6j_defined(ja,jb,J2,jc,jd,Jpr*2,d6j_lj) + if abs(sixj) < 1.e-8; continue;end + ich_cc = dict_ch2ich[ dict_2b_ch[get_nkey3_JPT(aTz_cc,prty_cc,Jpr)].Vch ] + nketcc = Chan2b_Pandya[ich_cc].nkets + tdict_cc = tdict_ichidx[ich_cc] + idx_ad = tdict_cc[nkey_ad] + idx_cb = tdict_cc[nkey_cb] + ifelse(flipcb,nketcc,0) + phasead = (divval+Jpr+1)%2 + phaseval = ifelse(flipad && phasead==1, -1.0,1.0) + z -= hahat(Jpr) *phaseval * sixj * Zbars[ich_cc][idx_ad,idx_cb] end + return z end -function prep122(HFobj,Chan1b,Chan2bD) +function prep122(HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD) Chan2b = Chan2bD.Chan2b idx_dict = Chan2bD.dict_idx_from_chket MS = HFobj.modelspace; sps = MS.sps @@ -617,10 +694,10 @@ function prep122(HFobj,Chan1b,Chan2bD) tkey = zeros(Int64,2) util122 = [ single_util122[] for ch=1:nch] for ch = 1:nch - J = Chan2b[ch].J; tkets = Chan2b[ch].kets - dim = length(tkets) + tbc = Chan2b[ch] + J = tbc.J; tkets = tbc.kets; dim = tbc.nkets targetDict = idx_dict[ch] - @inbounds for idx_ij = 1:dim + @inbounds for idx_ij = 1:dim i,j = tkets[idx_ij] pn_i = 2-i%2; pn_j = 2-j%2 ji = sps[i].j; jj = sps[j].j @@ -635,11 +712,11 @@ function prep122(HFobj,Chan1b,Chan2bD) if ind2 == 0;continue;end idx_a = div(a,2)+a%2 push!(ind1_ia,idx_a); push!(ind2_aj,ind2) - ### + ### just in case... phaseaj = (-1)^(div(sps[a].j+jj,2)+J+1) - if phaseaj != phaseij; println("warn!"); exit();end - #### just in case... - tfac = ifelse(a>j,phaseij,1.0) * ifelse(a==j,sqrt(2.0),1.0) + @assert phaseaj == phaseij "phasej must be identicall with phaseij" + #### + tfac = ifelse(a>j,1.0*phaseij,1.0) * ifelse(a==j,sqrt(2.0),1.0) push!(factor_ia, tfac) end if i!=j @@ -656,17 +733,17 @@ function prep122(HFobj,Chan1b,Chan2bD) push!(ind2_ai,ind2) ### just in case... phaseai = (-1)^(div(sps[a].j+ji,2)+J+1) - if phaseai != phaseij; println("warn!"); exit();end + @assert phaseai == phaseij "phaseai != phaseij" ### - tfac = ifelse(i>a,phaseij,1.0) * ifelse(i==a,sqrt(2.0),1.0) + tfac = ifelse(i>a,1.0*phaseij,1.0) * ifelse(i==a,sqrt(2.0),1.0) push!(factor_ja,tfac) end - end + end if i==j factor_ia ./= sqrt(2.0) factor_ja ./= sqrt(2.0) end - ind2s = vcat(ind2_aj,ind2_ai) + ind2s = vcat(ind2_aj,ind2_ai) dimia = length(factor_ia); dimja = length(factor_ja) mia = zeros(Float64,dimia,dimia); for i=1:dimia; mia[i,i] = factor_ia[i];end mja = zeros(Float64,dimja,dimja); for i=1:dimja; mja[i,i] = factor_ja[i];end @@ -675,36 +752,35 @@ function prep122(HFobj,Chan1b,Chan2bD) end return util122 end -function comm122ss!(X,Y,ret,HFobj,Chan1b,Chan2b,PandyaObj,to) - hZ = ifelse(ret.hermite,1.0,-1.0) +function comm122ss!(X::Op,Y::Op,ret::Op,Chan2b::Vector{chan2b},PandyaObj::PandyaObject,to) where Op<:Operator + hZ = ifelse(ret.hermite[1],1.0,-1.0) x1 = X.onebody; x2bs = X.twobody y1 = Y.onebody; y2bs = Y.twobody; m2bs = ret.twobody - nch = length(Chan2b) util122 = PandyaObj.util122 - tMats = PandyaObj.tMat + tMats = PandyaObj.tMat XYbars = PandyaObj.XYbars - @threads for ch = 1:nch + @inbounds @threads :dynamic for ch in eachindex(x2bs) + tid = threadid() x2 = x2bs[ch]; y2 = y2bs[ch]; z2 = m2bs[ch] - tkets = Chan2b[ch].kets; dim = length(tkets) - tmp_util = util122[ch] - tM = tMats[threadid()] + tkets = Chan2b[ch].kets + dim = Chan2b[ch].nkets + tmp_util = util122[ch] + tM = tMats[tid] w2 = @view tM[1:dim,1:dim] - M_L = XYbars[threadid()][1] - M_R = XYbars[threadid()][2] - + M_L = XYbars[tid][1] + M_R = XYbars[tid][2] tx1_i = @view tM[1:dim,dim+1] tx1_j = @view tM[1:dim,dim+2] ty1_i = @view tM[1:dim,dim+3] ty1_j = @view tM[1:dim,dim+4] - - @inbounds for idx_ij = 1:dim + for idx_ij in eachindex(tkets) i,j = tkets[idx_ij] idx_i = div(i,2)+i%2; pn_i = 2-i%2 idx_j = div(j,2)+j%2; pn_j = 2-j%2 util = tmp_util[idx_ij] - ind1_ia = util.ind1_ia - ind1_ja = util.ind1_ja + ind1_ia = util.ind1_ia; ln_ia = length(ind1_ia) + ind1_ja = util.ind1_ja; ln_ja = length(ind1_ja) idxs = util.ind2s factor_ia = util.factor_ia factor_ja = util.factor_ja @@ -713,75 +789,77 @@ function comm122ss!(X,Y,ret,HFobj,Chan1b,Chan2b,PandyaObj,to) y2col = @view y2[:,idxs] x2col = @view x2[:,idxs] w2col = @view w2[:,idx_ij] - x1_i = @view tx1_i[1:length(ind1_ia)]; x1_i .= @view x1[pn_i][ind1_ia,idx_i] - x1_j = @view tx1_j[1:length(ind1_ja)]; x1_j .= @view x1[pn_j][ind1_ja,idx_j] - y1_i = @view ty1_i[1:length(ind1_ia)]; y1_i .= @view y1[pn_i][ind1_ia,idx_i] - y1_j = @view ty1_j[1:length(ind1_ja)]; y1_j .= @view y1[pn_j][ind1_ja,idx_j] + + x1_i = @view tx1_i[1:ln_ia]; x1_i .= @view x1[pn_i][ind1_ia,idx_i] + x1_j = @view tx1_j[1:ln_ja]; x1_j .= @view x1[pn_j][ind1_ja,idx_j] + y1_i = @view ty1_i[1:ln_ia]; y1_i .= @view y1[pn_i][ind1_ia,idx_i] + y1_j = @view ty1_j[1:ln_ja]; y1_j .= @view y1[pn_j][ind1_ja,idx_j] left = @view M_L[1:dim,1:2*lidxs] - lL = @view left[1:dim,1:lidxs]; lL .= y2col - lR = @view left[1:dim,lidxs+1:2*lidxs]; lR .= x2col - - right = @view M_R[1:2*lidxs,1:1] - lxi = length(x1_i); lxj = length(x1_j); lyi = length(y1_i); lyj = length(y1_j) - rtmp = @view right[1:lxi,1:1] - BLAS.gemm!('N','N',1.0,factor_ia,x1_i,0.0,rtmp) - rtmp = @view right[lxi+1:lxi+lxj,1:1] - BLAS.gemm!('N','N',1.0,factor_ja,x1_j,0.0,rtmp) - rtmp = @view right[lxi+lxj+1:lxi+lxj+lyi,1:1] - BLAS.gemm!('N','N',-1.0,factor_ia,y1_i,0.0,rtmp) - rtmp = @view right[lxi+lxj+lyi+1:lxi+lxj+lyi+lyj,1:1] - BLAS.gemm!('N','N',-1.0,factor_ja,y1_j,0.0,rtmp) - BLAS.gemm!('N','N',1.0,left,right,0.0,w2col) + lL = @view left[:,1:lidxs] + lL .= y2col + lR = @view left[:,lidxs+1:2*lidxs] + lR .= x2col + lxi = lyi = ln_ia + lxj = lyj = ln_ja + + right = @view M_R[1:2*lidxs,1] + rtmp = @view right[1:lxi] + BLAS.gemv!('N',1.0,factor_ia,x1_i,0.0,rtmp) + rtmp = @view right[lxi+1:lxi+lxj] + BLAS.gemv!('N',1.0,factor_ja,x1_j,0.0,rtmp) + rtmp = @view right[lxi+lxj+1:lxi+lxj+lyi] + BLAS.gemv!('N',-1.0,factor_ia,y1_i,0.0,rtmp) + rtmp = @view right[lxi+lxj+lyi+1:lxi+lxj+lyi+lyj] + BLAS.gemv!('N',-1.0,factor_ja,y1_j,0.0,rtmp) + BLAS.gemv!('N',1.0,left,right,0.0,w2col) + if i==j; w2col .*= 2.0;end end - z2 .-= w2 - axpy!(-hZ,w2',z2) + z2 .-= w2 + axpy!(-hZ,w2',z2) end return nothing -end +end -function comm222_pphh_ss!(X,Y,ret,HFobj,Chan2bD,PandyaObj,to) +function comm222_pphh_ss!(X::Op,Y::Op,ret::Op,HFobj::HamiltonianNormalOrdered,Chan2bD::chan2bD,PandyaObj::PandyaObject,to) where Op<:Operator Chan2b = Chan2bD.Chan2b m2bs = ret.twobody; x2bs = X.twobody; y2bs = Y.twobody - nch = length(Chan2b) Mats_hh = PandyaObj.Mats_hh; Mats_pp = PandyaObj.Mats_pp; Mats_ph = PandyaObj.Mats_ph - @threads for ch = 1:nch + @inbounds @threads :dynamic for ch in eachindex(Chan2b) tmpMat = PandyaObj.tMat[threadid()] x2 = x2bs[ch]; y2 = y2bs[ch]; z2 = m2bs[ch] - tbc = Chan2b[ch]; kets = tbc.kets; nkets = length(kets) - ppidx = get(HFobj.modelspace.spaces.pp,ch,Int64[]); npp = length(ppidx) - hhidx = get(HFobj.modelspace.spaces.hh,ch,Int64[]); nhh = length(hhidx) - phidx = get(HFobj.modelspace.spaces.ph,ch,Int64[]); nph = length(phidx) + tbc = Chan2b[ch]; kets = tbc.kets; nkets = length(kets) Matpp = Mats_pp[ch]; Mathh = Mats_hh[ch]; Matph = Mats_ph[ch] - # pp term, a&b are particle - if npp != 0 - XppL = @view x2[:,ppidx]; XppR = @view x2[ppidx,:] - YppL = @view y2[:,ppidx]; YppR = @view y2[ppidx,:] + if haskey(HFobj.modelspace.spaces.pp,ch) # npp != 0 + ppidx = HFobj.modelspace.spaces.pp[ch]; npp = length(ppidx) Mpp_1 = @view tmpMat[1:nkets,1:npp] Mpp_2 = @view tmpMat[1:nkets,npp+1:2*npp] - tM1 = @view tmpMat[nkets+1:2*nkets,1:nhh] - Mpp_1 .= XppL; Mpp_2 .= YppR'; BLAS.gemm!('N','T', 1.0,Mpp_1,Mpp_2,1.0,z2) - Mpp_1 .= YppL; Mpp_2 .= XppR'; BLAS.gemm!('N','T',-1.0,Mpp_1,Mpp_2,1.0,z2) - end - if nph != 0 - XphL = @view x2[:,phidx]; XphR = @view x2[phidx,:] - YphL = @view y2[:,phidx]; YphR = @view y2[phidx,:] + XppR = @view x2[ppidx,:] + YppR = @view y2[ppidx,:] + Mpp_1 .= @view x2[:,ppidx]; transpose!(Mpp_2,YppR); BLAS.gemm!('N','T', 1.0,Mpp_1,Mpp_2,1.0,z2) + Mpp_1 .= @view y2[:,ppidx]; transpose!(Mpp_2,XppR); BLAS.gemm!('N','T',-1.0,Mpp_1,Mpp_2,1.0,z2) + end + if haskey(HFobj.modelspace.spaces.ph,ch) #nph != 0 + phidx = HFobj.modelspace.spaces.ph[ch]; nph = length(phidx) + XphR = @view x2[phidx,:] + YphR = @view y2[phidx,:] Mph_1 = @view tmpMat[1:nkets,1:nph] Mph_2 = @view tmpMat[1:nkets,nph+1:2*nph] tM1 = @view tmpMat[nkets+1:2*nkets,1:nph] - Mph_1 .= XphL; Mph_2 .= YphR' ; BLAS.gemm!('N','N',1.0,Mph_1,Matph,0.0,tM1); BLAS.gemm!('N','T', 1.0,tM1,Mph_2,1.0,z2) - Mph_1 .= YphL; Mph_2 .= XphR' ; BLAS.gemm!('N','N',-1.0,Mph_1,Matph,0.0,tM1); BLAS.gemm!('N','T',1.0,tM1,Mph_2,1.0,z2) - end - ##hh term, a&b are hole - if nhh != 0 - XhhL = @view x2[:,hhidx]; XhhR = @view x2[hhidx,:] - YhhL = @view y2[:,hhidx]; YhhR = @view y2[hhidx,:] - Mhh_1 = @view tmpMat[1:nkets,1:nhh] - Mhh_2 = @view tmpMat[1:nkets,nhh+1:2*nhh] + Mph_1 .= @view x2[:,phidx]; transpose!(Mph_2,YphR) ; BLAS.gemm!('N','N',1.0,Mph_1,Matph,0.0,tM1); BLAS.gemm!('N','T', 1.0,tM1,Mph_2,1.0,z2) + Mph_1 .= @view y2[:,phidx]; transpose!(Mph_2,XphR) ; BLAS.gemm!('N','N',-1.0,Mph_1,Matph,0.0,tM1); BLAS.gemm!('N','T',1.0,tM1,Mph_2,1.0,z2) + end + if haskey(HFobj.modelspace.spaces.hh,ch) + hhidx = HFobj.modelspace.spaces.hh[ch]; nhh = length(hhidx) + XhhR = @view x2[hhidx,:] + YhhR = @view y2[hhidx,:] + Mhh_1 = @view tmpMat[1:nkets,1:nhh] + Mhh_2 = @view tmpMat[1:nkets,nhh+1:2*nhh] tM = @view tmpMat[nkets+1:2*nkets,1:nhh] - Mhh_1 .= XhhL; Mhh_2 .= YhhR' ; BLAS.gemm!('N','N',-1.0,Mhh_1,Mathh-Matpp,0.0,tM); BLAS.gemm!('N','T',1.0,tM,Mhh_2,1.0,z2) - Mhh_1 .= YhhL; Mhh_2 .= XhhR' ; BLAS.gemm!('N','N', 1.0,Mhh_1,Mathh-Matpp,0.0,tM); BLAS.gemm!('N','T',1.0,tM,Mhh_2,1.0,z2) + Mhh_1 .= @view x2[:,hhidx]; transpose!(Mhh_2,YhhR) ; BLAS.gemm!('N','N',-1.0,Mhh_1,Mathh-Matpp,0.0,tM); BLAS.gemm!('N','T',1.0,tM,Mhh_2,1.0,z2) + Mhh_1 .= @view y2[:,hhidx]; transpose!(Mhh_2,XhhR) ; BLAS.gemm!('N','N', 1.0,Mhh_1,Mathh-Matpp,0.0,tM); BLAS.gemm!('N','T',1.0,tM,Mhh_2,1.0,z2) end end return nothing end + diff --git a/src/IMSRG.jl/emulator_imsrg.jl b/src/IMSRG.jl/emulator_imsrg.jl new file mode 100644 index 00000000..e715ea96 --- /dev/null +++ b/src/IMSRG.jl/emulator_imsrg.jl @@ -0,0 +1,287 @@ + +""" +read_fvec_hdf5(fname) + +Function to read a flattened vector from a HDF5 file. +Note that the first and second element of the vector are the value of `s` and `Es`, respectively, +and the rest of the vector is the flattened form of the Operator object. +""" +function read_fvec_hdf5(fname) + io = h5open(fname,"r") + s = read(io,"s") + Es = read(io,"Es") + dim = read(io,"dim") + vec = zeros(Float64,dim+2) + vec[1] = s + vec[2] = Es + idx_s = 3 + vec_p1b = read(io,"p1b"); vec[idx_s:idx_s+length(vec_p1b)-1] .= vec_p1b; idx_s += length(vec_p1b) + vec_n1b = read(io,"n1b"); vec[idx_s:idx_s+length(vec_n1b)-1] .= vec_n1b; idx_s += length(vec_n1b) + vec_pp2b = read(io,"pp2b"); vec[idx_s:idx_s+length(vec_pp2b)-1] .= vec_pp2b; idx_s += length(vec_pp2b) + vec_pn2b = read(io,"pn2b"); vec[idx_s:idx_s+length(vec_pn2b)-1] .= vec_pn2b; idx_s += length(vec_pn2b) + vec_nn2b = read(io,"nn2b"); vec[idx_s:idx_s+length(vec_nn2b)-1] .= vec_nn2b; idx_s += length(vec_nn2b) + close(io) + return vec +end + +""" +write_fvec_hdf5(binfo,fvec,dict_if_idx_for_hdf5,s,Es;label="omega") + +Function to write a flattened vector to a HDF5 file. +Note that the first and second element of the vector are the value of `s` and `Es`, respectively, +and the rest of the vector is the flattened form of the Operator object. +The correspondance between the index of the flattened vector and the Operator object is given by `dict_if_idx_for_hdf5`. +""" +function write_fvec_hdf5(binfo,fvec,dict_if_idx_for_hdf5,s,Es;label="omega") + pid = getpid() + fname = "flowOmega/$(label)_vec_$pid"*binfo.nuc.cnuc*"_s"*strip(@sprintf("%6.2f",s))*".h5" + io = h5open(fname,"w") + dim = length(fvec) + idx_i,idx_j = dict_if_idx_for_hdf5["p1b"]; vec_p1b = fvec[idx_i:idx_j] + idx_i,idx_j = dict_if_idx_for_hdf5["n1b"]; vec_n1b = fvec[idx_i:idx_j] + idx_i,idx_j = dict_if_idx_for_hdf5["pp2b"]; vec_pp2b = fvec[idx_i:idx_j] + idx_i,idx_j = dict_if_idx_for_hdf5["pn2b"]; vec_pn2b = fvec[idx_i:idx_j] + idx_i,idx_j = dict_if_idx_for_hdf5["nn2b"]; vec_nn2b = fvec[idx_i:idx_j] + write(io,"s",s) + write(io,"Es",Es) + write(io,"dim",dim-2) + write(io,"p1b",vec_p1b) + write(io,"n1b",vec_n1b) + write(io,"pp2b",vec_pp2b) + write(io,"pn2b",vec_pn2b) + write(io,"nn2b",vec_nn2b) + close(io) + return nothing +end + +""" +make_Op_from_flattenvector(fvec,similar_to::Operator,dict_idx_flatvec_to_op,ovwrite_zerobody=false) + +Function to convert a flattened vector to an Operator object. +Note that the zerobody part is zero unless the `ovwrite_zerobody` is set to `true`. +""" +function make_Op_from_flattenvector(fvec,similar_to::Operator,dict_idx_flatvec_to_op,ovwrite_zerobody=false) + Op = deepcopy(similar_to); aOp!(Op,0.0) + if ovwrite_zerobody + Op.zerobody[1] = fvec[2] + end + for tkey in keys(dict_idx_flatvec_to_op) + ch, i, j = dict_idx_flatvec_to_op[tkey] + target = Op.onebody[1] + if ch == 0 + target = Op.onebody[2] + elseif ch > 0 + target = Op.twobody[ch] + end + target[i,j] = fvec[tkey] + target[j,i] =-fvec[tkey] + end + return Op +end + +""" +update_Op_with_fvec!(fvec,Op,dict_idx_flatvec_to_op) + +Function to convert a flattened vector to an Operator object. +Note that the zerobody part is zero unless the `ovwrite_zerobody` is set to `true`. +""" +function update_Op_with_fvec!(fvec,Op,dict_idx_flatvec_to_op,ovwrite_zerobody=false) + if ovwrite_zerobody + Op.zerobody[1] = fvec[2] + end + aOp!(Op,0.0) + for tkey in keys(dict_idx_flatvec_to_op) + ch, i, j = dict_idx_flatvec_to_op[tkey] + target = Op.onebody[1] + if ch == 0 + target = Op.onebody[2] + elseif ch > 0 + target = Op.twobody[ch] + end + target[i,j] = fvec[tkey] + target[j,i] = -fvec[tkey] + end + return nothing +end + +""" +get_fvec_from_Op(s, Op::Operator,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + +It returns a flattened vector from an Operator object. +Note that the first and second element of the vector are the value of `s` and `Op.zerobody[1]`, respectively. +""" +function get_fvec_from_Op(s, Op::Operator,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + vec = zeros(Float64,2 + length(keys(dict_idx_flatvec_to_op))) + vec[1] = s + vec[2] = Op.zerobody[1] + for tkey in keys(dict_idx_op_to_flatvec) + fidx = dict_idx_op_to_flatvec[tkey] + ch, i, j = tkey + target = Op.onebody[1] + if ch == 0 + target = Op.onebody[2] + elseif ch > 0 + target = Op.twobody[ch] + end + vec[fidx] = target[i,j] + end + return vec +end + +""" +get_fvec_from_Op!(s, vec,Op::Operator,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + +The destructive version of `get_fvec_from_Op`. +It overwrites the flatten vector by the elements of the Operator object. +""" +function get_fvec_from_Op!(s, vec,Op::Operator,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + vec .*= 0.0 + vec[1] = s + vec[2] = Op.zerobody[1] + for tkey in keys(dict_idx_op_to_flatvec) + fidx = dict_idx_op_to_flatvec[tkey] + ch, i, j = tkey + target = Op.onebody[1] + if ch == 0 + target = Op.onebody[2] + elseif ch > 0 + target = Op.twobody[ch] + end + vec[fidx] = target[i,j] + end + return nothing +end + +""" +Function to make Operator flatten vector for ANN calculations, which are to be performed with flattened vectors. +mode: can be "normal" or "valence" + +For VS-IMSRG, there is a possibility to work to deal with only `vv` space. +""" +function get_non0omega_idxs(HFobj::HamiltonianNormalOrdered,Omega::Operator,Chan2b,mode="normal",verbose=false) + @assert (mode == "normal" || mode=="valence") "unsupported mode for get_non0omega_idxs: $mode" + dim1b = size(Omega.onebody[1])[1] + p_sps = HFobj.modelspace.p_sps + n_sps = HFobj.modelspace.n_sps + + dict_idx_op_to_flatvec=Dict{Vector{Int64},Int64}() + dict_idx_flatvec_to_op=Dict{Int64,Vector{Int64}}() + dict_if_idx_for_hdf5 = Dict{String,Vector{Int64}}() + + hit = hitnon0 = 2 # since we keep s(E0) explicitly as the first (second) element of flatten vector + idx_s = hit + 1 + for pn = 1:2 + ch = pn-2 + ms = ifelse(pn==1,p_sps,n_sps) + for i = 1:dim1b + oi = ms[i] + for j=1:dim1b + oj = ms[j] + if i < j + hit += 1 + if mode == "normal" + if oi.l == oj.l && oi.j == oj.j && oi.tz == oj.tz + hitnon0 += 1 + dict_idx_op_to_flatvec[[ch,i,j]] = hitnon0 + dict_idx_flatvec_to_op[hitnon0] = [ch,i,j] + #println("1bch-idx pn $pn i $i $oi j $j $oj") + end + else + # to be extended to VS-IMSRG + end + end + end + end + target = ifelse(pn==1,"p1b","n1b") + dict_if_idx_for_hdf5[target] = [idx_s,hitnon0] + idx_s = hitnon0 + 1 + end + nch = length(Omega.twobody) + for ch = 1:nch + Mat2b = Omega.twobody[ch] + nket = size(Mat2b)[1] + for i = 1:nket + for j = 1:nket + if i <= j + hit += 1 + # ppidx = get(HFobj.modelspace.spaces.pp,ch,Int64[]) + # hhidx = get(HFobj.modelspace.spaces.hh,ch,Int64[]) + hitnon0 += 1 + dict_idx_op_to_flatvec[[ch,i,j]] = hitnon0 + dict_idx_flatvec_to_op[hitnon0] = [ch,i,j] + end + end + end + end + + Tz = -4 + ppidx = pnidx = nnidx = 0 + for ch = 1:nch + tbc = Chan2b[ch] + @assert tbc.Tz >= Tz "$(tbc.Tz) > $Tz should never happen" + Tz = tbc.Tz + dim = div(tbc.nkets*(tbc.nkets+1),2) + if Tz == -2;ppidx += dim; end + if Tz == 0;pnidx += dim; end + if Tz == 2;nnidx += dim; end + end + dict_if_idx_for_hdf5["pp2b"] = [idx_s, idx_s+ppidx-1]; idx_s += ppidx + dict_if_idx_for_hdf5["pn2b"] = [idx_s, idx_s+pnidx-1]; idx_s += pnidx + dict_if_idx_for_hdf5["nn2b"] = [idx_s, idx_s+nnidx-1]; idx_s += nnidx + if verbose + println("dim. flatvec $(hit) # of nonzero element (other than E(s)) $hitnon0") + end + return dict_idx_op_to_flatvec, dict_idx_flatvec_to_op, dict_if_idx_for_hdf5 +end + + +""" +svd_Op_twobody(s,Op::Operator,Chan2b;verbose=true,max_rank=20) + +Function to perform SVD of two-body operator `Op`. +""" +function svd_Op_twobody(s,Op::Operator,Chan2b;verbose=true,max_rank=20) + println("SVD @s=$s") + dimfull = dimtr = 0 + for ch in eachindex(Chan2b) + tbc = Chan2b[ch] + J = tbc.J; P =tbc.prty; Tz = tbc.Tz + dim = tbc.nkets + if dim == 0; continue;end + mat = Op.twobody[ch] + fullrank = rank(mat) + SVD = LinearAlgebra.svd(mat) + if verbose + print("ch ",@sprintf("%5i",ch), " JPT=($J,$P,$Tz)\t fullrank ", @sprintf("%5i",fullrank), "/ dim= ",@sprintf("%5i",dim)," ") + #print_vec("singular values", SVD.S) + tol = 1.e-8 + hit = 0 + dimfull += div(dim*(dim+1),2) + for trank = 1:fullrank + U = SVD.U; Sig = deepcopy(SVD.S); Vt = SVD.Vt + Sig[trank+1:end] .= 0.0 + SV = Diagonal(Sig)* Vt + Vtilde = BLAS.gemm('N','N',1.0,U,SV) + tnorm = norm(mat-Vtilde,2) + if tnorm < tol + hit += 1 + println("rank=",@sprintf("%4i",trank), " norm(V-V') ",@sprintf("%12.5e",norm(mat-Vtilde,2))) + dimtr += 2*trank*dim + trank + # if trank != fullrank + # trank = fullrank + # U = SVD.U; Sig = deepcopy(SVD.S); Vt = SVD.Vt + # Sig[trank+1:end] .= 0.0 + # SV = Diagonal(Sig)* Vt + # Vtilde = BLAS.gemm('N','N',1.0,U,SV) + # tnorm = norm(mat-Vtilde,2) + # println("rank=",@sprintf("%4i",trank), " norm(V-V') ",@sprintf("%12.5e",norm(mat-Vtilde,2))) + # end + break + end + end + if hit == 0; println("");end + end + end + println("dimfull $dimfull dimtr $dimtr") + return nothing +end \ No newline at end of file diff --git a/src/IMSRG.jl/imsrg_util.jl b/src/IMSRG.jl/imsrg_util.jl index 1558f1ca..4dea1ecc 100644 --- a/src/IMSRG.jl/imsrg_util.jl +++ b/src/IMSRG.jl/imsrg_util.jl @@ -1,5 +1,5 @@ """ - imsrg_main(binfo,Chan1b,Chan2bD,HFobj,dictMono,d9j,HOBs,dict6j,valencespace,Operators,to; core_generator_type="atan",valence_generator_type="shell-model-atan",denominatorDelta=0.0) + imsrg_main(binfo::basedat,Chan1b,Chan2bD,HFobj,dictMono,dWS,valencespace,Operators,to; core_generator_type="atan",valence_generator_type="shell-model-atan",denominatorDelta=0.0) # Arguments - `binfo::basedat` struct basedat(nuc::nuclei,sntf::String,hw::Float,emax::Int) @@ -7,66 +7,87 @@ - `Chan2bD::chan2bD` struct for two-body stuffs (e.g., dict to get idx from JPT) - `HFobj::HamiltonianNormalOrdered` struct HNO, which includes info. of HF solution (HF energy, occupation, f,Gamma,...) - `dictMono::Dict` dictionary to get Vmonopole -- `d9j` preallocated dictionaries for wigner 9j symbols, which are needed to calculate Rp2 -- `HOBs` struct HarmonicOscillatorBrackets -- `dict6j` preallocated dictionaries for wigner6j symbols (needed in e.g., Pandya transformation) +- `dWS` dictionary of preallocated wigner-symbols - `valencespace` to specify valence space - `Operators::Vector{String}` non-Hamiltonian operators - `to` TimerOutput object to measure runtime&memory allocations # Optional Arguments -- `core_generator_type` only the "atan" is implemented -- `valence_generator_type` only the "shell-model-atan" is implemented +- `core_generator_type` only the "atan" is available +- `valence_generator_type` only the "shell-model-atan" is available - `denominatorDelta::Float` denominator Delta, which is needed for multi-major shell decoupling +- `debugmode::Int` 2: sample HF/IMSRG files """ -function imsrg_main(binfo,Chan1b,Chan2bD,HFobj,dictsnt,d9j,HOBs,dict6j,valencespace,Operators,MatOp,to; - core_generator_type="atan",valence_generator_type="shell-model-atan") +function imsrg_main(binfo::basedat,Chan1b::chan1b,Chan2bD::chan2bD,HFobj::HamiltonianNormalOrdered,dictsnt,dWS,valencespace,Operators,MatOp,to; + core_generator_type="atan",valence_generator_type="shell-model-atan",fn_params="optional_parameters.jl",debugmode=2,Hsample=false,restart_from_files=String[]) + dictMono = deepcopy(dictsnt.dictMonopole) - vsIMSRG = ifelse(valencespace!=[],true,false) + vsIMSRG = ifelse(valencespace!=[]&&valencespace!="",true,false) update_core_in_sps!(binfo,HFobj) valencesps = check_valence_space(HFobj,valencespace) update_vsspace_chs!(HFobj,valencesps,Chan2bD.Chan2b) Chan2b = Chan2bD.Chan2b init_dictMonopole!(dictMono,Chan2b) - IMSRGobj = init_IMSRGobject(HFobj) + IMSRGobj = init_IMSRGobject(HFobj,fn_params) PandyaObj = prep_PandyaLookup(binfo,HFobj,Chan1b,Chan2bD) + if length(restart_from_files) >= 1; IMSRGobj.smax = 0.5;end + d6j_defbyrun = Dict{UInt64,Float64}() + IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,d6j_defbyrun,core_generator_type,valence_generator_type,to;debugmode=debugmode,Hsample=Hsample,restart_from_files=restart_from_files) + if vsIMSRG && length(restart_from_files) == 0 + IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,d6j_defbyrun,core_generator_type,valence_generator_type,to;valenceflow=true,Hsample=Hsample) + effOps = flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dWS,d6j_defbyrun,dictMono,Operators,MatOp,restart_from_files,to) + if binfo.nuc.cZ != binfo.nuc.Z || binfo.nuc.cN != binfo.nuc.N + getNormalOrderedO(HFobj,IMSRGobj.H,Chan1b,Chan2bD,to;undo=true,OpeqH=true) + set_sps_to_core!(binfo,HFobj) + getNormalOrderedO(HFobj,IMSRGobj.H,Chan1b,Chan2bD,to;OpeqH=true) + for Op in effOps + set_sps_to_modelspace!(binfo,HFobj) + getNormalOrderedO(HFobj,Op,Chan1b,Chan2bD,to;undo=true,OpeqH=false) + set_sps_to_core!(binfo,HFobj) + getNormalOrderedO(HFobj,Op,Chan1b,Chan2bD,to;OpeqH=false) + end + end + write_vs_snt(binfo,HFobj,IMSRGobj,Operators,Chan1b,Chan2bD,valencespace;effOps=effOps) + else + flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dWS,d6j_defbyrun,dictMono,Operators,MatOp,restart_from_files,to) + end - ##IMSRG(2) calculation for target nucleus - IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,dict6j,core_generator_type,valence_generator_type,to) - if vsIMSRG - IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,dict6j,core_generator_type,valence_generator_type,to;valenceflow=true) - effOps = flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,d9j,HOBs,dictMono,dict6j,Operators,MatOp,to) + if length(restart_from_files) >= 1 + println("cZ $(binfo.nuc.cZ) Z $(binfo.nuc.Z) cN $(binfo.nuc.cN) N $(binfo.nuc.N)") if binfo.nuc.cZ != binfo.nuc.Z || binfo.nuc.cN != binfo.nuc.N - getNormalOrderedO(binfo,HFobj,IMSRGobj.H,Chan1b,Chan2bD,dict6j,to;undo=true,OpeqH=true) + println("normal ordering...") + getNormalOrderedO(HFobj,IMSRGobj.H,Chan1b,Chan2bD,to;undo=true,OpeqH=true) + println("onebody@1 ", IMSRGobj.H.onebody[1][1,:]) set_sps_to_core!(binfo,HFobj) - getNormalOrderedO(binfo,HFobj,IMSRGobj.H,Chan1b,Chan2bD,dict6j,to;OpeqH=true) + getNormalOrderedO(HFobj,IMSRGobj.H,Chan1b,Chan2bD,to;OpeqH=true) + println("onebody@2 ", IMSRGobj.H.onebody[1][1,:]) for Op in effOps set_sps_to_modelspace!(binfo,HFobj) - getNormalOrderedO(binfo,HFobj,Op,Chan1b,Chan2bD,dict6j,to;undo=true,OpeqH=false) + getNormalOrderedO(HFobj,Op,Chan1b,Chan2bD,to;undo=true,OpeqH=false) set_sps_to_core!(binfo,HFobj) - getNormalOrderedO(binfo,HFobj,Op,Chan1b,Chan2bD,dict6j,to;OpeqH=false) + getNormalOrderedO(HFobj,Op,Chan1b,Chan2bD,to;OpeqH=false) end end - write_vs_snt(binfo,HFobj,IMSRGobj,Operators,effOps,Chan1b,Chan2bD,valencespace) - else - flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,d9j,HOBs,dictMono,dict6j,Operators,MatOp,to) + write_vs_snt(binfo,HFobj,IMSRGobj,Operators,Chan1b,Chan2bD,valencespace) end - return nothing + + return IMSRGobj end """ read_imsrg_parameter!(fn,IMSRGobj) Function to overwrite IMSRGobj from the parameter file `fn`. """ -function read_imsrg_parameter!(fn,IMSRGobj) +function read_imsrg_parameter!(fn::String,IMSRGobj::IMSRGobject) include(fn) if @isdefined(smax); IMSRGobj.smax = smax; end if @isdefined(dsmax); IMSRGobj.dsmax = dsmax; end if @isdefined(maxnormOmega); IMSRGobj.maxnormOmega = maxnormOmega; end if @isdefined(eta_criterion); IMSRGobj.eta_criterion = eta_criterion; end if @isdefined(denominatorDelta); IMSRGobj.denominatorDelta = denominatorDelta;end - IMSRGobj.s[2] = min(IMSRGobj.dsmax,0.5) + if @isdefined(magnusmethod); IMSRGobj.magnusmethod = magnusmethod;end + IMSRGobj.s[2] = IMSRGobj.dsmax println("parameters in $fn will be used.") return nothing end @@ -77,17 +98,18 @@ end initialize `dictMonopole` """ function init_dictMonopole!(dictMonopole,Chan2b) - for ch = 1:length(Chan2b) + for ch in eachindex(Chan2b) tbc = Chan2b[ch] kets = tbc.kets; J = tbc.J; Tz = tbc.Tz pnrank = 2 + div(Tz,2) tdict = dictMonopole[pnrank] for (idx,ket) in enumerate(kets) - exists = get(tdict,ket,false) - if exists == false - tdict[ket] = valDictMonopole([0.0,0.0],[ [ch,idx,J] ]) - else - push!(tdict[ket].vals,[ch,idx,J]) + tkey = zeros(Int64,2) + tkey .= ket + if !haskey(tdict,tkey) + tdict[tkey] = valDictMonopole([0.0,0.0],[ [ch,idx,J] ]) + else + push!(tdict[tkey].vals,[ch,idx,J]) end end end @@ -99,12 +121,12 @@ end To update dictMonopole pp/pn/nn under H(s=0)/IMSRG H(s) """ -function set_dictMonopole!(dictMonopole,HFobj,H) +function set_dictMonopole!(dictMonopole,HFobj,H) MS = HFobj.modelspace; sps = MS.sps for pnrank =1:3 for key in keys(dictMonopole[pnrank]) tmp = dictMonopole[pnrank][key] - sqT0 = 1+delta(key[1],key[2]) + sqT0 = 1.0+delta(key[1],key[2]) sqfac = ifelse(pnrank!=2,sqT0,1.0) monovec = tmp.monopole ja = sps[key[1]].j @@ -127,7 +149,7 @@ end returns sqrt(norm1b^2 + norm2b^2) """ -function getNorm(O,p_sps,n_sps,Chan2b) +function getNorm(O::Operator,p_sps,n_sps,Chan2b) n1b = getNorm1b(O.onebody,p_sps,n_sps) n2b = getNorm2b(O.twobody,Chan2b) return sqrt(n1b^2+n2b^2) @@ -165,7 +187,7 @@ end returns 2bnorm of the given Operator """ -function getNorm2b(Mat2b,Chan2b,verbose=false) +function getNorm2b(Mat2b::Vector{Matrix{Float64}},Chan2b::Vector{chan2b},verbose=false) tnorm = 0.0 for ch =1:length(Mat2b) J = Chan2b[ch].J @@ -176,14 +198,13 @@ function getNorm2b(Mat2b,Chan2b,verbose=false) return sqrt(tnorm) end """ - calc_Eta_atan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) + calc_Eta_atan!(HFobj::HamiltonianNormalOrdered,IMSRGobj::IMSRGobject,Chan2b::Vector{chan2b},dictMono,norms) calc. ``\\eta(s)`` with atan generator """ -function calc_Eta_atan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) +function calc_Eta_atan!(HFobj::HamiltonianNormalOrdered,IMSRGobj::IMSRGobject,Chan2b::Vector{chan2b},dictMono,norms) MS = HFobj.modelspace - sps = MS.sps; holes = MS.holes; particles = MS.particles - p_sps = MS.p_sps; n_sps = MS.n_sps + sps = MS.sps; p_sps = MS.p_sps; n_sps = MS.n_sps key = zeros(Int64,2) ## one-body piece a->h i->v/p Hs = IMSRGobj.H; f = Hs.onebody; Gamma = Hs.twobody @@ -194,12 +215,12 @@ function calc_Eta_atan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) eta1b = Eta1b[i]; eta1b .*= 0.0 end for (a,oa) in enumerate(sps) # a->core - if !oa.c;continue;end + if !oa.c[1];continue;end idx_a = div(a,2) + a%2 for (i,oi) in enumerate(sps) # i-> v/q (= not c) if a > i;continue;end if oa.tz != oi.tz;continue;end - if oi.c; continue;end + if oi.c[1]; continue;end pn = ifelse(oa.tz==-1,1,2) eta1b = Eta1b[pn] tf = f[pn] @@ -210,8 +231,8 @@ function calc_Eta_atan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) nume = 2 * tf[idx_a,idx_i] key[1] = a; key[2] = i if a > i; key[1] = i; key[2]= a; end - mono_ai = dMono[key].monopole[1] - deno = tf[idx_i,idx_i] - tf[idx_a,idx_a] + (oi.occ-oa.occ)*mono_ai + Delta + mono_ai = dMono[key].monopole[1] + deno = tf[idx_i,idx_i] - tf[idx_a,idx_a] + (oi.occ[1]-oa.occ[1])*mono_ai + Delta tmp = 0.5 * atan( nume / deno) eta1b[idx_i,idx_a] = tmp eta1b[idx_a,idx_i] = -tmp @@ -228,11 +249,11 @@ function calc_Eta_atan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) #println("ch $ch nket ",length(kets)) for ik in idxs_cc i,j = kets[ik] - ni = sps[i].occ; nj = sps[j].occ - for ib =1:length(kets) + ni = sps[i].occ[1]; nj = sps[j].occ[1] + for ib in eachindex(kets) a,b = kets[ib] - na = sps[a].occ; nb = sps[b].occ - if sps[a].c || sps[b].c ; continue;end + na = sps[a].occ[1]; nb = sps[b].occ[1] + if sps[a].c[1] || sps[b].c[1] ; continue;end nume = 2 * Gam[ib,ik] deno = Get2bDenominator(ch,pnrank,a,b,i,j,na,nb,ni,nj,f,Delta,dictMono,key) tmp = 0.5 * atan(nume / deno) @@ -264,7 +285,7 @@ end """ Get2bDenominator(ch,pnrank,a,b,i,j,na,nb,ni,nj,f,Delta,dictMono,key;verbose=false) -`` f_{aa} +f_{bb} −f_{ii} −f_{jj} +G_{abij} +\\Delta`` +`` f_{aa}+f_{bb}-f_{ii}-f_{jj}+G_{abij} +\\Delta`` with ``G_{abij} = \\Gamma_{abab} + \\Gamma_{ijij} - (\\Gamma_{aiai} + \\Gamma_{bjbj} + [a \\leftrightarrow b])`` """ @@ -287,12 +308,23 @@ function Get2bDenominator(ch,pnrank,a,b,i,j,na,nb,ni,nj,f,Delta,dictMono,key;ver end """ - print_flowstatus(istep,s,ncomm,norms,IMSRGobj) +print_flowstatus(istep,s,ncomm,norms,IMSRGobj) -print flowstatus s,E0,1b&2b norm for Omega, 1b&2b norm for Eta, Ncomm, nwritten +Function to print flowstatus s,E0,1b&2b norm for Omega, 1b&2b norm for Eta, Ncomm, nwritten """ -function print_flowstatus(istep,s,ncomm,norms,IMSRGobj) +function print_flowstatus(istep,s,ncomm,norms,IMSRGobj,Chan2b,verbose=false) if istep == 0 + if verbose + println(" # of 2b-ch ",length(IMSRGobj.Omega.twobody)) + dim_mat = dim_vec = 0 + for ch = 1:length(Chan2b) + tbc = Chan2b[ch] + d = tbc.nkets + dim_mat += d^2 + dim_vec += div(d*(d+1),2) + end + println("dim mat $dim_mat fvec $dim_vec") + end println(" step: s E0 ||Omega_1|| ||Omega_2|| ||Eta_1|| ||Eta_2|| Ncomm. nwritten") end E0 = IMSRGobj.H.zerobody[1] @@ -305,78 +337,105 @@ function print_flowstatus(istep,s,ncomm,norms,IMSRGobj) end """ - make_PandyaKets(emax,HFobj) +make_PandyaKets(emax,HFobj) To prepare "kets" for Pandya transformation. -For ordinary two-body channels, kets like ```|i,j=i;J=odd>``` where ```i={n,l,j,tz}``` are hindered, but necessary for Pandya transformation. +For ordinary two-body channels, kets like `|i,j=i;J=odd>` with ``={n,l,j,tz}` are hindered, but necessary for Pandya transformation. """ -function make_PandyaKets(emax,HFobj) +function make_PandyaKets(emax::Int,HFobj::HamiltonianNormalOrdered,Chan2b) Chan2b_Pandya = chan2b[ ] MS = HFobj.modelspace;sps = MS.sps dim1b = div(length(sps),2) Jmax = 2*emax+1 nchan = nchanP = 0 - ns = Vector{Int64}[ ] - ns_addinv = Vector{Int64}[ ] + ns = NTuple{4,Int64}[ ] + ns_addinv = NTuple{4,Int64}[ ] + for Tz = -2:2:2 ## pp/pn/nn for prty = 1:-2:-1 for J = 0:Jmax - kets = Vector{Int64}[ ] + kets = NTuple{2,Int64}[ ] nhh = nph = 0 for a = 1:2*dim1b - oa = sps[a]; la = oa.l; ja = oa.j; tza = oa.tz; na = oa.occ + oa = sps[a]; la = oa.l; ja = oa.j; tza = oa.tz; na = oa.occ[1] for b=a:2*dim1b - ob = sps[b]; lb = ob.l; jb = ob.j; tzb = ob.tz; nb = ob.occ + ob = sps[b]; lb = ob.l; jb = ob.j; tzb = ob.tz; nb = ob.occ[1] aTz = abs(tza+tzb) if aTz != abs(Tz); continue;end if tri_check(ja//2,jb//2,J)==false;continue;end tprty = (-1)^(la+lb) if prty != tprty; continue;end - #if oa.occ + ob.occ == 2; nhh +=1;end - #if oa.occ + ob.occ == 1; nph +=1;end if (na != 0.0) && (nb !=0.0); nhh +=1;end if (na*nb ==0.0) && (na+nb!=0.0);nph +=1;end - push!(kets,[a,b]) + push!(kets,(a,b)) end end nchan += 1 - nket = length(kets) - if nket > 0 - if Tz == -2 # for addinv - push!(ns_addinv,[nchan,nket,nhh,nph]) + nket = length(kets) + if nket > 0 + if Tz == -2 # for addinv + push!(ns_addinv,(nchan,nket,nhh,nph)) else - nchanP += 1 - nket = length(kets) - push!(Chan2b_Pandya, chan2b(Tz,prty,J,kets)) - push!(ns,[nchan,nket,nhh,nph]) - push!(ns_addinv,[nchan,nket,nhh,nph]) + nchanP += 1 + push!(Chan2b_Pandya, chan2b(Tz,prty,J,kets,nket)) + push!(ns,(nchan,nket,nhh,nph)) + push!(ns_addinv,(nchan,nket,nhh,nph)) end end end end end ## sort Chan2bPandya by nKets_cc - nkets = [ ns[i][2] for i=1:length(ns)] + nkets = [ ns[i][2] for i in eachindex(ns)] idxs = sortperm(nkets,rev=true) sortedChan2b = chan2b[] - sorted_ns = Vector{Int64}[] - dict_ch2ich = Dict{Int64,Int64}() + sorted_ns = NTuple{4,Int64}[] + dict_ch2ich = zeros(Int64,length(Chan2b)) for (ich,idx) in enumerate(idxs) push!(sortedChan2b,Chan2b_Pandya[idx]) push!(sorted_ns,ns[idx]) ch = ns[idx][1] dict_ch2ich[ch] = ich - end + end return sorted_ns,ns_addinv,sortedChan2b,dict_ch2ich end +function prep_nab_bar_matrices(HFobj::HamiltonianNormalOrdered,Chan2bD::chan2bD) + Chan2b = Chan2bD.Chan2b + MS = HFobj.modelspace; sps = MS.sps + nch = length(Chan2b) + mats_nab = Vector{Float64}[ ] + mats_nab_bar = Vector{Float64}[ ] + for ch = 1:nch + tkets = Chan2b[ch].kets + nket = length(tkets) + mat_nab = zeros(Float64,nket) + mat_nab_bar = zeros(Float64,nket) + @inbounds for idx_ab = 1:nket + a,b = tkets[idx_ab] + na = sps[a].occ[1] + nb = sps[b].occ[1] + nab = 1.0 * (na * nb) + nab_bar = 1.0 * (1-na)*(1-nb) + mat_nab[idx_ab] = nab + mat_nab_bar[idx_ab] = nab_bar + end + push!(mats_nab,mat_nab) + push!(mats_nab_bar,mat_nab_bar) + end + return mats_nab,mats_nab_bar + # mats_* are now vectors though... +end + """ + prep_PandyaLookup(binfo::basedat,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD;rank_J=0,rank_T=0,parity=0,ofst=1000) + constructor of utils for Pandya transformation and others numbers_Pandya:[ch,nKet_cc,nhh,nph] for ich (channel index of Chan2b_Pandya) """ -function prep_PandyaLookup(binfo,HFobj,Chan1b,Chan2bD;rank_J=0,rank_T=0,parity=0,ofst=1000) +function prep_PandyaLookup(binfo::basedat,HFobj::HamiltonianNormalOrdered,Chan1b::chan1b,Chan2bD::chan2bD;rank_J=0,rank_T=0,parity=0,ofst=1000) Chan2b = Chan2bD.Chan2b - numbers_Pandya,numbers_forAddInv,Chan2b_Pandya,dict_ch2ich = make_PandyaKets(binfo.emax,HFobj) + numbers_Pandya,numbers_forAddInv,Chan2b_Pandya,dict_ch2ich = make_PandyaKets(binfo.emax,HFobj,Chan2b) MS = HFobj.modelspace; sps = MS.sps ##prep occupation matrix for na*nb and nabar*nbbar @@ -392,15 +451,15 @@ function prep_PandyaLookup(binfo,HFobj,Chan1b,Chan2bD;rank_J=0,rank_T=0,parity=0 Mat_pp = zeros(Float64,nhh,nhh);Mat_hh = zeros(Float64,nhh,nhh) Mat_ph = zeros(Float64,nph,nph) for (i,idx) in enumerate(hhidx) #this is right! pp from hh! - a,b = kets[idx]; na = sps[a].occ; nb = sps[b].occ + a,b = kets[idx]; na = sps[a].occ[1]; nb = sps[b].occ[1] Mat_pp[i,i] = (1-na)*(1-nb) end for (i,idx) in enumerate(hhidx) - a,b = kets[idx]; na = sps[a].occ; nb = sps[b].occ + a,b = kets[idx]; na = sps[a].occ[1]; nb = sps[b].occ[1] Mat_hh[i,i] = na*nb end for (i,idx) in enumerate(phidx) - a,b = kets[idx]; na = sps[a].occ; nb = sps[b].occ + a,b = kets[idx]; na = sps[a].occ[1]; nb = sps[b].occ[1] Mat_ph[i,i] = (1-na)*(1-nb) #+ na *nb end push!(Mats_hh,Mat_hh) @@ -414,7 +473,7 @@ function prep_PandyaLookup(binfo,HFobj,Chan1b,Chan2bD;rank_J=0,rank_T=0,parity=0 phkets = Vector{Int64}[ ] PhaseMats = Matrix{Float64}[] dimmax = 0 - dict_ich_idx_from_ketcc = [ Dict{Int64,Int64}( ) for ich=1:nchPandya] + dict_ich_idx_from_ketcc = [ Dict{UInt64,Int64}( ) for ich=1:nchPandya] for ich = 1:nchPandya ch,nKet_cc,nhh,npp = numbers_Pandya[ich] nph_kets = nhh + npp @@ -425,74 +484,67 @@ function prep_PandyaLookup(binfo,HFobj,Chan1b,Chan2bD;rank_J=0,rank_T=0,parity=0 tbc = Chan2b_Pandya[ich]; tkets = tbc.kets target = dict_ich_idx_from_ketcc[ich] for (idx,ket) in enumerate(tkets) - tkey = ket[1] * ofst + ket[2] + tkey = get_nkey2_u(ket[1],ket[2]) target[tkey] = idx end end - nthre = nthreads() + dim1b = length(MS.p_sps) + copy_1bmat = [ zeros(Float64,dim1b,dim1b) for i=1:2*nthre] XYbars = [ [zeros(Float64,dimmax,dimmax),zeros(Float64,dimmax,dimmax)] for i=1:nthre] tMat = [ zeros(Float64,2*dimmax,2*dimmax) for i=1:nthre] keys6j = [zeros(Int64,5) for i=1:nthreads()] - + ## for 221 + mats_nab,mats_nab_bar = prep_nab_bar_matrices(HFobj,Chan2bD) ### to prep. 122 util such as intermediate matrix util122 = prep122(HFobj,Chan1b,Chan2bD) - return PandyaObject(numbers_Pandya,numbers_forAddInv,Chan2b_Pandya,phkets, - dict_ich_idx_from_ketcc,XYbars,Zbars,PhaseMats,tMat,dict_ch2ich,keys6j,util122,Mats_hh,Mats_pp,Mats_ph) -end -function lookup_twobody(a,d,c,b,ja,jd,jc,jb,Jtar,lookup,O2b,Chan2b,key6j;verbose=false) - phase = 1.0 - key1 = @view key6j[1:2]; key1[1] = a; key1[2] = d - key2 = @view key6j[3:4]; key2[1] = c; key2[2] = b - if a > d; key1[1] = d; key1[2] = a; phase *= (-1)^(div(ja+jd,2)+Jtar+1); end - if c > b; key2[1] = b; key2[2] = c; phase *= (-1)^(div(jb+jc,2)+Jtar+1); end - ad_candidates = lookup[key1] - cb_candidates = lookup[key2] - #println("adcb $a $d $c $b key1 $key1 key2 $key2 J $Jtar $ad_candidates") - tbme = 0.0 - for ad_cand in ad_candidates - ch,idx_ad = ad_cand - if Chan2b[ch].J != Jtar;continue;end - for cb_cand in cb_candidates - ch_cb,idx_cb = cb_cand - if ch != ch_cb; continue;end - ta,td = Chan2b[ch].kets[idx_ad] - tc,tb = Chan2b[ch].kets[idx_cb] - sqfac = ifelse(ta==td,sqrt(2.0),1.0) * ifelse(tc==tb,sqrt(2.0),1.0) - tbme += O2b[ch][idx_ad,idx_cb] * phase * sqfac - #println("hit@ch=$ch idx_ad $idx_ad ta td $ta $td idx_cb $idx_cb tc tb $tc $tb") + + + Pandya3Channels = NTuple{3,Int64}[] + idxdict_nth = Dict{UInt64,Int64}() + hermite = true + for ich in eachindex(numbers_forAddInv) + ch = numbers_forAddInv[ich][1] + tbc = Chan2b[ch]; nKets = tbc.nkets + tkets = tbc.kets + for ibra in eachindex(tkets) + ketmin = ifelse(hermite,ibra,ibra+1) + for iket = ketmin:nKets + push!(Pandya3Channels, (ch,ibra,iket)) + idxdict_nth[get_nkey3_u(ch,ibra,iket)] = length(Pandya3Channels) + end end - end - return tbme + end + vec_flat = zeros(Float64, length(Pandya3Channels)) + return PandyaObject(numbers_Pandya,numbers_forAddInv,Chan2b_Pandya,phkets,copy_1bmat,mats_nab,mats_nab_bar, + dict_ich_idx_from_ketcc,XYbars,Zbars,PhaseMats,tMat,dict_ch2ich,keys6j,util122,Mats_hh,Mats_pp,Mats_ph, + vec_flat,idxdict_nth,Pandya3Channels) end -function DoPandyaTransformation(O,Obar_ph,tbc_cc,Chan2bD,HFobj,PandyaObj,numbers_ch,dict6j,key6j,orientation="N") - Chan2b = Chan2bD.Chan2b +function DoPandyaTransformation(O::Operator,Obar_ph,tbc_cc,Chan2bD,HFobj,nph_kets,d6j_lj,to,orientation="N";def_mode=false) MS = HFobj.modelspace; sps = MS.sps J_cc = tbc_cc.J + tkets = tbc_cc.kets O2b = O.twobody - herm = ifelse(O.hermite,1.0,-1.0) - ch_cc,nKets_cc,nhh,nph = numbers_ch - nph_kets = nhh + nph - hit_ph = 0 - tdict = dict6j[J_cc+1] - Dict_chidx_from_ketJ = Chan2bD.dict_ch_idx_from_ket - for ibra = 1:nKets_cc #ph_kets - bra_cc = tbc_cc.kets[ibra] + herm = ifelse(O.hermite[1],1.0,-1.0) + ch_dict = Chan2bD.dict_ch_idx_from_ket + hit_ph = 0 + @inbounds for ibra in eachindex(tkets) + bra_cc = tkets[ibra] a,b = bra_cc - if (sps[a].occ +sps[b].occ == 0.0);continue;end + if (sps[a].occ[1] +sps[b].occ[1] == 0.0);continue;end hit_ph += 1 # to consider a > b case for ab_case = 0:1 # 0-> |a,b> 1->|b,a> a = bra_cc[1 + ab_case] b = bra_cc[2 - ab_case] - na = sps[a].occ; nb = sps[b].occ - ja = sps[a].j; jb = sps[b].j + na = sps[a].occ[1]; ja = sps[a].j + nb = sps[b].occ[1]; jb = sps[b].j na_nb_factor = na-nb bra_shift = 0 if a == b && ab_case==1 - bra_shift=nph_kets + bra_shift = nph_kets end if (na != 0.0 && nb == 0.0) bra_shift = 0 @@ -501,29 +553,24 @@ function DoPandyaTransformation(O,Obar_ph,tbc_cc,Chan2bD,HFobj,PandyaObj,numbers else bra_shift = ifelse(ab_case==0,0,nph_kets) end - for iket_cc = 1:nKets_cc - ket_cc = tbc_cc.kets[iket_cc] - c,d = ket_cc - jc = sps[c].j; jd = sps[d].j + for iket_cc in eachindex(tkets) + c,d = tkets[iket_cc] Tz = sps[a].tz + sps[d].tz - if (sps[a].tz + sps[d].tz) != (sps[b].tz + sps[c].tz);continue;end + if Tz != (sps[b].tz + sps[c].tz);continue;end + tdict = ch_dict[div(Tz+2,2)+1] + jc = sps[c].j; jd = sps[d].j jmin = max(div(abs(ja-jd),2), div(abs(jc-jb),2)) jmax = min(div(ja+jd,2),div(jc+jb,2)) - Obar = 0.0 - for J_std = jmin:jmax - if !tri_check(ja,jd,2*J_std);continue;end - if !tri_check(jb,jc,2*J_std);continue;end - if abs(Tz)==2 && J_std %2 ==1 && (b==c || a==d);continue;end - nkey = get_nkey_from_key6j(ja,jb,jc,jd,J_std) - sixj = tdict[nkey] - if abs(sixj) <= 1.e-8;continue;end - lookup = Dict_chidx_from_ketJ[1+div(Tz+2,2)][J_std+1] - tbme = lookup_twobody(a,d,c,b,ja,jd,jc,jb,J_std,lookup,O2b,Chan2b,key6j) - Obar -= (2*J_std + 1) * sixj * tbme - end + tf_skip = (Tz!=0 && (b==c || a==d)) + jmin = ifelse(tf_skip&&jmin%2==1,jmin+1,jmin) + jmax = ifelse(tf_skip&&jmax%2==1,jmax-1,jmax) + if jmin > jmax; continue;end + jstep = ifelse(tf_skip,2,1) + Obar = inner_sum_Pandya(jmin,jstep,jmax,a,b,c,d,ja,jb,jc,jd,J_cc,Tz,tdict,O2b,d6j_lj;def_mode=def_mode) + if orientation == "N" # for Y Obar_ph[hit_ph+bra_shift,iket_cc] = Obar - elseif orientation =="T" # for X + elseif orientation =="T" # for X Obar_ph[iket_cc,hit_ph+bra_shift] = herm * Obar * na_nb_factor else println("err orientation=$orientation is not defined");exit() @@ -534,89 +581,78 @@ function DoPandyaTransformation(O,Obar_ph,tbc_cc,Chan2bD,HFobj,PandyaObj,numbers return nothing end -function get_nkets_permutation(tbc) - kets = tbc.kets - Tz = tbc.Tz - count = 0 - for ket in kets - count +=1 - if Tz != 0 #&& ket[1] != ket[2] - count +=1 - end +function flip_phase(o_a,o_b,j_a,j_b,J)::Float64 + if o_a <= o_b + return 1.0 + else + jflip_odd = (div(j_a+j_b,2)+J+1)%2 == 1 + return ifelse(jflip_odd,-1.0,1.0) end - return count end +function inner_sum_Pandya(jmin,jstep,jmax,a,b,c,d,ja,jb,jc,jd,J_cc,Tz,subdict, + O2b::Vector{Matrix{Float64}},d6j_lj;def_mode=false) + Obar = 0.0 + J_cc2 = J_cc*2 + sqfac = ifelse(a==d,sqrt(2.0),1.0) * ifelse(c==b,sqrt(2.0),1.0) # equiv to t-counter part + flip_ad = ifelse(a>d,true,false); flip_cb = ifelse(c>b,true,false) + for J_std = jmin:jstep:jmax + sixj = call_d6j_defbyrun(ja,jb,J_cc2,jc,jd,J_std*2,d6j_lj;def_mode=def_mode) + if abs(sixj) < 1.e-8;continue;end + tbme = lookup_twobody(a,d,c,b,flip_ad,flip_cb,J_std,Tz,subdict,O2b) + tbme *= sixj + tbme *= flip_phase(a,d,ja,jd,J_std) * flip_phase(c,b,jc,jb,J_std) + Obar -= hahat(J_std) * tbme + end + return Obar * sqfac +end -function need_check(tbc_bra_cc, tbc_ket_cc, li,ji,tzi, lj,jj,tzj, lk,jk,tzk, ll,jl,tzl) - tf = false - twoJ_bra_cc = tbc_bra_cc.J * 2 - twoJ_ket_cc = tbc_ket_cc.J * 2 - par_bra = tbc_bra_cc.prty - par_ket = tbc_ket_cc.prty - Tz_bra = tbc_bra_cc.Tz - Tz_ket = tbc_ket_cc.Tz - ## i-l & j-k - j3min = abs(ji-jl); j3max = ji+jl - j4min = abs(jk-jj); j4max = jk+jj - if ( ((-1)^(li+ll) == par_bra) && - ((-1)^(lj+lk) == par_ket) && - (abs(tzi+tzl) == Tz_bra) && - (abs(tzj+tzk) == Tz_ket) && - j3min<=twoJ_bra_cc && twoJ_bra_cc<=j3max && - j4min<=twoJ_ket_cc && twoJ_ket_cc<=j4max ) - #if ch_bra_cc == ch_ket_cc == 1; println("hit @1");end - return true - end - if (((-1)^(li+ll) == par_ket) && - ((-1)^(lj+lk) == par_bra) && - (abs(tzi+tzl) == Tz_ket) && - (abs(tzj+tzk) == Tz_bra) && - j3min<=twoJ_ket_cc && twoJ_ket_cc<=j3max && - j4min<=twoJ_bra_cc && twoJ_bra_cc<=j4max ) - #if ch_bra_cc == ch_ket_cc == 1; println("hit @2");end - return true - end - ##i-k j-l - j3min = abs(jj-jl); j3max = jj+jl - j4min = abs(ji-jk); j4max = ji+jk - if (((-1)^(lj+ll) == par_bra) && - ((-1)^(li+lk) == par_ket) && - (abs(tzj+tzl) == Tz_bra) && - (abs(tzi+tzk) == Tz_ket) && - j3min<=twoJ_bra_cc && twoJ_bra_cc<=j3max && - j4min<=twoJ_ket_cc && twoJ_ket_cc<=j4max ) - #if ch_bra_cc == ch_ket_cc == 1; println("hit @3");end - return true - end - if (((-1)^(lj+ll) == par_ket) && - ((-1)^(li+lk) == par_bra) && - (abs(tzj+tzl) == Tz_ket) && - (abs(tzi+tzk) == Tz_bra) && - j3min<=twoJ_ket_cc && twoJ_ket_cc<=j3max && - j4min<=twoJ_bra_cc && twoJ_bra_cc<=j4max ) - #if ch_bra_cc == ch_ket_cc == 1; println("hit @4");end - return true - end - return tf +function lookup_twobody(a::Int64,d::Int64,c::Int64,b::Int64,flip_ad::Bool,flip_cb::Bool,J::Int64,Tz::Int64, + lookup::Dict{UInt64,NTuple{2,Int64}},O2b::Vector{Matrix{Float64}})::Float64 + nkey = UInt64(0) + if flip_ad + nkey = get_nkey3_ketJ(d,a,J) + else + nkey = get_nkey3_ketJ(a,d,J) + end + ch,idx_ad = lookup[nkey] + if flip_cb + nkey = get_nkey3_ketJ(b,c,J) + else + nkey = get_nkey3_ketJ(c,b,J) + end + idx_cb = lookup[nkey][2] + return O2b[ch][idx_ad,idx_cb] end +function sort_d6j_lj(d6j) + ret = Dict{UInt64,Float64}() -function get_nkey_from_key6j(tkey,ofst_unit=1000) - nkey = tkey[1] + tkey[2] * ofst_unit + tkey[3] * ofst_unit^2 + tkey[4] * ofst_unit^3 + tkey[5] * ofst_unit^4 - return nkey -end -function get_nkey_from_key6j(ji,jj,jk,jl,Jp,ofst=1000) - return ji + jj*ofst + jk * ofst^2+ jl* ofst^3 + Jp * ofst^4 + allkeys = sort(collect(keys(d6j))) + for tkey in allkeys + ret[tkey] = d6j[tkey] + end + ## key check + count = 0 + for (ith,tkey) in enumerate(keys(d6j)) + skey = allkeys[ith] + println("count $count tkey $tkey skey $skey") + count += 1 + if count == 10;break;end + end + return ret end -function IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,dict6j, - core_generator,valence_generator,to;valenceflow=false,debugmode=0,maxstep=2000,magnusmethod="split") +function IMSRGflow(binfo::basedat,HFobj::HamiltonianNormalOrdered,IMSRGobj::IMSRGobject,PandyaObj::PandyaObject,Chan1b::chan1b,Chan2bD,dictMono,d6j_lj, + core_generator,valence_generator,to;valenceflow=false,debugmode=0,maxstep=2000,Hsample=false,num_Hsample=50,modsample=4, + restart_from_files=String[]) Chan2b = Chan2bD.Chan2b - ncomm = IMSRGobj.Ncomm + ncomm = IMSRGobj.Ncomm s,ds = IMSRGobj.s smax = IMSRGobj.smax + dsmax = IMSRGobj.dsmax maxnormOmega=IMSRGobj.maxnormOmega + magnusmethod = IMSRGobj.magnusmethod eta_criterion = IMSRGobj.eta_criterion norms = zeros(Float64,4) H0 = IMSRGobj.H0 @@ -639,60 +675,161 @@ function IMSRGflow(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dictMono,dict6j else println("valence_generator=$valence_generator is not supported now");exit() end - end - set_dictMonopole!(dictMono,HFobj,Hs.twobody) - func_Eta(HFobj,IMSRGobj,Chan2b,dictMono,norms) + end + tmpOp = deepcopy(IMSRGobj.Omega) gatherer = ifelse(magnusmethod=="huntergather",deepcopy(IMSRGobj.Omega),nothing) nOmega = deepcopy(IMSRGobj.Omega) Nested = deepcopy(IMSRGobj.Omega) - istep = 0; print_flowstatus(istep,s,ncomm,norms,IMSRGobj) + + ## To define by run: d6j_lj + if !valenceflow + def_d6j_lj_by_run!(eta,Omega,HFobj,Chan2bD,d6j_lj,PandyaObj,to) + #d6j_lj = sort_d6j_lj(d6j_lj) + println("def-by-run d6j_lj done! ", length(keys(d6j_lj))) + end + + dict_idx_op_to_flatvec, dict_idx_flatvec_to_op, dict_if_idx_for_hdf5 = get_non0omega_idxs(HFobj,nOmega,Chan2b) + fvec = get_fvec_from_Op(s, nOmega, dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + + set_dictMonopole!(dictMono,HFobj,Hs.twobody) + func_Eta(HFobj,IMSRGobj,Chan2b,dictMono,norms) + + istep = 0; print_flowstatus(istep,s,ncomm,norms,IMSRGobj,Chan2b) @timeit to "IMSRG flow" for istep = 1:maxstep - if sqrt(norms[3]^2+norms[4]^2) < eta_criterion;break;end - ds = min(ds,smax-s) - s += ds + ds = min(ds,smax-s) + s += ds IMSRGobj.s[1] = s; IMSRGobj.s[2] = ds - #debug_print(debugmode,Hs,Omega,eta,"s") - + ## OmegaCheck - if magnusmethod == "huntergather" + if magnusmethod == "huntergather" GatherOmega(Omega,nOmega,gatherer,tmpOp,Nested,H0,Hs, - ncomm,norms,Chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,dict6j,PandyaObj,maxnormOmega,to) - elseif magnusmethod == "split" # not implemented - NewOmega(binfo,Omega,nOmega,HFobj,IMSRGobj,Chan2bD) - elseif magnusmethod == "" || magnusmethod == "NS" + ncomm,norms,Chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,d6j_lj,PandyaObj,maxnormOmega,to) + elseif magnusmethod == "" || magnusmethod == "split" + NewOmega(s, Omega, nOmega, binfo, Chan2bD, HFobj, IMSRGobj) + elseif magnusmethod == "no-split" || magnusmethod == "NS" aOp1_p_bOp2!(nOmega,Omega,1.0,0.0) else println("magnusmethod=$magnusmethod is not supported!");exit() end # Eta * ds for Euler step (assuming Magnus expansion) aOp!(eta,ds) - ## Calc Omega(s+ds) - BCH_Product(eta,Omega,nOmega,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to) - ## IMSRGobj H(s+ds) updated - BCH_Transform(nOmega,H0,Hs,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to) + ## Calc. Omega(s+ds) + BCH_Product(eta,Omega,nOmega,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + + ## IMSRGobj.H updated to H(s+ds) + BCH_Transform(nOmega,H0,Hs,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) - #debug_print(debugmode,Hs,nOmega,eta,"s+ds") set_dictMonopole!(dictMono,HFobj,IMSRGobj.H.twobody) func_Eta(HFobj,IMSRGobj,Chan2b,dictMono,norms) - print_flowstatus(istep,s,ncomm,norms,IMSRGobj) - if s >= smax;break;end + # remnant for IMSRG-Net sampling + if Hsample && ( ( 15.0 <= s <= 20.00 || s == 30.0 || s == 50.0 ) || valenceflow) #(istep <=10 && valenceflow) + Nested = deepcopy(IMSRGobj.Omega) + gather_omega_sofar_write(Hsample,istep, s, fvec, Omega, nOmega, tmpOp, binfo, Chan1b, Chan2bD, HFobj, IMSRGobj, dictMono, d6j_lj, PandyaObj,to,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op,dict_if_idx_for_hdf5) + end + + print_flowstatus(istep,s,ncomm,norms,IMSRGobj,Chan2b) + if sqrt(norms[3]^2+norms[4]^2) < eta_criterion || s >= smax + aOp1_p_bOp2!(nOmega,Omega,1.0,0.0) + write_omega_bin(binfo,Chan2b,IMSRGobj.n_written_omega[1],nOmega,s,IMSRGobj.H.zerobody[1]) + gather_omega_sofar_write(Hsample,istep+1, s, fvec, Omega, nOmega, tmpOp, binfo, Chan1b, Chan2bD, HFobj, IMSRGobj, dictMono, d6j_lj, PandyaObj,to,dict_idx_op_to_flatvec, dict_idx_flatvec_to_op,dict_if_idx_for_hdf5) + #svd_Op_twobody(s,Omega,Chan2b;verbose=true,max_rank=20) + IMSRGobj.n_written_omega[1] += 1 + break + end end - aOp1_p_bOp2!(nOmega,Omega,1.0,0.0) - write_omega_bin(binfo,IMSRGobj.n_written_omega[1],nOmega) - IMSRGobj.n_written_omega[1] += 1 - #show(to, allocations = true,compact = false);println("") + + if length(restart_from_files) >= 1 + for (nth,fn) in enumerate(restart_from_files[1]) + aOp!(Omega,0.0) + fvec = read_fvec_hdf5(fn) + s = parse(Float64,split(split(split(fn,"_")[end],"s")[end],".h5")[1]) + update_Op_with_fvec!(fvec,Omega,dict_idx_flatvec_to_op) + BCH_Transform(Omega,HFobj.H,tmpOp,nOmega,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + println("IMSRG from file $fn") + println("En(s=",strip(@sprintf("%8.2f",s)),") = ",tmpOp.zerobody[1]) + if length(restart_from_files) == 2 + Hcopy = deepcopy(tmpOp) + + # to check + # nw = 2 + # read_omega_bin!(binfo,Chan2b,nw,Omega;fn="vsrunlog_e4_em500/Omega_82794O18_2.bin") + # println("Onebody from Omega ", Omega.onebody[1][1,:]) + # s = parse(Float64,split(split(fn,"_s")[end],".h5")[1]) + # BCH_Transform(Omega,Hcopy,tmpOp,nOmega,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + # println("p1b=> ", tmpOp.onebody[1][1,:]) + # + + fn = restart_from_files[2][nth] + fvec = read_fvec_hdf5(fn) + update_Op_with_fvec!(fvec,Omega,dict_idx_flatvec_to_op) + println("Onebody from fvecENN ", Omega.onebody[1][1,:]) + BCH_Transform(Omega,Hcopy,tmpOp,nOmega,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + println("p1b=> ", tmpOp.onebody[1][1,:]) + + println("VSIMSRG from file $fn \nEn(s=",strip(@sprintf("%8.2f",s)),") = ",tmpOp.zerobody[1]) + aOp1_p_bOp2!(tmpOp,Hs,1.0,0.0) + end + end + end + return nothing -end -function NewOmega(binfo,Omega,nOmega,HFobj,IMSRGobj,Chan2bD) +end + +function normHs(Hs::Operator) + norm2b = sqrt(Hs.zerobody[1]^2) + for ch = 1:length(Hs.twobody) + norm2b += norm(Hs.twobody[ch],2)^2 + end + norm2b = sqrt(norm2b) + return sqrt(norm(Hs.onebody[1],2)^2 + norm(Hs.onebody[2],2)^2 + norm2b^2) +end + +function gather_omega_sofar_write(Hsample::Bool, istep, s, fvec, oOmega, nOmega, tmpOp, binfo, Chan1b, Chan2bD, + HFobj, IMSRGobj, dictMono, d6j_lj, PandyaObj,to, + dict_idx_op_to_flatvec, dict_idx_flatvec_to_op,dict_if_idx_for_hdf5;debug_mode=true) + if !Hsample; return nothing;end + magnusmethod = IMSRGobj.magnusmethod + #splitting = ifelse((magnusmethod!="" && magnusmethod!="split"),true,false) + splitting = ifelse((magnusmethod!="" && magnusmethod!="split"),false,true) + fvec .*= 0.0 + ncom = zeros(Int64,3) + norms = zeros(Float64,3) + tildeO = deepcopy(nOmega); aOp!(tildeO,0.0) + tmpOp = deepcopy(tildeO) + tmpOp2 = deepcopy(tildeO) + Nested = deepcopy(tildeO) + tOmega = deepcopy(tildeO) + if splitting + nw = IMSRGobj.n_written_omega[1] + for i = 1:nw + aOp!(tOmega,0.0) + read_omega_bin!(binfo,Chan2bD.Chan2b,i,tOmega) + BCH_Product(tOmega,tildeO,tmpOp,tmpOp2,Nested,ncom,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + aOp1_p_bOp2!(tmpOp,tildeO,1.0,0.0) + end + BCH_Product(nOmega,tildeO,tmpOp,tmpOp2,Nested,ncom,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + aOp1_p_bOp2!(tmpOp,tildeO,1.0,0.0) + else + aOp1_p_bOp2!(nOmega,tildeO,1.0,0.0) + + end + get_fvec_from_Op!(s, fvec, tildeO, dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + write_fvec_hdf5(binfo,fvec,dict_if_idx_for_hdf5,s,IMSRGobj.H.zerobody[1];label="omega") + + get_fvec_from_Op!(s, fvec, IMSRGobj.eta, dict_idx_op_to_flatvec, dict_idx_flatvec_to_op) + write_fvec_hdf5(binfo,fvec,dict_if_idx_for_hdf5,s,IMSRGobj.H.zerobody[1];label="eta") + return nothing +end + +function NewOmega(s, Omega, nOmega, binfo, Chan2bD, HFobj, IMSRGobj) maxnormOmega = IMSRGobj.maxnormOmega MS = HFobj.modelspace; p_sps =MS.p_sps; n_sps=MS.n_sps Chan2b = Chan2bD.Chan2b - dim1b = size(Omega.onebody[1])[1] if getNorm(nOmega,p_sps,n_sps,Chan2b) >= maxnormOmega - write_omega_bin(binfo,IMSRGobj.n_written_omega[1],nOmega) + write_omega_bin(binfo,Chan2b,IMSRGobj.n_written_omega[1],nOmega,s,IMSRGobj.H.zerobody[1]) IMSRGobj.n_written_omega[1] += 1 aOp!(Omega,0.0) H0 = IMSRGobj.H0 @@ -706,31 +843,40 @@ end """ write_omega_bin(binfo,n_written,Omega) -to write binary file of Operator matrix elements, when spliting the flow +Function to write temporary binary files of Operator matrix elements, when spliting the flow. """ -function write_omega_bin(binfo,n_written,Omega) - if isdir("flowOmega") - if n_written==0 - rm.(glob("flowOmega/*bin")) - end - else - if n_written==0;run(`mkdir flowOmega`);end +function write_omega_bin(binfo::basedat,Chan2b::Vector{chan2b},n_written::Int,Omega::Operator,s::Float64,E0::Float64;Oplabel="Omega") + if !isdir("flowOmega") && n_written==0 + run(`mkdir flowOmega`) end pid = getpid() nw = n_written + 1 - fname = "flowOmega/Omega_$pid"*binfo.nuc.cnuc*"_$nw.bin" + fname = "flowOmega/$(Oplabel)_$pid"*binfo.nuc.cnuc*"_$nw.bin" dim1b = size(Omega.onebody[1])[1] nch = length(Omega.twobody) dims = Int64[] + JPTzs = Vector{Int64}[ ] for ch = 1:nch dim = size(Omega.twobody[ch])[1] push!(dims,dim) + J = Chan2b[ch].J + P = Chan2b[ch].prty + Tz = Chan2b[ch].Tz + push!(JPTzs,[J,P,Tz]) end io = open(fname,"w") + write(io,s) + write(io,E0) write(io,Int64(dim1b)) + count1b = 0 for i =1:dim1b for j=1:dim1b - write(io,Omega.onebody[1][i,j]) + p1b = Omega.onebody[1][i,j] + write(io,p1b) + if i <= j && p1b != 0.0 + #println("i $i j $j p1b $p1b") + count1b += 1 + end end end for i =1:dim1b @@ -740,6 +886,11 @@ function write_omega_bin(binfo,n_written,Omega) end write(io,Int64(nch)) write(io,dims) + for ch = 1:nch + for n = 1:3 + write(io,Int64(JPTzs[ch][n])) + end + end for ch = 1:nch dim = dims[ch] O2b = Omega.twobody[ch] @@ -750,6 +901,31 @@ function write_omega_bin(binfo,n_written,Omega) end end close(io) + + dim_pp = dim_nn = dim_pn = 0 + for ch = 1:nch + dim = dims[ch] + J = Chan2b[ch].J + P = Chan2b[ch].prty + Tz = Chan2b[ch].Tz + O2b = Omega.twobody[ch] + #println("ch $ch JPT $J $P $Tz") + if Tz == -2; dim_pp += dim*(dim+1)÷2;end + if Tz == 0; dim_pn += dim*(dim+1)÷2;end + if Tz == 2; dim_nn += dim*(dim+1)÷2;end + if Tz != -2; continue;end + for chp = 1:nch + Jp = Chan2b[chp].J + Pp = Chan2b[chp].prty + Tzp = Chan2b[chp].Tz + if J != Jp; continue; end + if P != Pp; continue; end + if Tz != - Tzp;continue;end + O2bp = Omega.twobody[chp] + #println("s $s ch $ch J $J P $P O-O' ",norm(O2b-O2bp,2)) + end + end + #println("dim: $(2*count1b+dim_pp+dim_pn+dim_nn) 1b $count1b 2bsum $(dim_pp+dim_pn+dim_nn) pp $dim_pp pn $dim_pn nn $dim_nn") return nothing end @@ -758,10 +934,15 @@ end read written Omega file and update ```Op::Operator``` """ -function read_omega_bin!(binfo,nw,Op,verbose=false) +function read_omega_bin!(binfo::basedat,Chan2b::Vector{chan2b},nw::Int,Op::Operator,verbose=false;Oplabel="Omega",fn="") + aOp!(Op,0.0) pid = getpid() - fn = "flowOmega/Omega_$pid"*binfo.nuc.cnuc*"_$nw.bin" + if fn == "" + fn = "flowOmega/$(Oplabel)_$pid"*binfo.nuc.cnuc*"_$nw.bin" + end io = open(fn,"r") + s = read(io,Float64) + E = read(io,Float64) dim1b = read(io,Int64) for i = 1:dim1b for j=1:dim1b @@ -775,6 +956,7 @@ function read_omega_bin!(binfo,nw,Op,verbose=false) end nch = read(io,Int64) dims = [read(io,Int64) for ch=1:nch] + JPTz = [ [read(io,Int64),read(io,Int64),read(io,Int64)] for ch=1:nch] for ch = 1:nch dim2b = dims[ch] O2b = Op.twobody[ch] @@ -789,11 +971,12 @@ function read_omega_bin!(binfo,nw,Op,verbose=false) end """ - GatherOmega(Omega,nOmega,gatherer,tmpOp,Nested,H0,Hs,ncomm,norms,Chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,dict6j,PandyaObj,maxnormOmega,to) + GatherOmega(Omega,nOmega,gatherer,tmpOp,Nested,H0,Hs,ncomm,norms,Chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,d6j_lj,PandyaObj,maxnormOmega,to) This may not be used now. """ -function GatherOmega(Omega,nOmega,gatherer,tmpOp,Nested,H0,Hs,ncomm,norms,Chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,dict6j,PandyaObj,maxnormOmega,to) +function GatherOmega(Omega::Op,nOmega::Op,gatherer::Op,tmpOp::Op,Nested::Op, + H0,Hs,ncomm,norms,Chan1b::chan1b,Chan2bD,HFobj,IMSRGobj,dictMono,d6j_lj,PandyaObj,maxnormOmega,to) where Op<:Operator MS = HFobj.modelspace; p_sps =MS.p_sps; n_sps=MS.n_sps Chan2b = Chan2bD.Chan2b maxnormOmega = IMSRGobj.maxnormOmega @@ -802,8 +985,8 @@ function GatherOmega(Omega,nOmega,gatherer,tmpOp,Nested,H0,Hs,ncomm,norms,Chan1b return false end aOp!(gatherer,0.0) - BCH_Product(nOmega,Omega,gatherer,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to) - BCH_Transform(gatherer,H0,Hs,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to) + BCH_Product(nOmega,Omega,gatherer,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) + BCH_Transform(gatherer,H0,Hs,tmpOp,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_lj,PandyaObj,to) set_dictMonopole!(dictMono,HFobj,IMSRGobj.H.twobody) aOp1_p_bOp2!(gatherer,Omega,1.0,0.0) return true @@ -832,9 +1015,8 @@ function Gethhph(kets,sps) idx_hhph = Int64[ ] for (idx,ket) in enumerate(kets) p,q = ket - occs = sps[p].occ + sps[q].occ - #if occs == 2 || occs == 1; push!(idx_hhph,idx);end - if occs != 0.0; push!(idx_hhph,idx);end # for fractional + occs = sps[p].occ[1] + sps[q].occ[1] + if occs != 0.0; push!(idx_hhph,idx);end end return idx_hhph end @@ -856,21 +1038,22 @@ Constructor for IMSRGobject - `n_written_omega::Int` # of written Omega by splitting to solve IMSRGflow - `Ncomm::Vector{Int}` # of commutator evaluated during IMSRG flow """ -function init_IMSRGobject(HFobj;smax=500.0,dsmax=0.5,maxnormOmega=0.25,eta_criterion=1.e-6,denominatorDelta=0.0,filename="optional_parameters.jl") +function init_IMSRGobject(HFobj,filename;smax=500.0,dsmax=1.0,maxnormOmega=0.25,eta_criterion=1.e-6,denominatorDelta=0.0) tf = isfile(filename) - ds = min(dsmax,0.5) + ds = min(dsmax,1.0) s = [0.0,ds] E0 = HFobj.E0 fp = copy(HFobj.H.onebody[1]) fn = copy(HFobj.H.onebody[2]) Gamma = deepcopy(HFobj.H.twobody) - Hs = Operator([E0],[fp,fn],Gamma,true,false) + Hs = Operator([E0],[fp,fn],Gamma,[true],[false]) H0 = deepcopy(Hs) - eta = Operator([0.0],[copy(0.0 .*fp),copy(0.0 .*fn)],0.0 .*deepcopy(Gamma),false,true) - Omega = Operator([0.0],[copy(0.0 .*fp),copy(0.0 .*fn)], 0.0 .*deepcopy(Gamma),false,true) + eta = Operator([0.0],[copy(0.0 .*fp),copy(0.0 .*fn)],0.0 .*deepcopy(Gamma),[false],[true]) + Omega = Operator([0.0],[copy(0.0 .*fp),copy(0.0 .*fn)], 0.0 .*deepcopy(Gamma),[false],[true]) n_written_omega = [0] Ncomm =[0] - IMSRGobj = IMSRGobject(H0,Hs,s,smax,dsmax,maxnormOmega,eta,Omega,eta_criterion,denominatorDelta,n_written_omega,Ncomm) + magnusmethod = "" + IMSRGobj = IMSRGobject(H0,Hs,s,smax,dsmax,maxnormOmega,magnusmethod,eta,Omega,eta_criterion,denominatorDelta,n_written_omega,Ncomm) if !tf println("Since $filename is not found, the default parameters will be used.") return IMSRGobj @@ -881,16 +1064,16 @@ function init_IMSRGobject(HFobj;smax=500.0,dsmax=0.5,maxnormOmega=0.25,eta_crite end """ - flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dict_9j,HOBs,dictMono,dict6j,Operators,to) + flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,d6j_lj,dictMono,Operators,to) consistent IMSRG flow of scaler operators (Rp2) using written Omega """ -function flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b,Chan2bD,dict_9j,HOBs,dictMono,dict6j,Operators,MatOp,to) +function flow_Operators(binfo,HFobj,IMSRGobj,PandyaObj,Chan1b::chan1b,Chan2bD,dWS,d6j_defbyrun,dictMono,Operators,MatOp,restart_from_files,to) effOperators = Operator[ ] for c_op in Operators if c_op=="Rp2" println("Operator:$c_op") - eOp = eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j,HOBs,dictMono,dict6j,MatOp,to) + eOp = eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dWS,d6j_defbyrun,dictMono,MatOp,restart_from_files,to) push!(effOperators,eOp) else println("IMSRG flow of Operator=$c_op is not supported now ") @@ -919,10 +1102,10 @@ function update_core_in_sps!(binfo,HFobj) nconfs_core = naive_filling(n_sps,cN,binfo.emax) ini_occ!(pconfs_core,occ_p,nconfs_core,occ_n) for i = 1:dim1b - pTF = p_sps[i].occ==1.0 - nTF = n_sps[i].occ==1.0 - p_sps[i].c = sps[2*(i-1)+1].c = ifelse(pTF,true,false) - n_sps[i].c = sps[2*i].c = ifelse(nTF,true,false) + pTF = p_sps[i].occ[1]==1.0 + nTF = n_sps[i].occ[1]==1.0 + p_sps[i].c[1] = sps[2*(i-1)+1].c[1] = ifelse(pTF,true,false) + n_sps[i].c[1] = sps[2*i].c[1] = ifelse(nTF,true,false) end return nothing end @@ -945,10 +1128,10 @@ function set_sps_to_core!(binfo,HFobj) nconfs_core = naive_filling(n_sps,cN,binfo.emax) ini_occ!(pconfs_core,occ_p,nconfs_core,occ_n) for i = 1:dim1b - cp = ifelse(occ_p[i,i]==1.0,1,0) - cn = ifelse(occ_n[i,i]==1.0,1,0) - p_sps[i].occ = sps[2*(i-1)+1].occ = cp - n_sps[i].occ = sps[2*i].occ = cn + cp = ifelse(occ_p[i,i]==1.0,1.0,0.0) + cn = ifelse(occ_n[i,i]==1.0,1.0,0.0) + p_sps[i].occ[1] = sps[2*(i-1)+1].occ[1] = cp + n_sps[i].occ[1] = sps[2*i].occ[1] = cn end return nothing end @@ -971,10 +1154,10 @@ function set_sps_to_modelspace!(binfo,HFobj) nconfs_core = naive_filling(n_sps,cN,binfo.emax) ini_occ!(pconfs_core,occ_p,nconfs_core,occ_n) for i = 1:dim1b - cp = ifelse(occ_p[i,i]==1.0,1,0) - cn = ifelse(occ_n[i,i]==1.0,1,0) - p_sps[i].occ = sps[2*(i-1)+1].occ = cp - n_sps[i].occ = sps[2*i].occ = cn + cp = ifelse(occ_p[i,i]==1.0,1.0,0.0) + cn = ifelse(occ_n[i,i]==1.0,1.0,0.0) + p_sps[i].occ[1] = sps[2*(i-1)+1].occ[1] = cp + n_sps[i].occ[1] = sps[2*i].occ[1] = cn end return nothing end diff --git a/src/IMSRG.jl/valencespace.jl b/src/IMSRG.jl/valencespace.jl index 45ff95d7..618b9ee3 100644 --- a/src/IMSRG.jl/valencespace.jl +++ b/src/IMSRG.jl/valencespace.jl @@ -5,7 +5,7 @@ check validity of specified valence space """ function check_valence_space(HFobj,valencespace) v = Int64[ ] - if length(valencespace)==0 + if length(valencespace)==0 # "" or [ ] return v elseif typeof(valencespace)== String check_major_valencespace(valencespace,HFobj,v) @@ -49,11 +49,11 @@ function check_major_valencespace(str::String,HFobj,v) tsps = ifelse(o.tz==-1,p_sps,n_sps)[idx] if [o.n,o.l,o.j,o.tz] in target_nljtz push!(v,i) - o.v = tsps.v = true - o.c = tsps.c = false + o.v[1] = tsps.v[1] = true + o.c[1] = tsps.c[1] = false else - if o.occ == 0.0 - o.q = tsps.q = true + if o.occ[1] == 0.0 + o.q[1] = tsps.q[1] = true end end end @@ -89,32 +89,32 @@ function update_vsspace_chs!(HFobj,valencespace,Chan2b) spaces = HFobj.modelspace.spaces cc = spaces.cc; vc = spaces.vc; qc = spaces.qc vv = spaces.vv; qv = spaces.qv; qq = spaces.qq - for ch = 1:length(Chan2b) + for ch in eachindex(Chan2b) tbc = Chan2b[ch] kets = tbc.kets for (ik,ket) in enumerate(kets) i,j = ket - v_i = ifelse(i in valencespace,1,0) - v_j = ifelse(j in valencespace,1,0) + v_i = ifelse(sps[i].v[1],1,0) + v_j = ifelse(sps[j].v[1],1,0) ## cc - if sps[i].c && sps[j].c + if sps[i].c[1] && sps[j].c[1] add_ch_ket!(ch,ik,cc) end ## vc or qc case - if (sps[i].c || sps[j].c) && !(sps[i].c && sps[j].c) + if (sps[i].c[1] || sps[j].c[1]) && !(sps[i].c[1] && sps[j].c[1]) if v_i+v_j == 1 add_ch_ket!(ch,ik,vc) else add_ch_ket!(ch,ik,qc) end end - ## ni+nj=0, vv,qv,qq + ## vv,qv,qq if v_i + v_j == 2 # if you need additional truncations, specify here add_ch_ket!(ch,ik,vv) - elseif v_i + v_j == 1 && (sps[i].q || sps[j].q) + elseif v_i + v_j == 1 && (sps[i].q[1] || sps[j].q[1]) add_ch_ket!(ch,ik,qv) - elseif sps[i].q && sps[j].q + elseif sps[i].q[1] && sps[j].q[1] add_ch_ket!(ch,ik,qq) end end @@ -125,9 +125,9 @@ end """ calc_Eta_smatan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) -``\\eta(s)`` with shell-model atan generator to decouple valence space +``\\eta(s)`` with shell-model atan generator to decouple the specified valence space. """ -function calc_Eta_smatan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) +function calc_Eta_smatan!(HFobj::HamiltonianNormalOrdered,IMSRGobj,Chan2b,dictMono,norms) MS = HFobj.modelspace sps = MS.sps; p_sps = MS.p_sps; n_sps = MS.n_sps key = zeros(Int64,2) @@ -144,18 +144,18 @@ function calc_Eta_smatan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) tz_pn = ifelse(pn==1,-1,1) for (a,oa) in enumerate(sps) if oa.tz != tz_pn;continue;end - if oa.q == true;continue;end + if oa.q[1];continue;end idx_a = div(a,2) +a%2 for (i,oi) in enumerate(sps) if i==a;continue;end if oi.tz != tz_pn; continue;end - if oi.c; continue;end + if oi.c[1]; continue;end idx_i = div(i,2) + i%2 nume = 2 * tf[idx_a,idx_i] key[1] = a; key[2] = i if a > i; key[1] = i; key[2]= a; end mono_ai = dMono[key].monopole[1] - deno = tf[idx_i,idx_i] -tf[idx_a,idx_a] + (oi.occ-oa.occ)*mono_ai + Delta + deno = tf[idx_i,idx_i] -tf[idx_a,idx_a] + (oi.occ[1]-oa.occ[1])*mono_ai + Delta tmp = 0.5 * atan( nume / deno) eta1b[idx_i,idx_a] = tmp eta1b[idx_a,idx_i] = -tmp @@ -164,25 +164,25 @@ function calc_Eta_smatan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) end ## two-body piece, decoupling of core - for ch = 1:length(Chan2b) + for ch in eachindex(Chan2b) Gam = Gamma[ch]; tbc = Chan2b[ch]; Tz = tbc.Tz; kets = tbc.kets eta2b = Eta2b[ch]; eta2b .*= 0.0 pnrank = div(Tz,2) + 2 ### decoupling of core - valence/qspace - for ik = 1:length(kets) # to be cc/vc (cq is not considered) + for ik in eachindex(kets) # to be cc/vc (cq is not considered) i,j = kets[ik] oi =sps[i]; oj = sps[j] - if !oi.c && !oj.c;continue;end - ni = oi.occ; nj = oj.occ + if !oi.c[1] && !oj.c[1];continue;end + ni = oi.occ[1]; nj = oj.occ[1] #if ni + nj == 1 && (oi.q || oj.q); continue;end - if (ni*nj==0.0 && ni+nj!=0.0) && (oi.q || oj.q); continue;end + if (ni*nj==0.0 && ni+nj!=0.0) && (oi.q[1] || oj.q[1]); continue;end tz_ij = oi.tz + oj.tz if tz_ij != Tz;continue;end - for ib =1:length(kets) # to be vv/qv/qq + for ib in eachindex(kets) # to be vv/qv/qq a,b = kets[ib] oa = sps[a]; ob = sps[b] - if oa.c || ob.c; continue;end - na = oa.occ; nb = ob.occ + if oa.c[1] || ob.c[1]; continue;end + na = oa.occ[1]; nb = ob.occ[1] tz_ab = oa.tz + ob.tz if tz_ab != Tz;continue;end nume = 2 * Gam[ib,ik] @@ -193,15 +193,15 @@ function calc_Eta_smatan!(HFobj,IMSRGobj,Chan2b,dictMono,norms) end end ### decoupling of valence - qspace - for ik = 1:length(kets) # to be vv + for ik in eachindex(kets) # to be vv i,j = kets[ik] - if !sps[i].v || !sps[j].v; continue;end - ni = sps[i].occ; nj = sps[j].occ - for ib =1:length(kets) # to be qv/qq + if !sps[i].v[1] || !sps[j].v[1]; continue;end + ni = sps[i].occ[1]; nj = sps[j].occ[1] + for ib in eachindex(kets) # to be qv/qq a,b = kets[ib] - if sps[a].c || sps[b].c; continue;end - if !sps[a].q && !sps[b].q; continue;end - na = sps[a].occ; nb = sps[b].occ + if sps[a].c[1] || sps[b].c[1]; continue;end + if !sps[a].q[1] && !sps[b].q[1]; continue;end + na = sps[a].occ[1]; nb = sps[b].occ[1] nume = 2 * Gam[ib,ik] deno = Get2bDenominator(ch,pnrank,a,b,i,j,na,nb,ni,nj,f,Delta,dictMono,key) tmp = 0.5 * atan(nume / deno) @@ -222,7 +222,7 @@ end Function to write out valence space effective interaction in snt (KSHELL/ShellModel.jl) format. """ -function write_vs_snt(binfo,HFobj,IMSRGobj,Operators,effOps,Chan1b,Chan2bD,vspace) +function write_vs_snt(binfo,HFobj,IMSRGobj,Operators,Chan1b,Chan2bD,vspace;effOps=Operator[]) hw = binfo.hw emax = binfo.emax dict_ms2snt = Chan1b.ms2snt @@ -234,7 +234,7 @@ function write_vs_snt(binfo,HFobj,IMSRGobj,Operators,effOps,Chan1b,Chan2bD,vspac cOp = "Hamiltonian" refnuc = ifelse(ref=="core",binfo.nuc.corenuc,binfo.nuc.cnuc) fname = "vsimsrg_" * vspace * "_core"*binfo.nuc.corenuc* "ref"*refnuc* "_" * binfo.nuc.cnuc *"_"*"hw"*string(hw)*"e"*string(emax)* "_Delta$cDelta.snt" - if i !=1 + if i != 1 Op = effOps[i-1]; cOp = Operators[i-1] fname = "vsimsrg_" * vspace * "_core" *binfo.nuc.corenuc* "ref"*refnuc * "_" * binfo.nuc.cnuc * "_"*"hw"*string(hw)*"e"*string(emax)*"_Delta"*cDelta*"_"*cOp*".snt" end @@ -247,7 +247,7 @@ function write_vs_snt(binfo,HFobj,IMSRGobj,Operators,effOps,Chan1b,Chan2bD,vspac vp_sps = Int[ ] vn_sps = Int[ ] for (a,oa) in enumerate(sps) - if !oa.v;continue;end + if !oa.v[1];continue;end pn = ifelse(oa.tz==-1,1,2) if pn == 1 push!(vp_sps,a) @@ -276,7 +276,7 @@ function write_vs_snt(binfo,HFobj,IMSRGobj,Operators,effOps,Chan1b,Chan2bD,vspac println(io, txt) for (a,oa) in enumerate(sps) - if !oa.v;continue;end + if !oa.v[1];continue;end idx_a = div(a,2) +a%2 pn = ifelse(oa.tz==-1,1,2) spe = f[pn][idx_a,idx_a] diff --git a/src/NuclData.jl/amedata.jl b/src/NuclData.jl/amedata.jl index 0fd9bd07..9c81a16d 100644 --- a/src/NuclData.jl/amedata.jl +++ b/src/NuclData.jl/amedata.jl @@ -1,7125 +1,3590 @@ """ - amedata::Dict + struct `AMEdata` +# Fields +- `BE::Float64` binding energy (B.E.) in keV +- `BEerr::Float64` error of B.E. +- `BETF::Bool` `false` correspinding to `#` evaluation. +- `Sn::String` neutron seperation energy, Sn in keV +- `Snerr::String` +- `Qval::String` +- `Qerr::String` +""" +struct AMEdata + BE::Float64 + BEerr::Float64 + BETF::Bool + Sn::String + Snerr::String + Qval::String + Qerr::String +end -Dict to get mass data from AME2020, Chinese Phys. C 45 030002 (2021), and Chinese Phys. C 45 030003 (2021). +""" + ame2020data::Dict + +Dict to get AME2020 data for a target nucleus, You can use both a string "He4" and Vector{Int} [2,2] as `key`. + +Chinese Phys. C 45 030002 (2021), and Chinese Phys. C 45 030003 (2021). + """ -amedata = Dict( -"n1" => [ 0.0 , 0.0 ,"D"], -"H1" => [ 0.0 , 0.0 ,"D"], -"H2" => [ 1112.2831 , 0.0002 ,"D"], -"H3" => [ 2827.2654 , 0.0003 ,"D"], -"He3" => [ 2572.68044 , 0.00015 ,"D"], -"Li3" => [ -2267 , 667 ,"E"], -"H4" => [ 1720.4491 , 25.0000 ,"D"], -"He4" => [ 7073.9156 , 0.0002 ,"D"], -"Li4" => [ 1153.7603 , 53.0330 ,"D"], -"H5" => [ 1336.3592 , 17.8885 ,"D"], -"He5" => [ 5512.1325 , 4.0000 ,"D"], -"Li5" => [ 5266.1325 , 10.0000 ,"D"], -"Be5" => [ 18 , 401 ,"E"], -"H6" => [ 961.6395 , 42.3545 ,"D"], -"He6" => [ 4878.5199 , 0.0089 ,"D"], -"Li6" => [ 5332.3312 , 0.0003 ,"D"], -"Be6" => [ 4487.2478 , 0.9080 ,"D"], -"B6" => [ -467 , 334 ,"E"], -"H7" => [ 940 , 143 ,"E"], -"He7" => [ 4123.0578 , 1.0799 ,"D"], -"Li7" => [ 5606.4401 , 0.0006 ,"D"], -"Be7" => [ 5371.5487 , 0.0101 ,"D"], -"B7" => [ 3558.7055 , 3.5929 ,"D"], -"He8" => [ 3924.5210 , 0.0111 ,"D"], -"Li8" => [ 5159.7124 , 0.0059 ,"D"], -"Be8" => [ 7062.4356 , 0.0044 ,"D"], -"B8" => [ 4717.1551 , 0.1250 ,"D"], -"C8" => [ 3101.5242 , 2.2804 ,"D"], -"He9" => [ 3349.0380 , 5.2018 ,"D"], -"Li9" => [ 5037.7685 , 0.0207 ,"D"], -"Be9" => [ 6462.6693 , 0.0085 ,"D"], -"B9" => [ 6257.0713 , 0.1003 ,"D"], -"C9" => [ 4337.4233 , 0.2374 ,"D"], -"He10" => [ 2995.1340 , 9.2848 ,"D"], -"Li10" => [ 4531.3512 , 1.2721 ,"D"], -"Be10" => [ 6497.6306 , 0.0081 ,"D"], -"B10" => [ 6475.0835 , 0.0015 ,"D"], -"C10" => [ 6032.0426 , 0.0070 ,"D"], -"N10" => [ 3643.6724 , 40.0000 ,"D"], -"Li11" => [ 4155.3817 , 0.0559 ,"D"], -"Be11" => [ 5952.5402 , 0.0216 ,"D"], -"B11" => [ 6927.7323 , 0.0011 ,"D"], -"C11" => [ 6676.4563 , 0.0054 ,"D"], -"N11" => [ 5358.4023 , 0.4546 ,"D"], -"O11" => [ 3162.4372 , 5.4580 ,"D"], -"Li12" => [ 3791.5999 , 2.5005 ,"D"], -"Be12" => [ 5720.7223 , 0.1590 ,"D"], -"B12" => [ 6631.2237 , 0.1101 ,"D"], -"C12" => [ 7680.1446 , 0.0002 ,"D"], -"N12" => [ 6170.1100 , 0.0833 ,"D"], -"O12" => [ 4881.9755 , 1.0000 ,"D"], -"Li13" => [ 3507.6307 , 5.3848 ,"D"], -"Be13" => [ 5241.4359 , 0.7831 ,"D"], -"B13" => [ 6496.4194 , 0.0769 ,"D"], -"C13" => [ 7469.8495 , 0.0002 ,"D"], -"N13" => [ 7238.8634 , 0.0207 ,"D"], -"O13" => [ 5811.7636 , 0.7328 ,"D"], -"F13" => [ 4297 , 38 ,"E"], -"Be14" => [ 4993.8973 , 9.4461 ,"D"], -"B14" => [ 6101.6451 , 1.5152 ,"D"], -"C14" => [ 7520.3198 , 0.0004 ,"D"], -"N14" => [ 7475.6148 , 0.0002 ,"D"], -"O14" => [ 7052.2783 , 0.0018 ,"D"], -"F14" => [ 5285.2091 , 2.9371 ,"D"], -"Be15" => [ 4540.9708 , 11.0532 ,"D"], -"B15" => [ 5880.0438 , 1.4019 ,"D"], -"C15" => [ 7100.1696 , 0.0533 ,"D"], -"N15" => [ 7699.4603 , 0.0002 ,"D"], -"O15" => [ 7463.6915 , 0.0327 ,"D"], -"F15" => [ 6497.4597 , 0.9333 ,"D"], -"Ne15" => [ 4868.7285 , 4.4456 ,"D"], -"Be16" => [ 4285.2851 , 10.3623 ,"D"], -"B16" => [ 5507.3535 , 1.5354 ,"D"], -"C16" => [ 6922.0546 , 0.2236 ,"D"], -"N16" => [ 7373.7971 , 0.1438 ,"D"], -"O16" => [ 7976.2072 , 0.0002 ,"D"], -"F16" => [ 6964.0490 , 0.3353 ,"D"], -"Ne16" => [ 6083.1777 , 1.2800 ,"D"], -"B17" => [ 5269.6677 , 12.0061 ,"D"], -"C17" => [ 6558.0262 , 1.0215 ,"D"], -"N17" => [ 7286.2294 , 0.8824 ,"D"], -"O17" => [ 7750.7291 , 0.0002 ,"D"], -"F17" => [ 7542.3284 , 0.0146 ,"D"], -"Ne17" => [ 6640.4991 , 0.0208 ,"D"], -"Na17" => [ 5522.7653 , 3.5068 ,"D"], -"B18" => [ 4976.6306 , 11.3425 ,"D"], -"C18" => [ 6426.1321 , 1.6667 ,"D"], -"N18" => [ 7038.5627 , 1.0316 ,"D"], -"O18" => [ 7767.0981 , 0.0002 ,"D"], -"F18" => [ 7631.6383 , 0.0257 ,"D"], -"Ne18" => [ 7341.2577 , 0.0202 ,"D"], -"Na18" => [ 6202.2176 , 5.2156 ,"D"], -"B19" => [ 4719.6346 , 27.6507 ,"D"], -"C19" => [ 6118.2740 , 5.1784 ,"D"], -"N19" => [ 6948.5452 , 0.8634 ,"D"], -"O19" => [ 7566.4952 , 0.1388 ,"D"], -"F19" => [ 7779.0192 , 0.0002 ,"D"], -"Ne19" => [ 7567.3431 , 0.0084 ,"D"], -"Na19" => [ 6937.8864 , 0.5545 ,"D"], -"Mg19" => [ 5901.4992 , 3.1579 ,"D"], -"B20" => [ 4405.6529 , 27.3178 ,"D"], -"C20" => [ 5961.4356 , 11.5312 ,"D"], -"N20" => [ 6709.1717 , 3.9447 ,"D"], -"O20" => [ 7568.5707 , 0.0442 ,"D"], -"F20" => [ 7720.1351 , 0.0015 ,"D"], -"Ne20" => [ 8032.2412 , 0.0002 ,"D"], -"Na20" => [ 7298.5028 , 0.0554 ,"D"], -"Mg20" => [ 6728.0252 , 0.0931 ,"D"], -"B21" => [ 4152.5265 , 26.6031 ,"D"], -"C21" => [ 5674 , 28 ,"E"], -"N21" => [ 6609.0159 , 6.3832 ,"D"], -"O21" => [ 7389.3747 , 0.5714 ,"D"], -"F21" => [ 7738.2934 , 0.0857 ,"D"], -"Ne21" => [ 7971.7136 , 0.0018 ,"D"], -"Na21" => [ 7765.5581 , 0.0020 ,"D"], -"Mg21" => [ 7105.0317 , 0.0359 ,"D"], -"Al21" => [ 6297 , 29 ,"E"], -"C22" => [ 5421.0778 , 10.5223 ,"D"], -"N22" => [ 6378.5347 , 9.4445 ,"D"], -"O22" => [ 7364.8722 , 2.5873 ,"D"], -"F22" => [ 7624.2954 , 0.5636 ,"D"], -"Ne22" => [ 8080.4656 , 0.0008 ,"D"], -"Na22" => [ 7915.6624 , 0.0060 ,"D"], -"Mg22" => [ 7662.7645 , 0.0072 ,"D"], -"Al22" => [ 6782 , 18 ,"E"], -"Si22" => [ 6044 , 23 ,"E"], -"C23" => [ 5077 , 43 ,"E"], -"N23" => [ 6236.6721 , 18.2856 ,"D"], -"O23" => [ 7163.4856 , 5.2918 ,"D"], -"F23" => [ 7622.3447 , 1.4487 ,"D"], -"Ne23" => [ 7955.2561 , 0.0045 ,"D"], -"Na23" => [ 8111.4936 , 0.0002 ,"D"], -"Mg23" => [ 7901.1229 , 0.0014 ,"D"], -"Al23" => [ 7335.7275 , 0.0150 ,"D"], -"Si23" => [ 6554 , 22 ,"E"], -"N24" => [ 5887 , 17 ,"E"], -"O24" => [ 7039.6855 , 6.8698 ,"D"], -"F24" => [ 7463.5831 , 4.0696 ,"D"], -"Ne24" => [ 7993.3252 , 0.0214 ,"D"], -"Na24" => [ 8063.4882 , 0.0007 ,"D"], -"Mg24" => [ 8260.7103 , 0.0006 ,"D"], -"Al24" => [ 7649.5806 , 0.0095 ,"D"], -"Si24" => [ 7167.2329 , 0.8113 ,"D"], -"P24" => [ 6165 , 21 ,"E"], -"N25" => [ 5613 , 20 ,"E"], -"O25" => [ 6727.8058 , 6.6034 ,"D"], -"F25" => [ 7336.3065 , 3.8577 ,"D"], -"Ne25" => [ 7839.7994 , 1.1618 ,"D"], -"Na25" => [ 8101.3979 , 0.0480 ,"D"], -"Mg25" => [ 8223.5028 , 0.0019 ,"D"], -"Al25" => [ 8021.1366 , 0.0026 ,"D"], -"Si25" => [ 7480.1109 , 0.4000 ,"D"], -"P25" => [ 6794 , 16 ,"E"], -"O26" => [ 6497.4790 , 6.3442 ,"D"], -"F26" => [ 7082.2497 , 4.1164 ,"D"], -"Ne26" => [ 7751.9110 , 0.7088 ,"D"], -"Na26" => [ 8004.2013 , 0.1347 ,"D"], -"Mg26" => [ 8333.8711 , 0.0011 ,"D"], -"Al26" => [ 8149.7653 , 0.0026 ,"D"], -"Si26" => [ 7924.7083 , 0.0041 ,"D"], -"P26" => [ 7198 , 8 ,"E"], -"S26" => [ 6525 , 23 ,"E"], -"O27" => [ 6185 , 19 ,"E"], -"F27" => [ 6879.6662 , 4.4518 ,"D"], -"Ne27" => [ 7520.4151 , 3.3619 ,"D"], -"Na27" => [ 7956.9467 , 0.1380 ,"D"], -"Mg27" => [ 8263.8525 , 0.0018 ,"D"], -"Al27" => [ 8331.5533 , 0.0018 ,"D"], -"Si27" => [ 8124.3420 , 0.0040 ,"D"], -"P27" => [ 7661.0894 , 0.3334 ,"D"], -"S27" => [ 6960 , 15 ,"E"], -"O28" => [ 5988 , 25 ,"E"], -"F28" => [ 6626.8567 , 4.2981 ,"D"], -"Ne28" => [ 7388.3463 , 4.5024 ,"D"], -"Na28" => [ 7799.2644 , 0.3659 ,"D"], -"Mg28" => [ 8272.4531 , 0.0093 ,"D"], -"Al28" => [ 8309.8969 , 0.0018 ,"D"], -"Si28" => [ 8447.7445 , 0.0002 ,"D"], -"P28" => [ 7907.4842 , 0.0410 ,"D"], -"S28" => [ 7478.7911 , 5.7143 ,"D"], -"Cl28" => [ 6587 , 18 ,"E"], -"F29" => [ 6444.0314 , 18.1160 ,"D"], -"Ne29" => [ 7167.0673 , 5.1553 ,"D"], -"Na29" => [ 7682.1522 , 0.2530 ,"D"], -"Mg29" => [ 8113.5317 , 0.0119 ,"D"], -"Al29" => [ 8348.4647 , 0.0119 ,"D"], -"Si29" => [ 8448.6361 , 0.0002 ,"D"], -"P29" => [ 8251.2368 , 0.0124 ,"D"], -"S29" => [ 7746.3826 , 0.4497 ,"D"], -"Cl29" => [ 7129 , 7 ,"E"], -"Ar29" => [ 6276 , 15 ,"E"], -"F30" => [ 6205 , 17 ,"E"], -"Ne30" => [ 7034.5317 , 8.4417 ,"D"], -"Na30" => [ 7501.9685 , 0.1576 ,"D"], -"Mg30" => [ 8054.4250 , 0.0432 ,"D"], -"Al30" => [ 8261.1049 , 0.0645 ,"D"], -"Si30" => [ 8520.6549 , 0.0008 ,"D"], -"P30" => [ 8353.5064 , 0.0022 ,"D"], -"S30" => [ 8122.7081 , 0.0069 ,"D"], -"Cl30" => [ 7472.1698 , 0.7959 ,"D"], -"Ar30" => [ 6866 , 6 ,"E"], -"F31" => [ 6011 , 17 ,"E"], -"Ne31" => [ 6813.0902 , 8.5869 ,"D"], -"Na31" => [ 7398.6778 , 0.4507 ,"D"], -"Mg31" => [ 7869.1886 , 0.0992 ,"D"], -"Al31" => [ 8225.5180 , 0.0721 ,"D"], -"Si31" => [ 8458.2916 , 0.0014 ,"D"], -"P31" => [ 8481.1677 , 0.0002 ,"D"], -"S31" => [ 8281.8013 , 0.0074 ,"D"], -"Cl31" => [ 7869.2101 , 0.1112 ,"D"], -"Ar31" => [ 7252 , 6 ,"E"], -"K31" => [ 6487 , 10 ,"E"], -"Ne32" => [ 6671 , 16 ,"E"], -"Na32" => [ 7219.8815 , 1.1644 ,"D"], -"Mg32" => [ 7803.8411 , 0.1019 ,"D"], -"Al32" => [ 8100.3449 , 0.2241 ,"D"], -"Si32" => [ 8481.4690 , 0.0093 ,"D"], -"P32" => [ 8464.1203 , 0.0013 ,"D"], -"S32" => [ 8493.1301 , 0.0002 ,"D"], -"Cl32" => [ 8072.4058 , 0.0176 ,"D"], -"Ar32" => [ 7700.0089 , 0.0553 ,"D"], -"K32" => [ 6920 , 12 ,"E"], -"Ne33" => [ 6436 , 18 ,"E"], -"Na33" => [ 7089.9262 , 13.6337 ,"D"], -"Mg33" => [ 7636.4382 , 0.0807 ,"D"], -"Al33" => [ 8020.6172 , 0.2117 ,"D"], -"Si33" => [ 8361.0596 , 0.0212 ,"D"], -"P33" => [ 8513.8073 , 0.0330 ,"D"], -"S33" => [ 8497.6304 , 0.0002 ,"D"], -"Cl33" => [ 8304.7557 , 0.0118 ,"D"], -"Ar33" => [ 7928.9559 , 0.0121 ,"D"], -"K33" => [ 7392 , 6 ,"E"], -"Ca33" => [ 6657 , 12 ,"E"], -"Ne34" => [ 6287 , 15 ,"E"], -"Na34" => [ 6886.4377 , 17.6299 ,"D"], -"Mg34" => [ 7550.3919 , 0.2027 ,"D"], -"Al34" => [ 7860.3506 , 0.0619 ,"D"], -"Si34" => [ 8337.1659 , 0.0236 ,"D"], -"P34" => [ 8448.1856 , 0.0238 ,"D"], -"S34" => [ 8583.4986 , 0.0013 ,"D"], -"Cl34" => [ 8398.9706 , 0.0014 ,"D"], -"Ar34" => [ 8197.6724 , 0.0023 ,"D"], -"K34" => [ 7670 , 6 ,"E"], -"Ca34" => [ 7173 , 9 ,"E"], -"Na35" => [ 6745 , 19 ,"E"], -"Mg35" => [ 7356.2338 , 7.7048 ,"D"], -"Al35" => [ 7787.1243 , 0.2103 ,"D"], -"Si35" => [ 8169.5644 , 1.0245 ,"D"], -"P35" => [ 8446.2496 , 0.0533 ,"D"], -"S35" => [ 8537.8511 , 0.0012 ,"D"], -"Cl35" => [ 8520.2790 , 0.0010 ,"D"], -"Ar35" => [ 8327.4621 , 0.0194 ,"D"], -"K35" => [ 7965.8409 , 0.0146 ,"D"], -"Ca35" => [ 7476 , 6 ,"E"], -"Sc35" => [ 6828 , 11 ,"E"], -"Na36" => [ 6557 , 19 ,"E"], -"Mg36" => [ 7244.4202 , 19.1733 ,"D"], -"Al36" => [ 7623.5154 , 4.1529 ,"D"], -"Si36" => [ 8112.5199 , 1.9944 ,"D"], -"P36" => [ 8307.8692 , 0.3643 ,"D"], -"S36" => [ 8575.3900 , 0.0052 ,"D"], -"Cl36" => [ 8521.9322 , 0.0010 ,"D"], -"Ar36" => [ 8519.9096 , 0.0008 ,"D"], -"K36" => [ 8142.2233 , 0.0090 ,"D"], -"Ca36" => [ 7815.8799 , 1.1111 ,"D"], -"Sc36" => [ 7166 , 8 ,"E"], -"Na37" => [ 6403 , 19 ,"E"], -"Mg37" => [ 7055.1115 , 18.8905 ,"D"], -"Al37" => [ 7531.3160 , 4.8715 ,"D"], -"Si37" => [ 7952.9033 , 3.0759 ,"D"], -"P37" => [ 8267.5561 , 1.0256 ,"D"], -"S37" => [ 8459.9363 , 0.0054 ,"D"], -"Cl37" => [ 8570.2816 , 0.0014 ,"D"], -"Ar37" => [ 8527.1406 , 0.0056 ,"D"], -"K37" => [ 8339.8480 , 0.0025 ,"D"], -"Ca37" => [ 8003.4567 , 0.0171 ,"D"], -"Sc37" => [ 7525 , 8 ,"E"], -"Ti37" => [ 6926 , 11 ,"E"], -"Na38" => [ 6216 , 19 ,"E"], -"Mg38" => [ 6928 , 13 ,"E"], -"Al38" => [ 7370 , 4 ,"E"], -"Si38" => [ 7892.8297 , 2.7577 ,"D"], -"P38" => [ 8147.2749 , 1.9100 ,"D"], -"S38" => [ 8448.7829 , 0.1887 ,"D"], -"Cl38" => [ 8505.4817 , 0.0026 ,"D"], -"Ar38" => [ 8614.2807 , 0.0051 ,"D"], -"K38" => [ 8438.0593 , 0.0051 ,"D"], -"Ca38" => [ 8240.0434 , 0.0051 ,"D"], -"Sc38" => [ 7751 , 5 ,"E"], -"Ti38" => [ 7319 , 8 ,"E"], -"Na39" => [ 6056 , 19 ,"E"], -"Mg39" => [ 6734 , 13 ,"E"], -"Al39" => [ 7260 , 8 ,"E"], -"Si39" => [ 7730.9793 , 3.4752 ,"D"], -"P39" => [ 8097.9701 , 2.8883 ,"D"], -"S39" => [ 8344.2698 , 1.2821 ,"D"], -"Cl39" => [ 8494.4032 , 0.0444 ,"D"], -"Ar39" => [ 8562.5988 , 0.1282 ,"D"], -"K39" => [ 8557.0258 , 0.0003 ,"D"], -"Ca39" => [ 8369.6711 , 0.0153 ,"D"], -"Sc39" => [ 8013.4575 , 0.6154 ,"D"], -"Ti39" => [ 7566 , 5 ,"E"], -"V39" => [ 7031 , 10 ,"E"], -"Mg40" => [ 6598 , 13 ,"E"], -"Al40" => [ 7097 , 7 ,"E"], -"Si40" => [ 7655.8247 , 3.0498 ,"D"], -"P40" => [ 7981.4177 , 2.0902 ,"D"], -"S40" => [ 8329.3255 , 0.0996 ,"D"], -"Cl40" => [ 8427.7660 , 0.8016 ,"D"], -"Ar40" => [ 8595.2594 , 0.0002 ,"D"], -"K40" => [ 8538.0907 , 0.0014 ,"D"], -"Ca40" => [ 8551.3046 , 0.0006 ,"D"], -"Sc40" => [ 8173.6697 , 0.0707 ,"D"], -"Ti40" => [ 7865.8632 , 1.7061 ,"D"], -"V40" => [ 7310 , 7 ,"E"], -"Mg41" => [ 6425 , 12 ,"E"], -"Al41" => [ 6980 , 10 ,"E"], -"Si41" => [ 7482 , 7 ,"E"], -"P41" => [ 7906.5513 , 2.9308 ,"D"], -"S41" => [ 8229.6358 , 0.1000 ,"D"], -"Cl41" => [ 8412.9593 , 1.6762 ,"D"], -"Ar41" => [ 8534.3733 , 0.0085 ,"D"], -"K41" => [ 8576.0731 , 0.0003 ,"D"], -"Ca41" => [ 8546.7075 , 0.0034 ,"D"], -"Sc41" => [ 8369.1979 , 0.0019 ,"D"], -"Ti41" => [ 8034.3889 , 0.6816 ,"D"], -"V41" => [ 7625 , 5 ,"E"], -"Cr41" => [ 7116 , 10 ,"E"], -"Al42" => [ 6829 , 12 ,"E"], -"Si42" => [ 7410 , 7 ,"E"], -"P42" => [ 7765.9122 , 2.2621 ,"D"], -"S42" => [ 8193.2275 , 0.0665 ,"D"], -"Cl42" => [ 8345.8864 , 1.4194 ,"D"], -"Ar42" => [ 8555.6141 , 0.1375 ,"D"], -"K42" => [ 8551.2571 , 0.0025 ,"D"], -"Ca42" => [ 8616.5646 , 0.0035 ,"D"], -"Sc42" => [ 8444.9303 , 0.0037 ,"D"], -"Ti42" => [ 8259.2400 , 0.0064 ,"D"], -"V42" => [ 7824 , 5 ,"E"], -"Cr42" => [ 7456 , 7 ,"E"], -"Al43" => [ 6712 , 14 ,"E"], -"Si43" => [ 7251 , 9 ,"E"], -"P43" => [ 7681 , 7 ,"E"], -"S43" => [ 8063.8276 , 0.1156 ,"D"], -"Cl43" => [ 8323.8672 , 1.4386 ,"D"], -"Ar43" => [ 8488.2382 , 0.1235 ,"D"], -"K43" => [ 8576.2204 , 0.0095 ,"D"], -"Ca43" => [ 8600.6653 , 0.0053 ,"D"], -"Sc43" => [ 8530.8265 , 0.0433 ,"D"], -"Ti43" => [ 8352.8054 , 0.1330 ,"D"], -"V43" => [ 8069.5129 , 0.9965 ,"D"], -"Cr43" => [ 7680 , 5 ,"E"], -"Mn43" => [ 7213 , 9 ,"E"], -"Si44" => [ 7156 , 11 ,"E"], -"P44" => [ 7552 , 9 ,"E"], -"S44" => [ 7996.0154 , 0.1186 ,"D"], -"Cl44" => [ 8234.4788 , 1.9447 ,"D"], -"Ar44" => [ 8493.8411 , 0.0360 ,"D"], -"K44" => [ 8546.7023 , 0.0095 ,"D"], -"Ca44" => [ 8658.1769 , 0.0074 ,"D"], -"Sc44" => [ 8557.3805 , 0.0399 ,"D"], -"Ti44" => [ 8533.5215 , 0.0159 ,"D"], -"V44" => [ 8203.4567 , 0.1651 ,"D"], -"Cr44" => [ 7949.6265 , 1.1644 ,"D"], -"Mn44" => [ 7457 , 7 ,"E"], -"Si45" => [ 7004 , 13 ,"E"], -"P45" => [ 7456 , 11 ,"E"], -"S45" => [ 7867 , 7 ,"E"], -"Cl45" => [ 8181.5991 , 3.0259 ,"D"], -"Ar45" => [ 8419.9526 , 0.0114 ,"D"], -"K45" => [ 8554.6747 , 0.0116 ,"D"], -"Ca45" => [ 8630.5467 , 0.0081 ,"D"], -"Sc45" => [ 8618.9410 , 0.0147 ,"D"], -"Ti45" => [ 8555.7321 , 0.0186 ,"D"], -"V45" => [ 8380.0394 , 0.0192 ,"D"], -"Cr45" => [ 8087.7286 , 0.7866 ,"D"], -"Mn45" => [ 7747 , 7 ,"E"], -"Fe45" => [ 7299 , 6 ,"E"], -"P46" => [ 7320 , 11 ,"E"], -"S46" => [ 7785 , 9 ,"E"], -"Cl46" => [ 8080.7757 , 2.1141 ,"D"], -"Ar46" => [ 8412.3835 , 0.0506 ,"D"], -"K46" => [ 8518.0428 , 0.0158 ,"D"], -"Ca46" => [ 8668.9848 , 0.0486 ,"D"], -"Sc46" => [ 8622.0215 , 0.0146 ,"D"], -"Ti46" => [ 8656.4623 , 0.0020 ,"D"], -"V46" => [ 8486.1423 , 0.0029 ,"D"], -"Cr46" => [ 8303.8233 , 0.2490 ,"D"], -"Mn46" => [ 7916.0805 , 1.8832 ,"D"], -"Fe46" => [ 7603 , 7 ,"E"], -"P47" => [ 7209 , 13 ,"E"], -"S47" => [ 7652 , 9 ,"E"], -"Cl47" => [ 7992 , 4 ,"E"], -"Ar47" => [ 8311.4250 , 0.0258 ,"D"], -"K47" => [ 8514.8795 , 0.0297 ,"D"], -"Ca47" => [ 8639.3548 , 0.0473 ,"D"], -"Sc47" => [ 8665.0958 , 0.0411 ,"D"], -"Ti47" => [ 8661.2325 , 0.0017 ,"D"], -"V47" => [ 8582.2348 , 0.0024 ,"D"], -"Cr47" => [ 8407.2067 , 0.1106 ,"D"], -"Mn47" => [ 8135.3117 , 0.6738 ,"D"], -"Fe47" => [ 7790 , 11 ,"E"], -"Co47" => [ 7396 , 13 ,"E"], -"S48" => [ 7552 , 10 ,"E"], -"Cl48" => [ 7883 , 10 ,"E"], -"Ar48" => [ 8243.6656 , 0.3493 ,"D"], -"K48" => [ 8434.2324 , 0.0161 ,"D"], -"Ca48" => [ 8666.6916 , 0.0004 ,"D"], -"Sc48" => [ 8656.2097 , 0.1031 ,"D"], -"Ti48" => [ 8723.0122 , 0.0016 ,"D"], -"V48" => [ 8623.0686 , 0.0202 ,"D"], -"Cr48" => [ 8572.2553 , 0.1523 ,"D"], -"Mn48" => [ 8274.1924 , 0.1396 ,"D"], -"Fe48" => [ 8022.7254 , 1.9212 ,"D"], -"Co48" => [ 7595 , 10 ,"E"], -"Ni48" => [ 7236 , 9 ,"E"], -"S49" => [ 7400 , 12 ,"E"], -"Cl49" => [ 7785 , 8 ,"E"], -"Ar49" => [ 8132 , 8 ,"E"], -"K49" => [ 8372.2753 , 0.0164 ,"D"], -"Ca49" => [ 8594.8500 , 0.0036 ,"D"], -"Sc49" => [ 8686.2805 , 0.0463 ,"D"], -"Ti49" => [ 8711.1625 , 0.0016 ,"D"], -"V49" => [ 8682.9135 , 0.0168 ,"D"], -"Cr49" => [ 8613.2777 , 0.0449 ,"D"], -"Mn49" => [ 8439.9150 , 0.0452 ,"D"], -"Fe49" => [ 8161.3121 , 0.4943 ,"D"], -"Co49" => [ 7840 , 10 ,"E"], -"Ni49" => [ 7450 , 12 ,"E"], -"Cl50" => [ 7651 , 8 ,"E"], -"Ar50" => [ 8054 , 10 ,"E"], -"K50" => [ 8288.5833 , 0.1546 ,"D"], -"Ca50" => [ 8550.1639 , 0.0317 ,"D"], -"Sc50" => [ 8633.4747 , 0.0503 ,"D"], -"Ti50" => [ 8755.7227 , 0.0017 ,"D"], -"V50" => [ 8695.9032 , 0.0019 ,"D"], -"Cr50" => [ 8701.0188 , 0.0019 ,"D"], -"Mn50" => [ 8532.6823 , 0.0023 ,"D"], -"Fe50" => [ 8354.0268 , 0.1677 ,"D"], -"Co50" => [ 8000.6387 , 2.5150 ,"D"], -"Ni50" => [ 7702 , 10 ,"E"], -"Cl51" => [ 7530 , 14 ,"E"], -"Ar51" => [ 7922 , 8 ,"E"], -"K51" => [ 8221.3350 , 0.2557 ,"D"], -"Ca51" => [ 8476.9135 , 0.0102 ,"D"], -"Sc51" => [ 8597.2213 , 0.0493 ,"D"], -"Ti51" => [ 8708.9912 , 0.0095 ,"D"], -"V51" => [ 8742.0852 , 0.0019 ,"D"], -"Cr51" => [ 8711.9923 , 0.0033 ,"D"], -"Mn51" => [ 8633.7602 , 0.0060 ,"D"], -"Fe51" => [ 8460.4977 , 0.0274 ,"D"], -"Co51" => [ 8193.2549 , 0.9498 ,"D"], -"Ni51" => [ 7870 , 10 ,"E"], -"Cl52" => [ 7386 , 13 ,"E"], -"Ar52" => [ 7827 , 12 ,"E"], -"K52" => [ 8115.0303 , 0.6449 ,"D"], -"Ca52" => [ 8429.3821 , 0.0129 ,"D"], -"Sc52" => [ 8534.6695 , 0.0591 ,"D"], -"Ti52" => [ 8691.8193 , 0.0528 ,"D"], -"V52" => [ 8714.5690 , 0.0031 ,"D"], -"Cr52" => [ 8775.9946 , 0.0022 ,"D"], -"Mn52" => [ 8670.4087 , 0.0025 ,"D"], -"Fe52" => [ 8609.6079 , 0.0035 ,"D"], -"Co52" => [ 8325.5606 , 0.1016 ,"D"], -"Ni52" => [ 8083.8977 , 1.5943 ,"D"], -"Cu52" => [ 7671 , 12 ,"E"], -"Ar53" => [ 7677 , 13 ,"E"], -"K53" => [ 8022.8488 , 2.1090 ,"D"], -"Ca53" => [ 8330.5778 , 0.8260 ,"D"], -"Sc53" => [ 8492.8325 , 0.3339 ,"D"], -"Ti53" => [ 8631.1256 , 0.0545 ,"D"], -"V53" => [ 8710.1425 , 0.0585 ,"D"], -"Cr53" => [ 8760.2103 , 0.0022 ,"D"], -"Mn53" => [ 8734.1798 , 0.0065 ,"D"], -"Fe53" => [ 8648.7985 , 0.0315 ,"D"], -"Co53" => [ 8477.6578 , 0.0326 ,"D"], -"Ni53" => [ 8217.0749 , 0.4745 ,"D"], -"Cu53" => [ 7891 , 9 ,"E"], -"Ar54" => [ 7578 , 15 ,"E"], -"K54" => [ 7891 , 7 ,"E"], -"Ca54" => [ 8247.4967 , 0.8970 ,"D"], -"Sc54" => [ 8404.8115 , 0.2588 ,"D"], -"Ti54" => [ 8599.6917 , 0.2932 ,"D"], -"V54" => [ 8662.1382 , 0.2070 ,"D"], -"Cr54" => [ 8777.9672 , 0.0025 ,"D"], -"Mn54" => [ 8737.9768 , 0.0186 ,"D"], -"Fe54" => [ 8736.3846 , 0.0064 ,"D"], -"Co54" => [ 8569.2199 , 0.0066 ,"D"], -"Ni54" => [ 8393.0328 , 0.0862 ,"D"], -"Cu54" => [ 8045 , 7 ,"E"], -"Zn54" => [ 7742 , 4 ,"E"], -"K55" => [ 7792 , 9 ,"E"], -"Ca55" => [ 8125.9260 , 2.9130 ,"D"], -"Sc55" => [ 8333.3694 , 1.1347 ,"D"], -"Ti55" => [ 8518.9696 , 0.5250 ,"D"], -"V55" => [ 8637.3391 , 0.4912 ,"D"], -"Cr55" => [ 8731.9362 , 0.0042 ,"D"], -"Mn55" => [ 8765.0247 , 0.0047 ,"D"], -"Fe55" => [ 8746.5981 , 0.0056 ,"D"], -"Co55" => [ 8669.6204 , 0.0074 ,"D"], -"Ni55" => [ 8497.3225 , 0.0128 ,"D"], -"Cu55" => [ 8233.9970 , 2.8284 ,"D"], -"Zn55" => [ 7904 , 7 ,"E"], -"K56" => [ 7663 , 11 ,"E"], -"Ca56" => [ 8033.1654 , 4.4579 ,"D"], -"Sc56" => [ 8233.5781 , 4.6369 ,"D"], -"Ti56" => [ 8467.9495 , 1.7893 ,"D"], -"V56" => [ 8574.7006 , 3.1408 ,"D"], -"Cr56" => [ 8723.2609 , 0.0103 ,"D"], -"Mn56" => [ 8738.3358 , 0.0052 ,"D"], -"Fe56" => [ 8790.3563 , 0.0048 ,"D"], -"Co56" => [ 8694.8386 , 0.0085 ,"D"], -"Ni56" => [ 8642.7811 , 0.0071 ,"D"], -"Cu56" => [ 8355.9907 , 0.1142 ,"D"], -"Zn56" => [ 8106 , 7 ,"E"], -"Ga56" => [ 7707 , 9 ,"E"], -"K57" => [ 7563 , 11 ,"E"], -"Ca57" => [ 7912 , 7 ,"E"], -"Sc57" => [ 8158.1666 , 3.1540 ,"D"], -"Ti57" => [ 8372.9008 , 3.6119 ,"D"], -"V57" => [ 8535.1967 , 1.4871 ,"D"], -"Cr57" => [ 8663.3998 , 0.0327 ,"D"], -"Mn57" => [ 8736.7146 , 0.0264 ,"D"], -"Fe57" => [ 8770.2829 , 0.0047 ,"D"], -"Co57" => [ 8741.8845 , 0.0090 ,"D"], -"Ni57" => [ 8670.9364 , 0.0099 ,"D"], -"Cu57" => [ 8503.2646 , 0.0088 ,"D"], -"Zn57" => [ 8231 , 4 ,"E"], -"Ga57" => [ 7916 , 7 ,"E"], -"K58" => [ 7437 , 12 ,"E"], -"Ca58" => [ 7828 , 9 ,"E"], -"Sc58" => [ 8054.9436 , 3.2763 ,"D"], -"Ti58" => [ 8307.6290 , 3.1610 ,"D"], -"V58" => [ 8458.1560 , 1.6520 ,"D"], -"Cr58" => [ 8643.9987 , 0.0514 ,"D"], -"Mn58" => [ 8696.6438 , 0.0466 ,"D"], -"Fe58" => [ 8792.2534 , 0.0055 ,"D"], -"Co58" => [ 8738.9719 , 0.0199 ,"D"], -"Ni58" => [ 8732.0621 , 0.0060 ,"D"], -"Cu58" => [ 8570.9696 , 0.0097 ,"D"], -"Zn58" => [ 8395.9467 , 0.8621 ,"D"], -"Ga58" => [ 8059 , 5 ,"E"], -"Ge58" => [ 7770 , 9 ,"E"], -"K59" => [ 7332 , 14 ,"E"], -"Ca59" => [ 7708 , 10 ,"E"], -"Sc59" => [ 7976.4073 , 4.2312 ,"D"], -"Ti59" => [ 8218 , 5 ,"E"], -"V59" => [ 8403.8034 , 2.3288 ,"D"], -"Cr59" => [ 8568.5995 , 0.0114 ,"D"], -"Mn59" => [ 8680.9224 , 0.0395 ,"D"], -"Fe59" => [ 8754.7746 , 0.0056 ,"D"], -"Co59" => [ 8768.0379 , 0.0067 ,"D"], -"Ni59" => [ 8736.5912 , 0.0060 ,"D"], -"Cu59" => [ 8642.0027 , 0.0090 ,"D"], -"Zn59" => [ 8473.7802 , 0.0129 ,"D"], -"Ga59" => [ 8232 , 3 ,"E"], -"Ge59" => [ 7924 , 7 ,"E"], -"Ca60" => [ 7627 , 12 ,"E"], -"Sc60" => [ 7873 , 8 ,"E"], -"Ti60" => [ 8152.7858 , 4.0054 ,"D"], -"V60" => [ 8322.8751 , 3.0324 ,"D"], -"Cr60" => [ 8540.1876 , 0.0186 ,"D"], -"Mn60" => [ 8628.1392 , 0.0388 ,"D"], -"Fe60" => [ 8755.8539 , 0.0568 ,"D"], -"Co60" => [ 8746.7692 , 0.0067 ,"D"], -"Ni60" => [ 8780.7769 , 0.0059 ,"D"], -"Cu60" => [ 8665.6047 , 0.0269 ,"D"], -"Zn60" => [ 8583.0524 , 0.0091 ,"D"], -"Ga60" => [ 8327 , 3 ,"E"], -"Ge60" => [ 8113 , 5 ,"E"], -"As60" => [ 7735 , 7 ,"E"], -"Ca61" => [ 7503 , 13 ,"E"], -"Sc61" => [ 7794 , 10 ,"E"], -"Ti61" => [ 8058 , 5 ,"E"], -"V61" => [ 8271.0417 , 3.8511 ,"D"], -"Cr61" => [ 8460.1734 , 0.0305 ,"D"], -"Mn61" => [ 8598.9157 , 0.0382 ,"D"], -"Fe61" => [ 8703.7686 , 0.0428 ,"D"], -"Co61" => [ 8756.1510 , 0.0138 ,"D"], -"Ni61" => [ 8765.0281 , 0.0058 ,"D"], -"Cu61" => [ 8715.5148 , 0.0156 ,"D"], -"Zn61" => [ 8610.3098 , 0.2606 ,"D"], -"Ga61" => [ 8446.4313 , 0.6228 ,"D"], -"Ge61" => [ 8215 , 5 ,"E"], -"As61" => [ 7930 , 5 ,"E"], -"Sc62" => [ 7688 , 10 ,"E"], -"Ti62" => [ 7990 , 6 ,"E"], -"V62" => [ 8187.7565 , 4.2627 ,"D"], -"Cr62" => [ 8427.3871 , 0.0556 ,"D"], -"Mn62" => [ 8538.5002 , 0.1055 ,"D"], -"Fe62" => [ 8692.8831 , 0.0451 ,"D"], -"Co62" => [ 8721.3347 , 0.2996 ,"D"], -"Ni62" => [ 8794.5555 , 0.0069 ,"D"], -"Cu62" => [ 8718.0839 , 0.0103 ,"D"], -"Zn62" => [ 8679.3451 , 0.0099 ,"D"], -"Ga62" => [ 8518.6449 , 0.0103 ,"D"], -"Ge62" => [ 8347 , 2 ,"E"], -"As62" => [ 8049 , 5 ,"E"], -"Sc63" => [ 7603 , 11 ,"E"], -"Ti63" => [ 7891 , 8 ,"E"], -"V63" => [ 8130.7809 , 5.3968 ,"D"], -"Cr63" => [ 8347.5398 , 1.1533 ,"D"], -"Mn63" => [ 8505.1020 , 0.0591 ,"D"], -"Fe63" => [ 8631.5499 , 0.0683 ,"D"], -"Co63" => [ 8717.7972 , 0.2948 ,"D"], -"Ni63" => [ 8763.4955 , 0.0068 ,"D"], -"Cu63" => [ 8752.1404 , 0.0068 ,"D"], -"Zn63" => [ 8686.2866 , 0.0248 ,"D"], -"Ga63" => [ 8583.9267 , 0.0207 ,"D"], -"Ge63" => [ 8418.7167 , 0.5914 ,"D"], -"As63" => [ 8193 , 3 ,"E"], -"Se63" => [ 7917 , 8 ,"E"], -"Ti64" => [ 7826 , 9 ,"E"], -"V64" => [ 8045 , 6 ,"E"], -"Cr64" => [ 8303.5626 , 4.6866 ,"D"], -"Mn64" => [ 8437.4175 , 0.0553 ,"D"], -"Fe64" => [ 8612.3888 , 0.0784 ,"D"], -"Co64" => [ 8675.5223 , 0.3126 ,"D"], -"Ni64" => [ 8777.4637 , 0.0072 ,"D"], -"Cu64" => [ 8739.0736 , 0.0067 ,"D"], -"Zn64" => [ 8735.9057 , 0.0101 ,"D"], -"Ga64" => [ 8611.6317 , 0.0223 ,"D"], -"Ge64" => [ 8528.8243 , 0.0582 ,"D"], -"As64" => [ 8286 , 3 ,"E"], -"Se64" => [ 8075 , 8 ,"E"], -"Ti65" => [ 7726 , 11 ,"E"], -"V65" => [ 7981 , 8 ,"E"], -"Cr65" => [ 8218 , 3 ,"E"], -"Mn65" => [ 8400.6822 , 0.0573 ,"D"], -"Fe65" => [ 8546.3470 , 0.0786 ,"D"], -"Co65" => [ 8656.8848 , 0.0320 ,"D"], -"Ni65" => [ 8736.2424 , 0.0074 ,"D"], -"Cu65" => [ 8757.0967 , 0.0099 ,"D"], -"Zn65" => [ 8724.2660 , 0.0099 ,"D"], -"Ga65" => [ 8662.1601 , 0.0122 ,"D"], -"Ge65" => [ 8555.0584 , 0.0333 ,"D"], -"As65" => [ 8396.2351 , 1.3041 ,"D"], -"Se65" => [ 8170 , 5 ,"E"], -"Br65" => [ 7904 , 8 ,"E"], -"V66" => [ 7894 , 8 ,"E"], -"Cr66" => [ 8168 , 5 ,"E"], -"Mn66" => [ 8331.7986 , 0.1694 ,"D"], -"Fe66" => [ 8521.7245 , 0.0621 ,"D"], -"Co66" => [ 8605.9419 , 0.2117 ,"D"], -"Ni66" => [ 8739.5086 , 0.0212 ,"D"], -"Cu66" => [ 8731.4730 , 0.0098 ,"D"], -"Zn66" => [ 8759.6335 , 0.0113 ,"D"], -"Ga66" => [ 8669.3631 , 0.0166 ,"D"], -"Ge66" => [ 8625.4383 , 0.0364 ,"D"], -"As66" => [ 8468.4034 , 0.0861 ,"D"], -"Se66" => [ 8300 , 3 ,"E"], -"Br66" => [ 8014 , 6 ,"E"], -"V67" => [ 7829 , 9 ,"E"], -"Cr67" => [ 8079 , 6 ,"E"], -"Mn67" => [ 8281 , 3 ,"E"], -"Fe67" => [ 8449.9359 , 0.0570 ,"D"], -"Co67" => [ 8581.7422 , 0.0962 ,"D"], -"Ni67" => [ 8695.7505 , 0.0431 ,"D"], -"Cu67" => [ 8737.4597 , 0.0133 ,"D"], -"Zn67" => [ 8734.1534 , 0.0113 ,"D"], -"Ga67" => [ 8707.5330 , 0.0176 ,"D"], -"Ge67" => [ 8633.0884 , 0.0645 ,"D"], -"As67" => [ 8530.5685 , 0.0066 ,"D"], -"Se67" => [ 8369.5344 , 1.0010 ,"D"], -"Br67" => [ 8148 , 4 ,"E"], -"Kr67" => [ 7883 , 6 ,"E"], -"Cr68" => [ 8026 , 7 ,"E"], -"Mn68" => [ 8209 , 4 ,"E"], -"Fe68" => [ 8418 , 3 ,"E"], -"Co68" => [ 8520.1301 , 0.0567 ,"D"], -"Ni68" => [ 8682.4667 , 0.0438 ,"D"], -"Cu68" => [ 8701.8913 , 0.0233 ,"D"], -"Zn68" => [ 8755.6820 , 0.0115 ,"D"], -"Ga68" => [ 8701.2195 , 0.0210 ,"D"], -"Ge68" => [ 8688.1371 , 0.0276 ,"D"], -"As68" => [ 8557.7457 , 0.0271 ,"D"], -"Se68" => [ 8477.0482 , 0.0073 ,"D"], -"Br68" => [ 8239 , 4 ,"E"], -"Kr68" => [ 8034 , 7 ,"E"], -"Cr69" => [ 7939 , 7 ,"E"], -"Mn69" => [ 8155 , 6 ,"E"], -"Fe69" => [ 8345 , 3 ,"E"], -"Co69" => [ 8495.4062 , 1.2420 ,"D"], -"Ni69" => [ 8623.0998 , 0.0540 ,"D"], -"Cu69" => [ 8695.2044 , 0.0203 ,"D"], -"Zn69" => [ 8722.7311 , 0.0115 ,"D"], -"Ga69" => [ 8724.5798 , 0.0174 ,"D"], -"Ge69" => [ 8680.9640 , 0.0191 ,"D"], -"As69" => [ 8611.8214 , 0.4638 ,"D"], -"Se69" => [ 8503.7082 , 0.0216 ,"D"], -"Br69" => [ 8344.9026 , 0.6087 ,"D"], -"Kr69" => [ 8129 , 4 ,"E"], -"Cr70" => [ 7884 , 9 ,"E"], -"Mn70" => [ 8084 , 7 ,"E"], -"Fe70" => [ 8308 , 4 ,"E"], -"Co70" => [ 8434.1980 , 0.1570 ,"D"], -"Ni70" => [ 8604.2917 , 0.0306 ,"D"], -"Cu70" => [ 8646.8655 , 0.0155 ,"D"], -"Zn70" => [ 8729.8086 , 0.0274 ,"D"], -"Ga70" => [ 8709.2808 , 0.0172 ,"D"], -"Ge70" => [ 8721.7028 , 0.0117 ,"D"], -"As70" => [ 8621.5541 , 0.0200 ,"D"], -"Se70" => [ 8576.0338 , 0.0226 ,"D"], -"Br70" => [ 8414.7964 , 0.2129 ,"D"], -"Kr70" => [ 8256 , 3 ,"E"], -"Mn71" => [ 8030 , 7 ,"E"], -"Fe71" => [ 8235 , 6 ,"E"], -"Co71" => [ 8398.7344 , 6.5497 ,"D"], -"Ni71" => [ 8543.1564 , 0.0315 ,"D"], -"Cu71" => [ 8635.0233 , 0.0210 ,"D"], -"Zn71" => [ 8689.0417 , 0.0374 ,"D"], -"Ga71" => [ 8717.6050 , 0.0114 ,"D"], -"Ge71" => [ 8703.3118 , 0.0115 ,"D"], -"As71" => [ 8663.9350 , 0.0586 ,"D"], -"Se71" => [ 8586.0606 , 0.0394 ,"D"], -"Br71" => [ 8481.4629 , 0.0761 ,"D"], -"Kr71" => [ 8327.1310 , 1.8136 ,"D"], -"Rb71" => [ 8118 , 6 ,"E"], -"Mn72" => [ 7955 , 8 ,"E"], -"Fe72" => [ 8195 , 7 ,"E"], -"Co72" => [ 8338 , 4 ,"E"], -"Ni72" => [ 8520.2118 , 0.0311 ,"D"], -"Cu72" => [ 8586.5256 , 0.0194 ,"D"], -"Zn72" => [ 8691.8053 , 0.0298 ,"D"], -"Ga72" => [ 8687.0893 , 0.0114 ,"D"], -"Ge72" => [ 8731.7459 , 0.0011 ,"D"], -"As72" => [ 8660.3786 , 0.0567 ,"D"], -"Se72" => [ 8644.4902 , 0.0272 ,"D"], -"Br72" => [ 8511.3126 , 0.0142 ,"D"], -"Kr72" => [ 8429.3193 , 0.1113 ,"D"], -"Rb72" => [ 8202 , 7 ,"E"], -"Mn73" => [ 7895 , 8 ,"E"], -"Fe73" => [ 8121 , 7 ,"E"], -"Co73" => [ 8302 , 4 ,"E"], -"Ni73" => [ 8457.6529 , 0.0332 ,"D"], -"Cu73" => [ 8568.5699 , 0.0266 ,"D"], -"Zn73" => [ 8648.3455 , 0.0255 ,"D"], -"Ga73" => [ 8693.8740 , 0.0230 ,"D"], -"Ge73" => [ 8705.0500 , 0.0008 ,"D"], -"As73" => [ 8689.6099 , 0.0528 ,"D"], -"Se73" => [ 8641.5591 , 0.1017 ,"D"], -"Br73" => [ 8568.0803 , 0.0923 ,"D"], -"Kr73" => [ 8460.1847 , 0.0901 ,"D"], -"Rb73" => [ 8305.0821 , 0.5588 ,"D"], -"Sr73" => [ 8102 , 5 ,"E"], -"Fe74" => [ 8076 , 7 ,"E"], -"Co74" => [ 8239 , 5 ,"E"], -"Ni74" => [ 8433 , 3 ,"E"], -"Cu74" => [ 8521.5633 , 0.0831 ,"D"], -"Zn74" => [ 8642.7547 , 0.0340 ,"D"], -"Ga74" => [ 8663.1676 , 0.0405 ,"D"], -"Ge74" => [ 8725.2011 , 0.0003 ,"D"], -"As74" => [ 8680.0020 , 0.0229 ,"D"], -"Se74" => [ 8687.7155 , 0.0003 ,"D"], -"Br74" => [ 8583.5615 , 0.0789 ,"D"], -"Kr74" => [ 8533.0390 , 0.0272 ,"D"], -"Rb74" => [ 8381.7123 , 0.0409 ,"D"], -"Sr74" => [ 8221 , 1 ,"E"], -"Fe75" => [ 7996 , 8 ,"E"], -"Co75" => [ 8197 , 5 ,"E"], -"Ni75" => [ 8369 , 3 ,"E"], -"Cu75" => [ 8495.0801 , 0.0096 ,"D"], -"Zn75" => [ 8592.4981 , 0.0261 ,"D"], -"Ga75" => [ 8660.7565 , 0.0089 ,"D"], -"Ge75" => [ 8695.6096 , 0.0007 ,"D"], -"As75" => [ 8700.8748 , 0.0118 ,"D"], -"Se75" => [ 8678.9139 , 0.0010 ,"D"], -"Br75" => [ 8627.6497 , 0.0571 ,"D"], -"Kr75" => [ 8553.4399 , 0.1081 ,"D"], -"Rb75" => [ 8448.2762 , 0.0157 ,"D"], -"Sr75" => [ 8296.5116 , 2.9334 ,"D"], -"Y75" => [ 8089 , 4 ,"E"], -"Fe76" => [ 7943 , 8 ,"E"], -"Co76" => [ 8131 , 7 ,"E"], -"Ni76" => [ 8338 , 4 ,"E"], -"Cu76" => [ 8443.6018 , 0.0120 ,"D"], -"Zn76" => [ 8582.2735 , 0.0192 ,"D"], -"Ga76" => [ 8624.5272 , 0.0257 ,"D"], -"Ge76" => [ 8705.2364 , 0.0003 ,"D"], -"As76" => [ 8682.8172 , 0.0117 ,"D"], -"Se76" => [ 8711.4781 , 0.0003 ,"D"], -"Br76" => [ 8635.8830 , 0.1227 ,"D"], -"Kr76" => [ 8608.8077 , 0.0528 ,"D"], -"Rb76" => [ 8486.2161 , 0.0123 ,"D"], -"Sr76" => [ 8393.9294 , 0.4535 ,"D"], -"Y76" => [ 8173 , 4 ,"E"], -"Co77" => [ 8082 , 8 ,"E"], -"Ni77" => [ 8272 , 5 ,"E"], -"Cu77" => [ 8411.2501 , 0.0157 ,"D"], -"Zn77" => [ 8530.0037 , 0.0256 ,"D"], -"Ga77" => [ 8613.3907 , 0.0315 ,"D"], -"Ge77" => [ 8671.0293 , 0.0007 ,"D"], -"As77" => [ 8695.9789 , 0.0220 ,"D"], -"Se77" => [ 8694.6908 , 0.0008 ,"D"], -"Br77" => [ 8666.8073 , 0.0365 ,"D"], -"Kr77" => [ 8616.8370 , 0.0254 ,"D"], -"Rb77" => [ 8537.3396 , 0.0169 ,"D"], -"Sr77" => [ 8435.9188 , 0.1028 ,"D"], -"Y77" => [ 8278 , 3 ,"E"], -"Zr77" => [ 8075 , 5 ,"E"], -"Co78" => [ 7997 , 9 ,"E"], -"Ni78" => [ 8238 , 5 ,"E"], -"Cu78" => [ 8354.6695 , 0.1709 ,"D"], -"Zn78" => [ 8507.3800 , 0.0249 ,"D"], -"Ga78" => [ 8577.1043 , 0.0135 ,"D"], -"Ge78" => [ 8671.6636 , 0.0453 ,"D"], -"As78" => [ 8673.8760 , 0.1254 ,"D"], -"Se78" => [ 8717.8072 , 0.0023 ,"D"], -"Br78" => [ 8661.9594 , 0.0459 ,"D"], -"Kr78" => [ 8661.2385 , 0.0039 ,"D"], -"Rb78" => [ 8558.3512 , 0.0415 ,"D"], -"Sr78" => [ 8500.0971 , 0.0955 ,"D"], -"Y78" => [ 8349 , 4 ,"E"], -"Zr78" => [ 8194 , 5 ,"E"], -"Ni79" => [ 8150 , 6 ,"E"], -"Cu79" => [ 8320.9380 , 1.3289 ,"D"], -"Zn79" => [ 8450.5825 , 0.0282 ,"D"], -"Ga79" => [ 8556.0725 , 0.0153 ,"D"], -"Ge79" => [ 8634.5089 , 0.4704 ,"D"], -"As79" => [ 8676.6172 , 0.0674 ,"D"], -"Se79" => [ 8695.5923 , 0.0028 ,"D"], -"Br79" => [ 8687.5956 , 0.0127 ,"D"], -"Kr79" => [ 8657.1130 , 0.0441 ,"D"], -"Rb79" => [ 8601.1401 , 0.0246 ,"D"], -"Sr79" => [ 8523.8558 , 0.0939 ,"D"], -"Y79" => [ 8416.7788 , 1.0140 ,"D"], -"Zr79" => [ 8267 , 4 ,"E"], -"Nb79" => [ 8066 , 6 ,"E"], -"Ni80" => [ 8088 , 7 ,"E"], -"Cu80" => [ 8246 , 4 ,"E"], -"Zn80" => [ 8423.5457 , 0.0323 ,"D"], -"Ga80" => [ 8508.4545 , 0.0361 ,"D"], -"Ge80" => [ 8627.5707 , 0.0257 ,"D"], -"As80" => [ 8651.2824 , 0.0417 ,"D"], -"Se80" => [ 8710.8142 , 0.0118 ,"D"], -"Br80" => [ 8677.6541 , 0.0124 ,"D"], -"Kr80" => [ 8692.9301 , 0.0087 ,"D"], -"Rb80" => [ 8611.6760 , 0.0233 ,"D"], -"Sr80" => [ 8578.5966 , 0.0433 ,"D"], -"Y80" => [ 8454.2759 , 0.0780 ,"D"], -"Zr80" => [ 8365 , 4 ,"E"], -"Nb80" => [ 8151 , 5 ,"E"], -"Ni81" => [ 8000 , 9 ,"E"], -"Cu81" => [ 8185 , 4 ,"E"], -"Zn81" => [ 8351.9262 , 0.0621 ,"D"], -"Ga81" => [ 8483.3576 , 0.0403 ,"D"], -"Ge81" => [ 8580.6587 , 0.0254 ,"D"], -"As81" => [ 8648.0571 , 0.0326 ,"D"], -"Se81" => [ 8685.9998 , 0.0121 ,"D"], -"Br81" => [ 8695.9465 , 0.0121 ,"D"], -"Kr81" => [ 8682.8206 , 0.0133 ,"D"], -"Rb81" => [ 8645.5139 , 0.0605 ,"D"], -"Sr81" => [ 8587.3545 , 0.0386 ,"D"], -"Y81" => [ 8505.9031 , 0.0667 ,"D"], -"Zr81" => [ 8395.1519 , 1.1385 ,"D"], -"Nb81" => [ 8248 , 5 ,"E"], -"Mo81" => [ 8054 , 6 ,"E"], -"Ni82" => [ 7935 , 10 ,"E"], -"Cu82" => [ 8108 , 5 ,"E"], -"Zn82" => [ 8301.1175 , 0.0375 ,"D"], -"Ga82" => [ 8421.0494 , 0.0296 ,"D"], -"Ge82" => [ 8563.7567 , 0.0273 ,"D"], -"As82" => [ 8611.4153 , 0.0455 ,"D"], -"Se82" => [ 8693.1973 , 0.0057 ,"D"], -"Br82" => [ 8682.4953 , 0.0118 ,"D"], -"Kr82" => [ 8710.6754 , 0.0003 ,"D"], -"Rb82" => [ 8647.4275 , 0.0367 ,"D"], -"Sr82" => [ 8635.7190 , 0.0731 ,"D"], -"Y82" => [ 8529.2762 , 0.0671 ,"D"], -"Zr82" => [ 8465.4666 , 0.0193 ,"D"], -"Nb82" => [ 8312 , 4 ,"E"], -"Mo82" => [ 8163 , 5 ,"E"], -"Cu83" => [ 8044 , 6 ,"E"], -"Zn83" => [ 8226 , 4 ,"E"], -"Ga83" => [ 8372.5756 , 0.0315 ,"D"], -"Ge83" => [ 8504.3462 , 0.0292 ,"D"], -"As83" => [ 8599.6540 , 0.0337 ,"D"], -"Se83" => [ 8658.5560 , 0.0366 ,"D"], -"Br83" => [ 8693.3852 , 0.0457 ,"D"], -"Kr83" => [ 8695.7295 , 0.0003 ,"D"], -"Rb83" => [ 8675.2193 , 0.0281 ,"D"], -"Sr83" => [ 8638.4076 , 0.0823 ,"D"], -"Y83" => [ 8573.6571 , 0.2245 ,"D"], -"Zr83" => [ 8488.3997 , 0.0775 ,"D"], -"Nb83" => [ 8378.9889 , 1.9528 ,"D"], -"Mo83" => [ 8234 , 5 ,"E"], -"Tc83" => [ 8043 , 6 ,"E"], -"Cu84" => [ 7965 , 6 ,"E"], -"Zn84" => [ 8171 , 5 ,"E"], -"Ga84" => [ 8307.5250 , 0.3549 ,"D"], -"Ge84" => [ 8465.5244 , 0.0377 ,"D"], -"As84" => [ 8547.9385 , 0.0377 ,"D"], -"Se84" => [ 8658.7935 , 0.0233 ,"D"], -"Br84" => [ 8671.3294 , 0.3063 ,"D"], -"Kr84" => [ 8717.4473 , 0.0003 ,"D"], -"Rb84" => [ 8676.2244 , 0.0261 ,"D"], -"Sr84" => [ 8677.5132 , 0.0148 ,"D"], -"Y84" => [ 8587.7812 , 0.0512 ,"D"], -"Zr84" => [ 8549.0301 , 0.0655 ,"D"], -"Nb84" => [ 8417.9563 , 0.0048 ,"D"], -"Mo84" => [ 8325 , 4 ,"E"], -"Tc84" => [ 8120 , 5 ,"E"], -"Zn85" => [ 8090 , 6 ,"E"], -"Ga85" => [ 8253.5687 , 0.4384 ,"D"], -"Ge85" => [ 8401.7689 , 0.0439 ,"D"], -"As85" => [ 8510.9851 , 0.0362 ,"D"], -"Se85" => [ 8610.3045 , 0.0307 ,"D"], -"Br85" => [ 8673.5926 , 0.0362 ,"D"], -"Kr85" => [ 8698.5633 , 0.0235 ,"D"], -"Rb85" => [ 8697.4416 , 0.0003 ,"D"], -"Sr85" => [ 8675.7193 , 0.0331 ,"D"], -"Y85" => [ 8628.1486 , 0.2231 ,"D"], -"Zr85" => [ 8564.0394 , 0.0756 ,"D"], -"Nb85" => [ 8473.7117 , 0.0482 ,"D"], -"Mo85" => [ 8361.3320 , 0.1863 ,"D"], -"Tc85" => [ 8215 , 5 ,"E"], -"Ru85" => [ 8027 , 6 ,"E"], -"Zn86" => [ 8032 , 6 ,"E"], -"Ga86" => [ 8182 , 5 ,"E"], -"Ge86" => [ 8354.6300 , 5.0907 ,"D"], -"As86" => [ 8456.7215 , 0.0401 ,"D"], -"Se86" => [ 8581.8224 , 0.0293 ,"D"], -"Br86" => [ 8632.3659 , 0.0358 ,"D"], -"Kr86" => [ 8712.0295 , 0.0003 ,"D"], -"Rb86" => [ 8696.9014 , 0.0023 ,"D"], -"Sr86" => [ 8708.4566 , 0.0003 ,"D"], -"Y86" => [ 8638.4293 , 0.1644 ,"D"], -"Zr86" => [ 8614.0523 , 0.0415 ,"D"], -"Nb86" => [ 8502.2231 , 0.0639 ,"D"], -"Mo86" => [ 8434.7175 , 0.0341 ,"D"], -"Tc86" => [ 8280 , 3 ,"E"], -"Ru86" => [ 8133 , 5 ,"E"], -"Ga87" => [ 8124 , 6 ,"E"], -"Ge87" => [ 8285 , 3 ,"E"], -"As87" => [ 8413.8521 , 0.0343 ,"D"], -"Se87" => [ 8529.0920 , 0.0258 ,"D"], -"Br87" => [ 8605.9105 , 0.0364 ,"D"], -"Kr87" => [ 8675.2840 , 0.0028 ,"D"], -"Rb87" => [ 8710.9843 , 0.0003 ,"D"], -"Sr87" => [ 8705.2363 , 0.0003 ,"D"], -"Y87" => [ 8674.8451 , 0.0130 ,"D"], -"Zr87" => [ 8623.6545 , 0.0477 ,"D"], -"Nb87" => [ 8551.7579 , 0.0782 ,"D"], -"Mo87" => [ 8462.4243 , 0.0328 ,"D"], -"Tc87" => [ 8347.7449 , 0.0482 ,"D"], -"Ru87" => [ 8201 , 5 ,"E"], -"Ga88" => [ 8050 , 6 ,"E"], -"Ge88" => [ 8236 , 5 ,"E"], -"As88" => [ 8351 , 2 ,"E"], -"Se88" => [ 8495.0045 , 0.0382 ,"D"], -"Br88" => [ 8563.7479 , 0.0360 ,"D"], -"Kr88" => [ 8656.8499 , 0.0296 ,"D"], -"Rb88" => [ 8681.1154 , 0.0018 ,"D"], -"Sr88" => [ 8732.5958 , 0.0003 ,"D"], -"Y88" => [ 8682.5396 , 0.0170 ,"D"], -"Zr88" => [ 8666.0339 , 0.0614 ,"D"], -"Nb88" => [ 8572.4013 , 0.6569 ,"D"], -"Mo88" => [ 8523.9087 , 0.0434 ,"D"], -"Tc88" => [ 8389.8338 , 0.0466 ,"D"], -"Ru88" => [ 8298 , 3 ,"E"], -"Rh88" => [ 8090 , 5 ,"E"], -"Ge89" => [ 8161 , 4 ,"E"], -"As89" => [ 8304 , 3 ,"E"], -"Se89" => [ 8435.2799 , 0.0419 ,"D"], -"Br89" => [ 8530.7802 , 0.0367 ,"D"], -"Kr89" => [ 8614.8158 , 0.0241 ,"D"], -"Rb89" => [ 8664.1895 , 0.0610 ,"D"], -"Sr89" => [ 8705.9230 , 0.0011 ,"D"], -"Y89" => [ 8714.0110 , 0.0038 ,"D"], -"Zr89" => [ 8673.3865 , 0.0312 ,"D"], -"Nb89" => [ 8616.8184 , 0.2655 ,"D"], -"Mo89" => [ 8544.9851 , 0.0440 ,"D"], -"Tc89" => [ 8450.5758 , 0.0429 ,"D"], -"Ru89" => [ 8340.3760 , 0.2721 ,"D"], -"Rh89" => [ 8189 , 4 ,"E"], -"Ge90" => [ 8109 , 6 ,"E"], -"As90" => [ 8240 , 4 ,"E"], -"Se90" => [ 8395.7672 , 3.6639 ,"D"], -"Br90" => [ 8478.1865 , 0.0373 ,"D"], -"Kr90" => [ 8591.2599 , 0.0207 ,"D"], -"Rb90" => [ 8631.5262 , 0.0717 ,"D"], -"Sr90" => [ 8696.0043 , 0.0161 ,"D"], -"Y90" => [ 8693.3778 , 0.0039 ,"D"], -"Zr90" => [ 8709.9699 , 0.0013 ,"D"], -"Nb90" => [ 8633.3770 , 0.0369 ,"D"], -"Mo90" => [ 8597.0285 , 0.0385 ,"D"], -"Tc90" => [ 8483.3600 , 0.0114 ,"D"], -"Ru90" => [ 8409.7684 , 0.0414 ,"D"], -"Rh90" => [ 8254 , 2 ,"E"], -"Pd90" => [ 8113 , 4 ,"E"], -"As91" => [ 8189 , 4 ,"E"], -"Se91" => [ 8334.8382 , 4.7598 ,"D"], -"Br91" => [ 8441.9242 , 0.0389 ,"D"], -"Kr91" => [ 8541.7519 , 0.0246 ,"D"], -"Rb91" => [ 8607.5621 , 0.0857 ,"D"], -"Sr91" => [ 8663.8759 , 0.0599 ,"D"], -"Y91" => [ 8684.9421 , 0.0203 ,"D"], -"Zr91" => [ 8693.3149 , 0.0011 ,"D"], -"Nb91" => [ 8670.8983 , 0.0322 ,"D"], -"Mo91" => [ 8613.6286 , 0.0686 ,"D"], -"Tc91" => [ 8536.6558 , 0.0260 ,"D"], -"Ru91" => [ 8442.9287 , 0.0244 ,"D"], -"Rh91" => [ 8328 , 3 ,"E"], -"Pd91" => [ 8183 , 5 ,"E"], -"As92" => [ 8121 , 5 ,"E"], -"Se92" => [ 8290 , 4 ,"E"], -"Br92" => [ 8384.9123 , 0.0729 ,"D"], -"Kr92" => [ 8512.6750 , 0.0294 ,"D"], -"Rb92" => [ 8569.4225 , 0.0666 ,"D"], -"Sr92" => [ 8648.9070 , 0.0372 ,"D"], -"Y92" => [ 8661.5894 , 0.0992 ,"D"], -"Zr92" => [ 8692.6783 , 0.0011 ,"D"], -"Nb92" => [ 8662.3731 , 0.0194 ,"D"], -"Mo92" => [ 8657.7312 , 0.0017 ,"D"], -"Tc92" => [ 8563.5440 , 0.0337 ,"D"], -"Ru92" => [ 8504.7740 , 0.0295 ,"D"], -"Rh92" => [ 8373.4211 , 0.0476 ,"D"], -"Pd92" => [ 8275.5695 , 3.7503 ,"D"], -"Ag92" => [ 8080 , 4 ,"E"], -"Se93" => [ 8225 , 4 ,"E"], -"Br93" => [ 8345.5986 , 4.6324 ,"D"], -"Kr93" => [ 8458.1085 , 0.0270 ,"D"], -"Rb93" => [ 8540.9209 , 0.0842 ,"D"], -"Sr93" => [ 8612.7875 , 0.0812 ,"D"], -"Y93" => [ 8648.9054 , 0.1128 ,"D"], -"Zr93" => [ 8671.6207 , 0.0049 ,"D"], -"Nb93" => [ 8664.1849 , 0.0160 ,"D"], -"Mo93" => [ 8651.4095 , 0.0020 ,"D"], -"Tc93" => [ 8608.5782 , 0.0109 ,"D"], -"Ru93" => [ 8531.4627 , 0.0222 ,"D"], -"Rh93" => [ 8434.8255 , 0.0283 ,"D"], -"Pd93" => [ 8318.5637 , 3.9786 ,"D"], -"Ag93" => [ 8175 , 4 ,"E"], -"Se94" => [ 8180 , 5 ,"E"], -"Br94" => [ 8287 , 2 ,"E"], -"Kr94" => [ 8424.3318 , 0.1288 ,"D"], -"Rb94" => [ 8492.7644 , 0.0216 ,"D"], -"Sr94" => [ 8593.8344 , 0.0177 ,"D"], -"Y94" => [ 8622.8068 , 0.0679 ,"D"], -"Zr94" => [ 8666.8016 , 0.0018 ,"D"], -"Nb94" => [ 8648.9014 , 0.0159 ,"D"], -"Mo94" => [ 8662.3341 , 0.0015 ,"D"], -"Tc94" => [ 8608.7373 , 0.0433 ,"D"], -"Ru94" => [ 8583.6620 , 0.0334 ,"D"], -"Rh94" => [ 8472.4033 , 0.0359 ,"D"], -"Pd94" => [ 8391.6832 , 0.0456 ,"D"], -"Ag94" => [ 8238 , 4 ,"E"], -"Cd94" => [ 8102 , 5 ,"E"], -"Se95" => [ 8112 , 5 ,"E"], -"Br95" => [ 8245 , 3 ,"E"], -"Kr95" => [ 8365.9963 , 0.1961 ,"D"], -"Rb95" => [ 8460.1967 , 0.2131 ,"D"], -"Sr95" => [ 8549.0875 , 0.0612 ,"D"], -"Y95" => [ 8604.9644 , 0.0714 ,"D"], -"Zr95" => [ 8643.5924 , 0.0092 ,"D"], -"Nb95" => [ 8647.2133 , 0.0054 ,"D"], -"Mo95" => [ 8648.7212 , 0.0013 ,"D"], -"Tc95" => [ 8622.6911 , 0.0535 ,"D"], -"Ru95" => [ 8587.4706 , 0.1000 ,"D"], -"Rh95" => [ 8525.3707 , 0.0409 ,"D"], -"Pd95" => [ 8428.9807 , 0.0319 ,"D"], -"Ag95" => [ 8315 , 4 ,"E"], -"Cd95" => [ 8171 , 6 ,"E"], -"Br96" => [ 8184 , 3 ,"E"], -"Kr96" => [ 8330.8721 , 0.2008 ,"D"], -"Rb96" => [ 8408.8963 , 0.0349 ,"D"], -"Sr96" => [ 8521.2041 , 0.0882 ,"D"], -"Y96" => [ 8569.4269 , 0.0633 ,"D"], -"Zr96" => [ 8635.3283 , 0.0012 ,"D"], -"Nb96" => [ 8628.8868 , 0.0015 ,"D"], -"Mo96" => [ 8653.9880 , 0.0013 ,"D"], -"Tc96" => [ 8614.8673 , 0.0536 ,"D"], -"Ru96" => [ 8609.4130 , 0.0018 ,"D"], -"Rh96" => [ 8534.6735 , 0.1042 ,"D"], -"Pd96" => [ 8490.0207 , 0.0437 ,"D"], -"Ag96" => [ 8360.2903 , 0.9384 ,"D"], -"Cd96" => [ 8259 , 4 ,"E"], -"In96" => [ 8069 , 5 ,"E"], -"Br97" => [ 8140 , 4 ,"E"], -"Kr97" => [ 8269.8645 , 1.3444 ,"D"], -"Rb97" => [ 8376.1872 , 0.0197 ,"D"], -"Sr97" => [ 8471.8489 , 0.0349 ,"D"], -"Y97" => [ 8541.4616 , 0.0692 ,"D"], -"Zr97" => [ 8603.7182 , 0.0013 ,"D"], -"Nb97" => [ 8623.1384 , 0.0438 ,"D"], -"Mo97" => [ 8635.0926 , 0.0017 ,"D"], -"Tc97" => [ 8623.7254 , 0.0425 ,"D"], -"Ru97" => [ 8604.2799 , 0.0285 ,"D"], -"Rh97" => [ 8559.8949 , 0.3656 ,"D"], -"Pd97" => [ 8502.4303 , 0.0499 ,"D"], -"Ag97" => [ 8423.2121 , 0.1239 ,"D"], -"Cd97" => [ 8310.3013 , 4.3317 ,"D"], -"In97" => [ 8165 , 4 ,"E"], -"Br98" => [ 8078 , 4 ,"E"], -"Kr98" => [ 8234 , 3 ,"E"], -"Rb98" => [ 8330.7294 , 0.1641 ,"D"], -"Sr98" => [ 8445.7385 , 0.0329 ,"D"], -"Y98" => [ 8497.6162 , 0.0808 ,"D"], -"Zr98" => [ 8581.3984 , 0.0862 ,"D"], -"Nb98" => [ 8596.3016 , 0.0510 ,"D"], -"Mo98" => [ 8635.1691 , 0.0018 ,"D"], -"Tc98" => [ 8610.0047 , 0.0345 ,"D"], -"Ru98" => [ 8620.3140 , 0.0659 ,"D"], -"Rh98" => [ 8560.8038 , 0.1215 ,"D"], -"Pd98" => [ 8533.8999 , 0.0484 ,"D"], -"Ag98" => [ 8441.6866 , 0.3358 ,"D"], -"Cd98" => [ 8378.2953 , 0.5285 ,"D"], -"In98" => [ 8230 , 3 ,"E"], -"Kr99" => [ 8175 , 4 ,"E"], -"Rb99" => [ 8295.3010 , 0.0407 ,"D"], -"Sr99" => [ 8402.5235 , 0.0479 ,"D"], -"Y99" => [ 8476.6938 , 0.0668 ,"D"], -"Zr99" => [ 8539.2250 , 0.1061 ,"D"], -"Nb99" => [ 8578.9859 , 0.1213 ,"D"], -"Mo99" => [ 8607.7982 , 0.0023 ,"D"], -"Tc99" => [ 8613.6105 , 0.0092 ,"D"], -"Ru99" => [ 8608.7132 , 0.0035 ,"D"], -"Rh99" => [ 8580.1959 , 0.1965 ,"D"], -"Pd99" => [ 8537.9332 , 0.0516 ,"D"], -"Ag99" => [ 8474.7744 , 0.0633 ,"D"], -"Cd99" => [ 8398.3734 , 0.0160 ,"D"], -"In99" => [ 8304 , 3 ,"E"], -"Sn99" => [ 8161 , 6 ,"E"], -"Kr100" => [ 8134 , 4 ,"E"], -"Rb100" => [ 8244.5085 , 0.1312 ,"D"], -"Sr100" => [ 8372.2012 , 0.0692 ,"D"], -"Y100" => [ 8439.4151 , 0.1118 ,"D"], -"Zr100" => [ 8522.1066 , 0.0814 ,"D"], -"Nb100" => [ 8548.4683 , 0.0798 ,"D"], -"Mo100" => [ 8604.6626 , 0.0030 ,"D"], -"Tc100" => [ 8595.1184 , 0.0135 ,"D"], -"Ru100" => [ 8619.3593 , 0.0034 ,"D"], -"Rh100" => [ 8575.1732 , 0.1813 ,"D"], -"Pd100" => [ 8563.5652 , 0.1764 ,"D"], -"Ag100" => [ 8484.9947 , 0.0500 ,"D"], -"Cd100" => [ 8437.7375 , 0.0168 ,"D"], -"In100" => [ 8329.7495 , 0.0224 ,"D"], -"Sn100" => [ 8251.6260 , 2.4001 ,"D"], -"Kr101" => [ 8075 , 5 ,"E"], -"Rb101" => [ 8206.1753 , 0.2029 ,"D"], -"Sr101" => [ 8324.7411 , 0.0840 ,"D"], -"Y101" => [ 8413.3305 , 0.0701 ,"D"], -"Zr101" => [ 8485.8439 , 0.0825 ,"D"], -"Nb101" => [ 8534.8355 , 0.0371 ,"D"], -"Mo101" => [ 8572.9159 , 0.0031 ,"D"], -"Tc101" => [ 8593.1366 , 0.2377 ,"D"], -"Ru101" => [ 8601.3660 , 0.0041 ,"D"], -"Rh101" => [ 8588.2172 , 0.0578 ,"D"], -"Pd101" => [ 8560.8644 , 0.0454 ,"D"], -"Ag101" => [ 8512.5465 , 0.0479 ,"D"], -"Cd101" => [ 8450.3657 , 0.0148 ,"D"], -"In101" => [ 8370.4260 , 0.1155 ,"D"], -"Sn101" => [ 8281.1030 , 2.9703 ,"D"], -"Rb102" => [ 8152.7443 , 0.8128 ,"D"], -"Sr102" => [ 8291.2213 , 0.6575 ,"D"], -"Y102" => [ 8371.9172 , 0.0400 ,"D"], -"Zr102" => [ 8466.2940 , 0.0859 ,"D"], -"Nb102" => [ 8504.8675 , 0.0246 ,"D"], -"Mo102" => [ 8568.3994 , 0.0814 ,"D"], -"Tc102" => [ 8570.6514 , 0.0899 ,"D"], -"Ru102" => [ 8607.4275 , 0.0041 ,"D"], -"Rh102" => [ 8576.9818 , 0.0628 ,"D"], -"Pd102" => [ 8580.2887 , 0.0041 ,"D"], -"Ag102" => [ 8517.1650 , 0.0801 ,"D"], -"Cd102" => [ 8484.1322 , 0.0163 ,"D"], -"In102" => [ 8388.5719 , 0.0448 ,"D"], -"Sn102" => [ 8324.4313 , 0.9814 ,"D"], -"Sb102" => [ 8181 , 4 ,"E"], -"Rb103" => [ 8112 , 4 ,"E"], -"Sr103" => [ 8242 , 2 ,"E"], -"Y103" => [ 8342.6336 , 0.1088 ,"D"], -"Zr103" => [ 8425.8337 , 0.0895 ,"D"], -"Nb103" => [ 8488.3320 , 0.0382 ,"D"], -"Mo103" => [ 8538.2672 , 0.0895 ,"D"], -"Tc103" => [ 8566.1045 , 0.0952 ,"D"], -"Ru103" => [ 8584.3656 , 0.0043 ,"D"], -"Rh103" => [ 8584.1927 , 0.0223 ,"D"], -"Pd103" => [ 8571.0173 , 0.0085 ,"D"], -"Ag103" => [ 8537.6520 , 0.0398 ,"D"], -"Cd103" => [ 8489.7547 , 0.0176 ,"D"], -"In103" => [ 8423.7199 , 0.0872 ,"D"], -"Sn103" => [ 8343 , 1 ,"E"], -"Sb103" => [ 8234 , 3 ,"E"], -"Rb104" => [ 8057 , 5 ,"E"], -"Sr104" => [ 8206 , 3 ,"E"], -"Y104" => [ 8298 , 2 ,"E"], -"Zr104" => [ 8402.3159 , 0.0896 ,"D"], -"Nb104" => [ 8453.3832 , 0.0172 ,"D"], -"Mo104" => [ 8527.9063 , 0.0857 ,"D"], -"Tc104" => [ 8541.1070 , 0.2393 ,"D"], -"Ru104" => [ 8587.3998 , 0.0240 ,"D"], -"Rh104" => [ 8568.9501 , 0.0221 ,"D"], -"Pd104" => [ 8584.8485 , 0.0129 ,"D"], -"Ag104" => [ 8536.1850 , 0.0406 ,"D"], -"Cd104" => [ 8517.6232 , 0.0161 ,"D"], -"In104" => [ 8435.2380 , 0.0555 ,"D"], -"Sn104" => [ 8383.9114 , 0.0552 ,"D"], -"Sb104" => [ 8258 , 1 ,"E"], -"Te104" => [ 8157.3256 , 3.0539 ,"D"], -"Sr105" => [ 8152 , 5 ,"E"], -"Y105" => [ 8262 , 4 ,"E"], -"Zr105" => [ 8358.5980 , 0.1153 ,"D"], -"Nb105" => [ 8431.6925 , 0.0384 ,"D"], -"Mo105" => [ 8494.8630 , 0.0862 ,"D"], -"Tc105" => [ 8534.6074 , 0.3358 ,"D"], -"Ru105" => [ 8561.9016 , 0.0238 ,"D"], -"Rh105" => [ 8572.7053 , 0.0238 ,"D"], -"Pd105" => [ 8570.6509 , 0.0108 ,"D"], -"Ag105" => [ 8550.3708 , 0.0433 ,"D"], -"Cd105" => [ 8516.8532 , 0.0133 ,"D"], -"In105" => [ 8464.7045 , 0.0976 ,"D"], -"Sn105" => [ 8397.2290 , 0.0378 ,"D"], -"Sb105" => [ 8300.9923 , 0.2079 ,"D"], -"Te105" => [ 8186.8368 , 2.8573 ,"D"], -"Sr106" => [ 8114 , 6 ,"E"], -"Y106" => [ 8215 , 5 ,"E"], -"Zr106" => [ 8330 , 2 ,"E"], -"Nb106" => [ 8393.2657 , 0.0134 ,"D"], -"Mo106" => [ 8479.5202 , 0.0861 ,"D"], -"Tc106" => [ 8506.5570 , 0.1156 ,"D"], -"Ru106" => [ 8560.9406 , 0.0509 ,"D"], -"Rh106" => [ 8553.9317 , 0.0508 ,"D"], -"Pd106" => [ 8579.9934 , 0.0104 ,"D"], -"Ag106" => [ 8544.6397 , 0.0285 ,"D"], -"Cd106" => [ 8539.0492 , 0.0104 ,"D"], -"In106" => [ 8470.1213 , 0.1153 ,"D"], -"Sn106" => [ 8432.0383 , 0.0480 ,"D"], -"Sb106" => [ 8322.0124 , 0.0703 ,"D"], -"Te106" => [ 8236.7682 , 0.9485 ,"D"], -"I106" => [ 8089 , 4 ,"E"], -"Sr107" => [ 8057 , 7 ,"E"], -"Y107" => [ 8178 , 5 ,"E"], -"Zr107" => [ 8284 , 3 ,"E"], -"Nb107" => [ 8367.0898 , 0.0750 ,"D"], -"Mo107" => [ 8442.2190 , 0.0862 ,"D"], -"Tc107" => [ 8492.8979 , 0.0811 ,"D"], -"Ru107" => [ 8533.3676 , 0.0811 ,"D"], -"Rh107" => [ 8554.1040 , 0.1126 ,"D"], -"Pd107" => [ 8560.8946 , 0.0112 ,"D"], -"Ag107" => [ 8553.9012 , 0.0223 ,"D"], -"Cd107" => [ 8533.3524 , 0.0155 ,"D"], -"In107" => [ 8494.0439 , 0.0902 ,"D"], -"Sn107" => [ 8439.4946 , 0.0496 ,"D"], -"Sb107" => [ 8358.7344 , 0.0388 ,"D"], -"Te107" => [ 8258 , 1 ,"E"], -"I107" => [ 8146 , 3 ,"E"], -"Y108" => [ 8129 , 6 ,"E"], -"Zr108" => [ 8253 , 4 ,"E"], -"Nb108" => [ 8325.6604 , 0.0763 ,"D"], -"Mo108" => [ 8422.1581 , 0.0854 ,"D"], -"Tc108" => [ 8462.8172 , 0.0812 ,"D"], -"Ru108" => [ 8527.2267 , 0.0804 ,"D"], -"Rh108" => [ 8532.6657 , 0.1296 ,"D"], -"Pd108" => [ 8567.0241 , 0.0103 ,"D"], -"Ag108" => [ 8542.0262 , 0.0221 ,"D"], -"Cd108" => [ 8550.0196 , 0.0104 ,"D"], -"In108" => [ 8495.2516 , 0.0800 ,"D"], -"Sn108" => [ 8469.0273 , 0.0498 ,"D"], -"Sb108" => [ 8372.6666 , 0.0509 ,"D"], -"Te108" => [ 8303.7221 , 0.0501 ,"D"], -"I108" => [ 8176 , 1 ,"E"], -"Xe108" => [ 8074.8886 , 3.5139 ,"D"], -"Y109" => [ 8089 , 6 ,"E"], -"Zr109" => [ 8204 , 5 ,"E"], -"Nb109" => [ 8297.1307 , 3.9524 ,"D"], -"Mo109" => [ 8381.4163 , 0.1026 ,"D"], -"Tc109" => [ 8444.1796 , 0.0887 ,"D"], -"Ru109" => [ 8496.2280 , 0.0821 ,"D"], -"Rh109" => [ 8528.1404 , 0.0371 ,"D"], -"Pd109" => [ 8544.8825 , 0.0102 ,"D"], -"Ag109" => [ 8547.9155 , 0.0118 ,"D"], -"Cd109" => [ 8538.7646 , 0.0141 ,"D"], -"In109" => [ 8513.1027 , 0.0364 ,"D"], -"Sn109" => [ 8470.5183 , 0.0729 ,"D"], -"Sb109" => [ 8404.8161 , 0.0483 ,"D"], -"Te109" => [ 8319.3305 , 0.0402 ,"D"], -"I109" => [ 8220.0164 , 0.0617 ,"D"], -"Xe109" => [ 8107.3071 , 2.7533 ,"D"], -"Zr110" => [ 8171 , 5 ,"E"], -"Nb110" => [ 8255.2607 , 7.6213 ,"D"], -"Mo110" => [ 8359.2930 , 0.2202 ,"D"], -"Tc110" => [ 8411.2603 , 0.0863 ,"D"], -"Ru110" => [ 8486.3123 , 0.0811 ,"D"], -"Rh110" => [ 8504.2551 , 0.1619 ,"D"], -"Pd110" => [ 8547.1630 , 0.0056 ,"D"], -"Ag110" => [ 8532.1089 , 0.0117 ,"D"], -"Cd110" => [ 8551.2755 , 0.0035 ,"D"], -"In110" => [ 8508.9087 , 0.1050 ,"D"], -"Sn110" => [ 8496.0875 , 0.1252 ,"D"], -"Sb110" => [ 8412.6821 , 0.0542 ,"D"], -"Te110" => [ 8358.1160 , 0.0598 ,"D"], -"I110" => [ 8244.0767 , 0.5631 ,"D"], -"Xe110" => [ 8159.2808 , 0.9181 ,"D"], -"Zr111" => [ 8118 , 5 ,"E"], -"Nb111" => [ 8223 , 3 ,"E"], -"Mo111" => [ 8315.2932 , 0.1133 ,"D"], -"Tc111" => [ 8390.0906 , 0.0953 ,"D"], -"Ru111" => [ 8452.9582 , 0.0872 ,"D"], -"Rh111" => [ 8495.6267 , 0.0617 ,"D"], -"Pd111" => [ 8521.7498 , 0.0066 ,"D"], -"Ag111" => [ 8534.7878 , 0.0131 ,"D"], -"Cd111" => [ 8537.0801 , 0.0032 ,"D"], -"In111" => [ 8522.2824 , 0.0308 ,"D"], -"Sn111" => [ 8493.1310 , 0.0481 ,"D"], -"Sb111" => [ 8440.1203 , 0.0797 ,"D"], -"Te111" => [ 8367.7635 , 0.0579 ,"D"], -"I111" => [ 8282.9343 , 0.0428 ,"D"], -"Xe111" => [ 8182 , 1 ,"E"], -"Cs111" => [ 8070 , 2 ,"E"], -"Zr112" => [ 8081 , 6 ,"E"], -"Nb112" => [ 8178 , 3 ,"E"], -"Mo112" => [ 8291 , 2 ,"E"], -"Tc112" => [ 8353.6217 , 0.0492 ,"D"], -"Ru112" => [ 8439.2431 , 0.0857 ,"D"], -"Rh112" => [ 8468.8666 , 0.3936 ,"D"], -"Pd112" => [ 8520.7205 , 0.0584 ,"D"], -"Ag112" => [ 8516.0807 , 0.0216 ,"D"], -"Cd112" => [ 8544.7306 , 0.0022 ,"D"], -"In112" => [ 8514.6674 , 0.0380 ,"D"], -"Sn112" => [ 8513.6189 , 0.0026 ,"D"], -"Sb112" => [ 8443.6330 , 0.1592 ,"D"], -"Te112" => [ 8400.6527 , 0.0749 ,"D"], -"I112" => [ 8299.8801 , 0.0915 ,"D"], -"Xe112" => [ 8230.0646 , 0.0740 ,"D"], -"Cs112" => [ 8102 , 1 ,"E"], -"Zr113" => [ 8027 , 3 ,"E"], -"Nb113" => [ 8143 , 4 ,"E"], -"Mo113" => [ 8246 , 3 ,"E"], -"Tc113" => [ 8329.4652 , 0.0297 ,"D"], -"Ru113" => [ 8402.6857 , 0.3388 ,"D"], -"Rh113" => [ 8456.8165 , 0.0631 ,"D"], -"Pd113" => [ 8492.5795 , 0.0615 ,"D"], -"Ag113" => [ 8516.0660 , 0.1473 ,"D"], -"Cd113" => [ 8526.9874 , 0.0022 ,"D"], -"In113" => [ 8522.9297 , 0.0017 ,"D"], -"Sn113" => [ 8506.8117 , 0.0139 ,"D"], -"Sb113" => [ 8465.2762 , 0.1521 ,"D"], -"Te113" => [ 8404.6366 , 0.2473 ,"D"], -"I113" => [ 8333.7528 , 0.0709 ,"D"], -"Xe113" => [ 8247.9277 , 0.0605 ,"D"], -"Cs113" => [ 8148.6230 , 0.0759 ,"D"], -"Ba113" => [ 8035 , 3 ,"E"], -"Nb114" => [ 8097 , 4 ,"E"], -"Mo114" => [ 8219 , 3 ,"E"], -"Tc114" => [ 8290.2599 , 3.7995 ,"D"], -"Ru114" => [ 8385.3351 , 0.0312 ,"D"], -"Rh114" => [ 8426.6221 , 0.6277 ,"D"], -"Pd114" => [ 8488.0056 , 0.0610 ,"D"], -"Ag114" => [ 8493.7786 , 0.0400 ,"D"], -"Cd114" => [ 8531.5135 , 0.0024 ,"D"], -"In114" => [ 8511.9742 , 0.0027 ,"D"], -"Sn114" => [ 8522.5671 , 0.0004 ,"D"], -"Sb114" => [ 8462.5191 , 0.1734 ,"D"], -"Te114" => [ 8432.7885 , 0.2143 ,"D"], -"I114" => [ 8344.7790 , 0.1757 ,"D"], -"Xe114" => [ 8289.2054 , 0.0981 ,"D"], -"Cs114" => [ 8173.5711 , 0.7462 ,"D"], -"Ba114" => [ 8089.6865 , 0.9007 ,"D"], -"Nb115" => [ 8061 , 4 ,"E"], -"Mo115" => [ 8173 , 3 ,"E"], -"Tc115" => [ 8264 , 2 ,"E"], -"Ru115" => [ 8346.8140 , 0.2188 ,"D"], -"Rh115" => [ 8410.6538 , 0.0636 ,"D"], -"Pd115" => [ 8457.7342 , 0.1178 ,"D"], -"Ag115" => [ 8490.5553 , 0.1589 ,"D"], -"Cd115" => [ 8510.7252 , 0.0057 ,"D"], -"In115" => [ 8516.5472 , 0.0003 ,"D"], -"Sn115" => [ 8514.0702 , 0.0003 ,"D"], -"Sb115" => [ 8480.9156 , 0.1394 ,"D"], -"Te115" => [ 8431.1504 , 0.2430 ,"D"], -"I115" => [ 8374.5651 , 0.2511 ,"D"], -"Xe115" => [ 8300.9704 , 0.1053 ,"D"], -"Cs115" => [ 8216 , 1 ,"E"], -"Ba115" => [ 8116 , 2 ,"E"], -"Nb116" => [ 8012 , 3 ,"E"], -"Mo116" => [ 8143 , 4 ,"E"], -"Tc116" => [ 8223 , 3 ,"E"], -"Ru116" => [ 8326.8840 , 0.0321 ,"D"], -"Rh116" => [ 8377.6123 , 0.6365 ,"D"], -"Pd116" => [ 8449.2755 , 0.0615 ,"D"], -"Ag116" => [ 8465.9073 , 0.0281 ,"D"], -"Cd116" => [ 8512.3511 , 0.0014 ,"D"], -"In116" => [ 8501.6177 , 0.0019 ,"D"], -"Sn116" => [ 8523.1166 , 0.0009 ,"D"], -"Sb116" => [ 8475.8208 , 0.0444 ,"D"], -"Te116" => [ 8455.6435 , 0.2087 ,"D"], -"I116" => [ 8381.2858 , 0.6469 ,"D"], -"Xe116" => [ 8336.8365 , 0.1122 ,"D"], -"Cs116" => [ 8235 , 1 ,"E"], -"Ba116" => [ 8162 , 2 ,"E"], -"La116" => [ 8032 , 3 ,"E"], -"Mo117" => [ 8096 , 4 ,"E"], -"Tc117" => [ 8195 , 3 ,"E"], -"Ru117" => [ 8285.5625 , 3.7021 ,"D"], -"Rh117" => [ 8359.2766 , 0.0760 ,"D"], -"Pd117" => [ 8416.9243 , 0.0620 ,"D"], -"Ag117" => [ 8459.4515 , 0.1160 ,"D"], -"Cd117" => [ 8488.9740 , 0.0087 ,"D"], -"In117" => [ 8503.8653 , 0.0417 ,"D"], -"Sn117" => [ 8509.6120 , 0.0041 ,"D"], -"Sb117" => [ 8487.8981 , 0.0721 ,"D"], -"Te117" => [ 8450.9203 , 0.1150 ,"D"], -"I117" => [ 8404.4307 , 0.2184 ,"D"], -"Xe117" => [ 8344.2976 , 0.0887 ,"D"], -"Cs117" => [ 8271.8652 , 0.5334 ,"D"], -"Ba117" => [ 8187.9546 , 2.1396 ,"D"], -"La117" => [ 8086 , 2 ,"E"], -"Mo118" => [ 8067 , 4 ,"E"], -"Tc118" => [ 8153 , 3 ,"E"], -"Ru118" => [ 8263 , 2 ,"E"], -"Rh118" => [ 8322.8539 , 0.2054 ,"D"], -"Pd118" => [ 8405.2197 , 0.0211 ,"D"], -"Ag118" => [ 8433.8900 , 0.0213 ,"D"], -"Cd118" => [ 8487.8350 , 0.1695 ,"D"], -"In118" => [ 8485.6670 , 0.0657 ,"D"], -"Sn118" => [ 8516.5341 , 0.0042 ,"D"], -"Sb118" => [ 8478.9156 , 0.0256 ,"D"], -"Te118" => [ 8469.6970 , 0.1551 ,"D"], -"I118" => [ 8406.1203 , 0.1675 ,"D"], -"Xe118" => [ 8374.9819 , 0.0880 ,"D"], -"Cs118" => [ 8286.4053 , 0.1081 ,"D"], -"Ba118" => [ 8227 , 2 ,"E"], -"La118" => [ 8114 , 3 ,"E"], -"Mo119" => [ 8019 , 3 ,"E"], -"Tc119" => [ 8126 , 4 ,"E"], -"Ru119" => [ 8220 , 3 ,"E"], -"Rh119" => [ 8303.3953 , 0.0783 ,"D"], -"Pd119" => [ 8368.9594 , 0.0693 ,"D"], -"Ag119" => [ 8423.2126 , 0.1236 ,"D"], -"Cd119" => [ 8461.4381 , 0.3168 ,"D"], -"In119" => [ 8486.1387 , 0.0614 ,"D"], -"Sn119" => [ 8499.4494 , 0.0061 ,"D"], -"Sb119" => [ 8487.9218 , 0.0588 ,"D"], -"Te119" => [ 8462.0785 , 0.0612 ,"D"], -"I119" => [ 8426.8924 , 0.1824 ,"D"], -"Xe119" => [ 8378.4420 , 0.0872 ,"D"], -"Cs119" => [ 8317.3347 , 0.1171 ,"D"], -"Ba119" => [ 8245.9287 , 1.6829 ,"D"], -"La119" => [ 8159 , 3 ,"E"], -"Ce119" => [ 8058 , 4 ,"E"], -"Tc120" => [ 8083 , 4 ,"E"], -"Ru120" => [ 8199 , 3 ,"E"], -"Rh120" => [ 8266 , 2 ,"E"], -"Pd120" => [ 8357.0817 , 0.0191 ,"D"], -"Ag120" => [ 8395.3281 , 0.0373 ,"D"], -"Cd120" => [ 8458.0240 , 0.0311 ,"D"], -"In120" => [ 8466.2575 , 0.3334 ,"D"], -"Sn120" => [ 8504.4880 , 0.0077 ,"D"], -"Sb120" => [ 8475.6300 , 0.0600 ,"D"], -"Te120" => [ 8476.9857 , 0.0146 ,"D"], -"I120" => [ 8423.6745 , 0.1258 ,"D"], -"Xe120" => [ 8404.0322 , 0.0985 ,"D"], -"Cs120" => [ 8328.4811 , 0.0831 ,"D"], -"Ba120" => [ 8280.2949 , 2.5014 ,"D"], -"La120" => [ 8179 , 2 ,"E"], -"Ce120" => [ 8108 , 4 ,"E"], -"Tc121" => [ 8054 , 4 ,"E"], -"Ru121" => [ 8156 , 3 ,"E"], -"Rh121" => [ 8245.2397 , 5.1194 ,"D"], -"Pd121" => [ 8320.8584 , 0.0277 ,"D"], -"Ag121" => [ 8382.3306 , 0.1001 ,"D"], -"Cd121" => [ 8430.9972 , 0.0161 ,"D"], -"In121" => [ 8463.8767 , 0.2266 ,"D"], -"Sn121" => [ 8485.1964 , 0.0081 ,"D"], -"Sb121" => [ 8482.0574 , 0.0207 ,"D"], -"Te121" => [ 8466.8641 , 0.2135 ,"D"], -"I121" => [ 8441.4111 , 0.0390 ,"D"], -"Xe121" => [ 8403.8326 , 0.0847 ,"D"], -"Cs121" => [ 8352.9152 , 0.1181 ,"D"], -"Ba121" => [ 8293.9083 , 1.1727 ,"D"], -"La121" => [ 8217 , 2 ,"E"], -"Ce121" => [ 8132 , 3 ,"E"], -"Pr121" => [ 8033 , 4 ,"E"], -"Tc122" => [ 8011 , 2 ,"E"], -"Ru122" => [ 8132 , 4 ,"E"], -"Rh122" => [ 8208 , 2 ,"E"], -"Pd122" => [ 8305.9755 , 0.1603 ,"D"], -"Ag122" => [ 8352.7591 , 0.3130 ,"D"], -"Cd122" => [ 8424.2667 , 0.0188 ,"D"], -"In122" => [ 8442.1079 , 0.4103 ,"D"], -"Sn122" => [ 8487.8968 , 0.0201 ,"D"], -"Sb122" => [ 8468.3222 , 0.0205 ,"D"], -"Te122" => [ 8478.1315 , 0.0111 ,"D"], -"I122" => [ 8437.0139 , 0.0425 ,"D"], -"Xe122" => [ 8424.6644 , 0.0911 ,"D"], -"Cs122" => [ 8359.1515 , 0.2761 ,"D"], -"Ba122" => [ 8323.7567 , 0.2291 ,"D"], -"La122" => [ 8235 , 2 ,"E"], -"Ce122" => [ 8174 , 3 ,"E"], -"Pr122" => [ 8060 , 4 ,"E"], -"Ru123" => [ 8089 , 4 ,"E"], -"Rh123" => [ 8185 , 3 ,"E"], -"Pd123" => [ 8270.0318 , 6.4182 ,"D"], -"Ag123" => [ 8337.9707 , 0.2651 ,"D"], -"Cd123" => [ 8395.3955 , 0.0219 ,"D"], -"In123" => [ 8437.9362 , 0.1612 ,"D"], -"Sn123" => [ 8467.2313 , 0.0202 ,"D"], -"Sb123" => [ 8472.3196 , 0.0110 ,"D"], -"Te123" => [ 8465.5370 , 0.0110 ,"D"], -"I123" => [ 8449.1896 , 0.0300 ,"D"], -"Xe123" => [ 8420.9239 , 0.0775 ,"D"], -"Cs123" => [ 8380.3796 , 0.0985 ,"D"], -"Ba123" => [ 8330.2086 , 0.0985 ,"D"], -"La123" => [ 8267 , 2 ,"E"], -"Ce123" => [ 8193 , 2 ,"E"], -"Pr123" => [ 8104 , 3 ,"E"], -"Ru124" => [ 8065 , 5 ,"E"], -"Rh124" => [ 8148 , 3 ,"E"], -"Pd124" => [ 8252 , 2 ,"E"], -"Ag124" => [ 8308.8958 , 2.0283 ,"D"], -"Cd124" => [ 8387.0179 , 0.0210 ,"D"], -"In124" => [ 8414.3243 , 0.2465 ,"D"], -"Sn124" => [ 8467.3997 , 0.0106 ,"D"], -"Sb124" => [ 8456.1517 , 0.0110 ,"D"], -"Te124" => [ 8473.2705 , 0.0109 ,"D"], -"I124" => [ 8441.4807 , 0.0185 ,"D"], -"Xe124" => [ 8437.6138 , 0.0110 ,"D"], -"Cs124" => [ 8383.5114 , 0.0738 ,"D"], -"Ba124" => [ 8355.8209 , 0.1008 ,"D"], -"La124" => [ 8278.2926 , 0.4570 ,"D"], -"Ce124" => [ 8229 , 2 ,"E"], -"Pr124" => [ 8128 , 3 ,"E"], -"Nd124" => [ 8054 , 4 ,"E"], -"Ru125" => [ 8023 , 2 ,"E"], -"Rh125" => [ 8124 , 4 ,"E"], -"Pd125" => [ 8215 , 3 ,"E"], -"Ag125" => [ 8293.3151 , 3.4652 ,"D"], -"Cd125" => [ 8357.6815 , 0.0231 ,"D"], -"In125" => [ 8407.9365 , 0.0142 ,"D"], -"Sn125" => [ 8445.5285 , 0.0106 ,"D"], -"Sb125" => [ 8458.1612 , 0.0201 ,"D"], -"Te125" => [ 8458.0361 , 0.0108 ,"D"], -"I125" => [ 8450.2911 , 0.0108 ,"D"], -"Xe125" => [ 8430.9390 , 0.0113 ,"D"], -"Cs125" => [ 8399.8033 , 0.0619 ,"D"], -"Ba125" => [ 8358.1784 , 0.0879 ,"D"], -"La125" => [ 8304.6438 , 0.2080 ,"D"], -"Ce125" => [ 8242 , 2 ,"E"], -"Pr125" => [ 8167 , 2 ,"E"], -"Nd125" => [ 8080 , 3 ,"E"], -"Rh126" => [ 8087 , 4 ,"E"], -"Pd126" => [ 8197 , 3 ,"E"], -"Ag126" => [ 8261 , 2 ,"E"], -"Cd126" => [ 8346.7393 , 0.0183 ,"D"], -"In126" => [ 8384.6067 , 0.0333 ,"D"], -"Sn126" => [ 8443.5227 , 0.0848 ,"D"], -"Sb126" => [ 8440.3136 , 0.2528 ,"D"], -"Te126" => [ 8463.2397 , 0.0107 ,"D"], -"I126" => [ 8439.9379 , 0.0300 ,"D"], -"Xe126" => [ 8443.5375 , 0.0003 ,"D"], -"Cs126" => [ 8399.2673 , 0.0822 ,"D"], -"Ba126" => [ 8379.7187 , 0.0992 ,"D"], -"La126" => [ 8312.4268 , 0.7183 ,"D"], -"Ce126" => [ 8273.2581 , 0.2218 ,"D"], -"Pr126" => [ 8184 , 2 ,"E"], -"Nd126" => [ 8122 , 2 ,"E"], -"Pm126" => [ 8008 , 4 ,"E"], -"Rh127" => [ 8060 , 5 ,"E"], -"Pd127" => [ 8160 , 4 ,"E"], -"Ag127" => [ 8244 , 2 ,"E"], -"Cd127" => [ 8316.8971 , 0.0488 ,"D"], -"In127" => [ 8374.8212 , 0.0788 ,"D"], -"Sn127" => [ 8420.5482 , 0.0726 ,"D"], -"Sb127" => [ 8439.8110 , 0.0400 ,"D"], -"Te127" => [ 8446.1090 , 0.0108 ,"D"], -"I127" => [ 8445.4820 , 0.0285 ,"D"], -"Xe127" => [ 8434.1066 , 0.0322 ,"D"], -"Cs127" => [ 8411.5617 , 0.0439 ,"D"], -"Ba127" => [ 8378.4560 , 0.0894 ,"D"], -"La127" => [ 8333.5412 , 0.2047 ,"D"], -"Ce127" => [ 8280.7922 , 0.2274 ,"D"], -"Pr127" => [ 8216 , 2 ,"E"], -"Nd127" => [ 8142 , 2 ,"E"], -"Pm127" => [ 8052 , 3 ,"E"], -"Rh128" => [ 8010 , 2 ,"E"], -"Pd128" => [ 8137 , 4 ,"E"], -"Ag128" => [ 8211 , 2 ,"E"], -"Cd128" => [ 8303.2367 , 0.0503 ,"D"], -"In128" => [ 8351.4361 , 0.0103 ,"D"], -"Sn128" => [ 8416.9749 , 0.1381 ,"D"], -"Sb128" => [ 8420.7724 , 0.1468 ,"D"], -"Te128" => [ 8448.7536 , 0.0055 ,"D"], -"I128" => [ 8432.8309 , 0.0283 ,"D"], -"Xe128" => [ 8443.3008 , 0.0003 ,"D"], -"Cs128" => [ 8406.4953 , 0.0420 ,"D"], -"Ba128" => [ 8395.9878 , 0.0126 ,"D"], -"La128" => [ 8337.1904 , 0.4254 ,"D"], -"Ce128" => [ 8306.9259 , 0.2183 ,"D"], -"Pr128" => [ 8228.9141 , 0.2329 ,"D"], -"Nd128" => [ 8177 , 2 ,"E"], -"Pm128" => [ 8075 , 2 ,"E"], -"Sm128" => [ 7998 , 4 ,"E"], -"Pd129" => [ 8086 , 5 ,"E"], -"Ag129" => [ 8188 , 3 ,"E"], -"Cd129" => [ 8269.5311 , 0.0412 ,"D"], -"In129" => [ 8338.7590 , 0.0153 ,"D"], -"Sn129" => [ 8392.8161 , 0.1339 ,"D"], -"Sb129" => [ 8418.0598 , 0.1645 ,"D"], -"Te129" => [ 8430.4098 , 0.0055 ,"D"], -"I129" => [ 8435.9908 , 0.0244 ,"D"], -"Xe129" => [ 8431.3904 , 0.0003 ,"D"], -"Cs129" => [ 8416.0465 , 0.0353 ,"D"], -"Ba129" => [ 8391.0811 , 0.0814 ,"D"], -"La129" => [ 8356.0449 , 0.1655 ,"D"], -"Ce129" => [ 8310.9411 , 0.2166 ,"D"], -"Pr129" => [ 8254.3808 , 0.2311 ,"D"], -"Nd129" => [ 8191 , 2 ,"E"], -"Pm129" => [ 8114 , 2 ,"E"], -"Sm129" => [ 8023 , 4 ,"E"], -"Pd130" => [ 8046 , 2 ,"E"], -"Ag130" => [ 8142 , 3 ,"E"], -"Cd130" => [ 8252.5868 , 0.1720 ,"D"], -"In130" => [ 8314.1760 , 0.0138 ,"D"], -"Sn130" => [ 8386.8170 , 0.0144 ,"D"], -"Sb130" => [ 8397.3641 , 0.1093 ,"D"], -"Te130" => [ 8430.3251 , 0.0003 ,"D"], -"I130" => [ 8421.1011 , 0.0243 ,"D"], -"Xe130" => [ 8437.7314 , 0.0003 ,"D"], -"Cs130" => [ 8408.7848 , 0.0643 ,"D"], -"Ba130" => [ 8405.5130 , 0.0022 ,"D"], -"La130" => [ 8356.1919 , 0.1996 ,"D"], -"Ce130" => [ 8333.2164 , 0.2150 ,"D"], -"Pr130" => [ 8263.7565 , 0.4944 ,"D"], -"Nd130" => [ 8222.5136 , 0.2150 ,"D"], -"Pm130" => [ 8131 , 2 ,"E"], -"Sm130" => [ 8065 , 3 ,"E"], -"Eu130" => [ 7950 , 4 ,"E"], -"Pd131" => [ 7993 , 2 ,"E"], -"Ag131" => [ 8102 , 4 ,"E"], -"Cd131" => [ 8206.1204 , 0.1469 ,"D"], -"In131" => [ 8297.9544 , 0.0168 ,"D"], -"Sn131" => [ 8362.5183 , 0.0276 ,"D"], -"Sb131" => [ 8392.5525 , 0.0159 ,"D"], -"Te131" => [ 8411.2339 , 0.0005 ,"D"], -"I131" => [ 8422.2977 , 0.0046 ,"D"], -"Xe131" => [ 8423.7367 , 0.0003 ,"D"], -"Cs131" => [ 8415.0317 , 0.0014 ,"D"], -"Ba131" => [ 8398.5511 , 0.0032 ,"D"], -"La131" => [ 8370.3676 , 0.2133 ,"D"], -"Ce131" => [ 8333.3969 , 0.2504 ,"D"], -"Pr131" => [ 8286.1439 , 0.3587 ,"D"], -"Nd131" => [ 8230.3045 , 0.2101 ,"D"], -"Pm131" => [ 8163 , 2 ,"E"], -"Sm131" => [ 8085 , 3 ,"E"], -"Eu131" => [ 7996 , 3 ,"E"], -"Ag132" => [ 8053 , 4 ,"E"], -"Cd132" => [ 8169.1421 , 0.4551 ,"D"], -"In132" => [ 8253.7162 , 0.4548 ,"D"], -"Sn132" => [ 8354.8726 , 0.0150 ,"D"], -"Sb132" => [ 8372.3452 , 0.0187 ,"D"], -"Te132" => [ 8408.4859 , 0.0264 ,"D"], -"I132" => [ 8406.4628 , 0.0308 ,"D"], -"Xe132" => [ 8427.6229 , 0.0003 ,"D"], -"Cs132" => [ 8405.5878 , 0.0079 ,"D"], -"Ba132" => [ 8409.3747 , 0.0080 ,"D"], -"La132" => [ 8367.7559 , 0.2754 ,"D"], -"Ce132" => [ 8352.3223 , 0.1546 ,"D"], -"Pr132" => [ 8291.5377 , 0.2188 ,"D"], -"Nd132" => [ 8256.8104 , 0.1834 ,"D"], -"Pm132" => [ 8177 , 1 ,"E"], -"Sm132" => [ 8122 , 2 ,"E"], -"Eu132" => [ 8018 , 3 ,"E"], -"Ag133" => [ 8013 , 4 ,"E"], -"Cd133" => [ 8121 , 2 ,"E"], -"In133" => [ 8217 , 2 ,"E"], -"Sn133" => [ 8310.0890 , 0.0143 ,"D"], -"Sb133" => [ 8364.7302 , 0.0235 ,"D"], -"Te133" => [ 8389.0255 , 0.0155 ,"D"], -"I133" => [ 8405.0993 , 0.0444 ,"D"], -"Xe133" => [ 8412.6477 , 0.0180 ,"D"], -"Cs133" => [ 8409.9786 , 0.0003 ,"D"], -"Ba133" => [ 8400.2059 , 0.0075 ,"D"], -"La133" => [ 8378.8415 , 0.2101 ,"D"], -"Ce133" => [ 8349.8301 , 0.1230 ,"D"], -"Pr133" => [ 8310.2588 , 0.0940 ,"D"], -"Nd133" => [ 8262.2320 , 0.3502 ,"D"], -"Pm133" => [ 8204.2841 , 0.3782 ,"D"], -"Sm133" => [ 8137 , 2 ,"E"], -"Eu133" => [ 8056 , 2 ,"E"], -"Gd133" => [ 7966 , 4 ,"E"], -"Cd134" => [ 8086 , 2 ,"E"], -"In134" => [ 8173 , 1 ,"E"], -"Sn134" => [ 8275.1719 , 0.0236 ,"D"], -"Sb134" => [ 8325.9398 , 0.0229 ,"D"], -"Te134" => [ 8383.6442 , 0.0205 ,"D"], -"I134" => [ 8389.0722 , 0.0362 ,"D"], -"Xe134" => [ 8413.6994 , 0.0003 ,"D"], -"Cs134" => [ 8398.6470 , 0.0003 ,"D"], -"Ba134" => [ 8408.1731 , 0.0019 ,"D"], -"La134" => [ 8374.4888 , 0.1487 ,"D"], -"Ce134" => [ 8365.7716 , 0.1521 ,"D"], -"Pr134" => [ 8312.8817 , 0.1516 ,"D"], -"Nd134" => [ 8285.5391 , 0.0882 ,"D"], -"Pm134" => [ 8213.4131 , 0.3128 ,"D"], -"Sm134" => [ 8167 , 1 ,"E"], -"Eu134" => [ 8075 , 2 ,"E"], -"Gd134" => [ 8008 , 3 ,"E"], -"Cd135" => [ 8036 , 3 ,"E"], -"In135" => [ 8136 , 2 ,"E"], -"Sn135" => [ 8230.6877 , 0.0228 ,"D"], -"Sb135" => [ 8291.9894 , 0.0196 ,"D"], -"Te135" => [ 8345.7384 , 0.0128 ,"D"], -"I135" => [ 8384.7609 , 0.0153 ,"D"], -"Xe135" => [ 8398.4783 , 0.0272 ,"D"], -"Cs135" => [ 8401.3393 , 0.0027 ,"D"], -"Ba135" => [ 8397.5345 , 0.0018 ,"D"], -"La135" => [ 8382.7972 , 0.0699 ,"D"], -"Ce135" => [ 8361.9861 , 0.0760 ,"D"], -"Pr135" => [ 8328.9284 , 0.0875 ,"D"], -"Nd135" => [ 8288.1536 , 0.1417 ,"D"], -"Pm135" => [ 8236.7933 , 0.6141 ,"D"], -"Sm135" => [ 8177.6270 , 1.1454 ,"D"], -"Eu135" => [ 8107 , 1 ,"E"], -"Gd135" => [ 8028 , 3 ,"E"], -"Tb135" => [ 7939 , 3 ,"E"], -"In136" => [ 8091 , 2 ,"E"], -"Sn136" => [ 8197 , 1 ,"E"], -"Sb136" => [ 8252.2533 , 0.0429 ,"D"], -"Te136" => [ 8319.4301 , 0.0168 ,"D"], -"I136" => [ 8351.3242 , 0.1043 ,"D"], -"Xe136" => [ 8396.1889 , 0.0003 ,"D"], -"Cs136" => [ 8389.7723 , 0.0138 ,"D"], -"Ba136" => [ 8402.7566 , 0.0018 ,"D"], -"La136" => [ 8376.0512 , 0.3910 ,"D"], -"Ce136" => [ 8373.7624 , 0.0024 ,"D"], -"Pr136" => [ 8330.0089 , 0.0842 ,"D"], -"Nd136" => [ 8308.5127 , 0.0869 ,"D"], -"Pm136" => [ 8243.7207 , 0.5079 ,"D"], -"Sm136" => [ 8205.9165 , 0.0919 ,"D"], -"Eu136" => [ 8122 , 1 ,"E"], -"Gd136" => [ 8064 , 2 ,"E"], -"Tb136" => [ 7961 , 4 ,"E"], -"In137" => [ 8053 , 3 ,"E"], -"Sn137" => [ 8152 , 2 ,"E"], -"Sb137" => [ 8218.4764 , 0.3808 ,"D"], -"Te137" => [ 8280.2357 , 0.0153 ,"D"], -"I137" => [ 8326.0033 , 0.0612 ,"D"], -"Xe137" => [ 8364.2865 , 0.0008 ,"D"], -"Cs137" => [ 8388.9581 , 0.0022 ,"D"], -"Ba137" => [ 8391.8288 , 0.0018 ,"D"], -"La137" => [ 8381.8807 , 0.0120 ,"D"], -"Ce137" => [ 8367.2497 , 0.0026 ,"D"], -"Pr137" => [ 8341.7074 , 0.0594 ,"D"], -"Nd137" => [ 8309.5892 , 0.0856 ,"D"], -"Pm137" => [ 8263.6516 , 0.0952 ,"D"], -"Sm137" => [ 8213.5527 , 0.2089 ,"D"], -"Eu137" => [ 8150.5738 , 0.0320 ,"D"], -"Gd137" => [ 8080 , 2 ,"E"], -"Tb137" => [ 7999 , 3 ,"E"], -"Sn138" => [ 8118 , 3 ,"E"], -"Sb138" => [ 8178 , 2 ,"E"], -"Te138" => [ 8252.5786 , 0.0274 ,"D"], -"I138" => [ 8292.4450 , 0.0432 ,"D"], -"Xe138" => [ 8344.6913 , 0.0203 ,"D"], -"Cs138" => [ 8360.1437 , 0.0664 ,"D"], -"Ba138" => [ 8393.4222 , 0.0018 ,"D"], -"La138" => [ 8375.0835 , 0.0030 ,"D"], -"Ce138" => [ 8377.0408 , 0.0036 ,"D"], -"Pr138" => [ 8339.2195 , 0.0726 ,"D"], -"Nd138" => [ 8325.4946 , 0.0841 ,"D"], -"Pm138" => [ 8268.3558 , 0.0841 ,"D"], -"Sm138" => [ 8237.9286 , 0.0856 ,"D"], -"Eu138" => [ 8161.6211 , 0.2025 ,"D"], -"Gd138" => [ 8112 , 1 ,"E"], -"Tb138" => [ 8019 , 2 ,"E"], -"Dy138" => [ 7950 , 4 ,"E"], -"Sn139" => [ 8073 , 3 ,"E"], -"Sb139" => [ 8144 , 3 ,"E"], -"Te139" => [ 8211.7716 , 0.0255 ,"D"], -"I139" => [ 8265.6100 , 0.0288 ,"D"], -"Xe139" => [ 8311.5904 , 0.0154 ,"D"], -"Cs139" => [ 8342.3397 , 0.0225 ,"D"], -"Ba139" => [ 8367.0194 , 0.0018 ,"D"], -"La139" => [ 8377.9987 , 0.0044 ,"D"], -"Ce139" => [ 8370.4664 , 0.0150 ,"D"], -"Pr139" => [ 8349.5208 , 0.0263 ,"D"], -"Nd139" => [ 8323.6642 , 0.1980 ,"D"], -"Pm139" => [ 8285.5473 , 0.0978 ,"D"], -"Sm139" => [ 8243.0786 , 0.0783 ,"D"], -"Eu139" => [ 8187.2187 , 0.0946 ,"D"], -"Gd139" => [ 8126 , 1 ,"E"], -"Tb139" => [ 8052 , 2 ,"E"], -"Dy139" => [ 7971 , 4 ,"E"], -"Sn140" => [ 8038 , 2 ,"E"], -"Sb140" => [ 8103 , 4 ,"E"], -"Te140" => [ 8183.3567 , 0.1027 ,"D"], -"I140" => [ 8229.4740 , 0.0865 ,"D"], -"Xe140" => [ 8290.8875 , 0.0166 ,"D"], -"Cs140" => [ 8314.3227 , 0.0586 ,"D"], -"Ba140" => [ 8353.1500 , 0.0564 ,"D"], -"La140" => [ 8355.0201 , 0.0043 ,"D"], -"Ce140" => [ 8376.3045 , 0.0094 ,"D"], -"Pr140" => [ 8346.5163 , 0.0439 ,"D"], -"Nd140" => [ 8337.8640 , 0.0233 ,"D"], -"Pm140" => [ 8289.0958 , 0.1730 ,"D"], -"Sm140" => [ 8263.8211 , 0.0893 ,"D"], -"Eu140" => [ 8197.7330 , 0.3681 ,"D"], -"Gd140" => [ 8154.9757 , 0.1996 ,"D"], -"Tb140" => [ 8068.6732 , 5.7178 ,"D"], -"Dy140" => [ 8008 , 3 ,"E"], -"Ho140" => [ 7906 , 4 ,"E"], -"Sb141" => [ 8069 , 4 ,"E"], -"Te141" => [ 8142 , 3 ,"E"], -"I141" => [ 8202.2562 , 0.1123 ,"D"], -"Xe141" => [ 8255.3647 , 0.0205 ,"D"], -"Cs141" => [ 8294.3554 , 0.0652 ,"D"], -"Ba141" => [ 8326.0774 , 0.0377 ,"D"], -"La141" => [ 8343.2050 , 0.0293 ,"D"], -"Ce141" => [ 8355.3956 , 0.0093 ,"D"], -"Pr141" => [ 8353.9852 , 0.0106 ,"D"], -"Nd141" => [ 8335.5074 , 0.0226 ,"D"], -"Pm141" => [ 8303.9405 , 0.0991 ,"D"], -"Sm141" => [ 8265.8460 , 0.0605 ,"D"], -"Eu141" => [ 8217.6853 , 0.0896 ,"D"], -"Gd141" => [ 8164.6090 , 0.1401 ,"D"], -"Tb141" => [ 8097.4761 , 0.7465 ,"D"], -"Dy141" => [ 8027 , 2 ,"E"], -"Ho141" => [ 7943 , 3 ,"E"], -"Sb142" => [ 8027 , 2 ,"E"], -"Te142" => [ 8113 , 4 ,"E"], -"I142" => [ 8165.2517 , 0.0348 ,"D"], -"Xe142" => [ 8233.1695 , 0.0190 ,"D"], -"Cs142" => [ 8264.8777 , 0.0498 ,"D"], -"Ba142" => [ 8310.9718 , 0.0417 ,"D"], -"La142" => [ 8320.8263 , 0.0443 ,"D"], -"Ce142" => [ 8347.0700 , 0.0172 ,"D"], -"Pr142" => [ 8336.3032 , 0.0106 ,"D"], -"Nd142" => [ 8346.0310 , 0.0088 ,"D"], -"Pm142" => [ 8306.6587 , 0.1662 ,"D"], -"Sm142" => [ 8285.9407 , 0.0131 ,"D"], -"Eu142" => [ 8226.3960 , 0.2117 ,"D"], -"Gd142" => [ 8190.2569 , 0.1968 ,"D"], -"Tb142" => [ 8111.5080 , 4.9335 ,"D"], -"Dy142" => [ 8061 , 5 ,"E"], -"Ho142" => [ 7965 , 3 ,"E"], -"Er142" => [ 7893 , 4 ,"E"], -"Te143" => [ 8070 , 3 ,"E"], -"I143" => [ 8137 , 1 ,"E"], -"Xe143" => [ 8196.8855 , 0.0326 ,"D"], -"Cs143" => [ 8243.6707 , 0.0530 ,"D"], -"Ba143" => [ 8281.9878 , 0.0472 ,"D"], -"La143" => [ 8306.1271 , 0.0513 ,"D"], -"Ce143" => [ 8324.6765 , 0.0171 ,"D"], -"Pr143" => [ 8329.4280 , 0.0127 ,"D"], -"Nd143" => [ 8330.4893 , 0.0088 ,"D"], -"Pm143" => [ 8317.7341 , 0.0206 ,"D"], -"Sm143" => [ 8288.1825 , 0.0192 ,"D"], -"Eu143" => [ 8245.8177 , 0.0768 ,"D"], -"Gd143" => [ 8198.3188 , 1.4007 ,"D"], -"Tb143" => [ 8138.2176 , 0.3583 ,"D"], -"Dy143" => [ 8075.0527 , 0.0912 ,"D"], -"Ho143" => [ 7999 , 2 ,"E"], -"Er143" => [ 7917 , 3 ,"E"], -"Te144" => [ 8040 , 2 ,"E"], -"I144" => [ 8098 , 3 ,"E"], -"Xe144" => [ 8172.8845 , 0.0369 ,"D"], -"Cs144" => [ 8211.8894 , 0.1398 ,"D"], -"Ba144" => [ 8265.4549 , 0.0496 ,"D"], -"La144" => [ 8281.4283 , 0.0898 ,"D"], -"Ce144" => [ 8314.7612 , 0.0197 ,"D"], -"Pr144" => [ 8311.5411 , 0.0188 ,"D"], -"Nd144" => [ 8326.9237 , 0.0087 ,"D"], -"Pm144" => [ 8305.2969 , 0.0202 ,"D"], -"Sm144" => [ 8303.6800 , 0.0101 ,"D"], -"Eu144" => [ 8254.1744 , 0.0749 ,"D"], -"Gd144" => [ 8221.9382 , 0.1941 ,"D"], -"Tb144" => [ 8151.2877 , 0.1941 ,"D"], -"Dy144" => [ 8105.5902 , 0.0498 ,"D"], -"Ho144" => [ 8017.0977 , 0.0589 ,"D"], -"Er144" => [ 7956 , 1 ,"E"], -"Tm144" => [ 7850 , 3 ,"E"], -"Te145" => [ 7998 , 2 ,"E"], -"I145" => [ 8069 , 3 ,"E"], -"Xe145" => [ 8135.0877 , 0.0771 ,"D"], -"Cs145" => [ 8188.7342 , 0.0625 ,"D"], -"Ba145" => [ 8234.7991 , 0.0585 ,"D"], -"La145" => [ 8266.0873 , 0.0846 ,"D"], -"Ce145" => [ 8289.8762 , 0.2338 ,"D"], -"Pr145" => [ 8302.1285 , 0.0493 ,"D"], -"Nd145" => [ 8309.1883 , 0.0088 ,"D"], -"Pm145" => [ 8302.6583 , 0.0193 ,"D"], -"Sm145" => [ 8293.0139 , 0.0102 ,"D"], -"Eu145" => [ 8269.2744 , 0.0211 ,"D"], -"Gd145" => [ 8228.9485 , 0.1360 ,"D"], -"Tb145" => [ 8178.5397 , 0.7648 ,"D"], -"Dy145" => [ 8116.8884 , 0.0450 ,"D"], -"Ho145" => [ 8048.5792 , 0.0514 ,"D"], -"Er145" => [ 7975 , 1 ,"E"], -"Tm145" => [ 7889 , 1 ,"E"], -"I146" => [ 8031 , 2 ,"E"], -"Xe146" => [ 8110.4154 , 0.1659 ,"D"], -"Cs146" => [ 8155.4365 , 0.0198 ,"D"], -"Ba146" => [ 8215.5293 , 0.0121 ,"D"], -"La146" => [ 8239.9988 , 0.0115 ,"D"], -"Ce146" => [ 8278.5081 , 0.1004 ,"D"], -"Pr146" => [ 8280.3250 , 0.2353 ,"D"], -"Nd146" => [ 8304.0927 , 0.0087 ,"D"], -"Pm146" => [ 8288.6550 , 0.0293 ,"D"], -"Sm146" => [ 8293.8581 , 0.0209 ,"D"], -"Eu146" => [ 8261.9327 , 0.0412 ,"D"], -"Gd146" => [ 8249.5072 , 0.0279 ,"D"], -"Tb146" => [ 8187.1474 , 0.3073 ,"D"], -"Dy146" => [ 8146.1128 , 0.0459 ,"D"], -"Ho146" => [ 8063.2426 , 0.0451 ,"D"], -"Er146" => [ 8010.5127 , 0.0459 ,"D"], -"Tm146" => [ 7914 , 1 ,"E"], -"I147" => [ 8001 , 2 ,"E"], -"Xe147" => [ 8072 , 1 ,"E"], -"Cs147" => [ 8131.8010 , 0.0570 ,"D"], -"Ba147" => [ 8183.2405 , 0.1343 ,"D"], -"La147" => [ 8221.5536 , 0.0729 ,"D"], -"Ce147" => [ 8252.5274 , 0.0584 ,"D"], -"Pr147" => [ 8270.5400 , 0.1079 ,"D"], -"Nd147" => [ 8283.6036 , 0.0087 ,"D"], -"Pm147" => [ 8284.3712 , 0.0088 ,"D"], -"Sm147" => [ 8280.5734 , 0.0086 ,"D"], -"Eu147" => [ 8263.5409 , 0.0175 ,"D"], -"Gd147" => [ 8243.3366 , 0.0128 ,"D"], -"Tb147" => [ 8206.6250 , 0.0551 ,"D"], -"Dy147" => [ 8156.7680 , 0.0602 ,"D"], -"Ho147" => [ 8094.0381 , 0.0340 ,"D"], -"Er147" => [ 8026.4760 , 0.2598 ,"D"], -"Tm147" => [ 7948.8178 , 0.0465 ,"D"], -"Xe148" => [ 8047 , 2 ,"E"], -"Cs148" => [ 8097.5469 , 0.0881 ,"D"], -"Ba148" => [ 8164.1118 , 0.0101 ,"D"], -"La148" => [ 8193.7165 , 0.1315 ,"D"], -"Ce148" => [ 8240.3876 , 0.0756 ,"D"], -"Pr148" => [ 8249.5409 , 0.1016 ,"D"], -"Nd148" => [ 8277.1778 , 0.0139 ,"D"], -"Pm148" => [ 8268.2283 , 0.0384 ,"D"], -"Sm148" => [ 8279.6326 , 0.0084 ,"D"], -"Eu148" => [ 8253.8155 , 0.0673 ,"D"], -"Gd148" => [ 8248.3398 , 0.0099 ,"D"], -"Tb148" => [ 8204.3207 , 0.0842 ,"D"], -"Dy148" => [ 8180.9430 , 0.0589 ,"D"], -"Ho148" => [ 8108.9797 , 0.5664 ,"D"], -"Er148" => [ 8059.6924 , 0.0692 ,"D"], -"Tm148" => [ 7968.5011 , 0.0692 ,"D"], -"Yb148" => [ 7906 , 3 ,"E"], -"Xe149" => [ 8009 , 2 ,"E"], -"Cs149" => [ 8073 , 3 ,"E"], -"Ba149" => [ 8131.8495 , 0.0169 ,"D"], -"La149" => [ 8176.1915 , 1.3440 ,"D"], -"Ce149" => [ 8214.2294 , 0.0688 ,"D"], -"Pr149" => [ 8238.3040 , 0.0663 ,"D"], -"Nd149" => [ 8255.4437 , 0.0138 ,"D"], -"Pm149" => [ 8261.5277 , 0.0147 ,"D"], -"Sm149" => [ 8263.4683 , 0.0078 ,"D"], -"Eu149" => [ 8253.5560 , 0.0262 ,"D"], -"Gd149" => [ 8239.4856 , 0.0222 ,"D"], -"Tb149" => [ 8209.8153 , 0.0244 ,"D"], -"Dy149" => [ 8179.0972 , 0.0616 ,"D"], -"Ho149" => [ 8133.2550 , 0.0804 ,"D"], -"Er149" => [ 8074.9558 , 0.1875 ,"D"], -"Tm149" => [ 8004 , 1 ,"E"], -"Yb149" => [ 7927 , 2 ,"E"], -"Xe150" => [ 7983 , 2 ,"E"], -"Cs150" => [ 8039 , 3 ,"E"], -"Ba150" => [ 8111.8405 , 0.0379 ,"D"], -"La150" => [ 8149.4339 , 0.0168 ,"D"], -"Ce150" => [ 8201.1230 , 0.0780 ,"D"], -"Pr150" => [ 8218.9316 , 0.0601 ,"D"], -"Nd150" => [ 8249.5789 , 0.0075 ,"D"], -"Pm150" => [ 8243.8125 , 0.1335 ,"D"], -"Sm150" => [ 8261.6235 , 0.0074 ,"D"], -"Eu150" => [ 8241.3481 , 0.0415 ,"D"], -"Gd150" => [ 8242.6103 , 0.0404 ,"D"], -"Tb150" => [ 8206.3396 , 0.0491 ,"D"], -"Dy150" => [ 8189.1495 , 0.0288 ,"D"], -"Ho150" => [ 8134.8423 , 0.0945 ,"D"], -"Er150" => [ 8102.1962 , 0.1146 ,"D"], -"Tm150" => [ 8021 , 1 ,"E"], -"Yb150" => [ 7965 , 2 ,"E"], -"Lu150" => [ 7866 , 2 ,"E"], -"Cs151" => [ 8013 , 3 ,"E"], -"Ba151" => [ 8079 , 3 ,"E"], -"La151" => [ 8129.0436 , 2.8839 ,"D"], -"Ce151" => [ 8176.2779 , 0.1172 ,"D"], -"Pr151" => [ 8207.8824 , 0.0772 ,"D"], -"Nd151" => [ 8230.2741 , 0.0075 ,"D"], -"Pm151" => [ 8241.2723 , 0.0305 ,"D"], -"Sm151" => [ 8243.9735 , 0.0074 ,"D"], -"Eu151" => [ 8239.2998 , 0.0077 ,"D"], -"Gd151" => [ 8231.0446 , 0.0198 ,"D"], -"Tb151" => [ 8208.8743 , 0.0271 ,"D"], -"Dy151" => [ 8184.6789 , 0.0215 ,"D"], -"Ho151" => [ 8145.5267 , 0.0550 ,"D"], -"Er151" => [ 8104.8723 , 0.1091 ,"D"], -"Tm151" => [ 8050.0576 , 0.1283 ,"D"], -"Yb151" => [ 7983.7556 , 1.9900 ,"D"], -"Lu151" => [ 7904 , 2 ,"E"], -"Cs152" => [ 7980 , 3 ,"E"], -"Ba152" => [ 8057 , 3 ,"E"], -"La152" => [ 8102 , 2 ,"E"], -"Ce152" => [ 8161 , 1 ,"E"], -"Pr152" => [ 8187.1049 , 0.1220 ,"D"], -"Nd152" => [ 8224.0078 , 0.1610 ,"D"], -"Pm152" => [ 8226.1293 , 0.1704 ,"D"], -"Sm152" => [ 8244.0645 , 0.0067 ,"D"], -"Eu152" => [ 8226.5854 , 0.0077 ,"D"], -"Gd152" => [ 8233.4042 , 0.0066 ,"D"], -"Tb152" => [ 8202.0072 , 0.2632 ,"D"], -"Dy152" => [ 8192.9171 , 0.0302 ,"D"], -"Ho152" => [ 8144.9193 , 0.0824 ,"D"], -"Er152" => [ 8119.3485 , 0.0581 ,"D"], -"Tm152" => [ 8056.4387 , 0.3554 ,"D"], -"Yb152" => [ 8015.4371 , 0.9849 ,"D"], -"Lu152" => [ 7926 , 1 ,"E"], -"Ba153" => [ 8023 , 3 ,"E"], -"La153" => [ 8081 , 2 ,"E"], -"Ce153" => [ 8134 , 1 ,"E"], -"Pr153" => [ 8172.0371 , 0.0777 ,"D"], -"Nd153" => [ 8204.5832 , 0.0180 ,"D"], -"Pm153" => [ 8221.1536 , 0.0592 ,"D"], -"Sm153" => [ 8228.5373 , 0.0067 ,"D"], -"Eu153" => [ 8228.7011 , 0.0077 ,"D"], -"Gd153" => [ 8220.4209 , 0.0066 ,"D"], -"Tb153" => [ 8205.0504 , 0.0258 ,"D"], -"Dy153" => [ 8185.7514 , 0.0262 ,"D"], -"Ho153" => [ 8153.6372 , 0.0331 ,"D"], -"Er153" => [ 8118.8154 , 0.0607 ,"D"], -"Tm153" => [ 8071.2571 , 0.0783 ,"D"], -"Yb153" => [ 8022 , 1 ,"E"], -"Lu153" => [ 7959.0882 , 0.9805 ,"D"], -"Hf153" => [ 7882 , 2 ,"E"], -"Ba154" => [ 8001 , 3 ,"E"], -"La154" => [ 8051 , 2 ,"E"], -"Ce154" => [ 8116 , 1 ,"E"], -"Pr154" => [ 8147.2994 , 0.6494 ,"D"], -"Nd154" => [ 8192.3491 , 0.0067 ,"D"], -"Pm154" => [ 8204.7170 , 0.1625 ,"D"], -"Sm154" => [ 8226.8379 , 0.0085 ,"D"], -"Eu154" => [ 8217.1006 , 0.0077 ,"D"], -"Gd154" => [ 8224.7996 , 0.0065 ,"D"], -"Tb154" => [ 8196.6697 , 0.2942 ,"D"], -"Dy154" => [ 8193.1305 , 0.0483 ,"D"], -"Ho154" => [ 8150.6825 , 0.0534 ,"D"], -"Er154" => [ 8132.3919 , 0.0322 ,"D"], -"Tm154" => [ 8074.2090 , 0.0936 ,"D"], -"Yb154" => [ 8039.9402 , 0.1122 ,"D"], -"Lu154" => [ 7968 , 1 ,"E"], -"Hf154" => [ 7918 , 2 ,"E"], -"La155" => [ 8028 , 3 ,"E"], -"Ce155" => [ 8087 , 2 ,"E"], -"Pr155" => [ 8131.0398 , 0.1110 ,"D"], -"Nd155" => [ 8170.3050 , 0.0591 ,"D"], -"Pm155" => [ 8195.2977 , 0.0304 ,"D"], -"Sm155" => [ 8211.2258 , 0.0086 ,"D"], -"Eu155" => [ 8216.6760 , 0.0081 ,"D"], -"Gd155" => [ 8213.2541 , 0.0063 ,"D"], -"Tb155" => [ 8202.9173 , 0.0634 ,"D"], -"Dy155" => [ 8184.3570 , 0.0622 ,"D"], -"Ho155" => [ 8159.2055 , 0.1127 ,"D"], -"Er155" => [ 8129.4444 , 0.0392 ,"D"], -"Tm155" => [ 8088.3760 , 0.0640 ,"D"], -"Yb155" => [ 8043.8234 , 0.1071 ,"D"], -"Lu155" => [ 7987.4369 , 0.1242 ,"D"], -"Hf155" => [ 7929 , 2 ,"E"], -"Ta155" => [ 7858 , 2 ,"E"], -"La156" => [ 7997 , 3 ,"E"], -"Ce156" => [ 8068 , 2 ,"E"], -"Pr156" => [ 8105.2337 , 0.0066 ,"D"], -"Nd156" => [ 8156.3265 , 0.0084 ,"D"], -"Pm156" => [ 8176.7263 , 0.0076 ,"D"], -"Sm156" => [ 8205.0054 , 0.0546 ,"D"], -"Eu156" => [ 8204.6192 , 0.0226 ,"D"], -"Gd156" => [ 8215.3253 , 0.0063 ,"D"], -"Tb156" => [ 8194.6415 , 0.0242 ,"D"], -"Dy156" => [ 8192.4366 , 0.0063 ,"D"], -"Ho156" => [ 8155.4280 , 0.2463 ,"D"], -"Er156" => [ 8141.9084 , 0.1579 ,"D"], -"Tm156" => [ 8089.6032 , 0.0915 ,"D"], -"Yb156" => [ 8061.7107 , 0.0597 ,"D"], -"Lu156" => [ 7995.3752 , 0.3469 ,"D"], -"Hf156" => [ 7952.6676 , 0.9599 ,"D"], -"Ta156" => [ 7872 , 2 ,"E"], -"La157" => [ 7972 , 2 ,"E"], -"Ce157" => [ 8037 , 3 ,"E"], -"Pr157" => [ 8085.8170 , 0.0202 ,"D"], -"Nd157" => [ 8132.1671 , 0.0136 ,"D"], -"Pm157" => [ 8164.1458 , 0.0446 ,"D"], -"Sm157" => [ 8187.0642 , 0.0282 ,"D"], -"Eu157" => [ 8199.7975 , 0.0270 ,"D"], -"Gd157" => [ 8203.5072 , 0.0062 ,"D"], -"Tb157" => [ 8198.1416 , 0.0065 ,"D"], -"Dy157" => [ 8184.6287 , 0.0328 ,"D"], -"Ho157" => [ 8163.1373 , 0.1495 ,"D"], -"Er157" => [ 8136.3757 , 0.1688 ,"D"], -"Tm157" => [ 8101.4285 , 0.1780 ,"D"], -"Yb157" => [ 8062.7551 , 0.0695 ,"D"], -"Lu157" => [ 8013.3128 , 0.0769 ,"D"], -"Hf157" => [ 7960 , 1 ,"E"], -"Ta157" => [ 7896.0608 , 0.9557 ,"D"], -"W157" => [ 7828 , 3 ,"E"], -"Ce158" => [ 8015 , 3 ,"E"], -"Pr158" => [ 8059 , 2 ,"E"], -"Nd158" => [ 8114.9529 , 0.0083 ,"D"], -"Pm158" => [ 8143.3622 , 0.0056 ,"D"], -"Sm158" => [ 8177.3075 , 0.0303 ,"D"], -"Eu158" => [ 8185.1320 , 0.0129 ,"D"], -"Gd158" => [ 8201.8229 , 0.0062 ,"D"], -"Tb158" => [ 8189.1556 , 0.0080 ,"D"], -"Dy158" => [ 8190.1298 , 0.0148 ,"D"], -"Ho158" => [ 8158.4709 , 0.1716 ,"D"], -"Er158" => [ 8147.9270 , 0.1596 ,"D"], -"Tm158" => [ 8101.1994 , 0.1596 ,"D"], -"Yb158" => [ 8079.1999 , 0.0505 ,"D"], -"Lu158" => [ 8018.5685 , 0.0957 ,"D"], -"Hf158" => [ 7981.2764 , 0.1107 ,"D"], -"Ta158" => [ 7907 , 1 ,"E"], -"W158" => [ 7855 , 2 ,"E"], -"Ce159" => [ 7983 , 3 ,"E"], -"Pr159" => [ 8037 , 3 ,"E"], -"Nd159" => [ 8088.8224 , 0.1875 ,"D"], -"Pm159" => [ 8126.8601 , 0.0631 ,"D"], -"Sm159" => [ 8157.4963 , 0.0373 ,"D"], -"Eu159" => [ 8176.6987 , 0.0272 ,"D"], -"Gd159" => [ 8187.6177 , 0.0062 ,"D"], -"Tb159" => [ 8188.8025 , 0.0069 ,"D"], -"Dy159" => [ 8181.5842 , 0.0091 ,"D"], -"Ho159" => [ 8165.1066 , 0.0192 ,"D"], -"Er159" => [ 8142.7742 , 0.0229 ,"D"], -"Tm159" => [ 8112.7549 , 0.1758 ,"D"], -"Yb159" => [ 8078.0428 , 0.1106 ,"D"], -"Lu159" => [ 8034.6009 , 0.2369 ,"D"], -"Hf159" => [ 7986.5610 , 0.1057 ,"D"], -"Ta159" => [ 7928.7258 , 0.1238 ,"D"], -"W159" => [ 7867 , 2 ,"E"], -"Re159" => [ 7795 , 2 ,"E"], -"Pr160" => [ 8009 , 2 ,"E"], -"Nd160" => [ 8069.9662 , 0.2911 ,"D"], -"Pm160" => [ 8103.6398 , 0.0128 ,"D"], -"Sm160" => [ 8144.6159 , 0.0122 ,"D"], -"Eu160" => [ 8160.1030 , 0.0057 ,"D"], -"Gd160" => [ 8183.0171 , 0.0070 ,"D"], -"Tb160" => [ 8177.4676 , 0.0069 ,"D"], -"Dy160" => [ 8184.0526 , 0.0044 ,"D"], -"Ho160" => [ 8158.6004 , 0.0939 ,"D"], -"Er160" => [ 8151.7217 , 0.1515 ,"D"], -"Tm160" => [ 8110.8124 , 0.2043 ,"D"], -"Yb160" => [ 8092.5614 , 0.0343 ,"D"], -"Lu160" => [ 8038.3387 , 0.3551 ,"D"], -"Hf160" => [ 8006.3791 , 0.0596 ,"D"], -"Ta160" => [ 7938.2704 , 0.3395 ,"D"], -"W160" => [ 7892.7893 , 0.9363 ,"D"], -"Re160" => [ 7810 , 2 ,"E"], -"Pr161" => [ 7986 , 3 ,"E"], -"Nd161" => [ 8042 , 2 ,"E"], -"Pm161" => [ 8085.9977 , 0.0561 ,"D"], -"Sm161" => [ 8122.0418 , 0.0423 ,"D"], -"Eu161" => [ 8148.9810 , 0.0646 ,"D"], -"Gd161" => [ 8167.1934 , 0.0093 ,"D"], -"Tb161" => [ 8174.4809 , 0.0076 ,"D"], -"Dy161" => [ 8173.3093 , 0.0043 ,"D"], -"Ho161" => [ 8163.1134 , 0.0134 ,"D"], -"Er161" => [ 8145.8628 , 0.0545 ,"D"], -"Tm161" => [ 8120.4906 , 0.1736 ,"D"], -"Yb161" => [ 8090.3861 , 0.0938 ,"D"], -"Lu161" => [ 8052.7821 , 0.1736 ,"D"], -"Hf161" => [ 8009.1245 , 0.1457 ,"D"], -"Ta161" => [ 7957.4500 , 0.1514 ,"D"], -"W161" => [ 7901 , 1 ,"E"], -"Re161" => [ 7836.3292 , 0.9311 ,"D"], -"Os161" => [ 7765 , 2 ,"E"], -"Nd162" => [ 8022 , 2 ,"E"], -"Pm162" => [ 8061 , 2 ,"E"], -"Sm162" => [ 8107.5745 , 0.0218 ,"D"], -"Eu162" => [ 8129.5593 , 0.0081 ,"D"], -"Gd162" => [ 8159.0373 , 0.0245 ,"D"], -"Tb162" => [ 8164.0773 , 0.0127 ,"D"], -"Dy162" => [ 8173.4555 , 0.0043 ,"D"], -"Ho162" => [ 8155.4126 , 0.0192 ,"D"], -"Er162" => [ 8152.3959 , 0.0047 ,"D"], -"Tm162" => [ 8117.5868 , 0.1609 ,"D"], -"Yb162" => [ 8102.5333 , 0.0932 ,"D"], -"Lu162" => [ 8054.5596 , 0.4632 ,"D"], -"Hf162" => [ 8027.1171 , 0.0553 ,"D"], -"Ta162" => [ 7964.3432 , 0.3909 ,"D"], -"W162" => [ 7923.8214 , 0.1090 ,"D"], -"Re162" => [ 7848 , 1 ,"E"], -"Os162" => [ 7794 , 2 ,"E"], -"Nd163" => [ 7992 , 3 ,"E"], -"Pm163" => [ 8042 , 2 ,"E"], -"Sm163" => [ 8084.1653 , 0.0451 ,"D"], -"Eu163" => [ 8116.0172 , 0.0056 ,"D"], -"Gd163" => [ 8140.7560 , 0.0049 ,"D"], -"Tb163" => [ 8155.6322 , 0.0249 ,"D"], -"Dy163" => [ 8161.7840 , 0.0043 ,"D"], -"Ho163" => [ 8156.9670 , 0.0043 ,"D"], -"Er163" => [ 8144.7403 , 0.0284 ,"D"], -"Tm163" => [ 8124.9774 , 0.0338 ,"D"], -"Yb163" => [ 8099.1069 , 0.0927 ,"D"], -"Lu163" => [ 8066.6848 , 0.1714 ,"D"], -"Hf163" => [ 8028.0072 , 0.1576 ,"D"], -"Ta163" => [ 7981.8905 , 0.2335 ,"D"], -"W163" => [ 7930.3043 , 0.3584 ,"D"], -"Re163" => [ 7870.8655 , 0.1137 ,"D"], -"Os163" => [ 7807 , 2 ,"E"], -"Ir163" => [ 7734 , 2 ,"E"], -"Pm164" => [ 8014 , 2 ,"E"], -"Sm164" => [ 8067.7803 , 0.0250 ,"D"], -"Eu164" => [ 8095.3686 , 0.0126 ,"D"], -"Gd164" => [ 8129.9978 , 0.0061 ,"D"], -"Tb164" => [ 8139.9304 , 0.0114 ,"D"], -"Dy164" => [ 8158.7129 , 0.0042 ,"D"], -"Ho164" => [ 8147.9234 , 0.0085 ,"D"], -"Er164" => [ 8149.0191 , 0.0043 ,"D"], -"Tm164" => [ 8119.6534 , 0.1525 ,"D"], -"Yb164" => [ 8109.4149 , 0.0921 ,"D"], -"Lu164" => [ 8065.8043 , 0.1704 ,"D"], -"Hf164" => [ 8043.8142 , 0.0964 ,"D"], -"Ta164" => [ 7986.9978 , 0.1704 ,"D"], -"W164" => [ 7951.4515 , 0.0590 ,"D"], -"Re164" => [ 7881.0523 , 0.3326 ,"D"], -"Os164" => [ 7833.3080 , 0.9140 ,"D"], -"Ir164" => [ 7750 , 2 ,"E"], -"Pm165" => [ 7992 , 3 ,"E"], -"Sm165" => [ 8041 , 2 ,"E"], -"Eu165" => [ 8080.0529 , 0.0316 ,"D"], -"Gd165" => [ 8110.4428 , 0.0079 ,"D"], -"Tb165" => [ 8130.3259 , 0.0093 ,"D"], -"Dy165" => [ 8143.9083 , 0.0042 ,"D"], -"Ho165" => [ 8146.9591 , 0.0048 ,"D"], -"Er165" => [ 8139.9348 , 0.0056 ,"D"], -"Tm165" => [ 8125.5489 , 0.0101 ,"D"], -"Yb165" => [ 8104.8399 , 0.1608 ,"D"], -"Lu165" => [ 8076.7460 , 0.1608 ,"D"], -"Hf165" => [ 8042.8728 , 0.1694 ,"D"], -"Ta165" => [ 8003.0547 , 0.0823 ,"D"], -"W165" => [ 7955.9704 , 0.1561 ,"D"], -"Re165" => [ 7901.5201 , 0.1430 ,"D"], -"Os165" => [ 7843 , 1 ,"E"], -"Ir165" => [ 7776 , 1 ,"E"], -"Pt165" => [ 7703 , 2 ,"E"], -"Sm166" => [ 8023 , 2 ,"E"], -"Eu166" => [ 8056 , 1 ,"E"], -"Gd166" => [ 8097.2260 , 0.0095 ,"D"], -"Tb166" => [ 8113.2230 , 0.0088 ,"D"], -"Dy166" => [ 8137.2793 , 0.0048 ,"D"], -"Ho166" => [ 8135.4933 , 0.0047 ,"D"], -"Er166" => [ 8141.9479 , 0.0020 ,"D"], -"Tm166" => [ 8118.9357 , 0.0696 ,"D"], -"Yb166" => [ 8112.4591 , 0.0422 ,"D"], -"Lu166" => [ 8074.1756 , 0.1796 ,"D"], -"Hf166" => [ 8056.4386 , 0.1683 ,"D"], -"Ta166" => [ 8004.9714 , 0.1683 ,"D"], -"W166" => [ 7974.8951 , 0.0570 ,"D"], -"Re166" => [ 7909.6392 , 0.5316 ,"D"], -"Os166" => [ 7866.3371 , 0.1082 ,"D"], -"Ir166" => [ 7789 , 1 ,"E"], -"Pt166" => [ 7733 , 2 ,"E"], -"Sm167" => [ 7992 , 3 ,"E"], -"Eu167" => [ 8038 , 2 ,"E"], -"Gd167" => [ 8075.5428 , 0.0312 ,"D"], -"Tb167" => [ 8101.4410 , 0.0116 ,"D"], -"Dy167" => [ 8120.8782 , 0.0240 ,"D"], -"Ho167" => [ 8130.3732 , 0.0311 ,"D"], -"Er167" => [ 8131.7352 , 0.0017 ,"D"], -"Tm167" => [ 8122.5826 , 0.0075 ,"D"], -"Yb167" => [ 8106.2020 , 0.0237 ,"D"], -"Lu167" => [ 8083.1722 , 0.2231 ,"D"], -"Hf167" => [ 8054.1850 , 0.1673 ,"D"], -"Ta167" => [ 8018.8614 , 0.1673 ,"D"], -"W167" => [ 7976.7045 , 0.1120 ,"D"], -"Re167" => [ 7929 , 0 ,"E"], -"Os167" => [ 7873.9557 , 0.4844 ,"D"], -"Ir167" => [ 7812.8254 , 0.1099 ,"D"], -"Pt167" => [ 7746 , 2 ,"E"], -"Sm168" => [ 7971 , 2 ,"E"], -"Eu168" => [ 8012 , 2 ,"E"], -"Gd168" => [ 8060 , 2 ,"E"], -"Tb168" => [ 8082.7980 , 0.0250 ,"D"], -"Dy168" => [ 8112.5293 , 0.8334 ,"D"], -"Ho168" => [ 8116.8061 , 0.1786 ,"D"], -"Er168" => [ 8129.5897 , 0.0016 ,"D"], -"Tm168" => [ 8114.9516 , 0.0100 ,"D"], -"Yb168" => [ 8111.8870 , 0.0006 ,"D"], -"Lu168" => [ 8080.4026 , 0.2260 ,"D"], -"Hf168" => [ 8065.5536 , 0.1663 ,"D"], -"Ta168" => [ 8019.4287 , 0.1663 ,"D"], -"W168" => [ 7993.9327 , 0.0789 ,"D"], -"Re168" => [ 7935.1208 , 0.1835 ,"D"], -"Os168" => [ 7895.9408 , 0.0589 ,"D"], -"Ir168" => [ 7823.8509 , 0.3287 ,"D"], -"Pt168" => [ 7773.6217 , 0.8925 ,"D"], -"Au168" => [ 7688 , 2 ,"E"], -"Eu169" => [ 7991 , 3 ,"E"], -"Gd169" => [ 8035 , 2 ,"E"], -"Tb169" => [ 8069 , 2 ,"E"], -"Dy169" => [ 8094.7566 , 1.7791 ,"D"], -"Ho169" => [ 8109.0622 , 0.1186 ,"D"], -"Er169" => [ 8117.0078 , 0.0018 ,"D"], -"Tm169" => [ 8114.4702 , 0.0044 ,"D"], -"Yb169" => [ 8104.5206 , 0.0011 ,"D"], -"Lu169" => [ 8086.3233 , 0.0178 ,"D"], -"Hf169" => [ 8061.7791 , 0.1654 ,"D"], -"Ta169" => [ 8030.9577 , 0.1654 ,"D"], -"W169" => [ 7994.5381 , 0.0913 ,"D"], -"Re169" => [ 7951.3963 , 0.0673 ,"D"], -"Os169" => [ 7901.2862 , 0.1535 ,"D"], -"Ir169" => [ 7845.5944 , 0.1379 ,"D"], -"Pt169" => [ 7784 , 1 ,"E"], -"Au169" => [ 7716 , 2 ,"E"], -"Eu170" => [ 7963 , 3 ,"E"], -"Gd170" => [ 8017 , 3 ,"E"], -"Tb170" => [ 8047 , 2 ,"E"], -"Dy170" => [ 8084 , 1 ,"E"], -"Ho170" => [ 8093.7902 , 0.2942 ,"D"], -"Er170" => [ 8111.9529 , 0.0082 ,"D"], -"Tm170" => [ 8105.5144 , 0.0043 ,"D"], -"Yb170" => [ 8106.6101 , 0.0003 ,"D"], -"Lu170" => [ 8081.6686 , 0.0991 ,"D"], -"Hf170" => [ 8070.8762 , 0.1644 ,"D"], -"Ta170" => [ 8030.2965 , 0.1644 ,"D"], -"W170" => [ 8008.9482 , 0.0776 ,"D"], -"Re170" => [ 7955.0120 , 0.0672 ,"D"], -"Os170" => [ 7921.1258 , 0.0574 ,"D"], -"Ir170" => [ 7853 , 1 ,"E"], -"Pt170" => [ 7808.2365 , 0.1073 ,"D"], -"Au170" => [ 7730 , 1 ,"E"], -"Hg170" => [ 7671 , 2 ,"E"], -"Gd171" => [ 7990 , 3 ,"E"], -"Tb171" => [ 8030 , 2 ,"E"], -"Dy171" => [ 8062 , 1 ,"E"], -"Ho171" => [ 8083.6021 , 3.5088 ,"D"], -"Er171" => [ 8097.7404 , 0.0082 ,"D"], -"Tm171" => [ 8101.8931 , 0.0057 ,"D"], -"Yb171" => [ 8097.8826 , 0.0003 ,"D"], -"Lu171" => [ 8084.6621 , 0.0109 ,"D"], -"Hf171" => [ 8066.0687 , 0.1689 ,"D"], -"Ta171" => [ 8039.7914 , 0.1634 ,"D"], -"W171" => [ 8008.1158 , 0.1634 ,"D"], -"Re171" => [ 7969.4131 , 0.1634 ,"D"], -"Os171" => [ 7924.1769 , 0.1067 ,"D"], -"Ir171" => [ 7873.4895 , 0.2249 ,"D"], -"Pt171" => [ 7816.6017 , 0.4734 ,"D"], -"Au171" => [ 7754.1069 , 0.1211 ,"D"], -"Hg171" => [ 7686 , 2 ,"E"], -"Gd172" => [ 7972 , 2 ,"E"], -"Tb172" => [ 8006 , 3 ,"E"], -"Dy172" => [ 8049 , 2 ,"E"], -"Ho172" => [ 8066 , 1 ,"E"], -"Er172" => [ 8090.4052 , 0.0230 ,"D"], -"Tm172" => [ 8091.0367 , 0.0319 ,"D"], -"Yb172" => [ 8097.4295 , 0.0003 ,"D"], -"Lu172" => [ 8078.2334 , 0.0136 ,"D"], -"Hf172" => [ 8071.7439 , 0.1420 ,"D"], -"Ta172" => [ 8037.7056 , 0.1625 ,"D"], -"W172" => [ 8020.1757 , 0.1625 ,"D"], -"Re172" => [ 7971.8460 , 0.2068 ,"D"], -"Os172" => [ 7942.1626 , 0.0742 ,"D"], -"Ir172" => [ 7880.2637 , 0.1884 ,"D"], -"Pt172" => [ 7839.2460 , 0.0603 ,"D"], -"Au172" => [ 7766.1587 , 0.3265 ,"D"], -"Hg172" => [ 7713.6064 , 0.8725 ,"D"], -"Tb173" => [ 7988 , 3 ,"E"], -"Dy173" => [ 8026 , 2 ,"E"], -"Ho173" => [ 8054 , 2 ,"E"], -"Er173" => [ 8074 , 1 ,"E"], -"Tm173" => [ 8084.4633 , 0.0254 ,"D"], -"Yb173" => [ 8087.4276 , 0.0003 ,"D"], -"Lu173" => [ 8079.0312 , 0.0091 ,"D"], -"Hf173" => [ 8066.0164 , 0.1615 ,"D"], -"Ta173" => [ 8044.0650 , 0.1615 ,"D"], -"W173" => [ 8018.3337 , 0.1615 ,"D"], -"Re173" => [ 7983.9068 , 0.1615 ,"D"], -"Os173" => [ 7944.0341 , 0.0865 ,"D"], -"Ir173" => [ 7898.0680 , 0.0609 ,"D"], -"Pt173" => [ 7845.3856 , 0.3667 ,"D"], -"Au173" => [ 7788.2348 , 0.1317 ,"D"], -"Hg173" => [ 7725 , 1 ,"E"], -"Tb174" => [ 7963 , 3 ,"E"], -"Dy174" => [ 8011 , 3 ,"E"], -"Ho174" => [ 8034 , 2 ,"E"], -"Er174" => [ 8064 , 2 ,"E"], -"Tm174" => [ 8070.6432 , 0.2570 ,"D"], -"Yb174" => [ 8083.8481 , 0.0003 ,"D"], -"Lu174" => [ 8071.4540 , 0.0090 ,"D"], -"Hf174" => [ 8068.5341 , 0.0130 ,"D"], -"Ta174" => [ 8040.4528 , 0.1606 ,"D"], -"W174" => [ 8027.2572 , 0.1606 ,"D"], -"Re174" => [ 7985.0944 , 0.1606 ,"D"], -"Os174" => [ 7959.4618 , 0.0589 ,"D"], -"Ir174" => [ 7902.0377 , 0.0645 ,"D"], -"Pt174" => [ 7866.1143 , 0.0594 ,"D"], -"Au174" => [ 7797 , 1 ,"E"], -"Hg174" => [ 7749.7851 , 0.1104 ,"D"], -"Dy175" => [ 7986 , 3 ,"E"], -"Ho175" => [ 8019 , 2 ,"E"], -"Er175" => [ 8045 , 2 ,"E"], -"Tm175" => [ 8061.7673 , 0.2857 ,"D"], -"Yb175" => [ 8070.9253 , 0.0005 ,"D"], -"Lu175" => [ 8069.1412 , 0.0069 ,"D"], -"Hf175" => [ 8060.7625 , 0.0130 ,"D"], -"Ta175" => [ 8044.4456 , 0.1597 ,"D"], -"W175" => [ 8024.1130 , 0.1597 ,"D"], -"Re175" => [ 7994.8168 , 0.1597 ,"D"], -"Os175" => [ 7960.7294 , 0.0673 ,"D"], -"Ir175" => [ 7917.9112 , 0.0708 ,"D"], -"Pt175" => [ 7869.5216 , 0.1064 ,"D"], -"Au175" => [ 7817.5939 , 0.2204 ,"D"], -"Hg175" => [ 7759.2134 , 0.4633 ,"D"], -"Dy176" => [ 7969 , 3 ,"E"], -"Ho176" => [ 7997 , 3 ,"E"], -"Er176" => [ 8034 , 2 ,"E"], -"Tm176" => [ 8045.1214 , 0.5682 ,"D"], -"Yb176" => [ 8064.0853 , 0.0003 ,"D"], -"Lu176" => [ 8059.0209 , 0.0069 ,"D"], -"Hf176" => [ 8061.3604 , 0.0084 ,"D"], -"Ta176" => [ 8038.6706 , 0.1747 ,"D"], -"W176" => [ 8030.1131 , 0.1588 ,"D"], -"Re176" => [ 7993.9707 , 0.1588 ,"D"], -"Os176" => [ 7972.8681 , 0.0622 ,"D"], -"Ir176" => [ 7921.5522 , 0.0459 ,"D"], -"Pt176" => [ 7888.9934 , 0.0722 ,"D"], -"Au176" => [ 7825.3837 , 0.1885 ,"D"], -"Hg176" => [ 7782.6640 , 0.0632 ,"D"], -"Tl176" => [ 7707.9383 , 0.4719 ,"D"], -"Ho177" => [ 7980 , 3 ,"E"], -"Er177" => [ 8013 , 3 ,"E"], -"Tm177" => [ 8035 , 1 ,"E"], -"Yb177" => [ 8049.9741 , 0.0013 ,"D"], -"Lu177" => [ 8053.4495 , 0.0069 ,"D"], -"Hf177" => [ 8051.8365 , 0.0080 ,"D"], -"Ta177" => [ 8040.8289 , 0.0187 ,"D"], -"W177" => [ 8025.0359 , 0.1579 ,"D"], -"Re177" => [ 8001.2229 , 0.1579 ,"D"], -"Os177" => [ 7972.4371 , 0.0826 ,"D"], -"Ir177" => [ 7934.6328 , 0.1116 ,"D"], -"Pt177" => [ 7892.4896 , 0.0847 ,"D"], -"Au177" => [ 7843.8623 , 0.0563 ,"D"], -"Hg177" => [ 7789.8947 , 0.4787 ,"D"], -"Tl177" => [ 7732.1655 , 0.1222 ,"D"], -"Ho178" => [ 7957 , 3 ,"E"], -"Er178" => [ 7999 , 3 ,"E"], -"Tm178" => [ 8017 , 2 ,"E"], -"Yb178" => [ 8042.7386 , 0.0370 ,"D"], -"Lu178" => [ 8042.0554 , 0.0127 ,"D"], -"Hf178" => [ 8049.4438 , 0.0080 ,"D"], -"Ta178" => [ 8035 , 0 ,"E"], -"W178" => [ 8029.2584 , 0.0854 ,"D"], -"Re178" => [ 7998.1576 , 0.1570 ,"D"], -"Os178" => [ 7981.9128 , 0.0766 ,"D"], -"Ir178" => [ 7936.5630 , 0.1057 ,"D"], -"Pt178" => [ 7908.2530 , 0.0569 ,"D"], -"Au178" => [ 7849.3946 , 0.0576 ,"D"], -"Hg178" => [ 7811.3607 , 0.0604 ,"D"], -"Tl178" => [ 7741 , 1 ,"E"], -"Pb178" => [ 7690.8359 , 0.1302 ,"D"], -"Er179" => [ 7976 , 3 ,"E"], -"Tm179" => [ 8004 , 2 ,"E"], -"Yb179" => [ 8026 , 1 ,"E"], -"Lu179" => [ 8035.0744 , 0.0288 ,"D"], -"Hf179" => [ 8038.5474 , 0.0079 ,"D"], -"Ta179" => [ 8033.5869 , 0.0082 ,"D"], -"W179" => [ 8023.2821 , 0.0814 ,"D"], -"Re179" => [ 8003.7666 , 0.1376 ,"D"], -"Os179" => [ 7979.4844 , 0.0866 ,"D"], -"Ir179" => [ 7947.5248 , 0.0546 ,"D"], -"Pt179" => [ 7910.6759 , 0.0446 ,"D"], -"Au179" => [ 7865.6374 , 0.0653 ,"D"], -"Hg179" => [ 7816.2631 , 0.1571 ,"D"], -"Tl179" => [ 7763.4942 , 0.2159 ,"D"], -"Pb179" => [ 7701.4630 , 0.4538 ,"D"], -"Er180" => [ 7960 , 3 ,"E"], -"Tm180" => [ 7983 , 2 ,"E"], -"Yb180" => [ 8016 , 2 ,"E"], -"Lu180" => [ 8022.0394 , 0.3929 ,"D"], -"Hf180" => [ 8034.9319 , 0.0079 ,"D"], -"Ta180" => [ 8025.8864 , 0.0115 ,"D"], -"W180" => [ 8025.4434 , 0.0080 ,"D"], -"Re180" => [ 7999.9922 , 0.1188 ,"D"], -"Os180" => [ 7987.4171 , 0.0873 ,"D"], -"Ir180" => [ 7947.6337 , 0.1206 ,"D"], -"Pt180" => [ 7923.5781 , 0.0558 ,"D"], -"Au180" => [ 7870.3194 , 0.0264 ,"D"], -"Hg180" => [ 7836.1111 , 0.0702 ,"D"], -"Tl180" => [ 7771.4310 , 0.3884 ,"D"], -"Pb180" => [ 7725.6993 , 0.0689 ,"D"], -"Tm181" => [ 7969 , 3 ,"E"], -"Yb181" => [ 7996 , 2 ,"E"], -"Lu181" => [ 8011.9301 , 0.6948 ,"D"], -"Hf181" => [ 8022.0030 , 0.0079 ,"D"], -"Ta181" => [ 8023.4050 , 0.0087 ,"D"], -"W181" => [ 8017.9494 , 0.0080 ,"D"], -"Re181" => [ 8004.1434 , 0.0693 ,"D"], -"Os181" => [ 7983.4263 , 0.1400 ,"D"], -"Ir181" => [ 7956.5242 , 0.0290 ,"D"], -"Pt181" => [ 7924.1271 , 0.0756 ,"D"], -"Au181" => [ 7883.8359 , 0.1104 ,"D"], -"Hg181" => [ 7839.6792 , 0.0850 ,"D"], -"Tl181" => [ 7791.9183 , 0.0503 ,"D"], -"Pb181" => [ 7734.0704 , 0.4698 ,"D"], -"Tm182" => [ 7948 , 3 ,"E"], -"Yb182" => [ 7984 , 2 ,"E"], -"Lu182" => [ 7996 , 1 ,"E"], -"Hf182" => [ 8014.8381 , 0.0339 ,"D"], -"Ta182" => [ 8012.6332 , 0.0087 ,"D"], -"W182" => [ 8018.3096 , 0.0041 ,"D"], -"Re182" => [ 7998.6264 , 0.5603 ,"D"], -"Os182" => [ 7989.7287 , 0.1195 ,"D"], -"Ir182" => [ 7954.8948 , 0.1152 ,"D"], -"Pt182" => [ 7934.7541 , 0.0719 ,"D"], -"Au182" => [ 7887.2442 , 0.1031 ,"D"], -"Hg182" => [ 7856.9726 , 0.0538 ,"D"], -"Tl182" => [ 7796.3571 , 0.0658 ,"D"], -"Pb182" => [ 7756.3296 , 0.0664 ,"D"], -"Yb183" => [ 7963 , 2 ,"E"], -"Lu183" => [ 7984.8125 , 0.4378 ,"D"], -"Hf183" => [ 8000.0315 , 0.1642 ,"D"], -"Ta183" => [ 8006.7400 , 0.0087 ,"D"], -"W183" => [ 8008.3234 , 0.0041 ,"D"], -"Re183" => [ 8001.0101 , 0.0439 ,"D"], -"Os183" => [ 7985.0087 , 0.2720 ,"D"], -"Ir183" => [ 7961.8176 , 0.1348 ,"D"], -"Pt183" => [ 7933.3406 , 0.0777 ,"D"], -"Au183" => [ 7898.5644 , 0.0515 ,"D"], -"Hg183" => [ 7859.3885 , 0.0387 ,"D"], -"Tl183" => [ 7815.6741 , 0.0510 ,"D"], -"Pb183" => [ 7762.1790 , 0.1584 ,"D"], -"Yb184" => [ 7951 , 3 ,"E"], -"Lu184" => [ 7967 , 1 ,"E"], -"Hf184" => [ 7990.7228 , 0.2158 ,"D"], -"Ta184" => [ 7993.7535 , 0.1414 ,"D"], -"W184" => [ 8005.0777 , 0.0040 ,"D"], -"Re184" => [ 7992.7517 , 0.0232 ,"D"], -"Os184" => [ 7988.6778 , 0.0045 ,"D"], -"Ir184" => [ 7959.1992 , 0.1519 ,"D"], -"Pt184" => [ 7942.5649 , 0.0801 ,"D"], -"Au184" => [ 7900.1947 , 0.1211 ,"D"], -"Hg184" => [ 7874.3454 , 0.0518 ,"D"], -"Tl184" => [ 7818.6727 , 0.0544 ,"D"], -"Pb184" => [ 7782.7264 , 0.0696 ,"D"], -"Bi184" => [ 7712 , 1 ,"E"], -"Yb185" => [ 7929 , 3 ,"E"], -"Lu185" => [ 7955 , 2 ,"E"], -"Hf185" => [ 7973.9711 , 0.3474 ,"D"], -"Ta185" => [ 7986.3615 , 0.0765 ,"D"], -"W185" => [ 7992.9083 , 0.0040 ,"D"], -"Re185" => [ 7991.0101 , 0.0044 ,"D"], -"Os185" => [ 7981.3047 , 0.0045 ,"D"], -"Ir185" => [ 7963.7226 , 0.1511 ,"D"], -"Pt185" => [ 7939.7779 , 0.1396 ,"D"], -"Au185" => [ 7909.4410 , 0.0141 ,"D"], -"Hg185" => [ 7874.5391 , 0.0737 ,"D"], -"Tl185" => [ 7835.5756 , 0.1118 ,"D"], -"Pb185" => [ 7786.9330 , 0.0874 ,"D"], -"Bi185" => [ 7732 , 0 ,"E"], -"Lu186" => [ 7936 , 2 ,"E"], -"Hf186" => [ 7964.3032 , 0.2754 ,"D"], -"Ta186" => [ 7971.8357 , 0.3226 ,"D"], -"W186" => [ 7988.6026 , 0.0065 ,"D"], -"Re186" => [ 7981.2713 , 0.0044 ,"D"], -"Os186" => [ 7982.8324 , 0.0041 ,"D"], -"Ir186" => [ 7958.0473 , 0.0888 ,"D"], -"Pt186" => [ 7946.8094 , 0.1169 ,"D"], -"Au186" => [ 7909.5409 , 0.1127 ,"D"], -"Hg186" => [ 7888.2605 , 0.0626 ,"D"], -"Tl186" => [ 7837.5161 , 0.1116 ,"D"], -"Pb186" => [ 7805.3420 , 0.0592 ,"D"], -"Bi186" => [ 7739.1175 , 0.0911 ,"D"], -"Po186" => [ 7695.9488 , 0.0983 ,"D"], -"Lu187" => [ 7923 , 2 ,"E"], -"Hf187" => [ 7947 , 1 ,"E"], -"Ta187" => [ 7963.2123 , 0.2989 ,"D"], -"W187" => [ 7975.1168 , 0.0065 ,"D"], -"Re187" => [ 7977.9519 , 0.0039 ,"D"], -"Os187" => [ 7973.7814 , 0.0039 ,"D"], -"Ir187" => [ 7960.6692 , 0.1494 ,"D"], -"Pt187" => [ 7941.1699 , 0.1287 ,"D"], -"Au187" => [ 7917.4323 , 0.1203 ,"D"], -"Hg187" => [ 7886.9905 , 0.0688 ,"D"], -"Tl187" => [ 7852.4650 , 0.0430 ,"D"], -"Pb187" => [ 7808.4010 , 0.0272 ,"D"], -"Bi187" => [ 7758.2083 , 0.0535 ,"D"], -"Po187" => [ 7704.7889 , 0.1745 ,"D"], -"Lu188" => [ 7903 , 2 ,"E"], -"Hf188" => [ 7936 , 2 ,"E"], -"Ta188" => [ 7948 , 1 ,"E"], -"W188" => [ 7969.0532 , 0.0164 ,"D"], -"Re188" => [ 7966.7481 , 0.0039 ,"D"], -"Os188" => [ 7973.8656 , 0.0039 ,"D"], -"Ir188" => [ 7954.8512 , 0.0501 ,"D"], -"Pt188" => [ 7947.9027 , 0.0282 ,"D"], -"Au188" => [ 7914.7537 , 0.0144 ,"D"], -"Hg188" => [ 7899.0340 , 0.0361 ,"D"], -"Tl188" => [ 7853.0537 , 0.1591 ,"D"], -"Pb188" => [ 7824.8211 , 0.0539 ,"D"], -"Bi188" => [ 7764.1904 , 0.0595 ,"D"], -"Po188" => [ 7724.6544 , 0.1062 ,"D"], -"Hf189" => [ 7917 , 2 ,"E"], -"Ta189" => [ 7938 , 1 ,"E"], -"W189" => [ 7954 , 1 ,"E"], -"Re189" => [ 7961.8105 , 0.0433 ,"D"], -"Os189" => [ 7963.0029 , 0.0035 ,"D"], -"Ir189" => [ 7956.0214 , 0.0665 ,"D"], -"Pt189" => [ 7941.4045 , 0.0534 ,"D"], -"Au189" => [ 7921.9876 , 0.1063 ,"D"], -"Hg189" => [ 7896.9192 , 0.1669 ,"D"], -"Tl189" => [ 7866.2704 , 0.0443 ,"D"], -"Pb189" => [ 7826.2999 , 0.0744 ,"D"], -"Bi189" => [ 7780.9999 , 0.1103 ,"D"], -"Po189" => [ 7731.1321 , 0.1167 ,"D"], -"Hf190" => [ 7905 , 2 ,"E"], -"Ta190" => [ 7922 , 1 ,"E"], -"W190" => [ 7947.5031 , 0.1863 ,"D"], -"Re190" => [ 7949.7759 , 0.0256 ,"D"], -"Os190" => [ 7962.1047 , 0.0034 ,"D"], -"Ir190" => [ 7947.7017 , 0.0072 ,"D"], -"Pt190" => [ 7946.4941 , 0.0035 ,"D"], -"Au190" => [ 7918.8345 , 0.0181 ,"D"], -"Hg190" => [ 7907.0174 , 0.0837 ,"D"], -"Tl190" => [ 7866.0345 , 0.0382 ,"D"], -"Pb190" => [ 7841.1294 , 0.0659 ,"D"], -"Bi190" => [ 7785.3239 , 0.1104 ,"D"], -"Po190" => [ 7749.4526 , 0.0693 ,"D"], -"Ta191" => [ 7911 , 2 ,"E"], -"W191" => [ 7931.4359 , 0.2195 ,"D"], -"Re191" => [ 7943.9588 , 0.0537 ,"D"], -"Os191" => [ 7950.5687 , 0.0035 ,"D"], -"Ir191" => [ 7948.1144 , 0.0069 ,"D"], -"Pt191" => [ 7938.7279 , 0.0216 ,"D"], -"Au191" => [ 7924.6819 , 0.0258 ,"D"], -"Hg191" => [ 7903.8002 , 0.1167 ,"D"], -"Tl191" => [ 7877.1445 , 0.0385 ,"D"], -"Pb191" => [ 7841.6782 , 0.0346 ,"D"], -"Bi191" => [ 7800.6613 , 0.0392 ,"D"], -"Po191" => [ 7753.7871 , 0.0372 ,"D"], -"At191" => [ 7702.9233 , 0.0843 ,"D"], -"Ta192" => [ 7894 , 2 ,"E"], -"W192" => [ 7924 , 1 ,"E"], -"Re192" => [ 7930.2389 , 0.3687 ,"D"], -"Os192" => [ 7948.5260 , 0.0121 ,"D"], -"Ir192" => [ 7938.9999 , 0.0068 ,"D"], -"Pt192" => [ 7942.4923 , 0.0134 ,"D"], -"Au192" => [ 7920.1033 , 0.0824 ,"D"], -"Hg192" => [ 7912.0666 , 0.0809 ,"D"], -"Tl192" => [ 7876.0167 , 0.1650 ,"D"], -"Pb192" => [ 7854.6482 , 0.0298 ,"D"], -"Bi192" => [ 7803.6084 , 0.1568 ,"D"], -"Po192" => [ 7771.0542 , 0.0554 ,"D"], -"At192" => [ 7709.7283 , 0.1452 ,"D"], -"Ta193" => [ 7883 , 2 ,"E"], -"W193" => [ 7907 , 1 ,"E"], -"Re193" => [ 7923.9378 , 0.2027 ,"D"], -"Os193" => [ 7936.2716 , 0.0120 ,"D"], -"Ir193" => [ 7938.1346 , 0.0069 ,"D"], -"Pt193" => [ 7933.7875 , 0.0070 ,"D"], -"Au193" => [ 7924.1648 , 0.0449 ,"D"], -"Hg193" => [ 7907.9730 , 0.0803 ,"D"], -"Tl193" => [ 7885.3445 , 0.0348 ,"D"], -"Pb193" => [ 7854.0994 , 0.0533 ,"D"], -"Bi193" => [ 7817.1718 , 0.0393 ,"D"], -"Po193" => [ 7773.9510 , 0.0753 ,"D"], -"At193" => [ 7727.1099 , 0.1121 ,"D"], -"Rn193" => [ 7675.8530 , 0.1301 ,"D"], -"Ta194" => [ 7865 , 3 ,"E"], -"W194" => [ 7899 , 2 ,"E"], -"Re194" => [ 7909 , 1 ,"E"], -"Os194" => [ 7932.0232 , 0.0124 ,"D"], -"Ir194" => [ 7928.4885 , 0.0069 ,"D"], -"Pt194" => [ 7935.9420 , 0.0026 ,"D"], -"Au194" => [ 7918.7744 , 0.0109 ,"D"], -"Hg194" => [ 7914.5974 , 0.0149 ,"D"], -"Tl194" => [ 7883.5211 , 0.0720 ,"D"], -"Pb194" => [ 7865.4181 , 0.0899 ,"D"], -"Bi194" => [ 7819.1955 , 0.0271 ,"D"], -"Po194" => [ 7789.2947 , 0.0666 ,"D"], -"At194" => [ 7732.2304 , 0.1211 ,"D"], -"Rn194" => [ 7694.9961 , 0.0859 ,"D"], -"W195" => [ 7881 , 2 ,"E"], -"Re195" => [ 7901 , 2 ,"E"], -"Os195" => [ 7917.7449 , 0.2866 ,"D"], -"Ir195" => [ 7924.9160 , 0.0068 ,"D"], -"Pt195" => [ 7926.5530 , 0.0026 ,"D"], -"Au195" => [ 7921.3778 , 0.0057 ,"D"], -"Hg195" => [ 7909.3980 , 0.1187 ,"D"], -"Tl195" => [ 7890.7293 , 0.0571 ,"D"], -"Pb195" => [ 7864.0647 , 0.0261 ,"D"], -"Bi195" => [ 7830.7579 , 0.0271 ,"D"], -"Po195" => [ 7791.3155 , 0.0310 ,"D"], -"At195" => [ 7748.0914 , 0.0491 ,"D"], -"Rn195" => [ 7700.3841 , 0.2651 ,"D"], -"W196" => [ 7872 , 2 ,"E"], -"Re196" => [ 7886 , 2 ,"E"], -"Os196" => [ 7912.2301 , 0.2044 ,"D"], -"Ir196" => [ 7914.1487 , 0.1960 ,"D"], -"Pt196" => [ 7926.5297 , 0.0026 ,"D"], -"Au196" => [ 7914.8553 , 0.0151 ,"D"], -"Hg196" => [ 7914.3700 , 0.0150 ,"D"], -"Tl196" => [ 7888.2900 , 0.0618 ,"D"], -"Pb196" => [ 7873.3374 , 0.0393 ,"D"], -"Bi196" => [ 7831.9009 , 0.1246 ,"D"], -"Po196" => [ 7804.7445 , 0.0275 ,"D"], -"At196" => [ 7752.0001 , 0.1543 ,"D"], -"Rn196" => [ 7717.9660 , 0.0717 ,"D"], -"W197" => [ 7853 , 2 ,"E"], -"Re197" => [ 7877 , 2 ,"E"], -"Os197" => [ 7897 , 1 ,"E"], -"Ir197" => [ 7909.0003 , 0.1021 ,"D"], -"Pt197" => [ 7915.9714 , 0.0027 ,"D"], -"Au197" => [ 7915.6548 , 0.0028 ,"D"], -"Hg197" => [ 7908.6402 , 0.0163 ,"D"], -"Tl197" => [ 7893.5725 , 0.0689 ,"D"], -"Pb197" => [ 7871.2822 , 0.0244 ,"D"], -"Bi197" => [ 7841.6348 , 0.0423 ,"D"], -"Po197" => [ 7805.7136 , 0.0501 ,"D"], -"At197" => [ 7766.0174 , 0.0405 ,"D"], -"Rn197" => [ 7722.1190 , 0.0822 ,"D"], -"Fr197" => [ 7673.7640 , 0.2865 ,"D"], -"Re198" => [ 7861 , 2 ,"E"], -"Os198" => [ 7890 , 1 ,"E"], -"Ir198" => [ 7897 , 1 ,"E"], -"Pt198" => [ 7914.1512 , 0.0106 ,"D"], -"Au198" => [ 7908.5675 , 0.0027 ,"D"], -"Hg198" => [ 7911.5532 , 0.0023 ,"D"], -"Tl198" => [ 7890.3011 , 0.0381 ,"D"], -"Pb198" => [ 7878.9695 , 0.0442 ,"D"], -"Bi198" => [ 7841.2123 , 0.1392 ,"D"], -"Po198" => [ 7817.5611 , 0.0880 ,"D"], -"At198" => [ 7769.3446 , 0.0248 ,"D"], -"Rn198" => [ 7737.7245 , 0.0678 ,"D"], -"Fr198" => [ 7679.1873 , 0.1572 ,"D"], -"Re199" => [ 7850 , 2 ,"E"], -"Os199" => [ 7874 , 1 ,"E"], -"Ir199" => [ 7891.2066 , 0.2063 ,"D"], -"Pt199" => [ 7902.3011 , 0.0109 ,"D"], -"Au199" => [ 7906.9379 , 0.0027 ,"D"], -"Hg199" => [ 7905.2794 , 0.0027 ,"D"], -"Tl199" => [ 7893.8773 , 0.1404 ,"D"], -"Pb199" => [ 7875.7366 , 0.0343 ,"D"], -"Bi199" => [ 7849.5232 , 0.0533 ,"D"], -"Po199" => [ 7817.6582 , 0.0273 ,"D"], -"At199" => [ 7781.4883 , 0.0271 ,"D"], -"Rn199" => [ 7741.0568 , 0.0367 ,"D"], -"Fr199" => [ 7695.2599 , 0.0690 ,"D"], -"Os200" => [ 7867 , 1 ,"E"], -"Ir200" => [ 7878 , 1 ,"E"], -"Pt200" => [ 7899.1986 , 0.1006 ,"D"], -"Au200" => [ 7898.4915 , 0.1336 ,"D"], -"Hg200" => [ 7905.8956 , 0.0027 ,"D"], -"Tl200" => [ 7889.7037 , 0.0288 ,"D"], -"Pb200" => [ 7881.8101 , 0.0500 ,"D"], -"Bi200" => [ 7848.4969 , 0.1135 ,"D"], -"Po200" => [ 7827.4407 , 0.0379 ,"D"], -"At200" => [ 7783.7601 , 0.1223 ,"D"], -"Rn200" => [ 7754.9111 , 0.0290 ,"D"], -"Fr200" => [ 7700.3292 , 0.1526 ,"D"], -"Os201" => [ 7849 , 1 ,"E"], -"Ir201" => [ 7870 , 1 ,"E"], -"Pt201" => [ 7885.8337 , 0.2493 ,"D"], -"Au201" => [ 7895.1752 , 0.0160 ,"D"], -"Hg201" => [ 7897.5607 , 0.0036 ,"D"], -"Tl201" => [ 7891.2717 , 0.0706 ,"D"], -"Pb201" => [ 7877.8782 , 0.0684 ,"D"], -"Bi201" => [ 7854.8713 , 0.0606 ,"D"], -"Po201" => [ 7826.5619 , 0.0246 ,"D"], -"At201" => [ 7794.1536 , 0.0407 ,"D"], -"Rn201" => [ 7757.0174 , 0.0504 ,"D"], -"Fr201" => [ 7714.8367 , 0.0452 ,"D"], -"Ra201" => [ 7669.4108 , 0.1010 ,"D"], -"Os202" => [ 7839 , 2 ,"E"], -"Ir202" => [ 7855 , 1 ,"E"], -"Pt202" => [ 7881.5609 , 0.1245 ,"D"], -"Au202" => [ 7885.9100 , 0.1153 ,"D"], -"Hg202" => [ 7896.8505 , 0.0035 ,"D"], -"Tl202" => [ 7886.2206 , 0.0091 ,"D"], -"Pb202" => [ 7882.1505 , 0.0188 ,"D"], -"Bi202" => [ 7852.5857 , 0.0693 ,"D"], -"Po202" => [ 7834.8053 , 0.0429 ,"D"], -"At202" => [ 7794.5637 , 0.1366 ,"D"], -"Rn202" => [ 7769.3018 , 0.0867 ,"D"], -"Fr202" => [ 7719.0125 , 0.0299 ,"D"], -"Ra202" => [ 7685.5684 , 0.0743 ,"D"], -"Os203" => [ 7814 , 2 ,"E"], -"Ir203" => [ 7845 , 2 ,"E"], -"Pt203" => [ 7867 , 1 ,"E"], -"Au203" => [ 7880.8650 , 0.0152 ,"D"], -"Hg203" => [ 7887.4828 , 0.0080 ,"D"], -"Tl203" => [ 7886.0530 , 0.0058 ,"D"], -"Pb203" => [ 7877.3970 , 0.0323 ,"D"], -"Bi203" => [ 7857.4762 , 0.0629 ,"D"], -"Po203" => [ 7832.8632 , 0.0229 ,"D"], -"At203" => [ 7803.6487 , 0.0523 ,"D"], -"Rn203" => [ 7770.3437 , 0.0286 ,"D"], -"Fr203" => [ 7731.7092 , 0.0307 ,"D"], -"Ra203" => [ 7689.8015 , 0.0477 ,"D"], -"Ir204" => [ 7823 , 2 ,"E"], -"Pt204" => [ 7859 , 1 ,"E"], -"Au204" => [ 7868 , 1 ,"E"], -"Hg204" => [ 7885.5455 , 0.0025 ,"D"], -"Tl204" => [ 7880.0238 , 0.0057 ,"D"], -"Pb204" => [ 7879.9326 , 0.0056 ,"D"], -"Bi204" => [ 7854.2157 , 0.0450 ,"D"], -"Po204" => [ 7839.0823 , 0.0494 ,"D"], -"At204" => [ 7803.5522 , 0.1111 ,"D"], -"Rn204" => [ 7780.5743 , 0.0365 ,"D"], -"Fr204" => [ 7734.6931 , 0.1205 ,"D"], -"Ra204" => [ 7704.1238 , 0.0437 ,"D"], -"Ir205" => [ 7805 , 2 ,"E"], -"Pt205" => [ 7836 , 1 ,"E"], -"Au205" => [ 7860 , 1 ,"E"], -"Hg205" => [ 7874.7325 , 0.0178 ,"D"], -"Tl205" => [ 7878.3946 , 0.0060 ,"D"], -"Pb205" => [ 7874.3313 , 0.0056 ,"D"], -"Bi205" => [ 7857.3218 , 0.0235 ,"D"], -"Po205" => [ 7836.2168 , 0.0491 ,"D"], -"At205" => [ 7810.2694 , 0.0588 ,"D"], -"Rn205" => [ 7780.7226 , 0.0248 ,"D"], -"Fr205" => [ 7745.6870 , 0.0382 ,"D"], -"Ra205" => [ 7707.1698 , 0.1111 ,"D"], -"Ac205" => [ 7662.8519 , 0.2894 ,"D"], -"Pt206" => [ 7820 , 1 ,"E"], -"Au206" => [ 7840 , 1 ,"E"], -"Hg206" => [ 7869.1723 , 0.0992 ,"D"], -"Tl206" => [ 7871.7219 , 0.0062 ,"D"], -"Pb206" => [ 7875.3620 , 0.0056 ,"D"], -"Bi206" => [ 7853.3249 , 0.0371 ,"D"], -"Po206" => [ 7840.5973 , 0.0195 ,"D"], -"At206" => [ 7808.8904 , 0.0657 ,"D"], -"Rn206" => [ 7789.0417 , 0.0417 ,"D"], -"Fr206" => [ 7746.9621 , 0.1350 ,"D"], -"Ra206" => [ 7719.8028 , 0.0874 ,"D"], -"Ac206" => [ 7667.8538 , 0.3160 ,"D"], -"Pt207" => [ 7797 , 2 ,"E"], -"Au207" => [ 7824 , 1 ,"E"], -"Hg207" => [ 7848.6112 , 0.1440 ,"D"], -"Tl207" => [ 7866.7979 , 0.0263 ,"D"], -"Pb207" => [ 7869.8664 , 0.0055 ,"D"], -"Bi207" => [ 7854.5053 , 0.0116 ,"D"], -"Po207" => [ 7836.6734 , 0.0322 ,"D"], -"At207" => [ 7813.9653 , 0.0599 ,"D"], -"Rn207" => [ 7787.9987 , 0.0229 ,"D"], -"Fr207" => [ 7756.2689 , 0.0848 ,"D"], -"Ra207" => [ 7721.7503 , 0.2816 ,"D"], -"Ac207" => [ 7681.1001 , 0.2717 ,"D"], -"Pt208" => [ 7780 , 2 ,"E"], -"Au208" => [ 7803 , 1 ,"E"], -"Hg208" => [ 7834.1914 , 0.1478 ,"D"], -"Tl208" => [ 7847.1835 , 0.0089 ,"D"], -"Pb208" => [ 7867.4530 , 0.0055 ,"D"], -"Bi208" => [ 7849.8534 , 0.0111 ,"D"], -"Po208" => [ 7839.3568 , 0.0080 ,"D"], -"At208" => [ 7811.5604 , 0.0429 ,"D"], -"Rn208" => [ 7794.2678 , 0.0489 ,"D"], -"Fr208" => [ 7756.8985 , 0.0560 ,"D"], -"Ra208" => [ 7732.0177 , 0.0434 ,"D"], -"Ac208" => [ 7684.8289 , 0.3100 ,"D"], -"Th208" => [ 7652.5716 , 0.1532 ,"D"], -"Au209" => [ 7786 , 2 ,"E"], -"Hg209" => [ 7813 , 1 ,"E"], -"Tl209" => [ 7833.3979 , 0.0292 ,"D"], -"Pb209" => [ 7848.6488 , 0.0084 ,"D"], -"Bi209" => [ 7847.9869 , 0.0065 ,"D"], -"Po209" => [ 7835.1882 , 0.0085 ,"D"], -"At209" => [ 7814.7835 , 0.0227 ,"D"], -"Rn209" => [ 7792.1755 , 0.0477 ,"D"], -"Fr209" => [ 7763.7485 , 0.0550 ,"D"], -"Ra209" => [ 7733.0177 , 0.0275 ,"D"], -"Ac209" => [ 7695.8455 , 0.2672 ,"D"], -"Th209" => [ 7656 , 0 ,"E"], -"Au210" => [ 7764 , 2 ,"E"], -"Hg210" => [ 7799 , 1 ,"E"], -"Tl210" => [ 7813.5890 , 0.0553 ,"D"], -"Pb210" => [ 7835.9656 , 0.0069 ,"D"], -"Bi210" => [ 7832.5424 , 0.0065 ,"D"], -"Po210" => [ 7834.3462 , 0.0055 ,"D"], -"At210" => [ 7811.6638 , 0.0366 ,"D"], -"Rn210" => [ 7796.6653 , 0.0217 ,"D"], -"Fr210" => [ 7763.1243 , 0.0639 ,"D"], -"Ra210" => [ 7741.3687 , 0.0438 ,"D"], -"Ac210" => [ 7698.0182 , 0.2962 ,"D"], -"Th210" => [ 7669.0764 , 0.0900 ,"D"], -"Hg211" => [ 7777 , 1 ,"E"], -"Tl211" => [ 7799.7915 , 0.1987 ,"D"], -"Pb211" => [ 7817.0079 , 0.0107 ,"D"], -"Bi211" => [ 7819.7745 , 0.0258 ,"D"], -"Po211" => [ 7818.7842 , 0.0060 ,"D"], -"At211" => [ 7811.3545 , 0.0129 ,"D"], -"Rn211" => [ 7793.9412 , 0.0323 ,"D"], -"Fr211" => [ 7768.3613 , 0.0568 ,"D"], -"Ra211" => [ 7741.0887 , 0.0235 ,"D"], -"Ac211" => [ 7707.4680 , 0.2548 ,"D"], -"Th211" => [ 7671.8506 , 0.4079 ,"D"], -"Pa211" => [ 7629.3948 , 0.3293 ,"D"], -"Hg212" => [ 7762 , 1 ,"E"], -"Tl212" => [ 7780 , 1 ,"E"], -"Pb212" => [ 7804.3203 , 0.0087 ,"D"], -"Bi212" => [ 7803.3140 , 0.0087 ,"D"], -"Po212" => [ 7810.2438 , 0.0054 ,"D"], -"At212" => [ 7798.3400 , 0.0113 ,"D"], -"Rn212" => [ 7794.7963 , 0.0147 ,"D"], -"Fr212" => [ 7766.8455 , 0.0414 ,"D"], -"Ra212" => [ 7747.5078 , 0.0484 ,"D"], -"Ac212" => [ 7708.4479 , 0.1032 ,"D"], -"Th212" => [ 7682.0628 , 0.0477 ,"D"], -"Pa212" => [ 7633.6289 , 0.4132 ,"D"], -"Hg213" => [ 7739 , 1 ,"E"], -"Tl213" => [ 7765.4311 , 0.1268 ,"D"], -"Pb213" => [ 7785.1732 , 0.0326 ,"D"], -"Bi213" => [ 7791.0217 , 0.0239 ,"D"], -"Po213" => [ 7794.0240 , 0.0143 ,"D"], -"At213" => [ 7790.0036 , 0.0230 ,"D"], -"Rn213" => [ 7782.1824 , 0.0158 ,"D"], -"Fr213" => [ 7768.4543 , 0.0221 ,"D"], -"Ra213" => [ 7746.4726 , 0.0461 ,"D"], -"Ac213" => [ 7715.5908 , 0.0548 ,"D"], -"Th213" => [ 7683.8470 , 0.0433 ,"D"], -"Pa213" => [ 7644.8027 , 0.2684 ,"D"], -"Hg214" => [ 7724 , 2 ,"E"], -"Tl214" => [ 7745 , 1 ,"E"], -"Pb214" => [ 7772.3955 , 0.0092 ,"D"], -"Bi214" => [ 7773.4955 , 0.0524 ,"D"], -"Po214" => [ 7785.1163 , 0.0068 ,"D"], -"At214" => [ 7776.3632 , 0.0186 ,"D"], -"Rn214" => [ 7777.1023 , 0.0429 ,"D"], -"Fr214" => [ 7757.7393 , 0.0398 ,"D"], -"Ra214" => [ 7749.1719 , 0.0245 ,"D"], -"Ac214" => [ 7715.8874 , 0.0633 ,"D"], -"Th214" => [ 7692.3173 , 0.0498 ,"D"], -"Pa214" => [ 7647.7037 , 0.3795 ,"D"], -"Hg215" => [ 7701 , 2 ,"E"], -"Tl215" => [ 7730 , 1 ,"E"], -"Pb215" => [ 7752.7381 , 0.2450 ,"D"], -"Bi215" => [ 7761.7177 , 0.0262 ,"D"], -"Po215" => [ 7768.1768 , 0.0099 ,"D"], -"At215" => [ 7767.8627 , 0.0308 ,"D"], -"Rn215" => [ 7763.8164 , 0.0283 ,"D"], -"Fr215" => [ 7753.2607 , 0.0329 ,"D"], -"Ra215" => [ 7739.3249 , 0.0335 ,"D"], -"Ac215" => [ 7719.4137 , 0.0577 ,"D"], -"Th215" => [ 7693.0266 , 0.0295 ,"D"], -"Pa215" => [ 7657.3733 , 0.3835 ,"D"], -"U215" => [ 7620.7821 , 0.4844 ,"D"], -"Hg216" => [ 7685 , 2 ,"E"], -"Tl216" => [ 7709 , 1 ,"E"], -"Pb216" => [ 7740 , 1 ,"E"], -"Bi216" => [ 7743.4996 , 0.0518 ,"D"], -"Po216" => [ 7758.8205 , 0.0084 ,"D"], -"At216" => [ 7753.0024 , 0.0166 ,"D"], -"Rn216" => [ 7758.6553 , 0.0267 ,"D"], -"Fr216" => [ 7742.4513 , 0.0193 ,"D"], -"Ra216" => [ 7737.3458 , 0.0371 ,"D"], -"Ac216" => [ 7711.2319 , 0.0427 ,"D"], -"Th216" => [ 7697.6617 , 0.0514 ,"D"], -"Pa216" => [ 7659.2006 , 0.1141 ,"D"], -"U216" => [ 7631.3072 , 0.1301 ,"D"], -"Tl217" => [ 7693 , 2 ,"E"], -"Pb217" => [ 7719 , 1 ,"E"], -"Bi217" => [ 7731.8491 , 0.0816 ,"D"], -"Po217" => [ 7741.3614 , 0.0302 ,"D"], -"At217" => [ 7744.6172 , 0.0230 ,"D"], -"Rn217" => [ 7744.4037 , 0.0193 ,"D"], -"Fr217" => [ 7737.7750 , 0.0301 ,"D"], -"Ra217" => [ 7726.9122 , 0.0325 ,"D"], -"Ac217" => [ 7710.3448 , 0.0517 ,"D"], -"Th217" => [ 7690.5945 , 0.0489 ,"D"], -"Pa217" => [ 7664.6438 , 0.0576 ,"D"], -"U217" => [ 7634 , 0 ,"E"], -"Tl218" => [ 7672 , 2 ,"E"], -"Pb218" => [ 7705 , 1 ,"E"], -"Bi218" => [ 7712.8280 , 0.1239 ,"D"], -"Po218" => [ 7731.5300 , 0.0090 ,"D"], -"At218" => [ 7729.1175 , 0.0528 ,"D"], -"Rn218" => [ 7738.7527 , 0.0106 ,"D"], -"Fr218" => [ 7726.7143 , 0.0194 ,"D"], -"Ra218" => [ 7725.0241 , 0.0450 ,"D"], -"Ac218" => [ 7702.1450 , 0.2643 ,"D"], -"Th218" => [ 7691.6026 , 0.0482 ,"D"], -"Pa218" => [ 7659.1935 , 0.0819 ,"D"], -"U218" => [ 7640.7191 , 0.0629 ,"D"], -"Pb219" => [ 7684 , 2 ,"E"], -"Bi219" => [ 7700 , 1 ,"E"], -"Po219" => [ 7713.3340 , 0.0723 ,"D"], -"At219" => [ 7720.1970 , 0.0148 ,"D"], -"Rn219" => [ 7723.7784 , 0.0096 ,"D"], -"Fr219" => [ 7721.1759 , 0.0314 ,"D"], -"Ra219" => [ 7714.0560 , 0.0311 ,"D"], -"Ac219" => [ 7700.5489 , 0.2351 ,"D"], -"Th219" => [ 7683.7655 , 0.2578 ,"D"], -"Pa219" => [ 7661.3783 , 0.3183 ,"D"], -"U219" => [ 7636.2867 , 0.0609 ,"D"], -"Np219" => [ 7604.6732 , 0.4199 ,"D"], -"Pb220" => [ 7670 , 2 ,"E"], -"Bi220" => [ 7681 , 1 ,"E"], -"Po220" => [ 7703.2244 , 0.0804 ,"D"], -"At220" => [ 7703.7033 , 0.0635 ,"D"], -"Rn220" => [ 7717.2552 , 0.0082 ,"D"], -"Fr220" => [ 7709.7430 , 0.0183 ,"D"], -"Ra220" => [ 7711.6879 , 0.0345 ,"D"], -"Ac220" => [ 7692.3515 , 0.0279 ,"D"], -"Th220" => [ 7684.4964 , 0.0622 ,"D"], -"Pa220" => [ 7655.5364 , 0.0666 ,"D"], -"U220" => [ 7640 , 0 ,"E"], -"Np220" => [ 7602.0758 , 0.1396 ,"D"], -"Bi221" => [ 7668 , 1 ,"E"], -"Po221" => [ 7684.4814 , 0.0885 ,"D"], -"At221" => [ 7694.4754 , 0.0632 ,"D"], -"Rn221" => [ 7701.3941 , 0.0259 ,"D"], -"Fr221" => [ 7703.2572 , 0.0221 ,"D"], -"Ra221" => [ 7701.1352 , 0.0210 ,"D"], -"Ac221" => [ 7690.5039 , 0.2575 ,"D"], -"Th221" => [ 7676.0640 , 0.0362 ,"D"], -"Pa221" => [ 7656.9809 , 0.2687 ,"D"], -"U221" => [ 7634.6849 , 0.3264 ,"D"], -"Np221" => [ 7607 , 1 ,"E"], -"Pu221" => [ 7576 , 1 ,"E"], -"Bi222" => [ 7648 , 1 ,"E"], -"Po222" => [ 7674.0054 , 0.1804 ,"D"], -"At222" => [ 7677.3878 , 0.0713 ,"D"], -"Rn222" => [ 7694.4991 , 0.0088 ,"D"], -"Fr222" => [ 7690.9474 , 0.0336 ,"D"], -"Ra222" => [ 7696.6931 , 0.0201 ,"D"], -"Ac222" => [ 7682.8015 , 0.0212 ,"D"], -"Th222" => [ 7676.6592 , 0.0460 ,"D"], -"Pa222" => [ 7651.2373 , 0.3901 ,"D"], -"U222" => [ 7637.7651 , 0.2342 ,"D"], -"Np222" => [ 7602.7013 , 0.1714 ,"D"], -"Pu222" => [ 7582 , 1 ,"E"], -"Bi223" => [ 7636 , 2 ,"E"], -"Po223" => [ 7655 , 1 ,"E"], -"At223" => [ 7668.0557 , 0.0627 ,"D"], -"Rn223" => [ 7678.1720 , 0.0351 ,"D"], -"Fr223" => [ 7683.6655 , 0.0087 ,"D"], -"Ra223" => [ 7685.3101 , 0.0094 ,"D"], -"Ac223" => [ 7679.1479 , 0.0312 ,"D"], -"Th223" => [ 7668.6426 , 0.0356 ,"D"], -"Pa223" => [ 7651.8957 , 0.3392 ,"D"], -"U223" => [ 7631.7611 , 0.2648 ,"D"], -"Np223" => [ 7607.5654 , 0.3716 ,"D"], -"Pu223" => [ 7580 , 1 ,"E"], -"Am223" => [ 7547 , 1 ,"E"], -"Bi224" => [ 7616 , 2 ,"E"], -"Po224" => [ 7644 , 1 ,"E"], -"At224" => [ 7650.7354 , 0.0998 ,"D"], -"Rn224" => [ 7670.7514 , 0.0438 ,"D"], -"Fr224" => [ 7670.3680 , 0.0499 ,"D"], -"Ra224" => [ 7679.9236 , 0.0081 ,"D"], -"Ac224" => [ 7670.1438 , 0.0183 ,"D"], -"Th224" => [ 7667.7162 , 0.0429 ,"D"], -"Pa224" => [ 7646.9612 , 0.0339 ,"D"], -"U224" => [ 7635.0742 , 0.0681 ,"D"], -"Np224" => [ 7603.5032 , 0.1291 ,"D"], -"Pu224" => [ 7586 , 1 ,"E"], -"Am224" => [ 7546 , 2 ,"E"], -"Po225" => [ 7626 , 1 ,"E"], -"At225" => [ 7641 , 1 ,"E"], -"Rn225" => [ 7654.3581 , 0.0495 ,"D"], -"Fr225" => [ 7662.9412 , 0.0532 ,"D"], -"Ra225" => [ 7667.5866 , 0.0115 ,"D"], -"Ac225" => [ 7665.6906 , 0.0211 ,"D"], -"Th225" => [ 7659.2229 , 0.0226 ,"D"], -"Pa225" => [ 7646.6504 , 0.3639 ,"D"], -"U225" => [ 7629.7717 , 0.0442 ,"D"], -"Np225" => [ 7607.4231 , 0.4072 ,"D"], -"Pu225" => [ 7583 , 1 ,"E"], -"Am225" => [ 7553 , 2 ,"E"], -"Po226" => [ 7614 , 2 ,"E"], -"At226" => [ 7624 , 1 ,"E"], -"Rn226" => [ 7646.4108 , 0.0464 ,"D"], -"Fr226" => [ 7648.3768 , 0.0276 ,"D"], -"Ra226" => [ 7661.9636 , 0.0085 ,"D"], -"Ac226" => [ 7655.6628 , 0.0137 ,"D"], -"Th226" => [ 7657.1195 , 0.0198 ,"D"], -"Pa226" => [ 7641.1093 , 0.0496 ,"D"], -"U226" => [ 7631.9166 , 0.0490 ,"D"], -"Np226" => [ 7604.1714 , 0.4516 ,"D"], -"Pu226" => [ 7588 , 1 ,"E"], -"Am226" => [ 7552 , 1 ,"E"], -"Po227" => [ 7596 , 2 ,"E"], -"At227" => [ 7613 , 1 ,"E"], -"Rn227" => [ 7630.0508 , 0.0621 ,"D"], -"Fr227" => [ 7640.7162 , 0.0260 ,"D"], -"Ra227" => [ 7648.3048 , 0.0086 ,"D"], -"Ac227" => [ 7650.7084 , 0.0085 ,"D"], -"Th227" => [ 7647.4591 , 0.0092 ,"D"], -"Pa227" => [ 7639.4945 , 0.0320 ,"D"], -"U227" => [ 7626.2918 , 0.0375 ,"D"], -"Np227" => [ 7607.2771 , 0.3392 ,"D"], -"Pu227" => [ 7585 , 0 ,"E"], -"Am227" => [ 7558 , 1 ,"E"], -"At228" => [ 7596 , 2 ,"E"], -"Rn228" => [ 7621.6457 , 0.0775 ,"D"], -"Fr228" => [ 7626.3689 , 0.0295 ,"D"], -"Ra228" => [ 7642.4289 , 0.0088 ,"D"], -"Ac228" => [ 7639.1973 , 0.0092 ,"D"], -"Th228" => [ 7645.0807 , 0.0079 ,"D"], -"Pa228" => [ 7632.2076 , 0.0190 ,"D"], -"U228" => [ 7627.4763 , 0.0591 ,"D"], -"Np228" => [ 7604 , 0 ,"E"], -"Pu228" => [ 7590.4039 , 0.1024 ,"D"], -"Am228" => [ 7557 , 1 ,"E"], -"At229" => [ 7585 , 2 ,"E"], -"Rn229" => [ 7605.6227 , 0.0569 ,"D"], -"Fr229" => [ 7618.3380 , 0.0218 ,"D"], -"Ra229" => [ 7628.4862 , 0.0674 ,"D"], -"Ac229" => [ 7633.2446 , 0.0529 ,"D"], -"Th229" => [ 7634.6510 , 0.0105 ,"D"], -"Pa229" => [ 7629.8752 , 0.0143 ,"D"], -"U229" => [ 7620.7218 , 0.0259 ,"D"], -"Np229" => [ 7605.9921 , 0.4418 ,"D"], -"Pu229" => [ 7586.8834 , 0.2648 ,"D"], -"Am229" => [ 7562.5697 , 0.4644 ,"D"], -"Rn230" => [ 7595 , 1 ,"E"], -"Fr230" => [ 7603.7052 , 0.0284 ,"D"], -"Ra230" => [ 7621.9144 , 0.0448 ,"D"], -"Ac230" => [ 7621.4604 , 0.0689 ,"D"], -"Th230" => [ 7630.9974 , 0.0053 ,"D"], -"Pa230" => [ 7621.8958 , 0.0132 ,"D"], -"U230" => [ 7620.9227 , 0.0196 ,"D"], -"Np230" => [ 7601.7751 , 0.2392 ,"D"], -"Pu230" => [ 7591.0016 , 0.0628 ,"D"], -"Am230" => [ 7562 , 1 ,"E"], -"Rn231" => [ 7579 , 1 ,"E"], -"Fr231" => [ 7594.5009 , 0.0335 ,"D"], -"Ra231" => [ 7607.8418 , 0.0492 ,"D"], -"Ac231" => [ 7615.0768 , 0.0565 ,"D"], -"Th231" => [ 7620.1188 , 0.0053 ,"D"], -"Pa231" => [ 7618.4267 , 0.0077 ,"D"], -"U231" => [ 7613.3879 , 0.0116 ,"D"], -"Np231" => [ 7602.1321 , 0.2214 ,"D"], -"Pu231" => [ 7587.1224 , 0.0955 ,"D"], -"Am231" => [ 7566 , 1 ,"E"], -"Cm231" => [ 7542 , 1 ,"E"], -"Fr232" => [ 7579.3481 , 0.0602 ,"D"], -"Ra232" => [ 7600.0099 , 0.0394 ,"D"], -"Ac232" => [ 7602.4245 , 0.0562 ,"D"], -"Th232" => [ 7615.0338 , 0.0061 ,"D"], -"Pa232" => [ 7609.5072 , 0.0330 ,"D"], -"U232" => [ 7611.8984 , 0.0078 ,"D"], -"Np232" => [ 7597 , 0 ,"E"], -"Pu232" => [ 7588.9839 , 0.0728 ,"D"], -"Am232" => [ 7564 , 1 ,"E"], -"Cm232" => [ 7548 , 1 ,"E"], -"Fr233" => [ 7569.2398 , 0.0840 ,"D"], -"Ra233" => [ 7585.5644 , 0.0369 ,"D"], -"Ac233" => [ 7595.1939 , 0.0560 ,"D"], -"Th233" => [ 7602.8937 , 0.0061 ,"D"], -"Pa233" => [ 7604.8675 , 0.0057 ,"D"], -"U233" => [ 7603.9574 , 0.0097 ,"D"], -"Np233" => [ 7596.1816 , 0.2188 ,"D"], -"Pu233" => [ 7583.7968 , 0.2325 ,"D"], -"Am233" => [ 7567 , 0 ,"E"], -"Cm233" => [ 7546.0020 , 0.3480 ,"D"], -"Bk233" => [ 7519 , 1 ,"E"], -"Ra234" => [ 7576.5439 , 0.0358 ,"D"], -"Ac234" => [ 7582.1297 , 0.0597 ,"D"], -"Th234" => [ 7596.8557 , 0.0111 ,"D"], -"Pa234" => [ 7594.6837 , 0.0175 ,"D"], -"U234" => [ 7600.7160 , 0.0048 ,"D"], -"Np234" => [ 7589.6382 , 0.0359 ,"D"], -"Pu234" => [ 7584.6061 , 0.0291 ,"D"], -"Am234" => [ 7564 , 1 ,"E"], -"Cm234" => [ 7550.6868 , 0.0730 ,"D"], -"Bk234" => [ 7519 , 1 ,"E"], -"Ra235" => [ 7561 , 1 ,"E"], -"Ac235" => [ 7573.5051 , 0.0595 ,"D"], -"Th235" => [ 7584.3862 , 0.0555 ,"D"], -"Pa235" => [ 7588.4139 , 0.0595 ,"D"], -"U235" => [ 7590.9151 , 0.0048 ,"D"], -"Np235" => [ 7587.0571 , 0.0059 ,"D"], -"Pu235" => [ 7578.8799 , 0.0873 ,"D"], -"Am235" => [ 7565.1582 , 0.2246 ,"D"], -"Cm235" => [ 7547 , 0 ,"E"], -"Bk235" => [ 7524 , 2 ,"E"], -"Ac236" => [ 7559.2423 , 0.1618 ,"D"], -"Th236" => [ 7576.9688 , 0.0592 ,"D"], -"Pa236" => [ 7577.5573 , 0.0592 ,"D"], -"U236" => [ 7586.4854 , 0.0047 ,"D"], -"Np236" => [ 7579.2148 , 0.2136 ,"D"], -"Pu236" => [ 7577.9192 , 0.0077 ,"D"], -"Am236" => [ 7561 , 1 ,"E"], -"Cm236" => [ 7550.3090 , 0.0747 ,"D"], -"Bk236" => [ 7523 , 2 ,"E"], -"Ac237" => [ 7550 , 2 ,"E"], -"Th237" => [ 7563.4433 , 0.0668 ,"D"], -"Pa237" => [ 7570.3847 , 0.0550 ,"D"], -"U237" => [ 7576.1026 , 0.0051 ,"D"], -"Np237" => [ 7574.9895 , 0.0047 ,"D"], -"Pu237" => [ 7570.7599 , 0.0072 ,"D"], -"Am237" => [ 7561 , 0 ,"E"], -"Cm237" => [ 7546.6241 , 0.3139 ,"D"], -"Bk237" => [ 7527 , 1 ,"E"], -"Cf237" => [ 7503.3507 , 0.4107 ,"D"], -"Th238" => [ 7555 , 1 ,"E"], -"Pa238" => [ 7558.3449 , 0.0665 ,"D"], -"U238" => [ 7570.1262 , 0.0063 ,"D"], -"Np238" => [ 7566.2220 , 0.0048 ,"D"], -"Pu238" => [ 7568.3611 , 0.0048 ,"D"], -"Am238" => [ 7555.5853 , 0.2475 ,"D"], -"Cm238" => [ 7547.9966 , 0.0514 ,"D"], -"Bk238" => [ 7525 , 1 ,"E"], -"Cf238" => [ 7509 , 1 ,"E"], -"Th239" => [ 7540 , 2 ,"E"], -"Pa239" => [ 7550 , 1 ,"E"], -"U239" => [ 7558.5624 , 0.0063 ,"D"], -"Np239" => [ 7560.5680 , 0.0055 ,"D"], -"Pu239" => [ 7560.3187 , 0.0047 ,"D"], -"Am239" => [ 7553.6891 , 0.0083 ,"D"], -"Cm239" => [ 7543.0659 , 0.6279 ,"D"], -"Bk239" => [ 7527 , 1 ,"E"], -"Cf239" => [ 7507 , 1 ,"E"], -"Es239" => [ 7481 , 1 ,"E"], -"Pa240" => [ 7537 , 1 ,"E"], -"U240" => [ 7551.7705 , 0.0106 ,"D"], -"Np240" => [ 7550.1743 , 0.0710 ,"D"], -"Pu240" => [ 7556.0433 , 0.0046 ,"D"], -"Am240" => [ 7547.0136 , 0.0576 ,"D"], -"Cm240" => [ 7542.8617 , 0.0079 ,"D"], -"Bk240" => [ 7523 , 1 ,"E"], -"Cf240" => [ 7510.2400 , 0.0751 ,"D"], -"Es240" => [ 7481 , 2 ,"E"], -"Pa241" => [ 7528 , 1 ,"E"], -"U241" => [ 7539 , 1 ,"E"], -"Np241" => [ 7544.0426 , 0.4150 ,"D"], -"Pu241" => [ 7546.4395 , 0.0046 ,"D"], -"Am241" => [ 7543.2795 , 0.0046 ,"D"], -"Cm241" => [ 7536.8488 , 0.0067 ,"D"], -"Bk241" => [ 7524 , 1 ,"E"], -"Cf241" => [ 7507 , 1 ,"E"], -"Es241" => [ 7485 , 1 ,"E"], -"Fm241" => [ 7459 , 1 ,"E"], -"U242" => [ 7532 , 1 ,"E"], -"Np242" => [ 7533.4042 , 0.8265 ,"D"], -"Pu242" => [ 7541.3284 , 0.0052 ,"D"], -"Am242" => [ 7534.9917 , 0.0046 ,"D"], -"Cm242" => [ 7534.5040 , 0.0047 ,"D"], -"Bk242" => [ 7519 , 1 ,"E"], -"Cf242" => [ 7509.0991 , 0.0533 ,"D"], -"Es242" => [ 7483 , 1 ,"E"], -"Fm242" => [ 7465 , 2 ,"E"], -"U243" => [ 7518 , 1 ,"E"], -"Np243" => [ 7526 , 0 ,"E"], -"Pu243" => [ 7531.0087 , 0.0105 ,"D"], -"Am243" => [ 7530.1742 , 0.0057 ,"D"], -"Cm243" => [ 7526.9261 , 0.0062 ,"D"], -"Bk243" => [ 7517.5021 , 0.0186 ,"D"], -"Cf243" => [ 7505 , 1 ,"E"], -"Es243" => [ 7486 , 1 ,"E"], -"Fm243" => [ 7464 , 1 ,"E"], -"Np244" => [ 7514 , 0 ,"E"], -"Pu244" => [ 7524.8154 , 0.0096 ,"D"], -"Am244" => [ 7521.3095 , 0.0061 ,"D"], -"Cm244" => [ 7523.9527 , 0.0045 ,"D"], -"Bk244" => [ 7511.4759 , 0.0590 ,"D"], -"Cf244" => [ 7505.1373 , 0.0107 ,"D"], -"Es244" => [ 7483 , 1 ,"E"], -"Fm244" => [ 7468 , 1 ,"E"], -"Md244" => [ 7438 , 2 ,"E"], -"Np245" => [ 7506 , 1 ,"E"], -"Pu245" => [ 7513.2822 , 0.0556 ,"D"], -"Am245" => [ 7515.3043 , 0.0077 ,"D"], -"Cm245" => [ 7515.7677 , 0.0047 ,"D"], -"Bk245" => [ 7509.2714 , 0.0073 ,"D"], -"Cf245" => [ 7499.6644 , 0.0099 ,"D"], -"Es245" => [ 7485 , 1 ,"E"], -"Fm245" => [ 7465 , 1 ,"E"], -"Md245" => [ 7441 , 1 ,"E"], -"Pu246" => [ 7506.5401 , 0.0609 ,"D"], -"Am246" => [ 7505 , 0 ,"E"], -"Cm246" => [ 7511.4716 , 0.0062 ,"D"], -"Bk246" => [ 7502.8035 , 0.2440 ,"D"], -"Cf246" => [ 7499.1220 , 0.0062 ,"D"], -"Es246" => [ 7480.7849 , 0.3655 ,"D"], -"Fm246" => [ 7467.9608 , 0.0556 ,"D"], -"Md246" => [ 7441 , 1 ,"E"], -"Pu247" => [ 7493 , 1 ,"E"], -"Am247" => [ 7499 , 0 ,"E"], -"Cm247" => [ 7501.9318 , 0.0154 ,"D"], -"Bk247" => [ 7498.9408 , 0.0210 ,"D"], -"Cf247" => [ 7493.2638 , 0.0580 ,"D"], -"Es247" => [ 7480.1005 , 0.0787 ,"D"], -"Fm247" => [ 7464 , 1 ,"E"], -"Md247" => [ 7444 , 1 ,"E"], -"Am248" => [ 7487 , 1 ,"E"], -"Cm248" => [ 7496.7291 , 0.0095 ,"D"], -"Bk248" => [ 7490.5975 , 0.2018 ,"D"], -"Cf248" => [ 7491.0440 , 0.0207 ,"D"], -"Es248" => [ 7476 , 0 ,"E"], -"Fm248" => [ 7465.9451 , 0.0343 ,"D"], -"Md248" => [ 7442 , 1 ,"E"], -"No248" => [ 7424 , 1 ,"E"], -"Am249" => [ 7479 , 1 ,"E"], -"Cm249" => [ 7485.5510 , 0.0095 ,"D"], -"Bk249" => [ 7486.0410 , 0.0050 ,"D"], -"Cf249" => [ 7483.3954 , 0.0048 ,"D"], -"Es249" => [ 7474 , 0 ,"E"], -"Fm249" => [ 7461.8649 , 0.0249 ,"D"], -"Md249" => [ 7444.0169 , 0.6603 ,"D"], -"No249" => [ 7422 , 1 ,"E"], -"Cm250" => [ 7478.9385 , 0.0411 ,"D"], -"Bk250" => [ 7475.9594 , 0.0116 ,"D"], -"Cf250" => [ 7479.9567 , 0.0062 ,"D"], -"Es250" => [ 7469 , 0 ,"E"], -"Fm250" => [ 7462.0905 , 0.0316 ,"D"], -"Md250" => [ 7441.6533 , 0.3637 ,"D"], -"No250" => [ 7426 , 1 ,"E"], -"Cm251" => [ 7466.7233 , 0.0904 ,"D"], -"Bk251" => [ 7469.2637 , 0.0428 ,"D"], -"Cf251" => [ 7470.5014 , 0.0155 ,"D"], -"Es251" => [ 7465.8842 , 0.0211 ,"D"], -"Fm251" => [ 7457.0013 , 0.0569 ,"D"], -"Md251" => [ 7441.9005 , 0.0754 ,"D"], -"No251" => [ 7423 , 1 ,"E"], -"Lr251" => [ 7400 , 1 ,"E"], -"Cm252" => [ 7460 , 1 ,"E"], -"Bk252" => [ 7459 , 1 ,"E"], -"Cf252" => [ 7465.3474 , 0.0094 ,"D"], -"Es252" => [ 7457.2428 , 0.1986 ,"D"], -"Fm252" => [ 7456.0351 , 0.0207 ,"D"], -"Md252" => [ 7438.4444 , 0.3622 ,"D"], -"No252" => [ 7425.7992 , 0.0369 ,"D"], -"Lr252" => [ 7400 , 1 ,"E"], -"Bk253" => [ 7451 , 1 ,"E"], -"Cf253" => [ 7454.8297 , 0.0168 ,"D"], -"Es253" => [ 7452.8879 , 0.0049 ,"D"], -"Fm253" => [ 7448.4712 , 0.0061 ,"D"], -"Md253" => [ 7438 , 0 ,"E"], -"No253" => [ 7422.4719 , 0.0273 ,"D"], -"Lr253" => [ 7402.9180 , 0.6503 ,"D"], -"Rf253" => [ 7380 , 2 ,"E"], -"Bk254" => [ 7440 , 1 ,"E"], -"Cf254" => [ 7449.2259 , 0.0451 ,"D"], -"Es254" => [ 7443.5759 , 0.0116 ,"D"], -"Fm254" => [ 7444.7936 , 0.0073 ,"D"], -"Md254" => [ 7432 , 0 ,"E"], -"No254" => [ 7423.5909 , 0.0380 ,"D"], -"Lr254" => [ 7401.1306 , 0.3595 ,"D"], -"Rf254" => [ 7384 , 1 ,"E"], -"Cf255" => [ 7438 , 1 ,"E"], -"Es255" => [ 7437.8216 , 0.0424 ,"D"], -"Fm255" => [ 7435.8860 , 0.0154 ,"D"], -"Md255" => [ 7428.7333 , 0.0218 ,"D"], -"No255" => [ 7417.9403 , 0.0551 ,"D"], -"Lr255" => [ 7402.5767 , 0.0694 ,"D"], -"Rf255" => [ 7382 , 1 ,"E"], -"Db255" => [ 7359 , 1 ,"E"], -"Cf256" => [ 7432 , 1 ,"E"], -"Es256" => [ 7428 , 0 ,"E"], -"Fm256" => [ 7431.7888 , 0.0118 ,"D"], -"Md256" => [ 7421 , 0 ,"E"], -"No256" => [ 7416.5429 , 0.0295 ,"D"], -"Lr256" => [ 7398.1605 , 0.3238 ,"D"], -"Rf256" => [ 7385.4349 , 0.0697 ,"D"], -"Db256" => [ 7359 , 1 ,"E"], -"Es257" => [ 7422 , 2 ,"E"], -"Fm257" => [ 7422.1942 , 0.0169 ,"D"], -"Md257" => [ 7417.5845 , 0.0061 ,"D"], -"No257" => [ 7409.6587 , 0.0241 ,"D"], -"Lr257" => [ 7397 , 0 ,"E"], -"Rf257" => [ 7381.7053 , 0.0421 ,"D"], -"Db257" => [ 7361.9767 , 0.6406 ,"D"], -"Es258" => [ 7412 , 2 ,"E"], -"Fm258" => [ 7418 , 1 ,"E"], -"Md258" => [ 7409.6615 , 0.0135 ,"D"], -"No258" => [ 7407 , 0 ,"E"], -"Lr258" => [ 7392 , 0 ,"E"], -"Rf258" => [ 7382.5257 , 0.0624 ,"D"], -"Db258" => [ 7359.4803 , 0.3560 ,"D"], -"Sg258" => [ 7342 , 2 ,"E"], -"Fm259" => [ 7407 , 1 ,"E"], -"Md259" => [ 7405 , 0 ,"E"], -"No259" => [ 7399.9714 , 0.0246 ,"D"], -"Lr259" => [ 7390 , 0 ,"E"], -"Rf259" => [ 7377 , 0 ,"E"], -"Db259" => [ 7360.3626 , 0.2189 ,"D"], -"Sg259" => [ 7340 , 1 ,"E"], -"Fm260" => [ 7402 , 2 ,"E"], -"Md260" => [ 7396 , 1 ,"E"], -"No260" => [ 7397 , 1 ,"E"], -"Lr260" => [ 7383 , 0 ,"E"], -"Rf260" => [ 7377 , 1 ,"E"], -"Db260" => [ 7357 , 0 ,"E"], -"Sg260" => [ 7342.5632 , 0.0790 ,"D"], -"Bh260" => [ 7314 , 1 ,"E"], -"Md261" => [ 7391 , 2 ,"E"], -"No261" => [ 7388 , 1 ,"E"], -"Lr261" => [ 7381 , 1 ,"E"], -"Rf261" => [ 7371.3858 , 0.2516 ,"D"], -"Db261" => [ 7357 , 0 ,"E"], -"Sg261" => [ 7339.7710 , 0.0709 ,"D"], -"Bh261" => [ 7317.3313 , 0.6889 ,"D"], -"Md262" => [ 7382 , 2 ,"E"], -"No262" => [ 7385 , 1 ,"E"], -"Lr262" => [ 7374 , 1 ,"E"], -"Rf262" => [ 7370 , 1 ,"E"], -"Db262" => [ 7352 , 1 ,"E"], -"Sg262" => [ 7341.1736 , 0.0846 ,"D"], -"Bh262" => [ 7315.7331 , 0.3552 ,"D"], -"No263" => [ 7376 , 2 ,"E"], -"Lr263" => [ 7371 , 1 ,"E"], -"Rf263" => [ 7364 , 1 ,"E"], -"Db263" => [ 7352 , 1 ,"E"], -"Sg263" => [ 7337 , 0 ,"E"], -"Bh263" => [ 7318 , 1 ,"E"], -"Hs263" => [ 7295 , 1 ,"E"], -"No264" => [ 7371 , 2 ,"E"], -"Lr264" => [ 7363 , 2 ,"E"], -"Rf264" => [ 7361 , 1 ,"E"], -"Db264" => [ 7346 , 1 ,"E"], -"Sg264" => [ 7338 , 1 ,"E"], -"Bh264" => [ 7315 , 1 ,"E"], -"Hs264" => [ 7298.3762 , 0.1094 ,"D"], -"Lr265" => [ 7359 , 2 ,"E"], -"Rf265" => [ 7354 , 1 ,"E"], -"Db265" => [ 7345 , 1 ,"E"], -"Sg265" => [ 7333 , 1 ,"E"], -"Bh265" => [ 7316 , 1 ,"E"], -"Hs265" => [ 7296.2474 , 0.0904 ,"D"], -"Mt265" => [ 7272 , 2 ,"E"], -"Lr266" => [ 7349 , 2 ,"E"], -"Rf266" => [ 7351 , 2 ,"E"], -"Db266" => [ 7339 , 1 ,"E"], -"Sg266" => [ 7332 , 1 ,"E"], -"Bh266" => [ 7313 , 1 ,"E"], -"Hs266" => [ 7298.2611 , 0.1019 ,"D"], -"Mt266" => [ 7270.7598 , 0.3627 ,"D"], -"Rf267" => [ 7342 , 2 ,"E"], -"Db267" => [ 7337 , 1 ,"E"], -"Sg267" => [ 7327 , 1 ,"E"], -"Bh267" => [ 7313 , 1 ,"E"], -"Hs267" => [ 7295 , 0 ,"E"], -"Mt267" => [ 7273 , 2 ,"E"], -"Ds267" => [ 7248 , 1 ,"E"], -"Rf268" => [ 7337 , 2 ,"E"], -"Db268" => [ 7328 , 2 ,"E"], -"Sg268" => [ 7326 , 2 ,"E"], -"Bh268" => [ 7309 , 1 ,"E"], -"Hs268" => [ 7297 , 1 ,"E"], -"Mt268" => [ 7271 , 1 ,"E"], -"Ds268" => [ 7252 , 1 ,"E"], -"Db269" => [ 7323 , 2 ,"E"], -"Sg269" => [ 7318 , 1 ,"E"], -"Bh269" => [ 7309 , 1 ,"E"], -"Hs269" => [ 7294 , 0 ,"E"], -"Mt269" => [ 7274 , 1 ,"E"], -"Ds269" => [ 7250.1551 , 0.1167 ,"D"], -"Db270" => [ 7314 , 2 ,"E"], -"Sg270" => [ 7314 , 2 ,"E"], -"Bh270" => [ 7301 , 1 ,"E"], -"Hs270" => [ 7295 , 1 ,"E"], -"Mt270" => [ 7271 , 1 ,"E"], -"Ds270" => [ 7253.7634 , 0.1455 ,"D"], -"Sg271" => [ 7305 , 2 ,"E"], -"Bh271" => [ 7298 , 1 ,"E"], -"Hs271" => [ 7288 , 1 ,"E"], -"Mt271" => [ 7273 , 1 ,"E"], -"Ds271" => [ 7252 , 0 ,"E"], -"Sg272" => [ 7301 , 3 ,"E"], -"Bh272" => [ 7290 , 2 ,"E"], -"Hs272" => [ 7286 , 2 ,"E"], -"Mt272" => [ 7267 , 2 ,"E"], -"Ds272" => [ 7255 , 2 ,"E"], -"Rg272" => [ 7227 , 1 ,"E"], -"Sg273" => [ 7292 , 1 ,"E"], -"Bh273" => [ 7286 , 2 ,"E"], -"Hs273" => [ 7279 , 1 ,"E"], -"Mt273" => [ 7265 , 2 ,"E"], -"Ds273" => [ 7250 , 1 ,"E"], -"Rg273" => [ 7230 , 1 ,"E"], -"Bh274" => [ 7278 , 2 ,"E"], -"Hs274" => [ 7276 , 2 ,"E"], -"Mt274" => [ 7259 , 1 ,"E"], -"Ds274" => [ 7249 , 1 ,"E"], -"Rg274" => [ 7227 , 1 ,"E"], -"Bh275" => [ 7273 , 2 ,"E"], -"Hs275" => [ 7268 , 2 ,"E"], -"Mt275" => [ 7257 , 1 ,"E"], -"Ds275" => [ 7243 , 1 ,"E"], -"Rg275" => [ 7227 , 2 ,"E"], -"Bh276" => [ 7265 , 2 ,"E"], -"Hs276" => [ 7265 , 3 ,"E"], -"Mt276" => [ 7250 , 2 ,"E"], -"Ds276" => [ 7243 , 2 ,"E"], -"Rg276" => [ 7223 , 2 ,"E"], -"Cn276" => [ 7209 , 2 ,"E"], -"Bh277" => [ 7260 , 2 ,"E"], -"Hs277" => [ 7256 , 2 ,"E"], -"Mt277" => [ 7247 , 2 ,"E"], -"Ds277" => [ 7237 , 1 ,"E"], -"Rg277" => [ 7222 , 2 ,"E"], -"Cn277" => [ 7205 , 1 ,"E"], -"Bh278" => [ 7251 , 1 ,"E"], -"Hs278" => [ 7252 , 1 ,"E"], -"Mt278" => [ 7240 , 2 ,"E"], -"Ds278" => [ 7236 , 2 ,"E"], -"Rg278" => [ 7218 , 1 ,"E"], -"Cn278" => [ 7206 , 2 ,"E"], -"Nh278" => [ 7181 , 1 ,"E"], -"Hs279" => [ 7243 , 2 ,"E"], -"Mt279" => [ 7237 , 2 ,"E"], -"Ds279" => [ 7229 , 2 ,"E"], -"Rg279" => [ 7216 , 2 ,"E"], -"Cn279" => [ 7202 , 1 ,"E"], -"Nh279" => [ 7183 , 2 ,"E"], -"Hs280" => [ 7239 , 2 ,"E"], -"Mt280" => [ 7229 , 2 ,"E"], -"Ds280" => [ 7227 , 3 ,"E"], -"Rg280" => [ 7212 , 2 ,"E"], -"Cn280" => [ 7202 , 2 ,"E"], -"Nh280" => [ 7180 , 1 ,"E"], -"Mt281" => [ 7225 , 2 ,"E"], -"Ds281" => [ 7220 , 2 ,"E"], -"Rg281" => [ 7209 , 3 ,"E"], -"Cn281" => [ 7197 , 1 ,"E"], -"Nh281" => [ 7181 , 1 ,"E"], -"Mt282" => [ 7218 , 2 ,"E"], -"Ds282" => [ 7217 , 1 ,"E"], -"Rg282" => [ 7204 , 2 ,"E"], -"Cn282" => [ 7197 , 2 ,"E"], -"Nh282" => [ 7177 , 1 ,"E"], -"Ds283" => [ 7210 , 2 ,"E"], -"Rg283" => [ 7201 , 2 ,"E"], -"Cn283" => [ 7192 , 2 ,"E"], -"Nh283" => [ 7177 , 2 ,"E"], -"Ds284" => [ 7207 , 2 ,"E"], -"Rg284" => [ 7195 , 2 ,"E"], -"Cn284" => [ 7191 , 3 ,"E"], -"Nh284" => [ 7173 , 2 ,"E"], -"Fl284" => [ 7163 , 2 ,"E"], -"Rg285" => [ 7192 , 2 ,"E"], -"Cn285" => [ 7185 , 2 ,"E"], -"Nh285" => [ 7172 , 3 ,"E"], -"Fl285" => [ 7159 , 1 ,"E"], -"Rg286" => [ 7185 , 2 ,"E"], -"Cn286" => [ 7183 , 2 ,"E"], -"Nh286" => [ 7168 , 2 ,"E"], -"Fl286" => [ 7159 , 2 ,"E"], -"Cn287" => [ 7176 , 2 ,"E"], -"Nh287" => [ 7166 , 2 ,"E"], -"Fl287" => [ 7155 , 2 ,"E"], -"Mc287" => [ 7139 , 2 ,"E"], -"Cn288" => [ 7174 , 2 ,"E"], -"Nh288" => [ 7160 , 2 ,"E"], -"Fl288" => [ 7154 , 3 ,"E"], -"Mc288" => [ 7135 , 2 ,"E"], -"Nh289" => [ 7158 , 2 ,"E"], -"Fl289" => [ 7149 , 2 ,"E"], -"Mc289" => [ 7135 , 3 ,"E"], -"Lv289" => [ 7119 , 2 ,"E"], -"Nh290" => [ 7152 , 2 ,"E"], -"Fl290" => [ 7147 , 2 ,"E"], -"Mc290" => [ 7131 , 2 ,"E"], -"Lv290" => [ 7120 , 2 ,"E"], -"Fl291" => [ 7141 , 2 ,"E"], -"Mc291" => [ 7129 , 3 ,"E"], -"Lv291" => [ 7116 , 2 ,"E"], -"Ts291" => [ 7098 , 2 ,"E"], -"Mc292" => [ 7124 , 2 ,"E"], -"Lv292" => [ 7116 , 3 ,"E"], -"Ts292" => [ 7095 , 2 ,"E"], -"Lv293" => [ 7111 , 2 ,"E"], -"Ts293" => [ 7095 , 3 ,"E"], -"Og293" => [ 7078 , 2 ,"E"], -"Ts294" => [ 7092 , 2 ,"E"], -"Og294" => [ 7079 , 2 ,"E"], -"Og295" => [ 7076 , 2 ,"E"], -[ 0 , 1 ] => [ 0.0 , 0.0 ,"D"], -[ 1 , 0 ] => [ 0.0 , 0.0 ,"D"], -[ 1 , 1 ] => [ 1112.2831 , 0.0002 ,"D"], -[ 1 , 2 ] => [ 2827.2654 , 0.0003 ,"D"], -[ 2 , 1 ] => [ 2572.68044 , 0.00015 ,"D"], -[ 3 , 0 ] => [ -2267 , 667 ,"E"], -[ 1 , 3 ] => [ 1720.4491 , 25.0000 ,"D"], -[ 2 , 2 ] => [ 7073.9156 , 0.0002 ,"D"], -[ 3 , 1 ] => [ 1153.7603 , 53.0330 ,"D"], -[ 1 , 4 ] => [ 1336.3592 , 17.8885 ,"D"], -[ 2 , 3 ] => [ 5512.1325 , 4.0000 ,"D"], -[ 3 , 2 ] => [ 5266.1325 , 10.0000 ,"D"], -[ 4 , 1 ] => [ 18 , 401 ,"E"], -[ 1 , 5 ] => [ 961.6395 , 42.3545 ,"D"], -[ 2 , 4 ] => [ 4878.5199 , 0.0089 ,"D"], -[ 3 , 3 ] => [ 5332.3312 , 0.0003 ,"D"], -[ 4 , 2 ] => [ 4487.2478 , 0.9080 ,"D"], -[ 5 , 1 ] => [ -467 , 334 ,"E"], -[ 1 , 6 ] => [ 940 , 143 ,"E"], -[ 2 , 5 ] => [ 4123.0578 , 1.0799 ,"D"], -[ 3 , 4 ] => [ 5606.4401 , 0.0006 ,"D"], -[ 4 , 3 ] => [ 5371.5487 , 0.0101 ,"D"], -[ 5 , 2 ] => [ 3558.7055 , 3.5929 ,"D"], -[ 2 , 6 ] => [ 3924.5210 , 0.0111 ,"D"], -[ 3 , 5 ] => [ 5159.7124 , 0.0059 ,"D"], -[ 4 , 4 ] => [ 7062.4356 , 0.0044 ,"D"], -[ 5 , 3 ] => [ 4717.1551 , 0.1250 ,"D"], -[ 6 , 2 ] => [ 3101.5242 , 2.2804 ,"D"], -[ 2 , 7 ] => [ 3349.0380 , 5.2018 ,"D"], -[ 3 , 6 ] => [ 5037.7685 , 0.0207 ,"D"], -[ 4 , 5 ] => [ 6462.6693 , 0.0085 ,"D"], -[ 5 , 4 ] => [ 6257.0713 , 0.1003 ,"D"], -[ 6 , 3 ] => [ 4337.4233 , 0.2374 ,"D"], -[ 2 , 8 ] => [ 2995.1340 , 9.2848 ,"D"], -[ 3 , 7 ] => [ 4531.3512 , 1.2721 ,"D"], -[ 4 , 6 ] => [ 6497.6306 , 0.0081 ,"D"], -[ 5 , 5 ] => [ 6475.0835 , 0.0015 ,"D"], -[ 6 , 4 ] => [ 6032.0426 , 0.0070 ,"D"], -[ 7 , 3 ] => [ 3643.6724 , 40.0000 ,"D"], -[ 3 , 8 ] => [ 4155.3817 , 0.0559 ,"D"], -[ 4 , 7 ] => [ 5952.5402 , 0.0216 ,"D"], -[ 5 , 6 ] => [ 6927.7323 , 0.0011 ,"D"], -[ 6 , 5 ] => [ 6676.4563 , 0.0054 ,"D"], -[ 7 , 4 ] => [ 5358.4023 , 0.4546 ,"D"], -[ 8 , 3 ] => [ 3162.4372 , 5.4580 ,"D"], -[ 3 , 9 ] => [ 3791.5999 , 2.5005 ,"D"], -[ 4 , 8 ] => [ 5720.7223 , 0.1590 ,"D"], -[ 5 , 7 ] => [ 6631.2237 , 0.1101 ,"D"], -[ 6 , 6 ] => [ 7680.1446 , 0.0002 ,"D"], -[ 7 , 5 ] => [ 6170.1100 , 0.0833 ,"D"], -[ 8 , 4 ] => [ 4881.9755 , 1.0000 ,"D"], -[ 3 , 10 ] => [ 3507.6307 , 5.3848 ,"D"], -[ 4 , 9 ] => [ 5241.4359 , 0.7831 ,"D"], -[ 5 , 8 ] => [ 6496.4194 , 0.0769 ,"D"], -[ 6 , 7 ] => [ 7469.8495 , 0.0002 ,"D"], -[ 7 , 6 ] => [ 7238.8634 , 0.0207 ,"D"], -[ 8 , 5 ] => [ 5811.7636 , 0.7328 ,"D"], -[ 9 , 4 ] => [ 4297 , 38 ,"E"], -[ 4 , 10 ] => [ 4993.8973 , 9.4461 ,"D"], -[ 5 , 9 ] => [ 6101.6451 , 1.5152 ,"D"], -[ 6 , 8 ] => [ 7520.3198 , 0.0004 ,"D"], -[ 7 , 7 ] => [ 7475.6148 , 0.0002 ,"D"], -[ 8 , 6 ] => [ 7052.2783 , 0.0018 ,"D"], -[ 9 , 5 ] => [ 5285.2091 , 2.9371 ,"D"], -[ 4 , 11 ] => [ 4540.9708 , 11.0532 ,"D"], -[ 5 , 10 ] => [ 5880.0438 , 1.4019 ,"D"], -[ 6 , 9 ] => [ 7100.1696 , 0.0533 ,"D"], -[ 7 , 8 ] => [ 7699.4603 , 0.0002 ,"D"], -[ 8 , 7 ] => [ 7463.6915 , 0.0327 ,"D"], -[ 9 , 6 ] => [ 6497.4597 , 0.9333 ,"D"], -[ 10 , 5 ] => [ 4868.7285 , 4.4456 ,"D"], -[ 4 , 12 ] => [ 4285.2851 , 10.3623 ,"D"], -[ 5 , 11 ] => [ 5507.3535 , 1.5354 ,"D"], -[ 6 , 10 ] => [ 6922.0546 , 0.2236 ,"D"], -[ 7 , 9 ] => [ 7373.7971 , 0.1438 ,"D"], -[ 8 , 8 ] => [ 7976.2072 , 0.0002 ,"D"], -[ 9 , 7 ] => [ 6964.0490 , 0.3353 ,"D"], -[ 10 , 6 ] => [ 6083.1777 , 1.2800 ,"D"], -[ 5 , 12 ] => [ 5269.6677 , 12.0061 ,"D"], -[ 6 , 11 ] => [ 6558.0262 , 1.0215 ,"D"], -[ 7 , 10 ] => [ 7286.2294 , 0.8824 ,"D"], -[ 8 , 9 ] => [ 7750.7291 , 0.0002 ,"D"], -[ 9 , 8 ] => [ 7542.3284 , 0.0146 ,"D"], -[ 10 , 7 ] => [ 6640.4991 , 0.0208 ,"D"], -[ 11 , 6 ] => [ 5522.7653 , 3.5068 ,"D"], -[ 5 , 13 ] => [ 4976.6306 , 11.3425 ,"D"], -[ 6 , 12 ] => [ 6426.1321 , 1.6667 ,"D"], -[ 7 , 11 ] => [ 7038.5627 , 1.0316 ,"D"], -[ 8 , 10 ] => [ 7767.0981 , 0.0002 ,"D"], -[ 9 , 9 ] => [ 7631.6383 , 0.0257 ,"D"], -[ 10 , 8 ] => [ 7341.2577 , 0.0202 ,"D"], -[ 11 , 7 ] => [ 6202.2176 , 5.2156 ,"D"], -[ 5 , 14 ] => [ 4719.6346 , 27.6507 ,"D"], -[ 6 , 13 ] => [ 6118.2740 , 5.1784 ,"D"], -[ 7 , 12 ] => [ 6948.5452 , 0.8634 ,"D"], -[ 8 , 11 ] => [ 7566.4952 , 0.1388 ,"D"], -[ 9 , 10 ] => [ 7779.0192 , 0.0002 ,"D"], -[ 10 , 9 ] => [ 7567.3431 , 0.0084 ,"D"], -[ 11 , 8 ] => [ 6937.8864 , 0.5545 ,"D"], -[ 12 , 7 ] => [ 5901.4992 , 3.1579 ,"D"], -[ 5 , 15 ] => [ 4405.6529 , 27.3178 ,"D"], -[ 6 , 14 ] => [ 5961.4356 , 11.5312 ,"D"], -[ 7 , 13 ] => [ 6709.1717 , 3.9447 ,"D"], -[ 8 , 12 ] => [ 7568.5707 , 0.0442 ,"D"], -[ 9 , 11 ] => [ 7720.1351 , 0.0015 ,"D"], -[ 10 , 10 ] => [ 8032.2412 , 0.0002 ,"D"], -[ 11 , 9 ] => [ 7298.5028 , 0.0554 ,"D"], -[ 12 , 8 ] => [ 6728.0252 , 0.0931 ,"D"], -[ 5 , 16 ] => [ 4152.5265 , 26.6031 ,"D"], -[ 6 , 15 ] => [ 5674 , 28 ,"E"], -[ 7 , 14 ] => [ 6609.0159 , 6.3832 ,"D"], -[ 8 , 13 ] => [ 7389.3747 , 0.5714 ,"D"], -[ 9 , 12 ] => [ 7738.2934 , 0.0857 ,"D"], -[ 10 , 11 ] => [ 7971.7136 , 0.0018 ,"D"], -[ 11 , 10 ] => [ 7765.5581 , 0.0020 ,"D"], -[ 12 , 9 ] => [ 7105.0317 , 0.0359 ,"D"], -[ 13 , 8 ] => [ 6297 , 29 ,"E"], -[ 6 , 16 ] => [ 5421.0778 , 10.5223 ,"D"], -[ 7 , 15 ] => [ 6378.5347 , 9.4445 ,"D"], -[ 8 , 14 ] => [ 7364.8722 , 2.5873 ,"D"], -[ 9 , 13 ] => [ 7624.2954 , 0.5636 ,"D"], -[ 10 , 12 ] => [ 8080.4656 , 0.0008 ,"D"], -[ 11 , 11 ] => [ 7915.6624 , 0.0060 ,"D"], -[ 12 , 10 ] => [ 7662.7645 , 0.0072 ,"D"], -[ 13 , 9 ] => [ 6782 , 18 ,"E"], -[ 14 , 8 ] => [ 6044 , 23 ,"E"], -[ 6 , 17 ] => [ 5077 , 43 ,"E"], -[ 7 , 16 ] => [ 6236.6721 , 18.2856 ,"D"], -[ 8 , 15 ] => [ 7163.4856 , 5.2918 ,"D"], -[ 9 , 14 ] => [ 7622.3447 , 1.4487 ,"D"], -[ 10 , 13 ] => [ 7955.2561 , 0.0045 ,"D"], -[ 11 , 12 ] => [ 8111.4936 , 0.0002 ,"D"], -[ 12 , 11 ] => [ 7901.1229 , 0.0014 ,"D"], -[ 13 , 10 ] => [ 7335.7275 , 0.0150 ,"D"], -[ 14 , 9 ] => [ 6554 , 22 ,"E"], -[ 7 , 17 ] => [ 5887 , 17 ,"E"], -[ 8 , 16 ] => [ 7039.6855 , 6.8698 ,"D"], -[ 9 , 15 ] => [ 7463.5831 , 4.0696 ,"D"], -[ 10 , 14 ] => [ 7993.3252 , 0.0214 ,"D"], -[ 11 , 13 ] => [ 8063.4882 , 0.0007 ,"D"], -[ 12 , 12 ] => [ 8260.7103 , 0.0006 ,"D"], -[ 13 , 11 ] => [ 7649.5806 , 0.0095 ,"D"], -[ 14 , 10 ] => [ 7167.2329 , 0.8113 ,"D"], -[ 15 , 9 ] => [ 6165 , 21 ,"E"], -[ 7 , 18 ] => [ 5613 , 20 ,"E"], -[ 8 , 17 ] => [ 6727.8058 , 6.6034 ,"D"], -[ 9 , 16 ] => [ 7336.3065 , 3.8577 ,"D"], -[ 10 , 15 ] => [ 7839.7994 , 1.1618 ,"D"], -[ 11 , 14 ] => [ 8101.3979 , 0.0480 ,"D"], -[ 12 , 13 ] => [ 8223.5028 , 0.0019 ,"D"], -[ 13 , 12 ] => [ 8021.1366 , 0.0026 ,"D"], -[ 14 , 11 ] => [ 7480.1109 , 0.4000 ,"D"], -[ 15 , 10 ] => [ 6794 , 16 ,"E"], -[ 8 , 18 ] => [ 6497.4790 , 6.3442 ,"D"], -[ 9 , 17 ] => [ 7082.2497 , 4.1164 ,"D"], -[ 10 , 16 ] => [ 7751.9110 , 0.7088 ,"D"], -[ 11 , 15 ] => [ 8004.2013 , 0.1347 ,"D"], -[ 12 , 14 ] => [ 8333.8711 , 0.0011 ,"D"], -[ 13 , 13 ] => [ 8149.7653 , 0.0026 ,"D"], -[ 14 , 12 ] => [ 7924.7083 , 0.0041 ,"D"], -[ 15 , 11 ] => [ 7198 , 8 ,"E"], -[ 16 , 10 ] => [ 6525 , 23 ,"E"], -[ 8 , 19 ] => [ 6185 , 19 ,"E"], -[ 9 , 18 ] => [ 6879.6662 , 4.4518 ,"D"], -[ 10 , 17 ] => [ 7520.4151 , 3.3619 ,"D"], -[ 11 , 16 ] => [ 7956.9467 , 0.1380 ,"D"], -[ 12 , 15 ] => [ 8263.8525 , 0.0018 ,"D"], -[ 13 , 14 ] => [ 8331.5533 , 0.0018 ,"D"], -[ 14 , 13 ] => [ 8124.3420 , 0.0040 ,"D"], -[ 15 , 12 ] => [ 7661.0894 , 0.3334 ,"D"], -[ 16 , 11 ] => [ 6960 , 15 ,"E"], -[ 8 , 20 ] => [ 5988 , 25 ,"E"], -[ 9 , 19 ] => [ 6626.8567 , 4.2981 ,"D"], -[ 10 , 18 ] => [ 7388.3463 , 4.5024 ,"D"], -[ 11 , 17 ] => [ 7799.2644 , 0.3659 ,"D"], -[ 12 , 16 ] => [ 8272.4531 , 0.0093 ,"D"], -[ 13 , 15 ] => [ 8309.8969 , 0.0018 ,"D"], -[ 14 , 14 ] => [ 8447.7445 , 0.0002 ,"D"], -[ 15 , 13 ] => [ 7907.4842 , 0.0410 ,"D"], -[ 16 , 12 ] => [ 7478.7911 , 5.7143 ,"D"], -[ 17 , 11 ] => [ 6587 , 18 ,"E"], -[ 9 , 20 ] => [ 6444.0314 , 18.1160 ,"D"], -[ 10 , 19 ] => [ 7167.0673 , 5.1553 ,"D"], -[ 11 , 18 ] => [ 7682.1522 , 0.2530 ,"D"], -[ 12 , 17 ] => [ 8113.5317 , 0.0119 ,"D"], -[ 13 , 16 ] => [ 8348.4647 , 0.0119 ,"D"], -[ 14 , 15 ] => [ 8448.6361 , 0.0002 ,"D"], -[ 15 , 14 ] => [ 8251.2368 , 0.0124 ,"D"], -[ 16 , 13 ] => [ 7746.3826 , 0.4497 ,"D"], -[ 17 , 12 ] => [ 7129 , 7 ,"E"], -[ 18 , 11 ] => [ 6276 , 15 ,"E"], -[ 9 , 21 ] => [ 6205 , 17 ,"E"], -[ 10 , 20 ] => [ 7034.5317 , 8.4417 ,"D"], -[ 11 , 19 ] => [ 7501.9685 , 0.1576 ,"D"], -[ 12 , 18 ] => [ 8054.4250 , 0.0432 ,"D"], -[ 13 , 17 ] => [ 8261.1049 , 0.0645 ,"D"], -[ 14 , 16 ] => [ 8520.6549 , 0.0008 ,"D"], -[ 15 , 15 ] => [ 8353.5064 , 0.0022 ,"D"], -[ 16 , 14 ] => [ 8122.7081 , 0.0069 ,"D"], -[ 17 , 13 ] => [ 7472.1698 , 0.7959 ,"D"], -[ 18 , 12 ] => [ 6866 , 6 ,"E"], -[ 9 , 22 ] => [ 6011 , 17 ,"E"], -[ 10 , 21 ] => [ 6813.0902 , 8.5869 ,"D"], -[ 11 , 20 ] => [ 7398.6778 , 0.4507 ,"D"], -[ 12 , 19 ] => [ 7869.1886 , 0.0992 ,"D"], -[ 13 , 18 ] => [ 8225.5180 , 0.0721 ,"D"], -[ 14 , 17 ] => [ 8458.2916 , 0.0014 ,"D"], -[ 15 , 16 ] => [ 8481.1677 , 0.0002 ,"D"], -[ 16 , 15 ] => [ 8281.8013 , 0.0074 ,"D"], -[ 17 , 14 ] => [ 7869.2101 , 0.1112 ,"D"], -[ 18 , 13 ] => [ 7252 , 6 ,"E"], -[ 19 , 12 ] => [ 6487 , 10 ,"E"], -[ 10 , 22 ] => [ 6671 , 16 ,"E"], -[ 11 , 21 ] => [ 7219.8815 , 1.1644 ,"D"], -[ 12 , 20 ] => [ 7803.8411 , 0.1019 ,"D"], -[ 13 , 19 ] => [ 8100.3449 , 0.2241 ,"D"], -[ 14 , 18 ] => [ 8481.4690 , 0.0093 ,"D"], -[ 15 , 17 ] => [ 8464.1203 , 0.0013 ,"D"], -[ 16 , 16 ] => [ 8493.1301 , 0.0002 ,"D"], -[ 17 , 15 ] => [ 8072.4058 , 0.0176 ,"D"], -[ 18 , 14 ] => [ 7700.0089 , 0.0553 ,"D"], -[ 19 , 13 ] => [ 6920 , 12 ,"E"], -[ 10 , 23 ] => [ 6436 , 18 ,"E"], -[ 11 , 22 ] => [ 7089.9262 , 13.6337 ,"D"], -[ 12 , 21 ] => [ 7636.4382 , 0.0807 ,"D"], -[ 13 , 20 ] => [ 8020.6172 , 0.2117 ,"D"], -[ 14 , 19 ] => [ 8361.0596 , 0.0212 ,"D"], -[ 15 , 18 ] => [ 8513.8073 , 0.0330 ,"D"], -[ 16 , 17 ] => [ 8497.6304 , 0.0002 ,"D"], -[ 17 , 16 ] => [ 8304.7557 , 0.0118 ,"D"], -[ 18 , 15 ] => [ 7928.9559 , 0.0121 ,"D"], -[ 19 , 14 ] => [ 7392 , 6 ,"E"], -[ 20 , 13 ] => [ 6657 , 12 ,"E"], -[ 10 , 24 ] => [ 6287 , 15 ,"E"], -[ 11 , 23 ] => [ 6886.4377 , 17.6299 ,"D"], -[ 12 , 22 ] => [ 7550.3919 , 0.2027 ,"D"], -[ 13 , 21 ] => [ 7860.3506 , 0.0619 ,"D"], -[ 14 , 20 ] => [ 8337.1659 , 0.0236 ,"D"], -[ 15 , 19 ] => [ 8448.1856 , 0.0238 ,"D"], -[ 16 , 18 ] => [ 8583.4986 , 0.0013 ,"D"], -[ 17 , 17 ] => [ 8398.9706 , 0.0014 ,"D"], -[ 18 , 16 ] => [ 8197.6724 , 0.0023 ,"D"], -[ 19 , 15 ] => [ 7670 , 6 ,"E"], -[ 20 , 14 ] => [ 7173 , 9 ,"E"], -[ 11 , 24 ] => [ 6745 , 19 ,"E"], -[ 12 , 23 ] => [ 7356.2338 , 7.7048 ,"D"], -[ 13 , 22 ] => [ 7787.1243 , 0.2103 ,"D"], -[ 14 , 21 ] => [ 8169.5644 , 1.0245 ,"D"], -[ 15 , 20 ] => [ 8446.2496 , 0.0533 ,"D"], -[ 16 , 19 ] => [ 8537.8511 , 0.0012 ,"D"], -[ 17 , 18 ] => [ 8520.2790 , 0.0010 ,"D"], -[ 18 , 17 ] => [ 8327.4621 , 0.0194 ,"D"], -[ 19 , 16 ] => [ 7965.8409 , 0.0146 ,"D"], -[ 20 , 15 ] => [ 7476 , 6 ,"E"], -[ 21 , 14 ] => [ 6828 , 11 ,"E"], -[ 11 , 25 ] => [ 6557 , 19 ,"E"], -[ 12 , 24 ] => [ 7244.4202 , 19.1733 ,"D"], -[ 13 , 23 ] => [ 7623.5154 , 4.1529 ,"D"], -[ 14 , 22 ] => [ 8112.5199 , 1.9944 ,"D"], -[ 15 , 21 ] => [ 8307.8692 , 0.3643 ,"D"], -[ 16 , 20 ] => [ 8575.3900 , 0.0052 ,"D"], -[ 17 , 19 ] => [ 8521.9322 , 0.0010 ,"D"], -[ 18 , 18 ] => [ 8519.9096 , 0.0008 ,"D"], -[ 19 , 17 ] => [ 8142.2233 , 0.0090 ,"D"], -[ 20 , 16 ] => [ 7815.8799 , 1.1111 ,"D"], -[ 21 , 15 ] => [ 7166 , 8 ,"E"], -[ 11 , 26 ] => [ 6403 , 19 ,"E"], -[ 12 , 25 ] => [ 7055.1115 , 18.8905 ,"D"], -[ 13 , 24 ] => [ 7531.3160 , 4.8715 ,"D"], -[ 14 , 23 ] => [ 7952.9033 , 3.0759 ,"D"], -[ 15 , 22 ] => [ 8267.5561 , 1.0256 ,"D"], -[ 16 , 21 ] => [ 8459.9363 , 0.0054 ,"D"], -[ 17 , 20 ] => [ 8570.2816 , 0.0014 ,"D"], -[ 18 , 19 ] => [ 8527.1406 , 0.0056 ,"D"], -[ 19 , 18 ] => [ 8339.8480 , 0.0025 ,"D"], -[ 20 , 17 ] => [ 8003.4567 , 0.0171 ,"D"], -[ 21 , 16 ] => [ 7525 , 8 ,"E"], -[ 22 , 15 ] => [ 6926 , 11 ,"E"], -[ 11 , 27 ] => [ 6216 , 19 ,"E"], -[ 12 , 26 ] => [ 6928 , 13 ,"E"], -[ 13 , 25 ] => [ 7370 , 4 ,"E"], -[ 14 , 24 ] => [ 7892.8297 , 2.7577 ,"D"], -[ 15 , 23 ] => [ 8147.2749 , 1.9100 ,"D"], -[ 16 , 22 ] => [ 8448.7829 , 0.1887 ,"D"], -[ 17 , 21 ] => [ 8505.4817 , 0.0026 ,"D"], -[ 18 , 20 ] => [ 8614.2807 , 0.0051 ,"D"], -[ 19 , 19 ] => [ 8438.0593 , 0.0051 ,"D"], -[ 20 , 18 ] => [ 8240.0434 , 0.0051 ,"D"], -[ 21 , 17 ] => [ 7751 , 5 ,"E"], -[ 22 , 16 ] => [ 7319 , 8 ,"E"], -[ 11 , 28 ] => [ 6056 , 19 ,"E"], -[ 12 , 27 ] => [ 6734 , 13 ,"E"], -[ 13 , 26 ] => [ 7260 , 8 ,"E"], -[ 14 , 25 ] => [ 7730.9793 , 3.4752 ,"D"], -[ 15 , 24 ] => [ 8097.9701 , 2.8883 ,"D"], -[ 16 , 23 ] => [ 8344.2698 , 1.2821 ,"D"], -[ 17 , 22 ] => [ 8494.4032 , 0.0444 ,"D"], -[ 18 , 21 ] => [ 8562.5988 , 0.1282 ,"D"], -[ 19 , 20 ] => [ 8557.0258 , 0.0003 ,"D"], -[ 20 , 19 ] => [ 8369.6711 , 0.0153 ,"D"], -[ 21 , 18 ] => [ 8013.4575 , 0.6154 ,"D"], -[ 22 , 17 ] => [ 7566 , 5 ,"E"], -[ 23 , 16 ] => [ 7031 , 10 ,"E"], -[ 12 , 28 ] => [ 6598 , 13 ,"E"], -[ 13 , 27 ] => [ 7097 , 7 ,"E"], -[ 14 , 26 ] => [ 7655.8247 , 3.0498 ,"D"], -[ 15 , 25 ] => [ 7981.4177 , 2.0902 ,"D"], -[ 16 , 24 ] => [ 8329.3255 , 0.0996 ,"D"], -[ 17 , 23 ] => [ 8427.7660 , 0.8016 ,"D"], -[ 18 , 22 ] => [ 8595.2594 , 0.0002 ,"D"], -[ 19 , 21 ] => [ 8538.0907 , 0.0014 ,"D"], -[ 20 , 20 ] => [ 8551.3046 , 0.0006 ,"D"], -[ 21 , 19 ] => [ 8173.6697 , 0.0707 ,"D"], -[ 22 , 18 ] => [ 7865.8632 , 1.7061 ,"D"], -[ 23 , 17 ] => [ 7310 , 7 ,"E"], -[ 12 , 29 ] => [ 6425 , 12 ,"E"], -[ 13 , 28 ] => [ 6980 , 10 ,"E"], -[ 14 , 27 ] => [ 7482 , 7 ,"E"], -[ 15 , 26 ] => [ 7906.5513 , 2.9308 ,"D"], -[ 16 , 25 ] => [ 8229.6358 , 0.1000 ,"D"], -[ 17 , 24 ] => [ 8412.9593 , 1.6762 ,"D"], -[ 18 , 23 ] => [ 8534.3733 , 0.0085 ,"D"], -[ 19 , 22 ] => [ 8576.0731 , 0.0003 ,"D"], -[ 20 , 21 ] => [ 8546.7075 , 0.0034 ,"D"], -[ 21 , 20 ] => [ 8369.1979 , 0.0019 ,"D"], -[ 22 , 19 ] => [ 8034.3889 , 0.6816 ,"D"], -[ 23 , 18 ] => [ 7625 , 5 ,"E"], -[ 24 , 17 ] => [ 7116 , 10 ,"E"], -[ 13 , 29 ] => [ 6829 , 12 ,"E"], -[ 14 , 28 ] => [ 7410 , 7 ,"E"], -[ 15 , 27 ] => [ 7765.9122 , 2.2621 ,"D"], -[ 16 , 26 ] => [ 8193.2275 , 0.0665 ,"D"], -[ 17 , 25 ] => [ 8345.8864 , 1.4194 ,"D"], -[ 18 , 24 ] => [ 8555.6141 , 0.1375 ,"D"], -[ 19 , 23 ] => [ 8551.2571 , 0.0025 ,"D"], -[ 20 , 22 ] => [ 8616.5646 , 0.0035 ,"D"], -[ 21 , 21 ] => [ 8444.9303 , 0.0037 ,"D"], -[ 22 , 20 ] => [ 8259.2400 , 0.0064 ,"D"], -[ 23 , 19 ] => [ 7824 , 5 ,"E"], -[ 24 , 18 ] => [ 7456 , 7 ,"E"], -[ 13 , 30 ] => [ 6712 , 14 ,"E"], -[ 14 , 29 ] => [ 7251 , 9 ,"E"], -[ 15 , 28 ] => [ 7681 , 7 ,"E"], -[ 16 , 27 ] => [ 8063.8276 , 0.1156 ,"D"], -[ 17 , 26 ] => [ 8323.8672 , 1.4386 ,"D"], -[ 18 , 25 ] => [ 8488.2382 , 0.1235 ,"D"], -[ 19 , 24 ] => [ 8576.2204 , 0.0095 ,"D"], -[ 20 , 23 ] => [ 8600.6653 , 0.0053 ,"D"], -[ 21 , 22 ] => [ 8530.8265 , 0.0433 ,"D"], -[ 22 , 21 ] => [ 8352.8054 , 0.1330 ,"D"], -[ 23 , 20 ] => [ 8069.5129 , 0.9965 ,"D"], -[ 24 , 19 ] => [ 7680 , 5 ,"E"], -[ 25 , 18 ] => [ 7213 , 9 ,"E"], -[ 14 , 30 ] => [ 7156 , 11 ,"E"], -[ 15 , 29 ] => [ 7552 , 9 ,"E"], -[ 16 , 28 ] => [ 7996.0154 , 0.1186 ,"D"], -[ 17 , 27 ] => [ 8234.4788 , 1.9447 ,"D"], -[ 18 , 26 ] => [ 8493.8411 , 0.0360 ,"D"], -[ 19 , 25 ] => [ 8546.7023 , 0.0095 ,"D"], -[ 20 , 24 ] => [ 8658.1769 , 0.0074 ,"D"], -[ 21 , 23 ] => [ 8557.3805 , 0.0399 ,"D"], -[ 22 , 22 ] => [ 8533.5215 , 0.0159 ,"D"], -[ 23 , 21 ] => [ 8203.4567 , 0.1651 ,"D"], -[ 24 , 20 ] => [ 7949.6265 , 1.1644 ,"D"], -[ 25 , 19 ] => [ 7457 , 7 ,"E"], -[ 14 , 31 ] => [ 7004 , 13 ,"E"], -[ 15 , 30 ] => [ 7456 , 11 ,"E"], -[ 16 , 29 ] => [ 7867 , 7 ,"E"], -[ 17 , 28 ] => [ 8181.5991 , 3.0259 ,"D"], -[ 18 , 27 ] => [ 8419.9526 , 0.0114 ,"D"], -[ 19 , 26 ] => [ 8554.6747 , 0.0116 ,"D"], -[ 20 , 25 ] => [ 8630.5467 , 0.0081 ,"D"], -[ 21 , 24 ] => [ 8618.9410 , 0.0147 ,"D"], -[ 22 , 23 ] => [ 8555.7321 , 0.0186 ,"D"], -[ 23 , 22 ] => [ 8380.0394 , 0.0192 ,"D"], -[ 24 , 21 ] => [ 8087.7286 , 0.7866 ,"D"], -[ 25 , 20 ] => [ 7747 , 7 ,"E"], -[ 26 , 19 ] => [ 7299 , 6 ,"E"], -[ 15 , 31 ] => [ 7320 , 11 ,"E"], -[ 16 , 30 ] => [ 7785 , 9 ,"E"], -[ 17 , 29 ] => [ 8080.7757 , 2.1141 ,"D"], -[ 18 , 28 ] => [ 8412.3835 , 0.0506 ,"D"], -[ 19 , 27 ] => [ 8518.0428 , 0.0158 ,"D"], -[ 20 , 26 ] => [ 8668.9848 , 0.0486 ,"D"], -[ 21 , 25 ] => [ 8622.0215 , 0.0146 ,"D"], -[ 22 , 24 ] => [ 8656.4623 , 0.0020 ,"D"], -[ 23 , 23 ] => [ 8486.1423 , 0.0029 ,"D"], -[ 24 , 22 ] => [ 8303.8233 , 0.2490 ,"D"], -[ 25 , 21 ] => [ 7916.0805 , 1.8832 ,"D"], -[ 26 , 20 ] => [ 7603 , 7 ,"E"], -[ 15 , 32 ] => [ 7209 , 13 ,"E"], -[ 16 , 31 ] => [ 7652 , 9 ,"E"], -[ 17 , 30 ] => [ 7992 , 4 ,"E"], -[ 18 , 29 ] => [ 8311.4250 , 0.0258 ,"D"], -[ 19 , 28 ] => [ 8514.8795 , 0.0297 ,"D"], -[ 20 , 27 ] => [ 8639.3548 , 0.0473 ,"D"], -[ 21 , 26 ] => [ 8665.0958 , 0.0411 ,"D"], -[ 22 , 25 ] => [ 8661.2325 , 0.0017 ,"D"], -[ 23 , 24 ] => [ 8582.2348 , 0.0024 ,"D"], -[ 24 , 23 ] => [ 8407.2067 , 0.1106 ,"D"], -[ 25 , 22 ] => [ 8135.3117 , 0.6738 ,"D"], -[ 26 , 21 ] => [ 7790 , 11 ,"E"], -[ 27 , 20 ] => [ 7396 , 13 ,"E"], -[ 16 , 32 ] => [ 7552 , 10 ,"E"], -[ 17 , 31 ] => [ 7883 , 10 ,"E"], -[ 18 , 30 ] => [ 8243.6656 , 0.3493 ,"D"], -[ 19 , 29 ] => [ 8434.2324 , 0.0161 ,"D"], -[ 20 , 28 ] => [ 8666.6916 , 0.0004 ,"D"], -[ 21 , 27 ] => [ 8656.2097 , 0.1031 ,"D"], -[ 22 , 26 ] => [ 8723.0122 , 0.0016 ,"D"], -[ 23 , 25 ] => [ 8623.0686 , 0.0202 ,"D"], -[ 24 , 24 ] => [ 8572.2553 , 0.1523 ,"D"], -[ 25 , 23 ] => [ 8274.1924 , 0.1396 ,"D"], -[ 26 , 22 ] => [ 8022.7254 , 1.9212 ,"D"], -[ 27 , 21 ] => [ 7595 , 10 ,"E"], -[ 28 , 20 ] => [ 7236 , 9 ,"E"], -[ 16 , 33 ] => [ 7400 , 12 ,"E"], -[ 17 , 32 ] => [ 7785 , 8 ,"E"], -[ 18 , 31 ] => [ 8132 , 8 ,"E"], -[ 19 , 30 ] => [ 8372.2753 , 0.0164 ,"D"], -[ 20 , 29 ] => [ 8594.8500 , 0.0036 ,"D"], -[ 21 , 28 ] => [ 8686.2805 , 0.0463 ,"D"], -[ 22 , 27 ] => [ 8711.1625 , 0.0016 ,"D"], -[ 23 , 26 ] => [ 8682.9135 , 0.0168 ,"D"], -[ 24 , 25 ] => [ 8613.2777 , 0.0449 ,"D"], -[ 25 , 24 ] => [ 8439.9150 , 0.0452 ,"D"], -[ 26 , 23 ] => [ 8161.3121 , 0.4943 ,"D"], -[ 27 , 22 ] => [ 7840 , 10 ,"E"], -[ 28 , 21 ] => [ 7450 , 12 ,"E"], -[ 17 , 33 ] => [ 7651 , 8 ,"E"], -[ 18 , 32 ] => [ 8054 , 10 ,"E"], -[ 19 , 31 ] => [ 8288.5833 , 0.1546 ,"D"], -[ 20 , 30 ] => [ 8550.1639 , 0.0317 ,"D"], -[ 21 , 29 ] => [ 8633.4747 , 0.0503 ,"D"], -[ 22 , 28 ] => [ 8755.7227 , 0.0017 ,"D"], -[ 23 , 27 ] => [ 8695.9032 , 0.0019 ,"D"], -[ 24 , 26 ] => [ 8701.0188 , 0.0019 ,"D"], -[ 25 , 25 ] => [ 8532.6823 , 0.0023 ,"D"], -[ 26 , 24 ] => [ 8354.0268 , 0.1677 ,"D"], -[ 27 , 23 ] => [ 8000.6387 , 2.5150 ,"D"], -[ 28 , 22 ] => [ 7702 , 10 ,"E"], -[ 17 , 34 ] => [ 7530 , 14 ,"E"], -[ 18 , 33 ] => [ 7922 , 8 ,"E"], -[ 19 , 32 ] => [ 8221.3350 , 0.2557 ,"D"], -[ 20 , 31 ] => [ 8476.9135 , 0.0102 ,"D"], -[ 21 , 30 ] => [ 8597.2213 , 0.0493 ,"D"], -[ 22 , 29 ] => [ 8708.9912 , 0.0095 ,"D"], -[ 23 , 28 ] => [ 8742.0852 , 0.0019 ,"D"], -[ 24 , 27 ] => [ 8711.9923 , 0.0033 ,"D"], -[ 25 , 26 ] => [ 8633.7602 , 0.0060 ,"D"], -[ 26 , 25 ] => [ 8460.4977 , 0.0274 ,"D"], -[ 27 , 24 ] => [ 8193.2549 , 0.9498 ,"D"], -[ 28 , 23 ] => [ 7870 , 10 ,"E"], -[ 17 , 35 ] => [ 7386 , 13 ,"E"], -[ 18 , 34 ] => [ 7827 , 12 ,"E"], -[ 19 , 33 ] => [ 8115.0303 , 0.6449 ,"D"], -[ 20 , 32 ] => [ 8429.3821 , 0.0129 ,"D"], -[ 21 , 31 ] => [ 8534.6695 , 0.0591 ,"D"], -[ 22 , 30 ] => [ 8691.8193 , 0.0528 ,"D"], -[ 23 , 29 ] => [ 8714.5690 , 0.0031 ,"D"], -[ 24 , 28 ] => [ 8775.9946 , 0.0022 ,"D"], -[ 25 , 27 ] => [ 8670.4087 , 0.0025 ,"D"], -[ 26 , 26 ] => [ 8609.6079 , 0.0035 ,"D"], -[ 27 , 25 ] => [ 8325.5606 , 0.1016 ,"D"], -[ 28 , 24 ] => [ 8083.8977 , 1.5943 ,"D"], -[ 29 , 23 ] => [ 7671 , 12 ,"E"], -[ 18 , 35 ] => [ 7677 , 13 ,"E"], -[ 19 , 34 ] => [ 8022.8488 , 2.1090 ,"D"], -[ 20 , 33 ] => [ 8330.5778 , 0.8260 ,"D"], -[ 21 , 32 ] => [ 8492.8325 , 0.3339 ,"D"], -[ 22 , 31 ] => [ 8631.1256 , 0.0545 ,"D"], -[ 23 , 30 ] => [ 8710.1425 , 0.0585 ,"D"], -[ 24 , 29 ] => [ 8760.2103 , 0.0022 ,"D"], -[ 25 , 28 ] => [ 8734.1798 , 0.0065 ,"D"], -[ 26 , 27 ] => [ 8648.7985 , 0.0315 ,"D"], -[ 27 , 26 ] => [ 8477.6578 , 0.0326 ,"D"], -[ 28 , 25 ] => [ 8217.0749 , 0.4745 ,"D"], -[ 29 , 24 ] => [ 7891 , 9 ,"E"], -[ 18 , 36 ] => [ 7578 , 15 ,"E"], -[ 19 , 35 ] => [ 7891 , 7 ,"E"], -[ 20 , 34 ] => [ 8247.4967 , 0.8970 ,"D"], -[ 21 , 33 ] => [ 8404.8115 , 0.2588 ,"D"], -[ 22 , 32 ] => [ 8599.6917 , 0.2932 ,"D"], -[ 23 , 31 ] => [ 8662.1382 , 0.2070 ,"D"], -[ 24 , 30 ] => [ 8777.9672 , 0.0025 ,"D"], -[ 25 , 29 ] => [ 8737.9768 , 0.0186 ,"D"], -[ 26 , 28 ] => [ 8736.3846 , 0.0064 ,"D"], -[ 27 , 27 ] => [ 8569.2199 , 0.0066 ,"D"], -[ 28 , 26 ] => [ 8393.0328 , 0.0862 ,"D"], -[ 29 , 25 ] => [ 8045 , 7 ,"E"], -[ 30 , 24 ] => [ 7742 , 4 ,"E"], -[ 19 , 36 ] => [ 7792 , 9 ,"E"], -[ 20 , 35 ] => [ 8125.9260 , 2.9130 ,"D"], -[ 21 , 34 ] => [ 8333.3694 , 1.1347 ,"D"], -[ 22 , 33 ] => [ 8518.9696 , 0.5250 ,"D"], -[ 23 , 32 ] => [ 8637.3391 , 0.4912 ,"D"], -[ 24 , 31 ] => [ 8731.9362 , 0.0042 ,"D"], -[ 25 , 30 ] => [ 8765.0247 , 0.0047 ,"D"], -[ 26 , 29 ] => [ 8746.5981 , 0.0056 ,"D"], -[ 27 , 28 ] => [ 8669.6204 , 0.0074 ,"D"], -[ 28 , 27 ] => [ 8497.3225 , 0.0128 ,"D"], -[ 29 , 26 ] => [ 8233.9970 , 2.8284 ,"D"], -[ 30 , 25 ] => [ 7904 , 7 ,"E"], -[ 19 , 37 ] => [ 7663 , 11 ,"E"], -[ 20 , 36 ] => [ 8033.1654 , 4.4579 ,"D"], -[ 21 , 35 ] => [ 8233.5781 , 4.6369 ,"D"], -[ 22 , 34 ] => [ 8467.9495 , 1.7893 ,"D"], -[ 23 , 33 ] => [ 8574.7006 , 3.1408 ,"D"], -[ 24 , 32 ] => [ 8723.2609 , 0.0103 ,"D"], -[ 25 , 31 ] => [ 8738.3358 , 0.0052 ,"D"], -[ 26 , 30 ] => [ 8790.3563 , 0.0048 ,"D"], -[ 27 , 29 ] => [ 8694.8386 , 0.0085 ,"D"], -[ 28 , 28 ] => [ 8642.7811 , 0.0071 ,"D"], -[ 29 , 27 ] => [ 8355.9907 , 0.1142 ,"D"], -[ 30 , 26 ] => [ 8106 , 7 ,"E"], -[ 31 , 25 ] => [ 7707 , 9 ,"E"], -[ 19 , 38 ] => [ 7563 , 11 ,"E"], -[ 20 , 37 ] => [ 7912 , 7 ,"E"], -[ 21 , 36 ] => [ 8158.1666 , 3.1540 ,"D"], -[ 22 , 35 ] => [ 8372.9008 , 3.6119 ,"D"], -[ 23 , 34 ] => [ 8535.1967 , 1.4871 ,"D"], -[ 24 , 33 ] => [ 8663.3998 , 0.0327 ,"D"], -[ 25 , 32 ] => [ 8736.7146 , 0.0264 ,"D"], -[ 26 , 31 ] => [ 8770.2829 , 0.0047 ,"D"], -[ 27 , 30 ] => [ 8741.8845 , 0.0090 ,"D"], -[ 28 , 29 ] => [ 8670.9364 , 0.0099 ,"D"], -[ 29 , 28 ] => [ 8503.2646 , 0.0088 ,"D"], -[ 30 , 27 ] => [ 8231 , 4 ,"E"], -[ 31 , 26 ] => [ 7916 , 7 ,"E"], -[ 19 , 39 ] => [ 7437 , 12 ,"E"], -[ 20 , 38 ] => [ 7828 , 9 ,"E"], -[ 21 , 37 ] => [ 8054.9436 , 3.2763 ,"D"], -[ 22 , 36 ] => [ 8307.6290 , 3.1610 ,"D"], -[ 23 , 35 ] => [ 8458.1560 , 1.6520 ,"D"], -[ 24 , 34 ] => [ 8643.9987 , 0.0514 ,"D"], -[ 25 , 33 ] => [ 8696.6438 , 0.0466 ,"D"], -[ 26 , 32 ] => [ 8792.2534 , 0.0055 ,"D"], -[ 27 , 31 ] => [ 8738.9719 , 0.0199 ,"D"], -[ 28 , 30 ] => [ 8732.0621 , 0.0060 ,"D"], -[ 29 , 29 ] => [ 8570.9696 , 0.0097 ,"D"], -[ 30 , 28 ] => [ 8395.9467 , 0.8621 ,"D"], -[ 31 , 27 ] => [ 8059 , 5 ,"E"], -[ 32 , 26 ] => [ 7770 , 9 ,"E"], -[ 19 , 40 ] => [ 7332 , 14 ,"E"], -[ 20 , 39 ] => [ 7708 , 10 ,"E"], -[ 21 , 38 ] => [ 7976.4073 , 4.2312 ,"D"], -[ 22 , 37 ] => [ 8218 , 5 ,"E"], -[ 23 , 36 ] => [ 8403.8034 , 2.3288 ,"D"], -[ 24 , 35 ] => [ 8568.5995 , 0.0114 ,"D"], -[ 25 , 34 ] => [ 8680.9224 , 0.0395 ,"D"], -[ 26 , 33 ] => [ 8754.7746 , 0.0056 ,"D"], -[ 27 , 32 ] => [ 8768.0379 , 0.0067 ,"D"], -[ 28 , 31 ] => [ 8736.5912 , 0.0060 ,"D"], -[ 29 , 30 ] => [ 8642.0027 , 0.0090 ,"D"], -[ 30 , 29 ] => [ 8473.7802 , 0.0129 ,"D"], -[ 31 , 28 ] => [ 8232 , 3 ,"E"], -[ 32 , 27 ] => [ 7924 , 7 ,"E"], -[ 20 , 40 ] => [ 7627 , 12 ,"E"], -[ 21 , 39 ] => [ 7873 , 8 ,"E"], -[ 22 , 38 ] => [ 8152.7858 , 4.0054 ,"D"], -[ 23 , 37 ] => [ 8322.8751 , 3.0324 ,"D"], -[ 24 , 36 ] => [ 8540.1876 , 0.0186 ,"D"], -[ 25 , 35 ] => [ 8628.1392 , 0.0388 ,"D"], -[ 26 , 34 ] => [ 8755.8539 , 0.0568 ,"D"], -[ 27 , 33 ] => [ 8746.7692 , 0.0067 ,"D"], -[ 28 , 32 ] => [ 8780.7769 , 0.0059 ,"D"], -[ 29 , 31 ] => [ 8665.6047 , 0.0269 ,"D"], -[ 30 , 30 ] => [ 8583.0524 , 0.0091 ,"D"], -[ 31 , 29 ] => [ 8327 , 3 ,"E"], -[ 32 , 28 ] => [ 8113 , 5 ,"E"], -[ 33 , 27 ] => [ 7735 , 7 ,"E"], -[ 20 , 41 ] => [ 7503 , 13 ,"E"], -[ 21 , 40 ] => [ 7794 , 10 ,"E"], -[ 22 , 39 ] => [ 8058 , 5 ,"E"], -[ 23 , 38 ] => [ 8271.0417 , 3.8511 ,"D"], -[ 24 , 37 ] => [ 8460.1734 , 0.0305 ,"D"], -[ 25 , 36 ] => [ 8598.9157 , 0.0382 ,"D"], -[ 26 , 35 ] => [ 8703.7686 , 0.0428 ,"D"], -[ 27 , 34 ] => [ 8756.1510 , 0.0138 ,"D"], -[ 28 , 33 ] => [ 8765.0281 , 0.0058 ,"D"], -[ 29 , 32 ] => [ 8715.5148 , 0.0156 ,"D"], -[ 30 , 31 ] => [ 8610.3098 , 0.2606 ,"D"], -[ 31 , 30 ] => [ 8446.4313 , 0.6228 ,"D"], -[ 32 , 29 ] => [ 8215 , 5 ,"E"], -[ 33 , 28 ] => [ 7930 , 5 ,"E"], -[ 21 , 41 ] => [ 7688 , 10 ,"E"], -[ 22 , 40 ] => [ 7990 , 6 ,"E"], -[ 23 , 39 ] => [ 8187.7565 , 4.2627 ,"D"], -[ 24 , 38 ] => [ 8427.3871 , 0.0556 ,"D"], -[ 25 , 37 ] => [ 8538.5002 , 0.1055 ,"D"], -[ 26 , 36 ] => [ 8692.8831 , 0.0451 ,"D"], -[ 27 , 35 ] => [ 8721.3347 , 0.2996 ,"D"], -[ 28 , 34 ] => [ 8794.5555 , 0.0069 ,"D"], -[ 29 , 33 ] => [ 8718.0839 , 0.0103 ,"D"], -[ 30 , 32 ] => [ 8679.3451 , 0.0099 ,"D"], -[ 31 , 31 ] => [ 8518.6449 , 0.0103 ,"D"], -[ 32 , 30 ] => [ 8347 , 2 ,"E"], -[ 33 , 29 ] => [ 8049 , 5 ,"E"], -[ 21 , 42 ] => [ 7603 , 11 ,"E"], -[ 22 , 41 ] => [ 7891 , 8 ,"E"], -[ 23 , 40 ] => [ 8130.7809 , 5.3968 ,"D"], -[ 24 , 39 ] => [ 8347.5398 , 1.1533 ,"D"], -[ 25 , 38 ] => [ 8505.1020 , 0.0591 ,"D"], -[ 26 , 37 ] => [ 8631.5499 , 0.0683 ,"D"], -[ 27 , 36 ] => [ 8717.7972 , 0.2948 ,"D"], -[ 28 , 35 ] => [ 8763.4955 , 0.0068 ,"D"], -[ 29 , 34 ] => [ 8752.1404 , 0.0068 ,"D"], -[ 30 , 33 ] => [ 8686.2866 , 0.0248 ,"D"], -[ 31 , 32 ] => [ 8583.9267 , 0.0207 ,"D"], -[ 32 , 31 ] => [ 8418.7167 , 0.5914 ,"D"], -[ 33 , 30 ] => [ 8193 , 3 ,"E"], -[ 34 , 29 ] => [ 7917 , 8 ,"E"], -[ 22 , 42 ] => [ 7826 , 9 ,"E"], -[ 23 , 41 ] => [ 8045 , 6 ,"E"], -[ 24 , 40 ] => [ 8303.5626 , 4.6866 ,"D"], -[ 25 , 39 ] => [ 8437.4175 , 0.0553 ,"D"], -[ 26 , 38 ] => [ 8612.3888 , 0.0784 ,"D"], -[ 27 , 37 ] => [ 8675.5223 , 0.3126 ,"D"], -[ 28 , 36 ] => [ 8777.4637 , 0.0072 ,"D"], -[ 29 , 35 ] => [ 8739.0736 , 0.0067 ,"D"], -[ 30 , 34 ] => [ 8735.9057 , 0.0101 ,"D"], -[ 31 , 33 ] => [ 8611.6317 , 0.0223 ,"D"], -[ 32 , 32 ] => [ 8528.8243 , 0.0582 ,"D"], -[ 33 , 31 ] => [ 8286 , 3 ,"E"], -[ 34 , 30 ] => [ 8075 , 8 ,"E"], -[ 22 , 43 ] => [ 7726 , 11 ,"E"], -[ 23 , 42 ] => [ 7981 , 8 ,"E"], -[ 24 , 41 ] => [ 8218 , 3 ,"E"], -[ 25 , 40 ] => [ 8400.6822 , 0.0573 ,"D"], -[ 26 , 39 ] => [ 8546.3470 , 0.0786 ,"D"], -[ 27 , 38 ] => [ 8656.8848 , 0.0320 ,"D"], -[ 28 , 37 ] => [ 8736.2424 , 0.0074 ,"D"], -[ 29 , 36 ] => [ 8757.0967 , 0.0099 ,"D"], -[ 30 , 35 ] => [ 8724.2660 , 0.0099 ,"D"], -[ 31 , 34 ] => [ 8662.1601 , 0.0122 ,"D"], -[ 32 , 33 ] => [ 8555.0584 , 0.0333 ,"D"], -[ 33 , 32 ] => [ 8396.2351 , 1.3041 ,"D"], -[ 34 , 31 ] => [ 8170 , 5 ,"E"], -[ 35 , 30 ] => [ 7904 , 8 ,"E"], -[ 23 , 43 ] => [ 7894 , 8 ,"E"], -[ 24 , 42 ] => [ 8168 , 5 ,"E"], -[ 25 , 41 ] => [ 8331.7986 , 0.1694 ,"D"], -[ 26 , 40 ] => [ 8521.7245 , 0.0621 ,"D"], -[ 27 , 39 ] => [ 8605.9419 , 0.2117 ,"D"], -[ 28 , 38 ] => [ 8739.5086 , 0.0212 ,"D"], -[ 29 , 37 ] => [ 8731.4730 , 0.0098 ,"D"], -[ 30 , 36 ] => [ 8759.6335 , 0.0113 ,"D"], -[ 31 , 35 ] => [ 8669.3631 , 0.0166 ,"D"], -[ 32 , 34 ] => [ 8625.4383 , 0.0364 ,"D"], -[ 33 , 33 ] => [ 8468.4034 , 0.0861 ,"D"], -[ 34 , 32 ] => [ 8300 , 3 ,"E"], -[ 35 , 31 ] => [ 8014 , 6 ,"E"], -[ 23 , 44 ] => [ 7829 , 9 ,"E"], -[ 24 , 43 ] => [ 8079 , 6 ,"E"], -[ 25 , 42 ] => [ 8281 , 3 ,"E"], -[ 26 , 41 ] => [ 8449.9359 , 0.0570 ,"D"], -[ 27 , 40 ] => [ 8581.7422 , 0.0962 ,"D"], -[ 28 , 39 ] => [ 8695.7505 , 0.0431 ,"D"], -[ 29 , 38 ] => [ 8737.4597 , 0.0133 ,"D"], -[ 30 , 37 ] => [ 8734.1534 , 0.0113 ,"D"], -[ 31 , 36 ] => [ 8707.5330 , 0.0176 ,"D"], -[ 32 , 35 ] => [ 8633.0884 , 0.0645 ,"D"], -[ 33 , 34 ] => [ 8530.5685 , 0.0066 ,"D"], -[ 34 , 33 ] => [ 8369.5344 , 1.0010 ,"D"], -[ 35 , 32 ] => [ 8148 , 4 ,"E"], -[ 36 , 31 ] => [ 7883 , 6 ,"E"], -[ 24 , 44 ] => [ 8026 , 7 ,"E"], -[ 25 , 43 ] => [ 8209 , 4 ,"E"], -[ 26 , 42 ] => [ 8418 , 3 ,"E"], -[ 27 , 41 ] => [ 8520.1301 , 0.0567 ,"D"], -[ 28 , 40 ] => [ 8682.4667 , 0.0438 ,"D"], -[ 29 , 39 ] => [ 8701.8913 , 0.0233 ,"D"], -[ 30 , 38 ] => [ 8755.6820 , 0.0115 ,"D"], -[ 31 , 37 ] => [ 8701.2195 , 0.0210 ,"D"], -[ 32 , 36 ] => [ 8688.1371 , 0.0276 ,"D"], -[ 33 , 35 ] => [ 8557.7457 , 0.0271 ,"D"], -[ 34 , 34 ] => [ 8477.0482 , 0.0073 ,"D"], -[ 35 , 33 ] => [ 8239 , 4 ,"E"], -[ 36 , 32 ] => [ 8034 , 7 ,"E"], -[ 24 , 45 ] => [ 7939 , 7 ,"E"], -[ 25 , 44 ] => [ 8155 , 6 ,"E"], -[ 26 , 43 ] => [ 8345 , 3 ,"E"], -[ 27 , 42 ] => [ 8495.4062 , 1.2420 ,"D"], -[ 28 , 41 ] => [ 8623.0998 , 0.0540 ,"D"], -[ 29 , 40 ] => [ 8695.2044 , 0.0203 ,"D"], -[ 30 , 39 ] => [ 8722.7311 , 0.0115 ,"D"], -[ 31 , 38 ] => [ 8724.5798 , 0.0174 ,"D"], -[ 32 , 37 ] => [ 8680.9640 , 0.0191 ,"D"], -[ 33 , 36 ] => [ 8611.8214 , 0.4638 ,"D"], -[ 34 , 35 ] => [ 8503.7082 , 0.0216 ,"D"], -[ 35 , 34 ] => [ 8344.9026 , 0.6087 ,"D"], -[ 36 , 33 ] => [ 8129 , 4 ,"E"], -[ 24 , 46 ] => [ 7884 , 9 ,"E"], -[ 25 , 45 ] => [ 8084 , 7 ,"E"], -[ 26 , 44 ] => [ 8308 , 4 ,"E"], -[ 27 , 43 ] => [ 8434.1980 , 0.1570 ,"D"], -[ 28 , 42 ] => [ 8604.2917 , 0.0306 ,"D"], -[ 29 , 41 ] => [ 8646.8655 , 0.0155 ,"D"], -[ 30 , 40 ] => [ 8729.8086 , 0.0274 ,"D"], -[ 31 , 39 ] => [ 8709.2808 , 0.0172 ,"D"], -[ 32 , 38 ] => [ 8721.7028 , 0.0117 ,"D"], -[ 33 , 37 ] => [ 8621.5541 , 0.0200 ,"D"], -[ 34 , 36 ] => [ 8576.0338 , 0.0226 ,"D"], -[ 35 , 35 ] => [ 8414.7964 , 0.2129 ,"D"], -[ 36 , 34 ] => [ 8256 , 3 ,"E"], -[ 25 , 46 ] => [ 8030 , 7 ,"E"], -[ 26 , 45 ] => [ 8235 , 6 ,"E"], -[ 27 , 44 ] => [ 8398.7344 , 6.5497 ,"D"], -[ 28 , 43 ] => [ 8543.1564 , 0.0315 ,"D"], -[ 29 , 42 ] => [ 8635.0233 , 0.0210 ,"D"], -[ 30 , 41 ] => [ 8689.0417 , 0.0374 ,"D"], -[ 31 , 40 ] => [ 8717.6050 , 0.0114 ,"D"], -[ 32 , 39 ] => [ 8703.3118 , 0.0115 ,"D"], -[ 33 , 38 ] => [ 8663.9350 , 0.0586 ,"D"], -[ 34 , 37 ] => [ 8586.0606 , 0.0394 ,"D"], -[ 35 , 36 ] => [ 8481.4629 , 0.0761 ,"D"], -[ 36 , 35 ] => [ 8327.1310 , 1.8136 ,"D"], -[ 37 , 34 ] => [ 8118 , 6 ,"E"], -[ 25 , 47 ] => [ 7955 , 8 ,"E"], -[ 26 , 46 ] => [ 8195 , 7 ,"E"], -[ 27 , 45 ] => [ 8338 , 4 ,"E"], -[ 28 , 44 ] => [ 8520.2118 , 0.0311 ,"D"], -[ 29 , 43 ] => [ 8586.5256 , 0.0194 ,"D"], -[ 30 , 42 ] => [ 8691.8053 , 0.0298 ,"D"], -[ 31 , 41 ] => [ 8687.0893 , 0.0114 ,"D"], -[ 32 , 40 ] => [ 8731.7459 , 0.0011 ,"D"], -[ 33 , 39 ] => [ 8660.3786 , 0.0567 ,"D"], -[ 34 , 38 ] => [ 8644.4902 , 0.0272 ,"D"], -[ 35 , 37 ] => [ 8511.3126 , 0.0142 ,"D"], -[ 36 , 36 ] => [ 8429.3193 , 0.1113 ,"D"], -[ 37 , 35 ] => [ 8202 , 7 ,"E"], -[ 25 , 48 ] => [ 7895 , 8 ,"E"], -[ 26 , 47 ] => [ 8121 , 7 ,"E"], -[ 27 , 46 ] => [ 8302 , 4 ,"E"], -[ 28 , 45 ] => [ 8457.6529 , 0.0332 ,"D"], -[ 29 , 44 ] => [ 8568.5699 , 0.0266 ,"D"], -[ 30 , 43 ] => [ 8648.3455 , 0.0255 ,"D"], -[ 31 , 42 ] => [ 8693.8740 , 0.0230 ,"D"], -[ 32 , 41 ] => [ 8705.0500 , 0.0008 ,"D"], -[ 33 , 40 ] => [ 8689.6099 , 0.0528 ,"D"], -[ 34 , 39 ] => [ 8641.5591 , 0.1017 ,"D"], -[ 35 , 38 ] => [ 8568.0803 , 0.0923 ,"D"], -[ 36 , 37 ] => [ 8460.1847 , 0.0901 ,"D"], -[ 37 , 36 ] => [ 8305.0821 , 0.5588 ,"D"], -[ 38 , 35 ] => [ 8102 , 5 ,"E"], -[ 26 , 48 ] => [ 8076 , 7 ,"E"], -[ 27 , 47 ] => [ 8239 , 5 ,"E"], -[ 28 , 46 ] => [ 8433 , 3 ,"E"], -[ 29 , 45 ] => [ 8521.5633 , 0.0831 ,"D"], -[ 30 , 44 ] => [ 8642.7547 , 0.0340 ,"D"], -[ 31 , 43 ] => [ 8663.1676 , 0.0405 ,"D"], -[ 32 , 42 ] => [ 8725.2011 , 0.0003 ,"D"], -[ 33 , 41 ] => [ 8680.0020 , 0.0229 ,"D"], -[ 34 , 40 ] => [ 8687.7155 , 0.0003 ,"D"], -[ 35 , 39 ] => [ 8583.5615 , 0.0789 ,"D"], -[ 36 , 38 ] => [ 8533.0390 , 0.0272 ,"D"], -[ 37 , 37 ] => [ 8381.7123 , 0.0409 ,"D"], -[ 38 , 36 ] => [ 8221 , 1 ,"E"], -[ 26 , 49 ] => [ 7996 , 8 ,"E"], -[ 27 , 48 ] => [ 8197 , 5 ,"E"], -[ 28 , 47 ] => [ 8369 , 3 ,"E"], -[ 29 , 46 ] => [ 8495.0801 , 0.0096 ,"D"], -[ 30 , 45 ] => [ 8592.4981 , 0.0261 ,"D"], -[ 31 , 44 ] => [ 8660.7565 , 0.0089 ,"D"], -[ 32 , 43 ] => [ 8695.6096 , 0.0007 ,"D"], -[ 33 , 42 ] => [ 8700.8748 , 0.0118 ,"D"], -[ 34 , 41 ] => [ 8678.9139 , 0.0010 ,"D"], -[ 35 , 40 ] => [ 8627.6497 , 0.0571 ,"D"], -[ 36 , 39 ] => [ 8553.4399 , 0.1081 ,"D"], -[ 37 , 38 ] => [ 8448.2762 , 0.0157 ,"D"], -[ 38 , 37 ] => [ 8296.5116 , 2.9334 ,"D"], -[ 39 , 36 ] => [ 8089 , 4 ,"E"], -[ 26 , 50 ] => [ 7943 , 8 ,"E"], -[ 27 , 49 ] => [ 8131 , 7 ,"E"], -[ 28 , 48 ] => [ 8338 , 4 ,"E"], -[ 29 , 47 ] => [ 8443.6018 , 0.0120 ,"D"], -[ 30 , 46 ] => [ 8582.2735 , 0.0192 ,"D"], -[ 31 , 45 ] => [ 8624.5272 , 0.0257 ,"D"], -[ 32 , 44 ] => [ 8705.2364 , 0.0003 ,"D"], -[ 33 , 43 ] => [ 8682.8172 , 0.0117 ,"D"], -[ 34 , 42 ] => [ 8711.4781 , 0.0003 ,"D"], -[ 35 , 41 ] => [ 8635.8830 , 0.1227 ,"D"], -[ 36 , 40 ] => [ 8608.8077 , 0.0528 ,"D"], -[ 37 , 39 ] => [ 8486.2161 , 0.0123 ,"D"], -[ 38 , 38 ] => [ 8393.9294 , 0.4535 ,"D"], -[ 39 , 37 ] => [ 8173 , 4 ,"E"], -[ 27 , 50 ] => [ 8082 , 8 ,"E"], -[ 28 , 49 ] => [ 8272 , 5 ,"E"], -[ 29 , 48 ] => [ 8411.2501 , 0.0157 ,"D"], -[ 30 , 47 ] => [ 8530.0037 , 0.0256 ,"D"], -[ 31 , 46 ] => [ 8613.3907 , 0.0315 ,"D"], -[ 32 , 45 ] => [ 8671.0293 , 0.0007 ,"D"], -[ 33 , 44 ] => [ 8695.9789 , 0.0220 ,"D"], -[ 34 , 43 ] => [ 8694.6908 , 0.0008 ,"D"], -[ 35 , 42 ] => [ 8666.8073 , 0.0365 ,"D"], -[ 36 , 41 ] => [ 8616.8370 , 0.0254 ,"D"], -[ 37 , 40 ] => [ 8537.3396 , 0.0169 ,"D"], -[ 38 , 39 ] => [ 8435.9188 , 0.1028 ,"D"], -[ 39 , 38 ] => [ 8278 , 3 ,"E"], -[ 40 , 37 ] => [ 8075 , 5 ,"E"], -[ 27 , 51 ] => [ 7997 , 9 ,"E"], -[ 28 , 50 ] => [ 8238 , 5 ,"E"], -[ 29 , 49 ] => [ 8354.6695 , 0.1709 ,"D"], -[ 30 , 48 ] => [ 8507.3800 , 0.0249 ,"D"], -[ 31 , 47 ] => [ 8577.1043 , 0.0135 ,"D"], -[ 32 , 46 ] => [ 8671.6636 , 0.0453 ,"D"], -[ 33 , 45 ] => [ 8673.8760 , 0.1254 ,"D"], -[ 34 , 44 ] => [ 8717.8072 , 0.0023 ,"D"], -[ 35 , 43 ] => [ 8661.9594 , 0.0459 ,"D"], -[ 36 , 42 ] => [ 8661.2385 , 0.0039 ,"D"], -[ 37 , 41 ] => [ 8558.3512 , 0.0415 ,"D"], -[ 38 , 40 ] => [ 8500.0971 , 0.0955 ,"D"], -[ 39 , 39 ] => [ 8349 , 4 ,"E"], -[ 40 , 38 ] => [ 8194 , 5 ,"E"], -[ 28 , 51 ] => [ 8150 , 6 ,"E"], -[ 29 , 50 ] => [ 8320.9380 , 1.3289 ,"D"], -[ 30 , 49 ] => [ 8450.5825 , 0.0282 ,"D"], -[ 31 , 48 ] => [ 8556.0725 , 0.0153 ,"D"], -[ 32 , 47 ] => [ 8634.5089 , 0.4704 ,"D"], -[ 33 , 46 ] => [ 8676.6172 , 0.0674 ,"D"], -[ 34 , 45 ] => [ 8695.5923 , 0.0028 ,"D"], -[ 35 , 44 ] => [ 8687.5956 , 0.0127 ,"D"], -[ 36 , 43 ] => [ 8657.1130 , 0.0441 ,"D"], -[ 37 , 42 ] => [ 8601.1401 , 0.0246 ,"D"], -[ 38 , 41 ] => [ 8523.8558 , 0.0939 ,"D"], -[ 39 , 40 ] => [ 8416.7788 , 1.0140 ,"D"], -[ 40 , 39 ] => [ 8267 , 4 ,"E"], -[ 41 , 38 ] => [ 8066 , 6 ,"E"], -[ 28 , 52 ] => [ 8088 , 7 ,"E"], -[ 29 , 51 ] => [ 8246 , 4 ,"E"], -[ 30 , 50 ] => [ 8423.5457 , 0.0323 ,"D"], -[ 31 , 49 ] => [ 8508.4545 , 0.0361 ,"D"], -[ 32 , 48 ] => [ 8627.5707 , 0.0257 ,"D"], -[ 33 , 47 ] => [ 8651.2824 , 0.0417 ,"D"], -[ 34 , 46 ] => [ 8710.8142 , 0.0118 ,"D"], -[ 35 , 45 ] => [ 8677.6541 , 0.0124 ,"D"], -[ 36 , 44 ] => [ 8692.9301 , 0.0087 ,"D"], -[ 37 , 43 ] => [ 8611.6760 , 0.0233 ,"D"], -[ 38 , 42 ] => [ 8578.5966 , 0.0433 ,"D"], -[ 39 , 41 ] => [ 8454.2759 , 0.0780 ,"D"], -[ 40 , 40 ] => [ 8365 , 4 ,"E"], -[ 41 , 39 ] => [ 8151 , 5 ,"E"], -[ 28 , 53 ] => [ 8000 , 9 ,"E"], -[ 29 , 52 ] => [ 8185 , 4 ,"E"], -[ 30 , 51 ] => [ 8351.9262 , 0.0621 ,"D"], -[ 31 , 50 ] => [ 8483.3576 , 0.0403 ,"D"], -[ 32 , 49 ] => [ 8580.6587 , 0.0254 ,"D"], -[ 33 , 48 ] => [ 8648.0571 , 0.0326 ,"D"], -[ 34 , 47 ] => [ 8685.9998 , 0.0121 ,"D"], -[ 35 , 46 ] => [ 8695.9465 , 0.0121 ,"D"], -[ 36 , 45 ] => [ 8682.8206 , 0.0133 ,"D"], -[ 37 , 44 ] => [ 8645.5139 , 0.0605 ,"D"], -[ 38 , 43 ] => [ 8587.3545 , 0.0386 ,"D"], -[ 39 , 42 ] => [ 8505.9031 , 0.0667 ,"D"], -[ 40 , 41 ] => [ 8395.1519 , 1.1385 ,"D"], -[ 41 , 40 ] => [ 8248 , 5 ,"E"], -[ 42 , 39 ] => [ 8054 , 6 ,"E"], -[ 28 , 54 ] => [ 7935 , 10 ,"E"], -[ 29 , 53 ] => [ 8108 , 5 ,"E"], -[ 30 , 52 ] => [ 8301.1175 , 0.0375 ,"D"], -[ 31 , 51 ] => [ 8421.0494 , 0.0296 ,"D"], -[ 32 , 50 ] => [ 8563.7567 , 0.0273 ,"D"], -[ 33 , 49 ] => [ 8611.4153 , 0.0455 ,"D"], -[ 34 , 48 ] => [ 8693.1973 , 0.0057 ,"D"], -[ 35 , 47 ] => [ 8682.4953 , 0.0118 ,"D"], -[ 36 , 46 ] => [ 8710.6754 , 0.0003 ,"D"], -[ 37 , 45 ] => [ 8647.4275 , 0.0367 ,"D"], -[ 38 , 44 ] => [ 8635.7190 , 0.0731 ,"D"], -[ 39 , 43 ] => [ 8529.2762 , 0.0671 ,"D"], -[ 40 , 42 ] => [ 8465.4666 , 0.0193 ,"D"], -[ 41 , 41 ] => [ 8312 , 4 ,"E"], -[ 42 , 40 ] => [ 8163 , 5 ,"E"], -[ 29 , 54 ] => [ 8044 , 6 ,"E"], -[ 30 , 53 ] => [ 8226 , 4 ,"E"], -[ 31 , 52 ] => [ 8372.5756 , 0.0315 ,"D"], -[ 32 , 51 ] => [ 8504.3462 , 0.0292 ,"D"], -[ 33 , 50 ] => [ 8599.6540 , 0.0337 ,"D"], -[ 34 , 49 ] => [ 8658.5560 , 0.0366 ,"D"], -[ 35 , 48 ] => [ 8693.3852 , 0.0457 ,"D"], -[ 36 , 47 ] => [ 8695.7295 , 0.0003 ,"D"], -[ 37 , 46 ] => [ 8675.2193 , 0.0281 ,"D"], -[ 38 , 45 ] => [ 8638.4076 , 0.0823 ,"D"], -[ 39 , 44 ] => [ 8573.6571 , 0.2245 ,"D"], -[ 40 , 43 ] => [ 8488.3997 , 0.0775 ,"D"], -[ 41 , 42 ] => [ 8378.9889 , 1.9528 ,"D"], -[ 42 , 41 ] => [ 8234 , 5 ,"E"], -[ 43 , 40 ] => [ 8043 , 6 ,"E"], -[ 29 , 55 ] => [ 7965 , 6 ,"E"], -[ 30 , 54 ] => [ 8171 , 5 ,"E"], -[ 31 , 53 ] => [ 8307.5250 , 0.3549 ,"D"], -[ 32 , 52 ] => [ 8465.5244 , 0.0377 ,"D"], -[ 33 , 51 ] => [ 8547.9385 , 0.0377 ,"D"], -[ 34 , 50 ] => [ 8658.7935 , 0.0233 ,"D"], -[ 35 , 49 ] => [ 8671.3294 , 0.3063 ,"D"], -[ 36 , 48 ] => [ 8717.4473 , 0.0003 ,"D"], -[ 37 , 47 ] => [ 8676.2244 , 0.0261 ,"D"], -[ 38 , 46 ] => [ 8677.5132 , 0.0148 ,"D"], -[ 39 , 45 ] => [ 8587.7812 , 0.0512 ,"D"], -[ 40 , 44 ] => [ 8549.0301 , 0.0655 ,"D"], -[ 41 , 43 ] => [ 8417.9563 , 0.0048 ,"D"], -[ 42 , 42 ] => [ 8325 , 4 ,"E"], -[ 43 , 41 ] => [ 8120 , 5 ,"E"], -[ 30 , 55 ] => [ 8090 , 6 ,"E"], -[ 31 , 54 ] => [ 8253.5687 , 0.4384 ,"D"], -[ 32 , 53 ] => [ 8401.7689 , 0.0439 ,"D"], -[ 33 , 52 ] => [ 8510.9851 , 0.0362 ,"D"], -[ 34 , 51 ] => [ 8610.3045 , 0.0307 ,"D"], -[ 35 , 50 ] => [ 8673.5926 , 0.0362 ,"D"], -[ 36 , 49 ] => [ 8698.5633 , 0.0235 ,"D"], -[ 37 , 48 ] => [ 8697.4416 , 0.0003 ,"D"], -[ 38 , 47 ] => [ 8675.7193 , 0.0331 ,"D"], -[ 39 , 46 ] => [ 8628.1486 , 0.2231 ,"D"], -[ 40 , 45 ] => [ 8564.0394 , 0.0756 ,"D"], -[ 41 , 44 ] => [ 8473.7117 , 0.0482 ,"D"], -[ 42 , 43 ] => [ 8361.3320 , 0.1863 ,"D"], -[ 43 , 42 ] => [ 8215 , 5 ,"E"], -[ 44 , 41 ] => [ 8027 , 6 ,"E"], -[ 30 , 56 ] => [ 8032 , 6 ,"E"], -[ 31 , 55 ] => [ 8182 , 5 ,"E"], -[ 32 , 54 ] => [ 8354.6300 , 5.0907 ,"D"], -[ 33 , 53 ] => [ 8456.7215 , 0.0401 ,"D"], -[ 34 , 52 ] => [ 8581.8224 , 0.0293 ,"D"], -[ 35 , 51 ] => [ 8632.3659 , 0.0358 ,"D"], -[ 36 , 50 ] => [ 8712.0295 , 0.0003 ,"D"], -[ 37 , 49 ] => [ 8696.9014 , 0.0023 ,"D"], -[ 38 , 48 ] => [ 8708.4566 , 0.0003 ,"D"], -[ 39 , 47 ] => [ 8638.4293 , 0.1644 ,"D"], -[ 40 , 46 ] => [ 8614.0523 , 0.0415 ,"D"], -[ 41 , 45 ] => [ 8502.2231 , 0.0639 ,"D"], -[ 42 , 44 ] => [ 8434.7175 , 0.0341 ,"D"], -[ 43 , 43 ] => [ 8280 , 3 ,"E"], -[ 44 , 42 ] => [ 8133 , 5 ,"E"], -[ 31 , 56 ] => [ 8124 , 6 ,"E"], -[ 32 , 55 ] => [ 8285 , 3 ,"E"], -[ 33 , 54 ] => [ 8413.8521 , 0.0343 ,"D"], -[ 34 , 53 ] => [ 8529.0920 , 0.0258 ,"D"], -[ 35 , 52 ] => [ 8605.9105 , 0.0364 ,"D"], -[ 36 , 51 ] => [ 8675.2840 , 0.0028 ,"D"], -[ 37 , 50 ] => [ 8710.9843 , 0.0003 ,"D"], -[ 38 , 49 ] => [ 8705.2363 , 0.0003 ,"D"], -[ 39 , 48 ] => [ 8674.8451 , 0.0130 ,"D"], -[ 40 , 47 ] => [ 8623.6545 , 0.0477 ,"D"], -[ 41 , 46 ] => [ 8551.7579 , 0.0782 ,"D"], -[ 42 , 45 ] => [ 8462.4243 , 0.0328 ,"D"], -[ 43 , 44 ] => [ 8347.7449 , 0.0482 ,"D"], -[ 44 , 43 ] => [ 8201 , 5 ,"E"], -[ 31 , 57 ] => [ 8050 , 6 ,"E"], -[ 32 , 56 ] => [ 8236 , 5 ,"E"], -[ 33 , 55 ] => [ 8351 , 2 ,"E"], -[ 34 , 54 ] => [ 8495.0045 , 0.0382 ,"D"], -[ 35 , 53 ] => [ 8563.7479 , 0.0360 ,"D"], -[ 36 , 52 ] => [ 8656.8499 , 0.0296 ,"D"], -[ 37 , 51 ] => [ 8681.1154 , 0.0018 ,"D"], -[ 38 , 50 ] => [ 8732.5958 , 0.0003 ,"D"], -[ 39 , 49 ] => [ 8682.5396 , 0.0170 ,"D"], -[ 40 , 48 ] => [ 8666.0339 , 0.0614 ,"D"], -[ 41 , 47 ] => [ 8572.4013 , 0.6569 ,"D"], -[ 42 , 46 ] => [ 8523.9087 , 0.0434 ,"D"], -[ 43 , 45 ] => [ 8389.8338 , 0.0466 ,"D"], -[ 44 , 44 ] => [ 8298 , 3 ,"E"], -[ 45 , 43 ] => [ 8090 , 5 ,"E"], -[ 32 , 57 ] => [ 8161 , 4 ,"E"], -[ 33 , 56 ] => [ 8304 , 3 ,"E"], -[ 34 , 55 ] => [ 8435.2799 , 0.0419 ,"D"], -[ 35 , 54 ] => [ 8530.7802 , 0.0367 ,"D"], -[ 36 , 53 ] => [ 8614.8158 , 0.0241 ,"D"], -[ 37 , 52 ] => [ 8664.1895 , 0.0610 ,"D"], -[ 38 , 51 ] => [ 8705.9230 , 0.0011 ,"D"], -[ 39 , 50 ] => [ 8714.0110 , 0.0038 ,"D"], -[ 40 , 49 ] => [ 8673.3865 , 0.0312 ,"D"], -[ 41 , 48 ] => [ 8616.8184 , 0.2655 ,"D"], -[ 42 , 47 ] => [ 8544.9851 , 0.0440 ,"D"], -[ 43 , 46 ] => [ 8450.5758 , 0.0429 ,"D"], -[ 44 , 45 ] => [ 8340.3760 , 0.2721 ,"D"], -[ 45 , 44 ] => [ 8189 , 4 ,"E"], -[ 32 , 58 ] => [ 8109 , 6 ,"E"], -[ 33 , 57 ] => [ 8240 , 4 ,"E"], -[ 34 , 56 ] => [ 8395.7672 , 3.6639 ,"D"], -[ 35 , 55 ] => [ 8478.1865 , 0.0373 ,"D"], -[ 36 , 54 ] => [ 8591.2599 , 0.0207 ,"D"], -[ 37 , 53 ] => [ 8631.5262 , 0.0717 ,"D"], -[ 38 , 52 ] => [ 8696.0043 , 0.0161 ,"D"], -[ 39 , 51 ] => [ 8693.3778 , 0.0039 ,"D"], -[ 40 , 50 ] => [ 8709.9699 , 0.0013 ,"D"], -[ 41 , 49 ] => [ 8633.3770 , 0.0369 ,"D"], -[ 42 , 48 ] => [ 8597.0285 , 0.0385 ,"D"], -[ 43 , 47 ] => [ 8483.3600 , 0.0114 ,"D"], -[ 44 , 46 ] => [ 8409.7684 , 0.0414 ,"D"], -[ 45 , 45 ] => [ 8254 , 2 ,"E"], -[ 46 , 44 ] => [ 8113 , 4 ,"E"], -[ 33 , 58 ] => [ 8189 , 4 ,"E"], -[ 34 , 57 ] => [ 8334.8382 , 4.7598 ,"D"], -[ 35 , 56 ] => [ 8441.9242 , 0.0389 ,"D"], -[ 36 , 55 ] => [ 8541.7519 , 0.0246 ,"D"], -[ 37 , 54 ] => [ 8607.5621 , 0.0857 ,"D"], -[ 38 , 53 ] => [ 8663.8759 , 0.0599 ,"D"], -[ 39 , 52 ] => [ 8684.9421 , 0.0203 ,"D"], -[ 40 , 51 ] => [ 8693.3149 , 0.0011 ,"D"], -[ 41 , 50 ] => [ 8670.8983 , 0.0322 ,"D"], -[ 42 , 49 ] => [ 8613.6286 , 0.0686 ,"D"], -[ 43 , 48 ] => [ 8536.6558 , 0.0260 ,"D"], -[ 44 , 47 ] => [ 8442.9287 , 0.0244 ,"D"], -[ 45 , 46 ] => [ 8328 , 3 ,"E"], -[ 46 , 45 ] => [ 8183 , 5 ,"E"], -[ 33 , 59 ] => [ 8121 , 5 ,"E"], -[ 34 , 58 ] => [ 8290 , 4 ,"E"], -[ 35 , 57 ] => [ 8384.9123 , 0.0729 ,"D"], -[ 36 , 56 ] => [ 8512.6750 , 0.0294 ,"D"], -[ 37 , 55 ] => [ 8569.4225 , 0.0666 ,"D"], -[ 38 , 54 ] => [ 8648.9070 , 0.0372 ,"D"], -[ 39 , 53 ] => [ 8661.5894 , 0.0992 ,"D"], -[ 40 , 52 ] => [ 8692.6783 , 0.0011 ,"D"], -[ 41 , 51 ] => [ 8662.3731 , 0.0194 ,"D"], -[ 42 , 50 ] => [ 8657.7312 , 0.0017 ,"D"], -[ 43 , 49 ] => [ 8563.5440 , 0.0337 ,"D"], -[ 44 , 48 ] => [ 8504.7740 , 0.0295 ,"D"], -[ 45 , 47 ] => [ 8373.4211 , 0.0476 ,"D"], -[ 46 , 46 ] => [ 8275.5695 , 3.7503 ,"D"], -[ 47 , 45 ] => [ 8080 , 4 ,"E"], -[ 34 , 59 ] => [ 8225 , 4 ,"E"], -[ 35 , 58 ] => [ 8345.5986 , 4.6324 ,"D"], -[ 36 , 57 ] => [ 8458.1085 , 0.0270 ,"D"], -[ 37 , 56 ] => [ 8540.9209 , 0.0842 ,"D"], -[ 38 , 55 ] => [ 8612.7875 , 0.0812 ,"D"], -[ 39 , 54 ] => [ 8648.9054 , 0.1128 ,"D"], -[ 40 , 53 ] => [ 8671.6207 , 0.0049 ,"D"], -[ 41 , 52 ] => [ 8664.1849 , 0.0160 ,"D"], -[ 42 , 51 ] => [ 8651.4095 , 0.0020 ,"D"], -[ 43 , 50 ] => [ 8608.5782 , 0.0109 ,"D"], -[ 44 , 49 ] => [ 8531.4627 , 0.0222 ,"D"], -[ 45 , 48 ] => [ 8434.8255 , 0.0283 ,"D"], -[ 46 , 47 ] => [ 8318.5637 , 3.9786 ,"D"], -[ 47 , 46 ] => [ 8175 , 4 ,"E"], -[ 34 , 60 ] => [ 8180 , 5 ,"E"], -[ 35 , 59 ] => [ 8287 , 2 ,"E"], -[ 36 , 58 ] => [ 8424.3318 , 0.1288 ,"D"], -[ 37 , 57 ] => [ 8492.7644 , 0.0216 ,"D"], -[ 38 , 56 ] => [ 8593.8344 , 0.0177 ,"D"], -[ 39 , 55 ] => [ 8622.8068 , 0.0679 ,"D"], -[ 40 , 54 ] => [ 8666.8016 , 0.0018 ,"D"], -[ 41 , 53 ] => [ 8648.9014 , 0.0159 ,"D"], -[ 42 , 52 ] => [ 8662.3341 , 0.0015 ,"D"], -[ 43 , 51 ] => [ 8608.7373 , 0.0433 ,"D"], -[ 44 , 50 ] => [ 8583.6620 , 0.0334 ,"D"], -[ 45 , 49 ] => [ 8472.4033 , 0.0359 ,"D"], -[ 46 , 48 ] => [ 8391.6832 , 0.0456 ,"D"], -[ 47 , 47 ] => [ 8238 , 4 ,"E"], -[ 48 , 46 ] => [ 8102 , 5 ,"E"], -[ 34 , 61 ] => [ 8112 , 5 ,"E"], -[ 35 , 60 ] => [ 8245 , 3 ,"E"], -[ 36 , 59 ] => [ 8365.9963 , 0.1961 ,"D"], -[ 37 , 58 ] => [ 8460.1967 , 0.2131 ,"D"], -[ 38 , 57 ] => [ 8549.0875 , 0.0612 ,"D"], -[ 39 , 56 ] => [ 8604.9644 , 0.0714 ,"D"], -[ 40 , 55 ] => [ 8643.5924 , 0.0092 ,"D"], -[ 41 , 54 ] => [ 8647.2133 , 0.0054 ,"D"], -[ 42 , 53 ] => [ 8648.7212 , 0.0013 ,"D"], -[ 43 , 52 ] => [ 8622.6911 , 0.0535 ,"D"], -[ 44 , 51 ] => [ 8587.4706 , 0.1000 ,"D"], -[ 45 , 50 ] => [ 8525.3707 , 0.0409 ,"D"], -[ 46 , 49 ] => [ 8428.9807 , 0.0319 ,"D"], -[ 47 , 48 ] => [ 8315 , 4 ,"E"], -[ 48 , 47 ] => [ 8171 , 6 ,"E"], -[ 35 , 61 ] => [ 8184 , 3 ,"E"], -[ 36 , 60 ] => [ 8330.8721 , 0.2008 ,"D"], -[ 37 , 59 ] => [ 8408.8963 , 0.0349 ,"D"], -[ 38 , 58 ] => [ 8521.2041 , 0.0882 ,"D"], -[ 39 , 57 ] => [ 8569.4269 , 0.0633 ,"D"], -[ 40 , 56 ] => [ 8635.3283 , 0.0012 ,"D"], -[ 41 , 55 ] => [ 8628.8868 , 0.0015 ,"D"], -[ 42 , 54 ] => [ 8653.9880 , 0.0013 ,"D"], -[ 43 , 53 ] => [ 8614.8673 , 0.0536 ,"D"], -[ 44 , 52 ] => [ 8609.4130 , 0.0018 ,"D"], -[ 45 , 51 ] => [ 8534.6735 , 0.1042 ,"D"], -[ 46 , 50 ] => [ 8490.0207 , 0.0437 ,"D"], -[ 47 , 49 ] => [ 8360.2903 , 0.9384 ,"D"], -[ 48 , 48 ] => [ 8259 , 4 ,"E"], -[ 49 , 47 ] => [ 8069 , 5 ,"E"], -[ 35 , 62 ] => [ 8140 , 4 ,"E"], -[ 36 , 61 ] => [ 8269.8645 , 1.3444 ,"D"], -[ 37 , 60 ] => [ 8376.1872 , 0.0197 ,"D"], -[ 38 , 59 ] => [ 8471.8489 , 0.0349 ,"D"], -[ 39 , 58 ] => [ 8541.4616 , 0.0692 ,"D"], -[ 40 , 57 ] => [ 8603.7182 , 0.0013 ,"D"], -[ 41 , 56 ] => [ 8623.1384 , 0.0438 ,"D"], -[ 42 , 55 ] => [ 8635.0926 , 0.0017 ,"D"], -[ 43 , 54 ] => [ 8623.7254 , 0.0425 ,"D"], -[ 44 , 53 ] => [ 8604.2799 , 0.0285 ,"D"], -[ 45 , 52 ] => [ 8559.8949 , 0.3656 ,"D"], -[ 46 , 51 ] => [ 8502.4303 , 0.0499 ,"D"], -[ 47 , 50 ] => [ 8423.2121 , 0.1239 ,"D"], -[ 48 , 49 ] => [ 8310.3013 , 4.3317 ,"D"], -[ 49 , 48 ] => [ 8165 , 4 ,"E"], -[ 35 , 63 ] => [ 8078 , 4 ,"E"], -[ 36 , 62 ] => [ 8234 , 3 ,"E"], -[ 37 , 61 ] => [ 8330.7294 , 0.1641 ,"D"], -[ 38 , 60 ] => [ 8445.7385 , 0.0329 ,"D"], -[ 39 , 59 ] => [ 8497.6162 , 0.0808 ,"D"], -[ 40 , 58 ] => [ 8581.3984 , 0.0862 ,"D"], -[ 41 , 57 ] => [ 8596.3016 , 0.0510 ,"D"], -[ 42 , 56 ] => [ 8635.1691 , 0.0018 ,"D"], -[ 43 , 55 ] => [ 8610.0047 , 0.0345 ,"D"], -[ 44 , 54 ] => [ 8620.3140 , 0.0659 ,"D"], -[ 45 , 53 ] => [ 8560.8038 , 0.1215 ,"D"], -[ 46 , 52 ] => [ 8533.8999 , 0.0484 ,"D"], -[ 47 , 51 ] => [ 8441.6866 , 0.3358 ,"D"], -[ 48 , 50 ] => [ 8378.2953 , 0.5285 ,"D"], -[ 49 , 49 ] => [ 8230 , 3 ,"E"], -[ 36 , 63 ] => [ 8175 , 4 ,"E"], -[ 37 , 62 ] => [ 8295.3010 , 0.0407 ,"D"], -[ 38 , 61 ] => [ 8402.5235 , 0.0479 ,"D"], -[ 39 , 60 ] => [ 8476.6938 , 0.0668 ,"D"], -[ 40 , 59 ] => [ 8539.2250 , 0.1061 ,"D"], -[ 41 , 58 ] => [ 8578.9859 , 0.1213 ,"D"], -[ 42 , 57 ] => [ 8607.7982 , 0.0023 ,"D"], -[ 43 , 56 ] => [ 8613.6105 , 0.0092 ,"D"], -[ 44 , 55 ] => [ 8608.7132 , 0.0035 ,"D"], -[ 45 , 54 ] => [ 8580.1959 , 0.1965 ,"D"], -[ 46 , 53 ] => [ 8537.9332 , 0.0516 ,"D"], -[ 47 , 52 ] => [ 8474.7744 , 0.0633 ,"D"], -[ 48 , 51 ] => [ 8398.3734 , 0.0160 ,"D"], -[ 49 , 50 ] => [ 8304 , 3 ,"E"], -[ 50 , 49 ] => [ 8161 , 6 ,"E"], -[ 36 , 64 ] => [ 8134 , 4 ,"E"], -[ 37 , 63 ] => [ 8244.5085 , 0.1312 ,"D"], -[ 38 , 62 ] => [ 8372.2012 , 0.0692 ,"D"], -[ 39 , 61 ] => [ 8439.4151 , 0.1118 ,"D"], -[ 40 , 60 ] => [ 8522.1066 , 0.0814 ,"D"], -[ 41 , 59 ] => [ 8548.4683 , 0.0798 ,"D"], -[ 42 , 58 ] => [ 8604.6626 , 0.0030 ,"D"], -[ 43 , 57 ] => [ 8595.1184 , 0.0135 ,"D"], -[ 44 , 56 ] => [ 8619.3593 , 0.0034 ,"D"], -[ 45 , 55 ] => [ 8575.1732 , 0.1813 ,"D"], -[ 46 , 54 ] => [ 8563.5652 , 0.1764 ,"D"], -[ 47 , 53 ] => [ 8484.9947 , 0.0500 ,"D"], -[ 48 , 52 ] => [ 8437.7375 , 0.0168 ,"D"], -[ 49 , 51 ] => [ 8329.7495 , 0.0224 ,"D"], -[ 50 , 50 ] => [ 8251.6260 , 2.4001 ,"D"], -[ 36 , 65 ] => [ 8075 , 5 ,"E"], -[ 37 , 64 ] => [ 8206.1753 , 0.2029 ,"D"], -[ 38 , 63 ] => [ 8324.7411 , 0.0840 ,"D"], -[ 39 , 62 ] => [ 8413.3305 , 0.0701 ,"D"], -[ 40 , 61 ] => [ 8485.8439 , 0.0825 ,"D"], -[ 41 , 60 ] => [ 8534.8355 , 0.0371 ,"D"], -[ 42 , 59 ] => [ 8572.9159 , 0.0031 ,"D"], -[ 43 , 58 ] => [ 8593.1366 , 0.2377 ,"D"], -[ 44 , 57 ] => [ 8601.3660 , 0.0041 ,"D"], -[ 45 , 56 ] => [ 8588.2172 , 0.0578 ,"D"], -[ 46 , 55 ] => [ 8560.8644 , 0.0454 ,"D"], -[ 47 , 54 ] => [ 8512.5465 , 0.0479 ,"D"], -[ 48 , 53 ] => [ 8450.3657 , 0.0148 ,"D"], -[ 49 , 52 ] => [ 8370.4260 , 0.1155 ,"D"], -[ 50 , 51 ] => [ 8281.1030 , 2.9703 ,"D"], -[ 37 , 65 ] => [ 8152.7443 , 0.8128 ,"D"], -[ 38 , 64 ] => [ 8291.2213 , 0.6575 ,"D"], -[ 39 , 63 ] => [ 8371.9172 , 0.0400 ,"D"], -[ 40 , 62 ] => [ 8466.2940 , 0.0859 ,"D"], -[ 41 , 61 ] => [ 8504.8675 , 0.0246 ,"D"], -[ 42 , 60 ] => [ 8568.3994 , 0.0814 ,"D"], -[ 43 , 59 ] => [ 8570.6514 , 0.0899 ,"D"], -[ 44 , 58 ] => [ 8607.4275 , 0.0041 ,"D"], -[ 45 , 57 ] => [ 8576.9818 , 0.0628 ,"D"], -[ 46 , 56 ] => [ 8580.2887 , 0.0041 ,"D"], -[ 47 , 55 ] => [ 8517.1650 , 0.0801 ,"D"], -[ 48 , 54 ] => [ 8484.1322 , 0.0163 ,"D"], -[ 49 , 53 ] => [ 8388.5719 , 0.0448 ,"D"], -[ 50 , 52 ] => [ 8324.4313 , 0.9814 ,"D"], -[ 51 , 51 ] => [ 8181 , 4 ,"E"], -[ 37 , 66 ] => [ 8112 , 4 ,"E"], -[ 38 , 65 ] => [ 8242 , 2 ,"E"], -[ 39 , 64 ] => [ 8342.6336 , 0.1088 ,"D"], -[ 40 , 63 ] => [ 8425.8337 , 0.0895 ,"D"], -[ 41 , 62 ] => [ 8488.3320 , 0.0382 ,"D"], -[ 42 , 61 ] => [ 8538.2672 , 0.0895 ,"D"], -[ 43 , 60 ] => [ 8566.1045 , 0.0952 ,"D"], -[ 44 , 59 ] => [ 8584.3656 , 0.0043 ,"D"], -[ 45 , 58 ] => [ 8584.1927 , 0.0223 ,"D"], -[ 46 , 57 ] => [ 8571.0173 , 0.0085 ,"D"], -[ 47 , 56 ] => [ 8537.6520 , 0.0398 ,"D"], -[ 48 , 55 ] => [ 8489.7547 , 0.0176 ,"D"], -[ 49 , 54 ] => [ 8423.7199 , 0.0872 ,"D"], -[ 50 , 53 ] => [ 8343 , 1 ,"E"], -[ 51 , 52 ] => [ 8234 , 3 ,"E"], -[ 37 , 67 ] => [ 8057 , 5 ,"E"], -[ 38 , 66 ] => [ 8206 , 3 ,"E"], -[ 39 , 65 ] => [ 8298 , 2 ,"E"], -[ 40 , 64 ] => [ 8402.3159 , 0.0896 ,"D"], -[ 41 , 63 ] => [ 8453.3832 , 0.0172 ,"D"], -[ 42 , 62 ] => [ 8527.9063 , 0.0857 ,"D"], -[ 43 , 61 ] => [ 8541.1070 , 0.2393 ,"D"], -[ 44 , 60 ] => [ 8587.3998 , 0.0240 ,"D"], -[ 45 , 59 ] => [ 8568.9501 , 0.0221 ,"D"], -[ 46 , 58 ] => [ 8584.8485 , 0.0129 ,"D"], -[ 47 , 57 ] => [ 8536.1850 , 0.0406 ,"D"], -[ 48 , 56 ] => [ 8517.6232 , 0.0161 ,"D"], -[ 49 , 55 ] => [ 8435.2380 , 0.0555 ,"D"], -[ 50 , 54 ] => [ 8383.9114 , 0.0552 ,"D"], -[ 51 , 53 ] => [ 8258 , 1 ,"E"], -[ 52 , 52 ] => [ 8157.3256 , 3.0539 ,"D"], -[ 38 , 67 ] => [ 8152 , 5 ,"E"], -[ 39 , 66 ] => [ 8262 , 4 ,"E"], -[ 40 , 65 ] => [ 8358.5980 , 0.1153 ,"D"], -[ 41 , 64 ] => [ 8431.6925 , 0.0384 ,"D"], -[ 42 , 63 ] => [ 8494.8630 , 0.0862 ,"D"], -[ 43 , 62 ] => [ 8534.6074 , 0.3358 ,"D"], -[ 44 , 61 ] => [ 8561.9016 , 0.0238 ,"D"], -[ 45 , 60 ] => [ 8572.7053 , 0.0238 ,"D"], -[ 46 , 59 ] => [ 8570.6509 , 0.0108 ,"D"], -[ 47 , 58 ] => [ 8550.3708 , 0.0433 ,"D"], -[ 48 , 57 ] => [ 8516.8532 , 0.0133 ,"D"], -[ 49 , 56 ] => [ 8464.7045 , 0.0976 ,"D"], -[ 50 , 55 ] => [ 8397.2290 , 0.0378 ,"D"], -[ 51 , 54 ] => [ 8300.9923 , 0.2079 ,"D"], -[ 52 , 53 ] => [ 8186.8368 , 2.8573 ,"D"], -[ 38 , 68 ] => [ 8114 , 6 ,"E"], -[ 39 , 67 ] => [ 8215 , 5 ,"E"], -[ 40 , 66 ] => [ 8330 , 2 ,"E"], -[ 41 , 65 ] => [ 8393.2657 , 0.0134 ,"D"], -[ 42 , 64 ] => [ 8479.5202 , 0.0861 ,"D"], -[ 43 , 63 ] => [ 8506.5570 , 0.1156 ,"D"], -[ 44 , 62 ] => [ 8560.9406 , 0.0509 ,"D"], -[ 45 , 61 ] => [ 8553.9317 , 0.0508 ,"D"], -[ 46 , 60 ] => [ 8579.9934 , 0.0104 ,"D"], -[ 47 , 59 ] => [ 8544.6397 , 0.0285 ,"D"], -[ 48 , 58 ] => [ 8539.0492 , 0.0104 ,"D"], -[ 49 , 57 ] => [ 8470.1213 , 0.1153 ,"D"], -[ 50 , 56 ] => [ 8432.0383 , 0.0480 ,"D"], -[ 51 , 55 ] => [ 8322.0124 , 0.0703 ,"D"], -[ 52 , 54 ] => [ 8236.7682 , 0.9485 ,"D"], -[ 53 , 53 ] => [ 8089 , 4 ,"E"], -[ 38 , 69 ] => [ 8057 , 7 ,"E"], -[ 39 , 68 ] => [ 8178 , 5 ,"E"], -[ 40 , 67 ] => [ 8284 , 3 ,"E"], -[ 41 , 66 ] => [ 8367.0898 , 0.0750 ,"D"], -[ 42 , 65 ] => [ 8442.2190 , 0.0862 ,"D"], -[ 43 , 64 ] => [ 8492.8979 , 0.0811 ,"D"], -[ 44 , 63 ] => [ 8533.3676 , 0.0811 ,"D"], -[ 45 , 62 ] => [ 8554.1040 , 0.1126 ,"D"], -[ 46 , 61 ] => [ 8560.8946 , 0.0112 ,"D"], -[ 47 , 60 ] => [ 8553.9012 , 0.0223 ,"D"], -[ 48 , 59 ] => [ 8533.3524 , 0.0155 ,"D"], -[ 49 , 58 ] => [ 8494.0439 , 0.0902 ,"D"], -[ 50 , 57 ] => [ 8439.4946 , 0.0496 ,"D"], -[ 51 , 56 ] => [ 8358.7344 , 0.0388 ,"D"], -[ 52 , 55 ] => [ 8258 , 1 ,"E"], -[ 53 , 54 ] => [ 8146 , 3 ,"E"], -[ 39 , 69 ] => [ 8129 , 6 ,"E"], -[ 40 , 68 ] => [ 8253 , 4 ,"E"], -[ 41 , 67 ] => [ 8325.6604 , 0.0763 ,"D"], -[ 42 , 66 ] => [ 8422.1581 , 0.0854 ,"D"], -[ 43 , 65 ] => [ 8462.8172 , 0.0812 ,"D"], -[ 44 , 64 ] => [ 8527.2267 , 0.0804 ,"D"], -[ 45 , 63 ] => [ 8532.6657 , 0.1296 ,"D"], -[ 46 , 62 ] => [ 8567.0241 , 0.0103 ,"D"], -[ 47 , 61 ] => [ 8542.0262 , 0.0221 ,"D"], -[ 48 , 60 ] => [ 8550.0196 , 0.0104 ,"D"], -[ 49 , 59 ] => [ 8495.2516 , 0.0800 ,"D"], -[ 50 , 58 ] => [ 8469.0273 , 0.0498 ,"D"], -[ 51 , 57 ] => [ 8372.6666 , 0.0509 ,"D"], -[ 52 , 56 ] => [ 8303.7221 , 0.0501 ,"D"], -[ 53 , 55 ] => [ 8176 , 1 ,"E"], -[ 54 , 54 ] => [ 8074.8886 , 3.5139 ,"D"], -[ 39 , 70 ] => [ 8089 , 6 ,"E"], -[ 40 , 69 ] => [ 8204 , 5 ,"E"], -[ 41 , 68 ] => [ 8297.1307 , 3.9524 ,"D"], -[ 42 , 67 ] => [ 8381.4163 , 0.1026 ,"D"], -[ 43 , 66 ] => [ 8444.1796 , 0.0887 ,"D"], -[ 44 , 65 ] => [ 8496.2280 , 0.0821 ,"D"], -[ 45 , 64 ] => [ 8528.1404 , 0.0371 ,"D"], -[ 46 , 63 ] => [ 8544.8825 , 0.0102 ,"D"], -[ 47 , 62 ] => [ 8547.9155 , 0.0118 ,"D"], -[ 48 , 61 ] => [ 8538.7646 , 0.0141 ,"D"], -[ 49 , 60 ] => [ 8513.1027 , 0.0364 ,"D"], -[ 50 , 59 ] => [ 8470.5183 , 0.0729 ,"D"], -[ 51 , 58 ] => [ 8404.8161 , 0.0483 ,"D"], -[ 52 , 57 ] => [ 8319.3305 , 0.0402 ,"D"], -[ 53 , 56 ] => [ 8220.0164 , 0.0617 ,"D"], -[ 54 , 55 ] => [ 8107.3071 , 2.7533 ,"D"], -[ 40 , 70 ] => [ 8171 , 5 ,"E"], -[ 41 , 69 ] => [ 8255.2607 , 7.6213 ,"D"], -[ 42 , 68 ] => [ 8359.2930 , 0.2202 ,"D"], -[ 43 , 67 ] => [ 8411.2603 , 0.0863 ,"D"], -[ 44 , 66 ] => [ 8486.3123 , 0.0811 ,"D"], -[ 45 , 65 ] => [ 8504.2551 , 0.1619 ,"D"], -[ 46 , 64 ] => [ 8547.1630 , 0.0056 ,"D"], -[ 47 , 63 ] => [ 8532.1089 , 0.0117 ,"D"], -[ 48 , 62 ] => [ 8551.2755 , 0.0035 ,"D"], -[ 49 , 61 ] => [ 8508.9087 , 0.1050 ,"D"], -[ 50 , 60 ] => [ 8496.0875 , 0.1252 ,"D"], -[ 51 , 59 ] => [ 8412.6821 , 0.0542 ,"D"], -[ 52 , 58 ] => [ 8358.1160 , 0.0598 ,"D"], -[ 53 , 57 ] => [ 8244.0767 , 0.5631 ,"D"], -[ 54 , 56 ] => [ 8159.2808 , 0.9181 ,"D"], -[ 40 , 71 ] => [ 8118 , 5 ,"E"], -[ 41 , 70 ] => [ 8223 , 3 ,"E"], -[ 42 , 69 ] => [ 8315.2932 , 0.1133 ,"D"], -[ 43 , 68 ] => [ 8390.0906 , 0.0953 ,"D"], -[ 44 , 67 ] => [ 8452.9582 , 0.0872 ,"D"], -[ 45 , 66 ] => [ 8495.6267 , 0.0617 ,"D"], -[ 46 , 65 ] => [ 8521.7498 , 0.0066 ,"D"], -[ 47 , 64 ] => [ 8534.7878 , 0.0131 ,"D"], -[ 48 , 63 ] => [ 8537.0801 , 0.0032 ,"D"], -[ 49 , 62 ] => [ 8522.2824 , 0.0308 ,"D"], -[ 50 , 61 ] => [ 8493.1310 , 0.0481 ,"D"], -[ 51 , 60 ] => [ 8440.1203 , 0.0797 ,"D"], -[ 52 , 59 ] => [ 8367.7635 , 0.0579 ,"D"], -[ 53 , 58 ] => [ 8282.9343 , 0.0428 ,"D"], -[ 54 , 57 ] => [ 8182 , 1 ,"E"], -[ 55 , 56 ] => [ 8070 , 2 ,"E"], -[ 40 , 72 ] => [ 8081 , 6 ,"E"], -[ 41 , 71 ] => [ 8178 , 3 ,"E"], -[ 42 , 70 ] => [ 8291 , 2 ,"E"], -[ 43 , 69 ] => [ 8353.6217 , 0.0492 ,"D"], -[ 44 , 68 ] => [ 8439.2431 , 0.0857 ,"D"], -[ 45 , 67 ] => [ 8468.8666 , 0.3936 ,"D"], -[ 46 , 66 ] => [ 8520.7205 , 0.0584 ,"D"], -[ 47 , 65 ] => [ 8516.0807 , 0.0216 ,"D"], -[ 48 , 64 ] => [ 8544.7306 , 0.0022 ,"D"], -[ 49 , 63 ] => [ 8514.6674 , 0.0380 ,"D"], -[ 50 , 62 ] => [ 8513.6189 , 0.0026 ,"D"], -[ 51 , 61 ] => [ 8443.6330 , 0.1592 ,"D"], -[ 52 , 60 ] => [ 8400.6527 , 0.0749 ,"D"], -[ 53 , 59 ] => [ 8299.8801 , 0.0915 ,"D"], -[ 54 , 58 ] => [ 8230.0646 , 0.0740 ,"D"], -[ 55 , 57 ] => [ 8102 , 1 ,"E"], -[ 40 , 73 ] => [ 8027 , 3 ,"E"], -[ 41 , 72 ] => [ 8143 , 4 ,"E"], -[ 42 , 71 ] => [ 8246 , 3 ,"E"], -[ 43 , 70 ] => [ 8329.4652 , 0.0297 ,"D"], -[ 44 , 69 ] => [ 8402.6857 , 0.3388 ,"D"], -[ 45 , 68 ] => [ 8456.8165 , 0.0631 ,"D"], -[ 46 , 67 ] => [ 8492.5795 , 0.0615 ,"D"], -[ 47 , 66 ] => [ 8516.0660 , 0.1473 ,"D"], -[ 48 , 65 ] => [ 8526.9874 , 0.0022 ,"D"], -[ 49 , 64 ] => [ 8522.9297 , 0.0017 ,"D"], -[ 50 , 63 ] => [ 8506.8117 , 0.0139 ,"D"], -[ 51 , 62 ] => [ 8465.2762 , 0.1521 ,"D"], -[ 52 , 61 ] => [ 8404.6366 , 0.2473 ,"D"], -[ 53 , 60 ] => [ 8333.7528 , 0.0709 ,"D"], -[ 54 , 59 ] => [ 8247.9277 , 0.0605 ,"D"], -[ 55 , 58 ] => [ 8148.6230 , 0.0759 ,"D"], -[ 56 , 57 ] => [ 8035 , 3 ,"E"], -[ 41 , 73 ] => [ 8097 , 4 ,"E"], -[ 42 , 72 ] => [ 8219 , 3 ,"E"], -[ 43 , 71 ] => [ 8290.2599 , 3.7995 ,"D"], -[ 44 , 70 ] => [ 8385.3351 , 0.0312 ,"D"], -[ 45 , 69 ] => [ 8426.6221 , 0.6277 ,"D"], -[ 46 , 68 ] => [ 8488.0056 , 0.0610 ,"D"], -[ 47 , 67 ] => [ 8493.7786 , 0.0400 ,"D"], -[ 48 , 66 ] => [ 8531.5135 , 0.0024 ,"D"], -[ 49 , 65 ] => [ 8511.9742 , 0.0027 ,"D"], -[ 50 , 64 ] => [ 8522.5671 , 0.0004 ,"D"], -[ 51 , 63 ] => [ 8462.5191 , 0.1734 ,"D"], -[ 52 , 62 ] => [ 8432.7885 , 0.2143 ,"D"], -[ 53 , 61 ] => [ 8344.7790 , 0.1757 ,"D"], -[ 54 , 60 ] => [ 8289.2054 , 0.0981 ,"D"], -[ 55 , 59 ] => [ 8173.5711 , 0.7462 ,"D"], -[ 56 , 58 ] => [ 8089.6865 , 0.9007 ,"D"], -[ 41 , 74 ] => [ 8061 , 4 ,"E"], -[ 42 , 73 ] => [ 8173 , 3 ,"E"], -[ 43 , 72 ] => [ 8264 , 2 ,"E"], -[ 44 , 71 ] => [ 8346.8140 , 0.2188 ,"D"], -[ 45 , 70 ] => [ 8410.6538 , 0.0636 ,"D"], -[ 46 , 69 ] => [ 8457.7342 , 0.1178 ,"D"], -[ 47 , 68 ] => [ 8490.5553 , 0.1589 ,"D"], -[ 48 , 67 ] => [ 8510.7252 , 0.0057 ,"D"], -[ 49 , 66 ] => [ 8516.5472 , 0.0003 ,"D"], -[ 50 , 65 ] => [ 8514.0702 , 0.0003 ,"D"], -[ 51 , 64 ] => [ 8480.9156 , 0.1394 ,"D"], -[ 52 , 63 ] => [ 8431.1504 , 0.2430 ,"D"], -[ 53 , 62 ] => [ 8374.5651 , 0.2511 ,"D"], -[ 54 , 61 ] => [ 8300.9704 , 0.1053 ,"D"], -[ 55 , 60 ] => [ 8216 , 1 ,"E"], -[ 56 , 59 ] => [ 8116 , 2 ,"E"], -[ 41 , 75 ] => [ 8012 , 3 ,"E"], -[ 42 , 74 ] => [ 8143 , 4 ,"E"], -[ 43 , 73 ] => [ 8223 , 3 ,"E"], -[ 44 , 72 ] => [ 8326.8840 , 0.0321 ,"D"], -[ 45 , 71 ] => [ 8377.6123 , 0.6365 ,"D"], -[ 46 , 70 ] => [ 8449.2755 , 0.0615 ,"D"], -[ 47 , 69 ] => [ 8465.9073 , 0.0281 ,"D"], -[ 48 , 68 ] => [ 8512.3511 , 0.0014 ,"D"], -[ 49 , 67 ] => [ 8501.6177 , 0.0019 ,"D"], -[ 50 , 66 ] => [ 8523.1166 , 0.0009 ,"D"], -[ 51 , 65 ] => [ 8475.8208 , 0.0444 ,"D"], -[ 52 , 64 ] => [ 8455.6435 , 0.2087 ,"D"], -[ 53 , 63 ] => [ 8381.2858 , 0.6469 ,"D"], -[ 54 , 62 ] => [ 8336.8365 , 0.1122 ,"D"], -[ 55 , 61 ] => [ 8235 , 1 ,"E"], -[ 56 , 60 ] => [ 8162 , 2 ,"E"], -[ 57 , 59 ] => [ 8032 , 3 ,"E"], -[ 42 , 75 ] => [ 8096 , 4 ,"E"], -[ 43 , 74 ] => [ 8195 , 3 ,"E"], -[ 44 , 73 ] => [ 8285.5625 , 3.7021 ,"D"], -[ 45 , 72 ] => [ 8359.2766 , 0.0760 ,"D"], -[ 46 , 71 ] => [ 8416.9243 , 0.0620 ,"D"], -[ 47 , 70 ] => [ 8459.4515 , 0.1160 ,"D"], -[ 48 , 69 ] => [ 8488.9740 , 0.0087 ,"D"], -[ 49 , 68 ] => [ 8503.8653 , 0.0417 ,"D"], -[ 50 , 67 ] => [ 8509.6120 , 0.0041 ,"D"], -[ 51 , 66 ] => [ 8487.8981 , 0.0721 ,"D"], -[ 52 , 65 ] => [ 8450.9203 , 0.1150 ,"D"], -[ 53 , 64 ] => [ 8404.4307 , 0.2184 ,"D"], -[ 54 , 63 ] => [ 8344.2976 , 0.0887 ,"D"], -[ 55 , 62 ] => [ 8271.8652 , 0.5334 ,"D"], -[ 56 , 61 ] => [ 8187.9546 , 2.1396 ,"D"], -[ 57 , 60 ] => [ 8086 , 2 ,"E"], -[ 42 , 76 ] => [ 8067 , 4 ,"E"], -[ 43 , 75 ] => [ 8153 , 3 ,"E"], -[ 44 , 74 ] => [ 8263 , 2 ,"E"], -[ 45 , 73 ] => [ 8322.8539 , 0.2054 ,"D"], -[ 46 , 72 ] => [ 8405.2197 , 0.0211 ,"D"], -[ 47 , 71 ] => [ 8433.8900 , 0.0213 ,"D"], -[ 48 , 70 ] => [ 8487.8350 , 0.1695 ,"D"], -[ 49 , 69 ] => [ 8485.6670 , 0.0657 ,"D"], -[ 50 , 68 ] => [ 8516.5341 , 0.0042 ,"D"], -[ 51 , 67 ] => [ 8478.9156 , 0.0256 ,"D"], -[ 52 , 66 ] => [ 8469.6970 , 0.1551 ,"D"], -[ 53 , 65 ] => [ 8406.1203 , 0.1675 ,"D"], -[ 54 , 64 ] => [ 8374.9819 , 0.0880 ,"D"], -[ 55 , 63 ] => [ 8286.4053 , 0.1081 ,"D"], -[ 56 , 62 ] => [ 8227 , 2 ,"E"], -[ 57 , 61 ] => [ 8114 , 3 ,"E"], -[ 42 , 77 ] => [ 8019 , 3 ,"E"], -[ 43 , 76 ] => [ 8126 , 4 ,"E"], -[ 44 , 75 ] => [ 8220 , 3 ,"E"], -[ 45 , 74 ] => [ 8303.3953 , 0.0783 ,"D"], -[ 46 , 73 ] => [ 8368.9594 , 0.0693 ,"D"], -[ 47 , 72 ] => [ 8423.2126 , 0.1236 ,"D"], -[ 48 , 71 ] => [ 8461.4381 , 0.3168 ,"D"], -[ 49 , 70 ] => [ 8486.1387 , 0.0614 ,"D"], -[ 50 , 69 ] => [ 8499.4494 , 0.0061 ,"D"], -[ 51 , 68 ] => [ 8487.9218 , 0.0588 ,"D"], -[ 52 , 67 ] => [ 8462.0785 , 0.0612 ,"D"], -[ 53 , 66 ] => [ 8426.8924 , 0.1824 ,"D"], -[ 54 , 65 ] => [ 8378.4420 , 0.0872 ,"D"], -[ 55 , 64 ] => [ 8317.3347 , 0.1171 ,"D"], -[ 56 , 63 ] => [ 8245.9287 , 1.6829 ,"D"], -[ 57 , 62 ] => [ 8159 , 3 ,"E"], -[ 58 , 61 ] => [ 8058 , 4 ,"E"], -[ 43 , 77 ] => [ 8083 , 4 ,"E"], -[ 44 , 76 ] => [ 8199 , 3 ,"E"], -[ 45 , 75 ] => [ 8266 , 2 ,"E"], -[ 46 , 74 ] => [ 8357.0817 , 0.0191 ,"D"], -[ 47 , 73 ] => [ 8395.3281 , 0.0373 ,"D"], -[ 48 , 72 ] => [ 8458.0240 , 0.0311 ,"D"], -[ 49 , 71 ] => [ 8466.2575 , 0.3334 ,"D"], -[ 50 , 70 ] => [ 8504.4880 , 0.0077 ,"D"], -[ 51 , 69 ] => [ 8475.6300 , 0.0600 ,"D"], -[ 52 , 68 ] => [ 8476.9857 , 0.0146 ,"D"], -[ 53 , 67 ] => [ 8423.6745 , 0.1258 ,"D"], -[ 54 , 66 ] => [ 8404.0322 , 0.0985 ,"D"], -[ 55 , 65 ] => [ 8328.4811 , 0.0831 ,"D"], -[ 56 , 64 ] => [ 8280.2949 , 2.5014 ,"D"], -[ 57 , 63 ] => [ 8179 , 2 ,"E"], -[ 58 , 62 ] => [ 8108 , 4 ,"E"], -[ 43 , 78 ] => [ 8054 , 4 ,"E"], -[ 44 , 77 ] => [ 8156 , 3 ,"E"], -[ 45 , 76 ] => [ 8245.2397 , 5.1194 ,"D"], -[ 46 , 75 ] => [ 8320.8584 , 0.0277 ,"D"], -[ 47 , 74 ] => [ 8382.3306 , 0.1001 ,"D"], -[ 48 , 73 ] => [ 8430.9972 , 0.0161 ,"D"], -[ 49 , 72 ] => [ 8463.8767 , 0.2266 ,"D"], -[ 50 , 71 ] => [ 8485.1964 , 0.0081 ,"D"], -[ 51 , 70 ] => [ 8482.0574 , 0.0207 ,"D"], -[ 52 , 69 ] => [ 8466.8641 , 0.2135 ,"D"], -[ 53 , 68 ] => [ 8441.4111 , 0.0390 ,"D"], -[ 54 , 67 ] => [ 8403.8326 , 0.0847 ,"D"], -[ 55 , 66 ] => [ 8352.9152 , 0.1181 ,"D"], -[ 56 , 65 ] => [ 8293.9083 , 1.1727 ,"D"], -[ 57 , 64 ] => [ 8217 , 2 ,"E"], -[ 58 , 63 ] => [ 8132 , 3 ,"E"], -[ 59 , 62 ] => [ 8033 , 4 ,"E"], -[ 43 , 79 ] => [ 8011 , 2 ,"E"], -[ 44 , 78 ] => [ 8132 , 4 ,"E"], -[ 45 , 77 ] => [ 8208 , 2 ,"E"], -[ 46 , 76 ] => [ 8305.9755 , 0.1603 ,"D"], -[ 47 , 75 ] => [ 8352.7591 , 0.3130 ,"D"], -[ 48 , 74 ] => [ 8424.2667 , 0.0188 ,"D"], -[ 49 , 73 ] => [ 8442.1079 , 0.4103 ,"D"], -[ 50 , 72 ] => [ 8487.8968 , 0.0201 ,"D"], -[ 51 , 71 ] => [ 8468.3222 , 0.0205 ,"D"], -[ 52 , 70 ] => [ 8478.1315 , 0.0111 ,"D"], -[ 53 , 69 ] => [ 8437.0139 , 0.0425 ,"D"], -[ 54 , 68 ] => [ 8424.6644 , 0.0911 ,"D"], -[ 55 , 67 ] => [ 8359.1515 , 0.2761 ,"D"], -[ 56 , 66 ] => [ 8323.7567 , 0.2291 ,"D"], -[ 57 , 65 ] => [ 8235 , 2 ,"E"], -[ 58 , 64 ] => [ 8174 , 3 ,"E"], -[ 59 , 63 ] => [ 8060 , 4 ,"E"], -[ 44 , 79 ] => [ 8089 , 4 ,"E"], -[ 45 , 78 ] => [ 8185 , 3 ,"E"], -[ 46 , 77 ] => [ 8270.0318 , 6.4182 ,"D"], -[ 47 , 76 ] => [ 8337.9707 , 0.2651 ,"D"], -[ 48 , 75 ] => [ 8395.3955 , 0.0219 ,"D"], -[ 49 , 74 ] => [ 8437.9362 , 0.1612 ,"D"], -[ 50 , 73 ] => [ 8467.2313 , 0.0202 ,"D"], -[ 51 , 72 ] => [ 8472.3196 , 0.0110 ,"D"], -[ 52 , 71 ] => [ 8465.5370 , 0.0110 ,"D"], -[ 53 , 70 ] => [ 8449.1896 , 0.0300 ,"D"], -[ 54 , 69 ] => [ 8420.9239 , 0.0775 ,"D"], -[ 55 , 68 ] => [ 8380.3796 , 0.0985 ,"D"], -[ 56 , 67 ] => [ 8330.2086 , 0.0985 ,"D"], -[ 57 , 66 ] => [ 8267 , 2 ,"E"], -[ 58 , 65 ] => [ 8193 , 2 ,"E"], -[ 59 , 64 ] => [ 8104 , 3 ,"E"], -[ 44 , 80 ] => [ 8065 , 5 ,"E"], -[ 45 , 79 ] => [ 8148 , 3 ,"E"], -[ 46 , 78 ] => [ 8252 , 2 ,"E"], -[ 47 , 77 ] => [ 8308.8958 , 2.0283 ,"D"], -[ 48 , 76 ] => [ 8387.0179 , 0.0210 ,"D"], -[ 49 , 75 ] => [ 8414.3243 , 0.2465 ,"D"], -[ 50 , 74 ] => [ 8467.3997 , 0.0106 ,"D"], -[ 51 , 73 ] => [ 8456.1517 , 0.0110 ,"D"], -[ 52 , 72 ] => [ 8473.2705 , 0.0109 ,"D"], -[ 53 , 71 ] => [ 8441.4807 , 0.0185 ,"D"], -[ 54 , 70 ] => [ 8437.6138 , 0.0110 ,"D"], -[ 55 , 69 ] => [ 8383.5114 , 0.0738 ,"D"], -[ 56 , 68 ] => [ 8355.8209 , 0.1008 ,"D"], -[ 57 , 67 ] => [ 8278.2926 , 0.4570 ,"D"], -[ 58 , 66 ] => [ 8229 , 2 ,"E"], -[ 59 , 65 ] => [ 8128 , 3 ,"E"], -[ 60 , 64 ] => [ 8054 , 4 ,"E"], -[ 44 , 81 ] => [ 8023 , 2 ,"E"], -[ 45 , 80 ] => [ 8124 , 4 ,"E"], -[ 46 , 79 ] => [ 8215 , 3 ,"E"], -[ 47 , 78 ] => [ 8293.3151 , 3.4652 ,"D"], -[ 48 , 77 ] => [ 8357.6815 , 0.0231 ,"D"], -[ 49 , 76 ] => [ 8407.9365 , 0.0142 ,"D"], -[ 50 , 75 ] => [ 8445.5285 , 0.0106 ,"D"], -[ 51 , 74 ] => [ 8458.1612 , 0.0201 ,"D"], -[ 52 , 73 ] => [ 8458.0361 , 0.0108 ,"D"], -[ 53 , 72 ] => [ 8450.2911 , 0.0108 ,"D"], -[ 54 , 71 ] => [ 8430.9390 , 0.0113 ,"D"], -[ 55 , 70 ] => [ 8399.8033 , 0.0619 ,"D"], -[ 56 , 69 ] => [ 8358.1784 , 0.0879 ,"D"], -[ 57 , 68 ] => [ 8304.6438 , 0.2080 ,"D"], -[ 58 , 67 ] => [ 8242 , 2 ,"E"], -[ 59 , 66 ] => [ 8167 , 2 ,"E"], -[ 60 , 65 ] => [ 8080 , 3 ,"E"], -[ 45 , 81 ] => [ 8087 , 4 ,"E"], -[ 46 , 80 ] => [ 8197 , 3 ,"E"], -[ 47 , 79 ] => [ 8261 , 2 ,"E"], -[ 48 , 78 ] => [ 8346.7393 , 0.0183 ,"D"], -[ 49 , 77 ] => [ 8384.6067 , 0.0333 ,"D"], -[ 50 , 76 ] => [ 8443.5227 , 0.0848 ,"D"], -[ 51 , 75 ] => [ 8440.3136 , 0.2528 ,"D"], -[ 52 , 74 ] => [ 8463.2397 , 0.0107 ,"D"], -[ 53 , 73 ] => [ 8439.9379 , 0.0300 ,"D"], -[ 54 , 72 ] => [ 8443.5375 , 0.0003 ,"D"], -[ 55 , 71 ] => [ 8399.2673 , 0.0822 ,"D"], -[ 56 , 70 ] => [ 8379.7187 , 0.0992 ,"D"], -[ 57 , 69 ] => [ 8312.4268 , 0.7183 ,"D"], -[ 58 , 68 ] => [ 8273.2581 , 0.2218 ,"D"], -[ 59 , 67 ] => [ 8184 , 2 ,"E"], -[ 60 , 66 ] => [ 8122 , 2 ,"E"], -[ 61 , 65 ] => [ 8008 , 4 ,"E"], -[ 45 , 82 ] => [ 8060 , 5 ,"E"], -[ 46 , 81 ] => [ 8160 , 4 ,"E"], -[ 47 , 80 ] => [ 8244 , 2 ,"E"], -[ 48 , 79 ] => [ 8316.8971 , 0.0488 ,"D"], -[ 49 , 78 ] => [ 8374.8212 , 0.0788 ,"D"], -[ 50 , 77 ] => [ 8420.5482 , 0.0726 ,"D"], -[ 51 , 76 ] => [ 8439.8110 , 0.0400 ,"D"], -[ 52 , 75 ] => [ 8446.1090 , 0.0108 ,"D"], -[ 53 , 74 ] => [ 8445.4820 , 0.0285 ,"D"], -[ 54 , 73 ] => [ 8434.1066 , 0.0322 ,"D"], -[ 55 , 72 ] => [ 8411.5617 , 0.0439 ,"D"], -[ 56 , 71 ] => [ 8378.4560 , 0.0894 ,"D"], -[ 57 , 70 ] => [ 8333.5412 , 0.2047 ,"D"], -[ 58 , 69 ] => [ 8280.7922 , 0.2274 ,"D"], -[ 59 , 68 ] => [ 8216 , 2 ,"E"], -[ 60 , 67 ] => [ 8142 , 2 ,"E"], -[ 61 , 66 ] => [ 8052 , 3 ,"E"], -[ 45 , 83 ] => [ 8010 , 2 ,"E"], -[ 46 , 82 ] => [ 8137 , 4 ,"E"], -[ 47 , 81 ] => [ 8211 , 2 ,"E"], -[ 48 , 80 ] => [ 8303.2367 , 0.0503 ,"D"], -[ 49 , 79 ] => [ 8351.4361 , 0.0103 ,"D"], -[ 50 , 78 ] => [ 8416.9749 , 0.1381 ,"D"], -[ 51 , 77 ] => [ 8420.7724 , 0.1468 ,"D"], -[ 52 , 76 ] => [ 8448.7536 , 0.0055 ,"D"], -[ 53 , 75 ] => [ 8432.8309 , 0.0283 ,"D"], -[ 54 , 74 ] => [ 8443.3008 , 0.0003 ,"D"], -[ 55 , 73 ] => [ 8406.4953 , 0.0420 ,"D"], -[ 56 , 72 ] => [ 8395.9878 , 0.0126 ,"D"], -[ 57 , 71 ] => [ 8337.1904 , 0.4254 ,"D"], -[ 58 , 70 ] => [ 8306.9259 , 0.2183 ,"D"], -[ 59 , 69 ] => [ 8228.9141 , 0.2329 ,"D"], -[ 60 , 68 ] => [ 8177 , 2 ,"E"], -[ 61 , 67 ] => [ 8075 , 2 ,"E"], -[ 62 , 66 ] => [ 7998 , 4 ,"E"], -[ 46 , 83 ] => [ 8086 , 5 ,"E"], -[ 47 , 82 ] => [ 8188 , 3 ,"E"], -[ 48 , 81 ] => [ 8269.5311 , 0.0412 ,"D"], -[ 49 , 80 ] => [ 8338.7590 , 0.0153 ,"D"], -[ 50 , 79 ] => [ 8392.8161 , 0.1339 ,"D"], -[ 51 , 78 ] => [ 8418.0598 , 0.1645 ,"D"], -[ 52 , 77 ] => [ 8430.4098 , 0.0055 ,"D"], -[ 53 , 76 ] => [ 8435.9908 , 0.0244 ,"D"], -[ 54 , 75 ] => [ 8431.3904 , 0.0003 ,"D"], -[ 55 , 74 ] => [ 8416.0465 , 0.0353 ,"D"], -[ 56 , 73 ] => [ 8391.0811 , 0.0814 ,"D"], -[ 57 , 72 ] => [ 8356.0449 , 0.1655 ,"D"], -[ 58 , 71 ] => [ 8310.9411 , 0.2166 ,"D"], -[ 59 , 70 ] => [ 8254.3808 , 0.2311 ,"D"], -[ 60 , 69 ] => [ 8191 , 2 ,"E"], -[ 61 , 68 ] => [ 8114 , 2 ,"E"], -[ 62 , 67 ] => [ 8023 , 4 ,"E"], -[ 46 , 84 ] => [ 8046 , 2 ,"E"], -[ 47 , 83 ] => [ 8142 , 3 ,"E"], -[ 48 , 82 ] => [ 8252.5868 , 0.1720 ,"D"], -[ 49 , 81 ] => [ 8314.1760 , 0.0138 ,"D"], -[ 50 , 80 ] => [ 8386.8170 , 0.0144 ,"D"], -[ 51 , 79 ] => [ 8397.3641 , 0.1093 ,"D"], -[ 52 , 78 ] => [ 8430.3251 , 0.0003 ,"D"], -[ 53 , 77 ] => [ 8421.1011 , 0.0243 ,"D"], -[ 54 , 76 ] => [ 8437.7314 , 0.0003 ,"D"], -[ 55 , 75 ] => [ 8408.7848 , 0.0643 ,"D"], -[ 56 , 74 ] => [ 8405.5130 , 0.0022 ,"D"], -[ 57 , 73 ] => [ 8356.1919 , 0.1996 ,"D"], -[ 58 , 72 ] => [ 8333.2164 , 0.2150 ,"D"], -[ 59 , 71 ] => [ 8263.7565 , 0.4944 ,"D"], -[ 60 , 70 ] => [ 8222.5136 , 0.2150 ,"D"], -[ 61 , 69 ] => [ 8131 , 2 ,"E"], -[ 62 , 68 ] => [ 8065 , 3 ,"E"], -[ 63 , 67 ] => [ 7950 , 4 ,"E"], -[ 46 , 85 ] => [ 7993 , 2 ,"E"], -[ 47 , 84 ] => [ 8102 , 4 ,"E"], -[ 48 , 83 ] => [ 8206.1204 , 0.1469 ,"D"], -[ 49 , 82 ] => [ 8297.9544 , 0.0168 ,"D"], -[ 50 , 81 ] => [ 8362.5183 , 0.0276 ,"D"], -[ 51 , 80 ] => [ 8392.5525 , 0.0159 ,"D"], -[ 52 , 79 ] => [ 8411.2339 , 0.0005 ,"D"], -[ 53 , 78 ] => [ 8422.2977 , 0.0046 ,"D"], -[ 54 , 77 ] => [ 8423.7367 , 0.0003 ,"D"], -[ 55 , 76 ] => [ 8415.0317 , 0.0014 ,"D"], -[ 56 , 75 ] => [ 8398.5511 , 0.0032 ,"D"], -[ 57 , 74 ] => [ 8370.3676 , 0.2133 ,"D"], -[ 58 , 73 ] => [ 8333.3969 , 0.2504 ,"D"], -[ 59 , 72 ] => [ 8286.1439 , 0.3587 ,"D"], -[ 60 , 71 ] => [ 8230.3045 , 0.2101 ,"D"], -[ 61 , 70 ] => [ 8163 , 2 ,"E"], -[ 62 , 69 ] => [ 8085 , 3 ,"E"], -[ 63 , 68 ] => [ 7996 , 3 ,"E"], -[ 47 , 85 ] => [ 8053 , 4 ,"E"], -[ 48 , 84 ] => [ 8169.1421 , 0.4551 ,"D"], -[ 49 , 83 ] => [ 8253.7162 , 0.4548 ,"D"], -[ 50 , 82 ] => [ 8354.8726 , 0.0150 ,"D"], -[ 51 , 81 ] => [ 8372.3452 , 0.0187 ,"D"], -[ 52 , 80 ] => [ 8408.4859 , 0.0264 ,"D"], -[ 53 , 79 ] => [ 8406.4628 , 0.0308 ,"D"], -[ 54 , 78 ] => [ 8427.6229 , 0.0003 ,"D"], -[ 55 , 77 ] => [ 8405.5878 , 0.0079 ,"D"], -[ 56 , 76 ] => [ 8409.3747 , 0.0080 ,"D"], -[ 57 , 75 ] => [ 8367.7559 , 0.2754 ,"D"], -[ 58 , 74 ] => [ 8352.3223 , 0.1546 ,"D"], -[ 59 , 73 ] => [ 8291.5377 , 0.2188 ,"D"], -[ 60 , 72 ] => [ 8256.8104 , 0.1834 ,"D"], -[ 61 , 71 ] => [ 8177 , 1 ,"E"], -[ 62 , 70 ] => [ 8122 , 2 ,"E"], -[ 63 , 69 ] => [ 8018 , 3 ,"E"], -[ 47 , 86 ] => [ 8013 , 4 ,"E"], -[ 48 , 85 ] => [ 8121 , 2 ,"E"], -[ 49 , 84 ] => [ 8217 , 2 ,"E"], -[ 50 , 83 ] => [ 8310.0890 , 0.0143 ,"D"], -[ 51 , 82 ] => [ 8364.7302 , 0.0235 ,"D"], -[ 52 , 81 ] => [ 8389.0255 , 0.0155 ,"D"], -[ 53 , 80 ] => [ 8405.0993 , 0.0444 ,"D"], -[ 54 , 79 ] => [ 8412.6477 , 0.0180 ,"D"], -[ 55 , 78 ] => [ 8409.9786 , 0.0003 ,"D"], -[ 56 , 77 ] => [ 8400.2059 , 0.0075 ,"D"], -[ 57 , 76 ] => [ 8378.8415 , 0.2101 ,"D"], -[ 58 , 75 ] => [ 8349.8301 , 0.1230 ,"D"], -[ 59 , 74 ] => [ 8310.2588 , 0.0940 ,"D"], -[ 60 , 73 ] => [ 8262.2320 , 0.3502 ,"D"], -[ 61 , 72 ] => [ 8204.2841 , 0.3782 ,"D"], -[ 62 , 71 ] => [ 8137 , 2 ,"E"], -[ 63 , 70 ] => [ 8056 , 2 ,"E"], -[ 64 , 69 ] => [ 7966 , 4 ,"E"], -[ 48 , 86 ] => [ 8086 , 2 ,"E"], -[ 49 , 85 ] => [ 8173 , 1 ,"E"], -[ 50 , 84 ] => [ 8275.1719 , 0.0236 ,"D"], -[ 51 , 83 ] => [ 8325.9398 , 0.0229 ,"D"], -[ 52 , 82 ] => [ 8383.6442 , 0.0205 ,"D"], -[ 53 , 81 ] => [ 8389.0722 , 0.0362 ,"D"], -[ 54 , 80 ] => [ 8413.6994 , 0.0003 ,"D"], -[ 55 , 79 ] => [ 8398.6470 , 0.0003 ,"D"], -[ 56 , 78 ] => [ 8408.1731 , 0.0019 ,"D"], -[ 57 , 77 ] => [ 8374.4888 , 0.1487 ,"D"], -[ 58 , 76 ] => [ 8365.7716 , 0.1521 ,"D"], -[ 59 , 75 ] => [ 8312.8817 , 0.1516 ,"D"], -[ 60 , 74 ] => [ 8285.5391 , 0.0882 ,"D"], -[ 61 , 73 ] => [ 8213.4131 , 0.3128 ,"D"], -[ 62 , 72 ] => [ 8167 , 1 ,"E"], -[ 63 , 71 ] => [ 8075 , 2 ,"E"], -[ 64 , 70 ] => [ 8008 , 3 ,"E"], -[ 48 , 87 ] => [ 8036 , 3 ,"E"], -[ 49 , 86 ] => [ 8136 , 2 ,"E"], -[ 50 , 85 ] => [ 8230.6877 , 0.0228 ,"D"], -[ 51 , 84 ] => [ 8291.9894 , 0.0196 ,"D"], -[ 52 , 83 ] => [ 8345.7384 , 0.0128 ,"D"], -[ 53 , 82 ] => [ 8384.7609 , 0.0153 ,"D"], -[ 54 , 81 ] => [ 8398.4783 , 0.0272 ,"D"], -[ 55 , 80 ] => [ 8401.3393 , 0.0027 ,"D"], -[ 56 , 79 ] => [ 8397.5345 , 0.0018 ,"D"], -[ 57 , 78 ] => [ 8382.7972 , 0.0699 ,"D"], -[ 58 , 77 ] => [ 8361.9861 , 0.0760 ,"D"], -[ 59 , 76 ] => [ 8328.9284 , 0.0875 ,"D"], -[ 60 , 75 ] => [ 8288.1536 , 0.1417 ,"D"], -[ 61 , 74 ] => [ 8236.7933 , 0.6141 ,"D"], -[ 62 , 73 ] => [ 8177.6270 , 1.1454 ,"D"], -[ 63 , 72 ] => [ 8107 , 1 ,"E"], -[ 64 , 71 ] => [ 8028 , 3 ,"E"], -[ 65 , 70 ] => [ 7939 , 3 ,"E"], -[ 49 , 87 ] => [ 8091 , 2 ,"E"], -[ 50 , 86 ] => [ 8197 , 1 ,"E"], -[ 51 , 85 ] => [ 8252.2533 , 0.0429 ,"D"], -[ 52 , 84 ] => [ 8319.4301 , 0.0168 ,"D"], -[ 53 , 83 ] => [ 8351.3242 , 0.1043 ,"D"], -[ 54 , 82 ] => [ 8396.1889 , 0.0003 ,"D"], -[ 55 , 81 ] => [ 8389.7723 , 0.0138 ,"D"], -[ 56 , 80 ] => [ 8402.7566 , 0.0018 ,"D"], -[ 57 , 79 ] => [ 8376.0512 , 0.3910 ,"D"], -[ 58 , 78 ] => [ 8373.7624 , 0.0024 ,"D"], -[ 59 , 77 ] => [ 8330.0089 , 0.0842 ,"D"], -[ 60 , 76 ] => [ 8308.5127 , 0.0869 ,"D"], -[ 61 , 75 ] => [ 8243.7207 , 0.5079 ,"D"], -[ 62 , 74 ] => [ 8205.9165 , 0.0919 ,"D"], -[ 63 , 73 ] => [ 8122 , 1 ,"E"], -[ 64 , 72 ] => [ 8064 , 2 ,"E"], -[ 65 , 71 ] => [ 7961 , 4 ,"E"], -[ 49 , 88 ] => [ 8053 , 3 ,"E"], -[ 50 , 87 ] => [ 8152 , 2 ,"E"], -[ 51 , 86 ] => [ 8218.4764 , 0.3808 ,"D"], -[ 52 , 85 ] => [ 8280.2357 , 0.0153 ,"D"], -[ 53 , 84 ] => [ 8326.0033 , 0.0612 ,"D"], -[ 54 , 83 ] => [ 8364.2865 , 0.0008 ,"D"], -[ 55 , 82 ] => [ 8388.9581 , 0.0022 ,"D"], -[ 56 , 81 ] => [ 8391.8288 , 0.0018 ,"D"], -[ 57 , 80 ] => [ 8381.8807 , 0.0120 ,"D"], -[ 58 , 79 ] => [ 8367.2497 , 0.0026 ,"D"], -[ 59 , 78 ] => [ 8341.7074 , 0.0594 ,"D"], -[ 60 , 77 ] => [ 8309.5892 , 0.0856 ,"D"], -[ 61 , 76 ] => [ 8263.6516 , 0.0952 ,"D"], -[ 62 , 75 ] => [ 8213.5527 , 0.2089 ,"D"], -[ 63 , 74 ] => [ 8150.5738 , 0.0320 ,"D"], -[ 64 , 73 ] => [ 8080 , 2 ,"E"], -[ 65 , 72 ] => [ 7999 , 3 ,"E"], -[ 50 , 88 ] => [ 8118 , 3 ,"E"], -[ 51 , 87 ] => [ 8178 , 2 ,"E"], -[ 52 , 86 ] => [ 8252.5786 , 0.0274 ,"D"], -[ 53 , 85 ] => [ 8292.4450 , 0.0432 ,"D"], -[ 54 , 84 ] => [ 8344.6913 , 0.0203 ,"D"], -[ 55 , 83 ] => [ 8360.1437 , 0.0664 ,"D"], -[ 56 , 82 ] => [ 8393.4222 , 0.0018 ,"D"], -[ 57 , 81 ] => [ 8375.0835 , 0.0030 ,"D"], -[ 58 , 80 ] => [ 8377.0408 , 0.0036 ,"D"], -[ 59 , 79 ] => [ 8339.2195 , 0.0726 ,"D"], -[ 60 , 78 ] => [ 8325.4946 , 0.0841 ,"D"], -[ 61 , 77 ] => [ 8268.3558 , 0.0841 ,"D"], -[ 62 , 76 ] => [ 8237.9286 , 0.0856 ,"D"], -[ 63 , 75 ] => [ 8161.6211 , 0.2025 ,"D"], -[ 64 , 74 ] => [ 8112 , 1 ,"E"], -[ 65 , 73 ] => [ 8019 , 2 ,"E"], -[ 66 , 72 ] => [ 7950 , 4 ,"E"], -[ 50 , 89 ] => [ 8073 , 3 ,"E"], -[ 51 , 88 ] => [ 8144 , 3 ,"E"], -[ 52 , 87 ] => [ 8211.7716 , 0.0255 ,"D"], -[ 53 , 86 ] => [ 8265.6100 , 0.0288 ,"D"], -[ 54 , 85 ] => [ 8311.5904 , 0.0154 ,"D"], -[ 55 , 84 ] => [ 8342.3397 , 0.0225 ,"D"], -[ 56 , 83 ] => [ 8367.0194 , 0.0018 ,"D"], -[ 57 , 82 ] => [ 8377.9987 , 0.0044 ,"D"], -[ 58 , 81 ] => [ 8370.4664 , 0.0150 ,"D"], -[ 59 , 80 ] => [ 8349.5208 , 0.0263 ,"D"], -[ 60 , 79 ] => [ 8323.6642 , 0.1980 ,"D"], -[ 61 , 78 ] => [ 8285.5473 , 0.0978 ,"D"], -[ 62 , 77 ] => [ 8243.0786 , 0.0783 ,"D"], -[ 63 , 76 ] => [ 8187.2187 , 0.0946 ,"D"], -[ 64 , 75 ] => [ 8126 , 1 ,"E"], -[ 65 , 74 ] => [ 8052 , 2 ,"E"], -[ 66 , 73 ] => [ 7971 , 4 ,"E"], -[ 50 , 90 ] => [ 8038 , 2 ,"E"], -[ 51 , 89 ] => [ 8103 , 4 ,"E"], -[ 52 , 88 ] => [ 8183.3567 , 0.1027 ,"D"], -[ 53 , 87 ] => [ 8229.4740 , 0.0865 ,"D"], -[ 54 , 86 ] => [ 8290.8875 , 0.0166 ,"D"], -[ 55 , 85 ] => [ 8314.3227 , 0.0586 ,"D"], -[ 56 , 84 ] => [ 8353.1500 , 0.0564 ,"D"], -[ 57 , 83 ] => [ 8355.0201 , 0.0043 ,"D"], -[ 58 , 82 ] => [ 8376.3045 , 0.0094 ,"D"], -[ 59 , 81 ] => [ 8346.5163 , 0.0439 ,"D"], -[ 60 , 80 ] => [ 8337.8640 , 0.0233 ,"D"], -[ 61 , 79 ] => [ 8289.0958 , 0.1730 ,"D"], -[ 62 , 78 ] => [ 8263.8211 , 0.0893 ,"D"], -[ 63 , 77 ] => [ 8197.7330 , 0.3681 ,"D"], -[ 64 , 76 ] => [ 8154.9757 , 0.1996 ,"D"], -[ 65 , 75 ] => [ 8068.6732 , 5.7178 ,"D"], -[ 66 , 74 ] => [ 8008 , 3 ,"E"], -[ 67 , 73 ] => [ 7906 , 4 ,"E"], -[ 51 , 90 ] => [ 8069 , 4 ,"E"], -[ 52 , 89 ] => [ 8142 , 3 ,"E"], -[ 53 , 88 ] => [ 8202.2562 , 0.1123 ,"D"], -[ 54 , 87 ] => [ 8255.3647 , 0.0205 ,"D"], -[ 55 , 86 ] => [ 8294.3554 , 0.0652 ,"D"], -[ 56 , 85 ] => [ 8326.0774 , 0.0377 ,"D"], -[ 57 , 84 ] => [ 8343.2050 , 0.0293 ,"D"], -[ 58 , 83 ] => [ 8355.3956 , 0.0093 ,"D"], -[ 59 , 82 ] => [ 8353.9852 , 0.0106 ,"D"], -[ 60 , 81 ] => [ 8335.5074 , 0.0226 ,"D"], -[ 61 , 80 ] => [ 8303.9405 , 0.0991 ,"D"], -[ 62 , 79 ] => [ 8265.8460 , 0.0605 ,"D"], -[ 63 , 78 ] => [ 8217.6853 , 0.0896 ,"D"], -[ 64 , 77 ] => [ 8164.6090 , 0.1401 ,"D"], -[ 65 , 76 ] => [ 8097.4761 , 0.7465 ,"D"], -[ 66 , 75 ] => [ 8027 , 2 ,"E"], -[ 67 , 74 ] => [ 7943 , 3 ,"E"], -[ 51 , 91 ] => [ 8027 , 2 ,"E"], -[ 52 , 90 ] => [ 8113 , 4 ,"E"], -[ 53 , 89 ] => [ 8165.2517 , 0.0348 ,"D"], -[ 54 , 88 ] => [ 8233.1695 , 0.0190 ,"D"], -[ 55 , 87 ] => [ 8264.8777 , 0.0498 ,"D"], -[ 56 , 86 ] => [ 8310.9718 , 0.0417 ,"D"], -[ 57 , 85 ] => [ 8320.8263 , 0.0443 ,"D"], -[ 58 , 84 ] => [ 8347.0700 , 0.0172 ,"D"], -[ 59 , 83 ] => [ 8336.3032 , 0.0106 ,"D"], -[ 60 , 82 ] => [ 8346.0310 , 0.0088 ,"D"], -[ 61 , 81 ] => [ 8306.6587 , 0.1662 ,"D"], -[ 62 , 80 ] => [ 8285.9407 , 0.0131 ,"D"], -[ 63 , 79 ] => [ 8226.3960 , 0.2117 ,"D"], -[ 64 , 78 ] => [ 8190.2569 , 0.1968 ,"D"], -[ 65 , 77 ] => [ 8111.5080 , 4.9335 ,"D"], -[ 66 , 76 ] => [ 8061 , 5 ,"E"], -[ 67 , 75 ] => [ 7965 , 3 ,"E"], -[ 68 , 74 ] => [ 7893 , 4 ,"E"], -[ 52 , 91 ] => [ 8070 , 3 ,"E"], -[ 53 , 90 ] => [ 8137 , 1 ,"E"], -[ 54 , 89 ] => [ 8196.8855 , 0.0326 ,"D"], -[ 55 , 88 ] => [ 8243.6707 , 0.0530 ,"D"], -[ 56 , 87 ] => [ 8281.9878 , 0.0472 ,"D"], -[ 57 , 86 ] => [ 8306.1271 , 0.0513 ,"D"], -[ 58 , 85 ] => [ 8324.6765 , 0.0171 ,"D"], -[ 59 , 84 ] => [ 8329.4280 , 0.0127 ,"D"], -[ 60 , 83 ] => [ 8330.4893 , 0.0088 ,"D"], -[ 61 , 82 ] => [ 8317.7341 , 0.0206 ,"D"], -[ 62 , 81 ] => [ 8288.1825 , 0.0192 ,"D"], -[ 63 , 80 ] => [ 8245.8177 , 0.0768 ,"D"], -[ 64 , 79 ] => [ 8198.3188 , 1.4007 ,"D"], -[ 65 , 78 ] => [ 8138.2176 , 0.3583 ,"D"], -[ 66 , 77 ] => [ 8075.0527 , 0.0912 ,"D"], -[ 67 , 76 ] => [ 7999 , 2 ,"E"], -[ 68 , 75 ] => [ 7917 , 3 ,"E"], -[ 52 , 92 ] => [ 8040 , 2 ,"E"], -[ 53 , 91 ] => [ 8098 , 3 ,"E"], -[ 54 , 90 ] => [ 8172.8845 , 0.0369 ,"D"], -[ 55 , 89 ] => [ 8211.8894 , 0.1398 ,"D"], -[ 56 , 88 ] => [ 8265.4549 , 0.0496 ,"D"], -[ 57 , 87 ] => [ 8281.4283 , 0.0898 ,"D"], -[ 58 , 86 ] => [ 8314.7612 , 0.0197 ,"D"], -[ 59 , 85 ] => [ 8311.5411 , 0.0188 ,"D"], -[ 60 , 84 ] => [ 8326.9237 , 0.0087 ,"D"], -[ 61 , 83 ] => [ 8305.2969 , 0.0202 ,"D"], -[ 62 , 82 ] => [ 8303.6800 , 0.0101 ,"D"], -[ 63 , 81 ] => [ 8254.1744 , 0.0749 ,"D"], -[ 64 , 80 ] => [ 8221.9382 , 0.1941 ,"D"], -[ 65 , 79 ] => [ 8151.2877 , 0.1941 ,"D"], -[ 66 , 78 ] => [ 8105.5902 , 0.0498 ,"D"], -[ 67 , 77 ] => [ 8017.0977 , 0.0589 ,"D"], -[ 68 , 76 ] => [ 7956 , 1 ,"E"], -[ 69 , 75 ] => [ 7850 , 3 ,"E"], -[ 52 , 93 ] => [ 7998 , 2 ,"E"], -[ 53 , 92 ] => [ 8069 , 3 ,"E"], -[ 54 , 91 ] => [ 8135.0877 , 0.0771 ,"D"], -[ 55 , 90 ] => [ 8188.7342 , 0.0625 ,"D"], -[ 56 , 89 ] => [ 8234.7991 , 0.0585 ,"D"], -[ 57 , 88 ] => [ 8266.0873 , 0.0846 ,"D"], -[ 58 , 87 ] => [ 8289.8762 , 0.2338 ,"D"], -[ 59 , 86 ] => [ 8302.1285 , 0.0493 ,"D"], -[ 60 , 85 ] => [ 8309.1883 , 0.0088 ,"D"], -[ 61 , 84 ] => [ 8302.6583 , 0.0193 ,"D"], -[ 62 , 83 ] => [ 8293.0139 , 0.0102 ,"D"], -[ 63 , 82 ] => [ 8269.2744 , 0.0211 ,"D"], -[ 64 , 81 ] => [ 8228.9485 , 0.1360 ,"D"], -[ 65 , 80 ] => [ 8178.5397 , 0.7648 ,"D"], -[ 66 , 79 ] => [ 8116.8884 , 0.0450 ,"D"], -[ 67 , 78 ] => [ 8048.5792 , 0.0514 ,"D"], -[ 68 , 77 ] => [ 7975 , 1 ,"E"], -[ 69 , 76 ] => [ 7889 , 1 ,"E"], -[ 53 , 93 ] => [ 8031 , 2 ,"E"], -[ 54 , 92 ] => [ 8110.4154 , 0.1659 ,"D"], -[ 55 , 91 ] => [ 8155.4365 , 0.0198 ,"D"], -[ 56 , 90 ] => [ 8215.5293 , 0.0121 ,"D"], -[ 57 , 89 ] => [ 8239.9988 , 0.0115 ,"D"], -[ 58 , 88 ] => [ 8278.5081 , 0.1004 ,"D"], -[ 59 , 87 ] => [ 8280.3250 , 0.2353 ,"D"], -[ 60 , 86 ] => [ 8304.0927 , 0.0087 ,"D"], -[ 61 , 85 ] => [ 8288.6550 , 0.0293 ,"D"], -[ 62 , 84 ] => [ 8293.8581 , 0.0209 ,"D"], -[ 63 , 83 ] => [ 8261.9327 , 0.0412 ,"D"], -[ 64 , 82 ] => [ 8249.5072 , 0.0279 ,"D"], -[ 65 , 81 ] => [ 8187.1474 , 0.3073 ,"D"], -[ 66 , 80 ] => [ 8146.1128 , 0.0459 ,"D"], -[ 67 , 79 ] => [ 8063.2426 , 0.0451 ,"D"], -[ 68 , 78 ] => [ 8010.5127 , 0.0459 ,"D"], -[ 69 , 77 ] => [ 7914 , 1 ,"E"], -[ 53 , 94 ] => [ 8001 , 2 ,"E"], -[ 54 , 93 ] => [ 8072 , 1 ,"E"], -[ 55 , 92 ] => [ 8131.8010 , 0.0570 ,"D"], -[ 56 , 91 ] => [ 8183.2405 , 0.1343 ,"D"], -[ 57 , 90 ] => [ 8221.5536 , 0.0729 ,"D"], -[ 58 , 89 ] => [ 8252.5274 , 0.0584 ,"D"], -[ 59 , 88 ] => [ 8270.5400 , 0.1079 ,"D"], -[ 60 , 87 ] => [ 8283.6036 , 0.0087 ,"D"], -[ 61 , 86 ] => [ 8284.3712 , 0.0088 ,"D"], -[ 62 , 85 ] => [ 8280.5734 , 0.0086 ,"D"], -[ 63 , 84 ] => [ 8263.5409 , 0.0175 ,"D"], -[ 64 , 83 ] => [ 8243.3366 , 0.0128 ,"D"], -[ 65 , 82 ] => [ 8206.6250 , 0.0551 ,"D"], -[ 66 , 81 ] => [ 8156.7680 , 0.0602 ,"D"], -[ 67 , 80 ] => [ 8094.0381 , 0.0340 ,"D"], -[ 68 , 79 ] => [ 8026.4760 , 0.2598 ,"D"], -[ 69 , 78 ] => [ 7948.8178 , 0.0465 ,"D"], -[ 54 , 94 ] => [ 8047 , 2 ,"E"], -[ 55 , 93 ] => [ 8097.5469 , 0.0881 ,"D"], -[ 56 , 92 ] => [ 8164.1118 , 0.0101 ,"D"], -[ 57 , 91 ] => [ 8193.7165 , 0.1315 ,"D"], -[ 58 , 90 ] => [ 8240.3876 , 0.0756 ,"D"], -[ 59 , 89 ] => [ 8249.5409 , 0.1016 ,"D"], -[ 60 , 88 ] => [ 8277.1778 , 0.0139 ,"D"], -[ 61 , 87 ] => [ 8268.2283 , 0.0384 ,"D"], -[ 62 , 86 ] => [ 8279.6326 , 0.0084 ,"D"], -[ 63 , 85 ] => [ 8253.8155 , 0.0673 ,"D"], -[ 64 , 84 ] => [ 8248.3398 , 0.0099 ,"D"], -[ 65 , 83 ] => [ 8204.3207 , 0.0842 ,"D"], -[ 66 , 82 ] => [ 8180.9430 , 0.0589 ,"D"], -[ 67 , 81 ] => [ 8108.9797 , 0.5664 ,"D"], -[ 68 , 80 ] => [ 8059.6924 , 0.0692 ,"D"], -[ 69 , 79 ] => [ 7968.5011 , 0.0692 ,"D"], -[ 70 , 78 ] => [ 7906 , 3 ,"E"], -[ 54 , 95 ] => [ 8009 , 2 ,"E"], -[ 55 , 94 ] => [ 8073 , 3 ,"E"], -[ 56 , 93 ] => [ 8131.8495 , 0.0169 ,"D"], -[ 57 , 92 ] => [ 8176.1915 , 1.3440 ,"D"], -[ 58 , 91 ] => [ 8214.2294 , 0.0688 ,"D"], -[ 59 , 90 ] => [ 8238.3040 , 0.0663 ,"D"], -[ 60 , 89 ] => [ 8255.4437 , 0.0138 ,"D"], -[ 61 , 88 ] => [ 8261.5277 , 0.0147 ,"D"], -[ 62 , 87 ] => [ 8263.4683 , 0.0078 ,"D"], -[ 63 , 86 ] => [ 8253.5560 , 0.0262 ,"D"], -[ 64 , 85 ] => [ 8239.4856 , 0.0222 ,"D"], -[ 65 , 84 ] => [ 8209.8153 , 0.0244 ,"D"], -[ 66 , 83 ] => [ 8179.0972 , 0.0616 ,"D"], -[ 67 , 82 ] => [ 8133.2550 , 0.0804 ,"D"], -[ 68 , 81 ] => [ 8074.9558 , 0.1875 ,"D"], -[ 69 , 80 ] => [ 8004 , 1 ,"E"], -[ 70 , 79 ] => [ 7927 , 2 ,"E"], -[ 54 , 96 ] => [ 7983 , 2 ,"E"], -[ 55 , 95 ] => [ 8039 , 3 ,"E"], -[ 56 , 94 ] => [ 8111.8405 , 0.0379 ,"D"], -[ 57 , 93 ] => [ 8149.4339 , 0.0168 ,"D"], -[ 58 , 92 ] => [ 8201.1230 , 0.0780 ,"D"], -[ 59 , 91 ] => [ 8218.9316 , 0.0601 ,"D"], -[ 60 , 90 ] => [ 8249.5789 , 0.0075 ,"D"], -[ 61 , 89 ] => [ 8243.8125 , 0.1335 ,"D"], -[ 62 , 88 ] => [ 8261.6235 , 0.0074 ,"D"], -[ 63 , 87 ] => [ 8241.3481 , 0.0415 ,"D"], -[ 64 , 86 ] => [ 8242.6103 , 0.0404 ,"D"], -[ 65 , 85 ] => [ 8206.3396 , 0.0491 ,"D"], -[ 66 , 84 ] => [ 8189.1495 , 0.0288 ,"D"], -[ 67 , 83 ] => [ 8134.8423 , 0.0945 ,"D"], -[ 68 , 82 ] => [ 8102.1962 , 0.1146 ,"D"], -[ 69 , 81 ] => [ 8021 , 1 ,"E"], -[ 70 , 80 ] => [ 7965 , 2 ,"E"], -[ 71 , 79 ] => [ 7866 , 2 ,"E"], -[ 55 , 96 ] => [ 8013 , 3 ,"E"], -[ 56 , 95 ] => [ 8079 , 3 ,"E"], -[ 57 , 94 ] => [ 8129.0436 , 2.8839 ,"D"], -[ 58 , 93 ] => [ 8176.2779 , 0.1172 ,"D"], -[ 59 , 92 ] => [ 8207.8824 , 0.0772 ,"D"], -[ 60 , 91 ] => [ 8230.2741 , 0.0075 ,"D"], -[ 61 , 90 ] => [ 8241.2723 , 0.0305 ,"D"], -[ 62 , 89 ] => [ 8243.9735 , 0.0074 ,"D"], -[ 63 , 88 ] => [ 8239.2998 , 0.0077 ,"D"], -[ 64 , 87 ] => [ 8231.0446 , 0.0198 ,"D"], -[ 65 , 86 ] => [ 8208.8743 , 0.0271 ,"D"], -[ 66 , 85 ] => [ 8184.6789 , 0.0215 ,"D"], -[ 67 , 84 ] => [ 8145.5267 , 0.0550 ,"D"], -[ 68 , 83 ] => [ 8104.8723 , 0.1091 ,"D"], -[ 69 , 82 ] => [ 8050.0576 , 0.1283 ,"D"], -[ 70 , 81 ] => [ 7983.7556 , 1.9900 ,"D"], -[ 71 , 80 ] => [ 7904 , 2 ,"E"], -[ 55 , 97 ] => [ 7980 , 3 ,"E"], -[ 56 , 96 ] => [ 8057 , 3 ,"E"], -[ 57 , 95 ] => [ 8102 , 2 ,"E"], -[ 58 , 94 ] => [ 8161 , 1 ,"E"], -[ 59 , 93 ] => [ 8187.1049 , 0.1220 ,"D"], -[ 60 , 92 ] => [ 8224.0078 , 0.1610 ,"D"], -[ 61 , 91 ] => [ 8226.1293 , 0.1704 ,"D"], -[ 62 , 90 ] => [ 8244.0645 , 0.0067 ,"D"], -[ 63 , 89 ] => [ 8226.5854 , 0.0077 ,"D"], -[ 64 , 88 ] => [ 8233.4042 , 0.0066 ,"D"], -[ 65 , 87 ] => [ 8202.0072 , 0.2632 ,"D"], -[ 66 , 86 ] => [ 8192.9171 , 0.0302 ,"D"], -[ 67 , 85 ] => [ 8144.9193 , 0.0824 ,"D"], -[ 68 , 84 ] => [ 8119.3485 , 0.0581 ,"D"], -[ 69 , 83 ] => [ 8056.4387 , 0.3554 ,"D"], -[ 70 , 82 ] => [ 8015.4371 , 0.9849 ,"D"], -[ 71 , 81 ] => [ 7926 , 1 ,"E"], -[ 56 , 97 ] => [ 8023 , 3 ,"E"], -[ 57 , 96 ] => [ 8081 , 2 ,"E"], -[ 58 , 95 ] => [ 8134 , 1 ,"E"], -[ 59 , 94 ] => [ 8172.0371 , 0.0777 ,"D"], -[ 60 , 93 ] => [ 8204.5832 , 0.0180 ,"D"], -[ 61 , 92 ] => [ 8221.1536 , 0.0592 ,"D"], -[ 62 , 91 ] => [ 8228.5373 , 0.0067 ,"D"], -[ 63 , 90 ] => [ 8228.7011 , 0.0077 ,"D"], -[ 64 , 89 ] => [ 8220.4209 , 0.0066 ,"D"], -[ 65 , 88 ] => [ 8205.0504 , 0.0258 ,"D"], -[ 66 , 87 ] => [ 8185.7514 , 0.0262 ,"D"], -[ 67 , 86 ] => [ 8153.6372 , 0.0331 ,"D"], -[ 68 , 85 ] => [ 8118.8154 , 0.0607 ,"D"], -[ 69 , 84 ] => [ 8071.2571 , 0.0783 ,"D"], -[ 70 , 83 ] => [ 8022 , 1 ,"E"], -[ 71 , 82 ] => [ 7959.0882 , 0.9805 ,"D"], -[ 72 , 81 ] => [ 7882 , 2 ,"E"], -[ 56 , 98 ] => [ 8001 , 3 ,"E"], -[ 57 , 97 ] => [ 8051 , 2 ,"E"], -[ 58 , 96 ] => [ 8116 , 1 ,"E"], -[ 59 , 95 ] => [ 8147.2994 , 0.6494 ,"D"], -[ 60 , 94 ] => [ 8192.3491 , 0.0067 ,"D"], -[ 61 , 93 ] => [ 8204.7170 , 0.1625 ,"D"], -[ 62 , 92 ] => [ 8226.8379 , 0.0085 ,"D"], -[ 63 , 91 ] => [ 8217.1006 , 0.0077 ,"D"], -[ 64 , 90 ] => [ 8224.7996 , 0.0065 ,"D"], -[ 65 , 89 ] => [ 8196.6697 , 0.2942 ,"D"], -[ 66 , 88 ] => [ 8193.1305 , 0.0483 ,"D"], -[ 67 , 87 ] => [ 8150.6825 , 0.0534 ,"D"], -[ 68 , 86 ] => [ 8132.3919 , 0.0322 ,"D"], -[ 69 , 85 ] => [ 8074.2090 , 0.0936 ,"D"], -[ 70 , 84 ] => [ 8039.9402 , 0.1122 ,"D"], -[ 71 , 83 ] => [ 7968 , 1 ,"E"], -[ 72 , 82 ] => [ 7918 , 2 ,"E"], -[ 57 , 98 ] => [ 8028 , 3 ,"E"], -[ 58 , 97 ] => [ 8087 , 2 ,"E"], -[ 59 , 96 ] => [ 8131.0398 , 0.1110 ,"D"], -[ 60 , 95 ] => [ 8170.3050 , 0.0591 ,"D"], -[ 61 , 94 ] => [ 8195.2977 , 0.0304 ,"D"], -[ 62 , 93 ] => [ 8211.2258 , 0.0086 ,"D"], -[ 63 , 92 ] => [ 8216.6760 , 0.0081 ,"D"], -[ 64 , 91 ] => [ 8213.2541 , 0.0063 ,"D"], -[ 65 , 90 ] => [ 8202.9173 , 0.0634 ,"D"], -[ 66 , 89 ] => [ 8184.3570 , 0.0622 ,"D"], -[ 67 , 88 ] => [ 8159.2055 , 0.1127 ,"D"], -[ 68 , 87 ] => [ 8129.4444 , 0.0392 ,"D"], -[ 69 , 86 ] => [ 8088.3760 , 0.0640 ,"D"], -[ 70 , 85 ] => [ 8043.8234 , 0.1071 ,"D"], -[ 71 , 84 ] => [ 7987.4369 , 0.1242 ,"D"], -[ 72 , 83 ] => [ 7929 , 2 ,"E"], -[ 73 , 82 ] => [ 7858 , 2 ,"E"], -[ 57 , 99 ] => [ 7997 , 3 ,"E"], -[ 58 , 98 ] => [ 8068 , 2 ,"E"], -[ 59 , 97 ] => [ 8105.2337 , 0.0066 ,"D"], -[ 60 , 96 ] => [ 8156.3265 , 0.0084 ,"D"], -[ 61 , 95 ] => [ 8176.7263 , 0.0076 ,"D"], -[ 62 , 94 ] => [ 8205.0054 , 0.0546 ,"D"], -[ 63 , 93 ] => [ 8204.6192 , 0.0226 ,"D"], -[ 64 , 92 ] => [ 8215.3253 , 0.0063 ,"D"], -[ 65 , 91 ] => [ 8194.6415 , 0.0242 ,"D"], -[ 66 , 90 ] => [ 8192.4366 , 0.0063 ,"D"], -[ 67 , 89 ] => [ 8155.4280 , 0.2463 ,"D"], -[ 68 , 88 ] => [ 8141.9084 , 0.1579 ,"D"], -[ 69 , 87 ] => [ 8089.6032 , 0.0915 ,"D"], -[ 70 , 86 ] => [ 8061.7107 , 0.0597 ,"D"], -[ 71 , 85 ] => [ 7995.3752 , 0.3469 ,"D"], -[ 72 , 84 ] => [ 7952.6676 , 0.9599 ,"D"], -[ 73 , 83 ] => [ 7872 , 2 ,"E"], -[ 57 , 100 ] => [ 7972 , 2 ,"E"], -[ 58 , 99 ] => [ 8037 , 3 ,"E"], -[ 59 , 98 ] => [ 8085.8170 , 0.0202 ,"D"], -[ 60 , 97 ] => [ 8132.1671 , 0.0136 ,"D"], -[ 61 , 96 ] => [ 8164.1458 , 0.0446 ,"D"], -[ 62 , 95 ] => [ 8187.0642 , 0.0282 ,"D"], -[ 63 , 94 ] => [ 8199.7975 , 0.0270 ,"D"], -[ 64 , 93 ] => [ 8203.5072 , 0.0062 ,"D"], -[ 65 , 92 ] => [ 8198.1416 , 0.0065 ,"D"], -[ 66 , 91 ] => [ 8184.6287 , 0.0328 ,"D"], -[ 67 , 90 ] => [ 8163.1373 , 0.1495 ,"D"], -[ 68 , 89 ] => [ 8136.3757 , 0.1688 ,"D"], -[ 69 , 88 ] => [ 8101.4285 , 0.1780 ,"D"], -[ 70 , 87 ] => [ 8062.7551 , 0.0695 ,"D"], -[ 71 , 86 ] => [ 8013.3128 , 0.0769 ,"D"], -[ 72 , 85 ] => [ 7960 , 1 ,"E"], -[ 73 , 84 ] => [ 7896.0608 , 0.9557 ,"D"], -[ 74 , 83 ] => [ 7828 , 3 ,"E"], -[ 58 , 100 ] => [ 8015 , 3 ,"E"], -[ 59 , 99 ] => [ 8059 , 2 ,"E"], -[ 60 , 98 ] => [ 8114.9529 , 0.0083 ,"D"], -[ 61 , 97 ] => [ 8143.3622 , 0.0056 ,"D"], -[ 62 , 96 ] => [ 8177.3075 , 0.0303 ,"D"], -[ 63 , 95 ] => [ 8185.1320 , 0.0129 ,"D"], -[ 64 , 94 ] => [ 8201.8229 , 0.0062 ,"D"], -[ 65 , 93 ] => [ 8189.1556 , 0.0080 ,"D"], -[ 66 , 92 ] => [ 8190.1298 , 0.0148 ,"D"], -[ 67 , 91 ] => [ 8158.4709 , 0.1716 ,"D"], -[ 68 , 90 ] => [ 8147.9270 , 0.1596 ,"D"], -[ 69 , 89 ] => [ 8101.1994 , 0.1596 ,"D"], -[ 70 , 88 ] => [ 8079.1999 , 0.0505 ,"D"], -[ 71 , 87 ] => [ 8018.5685 , 0.0957 ,"D"], -[ 72 , 86 ] => [ 7981.2764 , 0.1107 ,"D"], -[ 73 , 85 ] => [ 7907 , 1 ,"E"], -[ 74 , 84 ] => [ 7855 , 2 ,"E"], -[ 58 , 101 ] => [ 7983 , 3 ,"E"], -[ 59 , 100 ] => [ 8037 , 3 ,"E"], -[ 60 , 99 ] => [ 8088.8224 , 0.1875 ,"D"], -[ 61 , 98 ] => [ 8126.8601 , 0.0631 ,"D"], -[ 62 , 97 ] => [ 8157.4963 , 0.0373 ,"D"], -[ 63 , 96 ] => [ 8176.6987 , 0.0272 ,"D"], -[ 64 , 95 ] => [ 8187.6177 , 0.0062 ,"D"], -[ 65 , 94 ] => [ 8188.8025 , 0.0069 ,"D"], -[ 66 , 93 ] => [ 8181.5842 , 0.0091 ,"D"], -[ 67 , 92 ] => [ 8165.1066 , 0.0192 ,"D"], -[ 68 , 91 ] => [ 8142.7742 , 0.0229 ,"D"], -[ 69 , 90 ] => [ 8112.7549 , 0.1758 ,"D"], -[ 70 , 89 ] => [ 8078.0428 , 0.1106 ,"D"], -[ 71 , 88 ] => [ 8034.6009 , 0.2369 ,"D"], -[ 72 , 87 ] => [ 7986.5610 , 0.1057 ,"D"], -[ 73 , 86 ] => [ 7928.7258 , 0.1238 ,"D"], -[ 74 , 85 ] => [ 7867 , 2 ,"E"], -[ 75 , 84 ] => [ 7795 , 2 ,"E"], -[ 59 , 101 ] => [ 8009 , 2 ,"E"], -[ 60 , 100 ] => [ 8069.9662 , 0.2911 ,"D"], -[ 61 , 99 ] => [ 8103.6398 , 0.0128 ,"D"], -[ 62 , 98 ] => [ 8144.6159 , 0.0122 ,"D"], -[ 63 , 97 ] => [ 8160.1030 , 0.0057 ,"D"], -[ 64 , 96 ] => [ 8183.0171 , 0.0070 ,"D"], -[ 65 , 95 ] => [ 8177.4676 , 0.0069 ,"D"], -[ 66 , 94 ] => [ 8184.0526 , 0.0044 ,"D"], -[ 67 , 93 ] => [ 8158.6004 , 0.0939 ,"D"], -[ 68 , 92 ] => [ 8151.7217 , 0.1515 ,"D"], -[ 69 , 91 ] => [ 8110.8124 , 0.2043 ,"D"], -[ 70 , 90 ] => [ 8092.5614 , 0.0343 ,"D"], -[ 71 , 89 ] => [ 8038.3387 , 0.3551 ,"D"], -[ 72 , 88 ] => [ 8006.3791 , 0.0596 ,"D"], -[ 73 , 87 ] => [ 7938.2704 , 0.3395 ,"D"], -[ 74 , 86 ] => [ 7892.7893 , 0.9363 ,"D"], -[ 75 , 85 ] => [ 7810 , 2 ,"E"], -[ 59 , 102 ] => [ 7986 , 3 ,"E"], -[ 60 , 101 ] => [ 8042 , 2 ,"E"], -[ 61 , 100 ] => [ 8085.9977 , 0.0561 ,"D"], -[ 62 , 99 ] => [ 8122.0418 , 0.0423 ,"D"], -[ 63 , 98 ] => [ 8148.9810 , 0.0646 ,"D"], -[ 64 , 97 ] => [ 8167.1934 , 0.0093 ,"D"], -[ 65 , 96 ] => [ 8174.4809 , 0.0076 ,"D"], -[ 66 , 95 ] => [ 8173.3093 , 0.0043 ,"D"], -[ 67 , 94 ] => [ 8163.1134 , 0.0134 ,"D"], -[ 68 , 93 ] => [ 8145.8628 , 0.0545 ,"D"], -[ 69 , 92 ] => [ 8120.4906 , 0.1736 ,"D"], -[ 70 , 91 ] => [ 8090.3861 , 0.0938 ,"D"], -[ 71 , 90 ] => [ 8052.7821 , 0.1736 ,"D"], -[ 72 , 89 ] => [ 8009.1245 , 0.1457 ,"D"], -[ 73 , 88 ] => [ 7957.4500 , 0.1514 ,"D"], -[ 74 , 87 ] => [ 7901 , 1 ,"E"], -[ 75 , 86 ] => [ 7836.3292 , 0.9311 ,"D"], -[ 76 , 85 ] => [ 7765 , 2 ,"E"], -[ 60 , 102 ] => [ 8022 , 2 ,"E"], -[ 61 , 101 ] => [ 8061 , 2 ,"E"], -[ 62 , 100 ] => [ 8107.5745 , 0.0218 ,"D"], -[ 63 , 99 ] => [ 8129.5593 , 0.0081 ,"D"], -[ 64 , 98 ] => [ 8159.0373 , 0.0245 ,"D"], -[ 65 , 97 ] => [ 8164.0773 , 0.0127 ,"D"], -[ 66 , 96 ] => [ 8173.4555 , 0.0043 ,"D"], -[ 67 , 95 ] => [ 8155.4126 , 0.0192 ,"D"], -[ 68 , 94 ] => [ 8152.3959 , 0.0047 ,"D"], -[ 69 , 93 ] => [ 8117.5868 , 0.1609 ,"D"], -[ 70 , 92 ] => [ 8102.5333 , 0.0932 ,"D"], -[ 71 , 91 ] => [ 8054.5596 , 0.4632 ,"D"], -[ 72 , 90 ] => [ 8027.1171 , 0.0553 ,"D"], -[ 73 , 89 ] => [ 7964.3432 , 0.3909 ,"D"], -[ 74 , 88 ] => [ 7923.8214 , 0.1090 ,"D"], -[ 75 , 87 ] => [ 7848 , 1 ,"E"], -[ 76 , 86 ] => [ 7794 , 2 ,"E"], -[ 60 , 103 ] => [ 7992 , 3 ,"E"], -[ 61 , 102 ] => [ 8042 , 2 ,"E"], -[ 62 , 101 ] => [ 8084.1653 , 0.0451 ,"D"], -[ 63 , 100 ] => [ 8116.0172 , 0.0056 ,"D"], -[ 64 , 99 ] => [ 8140.7560 , 0.0049 ,"D"], -[ 65 , 98 ] => [ 8155.6322 , 0.0249 ,"D"], -[ 66 , 97 ] => [ 8161.7840 , 0.0043 ,"D"], -[ 67 , 96 ] => [ 8156.9670 , 0.0043 ,"D"], -[ 68 , 95 ] => [ 8144.7403 , 0.0284 ,"D"], -[ 69 , 94 ] => [ 8124.9774 , 0.0338 ,"D"], -[ 70 , 93 ] => [ 8099.1069 , 0.0927 ,"D"], -[ 71 , 92 ] => [ 8066.6848 , 0.1714 ,"D"], -[ 72 , 91 ] => [ 8028.0072 , 0.1576 ,"D"], -[ 73 , 90 ] => [ 7981.8905 , 0.2335 ,"D"], -[ 74 , 89 ] => [ 7930.3043 , 0.3584 ,"D"], -[ 75 , 88 ] => [ 7870.8655 , 0.1137 ,"D"], -[ 76 , 87 ] => [ 7807 , 2 ,"E"], -[ 77 , 86 ] => [ 7734 , 2 ,"E"], -[ 61 , 103 ] => [ 8014 , 2 ,"E"], -[ 62 , 102 ] => [ 8067.7803 , 0.0250 ,"D"], -[ 63 , 101 ] => [ 8095.3686 , 0.0126 ,"D"], -[ 64 , 100 ] => [ 8129.9978 , 0.0061 ,"D"], -[ 65 , 99 ] => [ 8139.9304 , 0.0114 ,"D"], -[ 66 , 98 ] => [ 8158.7129 , 0.0042 ,"D"], -[ 67 , 97 ] => [ 8147.9234 , 0.0085 ,"D"], -[ 68 , 96 ] => [ 8149.0191 , 0.0043 ,"D"], -[ 69 , 95 ] => [ 8119.6534 , 0.1525 ,"D"], -[ 70 , 94 ] => [ 8109.4149 , 0.0921 ,"D"], -[ 71 , 93 ] => [ 8065.8043 , 0.1704 ,"D"], -[ 72 , 92 ] => [ 8043.8142 , 0.0964 ,"D"], -[ 73 , 91 ] => [ 7986.9978 , 0.1704 ,"D"], -[ 74 , 90 ] => [ 7951.4515 , 0.0590 ,"D"], -[ 75 , 89 ] => [ 7881.0523 , 0.3326 ,"D"], -[ 76 , 88 ] => [ 7833.3080 , 0.9140 ,"D"], -[ 77 , 87 ] => [ 7750 , 2 ,"E"], -[ 61 , 104 ] => [ 7992 , 3 ,"E"], -[ 62 , 103 ] => [ 8041 , 2 ,"E"], -[ 63 , 102 ] => [ 8080.0529 , 0.0316 ,"D"], -[ 64 , 101 ] => [ 8110.4428 , 0.0079 ,"D"], -[ 65 , 100 ] => [ 8130.3259 , 0.0093 ,"D"], -[ 66 , 99 ] => [ 8143.9083 , 0.0042 ,"D"], -[ 67 , 98 ] => [ 8146.9591 , 0.0048 ,"D"], -[ 68 , 97 ] => [ 8139.9348 , 0.0056 ,"D"], -[ 69 , 96 ] => [ 8125.5489 , 0.0101 ,"D"], -[ 70 , 95 ] => [ 8104.8399 , 0.1608 ,"D"], -[ 71 , 94 ] => [ 8076.7460 , 0.1608 ,"D"], -[ 72 , 93 ] => [ 8042.8728 , 0.1694 ,"D"], -[ 73 , 92 ] => [ 8003.0547 , 0.0823 ,"D"], -[ 74 , 91 ] => [ 7955.9704 , 0.1561 ,"D"], -[ 75 , 90 ] => [ 7901.5201 , 0.1430 ,"D"], -[ 76 , 89 ] => [ 7843 , 1 ,"E"], -[ 77 , 88 ] => [ 7776 , 1 ,"E"], -[ 78 , 87 ] => [ 7703 , 2 ,"E"], -[ 62 , 104 ] => [ 8023 , 2 ,"E"], -[ 63 , 103 ] => [ 8056 , 1 ,"E"], -[ 64 , 102 ] => [ 8097.2260 , 0.0095 ,"D"], -[ 65 , 101 ] => [ 8113.2230 , 0.0088 ,"D"], -[ 66 , 100 ] => [ 8137.2793 , 0.0048 ,"D"], -[ 67 , 99 ] => [ 8135.4933 , 0.0047 ,"D"], -[ 68 , 98 ] => [ 8141.9479 , 0.0020 ,"D"], -[ 69 , 97 ] => [ 8118.9357 , 0.0696 ,"D"], -[ 70 , 96 ] => [ 8112.4591 , 0.0422 ,"D"], -[ 71 , 95 ] => [ 8074.1756 , 0.1796 ,"D"], -[ 72 , 94 ] => [ 8056.4386 , 0.1683 ,"D"], -[ 73 , 93 ] => [ 8004.9714 , 0.1683 ,"D"], -[ 74 , 92 ] => [ 7974.8951 , 0.0570 ,"D"], -[ 75 , 91 ] => [ 7909.6392 , 0.5316 ,"D"], -[ 76 , 90 ] => [ 7866.3371 , 0.1082 ,"D"], -[ 77 , 89 ] => [ 7789 , 1 ,"E"], -[ 78 , 88 ] => [ 7733 , 2 ,"E"], -[ 62 , 105 ] => [ 7992 , 3 ,"E"], -[ 63 , 104 ] => [ 8038 , 2 ,"E"], -[ 64 , 103 ] => [ 8075.5428 , 0.0312 ,"D"], -[ 65 , 102 ] => [ 8101.4410 , 0.0116 ,"D"], -[ 66 , 101 ] => [ 8120.8782 , 0.0240 ,"D"], -[ 67 , 100 ] => [ 8130.3732 , 0.0311 ,"D"], -[ 68 , 99 ] => [ 8131.7352 , 0.0017 ,"D"], -[ 69 , 98 ] => [ 8122.5826 , 0.0075 ,"D"], -[ 70 , 97 ] => [ 8106.2020 , 0.0237 ,"D"], -[ 71 , 96 ] => [ 8083.1722 , 0.2231 ,"D"], -[ 72 , 95 ] => [ 8054.1850 , 0.1673 ,"D"], -[ 73 , 94 ] => [ 8018.8614 , 0.1673 ,"D"], -[ 74 , 93 ] => [ 7976.7045 , 0.1120 ,"D"], -[ 75 , 92 ] => [ 7929 , 0 ,"E"], -[ 76 , 91 ] => [ 7873.9557 , 0.4844 ,"D"], -[ 77 , 90 ] => [ 7812.8254 , 0.1099 ,"D"], -[ 78 , 89 ] => [ 7746 , 2 ,"E"], -[ 62 , 106 ] => [ 7971 , 2 ,"E"], -[ 63 , 105 ] => [ 8012 , 2 ,"E"], -[ 64 , 104 ] => [ 8060 , 2 ,"E"], -[ 65 , 103 ] => [ 8082.7980 , 0.0250 ,"D"], -[ 66 , 102 ] => [ 8112.5293 , 0.8334 ,"D"], -[ 67 , 101 ] => [ 8116.8061 , 0.1786 ,"D"], -[ 68 , 100 ] => [ 8129.5897 , 0.0016 ,"D"], -[ 69 , 99 ] => [ 8114.9516 , 0.0100 ,"D"], -[ 70 , 98 ] => [ 8111.8870 , 0.0006 ,"D"], -[ 71 , 97 ] => [ 8080.4026 , 0.2260 ,"D"], -[ 72 , 96 ] => [ 8065.5536 , 0.1663 ,"D"], -[ 73 , 95 ] => [ 8019.4287 , 0.1663 ,"D"], -[ 74 , 94 ] => [ 7993.9327 , 0.0789 ,"D"], -[ 75 , 93 ] => [ 7935.1208 , 0.1835 ,"D"], -[ 76 , 92 ] => [ 7895.9408 , 0.0589 ,"D"], -[ 77 , 91 ] => [ 7823.8509 , 0.3287 ,"D"], -[ 78 , 90 ] => [ 7773.6217 , 0.8925 ,"D"], -[ 79 , 89 ] => [ 7688 , 2 ,"E"], -[ 63 , 106 ] => [ 7991 , 3 ,"E"], -[ 64 , 105 ] => [ 8035 , 2 ,"E"], -[ 65 , 104 ] => [ 8069 , 2 ,"E"], -[ 66 , 103 ] => [ 8094.7566 , 1.7791 ,"D"], -[ 67 , 102 ] => [ 8109.0622 , 0.1186 ,"D"], -[ 68 , 101 ] => [ 8117.0078 , 0.0018 ,"D"], -[ 69 , 100 ] => [ 8114.4702 , 0.0044 ,"D"], -[ 70 , 99 ] => [ 8104.5206 , 0.0011 ,"D"], -[ 71 , 98 ] => [ 8086.3233 , 0.0178 ,"D"], -[ 72 , 97 ] => [ 8061.7791 , 0.1654 ,"D"], -[ 73 , 96 ] => [ 8030.9577 , 0.1654 ,"D"], -[ 74 , 95 ] => [ 7994.5381 , 0.0913 ,"D"], -[ 75 , 94 ] => [ 7951.3963 , 0.0673 ,"D"], -[ 76 , 93 ] => [ 7901.2862 , 0.1535 ,"D"], -[ 77 , 92 ] => [ 7845.5944 , 0.1379 ,"D"], -[ 78 , 91 ] => [ 7784 , 1 ,"E"], -[ 79 , 90 ] => [ 7716 , 2 ,"E"], -[ 63 , 107 ] => [ 7963 , 3 ,"E"], -[ 64 , 106 ] => [ 8017 , 3 ,"E"], -[ 65 , 105 ] => [ 8047 , 2 ,"E"], -[ 66 , 104 ] => [ 8084 , 1 ,"E"], -[ 67 , 103 ] => [ 8093.7902 , 0.2942 ,"D"], -[ 68 , 102 ] => [ 8111.9529 , 0.0082 ,"D"], -[ 69 , 101 ] => [ 8105.5144 , 0.0043 ,"D"], -[ 70 , 100 ] => [ 8106.6101 , 0.0003 ,"D"], -[ 71 , 99 ] => [ 8081.6686 , 0.0991 ,"D"], -[ 72 , 98 ] => [ 8070.8762 , 0.1644 ,"D"], -[ 73 , 97 ] => [ 8030.2965 , 0.1644 ,"D"], -[ 74 , 96 ] => [ 8008.9482 , 0.0776 ,"D"], -[ 75 , 95 ] => [ 7955.0120 , 0.0672 ,"D"], -[ 76 , 94 ] => [ 7921.1258 , 0.0574 ,"D"], -[ 77 , 93 ] => [ 7853 , 1 ,"E"], -[ 78 , 92 ] => [ 7808.2365 , 0.1073 ,"D"], -[ 79 , 91 ] => [ 7730 , 1 ,"E"], -[ 80 , 90 ] => [ 7671 , 2 ,"E"], -[ 64 , 107 ] => [ 7990 , 3 ,"E"], -[ 65 , 106 ] => [ 8030 , 2 ,"E"], -[ 66 , 105 ] => [ 8062 , 1 ,"E"], -[ 67 , 104 ] => [ 8083.6021 , 3.5088 ,"D"], -[ 68 , 103 ] => [ 8097.7404 , 0.0082 ,"D"], -[ 69 , 102 ] => [ 8101.8931 , 0.0057 ,"D"], -[ 70 , 101 ] => [ 8097.8826 , 0.0003 ,"D"], -[ 71 , 100 ] => [ 8084.6621 , 0.0109 ,"D"], -[ 72 , 99 ] => [ 8066.0687 , 0.1689 ,"D"], -[ 73 , 98 ] => [ 8039.7914 , 0.1634 ,"D"], -[ 74 , 97 ] => [ 8008.1158 , 0.1634 ,"D"], -[ 75 , 96 ] => [ 7969.4131 , 0.1634 ,"D"], -[ 76 , 95 ] => [ 7924.1769 , 0.1067 ,"D"], -[ 77 , 94 ] => [ 7873.4895 , 0.2249 ,"D"], -[ 78 , 93 ] => [ 7816.6017 , 0.4734 ,"D"], -[ 79 , 92 ] => [ 7754.1069 , 0.1211 ,"D"], -[ 80 , 91 ] => [ 7686 , 2 ,"E"], -[ 64 , 108 ] => [ 7972 , 2 ,"E"], -[ 65 , 107 ] => [ 8006 , 3 ,"E"], -[ 66 , 106 ] => [ 8049 , 2 ,"E"], -[ 67 , 105 ] => [ 8066 , 1 ,"E"], -[ 68 , 104 ] => [ 8090.4052 , 0.0230 ,"D"], -[ 69 , 103 ] => [ 8091.0367 , 0.0319 ,"D"], -[ 70 , 102 ] => [ 8097.4295 , 0.0003 ,"D"], -[ 71 , 101 ] => [ 8078.2334 , 0.0136 ,"D"], -[ 72 , 100 ] => [ 8071.7439 , 0.1420 ,"D"], -[ 73 , 99 ] => [ 8037.7056 , 0.1625 ,"D"], -[ 74 , 98 ] => [ 8020.1757 , 0.1625 ,"D"], -[ 75 , 97 ] => [ 7971.8460 , 0.2068 ,"D"], -[ 76 , 96 ] => [ 7942.1626 , 0.0742 ,"D"], -[ 77 , 95 ] => [ 7880.2637 , 0.1884 ,"D"], -[ 78 , 94 ] => [ 7839.2460 , 0.0603 ,"D"], -[ 79 , 93 ] => [ 7766.1587 , 0.3265 ,"D"], -[ 80 , 92 ] => [ 7713.6064 , 0.8725 ,"D"], -[ 65 , 108 ] => [ 7988 , 3 ,"E"], -[ 66 , 107 ] => [ 8026 , 2 ,"E"], -[ 67 , 106 ] => [ 8054 , 2 ,"E"], -[ 68 , 105 ] => [ 8074 , 1 ,"E"], -[ 69 , 104 ] => [ 8084.4633 , 0.0254 ,"D"], -[ 70 , 103 ] => [ 8087.4276 , 0.0003 ,"D"], -[ 71 , 102 ] => [ 8079.0312 , 0.0091 ,"D"], -[ 72 , 101 ] => [ 8066.0164 , 0.1615 ,"D"], -[ 73 , 100 ] => [ 8044.0650 , 0.1615 ,"D"], -[ 74 , 99 ] => [ 8018.3337 , 0.1615 ,"D"], -[ 75 , 98 ] => [ 7983.9068 , 0.1615 ,"D"], -[ 76 , 97 ] => [ 7944.0341 , 0.0865 ,"D"], -[ 77 , 96 ] => [ 7898.0680 , 0.0609 ,"D"], -[ 78 , 95 ] => [ 7845.3856 , 0.3667 ,"D"], -[ 79 , 94 ] => [ 7788.2348 , 0.1317 ,"D"], -[ 80 , 93 ] => [ 7725 , 1 ,"E"], -[ 65 , 109 ] => [ 7963 , 3 ,"E"], -[ 66 , 108 ] => [ 8011 , 3 ,"E"], -[ 67 , 107 ] => [ 8034 , 2 ,"E"], -[ 68 , 106 ] => [ 8064 , 2 ,"E"], -[ 69 , 105 ] => [ 8070.6432 , 0.2570 ,"D"], -[ 70 , 104 ] => [ 8083.8481 , 0.0003 ,"D"], -[ 71 , 103 ] => [ 8071.4540 , 0.0090 ,"D"], -[ 72 , 102 ] => [ 8068.5341 , 0.0130 ,"D"], -[ 73 , 101 ] => [ 8040.4528 , 0.1606 ,"D"], -[ 74 , 100 ] => [ 8027.2572 , 0.1606 ,"D"], -[ 75 , 99 ] => [ 7985.0944 , 0.1606 ,"D"], -[ 76 , 98 ] => [ 7959.4618 , 0.0589 ,"D"], -[ 77 , 97 ] => [ 7902.0377 , 0.0645 ,"D"], -[ 78 , 96 ] => [ 7866.1143 , 0.0594 ,"D"], -[ 79 , 95 ] => [ 7797 , 1 ,"E"], -[ 80 , 94 ] => [ 7749.7851 , 0.1104 ,"D"], -[ 66 , 109 ] => [ 7986 , 3 ,"E"], -[ 67 , 108 ] => [ 8019 , 2 ,"E"], -[ 68 , 107 ] => [ 8045 , 2 ,"E"], -[ 69 , 106 ] => [ 8061.7673 , 0.2857 ,"D"], -[ 70 , 105 ] => [ 8070.9253 , 0.0005 ,"D"], -[ 71 , 104 ] => [ 8069.1412 , 0.0069 ,"D"], -[ 72 , 103 ] => [ 8060.7625 , 0.0130 ,"D"], -[ 73 , 102 ] => [ 8044.4456 , 0.1597 ,"D"], -[ 74 , 101 ] => [ 8024.1130 , 0.1597 ,"D"], -[ 75 , 100 ] => [ 7994.8168 , 0.1597 ,"D"], -[ 76 , 99 ] => [ 7960.7294 , 0.0673 ,"D"], -[ 77 , 98 ] => [ 7917.9112 , 0.0708 ,"D"], -[ 78 , 97 ] => [ 7869.5216 , 0.1064 ,"D"], -[ 79 , 96 ] => [ 7817.5939 , 0.2204 ,"D"], -[ 80 , 95 ] => [ 7759.2134 , 0.4633 ,"D"], -[ 66 , 110 ] => [ 7969 , 3 ,"E"], -[ 67 , 109 ] => [ 7997 , 3 ,"E"], -[ 68 , 108 ] => [ 8034 , 2 ,"E"], -[ 69 , 107 ] => [ 8045.1214 , 0.5682 ,"D"], -[ 70 , 106 ] => [ 8064.0853 , 0.0003 ,"D"], -[ 71 , 105 ] => [ 8059.0209 , 0.0069 ,"D"], -[ 72 , 104 ] => [ 8061.3604 , 0.0084 ,"D"], -[ 73 , 103 ] => [ 8038.6706 , 0.1747 ,"D"], -[ 74 , 102 ] => [ 8030.1131 , 0.1588 ,"D"], -[ 75 , 101 ] => [ 7993.9707 , 0.1588 ,"D"], -[ 76 , 100 ] => [ 7972.8681 , 0.0622 ,"D"], -[ 77 , 99 ] => [ 7921.5522 , 0.0459 ,"D"], -[ 78 , 98 ] => [ 7888.9934 , 0.0722 ,"D"], -[ 79 , 97 ] => [ 7825.3837 , 0.1885 ,"D"], -[ 80 , 96 ] => [ 7782.6640 , 0.0632 ,"D"], -[ 81 , 95 ] => [ 7707.9383 , 0.4719 ,"D"], -[ 67 , 110 ] => [ 7980 , 3 ,"E"], -[ 68 , 109 ] => [ 8013 , 3 ,"E"], -[ 69 , 108 ] => [ 8035 , 1 ,"E"], -[ 70 , 107 ] => [ 8049.9741 , 0.0013 ,"D"], -[ 71 , 106 ] => [ 8053.4495 , 0.0069 ,"D"], -[ 72 , 105 ] => [ 8051.8365 , 0.0080 ,"D"], -[ 73 , 104 ] => [ 8040.8289 , 0.0187 ,"D"], -[ 74 , 103 ] => [ 8025.0359 , 0.1579 ,"D"], -[ 75 , 102 ] => [ 8001.2229 , 0.1579 ,"D"], -[ 76 , 101 ] => [ 7972.4371 , 0.0826 ,"D"], -[ 77 , 100 ] => [ 7934.6328 , 0.1116 ,"D"], -[ 78 , 99 ] => [ 7892.4896 , 0.0847 ,"D"], -[ 79 , 98 ] => [ 7843.8623 , 0.0563 ,"D"], -[ 80 , 97 ] => [ 7789.8947 , 0.4787 ,"D"], -[ 81 , 96 ] => [ 7732.1655 , 0.1222 ,"D"], -[ 67 , 111 ] => [ 7957 , 3 ,"E"], -[ 68 , 110 ] => [ 7999 , 3 ,"E"], -[ 69 , 109 ] => [ 8017 , 2 ,"E"], -[ 70 , 108 ] => [ 8042.7386 , 0.0370 ,"D"], -[ 71 , 107 ] => [ 8042.0554 , 0.0127 ,"D"], -[ 72 , 106 ] => [ 8049.4438 , 0.0080 ,"D"], -[ 73 , 105 ] => [ 8035 , 0 ,"E"], -[ 74 , 104 ] => [ 8029.2584 , 0.0854 ,"D"], -[ 75 , 103 ] => [ 7998.1576 , 0.1570 ,"D"], -[ 76 , 102 ] => [ 7981.9128 , 0.0766 ,"D"], -[ 77 , 101 ] => [ 7936.5630 , 0.1057 ,"D"], -[ 78 , 100 ] => [ 7908.2530 , 0.0569 ,"D"], -[ 79 , 99 ] => [ 7849.3946 , 0.0576 ,"D"], -[ 80 , 98 ] => [ 7811.3607 , 0.0604 ,"D"], -[ 81 , 97 ] => [ 7741 , 1 ,"E"], -[ 82 , 96 ] => [ 7690.8359 , 0.1302 ,"D"], -[ 68 , 111 ] => [ 7976 , 3 ,"E"], -[ 69 , 110 ] => [ 8004 , 2 ,"E"], -[ 70 , 109 ] => [ 8026 , 1 ,"E"], -[ 71 , 108 ] => [ 8035.0744 , 0.0288 ,"D"], -[ 72 , 107 ] => [ 8038.5474 , 0.0079 ,"D"], -[ 73 , 106 ] => [ 8033.5869 , 0.0082 ,"D"], -[ 74 , 105 ] => [ 8023.2821 , 0.0814 ,"D"], -[ 75 , 104 ] => [ 8003.7666 , 0.1376 ,"D"], -[ 76 , 103 ] => [ 7979.4844 , 0.0866 ,"D"], -[ 77 , 102 ] => [ 7947.5248 , 0.0546 ,"D"], -[ 78 , 101 ] => [ 7910.6759 , 0.0446 ,"D"], -[ 79 , 100 ] => [ 7865.6374 , 0.0653 ,"D"], -[ 80 , 99 ] => [ 7816.2631 , 0.1571 ,"D"], -[ 81 , 98 ] => [ 7763.4942 , 0.2159 ,"D"], -[ 82 , 97 ] => [ 7701.4630 , 0.4538 ,"D"], -[ 68 , 112 ] => [ 7960 , 3 ,"E"], -[ 69 , 111 ] => [ 7983 , 2 ,"E"], -[ 70 , 110 ] => [ 8016 , 2 ,"E"], -[ 71 , 109 ] => [ 8022.0394 , 0.3929 ,"D"], -[ 72 , 108 ] => [ 8034.9319 , 0.0079 ,"D"], -[ 73 , 107 ] => [ 8025.8864 , 0.0115 ,"D"], -[ 74 , 106 ] => [ 8025.4434 , 0.0080 ,"D"], -[ 75 , 105 ] => [ 7999.9922 , 0.1188 ,"D"], -[ 76 , 104 ] => [ 7987.4171 , 0.0873 ,"D"], -[ 77 , 103 ] => [ 7947.6337 , 0.1206 ,"D"], -[ 78 , 102 ] => [ 7923.5781 , 0.0558 ,"D"], -[ 79 , 101 ] => [ 7870.3194 , 0.0264 ,"D"], -[ 80 , 100 ] => [ 7836.1111 , 0.0702 ,"D"], -[ 81 , 99 ] => [ 7771.4310 , 0.3884 ,"D"], -[ 82 , 98 ] => [ 7725.6993 , 0.0689 ,"D"], -[ 69 , 112 ] => [ 7969 , 3 ,"E"], -[ 70 , 111 ] => [ 7996 , 2 ,"E"], -[ 71 , 110 ] => [ 8011.9301 , 0.6948 ,"D"], -[ 72 , 109 ] => [ 8022.0030 , 0.0079 ,"D"], -[ 73 , 108 ] => [ 8023.4050 , 0.0087 ,"D"], -[ 74 , 107 ] => [ 8017.9494 , 0.0080 ,"D"], -[ 75 , 106 ] => [ 8004.1434 , 0.0693 ,"D"], -[ 76 , 105 ] => [ 7983.4263 , 0.1400 ,"D"], -[ 77 , 104 ] => [ 7956.5242 , 0.0290 ,"D"], -[ 78 , 103 ] => [ 7924.1271 , 0.0756 ,"D"], -[ 79 , 102 ] => [ 7883.8359 , 0.1104 ,"D"], -[ 80 , 101 ] => [ 7839.6792 , 0.0850 ,"D"], -[ 81 , 100 ] => [ 7791.9183 , 0.0503 ,"D"], -[ 82 , 99 ] => [ 7734.0704 , 0.4698 ,"D"], -[ 69 , 113 ] => [ 7948 , 3 ,"E"], -[ 70 , 112 ] => [ 7984 , 2 ,"E"], -[ 71 , 111 ] => [ 7996 , 1 ,"E"], -[ 72 , 110 ] => [ 8014.8381 , 0.0339 ,"D"], -[ 73 , 109 ] => [ 8012.6332 , 0.0087 ,"D"], -[ 74 , 108 ] => [ 8018.3096 , 0.0041 ,"D"], -[ 75 , 107 ] => [ 7998.6264 , 0.5603 ,"D"], -[ 76 , 106 ] => [ 7989.7287 , 0.1195 ,"D"], -[ 77 , 105 ] => [ 7954.8948 , 0.1152 ,"D"], -[ 78 , 104 ] => [ 7934.7541 , 0.0719 ,"D"], -[ 79 , 103 ] => [ 7887.2442 , 0.1031 ,"D"], -[ 80 , 102 ] => [ 7856.9726 , 0.0538 ,"D"], -[ 81 , 101 ] => [ 7796.3571 , 0.0658 ,"D"], -[ 82 , 100 ] => [ 7756.3296 , 0.0664 ,"D"], -[ 70 , 113 ] => [ 7963 , 2 ,"E"], -[ 71 , 112 ] => [ 7984.8125 , 0.4378 ,"D"], -[ 72 , 111 ] => [ 8000.0315 , 0.1642 ,"D"], -[ 73 , 110 ] => [ 8006.7400 , 0.0087 ,"D"], -[ 74 , 109 ] => [ 8008.3234 , 0.0041 ,"D"], -[ 75 , 108 ] => [ 8001.0101 , 0.0439 ,"D"], -[ 76 , 107 ] => [ 7985.0087 , 0.2720 ,"D"], -[ 77 , 106 ] => [ 7961.8176 , 0.1348 ,"D"], -[ 78 , 105 ] => [ 7933.3406 , 0.0777 ,"D"], -[ 79 , 104 ] => [ 7898.5644 , 0.0515 ,"D"], -[ 80 , 103 ] => [ 7859.3885 , 0.0387 ,"D"], -[ 81 , 102 ] => [ 7815.6741 , 0.0510 ,"D"], -[ 82 , 101 ] => [ 7762.1790 , 0.1584 ,"D"], -[ 70 , 114 ] => [ 7951 , 3 ,"E"], -[ 71 , 113 ] => [ 7967 , 1 ,"E"], -[ 72 , 112 ] => [ 7990.7228 , 0.2158 ,"D"], -[ 73 , 111 ] => [ 7993.7535 , 0.1414 ,"D"], -[ 74 , 110 ] => [ 8005.0777 , 0.0040 ,"D"], -[ 75 , 109 ] => [ 7992.7517 , 0.0232 ,"D"], -[ 76 , 108 ] => [ 7988.6778 , 0.0045 ,"D"], -[ 77 , 107 ] => [ 7959.1992 , 0.1519 ,"D"], -[ 78 , 106 ] => [ 7942.5649 , 0.0801 ,"D"], -[ 79 , 105 ] => [ 7900.1947 , 0.1211 ,"D"], -[ 80 , 104 ] => [ 7874.3454 , 0.0518 ,"D"], -[ 81 , 103 ] => [ 7818.6727 , 0.0544 ,"D"], -[ 82 , 102 ] => [ 7782.7264 , 0.0696 ,"D"], -[ 83 , 101 ] => [ 7712 , 1 ,"E"], -[ 70 , 115 ] => [ 7929 , 3 ,"E"], -[ 71 , 114 ] => [ 7955 , 2 ,"E"], -[ 72 , 113 ] => [ 7973.9711 , 0.3474 ,"D"], -[ 73 , 112 ] => [ 7986.3615 , 0.0765 ,"D"], -[ 74 , 111 ] => [ 7992.9083 , 0.0040 ,"D"], -[ 75 , 110 ] => [ 7991.0101 , 0.0044 ,"D"], -[ 76 , 109 ] => [ 7981.3047 , 0.0045 ,"D"], -[ 77 , 108 ] => [ 7963.7226 , 0.1511 ,"D"], -[ 78 , 107 ] => [ 7939.7779 , 0.1396 ,"D"], -[ 79 , 106 ] => [ 7909.4410 , 0.0141 ,"D"], -[ 80 , 105 ] => [ 7874.5391 , 0.0737 ,"D"], -[ 81 , 104 ] => [ 7835.5756 , 0.1118 ,"D"], -[ 82 , 103 ] => [ 7786.9330 , 0.0874 ,"D"], -[ 83 , 102 ] => [ 7732 , 0 ,"E"], -[ 71 , 115 ] => [ 7936 , 2 ,"E"], -[ 72 , 114 ] => [ 7964.3032 , 0.2754 ,"D"], -[ 73 , 113 ] => [ 7971.8357 , 0.3226 ,"D"], -[ 74 , 112 ] => [ 7988.6026 , 0.0065 ,"D"], -[ 75 , 111 ] => [ 7981.2713 , 0.0044 ,"D"], -[ 76 , 110 ] => [ 7982.8324 , 0.0041 ,"D"], -[ 77 , 109 ] => [ 7958.0473 , 0.0888 ,"D"], -[ 78 , 108 ] => [ 7946.8094 , 0.1169 ,"D"], -[ 79 , 107 ] => [ 7909.5409 , 0.1127 ,"D"], -[ 80 , 106 ] => [ 7888.2605 , 0.0626 ,"D"], -[ 81 , 105 ] => [ 7837.5161 , 0.1116 ,"D"], -[ 82 , 104 ] => [ 7805.3420 , 0.0592 ,"D"], -[ 83 , 103 ] => [ 7739.1175 , 0.0911 ,"D"], -[ 84 , 102 ] => [ 7695.9488 , 0.0983 ,"D"], -[ 71 , 116 ] => [ 7923 , 2 ,"E"], -[ 72 , 115 ] => [ 7947 , 1 ,"E"], -[ 73 , 114 ] => [ 7963.2123 , 0.2989 ,"D"], -[ 74 , 113 ] => [ 7975.1168 , 0.0065 ,"D"], -[ 75 , 112 ] => [ 7977.9519 , 0.0039 ,"D"], -[ 76 , 111 ] => [ 7973.7814 , 0.0039 ,"D"], -[ 77 , 110 ] => [ 7960.6692 , 0.1494 ,"D"], -[ 78 , 109 ] => [ 7941.1699 , 0.1287 ,"D"], -[ 79 , 108 ] => [ 7917.4323 , 0.1203 ,"D"], -[ 80 , 107 ] => [ 7886.9905 , 0.0688 ,"D"], -[ 81 , 106 ] => [ 7852.4650 , 0.0430 ,"D"], -[ 82 , 105 ] => [ 7808.4010 , 0.0272 ,"D"], -[ 83 , 104 ] => [ 7758.2083 , 0.0535 ,"D"], -[ 84 , 103 ] => [ 7704.7889 , 0.1745 ,"D"], -[ 71 , 117 ] => [ 7903 , 2 ,"E"], -[ 72 , 116 ] => [ 7936 , 2 ,"E"], -[ 73 , 115 ] => [ 7948 , 1 ,"E"], -[ 74 , 114 ] => [ 7969.0532 , 0.0164 ,"D"], -[ 75 , 113 ] => [ 7966.7481 , 0.0039 ,"D"], -[ 76 , 112 ] => [ 7973.8656 , 0.0039 ,"D"], -[ 77 , 111 ] => [ 7954.8512 , 0.0501 ,"D"], -[ 78 , 110 ] => [ 7947.9027 , 0.0282 ,"D"], -[ 79 , 109 ] => [ 7914.7537 , 0.0144 ,"D"], -[ 80 , 108 ] => [ 7899.0340 , 0.0361 ,"D"], -[ 81 , 107 ] => [ 7853.0537 , 0.1591 ,"D"], -[ 82 , 106 ] => [ 7824.8211 , 0.0539 ,"D"], -[ 83 , 105 ] => [ 7764.1904 , 0.0595 ,"D"], -[ 84 , 104 ] => [ 7724.6544 , 0.1062 ,"D"], -[ 72 , 117 ] => [ 7917 , 2 ,"E"], -[ 73 , 116 ] => [ 7938 , 1 ,"E"], -[ 74 , 115 ] => [ 7954 , 1 ,"E"], -[ 75 , 114 ] => [ 7961.8105 , 0.0433 ,"D"], -[ 76 , 113 ] => [ 7963.0029 , 0.0035 ,"D"], -[ 77 , 112 ] => [ 7956.0214 , 0.0665 ,"D"], -[ 78 , 111 ] => [ 7941.4045 , 0.0534 ,"D"], -[ 79 , 110 ] => [ 7921.9876 , 0.1063 ,"D"], -[ 80 , 109 ] => [ 7896.9192 , 0.1669 ,"D"], -[ 81 , 108 ] => [ 7866.2704 , 0.0443 ,"D"], -[ 82 , 107 ] => [ 7826.2999 , 0.0744 ,"D"], -[ 83 , 106 ] => [ 7780.9999 , 0.1103 ,"D"], -[ 84 , 105 ] => [ 7731.1321 , 0.1167 ,"D"], -[ 72 , 118 ] => [ 7905 , 2 ,"E"], -[ 73 , 117 ] => [ 7922 , 1 ,"E"], -[ 74 , 116 ] => [ 7947.5031 , 0.1863 ,"D"], -[ 75 , 115 ] => [ 7949.7759 , 0.0256 ,"D"], -[ 76 , 114 ] => [ 7962.1047 , 0.0034 ,"D"], -[ 77 , 113 ] => [ 7947.7017 , 0.0072 ,"D"], -[ 78 , 112 ] => [ 7946.4941 , 0.0035 ,"D"], -[ 79 , 111 ] => [ 7918.8345 , 0.0181 ,"D"], -[ 80 , 110 ] => [ 7907.0174 , 0.0837 ,"D"], -[ 81 , 109 ] => [ 7866.0345 , 0.0382 ,"D"], -[ 82 , 108 ] => [ 7841.1294 , 0.0659 ,"D"], -[ 83 , 107 ] => [ 7785.3239 , 0.1104 ,"D"], -[ 84 , 106 ] => [ 7749.4526 , 0.0693 ,"D"], -[ 73 , 118 ] => [ 7911 , 2 ,"E"], -[ 74 , 117 ] => [ 7931.4359 , 0.2195 ,"D"], -[ 75 , 116 ] => [ 7943.9588 , 0.0537 ,"D"], -[ 76 , 115 ] => [ 7950.5687 , 0.0035 ,"D"], -[ 77 , 114 ] => [ 7948.1144 , 0.0069 ,"D"], -[ 78 , 113 ] => [ 7938.7279 , 0.0216 ,"D"], -[ 79 , 112 ] => [ 7924.6819 , 0.0258 ,"D"], -[ 80 , 111 ] => [ 7903.8002 , 0.1167 ,"D"], -[ 81 , 110 ] => [ 7877.1445 , 0.0385 ,"D"], -[ 82 , 109 ] => [ 7841.6782 , 0.0346 ,"D"], -[ 83 , 108 ] => [ 7800.6613 , 0.0392 ,"D"], -[ 84 , 107 ] => [ 7753.7871 , 0.0372 ,"D"], -[ 85 , 106 ] => [ 7702.9233 , 0.0843 ,"D"], -[ 73 , 119 ] => [ 7894 , 2 ,"E"], -[ 74 , 118 ] => [ 7924 , 1 ,"E"], -[ 75 , 117 ] => [ 7930.2389 , 0.3687 ,"D"], -[ 76 , 116 ] => [ 7948.5260 , 0.0121 ,"D"], -[ 77 , 115 ] => [ 7938.9999 , 0.0068 ,"D"], -[ 78 , 114 ] => [ 7942.4923 , 0.0134 ,"D"], -[ 79 , 113 ] => [ 7920.1033 , 0.0824 ,"D"], -[ 80 , 112 ] => [ 7912.0666 , 0.0809 ,"D"], -[ 81 , 111 ] => [ 7876.0167 , 0.1650 ,"D"], -[ 82 , 110 ] => [ 7854.6482 , 0.0298 ,"D"], -[ 83 , 109 ] => [ 7803.6084 , 0.1568 ,"D"], -[ 84 , 108 ] => [ 7771.0542 , 0.0554 ,"D"], -[ 85 , 107 ] => [ 7709.7283 , 0.1452 ,"D"], -[ 73 , 120 ] => [ 7883 , 2 ,"E"], -[ 74 , 119 ] => [ 7907 , 1 ,"E"], -[ 75 , 118 ] => [ 7923.9378 , 0.2027 ,"D"], -[ 76 , 117 ] => [ 7936.2716 , 0.0120 ,"D"], -[ 77 , 116 ] => [ 7938.1346 , 0.0069 ,"D"], -[ 78 , 115 ] => [ 7933.7875 , 0.0070 ,"D"], -[ 79 , 114 ] => [ 7924.1648 , 0.0449 ,"D"], -[ 80 , 113 ] => [ 7907.9730 , 0.0803 ,"D"], -[ 81 , 112 ] => [ 7885.3445 , 0.0348 ,"D"], -[ 82 , 111 ] => [ 7854.0994 , 0.0533 ,"D"], -[ 83 , 110 ] => [ 7817.1718 , 0.0393 ,"D"], -[ 84 , 109 ] => [ 7773.9510 , 0.0753 ,"D"], -[ 85 , 108 ] => [ 7727.1099 , 0.1121 ,"D"], -[ 86 , 107 ] => [ 7675.8530 , 0.1301 ,"D"], -[ 73 , 121 ] => [ 7865 , 3 ,"E"], -[ 74 , 120 ] => [ 7899 , 2 ,"E"], -[ 75 , 119 ] => [ 7909 , 1 ,"E"], -[ 76 , 118 ] => [ 7932.0232 , 0.0124 ,"D"], -[ 77 , 117 ] => [ 7928.4885 , 0.0069 ,"D"], -[ 78 , 116 ] => [ 7935.9420 , 0.0026 ,"D"], -[ 79 , 115 ] => [ 7918.7744 , 0.0109 ,"D"], -[ 80 , 114 ] => [ 7914.5974 , 0.0149 ,"D"], -[ 81 , 113 ] => [ 7883.5211 , 0.0720 ,"D"], -[ 82 , 112 ] => [ 7865.4181 , 0.0899 ,"D"], -[ 83 , 111 ] => [ 7819.1955 , 0.0271 ,"D"], -[ 84 , 110 ] => [ 7789.2947 , 0.0666 ,"D"], -[ 85 , 109 ] => [ 7732.2304 , 0.1211 ,"D"], -[ 86 , 108 ] => [ 7694.9961 , 0.0859 ,"D"], -[ 74 , 121 ] => [ 7881 , 2 ,"E"], -[ 75 , 120 ] => [ 7901 , 2 ,"E"], -[ 76 , 119 ] => [ 7917.7449 , 0.2866 ,"D"], -[ 77 , 118 ] => [ 7924.9160 , 0.0068 ,"D"], -[ 78 , 117 ] => [ 7926.5530 , 0.0026 ,"D"], -[ 79 , 116 ] => [ 7921.3778 , 0.0057 ,"D"], -[ 80 , 115 ] => [ 7909.3980 , 0.1187 ,"D"], -[ 81 , 114 ] => [ 7890.7293 , 0.0571 ,"D"], -[ 82 , 113 ] => [ 7864.0647 , 0.0261 ,"D"], -[ 83 , 112 ] => [ 7830.7579 , 0.0271 ,"D"], -[ 84 , 111 ] => [ 7791.3155 , 0.0310 ,"D"], -[ 85 , 110 ] => [ 7748.0914 , 0.0491 ,"D"], -[ 86 , 109 ] => [ 7700.3841 , 0.2651 ,"D"], -[ 74 , 122 ] => [ 7872 , 2 ,"E"], -[ 75 , 121 ] => [ 7886 , 2 ,"E"], -[ 76 , 120 ] => [ 7912.2301 , 0.2044 ,"D"], -[ 77 , 119 ] => [ 7914.1487 , 0.1960 ,"D"], -[ 78 , 118 ] => [ 7926.5297 , 0.0026 ,"D"], -[ 79 , 117 ] => [ 7914.8553 , 0.0151 ,"D"], -[ 80 , 116 ] => [ 7914.3700 , 0.0150 ,"D"], -[ 81 , 115 ] => [ 7888.2900 , 0.0618 ,"D"], -[ 82 , 114 ] => [ 7873.3374 , 0.0393 ,"D"], -[ 83 , 113 ] => [ 7831.9009 , 0.1246 ,"D"], -[ 84 , 112 ] => [ 7804.7445 , 0.0275 ,"D"], -[ 85 , 111 ] => [ 7752.0001 , 0.1543 ,"D"], -[ 86 , 110 ] => [ 7717.9660 , 0.0717 ,"D"], -[ 74 , 123 ] => [ 7853 , 2 ,"E"], -[ 75 , 122 ] => [ 7877 , 2 ,"E"], -[ 76 , 121 ] => [ 7897 , 1 ,"E"], -[ 77 , 120 ] => [ 7909.0003 , 0.1021 ,"D"], -[ 78 , 119 ] => [ 7915.9714 , 0.0027 ,"D"], -[ 79 , 118 ] => [ 7915.6548 , 0.0028 ,"D"], -[ 80 , 117 ] => [ 7908.6402 , 0.0163 ,"D"], -[ 81 , 116 ] => [ 7893.5725 , 0.0689 ,"D"], -[ 82 , 115 ] => [ 7871.2822 , 0.0244 ,"D"], -[ 83 , 114 ] => [ 7841.6348 , 0.0423 ,"D"], -[ 84 , 113 ] => [ 7805.7136 , 0.0501 ,"D"], -[ 85 , 112 ] => [ 7766.0174 , 0.0405 ,"D"], -[ 86 , 111 ] => [ 7722.1190 , 0.0822 ,"D"], -[ 87 , 110 ] => [ 7673.7640 , 0.2865 ,"D"], -[ 75 , 123 ] => [ 7861 , 2 ,"E"], -[ 76 , 122 ] => [ 7890 , 1 ,"E"], -[ 77 , 121 ] => [ 7897 , 1 ,"E"], -[ 78 , 120 ] => [ 7914.1512 , 0.0106 ,"D"], -[ 79 , 119 ] => [ 7908.5675 , 0.0027 ,"D"], -[ 80 , 118 ] => [ 7911.5532 , 0.0023 ,"D"], -[ 81 , 117 ] => [ 7890.3011 , 0.0381 ,"D"], -[ 82 , 116 ] => [ 7878.9695 , 0.0442 ,"D"], -[ 83 , 115 ] => [ 7841.2123 , 0.1392 ,"D"], -[ 84 , 114 ] => [ 7817.5611 , 0.0880 ,"D"], -[ 85 , 113 ] => [ 7769.3446 , 0.0248 ,"D"], -[ 86 , 112 ] => [ 7737.7245 , 0.0678 ,"D"], -[ 87 , 111 ] => [ 7679.1873 , 0.1572 ,"D"], -[ 75 , 124 ] => [ 7850 , 2 ,"E"], -[ 76 , 123 ] => [ 7874 , 1 ,"E"], -[ 77 , 122 ] => [ 7891.2066 , 0.2063 ,"D"], -[ 78 , 121 ] => [ 7902.3011 , 0.0109 ,"D"], -[ 79 , 120 ] => [ 7906.9379 , 0.0027 ,"D"], -[ 80 , 119 ] => [ 7905.2794 , 0.0027 ,"D"], -[ 81 , 118 ] => [ 7893.8773 , 0.1404 ,"D"], -[ 82 , 117 ] => [ 7875.7366 , 0.0343 ,"D"], -[ 83 , 116 ] => [ 7849.5232 , 0.0533 ,"D"], -[ 84 , 115 ] => [ 7817.6582 , 0.0273 ,"D"], -[ 85 , 114 ] => [ 7781.4883 , 0.0271 ,"D"], -[ 86 , 113 ] => [ 7741.0568 , 0.0367 ,"D"], -[ 87 , 112 ] => [ 7695.2599 , 0.0690 ,"D"], -[ 76 , 124 ] => [ 7867 , 1 ,"E"], -[ 77 , 123 ] => [ 7878 , 1 ,"E"], -[ 78 , 122 ] => [ 7899.1986 , 0.1006 ,"D"], -[ 79 , 121 ] => [ 7898.4915 , 0.1336 ,"D"], -[ 80 , 120 ] => [ 7905.8956 , 0.0027 ,"D"], -[ 81 , 119 ] => [ 7889.7037 , 0.0288 ,"D"], -[ 82 , 118 ] => [ 7881.8101 , 0.0500 ,"D"], -[ 83 , 117 ] => [ 7848.4969 , 0.1135 ,"D"], -[ 84 , 116 ] => [ 7827.4407 , 0.0379 ,"D"], -[ 85 , 115 ] => [ 7783.7601 , 0.1223 ,"D"], -[ 86 , 114 ] => [ 7754.9111 , 0.0290 ,"D"], -[ 87 , 113 ] => [ 7700.3292 , 0.1526 ,"D"], -[ 76 , 125 ] => [ 7849 , 1 ,"E"], -[ 77 , 124 ] => [ 7870 , 1 ,"E"], -[ 78 , 123 ] => [ 7885.8337 , 0.2493 ,"D"], -[ 79 , 122 ] => [ 7895.1752 , 0.0160 ,"D"], -[ 80 , 121 ] => [ 7897.5607 , 0.0036 ,"D"], -[ 81 , 120 ] => [ 7891.2717 , 0.0706 ,"D"], -[ 82 , 119 ] => [ 7877.8782 , 0.0684 ,"D"], -[ 83 , 118 ] => [ 7854.8713 , 0.0606 ,"D"], -[ 84 , 117 ] => [ 7826.5619 , 0.0246 ,"D"], -[ 85 , 116 ] => [ 7794.1536 , 0.0407 ,"D"], -[ 86 , 115 ] => [ 7757.0174 , 0.0504 ,"D"], -[ 87 , 114 ] => [ 7714.8367 , 0.0452 ,"D"], -[ 88 , 113 ] => [ 7669.4108 , 0.1010 ,"D"], -[ 76 , 126 ] => [ 7839 , 2 ,"E"], -[ 77 , 125 ] => [ 7855 , 1 ,"E"], -[ 78 , 124 ] => [ 7881.5609 , 0.1245 ,"D"], -[ 79 , 123 ] => [ 7885.9100 , 0.1153 ,"D"], -[ 80 , 122 ] => [ 7896.8505 , 0.0035 ,"D"], -[ 81 , 121 ] => [ 7886.2206 , 0.0091 ,"D"], -[ 82 , 120 ] => [ 7882.1505 , 0.0188 ,"D"], -[ 83 , 119 ] => [ 7852.5857 , 0.0693 ,"D"], -[ 84 , 118 ] => [ 7834.8053 , 0.0429 ,"D"], -[ 85 , 117 ] => [ 7794.5637 , 0.1366 ,"D"], -[ 86 , 116 ] => [ 7769.3018 , 0.0867 ,"D"], -[ 87 , 115 ] => [ 7719.0125 , 0.0299 ,"D"], -[ 88 , 114 ] => [ 7685.5684 , 0.0743 ,"D"], -[ 76 , 127 ] => [ 7814 , 2 ,"E"], -[ 77 , 126 ] => [ 7845 , 2 ,"E"], -[ 78 , 125 ] => [ 7867 , 1 ,"E"], -[ 79 , 124 ] => [ 7880.8650 , 0.0152 ,"D"], -[ 80 , 123 ] => [ 7887.4828 , 0.0080 ,"D"], -[ 81 , 122 ] => [ 7886.0530 , 0.0058 ,"D"], -[ 82 , 121 ] => [ 7877.3970 , 0.0323 ,"D"], -[ 83 , 120 ] => [ 7857.4762 , 0.0629 ,"D"], -[ 84 , 119 ] => [ 7832.8632 , 0.0229 ,"D"], -[ 85 , 118 ] => [ 7803.6487 , 0.0523 ,"D"], -[ 86 , 117 ] => [ 7770.3437 , 0.0286 ,"D"], -[ 87 , 116 ] => [ 7731.7092 , 0.0307 ,"D"], -[ 88 , 115 ] => [ 7689.8015 , 0.0477 ,"D"], -[ 77 , 127 ] => [ 7823 , 2 ,"E"], -[ 78 , 126 ] => [ 7859 , 1 ,"E"], -[ 79 , 125 ] => [ 7868 , 1 ,"E"], -[ 80 , 124 ] => [ 7885.5455 , 0.0025 ,"D"], -[ 81 , 123 ] => [ 7880.0238 , 0.0057 ,"D"], -[ 82 , 122 ] => [ 7879.9326 , 0.0056 ,"D"], -[ 83 , 121 ] => [ 7854.2157 , 0.0450 ,"D"], -[ 84 , 120 ] => [ 7839.0823 , 0.0494 ,"D"], -[ 85 , 119 ] => [ 7803.5522 , 0.1111 ,"D"], -[ 86 , 118 ] => [ 7780.5743 , 0.0365 ,"D"], -[ 87 , 117 ] => [ 7734.6931 , 0.1205 ,"D"], -[ 88 , 116 ] => [ 7704.1238 , 0.0437 ,"D"], -[ 77 , 128 ] => [ 7805 , 2 ,"E"], -[ 78 , 127 ] => [ 7836 , 1 ,"E"], -[ 79 , 126 ] => [ 7860 , 1 ,"E"], -[ 80 , 125 ] => [ 7874.7325 , 0.0178 ,"D"], -[ 81 , 124 ] => [ 7878.3946 , 0.0060 ,"D"], -[ 82 , 123 ] => [ 7874.3313 , 0.0056 ,"D"], -[ 83 , 122 ] => [ 7857.3218 , 0.0235 ,"D"], -[ 84 , 121 ] => [ 7836.2168 , 0.0491 ,"D"], -[ 85 , 120 ] => [ 7810.2694 , 0.0588 ,"D"], -[ 86 , 119 ] => [ 7780.7226 , 0.0248 ,"D"], -[ 87 , 118 ] => [ 7745.6870 , 0.0382 ,"D"], -[ 88 , 117 ] => [ 7707.1698 , 0.1111 ,"D"], -[ 89 , 116 ] => [ 7662.8519 , 0.2894 ,"D"], -[ 78 , 128 ] => [ 7820 , 1 ,"E"], -[ 79 , 127 ] => [ 7840 , 1 ,"E"], -[ 80 , 126 ] => [ 7869.1723 , 0.0992 ,"D"], -[ 81 , 125 ] => [ 7871.7219 , 0.0062 ,"D"], -[ 82 , 124 ] => [ 7875.3620 , 0.0056 ,"D"], -[ 83 , 123 ] => [ 7853.3249 , 0.0371 ,"D"], -[ 84 , 122 ] => [ 7840.5973 , 0.0195 ,"D"], -[ 85 , 121 ] => [ 7808.8904 , 0.0657 ,"D"], -[ 86 , 120 ] => [ 7789.0417 , 0.0417 ,"D"], -[ 87 , 119 ] => [ 7746.9621 , 0.1350 ,"D"], -[ 88 , 118 ] => [ 7719.8028 , 0.0874 ,"D"], -[ 89 , 117 ] => [ 7667.8538 , 0.3160 ,"D"], -[ 78 , 129 ] => [ 7797 , 2 ,"E"], -[ 79 , 128 ] => [ 7824 , 1 ,"E"], -[ 80 , 127 ] => [ 7848.6112 , 0.1440 ,"D"], -[ 81 , 126 ] => [ 7866.7979 , 0.0263 ,"D"], -[ 82 , 125 ] => [ 7869.8664 , 0.0055 ,"D"], -[ 83 , 124 ] => [ 7854.5053 , 0.0116 ,"D"], -[ 84 , 123 ] => [ 7836.6734 , 0.0322 ,"D"], -[ 85 , 122 ] => [ 7813.9653 , 0.0599 ,"D"], -[ 86 , 121 ] => [ 7787.9987 , 0.0229 ,"D"], -[ 87 , 120 ] => [ 7756.2689 , 0.0848 ,"D"], -[ 88 , 119 ] => [ 7721.7503 , 0.2816 ,"D"], -[ 89 , 118 ] => [ 7681.1001 , 0.2717 ,"D"], -[ 78 , 130 ] => [ 7780 , 2 ,"E"], -[ 79 , 129 ] => [ 7803 , 1 ,"E"], -[ 80 , 128 ] => [ 7834.1914 , 0.1478 ,"D"], -[ 81 , 127 ] => [ 7847.1835 , 0.0089 ,"D"], -[ 82 , 126 ] => [ 7867.4530 , 0.0055 ,"D"], -[ 83 , 125 ] => [ 7849.8534 , 0.0111 ,"D"], -[ 84 , 124 ] => [ 7839.3568 , 0.0080 ,"D"], -[ 85 , 123 ] => [ 7811.5604 , 0.0429 ,"D"], -[ 86 , 122 ] => [ 7794.2678 , 0.0489 ,"D"], -[ 87 , 121 ] => [ 7756.8985 , 0.0560 ,"D"], -[ 88 , 120 ] => [ 7732.0177 , 0.0434 ,"D"], -[ 89 , 119 ] => [ 7684.8289 , 0.3100 ,"D"], -[ 90 , 118 ] => [ 7652.5716 , 0.1532 ,"D"], -[ 79 , 130 ] => [ 7786 , 2 ,"E"], -[ 80 , 129 ] => [ 7813 , 1 ,"E"], -[ 81 , 128 ] => [ 7833.3979 , 0.0292 ,"D"], -[ 82 , 127 ] => [ 7848.6488 , 0.0084 ,"D"], -[ 83 , 126 ] => [ 7847.9869 , 0.0065 ,"D"], -[ 84 , 125 ] => [ 7835.1882 , 0.0085 ,"D"], -[ 85 , 124 ] => [ 7814.7835 , 0.0227 ,"D"], -[ 86 , 123 ] => [ 7792.1755 , 0.0477 ,"D"], -[ 87 , 122 ] => [ 7763.7485 , 0.0550 ,"D"], -[ 88 , 121 ] => [ 7733.0177 , 0.0275 ,"D"], -[ 89 , 120 ] => [ 7695.8455 , 0.2672 ,"D"], -[ 90 , 119 ] => [ 7656 , 0 ,"E"], -[ 79 , 131 ] => [ 7764 , 2 ,"E"], -[ 80 , 130 ] => [ 7799 , 1 ,"E"], -[ 81 , 129 ] => [ 7813.5890 , 0.0553 ,"D"], -[ 82 , 128 ] => [ 7835.9656 , 0.0069 ,"D"], -[ 83 , 127 ] => [ 7832.5424 , 0.0065 ,"D"], -[ 84 , 126 ] => [ 7834.3462 , 0.0055 ,"D"], -[ 85 , 125 ] => [ 7811.6638 , 0.0366 ,"D"], -[ 86 , 124 ] => [ 7796.6653 , 0.0217 ,"D"], -[ 87 , 123 ] => [ 7763.1243 , 0.0639 ,"D"], -[ 88 , 122 ] => [ 7741.3687 , 0.0438 ,"D"], -[ 89 , 121 ] => [ 7698.0182 , 0.2962 ,"D"], -[ 90 , 120 ] => [ 7669.0764 , 0.0900 ,"D"], -[ 80 , 131 ] => [ 7777 , 1 ,"E"], -[ 81 , 130 ] => [ 7799.7915 , 0.1987 ,"D"], -[ 82 , 129 ] => [ 7817.0079 , 0.0107 ,"D"], -[ 83 , 128 ] => [ 7819.7745 , 0.0258 ,"D"], -[ 84 , 127 ] => [ 7818.7842 , 0.0060 ,"D"], -[ 85 , 126 ] => [ 7811.3545 , 0.0129 ,"D"], -[ 86 , 125 ] => [ 7793.9412 , 0.0323 ,"D"], -[ 87 , 124 ] => [ 7768.3613 , 0.0568 ,"D"], -[ 88 , 123 ] => [ 7741.0887 , 0.0235 ,"D"], -[ 89 , 122 ] => [ 7707.4680 , 0.2548 ,"D"], -[ 90 , 121 ] => [ 7671.8506 , 0.4079 ,"D"], -[ 91 , 120 ] => [ 7629.3948 , 0.3293 ,"D"], -[ 80 , 132 ] => [ 7762 , 1 ,"E"], -[ 81 , 131 ] => [ 7780 , 1 ,"E"], -[ 82 , 130 ] => [ 7804.3203 , 0.0087 ,"D"], -[ 83 , 129 ] => [ 7803.3140 , 0.0087 ,"D"], -[ 84 , 128 ] => [ 7810.2438 , 0.0054 ,"D"], -[ 85 , 127 ] => [ 7798.3400 , 0.0113 ,"D"], -[ 86 , 126 ] => [ 7794.7963 , 0.0147 ,"D"], -[ 87 , 125 ] => [ 7766.8455 , 0.0414 ,"D"], -[ 88 , 124 ] => [ 7747.5078 , 0.0484 ,"D"], -[ 89 , 123 ] => [ 7708.4479 , 0.1032 ,"D"], -[ 90 , 122 ] => [ 7682.0628 , 0.0477 ,"D"], -[ 91 , 121 ] => [ 7633.6289 , 0.4132 ,"D"], -[ 80 , 133 ] => [ 7739 , 1 ,"E"], -[ 81 , 132 ] => [ 7765.4311 , 0.1268 ,"D"], -[ 82 , 131 ] => [ 7785.1732 , 0.0326 ,"D"], -[ 83 , 130 ] => [ 7791.0217 , 0.0239 ,"D"], -[ 84 , 129 ] => [ 7794.0240 , 0.0143 ,"D"], -[ 85 , 128 ] => [ 7790.0036 , 0.0230 ,"D"], -[ 86 , 127 ] => [ 7782.1824 , 0.0158 ,"D"], -[ 87 , 126 ] => [ 7768.4543 , 0.0221 ,"D"], -[ 88 , 125 ] => [ 7746.4726 , 0.0461 ,"D"], -[ 89 , 124 ] => [ 7715.5908 , 0.0548 ,"D"], -[ 90 , 123 ] => [ 7683.8470 , 0.0433 ,"D"], -[ 91 , 122 ] => [ 7644.8027 , 0.2684 ,"D"], -[ 80 , 134 ] => [ 7724 , 2 ,"E"], -[ 81 , 133 ] => [ 7745 , 1 ,"E"], -[ 82 , 132 ] => [ 7772.3955 , 0.0092 ,"D"], -[ 83 , 131 ] => [ 7773.4955 , 0.0524 ,"D"], -[ 84 , 130 ] => [ 7785.1163 , 0.0068 ,"D"], -[ 85 , 129 ] => [ 7776.3632 , 0.0186 ,"D"], -[ 86 , 128 ] => [ 7777.1023 , 0.0429 ,"D"], -[ 87 , 127 ] => [ 7757.7393 , 0.0398 ,"D"], -[ 88 , 126 ] => [ 7749.1719 , 0.0245 ,"D"], -[ 89 , 125 ] => [ 7715.8874 , 0.0633 ,"D"], -[ 90 , 124 ] => [ 7692.3173 , 0.0498 ,"D"], -[ 91 , 123 ] => [ 7647.7037 , 0.3795 ,"D"], -[ 80 , 135 ] => [ 7701 , 2 ,"E"], -[ 81 , 134 ] => [ 7730 , 1 ,"E"], -[ 82 , 133 ] => [ 7752.7381 , 0.2450 ,"D"], -[ 83 , 132 ] => [ 7761.7177 , 0.0262 ,"D"], -[ 84 , 131 ] => [ 7768.1768 , 0.0099 ,"D"], -[ 85 , 130 ] => [ 7767.8627 , 0.0308 ,"D"], -[ 86 , 129 ] => [ 7763.8164 , 0.0283 ,"D"], -[ 87 , 128 ] => [ 7753.2607 , 0.0329 ,"D"], -[ 88 , 127 ] => [ 7739.3249 , 0.0335 ,"D"], -[ 89 , 126 ] => [ 7719.4137 , 0.0577 ,"D"], -[ 90 , 125 ] => [ 7693.0266 , 0.0295 ,"D"], -[ 91 , 124 ] => [ 7657.3733 , 0.3835 ,"D"], -[ 92 , 123 ] => [ 7620.7821 , 0.4844 ,"D"], -[ 80 , 136 ] => [ 7685 , 2 ,"E"], -[ 81 , 135 ] => [ 7709 , 1 ,"E"], -[ 82 , 134 ] => [ 7740 , 1 ,"E"], -[ 83 , 133 ] => [ 7743.4996 , 0.0518 ,"D"], -[ 84 , 132 ] => [ 7758.8205 , 0.0084 ,"D"], -[ 85 , 131 ] => [ 7753.0024 , 0.0166 ,"D"], -[ 86 , 130 ] => [ 7758.6553 , 0.0267 ,"D"], -[ 87 , 129 ] => [ 7742.4513 , 0.0193 ,"D"], -[ 88 , 128 ] => [ 7737.3458 , 0.0371 ,"D"], -[ 89 , 127 ] => [ 7711.2319 , 0.0427 ,"D"], -[ 90 , 126 ] => [ 7697.6617 , 0.0514 ,"D"], -[ 91 , 125 ] => [ 7659.2006 , 0.1141 ,"D"], -[ 92 , 124 ] => [ 7631.3072 , 0.1301 ,"D"], -[ 81 , 136 ] => [ 7693 , 2 ,"E"], -[ 82 , 135 ] => [ 7719 , 1 ,"E"], -[ 83 , 134 ] => [ 7731.8491 , 0.0816 ,"D"], -[ 84 , 133 ] => [ 7741.3614 , 0.0302 ,"D"], -[ 85 , 132 ] => [ 7744.6172 , 0.0230 ,"D"], -[ 86 , 131 ] => [ 7744.4037 , 0.0193 ,"D"], -[ 87 , 130 ] => [ 7737.7750 , 0.0301 ,"D"], -[ 88 , 129 ] => [ 7726.9122 , 0.0325 ,"D"], -[ 89 , 128 ] => [ 7710.3448 , 0.0517 ,"D"], -[ 90 , 127 ] => [ 7690.5945 , 0.0489 ,"D"], -[ 91 , 126 ] => [ 7664.6438 , 0.0576 ,"D"], -[ 92 , 125 ] => [ 7634 , 0 ,"E"], -[ 81 , 137 ] => [ 7672 , 2 ,"E"], -[ 82 , 136 ] => [ 7705 , 1 ,"E"], -[ 83 , 135 ] => [ 7712.8280 , 0.1239 ,"D"], -[ 84 , 134 ] => [ 7731.5300 , 0.0090 ,"D"], -[ 85 , 133 ] => [ 7729.1175 , 0.0528 ,"D"], -[ 86 , 132 ] => [ 7738.7527 , 0.0106 ,"D"], -[ 87 , 131 ] => [ 7726.7143 , 0.0194 ,"D"], -[ 88 , 130 ] => [ 7725.0241 , 0.0450 ,"D"], -[ 89 , 129 ] => [ 7702.1450 , 0.2643 ,"D"], -[ 90 , 128 ] => [ 7691.6026 , 0.0482 ,"D"], -[ 91 , 127 ] => [ 7659.1935 , 0.0819 ,"D"], -[ 92 , 126 ] => [ 7640.7191 , 0.0629 ,"D"], -[ 82 , 137 ] => [ 7684 , 2 ,"E"], -[ 83 , 136 ] => [ 7700 , 1 ,"E"], -[ 84 , 135 ] => [ 7713.3340 , 0.0723 ,"D"], -[ 85 , 134 ] => [ 7720.1970 , 0.0148 ,"D"], -[ 86 , 133 ] => [ 7723.7784 , 0.0096 ,"D"], -[ 87 , 132 ] => [ 7721.1759 , 0.0314 ,"D"], -[ 88 , 131 ] => [ 7714.0560 , 0.0311 ,"D"], -[ 89 , 130 ] => [ 7700.5489 , 0.2351 ,"D"], -[ 90 , 129 ] => [ 7683.7655 , 0.2578 ,"D"], -[ 91 , 128 ] => [ 7661.3783 , 0.3183 ,"D"], -[ 92 , 127 ] => [ 7636.2867 , 0.0609 ,"D"], -[ 93 , 126 ] => [ 7604.6732 , 0.4199 ,"D"], -[ 82 , 138 ] => [ 7670 , 2 ,"E"], -[ 83 , 137 ] => [ 7681 , 1 ,"E"], -[ 84 , 136 ] => [ 7703.2244 , 0.0804 ,"D"], -[ 85 , 135 ] => [ 7703.7033 , 0.0635 ,"D"], -[ 86 , 134 ] => [ 7717.2552 , 0.0082 ,"D"], -[ 87 , 133 ] => [ 7709.7430 , 0.0183 ,"D"], -[ 88 , 132 ] => [ 7711.6879 , 0.0345 ,"D"], -[ 89 , 131 ] => [ 7692.3515 , 0.0279 ,"D"], -[ 90 , 130 ] => [ 7684.4964 , 0.0622 ,"D"], -[ 91 , 129 ] => [ 7655.5364 , 0.0666 ,"D"], -[ 92 , 128 ] => [ 7640 , 0 ,"E"], -[ 93 , 127 ] => [ 7602.0758 , 0.1396 ,"D"], -[ 83 , 138 ] => [ 7668 , 1 ,"E"], -[ 84 , 137 ] => [ 7684.4814 , 0.0885 ,"D"], -[ 85 , 136 ] => [ 7694.4754 , 0.0632 ,"D"], -[ 86 , 135 ] => [ 7701.3941 , 0.0259 ,"D"], -[ 87 , 134 ] => [ 7703.2572 , 0.0221 ,"D"], -[ 88 , 133 ] => [ 7701.1352 , 0.0210 ,"D"], -[ 89 , 132 ] => [ 7690.5039 , 0.2575 ,"D"], -[ 90 , 131 ] => [ 7676.0640 , 0.0362 ,"D"], -[ 91 , 130 ] => [ 7656.9809 , 0.2687 ,"D"], -[ 92 , 129 ] => [ 7634.6849 , 0.3264 ,"D"], -[ 93 , 128 ] => [ 7607 , 1 ,"E"], -[ 94 , 127 ] => [ 7576 , 1 ,"E"], -[ 83 , 139 ] => [ 7648 , 1 ,"E"], -[ 84 , 138 ] => [ 7674.0054 , 0.1804 ,"D"], -[ 85 , 137 ] => [ 7677.3878 , 0.0713 ,"D"], -[ 86 , 136 ] => [ 7694.4991 , 0.0088 ,"D"], -[ 87 , 135 ] => [ 7690.9474 , 0.0336 ,"D"], -[ 88 , 134 ] => [ 7696.6931 , 0.0201 ,"D"], -[ 89 , 133 ] => [ 7682.8015 , 0.0212 ,"D"], -[ 90 , 132 ] => [ 7676.6592 , 0.0460 ,"D"], -[ 91 , 131 ] => [ 7651.2373 , 0.3901 ,"D"], -[ 92 , 130 ] => [ 7637.7651 , 0.2342 ,"D"], -[ 93 , 129 ] => [ 7602.7013 , 0.1714 ,"D"], -[ 94 , 128 ] => [ 7582 , 1 ,"E"], -[ 83 , 140 ] => [ 7636 , 2 ,"E"], -[ 84 , 139 ] => [ 7655 , 1 ,"E"], -[ 85 , 138 ] => [ 7668.0557 , 0.0627 ,"D"], -[ 86 , 137 ] => [ 7678.1720 , 0.0351 ,"D"], -[ 87 , 136 ] => [ 7683.6655 , 0.0087 ,"D"], -[ 88 , 135 ] => [ 7685.3101 , 0.0094 ,"D"], -[ 89 , 134 ] => [ 7679.1479 , 0.0312 ,"D"], -[ 90 , 133 ] => [ 7668.6426 , 0.0356 ,"D"], -[ 91 , 132 ] => [ 7651.8957 , 0.3392 ,"D"], -[ 92 , 131 ] => [ 7631.7611 , 0.2648 ,"D"], -[ 93 , 130 ] => [ 7607.5654 , 0.3716 ,"D"], -[ 94 , 129 ] => [ 7580 , 1 ,"E"], -[ 95 , 128 ] => [ 7547 , 1 ,"E"], -[ 83 , 141 ] => [ 7616 , 2 ,"E"], -[ 84 , 140 ] => [ 7644 , 1 ,"E"], -[ 85 , 139 ] => [ 7650.7354 , 0.0998 ,"D"], -[ 86 , 138 ] => [ 7670.7514 , 0.0438 ,"D"], -[ 87 , 137 ] => [ 7670.3680 , 0.0499 ,"D"], -[ 88 , 136 ] => [ 7679.9236 , 0.0081 ,"D"], -[ 89 , 135 ] => [ 7670.1438 , 0.0183 ,"D"], -[ 90 , 134 ] => [ 7667.7162 , 0.0429 ,"D"], -[ 91 , 133 ] => [ 7646.9612 , 0.0339 ,"D"], -[ 92 , 132 ] => [ 7635.0742 , 0.0681 ,"D"], -[ 93 , 131 ] => [ 7603.5032 , 0.1291 ,"D"], -[ 94 , 130 ] => [ 7586 , 1 ,"E"], -[ 95 , 129 ] => [ 7546 , 2 ,"E"], -[ 84 , 141 ] => [ 7626 , 1 ,"E"], -[ 85 , 140 ] => [ 7641 , 1 ,"E"], -[ 86 , 139 ] => [ 7654.3581 , 0.0495 ,"D"], -[ 87 , 138 ] => [ 7662.9412 , 0.0532 ,"D"], -[ 88 , 137 ] => [ 7667.5866 , 0.0115 ,"D"], -[ 89 , 136 ] => [ 7665.6906 , 0.0211 ,"D"], -[ 90 , 135 ] => [ 7659.2229 , 0.0226 ,"D"], -[ 91 , 134 ] => [ 7646.6504 , 0.3639 ,"D"], -[ 92 , 133 ] => [ 7629.7717 , 0.0442 ,"D"], -[ 93 , 132 ] => [ 7607.4231 , 0.4072 ,"D"], -[ 94 , 131 ] => [ 7583 , 1 ,"E"], -[ 95 , 130 ] => [ 7553 , 2 ,"E"], -[ 84 , 142 ] => [ 7614 , 2 ,"E"], -[ 85 , 141 ] => [ 7624 , 1 ,"E"], -[ 86 , 140 ] => [ 7646.4108 , 0.0464 ,"D"], -[ 87 , 139 ] => [ 7648.3768 , 0.0276 ,"D"], -[ 88 , 138 ] => [ 7661.9636 , 0.0085 ,"D"], -[ 89 , 137 ] => [ 7655.6628 , 0.0137 ,"D"], -[ 90 , 136 ] => [ 7657.1195 , 0.0198 ,"D"], -[ 91 , 135 ] => [ 7641.1093 , 0.0496 ,"D"], -[ 92 , 134 ] => [ 7631.9166 , 0.0490 ,"D"], -[ 93 , 133 ] => [ 7604.1714 , 0.4516 ,"D"], -[ 94 , 132 ] => [ 7588 , 1 ,"E"], -[ 95 , 131 ] => [ 7552 , 1 ,"E"], -[ 84 , 143 ] => [ 7596 , 2 ,"E"], -[ 85 , 142 ] => [ 7613 , 1 ,"E"], -[ 86 , 141 ] => [ 7630.0508 , 0.0621 ,"D"], -[ 87 , 140 ] => [ 7640.7162 , 0.0260 ,"D"], -[ 88 , 139 ] => [ 7648.3048 , 0.0086 ,"D"], -[ 89 , 138 ] => [ 7650.7084 , 0.0085 ,"D"], -[ 90 , 137 ] => [ 7647.4591 , 0.0092 ,"D"], -[ 91 , 136 ] => [ 7639.4945 , 0.0320 ,"D"], -[ 92 , 135 ] => [ 7626.2918 , 0.0375 ,"D"], -[ 93 , 134 ] => [ 7607.2771 , 0.3392 ,"D"], -[ 94 , 133 ] => [ 7585 , 0 ,"E"], -[ 95 , 132 ] => [ 7558 , 1 ,"E"], -[ 85 , 143 ] => [ 7596 , 2 ,"E"], -[ 86 , 142 ] => [ 7621.6457 , 0.0775 ,"D"], -[ 87 , 141 ] => [ 7626.3689 , 0.0295 ,"D"], -[ 88 , 140 ] => [ 7642.4289 , 0.0088 ,"D"], -[ 89 , 139 ] => [ 7639.1973 , 0.0092 ,"D"], -[ 90 , 138 ] => [ 7645.0807 , 0.0079 ,"D"], -[ 91 , 137 ] => [ 7632.2076 , 0.0190 ,"D"], -[ 92 , 136 ] => [ 7627.4763 , 0.0591 ,"D"], -[ 93 , 135 ] => [ 7604 , 0 ,"E"], -[ 94 , 134 ] => [ 7590.4039 , 0.1024 ,"D"], -[ 95 , 133 ] => [ 7557 , 1 ,"E"], -[ 85 , 144 ] => [ 7585 , 2 ,"E"], -[ 86 , 143 ] => [ 7605.6227 , 0.0569 ,"D"], -[ 87 , 142 ] => [ 7618.3380 , 0.0218 ,"D"], -[ 88 , 141 ] => [ 7628.4862 , 0.0674 ,"D"], -[ 89 , 140 ] => [ 7633.2446 , 0.0529 ,"D"], -[ 90 , 139 ] => [ 7634.6510 , 0.0105 ,"D"], -[ 91 , 138 ] => [ 7629.8752 , 0.0143 ,"D"], -[ 92 , 137 ] => [ 7620.7218 , 0.0259 ,"D"], -[ 93 , 136 ] => [ 7605.9921 , 0.4418 ,"D"], -[ 94 , 135 ] => [ 7586.8834 , 0.2648 ,"D"], -[ 95 , 134 ] => [ 7562.5697 , 0.4644 ,"D"], -[ 86 , 144 ] => [ 7595 , 1 ,"E"], -[ 87 , 143 ] => [ 7603.7052 , 0.0284 ,"D"], -[ 88 , 142 ] => [ 7621.9144 , 0.0448 ,"D"], -[ 89 , 141 ] => [ 7621.4604 , 0.0689 ,"D"], -[ 90 , 140 ] => [ 7630.9974 , 0.0053 ,"D"], -[ 91 , 139 ] => [ 7621.8958 , 0.0132 ,"D"], -[ 92 , 138 ] => [ 7620.9227 , 0.0196 ,"D"], -[ 93 , 137 ] => [ 7601.7751 , 0.2392 ,"D"], -[ 94 , 136 ] => [ 7591.0016 , 0.0628 ,"D"], -[ 95 , 135 ] => [ 7562 , 1 ,"E"], -[ 86 , 145 ] => [ 7579 , 1 ,"E"], -[ 87 , 144 ] => [ 7594.5009 , 0.0335 ,"D"], -[ 88 , 143 ] => [ 7607.8418 , 0.0492 ,"D"], -[ 89 , 142 ] => [ 7615.0768 , 0.0565 ,"D"], -[ 90 , 141 ] => [ 7620.1188 , 0.0053 ,"D"], -[ 91 , 140 ] => [ 7618.4267 , 0.0077 ,"D"], -[ 92 , 139 ] => [ 7613.3879 , 0.0116 ,"D"], -[ 93 , 138 ] => [ 7602.1321 , 0.2214 ,"D"], -[ 94 , 137 ] => [ 7587.1224 , 0.0955 ,"D"], -[ 95 , 136 ] => [ 7566 , 1 ,"E"], -[ 96 , 135 ] => [ 7542 , 1 ,"E"], -[ 87 , 145 ] => [ 7579.3481 , 0.0602 ,"D"], -[ 88 , 144 ] => [ 7600.0099 , 0.0394 ,"D"], -[ 89 , 143 ] => [ 7602.4245 , 0.0562 ,"D"], -[ 90 , 142 ] => [ 7615.0338 , 0.0061 ,"D"], -[ 91 , 141 ] => [ 7609.5072 , 0.0330 ,"D"], -[ 92 , 140 ] => [ 7611.8984 , 0.0078 ,"D"], -[ 93 , 139 ] => [ 7597 , 0 ,"E"], -[ 94 , 138 ] => [ 7588.9839 , 0.0728 ,"D"], -[ 95 , 137 ] => [ 7564 , 1 ,"E"], -[ 96 , 136 ] => [ 7548 , 1 ,"E"], -[ 87 , 146 ] => [ 7569.2398 , 0.0840 ,"D"], -[ 88 , 145 ] => [ 7585.5644 , 0.0369 ,"D"], -[ 89 , 144 ] => [ 7595.1939 , 0.0560 ,"D"], -[ 90 , 143 ] => [ 7602.8937 , 0.0061 ,"D"], -[ 91 , 142 ] => [ 7604.8675 , 0.0057 ,"D"], -[ 92 , 141 ] => [ 7603.9574 , 0.0097 ,"D"], -[ 93 , 140 ] => [ 7596.1816 , 0.2188 ,"D"], -[ 94 , 139 ] => [ 7583.7968 , 0.2325 ,"D"], -[ 95 , 138 ] => [ 7567 , 0 ,"E"], -[ 96 , 137 ] => [ 7546.0020 , 0.3480 ,"D"], -[ 97 , 136 ] => [ 7519 , 1 ,"E"], -[ 88 , 146 ] => [ 7576.5439 , 0.0358 ,"D"], -[ 89 , 145 ] => [ 7582.1297 , 0.0597 ,"D"], -[ 90 , 144 ] => [ 7596.8557 , 0.0111 ,"D"], -[ 91 , 143 ] => [ 7594.6837 , 0.0175 ,"D"], -[ 92 , 142 ] => [ 7600.7160 , 0.0048 ,"D"], -[ 93 , 141 ] => [ 7589.6382 , 0.0359 ,"D"], -[ 94 , 140 ] => [ 7584.6061 , 0.0291 ,"D"], -[ 95 , 139 ] => [ 7564 , 1 ,"E"], -[ 96 , 138 ] => [ 7550.6868 , 0.0730 ,"D"], -[ 97 , 137 ] => [ 7519 , 1 ,"E"], -[ 88 , 147 ] => [ 7561 , 1 ,"E"], -[ 89 , 146 ] => [ 7573.5051 , 0.0595 ,"D"], -[ 90 , 145 ] => [ 7584.3862 , 0.0555 ,"D"], -[ 91 , 144 ] => [ 7588.4139 , 0.0595 ,"D"], -[ 92 , 143 ] => [ 7590.9151 , 0.0048 ,"D"], -[ 93 , 142 ] => [ 7587.0571 , 0.0059 ,"D"], -[ 94 , 141 ] => [ 7578.8799 , 0.0873 ,"D"], -[ 95 , 140 ] => [ 7565.1582 , 0.2246 ,"D"], -[ 96 , 139 ] => [ 7547 , 0 ,"E"], -[ 97 , 138 ] => [ 7524 , 2 ,"E"], -[ 89 , 147 ] => [ 7559.2423 , 0.1618 ,"D"], -[ 90 , 146 ] => [ 7576.9688 , 0.0592 ,"D"], -[ 91 , 145 ] => [ 7577.5573 , 0.0592 ,"D"], -[ 92 , 144 ] => [ 7586.4854 , 0.0047 ,"D"], -[ 93 , 143 ] => [ 7579.2148 , 0.2136 ,"D"], -[ 94 , 142 ] => [ 7577.9192 , 0.0077 ,"D"], -[ 95 , 141 ] => [ 7561 , 1 ,"E"], -[ 96 , 140 ] => [ 7550.3090 , 0.0747 ,"D"], -[ 97 , 139 ] => [ 7523 , 2 ,"E"], -[ 89 , 148 ] => [ 7550 , 2 ,"E"], -[ 90 , 147 ] => [ 7563.4433 , 0.0668 ,"D"], -[ 91 , 146 ] => [ 7570.3847 , 0.0550 ,"D"], -[ 92 , 145 ] => [ 7576.1026 , 0.0051 ,"D"], -[ 93 , 144 ] => [ 7574.9895 , 0.0047 ,"D"], -[ 94 , 143 ] => [ 7570.7599 , 0.0072 ,"D"], -[ 95 , 142 ] => [ 7561 , 0 ,"E"], -[ 96 , 141 ] => [ 7546.6241 , 0.3139 ,"D"], -[ 97 , 140 ] => [ 7527 , 1 ,"E"], -[ 98 , 139 ] => [ 7503.3507 , 0.4107 ,"D"], -[ 90 , 148 ] => [ 7555 , 1 ,"E"], -[ 91 , 147 ] => [ 7558.3449 , 0.0665 ,"D"], -[ 92 , 146 ] => [ 7570.1262 , 0.0063 ,"D"], -[ 93 , 145 ] => [ 7566.2220 , 0.0048 ,"D"], -[ 94 , 144 ] => [ 7568.3611 , 0.0048 ,"D"], -[ 95 , 143 ] => [ 7555.5853 , 0.2475 ,"D"], -[ 96 , 142 ] => [ 7547.9966 , 0.0514 ,"D"], -[ 97 , 141 ] => [ 7525 , 1 ,"E"], -[ 98 , 140 ] => [ 7509 , 1 ,"E"], -[ 90 , 149 ] => [ 7540 , 2 ,"E"], -[ 91 , 148 ] => [ 7550 , 1 ,"E"], -[ 92 , 147 ] => [ 7558.5624 , 0.0063 ,"D"], -[ 93 , 146 ] => [ 7560.5680 , 0.0055 ,"D"], -[ 94 , 145 ] => [ 7560.3187 , 0.0047 ,"D"], -[ 95 , 144 ] => [ 7553.6891 , 0.0083 ,"D"], -[ 96 , 143 ] => [ 7543.0659 , 0.6279 ,"D"], -[ 97 , 142 ] => [ 7527 , 1 ,"E"], -[ 98 , 141 ] => [ 7507 , 1 ,"E"], -[ 99 , 140 ] => [ 7481 , 1 ,"E"], -[ 91 , 149 ] => [ 7537 , 1 ,"E"], -[ 92 , 148 ] => [ 7551.7705 , 0.0106 ,"D"], -[ 93 , 147 ] => [ 7550.1743 , 0.0710 ,"D"], -[ 94 , 146 ] => [ 7556.0433 , 0.0046 ,"D"], -[ 95 , 145 ] => [ 7547.0136 , 0.0576 ,"D"], -[ 96 , 144 ] => [ 7542.8617 , 0.0079 ,"D"], -[ 97 , 143 ] => [ 7523 , 1 ,"E"], -[ 98 , 142 ] => [ 7510.2400 , 0.0751 ,"D"], -[ 99 , 141 ] => [ 7481 , 2 ,"E"], -[ 91 , 150 ] => [ 7528 , 1 ,"E"], -[ 92 , 149 ] => [ 7539 , 1 ,"E"], -[ 93 , 148 ] => [ 7544.0426 , 0.4150 ,"D"], -[ 94 , 147 ] => [ 7546.4395 , 0.0046 ,"D"], -[ 95 , 146 ] => [ 7543.2795 , 0.0046 ,"D"], -[ 96 , 145 ] => [ 7536.8488 , 0.0067 ,"D"], -[ 97 , 144 ] => [ 7524 , 1 ,"E"], -[ 98 , 143 ] => [ 7507 , 1 ,"E"], -[ 99 , 142 ] => [ 7485 , 1 ,"E"], -[ 100 , 141 ] => [ 7459 , 1 ,"E"], -[ 92 , 150 ] => [ 7532 , 1 ,"E"], -[ 93 , 149 ] => [ 7533.4042 , 0.8265 ,"D"], -[ 94 , 148 ] => [ 7541.3284 , 0.0052 ,"D"], -[ 95 , 147 ] => [ 7534.9917 , 0.0046 ,"D"], -[ 96 , 146 ] => [ 7534.5040 , 0.0047 ,"D"], -[ 97 , 145 ] => [ 7519 , 1 ,"E"], -[ 98 , 144 ] => [ 7509.0991 , 0.0533 ,"D"], -[ 99 , 143 ] => [ 7483 , 1 ,"E"], -[ 100 , 142 ] => [ 7465 , 2 ,"E"], -[ 92 , 151 ] => [ 7518 , 1 ,"E"], -[ 93 , 150 ] => [ 7526 , 0 ,"E"], -[ 94 , 149 ] => [ 7531.0087 , 0.0105 ,"D"], -[ 95 , 148 ] => [ 7530.1742 , 0.0057 ,"D"], -[ 96 , 147 ] => [ 7526.9261 , 0.0062 ,"D"], -[ 97 , 146 ] => [ 7517.5021 , 0.0186 ,"D"], -[ 98 , 145 ] => [ 7505 , 1 ,"E"], -[ 99 , 144 ] => [ 7486 , 1 ,"E"], -[ 100 , 143 ] => [ 7464 , 1 ,"E"], -[ 93 , 151 ] => [ 7514 , 0 ,"E"], -[ 94 , 150 ] => [ 7524.8154 , 0.0096 ,"D"], -[ 95 , 149 ] => [ 7521.3095 , 0.0061 ,"D"], -[ 96 , 148 ] => [ 7523.9527 , 0.0045 ,"D"], -[ 97 , 147 ] => [ 7511.4759 , 0.0590 ,"D"], -[ 98 , 146 ] => [ 7505.1373 , 0.0107 ,"D"], -[ 99 , 145 ] => [ 7483 , 1 ,"E"], -[ 100 , 144 ] => [ 7468 , 1 ,"E"], -[ 101 , 143 ] => [ 7438 , 2 ,"E"], -[ 93 , 152 ] => [ 7506 , 1 ,"E"], -[ 94 , 151 ] => [ 7513.2822 , 0.0556 ,"D"], -[ 95 , 150 ] => [ 7515.3043 , 0.0077 ,"D"], -[ 96 , 149 ] => [ 7515.7677 , 0.0047 ,"D"], -[ 97 , 148 ] => [ 7509.2714 , 0.0073 ,"D"], -[ 98 , 147 ] => [ 7499.6644 , 0.0099 ,"D"], -[ 99 , 146 ] => [ 7485 , 1 ,"E"], -[ 100 , 145 ] => [ 7465 , 1 ,"E"], -[ 101 , 144 ] => [ 7441 , 1 ,"E"], -[ 94 , 152 ] => [ 7506.5401 , 0.0609 ,"D"], -[ 95 , 151 ] => [ 7505 , 0 ,"E"], -[ 96 , 150 ] => [ 7511.4716 , 0.0062 ,"D"], -[ 97 , 149 ] => [ 7502.8035 , 0.2440 ,"D"], -[ 98 , 148 ] => [ 7499.1220 , 0.0062 ,"D"], -[ 99 , 147 ] => [ 7480.7849 , 0.3655 ,"D"], -[ 100 , 146 ] => [ 7467.9608 , 0.0556 ,"D"], -[ 101 , 145 ] => [ 7441 , 1 ,"E"], -[ 94 , 153 ] => [ 7493 , 1 ,"E"], -[ 95 , 152 ] => [ 7499 , 0 ,"E"], -[ 96 , 151 ] => [ 7501.9318 , 0.0154 ,"D"], -[ 97 , 150 ] => [ 7498.9408 , 0.0210 ,"D"], -[ 98 , 149 ] => [ 7493.2638 , 0.0580 ,"D"], -[ 99 , 148 ] => [ 7480.1005 , 0.0787 ,"D"], -[ 100 , 147 ] => [ 7464 , 1 ,"E"], -[ 101 , 146 ] => [ 7444 , 1 ,"E"], -[ 95 , 153 ] => [ 7487 , 1 ,"E"], -[ 96 , 152 ] => [ 7496.7291 , 0.0095 ,"D"], -[ 97 , 151 ] => [ 7490.5975 , 0.2018 ,"D"], -[ 98 , 150 ] => [ 7491.0440 , 0.0207 ,"D"], -[ 99 , 149 ] => [ 7476 , 0 ,"E"], -[ 100 , 148 ] => [ 7465.9451 , 0.0343 ,"D"], -[ 101 , 147 ] => [ 7442 , 1 ,"E"], -[ 102 , 146 ] => [ 7424 , 1 ,"E"], -[ 95 , 154 ] => [ 7479 , 1 ,"E"], -[ 96 , 153 ] => [ 7485.5510 , 0.0095 ,"D"], -[ 97 , 152 ] => [ 7486.0410 , 0.0050 ,"D"], -[ 98 , 151 ] => [ 7483.3954 , 0.0048 ,"D"], -[ 99 , 150 ] => [ 7474 , 0 ,"E"], -[ 100 , 149 ] => [ 7461.8649 , 0.0249 ,"D"], -[ 101 , 148 ] => [ 7444.0169 , 0.6603 ,"D"], -[ 102 , 147 ] => [ 7422 , 1 ,"E"], -[ 96 , 154 ] => [ 7478.9385 , 0.0411 ,"D"], -[ 97 , 153 ] => [ 7475.9594 , 0.0116 ,"D"], -[ 98 , 152 ] => [ 7479.9567 , 0.0062 ,"D"], -[ 99 , 151 ] => [ 7469 , 0 ,"E"], -[ 100 , 150 ] => [ 7462.0905 , 0.0316 ,"D"], -[ 101 , 149 ] => [ 7441.6533 , 0.3637 ,"D"], -[ 102 , 148 ] => [ 7426 , 1 ,"E"], -[ 96 , 155 ] => [ 7466.7233 , 0.0904 ,"D"], -[ 97 , 154 ] => [ 7469.2637 , 0.0428 ,"D"], -[ 98 , 153 ] => [ 7470.5014 , 0.0155 ,"D"], -[ 99 , 152 ] => [ 7465.8842 , 0.0211 ,"D"], -[ 100 , 151 ] => [ 7457.0013 , 0.0569 ,"D"], -[ 101 , 150 ] => [ 7441.9005 , 0.0754 ,"D"], -[ 102 , 149 ] => [ 7423 , 1 ,"E"], -[ 103 , 148 ] => [ 7400 , 1 ,"E"], -[ 96 , 156 ] => [ 7460 , 1 ,"E"], -[ 97 , 155 ] => [ 7459 , 1 ,"E"], -[ 98 , 154 ] => [ 7465.3474 , 0.0094 ,"D"], -[ 99 , 153 ] => [ 7457.2428 , 0.1986 ,"D"], -[ 100 , 152 ] => [ 7456.0351 , 0.0207 ,"D"], -[ 101 , 151 ] => [ 7438.4444 , 0.3622 ,"D"], -[ 102 , 150 ] => [ 7425.7992 , 0.0369 ,"D"], -[ 103 , 149 ] => [ 7400 , 1 ,"E"], -[ 97 , 156 ] => [ 7451 , 1 ,"E"], -[ 98 , 155 ] => [ 7454.8297 , 0.0168 ,"D"], -[ 99 , 154 ] => [ 7452.8879 , 0.0049 ,"D"], -[ 100 , 153 ] => [ 7448.4712 , 0.0061 ,"D"], -[ 101 , 152 ] => [ 7438 , 0 ,"E"], -[ 102 , 151 ] => [ 7422.4719 , 0.0273 ,"D"], -[ 103 , 150 ] => [ 7402.9180 , 0.6503 ,"D"], -[ 104 , 149 ] => [ 7380 , 2 ,"E"], -[ 97 , 157 ] => [ 7440 , 1 ,"E"], -[ 98 , 156 ] => [ 7449.2259 , 0.0451 ,"D"], -[ 99 , 155 ] => [ 7443.5759 , 0.0116 ,"D"], -[ 100 , 154 ] => [ 7444.7936 , 0.0073 ,"D"], -[ 101 , 153 ] => [ 7432 , 0 ,"E"], -[ 102 , 152 ] => [ 7423.5909 , 0.0380 ,"D"], -[ 103 , 151 ] => [ 7401.1306 , 0.3595 ,"D"], -[ 104 , 150 ] => [ 7384 , 1 ,"E"], -[ 98 , 157 ] => [ 7438 , 1 ,"E"], -[ 99 , 156 ] => [ 7437.8216 , 0.0424 ,"D"], -[ 100 , 155 ] => [ 7435.8860 , 0.0154 ,"D"], -[ 101 , 154 ] => [ 7428.7333 , 0.0218 ,"D"], -[ 102 , 153 ] => [ 7417.9403 , 0.0551 ,"D"], -[ 103 , 152 ] => [ 7402.5767 , 0.0694 ,"D"], -[ 104 , 151 ] => [ 7382 , 1 ,"E"], -[ 105 , 150 ] => [ 7359 , 1 ,"E"], -[ 98 , 158 ] => [ 7432 , 1 ,"E"], -[ 99 , 157 ] => [ 7428 , 0 ,"E"], -[ 100 , 156 ] => [ 7431.7888 , 0.0118 ,"D"], -[ 101 , 155 ] => [ 7421 , 0 ,"E"], -[ 102 , 154 ] => [ 7416.5429 , 0.0295 ,"D"], -[ 103 , 153 ] => [ 7398.1605 , 0.3238 ,"D"], -[ 104 , 152 ] => [ 7385.4349 , 0.0697 ,"D"], -[ 105 , 151 ] => [ 7359 , 1 ,"E"], -[ 99 , 158 ] => [ 7422 , 2 ,"E"], -[ 100 , 157 ] => [ 7422.1942 , 0.0169 ,"D"], -[ 101 , 156 ] => [ 7417.5845 , 0.0061 ,"D"], -[ 102 , 155 ] => [ 7409.6587 , 0.0241 ,"D"], -[ 103 , 154 ] => [ 7397 , 0 ,"E"], -[ 104 , 153 ] => [ 7381.7053 , 0.0421 ,"D"], -[ 105 , 152 ] => [ 7361.9767 , 0.6406 ,"D"], -[ 99 , 159 ] => [ 7412 , 2 ,"E"], -[ 100 , 158 ] => [ 7418 , 1 ,"E"], -[ 101 , 157 ] => [ 7409.6615 , 0.0135 ,"D"], -[ 102 , 156 ] => [ 7407 , 0 ,"E"], -[ 103 , 155 ] => [ 7392 , 0 ,"E"], -[ 104 , 154 ] => [ 7382.5257 , 0.0624 ,"D"], -[ 105 , 153 ] => [ 7359.4803 , 0.3560 ,"D"], -[ 106 , 152 ] => [ 7342 , 2 ,"E"], -[ 100 , 159 ] => [ 7407 , 1 ,"E"], -[ 101 , 158 ] => [ 7405 , 0 ,"E"], -[ 102 , 157 ] => [ 7399.9714 , 0.0246 ,"D"], -[ 103 , 156 ] => [ 7390 , 0 ,"E"], -[ 104 , 155 ] => [ 7377 , 0 ,"E"], -[ 105 , 154 ] => [ 7360.3626 , 0.2189 ,"D"], -[ 106 , 153 ] => [ 7340 , 1 ,"E"], -[ 100 , 160 ] => [ 7402 , 2 ,"E"], -[ 101 , 159 ] => [ 7396 , 1 ,"E"], -[ 102 , 158 ] => [ 7397 , 1 ,"E"], -[ 103 , 157 ] => [ 7383 , 0 ,"E"], -[ 104 , 156 ] => [ 7377 , 1 ,"E"], -[ 105 , 155 ] => [ 7357 , 0 ,"E"], -[ 106 , 154 ] => [ 7342.5632 , 0.0790 ,"D"], -[ 107 , 153 ] => [ 7314 , 1 ,"E"], -[ 101 , 160 ] => [ 7391 , 2 ,"E"], -[ 102 , 159 ] => [ 7388 , 1 ,"E"], -[ 103 , 158 ] => [ 7381 , 1 ,"E"], -[ 104 , 157 ] => [ 7371.3858 , 0.2516 ,"D"], -[ 105 , 156 ] => [ 7357 , 0 ,"E"], -[ 106 , 155 ] => [ 7339.7710 , 0.0709 ,"D"], -[ 107 , 154 ] => [ 7317.3313 , 0.6889 ,"D"], -[ 101 , 161 ] => [ 7382 , 2 ,"E"], -[ 102 , 160 ] => [ 7385 , 1 ,"E"], -[ 103 , 159 ] => [ 7374 , 1 ,"E"], -[ 104 , 158 ] => [ 7370 , 1 ,"E"], -[ 105 , 157 ] => [ 7352 , 1 ,"E"], -[ 106 , 156 ] => [ 7341.1736 , 0.0846 ,"D"], -[ 107 , 155 ] => [ 7315.7331 , 0.3552 ,"D"], -[ 102 , 161 ] => [ 7376 , 2 ,"E"], -[ 103 , 160 ] => [ 7371 , 1 ,"E"], -[ 104 , 159 ] => [ 7364 , 1 ,"E"], -[ 105 , 158 ] => [ 7352 , 1 ,"E"], -[ 106 , 157 ] => [ 7337 , 0 ,"E"], -[ 107 , 156 ] => [ 7318 , 1 ,"E"], -[ 108 , 155 ] => [ 7295 , 1 ,"E"], -[ 102 , 162 ] => [ 7371 , 2 ,"E"], -[ 103 , 161 ] => [ 7363 , 2 ,"E"], -[ 104 , 160 ] => [ 7361 , 1 ,"E"], -[ 105 , 159 ] => [ 7346 , 1 ,"E"], -[ 106 , 158 ] => [ 7338 , 1 ,"E"], -[ 107 , 157 ] => [ 7315 , 1 ,"E"], -[ 108 , 156 ] => [ 7298.3762 , 0.1094 ,"D"], -[ 103 , 162 ] => [ 7359 , 2 ,"E"], -[ 104 , 161 ] => [ 7354 , 1 ,"E"], -[ 105 , 160 ] => [ 7345 , 1 ,"E"], -[ 106 , 159 ] => [ 7333 , 1 ,"E"], -[ 107 , 158 ] => [ 7316 , 1 ,"E"], -[ 108 , 157 ] => [ 7296.2474 , 0.0904 ,"D"], -[ 109 , 156 ] => [ 7272 , 2 ,"E"], -[ 103 , 163 ] => [ 7349 , 2 ,"E"], -[ 104 , 162 ] => [ 7351 , 2 ,"E"], -[ 105 , 161 ] => [ 7339 , 1 ,"E"], -[ 106 , 160 ] => [ 7332 , 1 ,"E"], -[ 107 , 159 ] => [ 7313 , 1 ,"E"], -[ 108 , 158 ] => [ 7298.2611 , 0.1019 ,"D"], -[ 109 , 157 ] => [ 7270.7598 , 0.3627 ,"D"], -[ 104 , 163 ] => [ 7342 , 2 ,"E"], -[ 105 , 162 ] => [ 7337 , 1 ,"E"], -[ 106 , 161 ] => [ 7327 , 1 ,"E"], -[ 107 , 160 ] => [ 7313 , 1 ,"E"], -[ 108 , 159 ] => [ 7295 , 0 ,"E"], -[ 109 , 158 ] => [ 7273 , 2 ,"E"], -[ 110 , 157 ] => [ 7248 , 1 ,"E"], -[ 104 , 164 ] => [ 7337 , 2 ,"E"], -[ 105 , 163 ] => [ 7328 , 2 ,"E"], -[ 106 , 162 ] => [ 7326 , 2 ,"E"], -[ 107 , 161 ] => [ 7309 , 1 ,"E"], -[ 108 , 160 ] => [ 7297 , 1 ,"E"], -[ 109 , 159 ] => [ 7271 , 1 ,"E"], -[ 110 , 158 ] => [ 7252 , 1 ,"E"], -[ 105 , 164 ] => [ 7323 , 2 ,"E"], -[ 106 , 163 ] => [ 7318 , 1 ,"E"], -[ 107 , 162 ] => [ 7309 , 1 ,"E"], -[ 108 , 161 ] => [ 7294 , 0 ,"E"], -[ 109 , 160 ] => [ 7274 , 1 ,"E"], -[ 110 , 159 ] => [ 7250.1551 , 0.1167 ,"D"], -[ 105 , 165 ] => [ 7314 , 2 ,"E"], -[ 106 , 164 ] => [ 7314 , 2 ,"E"], -[ 107 , 163 ] => [ 7301 , 1 ,"E"], -[ 108 , 162 ] => [ 7295 , 1 ,"E"], -[ 109 , 161 ] => [ 7271 , 1 ,"E"], -[ 110 , 160 ] => [ 7253.7634 , 0.1455 ,"D"], -[ 106 , 165 ] => [ 7305 , 2 ,"E"], -[ 107 , 164 ] => [ 7298 , 1 ,"E"], -[ 108 , 163 ] => [ 7288 , 1 ,"E"], -[ 109 , 162 ] => [ 7273 , 1 ,"E"], -[ 110 , 161 ] => [ 7252 , 0 ,"E"], -[ 106 , 166 ] => [ 7301 , 3 ,"E"], -[ 107 , 165 ] => [ 7290 , 2 ,"E"], -[ 108 , 164 ] => [ 7286 , 2 ,"E"], -[ 109 , 163 ] => [ 7267 , 2 ,"E"], -[ 110 , 162 ] => [ 7255 , 2 ,"E"], -[ 111 , 161 ] => [ 7227 , 1 ,"E"], -[ 106 , 167 ] => [ 7292 , 1 ,"E"], -[ 107 , 166 ] => [ 7286 , 2 ,"E"], -[ 108 , 165 ] => [ 7279 , 1 ,"E"], -[ 109 , 164 ] => [ 7265 , 2 ,"E"], -[ 110 , 163 ] => [ 7250 , 1 ,"E"], -[ 111 , 162 ] => [ 7230 , 1 ,"E"], -[ 107 , 167 ] => [ 7278 , 2 ,"E"], -[ 108 , 166 ] => [ 7276 , 2 ,"E"], -[ 109 , 165 ] => [ 7259 , 1 ,"E"], -[ 110 , 164 ] => [ 7249 , 1 ,"E"], -[ 111 , 163 ] => [ 7227 , 1 ,"E"], -[ 107 , 168 ] => [ 7273 , 2 ,"E"], -[ 108 , 167 ] => [ 7268 , 2 ,"E"], -[ 109 , 166 ] => [ 7257 , 1 ,"E"], -[ 110 , 165 ] => [ 7243 , 1 ,"E"], -[ 111 , 164 ] => [ 7227 , 2 ,"E"], -[ 107 , 169 ] => [ 7265 , 2 ,"E"], -[ 108 , 168 ] => [ 7265 , 3 ,"E"], -[ 109 , 167 ] => [ 7250 , 2 ,"E"], -[ 110 , 166 ] => [ 7243 , 2 ,"E"], -[ 111 , 165 ] => [ 7223 , 2 ,"E"], -[ 112 , 164 ] => [ 7209 , 2 ,"E"], -[ 107 , 170 ] => [ 7260 , 2 ,"E"], -[ 108 , 169 ] => [ 7256 , 2 ,"E"], -[ 109 , 168 ] => [ 7247 , 2 ,"E"], -[ 110 , 167 ] => [ 7237 , 1 ,"E"], -[ 111 , 166 ] => [ 7222 , 2 ,"E"], -[ 112 , 165 ] => [ 7205 , 1 ,"E"], -[ 107 , 171 ] => [ 7251 , 1 ,"E"], -[ 108 , 170 ] => [ 7252 , 1 ,"E"], -[ 109 , 169 ] => [ 7240 , 2 ,"E"], -[ 110 , 168 ] => [ 7236 , 2 ,"E"], -[ 111 , 167 ] => [ 7218 , 1 ,"E"], -[ 112 , 166 ] => [ 7206 , 2 ,"E"], -[ 113 , 165 ] => [ 7181 , 1 ,"E"], -[ 108 , 171 ] => [ 7243 , 2 ,"E"], -[ 109 , 170 ] => [ 7237 , 2 ,"E"], -[ 110 , 169 ] => [ 7229 , 2 ,"E"], -[ 111 , 168 ] => [ 7216 , 2 ,"E"], -[ 112 , 167 ] => [ 7202 , 1 ,"E"], -[ 113 , 166 ] => [ 7183 , 2 ,"E"], -[ 108 , 172 ] => [ 7239 , 2 ,"E"], -[ 109 , 171 ] => [ 7229 , 2 ,"E"], -[ 110 , 170 ] => [ 7227 , 3 ,"E"], -[ 111 , 169 ] => [ 7212 , 2 ,"E"], -[ 112 , 168 ] => [ 7202 , 2 ,"E"], -[ 113 , 167 ] => [ 7180 , 1 ,"E"], -[ 109 , 172 ] => [ 7225 , 2 ,"E"], -[ 110 , 171 ] => [ 7220 , 2 ,"E"], -[ 111 , 170 ] => [ 7209 , 3 ,"E"], -[ 112 , 169 ] => [ 7197 , 1 ,"E"], -[ 113 , 168 ] => [ 7181 , 1 ,"E"], -[ 109 , 173 ] => [ 7218 , 2 ,"E"], -[ 110 , 172 ] => [ 7217 , 1 ,"E"], -[ 111 , 171 ] => [ 7204 , 2 ,"E"], -[ 112 , 170 ] => [ 7197 , 2 ,"E"], -[ 113 , 169 ] => [ 7177 , 1 ,"E"], -[ 110 , 173 ] => [ 7210 , 2 ,"E"], -[ 111 , 172 ] => [ 7201 , 2 ,"E"], -[ 112 , 171 ] => [ 7192 , 2 ,"E"], -[ 113 , 170 ] => [ 7177 , 2 ,"E"], -[ 110 , 174 ] => [ 7207 , 2 ,"E"], -[ 111 , 173 ] => [ 7195 , 2 ,"E"], -[ 112 , 172 ] => [ 7191 , 3 ,"E"], -[ 113 , 171 ] => [ 7173 , 2 ,"E"], -[ 114 , 170 ] => [ 7163 , 2 ,"E"], -[ 111 , 174 ] => [ 7192 , 2 ,"E"], -[ 112 , 173 ] => [ 7185 , 2 ,"E"], -[ 113 , 172 ] => [ 7172 , 3 ,"E"], -[ 114 , 171 ] => [ 7159 , 1 ,"E"], -[ 111 , 175 ] => [ 7185 , 2 ,"E"], -[ 112 , 174 ] => [ 7183 , 2 ,"E"], -[ 113 , 173 ] => [ 7168 , 2 ,"E"], -[ 114 , 172 ] => [ 7159 , 2 ,"E"], -[ 112 , 175 ] => [ 7176 , 2 ,"E"], -[ 113 , 174 ] => [ 7166 , 2 ,"E"], -[ 114 , 173 ] => [ 7155 , 2 ,"E"], -[ 115 , 172 ] => [ 7139 , 2 ,"E"], -[ 112 , 176 ] => [ 7174 , 2 ,"E"], -[ 113 , 175 ] => [ 7160 , 2 ,"E"], -[ 114 , 174 ] => [ 7154 , 3 ,"E"], -[ 115 , 173 ] => [ 7135 , 2 ,"E"], -[ 113 , 176 ] => [ 7158 , 2 ,"E"], -[ 114 , 175 ] => [ 7149 , 2 ,"E"], -[ 115 , 174 ] => [ 7135 , 3 ,"E"], -[ 116 , 173 ] => [ 7119 , 2 ,"E"], -[ 113 , 177 ] => [ 7152 , 2 ,"E"], -[ 114 , 176 ] => [ 7147 , 2 ,"E"], -[ 115 , 175 ] => [ 7131 , 2 ,"E"], -[ 116 , 174 ] => [ 7120 , 2 ,"E"], -[ 114 , 177 ] => [ 7141 , 2 ,"E"], -[ 115 , 176 ] => [ 7129 , 3 ,"E"], -[ 116 , 175 ] => [ 7116 , 2 ,"E"], -[ 117 , 174 ] => [ 7098 , 2 ,"E"], -[ 115 , 177 ] => [ 7124 , 2 ,"E"], -[ 116 , 176 ] => [ 7116 , 3 ,"E"], -[ 117 , 175 ] => [ 7095 , 2 ,"E"], -[ 116 , 177 ] => [ 7111 , 2 ,"E"], -[ 117 , 176 ] => [ 7095 , 3 ,"E"], -[ 118 , 175 ] => [ 7078 , 2 ,"E"], -[ 117 , 177 ] => [ 7092 , 2 ,"E"], -[ 118 , 176 ] => [ 7079 , 2 ,"E"], -[ 118 , 177 ] => [ 7076 , 2 ,"E"], +ame2020data = Dict( +"n1" => AMEdata(0.0,0.0,true,"0.0","0.0","782.3470","0.0004"), [0,1] => AMEdata(0.0,0.0,true,"0.0","0.0","782.3470","0.0004"), +"H1" => AMEdata(0.0,0.0,true,"*","","*",""), [1,0] => AMEdata(0.0,0.0,true,"*","","*",""), +"H2" => AMEdata(1112.2831,0.0002,true,"2224.5662","0.0004","*",""), [1,1] => AMEdata(1112.2831,0.0002,true,"2224.5662","0.0004","*",""), +"H3" => AMEdata(2827.2654,0.0003,true,"6257.2301","0.0004","18.59202","0.00006"), [1,2] => AMEdata(2827.2654,0.0003,true,"6257.2301","0.0004","18.59202","0.00006"), +"He3" => AMEdata(2572.68044,0.00015,true,"*","","-13736#","2000#"), [2,1] => AMEdata(2572.68044,0.00015,true,"*","","-13736#","2000#"), +"Li3" => AMEdata(-2267,667,false,"*","","*",""), [3,0] => AMEdata(-2267,667,false,"*","","*",""), +"H4" => AMEdata(1720.4491,25.0000,true,"-1600.0000","100.0000","22196.2131","100.0000"), [1,3] => AMEdata(1720.4491,25.0000,true,"-1600.0000","100.0000","22196.2131","100.0000"), +"He4" => AMEdata(7073.9156,0.0002,true,"20577.6211","0.0005","-22898.2740","212.1320"), [2,2] => AMEdata(7073.9156,0.0002,true,"20577.6211","0.0005","-22898.2740","212.1320"), +"Li4" => AMEdata(1153.7603,53.0330,true,"11415#","2011#","*",""), [3,1] => AMEdata(1153.7603,53.0330,true,"11415#","2011#","*",""), +"H5" => AMEdata(1336.3592,17.8885,true,"-200.0000","134.1641","21661.2131","91.6515"), [1,4] => AMEdata(1336.3592,17.8885,true,"-200.0000","134.1641","21661.2131","91.6515"), +"He5" => AMEdata(5512.1325,4.0000,true,"-735.0000","20.0000","-447.6529","53.8516"), [2,3] => AMEdata(5512.1325,4.0000,true,"-735.0000","20.0000","-447.6529","53.8516"), +"Li5" => AMEdata(5266.1325,10.0000,true,"21715.6211","217.9449","-25460#","2003#"), [3,2] => AMEdata(5266.1325,10.0000,true,"21715.6211","217.9449","-25460#","2003#"), +"Be5" => AMEdata(18,401,false,"*","","*",""), [4,1] => AMEdata(18,401,false,"*","","*",""), +"H6" => AMEdata(961.6395,42.3545,true,"-911.9594","269.4075","24283.6294","254.1268"), [1,5] => AMEdata(961.6395,42.3545,true,"-911.9594","269.4075","24283.6294","254.1268"), +"He6" => AMEdata(4878.5199,0.0089,true,"1710.4569","20.0001","3505.2147","0.0532"), [2,4] => AMEdata(4878.5199,0.0089,true,"1710.4569","20.0001","3505.2147","0.0532"), +"Li6" => AMEdata(5332.3312,0.0003,true,"5663.3245","50.0000","-4288.1534","5.4478"), [3,3] => AMEdata(5332.3312,0.0003,true,"5663.3245","50.0000","-4288.1534","5.4478"), +"Be6" => AMEdata(4487.2478,0.9080,true,"26835#","2003#","-28945#","2003#"), [4,2] => AMEdata(4487.2478,0.9080,true,"26835#","2003#","-28945#","2003#"), +"B6" => AMEdata(-467,334,false,"*","","*",""), [5,1] => AMEdata(-467,334,false,"*","","*",""), +"H7" => AMEdata(940,143,false,"812#","1036#","23062#","1004#"), [1,6] => AMEdata(940,143,false,"812#","1036#","23062#","1004#"), +"He7" => AMEdata(4123.0578,1.0799,true,"-409.7143","7.5593","11166.0229","7.5595"), [2,5] => AMEdata(4123.0578,1.0799,true,"-409.7143","7.5593","11166.0229","7.5595"), +"Li7" => AMEdata(5606.4401,0.0006,true,"7251.0939","0.0045","-861.8930","0.0707"), [3,4] => AMEdata(5606.4401,0.0006,true,"7251.0939","0.0045","-861.8930","0.0707"), +"Be7" => AMEdata(5371.5487,0.0101,true,"10677.3542","5.4482","-11907.5551","25.1504"), [4,3] => AMEdata(5371.5487,0.0101,true,"10677.3542","5.4482","-11907.5551","25.1504"), +"B7" => AMEdata(3558.7055,3.5929,true,"27715#","2003#","*",""), [5,2] => AMEdata(3558.7055,3.5929,true,"27715#","2003#","*",""), +"He8" => AMEdata(3924.5210,0.0111,true,"2534.7627","7.5600","10663.8784","0.1005"), [2,6] => AMEdata(3924.5210,0.0111,true,"2534.7627","7.5600","10663.8784","0.1005"), +"Li8" => AMEdata(5159.7124,0.0059,true,"2032.6182","0.0472","16004.1329","0.0591"), [3,5] => AMEdata(5159.7124,0.0059,true,"2032.6182","0.0472","16004.1329","0.0591"), +"Be8" => AMEdata(7062.4356,0.0044,true,"18898.6440","0.0792","-17979.8973","1.0005"), [4,4] => AMEdata(7062.4356,0.0044,true,"18898.6440","0.0792","-17979.8973","1.0005"), +"B8" => AMEdata(4717.1551,0.1250,true,"12826.3018","25.1702","-12142.7002","18.2704"), [5,3] => AMEdata(4717.1551,0.1250,true,"12826.3018","25.1702","-12142.7002","18.2704"), +"C8" => AMEdata(3101.5242,2.2804,true,"*","","*",""), [6,2] => AMEdata(3101.5242,2.2804,true,"*","","*",""), +"He9" => AMEdata(3349.0380,5.2018,true,"-1254.8254","46.8165","15980.9213","46.8169"), [2,7] => AMEdata(3349.0380,5.2018,true,"-1254.8254","46.8165","15980.9213","46.8169"), +"Li9" => AMEdata(5037.7685,0.0207,true,"4062.2175","0.1922","13606.4541","0.2014"), [3,6] => AMEdata(5037.7685,0.0207,true,"4062.2175","0.1922","13606.4541","0.2014"), +"Be9" => AMEdata(6462.6693,0.0085,true,"1664.5388","0.0843","-1068.0349","0.8994"), [4,5] => AMEdata(6462.6693,0.0085,true,"1664.5388","0.0843","-1068.0349","0.8994"), +"B9" => AMEdata(6257.0713,0.1003,true,"18576.4012","1.3470","-16494.4854","2.3195"), [5,4] => AMEdata(6257.0713,0.1003,true,"18576.4012","1.3470","-16494.4854","2.3195"), +"C9" => AMEdata(4337.4233,0.2374,true,"14224.6160","18.3677","*",""), [6,3] => AMEdata(4337.4233,0.2374,true,"14224.6160","18.3677","*",""), +"He10" => AMEdata(2995.1340,9.2848,true,"-190.0023","103.9830","16144.5191","93.7152"), [2,8] => AMEdata(2995.1340,9.2848,true,"-190.0023","103.9830","16144.5191","93.7152"), +"Li10" => AMEdata(4531.3512,1.2721,true,"-26.4045","12.7200","20445.1411","12.7216"), [3,7] => AMEdata(4531.3512,1.2721,true,"-26.4045","12.7200","20445.1411","12.7216"), +"Be10" => AMEdata(6497.6306,0.0081,true,"6812.2824","0.0519","556.8759","0.0822"), [4,6] => AMEdata(6497.6306,0.0081,true,"6812.2824","0.0519","556.8759","0.0822"), +"B10" => AMEdata(6475.0835,0.0015,true,"8437.1932","0.9027","-3648.0623","0.0687"), [5,5] => AMEdata(6475.0835,0.0015,true,"8437.1932","0.9027","-3648.0623","0.0687"), +"C10" => AMEdata(6032.0426,0.0070,true,"21283.6164","2.1378","-23101.3545","400.0000"), [6,4] => AMEdata(6032.0426,0.0070,true,"21283.6164","2.1378","-23101.3545","400.0000"), +"N10" => AMEdata(3643.6724,40.0000,true,"*","","*",""), [7,3] => AMEdata(3643.6724,40.0000,true,"*","","*",""), +"Li11" => AMEdata(4155.3817,0.0559,true,"395.6871","12.7362","20551.0898","0.6591"), [3,8] => AMEdata(4155.3817,0.0559,true,"395.6871","12.7362","20551.0898","0.6591"), +"Be11" => AMEdata(5952.5402,0.0216,true,"501.6358","0.2511","11509.4607","0.2380"), [4,7] => AMEdata(5952.5402,0.0216,true,"501.6358","0.2511","11509.4607","0.2380"), +"B11" => AMEdata(6927.7323,0.0011,true,"11454.2206","0.0192","-1981.6889","0.0608"), [5,6] => AMEdata(6927.7323,0.0011,true,"11454.2206","0.0192","-1981.6889","0.0608"), +"C11" => AMEdata(6676.4563,0.0054,true,"13120.5940","0.0922","-13716.2469","5.0008"), [6,5] => AMEdata(6676.4563,0.0054,true,"13120.5940","0.0922","-13716.2469","5.0008"), +"N11" => AMEdata(5358.4023,0.4546,true,"22505.7016","400.0313","-23373.2693","60.2459"), [7,4] => AMEdata(5358.4023,0.4546,true,"22505.7016","400.0313","-23373.2693","60.2459"), +"O11" => AMEdata(3162.4372,5.4580,true,"*","","*",""), [8,3] => AMEdata(3162.4372,5.4580,true,"*","","*",""), +"Li12" => AMEdata(3791.5999,2.5005,true,"-210.0000","30.0000","23931.8152","30.0669"), [3,9] => AMEdata(3791.5999,2.5005,true,"-210.0000","30.0000","23931.8152","30.0669"), +"Be12" => AMEdata(5720.7223,0.1590,true,"3170.7254","1.9233","11708.3636","2.3214"), [4,8] => AMEdata(5720.7223,0.1590,true,"3170.7254","1.9233","11708.3636","2.3214"), +"B12" => AMEdata(6631.2237,0.1101,true,"3369.6283","1.3215","13369.3979","1.3214"), [5,7] => AMEdata(6631.2237,0.1101,true,"3369.6283","1.3215","13369.3979","1.3214"), +"C12" => AMEdata(7680.1446,0.0002,true,"18720.7151","0.0596","-17338.0681","0.9999"), [6,6] => AMEdata(7680.1446,0.0002,true,"18720.7151","0.0596","-17338.0681","0.9999"), +"N12" => AMEdata(6170.1100,0.0833,true,"15098.8939","5.0995","-14675.2668","12.0418"), [7,5] => AMEdata(6170.1100,0.0833,true,"15098.8939","5.0995","-14675.2668","12.0418"), +"O12" => AMEdata(4881.9755,1.0000,true,"23796.8964","61.2256","*",""), [8,4] => AMEdata(4881.9755,1.0000,true,"23796.8964","61.2256","*",""), +"Li13" => AMEdata(3507.6307,5.3848,true,"100.0000","76.1577","23321.8152","70.7391"), [3,10] => AMEdata(3507.6307,5.3848,true,"100.0000","76.1577","23321.8152","70.7391"), +"Be13" => AMEdata(5241.4359,0.7831,true,"-510.0000","10.0000","17097.1315","10.2295"), [4,9] => AMEdata(5241.4359,0.7831,true,"-510.0000","10.0000","17097.1315","10.2295"), +"B13" => AMEdata(6496.4194,0.0769,true,"4878.7679","1.6572","13436.9387","1.0001"), [5,8] => AMEdata(6496.4194,0.0769,true,"4878.7679","1.6572","13436.9387","1.0001"), +"C13" => AMEdata(7469.8495,0.0002,true,"4946.3087","0.0005","-2220.4718","0.2695"), [6,7] => AMEdata(7469.8495,0.0002,true,"4946.3087","0.0005","-2220.4718","0.2695"), +"N13" => AMEdata(7238.8634,0.0207,true,"20063.9051","1.0356","-17769.9506","9.5301"), [7,6] => AMEdata(7238.8634,0.0207,true,"20063.9051","1.0356","-17769.9506","9.5301"), +"O13" => AMEdata(5811.7636,0.7328,true,"16969.2213","15.3217","-18915#","500#"), [8,5] => AMEdata(5811.7636,0.7328,true,"16969.2213","15.3217","-18915#","500#"), +"F13" => AMEdata(4297,38,false,"*","","*",""), [9,4] => AMEdata(4297,38,false,"*","","*",""), +"Be14" => AMEdata(4993.8973,9.4461,true,"1775.8951","132.6364","16290.8166","133.9357"), [4,10] => AMEdata(4993.8973,9.4461,true,"1775.8951","132.6364","16290.8166","133.9357"), +"B14" => AMEdata(6101.6451,1.5152,true,"969.5802","21.2369","20643.7926","21.2133"), [5,9] => AMEdata(6101.6451,1.5152,true,"969.5802","21.2369","20643.7926","21.2133"), +"C14" => AMEdata(7520.3198,0.0004,true,"8176.4341","0.0038","156.4765","0.0037"), [6,8] => AMEdata(7520.3198,0.0004,true,"8176.4341","0.0038","156.4765","0.0037"), +"N14" => AMEdata(7475.6148,0.0002,true,"10553.3823","0.2695","-5144.3643","0.0252"), [7,7] => AMEdata(7475.6148,0.0002,true,"10553.3823","0.2695","-5144.3643","0.0252"), +"O14" => AMEdata(7052.2783,0.0018,true,"23178.9686","9.5263","-23956.6215","41.1187"), [8,6] => AMEdata(7052.2783,0.0018,true,"23178.9686","9.5263","-23956.6215","41.1187"), +"F14" => AMEdata(5285.2091,2.9371,true,"18137#","502#","*",""), [9,5] => AMEdata(5285.2091,2.9371,true,"18137#","502#","*",""), +"Be15" => AMEdata(4540.9708,11.0532,true,"-1800.0000","100.0000","20868.4411","167.1256"), [4,11] => AMEdata(4540.9708,11.0532,true,"-1800.0000","100.0000","20868.4411","167.1256"), +"B15" => AMEdata(5880.0438,1.4019,true,"2777.6245","29.8701","19084.2343","21.0442"), [5,10] => AMEdata(5880.0438,1.4019,true,"2777.6245","29.8701","19084.2343","21.0442"), +"C15" => AMEdata(7100.1696,0.0533,true,"1218.0662","0.8000","9771.7071","0.8000"), [6,9] => AMEdata(7100.1696,0.0533,true,"1218.0662","0.8000","9771.7071","0.8000"), +"N15" => AMEdata(7699.4603,0.0002,true,"10833.2968","0.0008","-2754.1841","0.4902"), [7,8] => AMEdata(7699.4603,0.0002,true,"10833.2968","0.0008","-2754.1841","0.4902"), +"O15" => AMEdata(7463.6915,0.0327,true,"13223.4770","0.4908","-13711.1300","14.0086"), [8,7] => AMEdata(7463.6915,0.0327,true,"13223.4770","0.4908","-13711.1300","14.0086"), +"F15" => AMEdata(6497.4597,0.9333,true,"23468.9686","43.4368","-23648.6215","68.1377"), [9,6] => AMEdata(6497.4597,0.9333,true,"23468.9686","43.4368","-23648.6215","68.1377"), +"Ne15" => AMEdata(4868.7285,4.4456,true,"*","","*",""), [10,5] => AMEdata(4868.7285,4.4456,true,"*","","*",""), +"Be16" => AMEdata(4285.2851,10.3623,true,"450.0000","141.4214","20335.4399","167.6075"), [4,12] => AMEdata(4285.2851,10.3623,true,"450.0000","141.4214","20335.4399","167.6075"), +"B16" => AMEdata(5507.3535,1.5354,true,"-83.0012","14.6047","23417.5656","24.8254"), [5,11] => AMEdata(5507.3535,1.5354,true,"-83.0012","14.6047","23417.5656","24.8254"), +"C16" => AMEdata(6922.0546,0.2236,true,"4250.3301","3.6661","8010.2260","4.2540"), [6,10] => AMEdata(6922.0546,0.2236,true,"4250.3301","3.6661","8010.2260","4.2540"), +"N16" => AMEdata(7373.7971,0.1438,true,"2488.8490","2.3014","10420.9094","2.3014"), [7,9] => AMEdata(7373.7971,0.1438,true,"2488.8490","2.3014","10420.9094","2.3014"), +"O16" => AMEdata(7976.2072,0.0002,true,"15663.9424","0.4902","-15412.1840","5.3642"), [8,8] => AMEdata(7976.2072,0.0002,true,"15663.9424","0.4902","-15412.1840","5.3642"), +"F16" => AMEdata(6964.0490,0.3353,true,"13962.8884","14.9925","-13311.5932","21.1709"), [9,7] => AMEdata(6964.0490,0.3353,true,"13962.8884","14.9925","-13311.5932","21.1709"), +"Ne16" => AMEdata(6083.1777,1.2800,true,"24299.9167","69.7580","*",""), [10,6] => AMEdata(6083.1777,1.2800,true,"24299.9167","69.7580","*",""), +"B17" => AMEdata(5269.6677,12.0061,true,"1466.6951","205.5768","22684.4422","204.8410"), [5,12] => AMEdata(5269.6677,12.0061,true,"1466.6951","205.5768","22684.4422","204.8410"), +"C17" => AMEdata(6558.0262,1.0215,true,"733.5717","17.7296","13161.8007","22.9464"), [6,11] => AMEdata(6558.0262,1.0215,true,"733.5717","17.7296","13161.8007","22.9464"), +"N17" => AMEdata(7286.2294,0.8824,true,"5885.1465","15.1755","8678.8430","15.0000"), [7,10] => AMEdata(7286.2294,0.8824,true,"5885.1465","15.1755","8678.8430","15.0000"), +"O17" => AMEdata(7750.7291,0.0002,true,"4143.0801","0.0008","-2760.4655","0.2479"), [8,9] => AMEdata(7750.7291,0.0002,true,"4143.0801","0.0008","-2760.4655","0.2479"), +"F17" => AMEdata(7542.3284,0.0146,true,"16794.7986","5.3699","-14548.7507","0.4323"), [9,8] => AMEdata(7542.3284,0.0146,true,"16794.7986","5.3699","-14548.7507","0.4323"), +"Ne17" => AMEdata(6640.4991,0.0208,true,"15557.6411","20.4831","-18219.1277","59.6167"), [10,7] => AMEdata(6640.4991,0.0208,true,"15557.6411","20.4831","-18219.1277","59.6167"), +"Na17" => AMEdata(5522.7653,3.5068,true,"*","","*",""), [11,6] => AMEdata(5522.7653,3.5068,true,"*","","*",""), +"B18" => AMEdata(4976.6306,11.3425,true,"-5.0000","5.0000","26873.3742","206.3572"), [5,13] => AMEdata(4976.6306,11.3425,true,"-5.0000","5.0000","26873.3742","206.3572"), +"C18" => AMEdata(6426.1321,1.6667,true,"4183.9319","34.6632","11806.0982","35.2821"), [6,12] => AMEdata(6426.1321,1.6667,true,"4183.9319","34.6632","11806.0982","35.2821"), +"N18" => AMEdata(7038.5627,1.0316,true,"2828.2294","23.8711","13895.9838","18.5695"), [7,11] => AMEdata(7038.5627,1.0316,true,"2828.2294","23.8711","13895.9838","18.5695"), +"O18" => AMEdata(7767.0981,0.0002,true,"8045.3702","0.0010","-1655.9288","0.4633"), [8,10] => AMEdata(7767.0981,0.0002,true,"8045.3702","0.0010","-1655.9288","0.4633"), +"F18" => AMEdata(7631.6383,0.0257,true,"9149.9069","0.5254","-4444.5049","0.5888"), [9,9] => AMEdata(7631.6383,0.0257,true,"9149.9069","0.5254","-4444.5049","0.5888"), +"Ne18" => AMEdata(7341.2577,0.0202,true,"19254.1527","0.5071","-19720.3745","93.8819"), [10,8] => AMEdata(7341.2577,0.0202,true,"19254.1527","0.5071","-19720.3745","93.8819"), +"Na18" => AMEdata(6202.2176,5.2156,true,"17752.9059","111.2102","*",""), [11,7] => AMEdata(6202.2176,5.2156,true,"17752.9059","111.2102","*",""), +"B19" => AMEdata(4719.6346,27.6507,true,"93.7073","563.6393","27356.4961","534.4964"), [5,14] => AMEdata(4719.6346,27.6507,true,"93.7073","563.6393","27356.4961","534.4964"), +"C19" => AMEdata(6118.2740,5.1784,true,"576.8292","93.7043","16557.4995","99.7475"), [6,13] => AMEdata(6118.2740,5.1784,true,"576.8292","93.7043","16557.4995","99.7475"), +"N19" => AMEdata(6948.5452,0.8634,true,"5328.2305","24.7772","12523.3972","16.6143"), [7,12] => AMEdata(6948.5452,0.8634,true,"5328.2305","24.7772","12523.3972","16.6143"), +"O19" => AMEdata(7566.4952,0.1388,true,"3955.6439","2.6370","4820.3029","2.6370"), [8,11] => AMEdata(7566.4952,0.1388,true,"3955.6439","2.6370","4820.3029","2.6370"), +"F19" => AMEdata(7779.0192,0.0002,true,"10431.8757","0.4633","-3239.4986","0.1601"), [9,10] => AMEdata(7779.0192,0.0002,true,"10431.8757","0.4633","-3239.4986","0.1601"), +"Ne19" => AMEdata(7567.3431,0.0084,true,"11636.8819","0.3965","-11177.3310","10.5364"), [10,9] => AMEdata(7567.3431,0.0084,true,"11636.8819","0.3965","-11177.3310","10.5364"), +"Na19" => AMEdata(6937.8864,0.5545,true,"20179.9254","94.4705","-18909.0095","60.9189"), [11,8] => AMEdata(6937.8864,0.5545,true,"20179.9254","94.4705","-18909.0095","60.9189"), +"Mg19" => AMEdata(5901.4992,3.1579,true,"*","","*",""), [12,7] => AMEdata(5901.4992,3.1579,true,"*","","*",""), +"B20" => AMEdata(4405.6529,27.3178,true,"-1560.0000","150.0000","31898.0019","593.0377"), [5,15] => AMEdata(4405.6529,27.3178,true,"-1560.0000","150.0000","31898.0019","593.0377"), +"C20" => AMEdata(5961.4356,11.5312,true,"2981.5058","250.7354","15737.0689","243.7459"), [6,14] => AMEdata(5961.4356,11.5312,true,"2981.5058","250.7354","15737.0689","243.7459"), +"N20" => AMEdata(6709.1717,3.9447,true,"2161.0753","80.5814","17970.3261","78.8991"), [7,13] => AMEdata(6709.1717,3.9447,true,"2161.0753","80.5814","17970.3261","78.8991"), +"O20" => AMEdata(7568.5707,0.0442,true,"7608.0042","2.7815","3813.6349","0.8854"), [8,12] => AMEdata(7568.5707,0.0442,true,"7608.0042","2.7815","3813.6349","0.8854"), +"F20" => AMEdata(7720.1351,0.0015,true,"6601.3362","0.0297","7024.4689","0.0297"), [9,11] => AMEdata(7720.1351,0.0015,true,"6601.3362","0.0297","7024.4689","0.0297"), +"Ne20" => AMEdata(8032.2412,0.0002,true,"16865.3038","0.1601","-13892.4207","1.1090"), [10,10] => AMEdata(8032.2412,0.0002,true,"16865.3038","0.1601","-13892.4207","1.1090"), +"Na20" => AMEdata(7298.5028,0.0554,true,"14150.2140","10.5934","-10627.2054","2.1681"), [11,9] => AMEdata(7298.5028,0.0554,true,"14150.2140","10.5934","-10627.2054","2.1681"), +"Mg20" => AMEdata(6728.0252,0.0931,true,"22432.0181","60.0300","*",""), [12,8] => AMEdata(6728.0252,0.0931,true,"22432.0181","60.0300","*",""), +"B21" => AMEdata(4152.5265,26.6031,true,"-910.0000","242.0744","32740#","817#"), [5,16] => AMEdata(4152.5265,26.6031,true,"-910.0000","242.0744","32740#","817#"), +"C21" => AMEdata(5674,28,false,"-68#","639#","20411#","611#"), [6,15] => AMEdata(5674,28,false,"-68#","639#","20411#","611#"), +"N21" => AMEdata(6609.0159,6.3832,true,"4605.9005","155.5414","17169.8816","134.5840"), [7,14] => AMEdata(6609.0159,6.3832,true,"4605.9005","155.5414","17169.8816","134.5840"), +"O21" => AMEdata(7389.3747,0.5714,true,"3805.4560","12.0326","8109.6390","12.1342"), [8,13] => AMEdata(7389.3747,0.5714,true,"3805.4560","12.0326","8109.6390","12.1342"), +"F21" => AMEdata(7738.2934,0.0857,true,"8101.4601","1.8002","5684.1712","1.8004"), [9,12] => AMEdata(7738.2934,0.0857,true,"8101.4601","1.8002","5684.1712","1.8004"), +"Ne21" => AMEdata(7971.7136,0.0018,true,"6761.1623","0.0385","-3546.9190","0.0177"), [10,11] => AMEdata(7971.7136,0.0018,true,"6761.1623","0.0385","-3546.9190","0.0177"), +"Na21" => AMEdata(7765.5581,0.0020,true,"17106.6639","1.1098","-13088.7080","0.7557"), [11,10] => AMEdata(7765.5581,0.0020,true,"17106.6639","1.1098","-13088.7080","0.7557"), +"Mg21" => AMEdata(7105.0317,0.0359,true,"14645.1614","2.0100","-16186#","600#"), [12,9] => AMEdata(7105.0317,0.0359,true,"14645.1614","2.0100","-16186#","600#"), +"Al21" => AMEdata(6297,29,false,"*","","*",""), [13,8] => AMEdata(6297,29,false,"*","","*",""), +"C22" => AMEdata(5421.0778,10.5223,true,"103#","640#","21846.3983","311.0627"), [6,16] => AMEdata(5421.0778,10.5223,true,"103#","640#","21846.3983","311.0627"), +"N22" => AMEdata(6378.5347,9.4445,true,"1538.4289","247.2672","22481.7725","215.4350"), [7,15] => AMEdata(6378.5347,9.4445,true,"1538.4289","247.2672","22481.7725","215.4350"), +"O22" => AMEdata(7364.8722,2.5873,true,"6850.3198","58.1722","6489.6562","58.2558"), [8,14] => AMEdata(7364.8722,2.5873,true,"6850.3198","58.1722","6489.6562","58.2558"), +"F22" => AMEdata(7624.2954,0.5636,true,"5230.3370","12.5290","10818.0916","12.3990"), [9,13] => AMEdata(7624.2954,0.5636,true,"5230.3370","12.5290","10818.0916","12.3990"), +"Ne22" => AMEdata(8080.4656,0.0008,true,"10364.2574","0.0424","-2843.3243","0.1325"), [10,12] => AMEdata(8080.4656,0.0008,true,"10364.2574","0.0424","-2843.3243","0.1325"), +"Na22" => AMEdata(7915.6624,0.0060,true,"11067.8522","0.1384","-4781.4051","0.1631"), [11,11] => AMEdata(7915.6624,0.0060,true,"11067.8522","0.1384","-4781.4051","0.1631"), +"Mg22" => AMEdata(7662.7645,0.0072,true,"19375.1551","0.7711","-18601#","401#"), [12,10] => AMEdata(7662.7645,0.0072,true,"19375.1551","0.7711","-18601#","401#"), +"Al22" => AMEdata(6782,18,false,"16960#","721#","-15439#","641#"), [13,9] => AMEdata(6782,18,false,"16960#","721#","-15439#","641#"), +"Si22" => AMEdata(6044,23,false,"*","","*",""), [14,8] => AMEdata(6044,23,false,"*","","*",""), +"C23" => AMEdata(5077,43,false,"-2488#","1023#","27450#","1082#"), [6,17] => AMEdata(5077,43,false,"-2488#","1023#","27450#","1082#"), +"N23" => AMEdata(6236.6721,18.2856,true,"3115.6936","469.0960","22099.0584","437.8271"), [7,16] => AMEdata(6236.6721,18.2856,true,"3115.6936","469.0960","22099.0584","437.8271"), +"O23" => AMEdata(7163.4856,5.2918,true,"2732.9795","134.3643","11336.1072","126.1904"), [8,15] => AMEdata(7163.4856,5.2918,true,"2732.9795","134.3643","11336.1072","126.1904"), +"F23" => AMEdata(7622.3447,1.4487,true,"7579.4305","35.5526","8439.3084","33.3206"), [9,14] => AMEdata(7622.3447,1.4487,true,"7579.4305","35.5526","8439.3084","33.3206"), +"Ne23" => AMEdata(7955.2561,0.0045,true,"5200.6473","0.1029","4375.8085","0.1044"), [10,13] => AMEdata(7955.2561,0.0045,true,"5200.6473","0.1029","4375.8085","0.1044"), +"Na23" => AMEdata(8111.4936,0.0002,true,"12419.7801","0.1318","-4056.1790","0.0317"), [11,12] => AMEdata(8111.4936,0.0002,true,"12419.7801","0.1318","-4056.1790","0.0317"), +"Mg23" => AMEdata(7901.1229,0.0014,true,"13145.0063","0.1624","-12221.7457","0.3461"), [12,11] => AMEdata(7901.1229,0.0014,true,"13145.0063","0.1624","-12221.7457","0.3461"), +"Al23" => AMEdata(7335.7275,0.0150,true,"19525#","401#","-17202#","500#"), [13,10] => AMEdata(7335.7275,0.0150,true,"19525#","401#","-17202#","500#"), +"Si23" => AMEdata(6554,22,false,"17762#","707#","*",""), [14,9] => AMEdata(6554,22,false,"17762#","707#","*",""), +"N24" => AMEdata(5887,17,false,"-2146#","581#","28438#","433#"), [7,17] => AMEdata(5887,17,false,"-2146#","581#","28438#","433#"), +"O24" => AMEdata(7039.6855,6.8698,true,"4192.2843","204.9326","10955.8885","191.6327"), [8,16] => AMEdata(7039.6855,6.8698,true,"4192.2843","204.9326","10955.8885","191.6327"), +"F24" => AMEdata(7463.5831,4.0696,true,"3812.0656","103.1976","13496.1583","97.6717"), [9,15] => AMEdata(7463.5831,4.0696,true,"3812.0656","103.1976","13496.1583","97.6717"), +"Ne24" => AMEdata(7993.3252,0.0214,true,"8868.9154","0.5226","2466.2583","0.5130"), [10,14] => AMEdata(7993.3252,0.0214,true,"8868.9154","0.5226","2466.2583","0.5130"), +"Na24" => AMEdata(8063.4882,0.0007,true,"6959.3653","0.0165","5515.6774","0.0210"), [11,13] => AMEdata(8063.4882,0.0007,true,"6959.3653","0.0165","5515.6774","0.0210"), +"Mg24" => AMEdata(8260.7103,0.0006,true,"16531.2216","0.0343","-13884.7660","0.2282"), [12,12] => AMEdata(8260.7103,0.0006,true,"16531.2216","0.0343","-13884.7660","0.2282"), +"Al24" => AMEdata(7649.5806,0.0095,true,"14868.2013","0.4132","-10793.9978","19.4734"), [13,11] => AMEdata(7649.5806,0.0095,true,"14868.2013","0.4132","-10793.9978","19.4734"), +"Si24" => AMEdata(7167.2329,0.8113,true,"21276#","501#","-23275#","501#"), [14,10] => AMEdata(7167.2329,0.8113,true,"21276#","501#","-23275#","501#"), +"P24" => AMEdata(6165,21,false,"*","","*",""), [15,9] => AMEdata(6165,21,false,"*","","*",""), +"N25" => AMEdata(5613,20,false,"-973#","643#","28654#","529#"), [7,18] => AMEdata(5613,20,false,"-973#","643#","28654#","529#"), +"O25" => AMEdata(6727.8058,6.6034,true,"-757.3077","8.3205","15994.8633","191.1909"), [8,17] => AMEdata(6727.8058,6.6034,true,"-757.3077","8.3205","15994.8633","191.1909"), +"F25" => AMEdata(7336.3065,3.8577,true,"4281.6671","137.2612","13369.6698","100.7212"), [9,16] => AMEdata(7336.3065,3.8577,true,"4281.6671","137.2612","13369.6698","100.7212"), +"Ne25" => AMEdata(7839.7994,1.1618,true,"4155.1786","29.0499","7322.3107","29.0701"), [10,15] => AMEdata(7839.7994,1.1618,true,"4155.1786","29.0499","7322.3107","29.0701"), +"Na25" => AMEdata(8101.3979,0.0480,true,"9011.2310","1.2001","3834.9684","1.2009"), [11,14] => AMEdata(8101.3979,0.0480,true,"9011.2310","1.2001","3834.9684","1.2009"), +"Mg25" => AMEdata(8223.5028,0.0019,true,"7330.5219","0.0471","-4276.8080","0.0447"), [12,13] => AMEdata(8223.5028,0.0019,true,"7330.5219","0.0471","-4276.8080","0.0447"), +"Al25" => AMEdata(8021.1366,0.0026,true,"16938.4799","0.2369","-12743.2956","10.0002"), [13,12] => AMEdata(8021.1366,0.0026,true,"16938.4799","0.2369","-12743.2956","10.0002"), +"Si25" => AMEdata(7480.1109,0.4000,true,"14989.1820","21.8898","-16363#","400#"), [14,11] => AMEdata(7480.1109,0.4000,true,"14989.1820","21.8898","-16363#","400#"), +"P25" => AMEdata(6794,16,false,"21901#","640#","*",""), [15,10] => AMEdata(6794,16,false,"21901#","640#","*",""), +"O26" => AMEdata(6497.4790,6.3442,true,"739.3077","9.7073","15986.3855","196.6301"), [8,18] => AMEdata(6497.4790,6.3442,true,"739.3077","9.7073","15986.3855","196.6301"), +"F26" => AMEdata(7082.2497,4.1164,true,"730.8299","144.0693","18193.5414","108.6022"), [9,17] => AMEdata(7082.2497,4.1164,true,"730.8299","144.0693","18193.5414","108.6022"), +"Ne26" => AMEdata(7751.9110,0.7088,true,"5554.7015","34.3984","7341.8940","18.7585"), [10,16] => AMEdata(7751.9110,0.7088,true,"5554.7015","34.3984","7341.8940","18.7585"), +"Na26" => AMEdata(8004.2013,0.1347,true,"5574.2849","3.7016","9353.7631","3.5018"), [11,15] => AMEdata(8004.2013,0.1347,true,"5574.2849","3.7016","9353.7631","3.5018"), +"Mg26" => AMEdata(8333.8711,0.0011,true,"11093.0797","0.0443","-4004.4042","0.0629"), [12,14] => AMEdata(8333.8711,0.0011,true,"11093.0797","0.0443","-4004.4042","0.0629"), +"Al26" => AMEdata(8149.7653,0.0026,true,"11365.4835","0.0717","-5069.1361","0.0849"), [13,13] => AMEdata(8149.7653,0.0026,true,"11365.4835","0.0717","-5069.1361","0.0849"), +"Si26" => AMEdata(7924.7083,0.0041,true,"19039.6430","10.0006","-18114#","196#"), [14,12] => AMEdata(7924.7083,0.0041,true,"19039.6430","10.0006","-18114#","196#"), +"P26" => AMEdata(7198,8,false,"17288#","445#","-16707#","631#"), [15,11] => AMEdata(7198,8,false,"17288#","445#","-16707#","631#"), +"S26" => AMEdata(6525,23,false,"*","","*",""), [16,10] => AMEdata(6525,23,false,"*","","*",""), +"O27" => AMEdata(6185,19,false,"-1937#","527#","19536#","514#"), [8,19] => AMEdata(6185,19,false,"-1937#","527#","19536#","514#"), +"F27" => AMEdata(6879.6662,4.4518,true,"1612.4952","59.3534","18082.5680","150.6211"), [9,18] => AMEdata(6879.6662,4.4518,true,"1612.4952","59.3534","18082.5680","150.6211"), +"Ne27" => AMEdata(7520.4151,3.3619,true,"1501.5217","92.6221","12568.7005","90.8467"), [10,17] => AMEdata(7520.4151,3.3619,true,"1501.5217","92.6221","12568.7005","90.8467"), +"Na27" => AMEdata(7956.9467,0.1380,true,"6728.3282","5.1134","9068.8037","3.7266"), [11,16] => AMEdata(7956.9467,0.1380,true,"6728.3282","5.1134","9068.8037","3.7266"), +"Mg27" => AMEdata(8263.8525,0.0018,true,"6443.3687","0.0388","2610.2694","0.0669"), [12,15] => AMEdata(8263.8525,0.0018,true,"6443.3687","0.0388","2610.2694","0.0669"), +"Al27" => AMEdata(8331.5533,0.0018,true,"13058.0422","0.0814","-4812.3583","0.0964"), [13,14] => AMEdata(8331.5533,0.0018,true,"13058.0422","0.0814","-4812.3583","0.0964"), +"Si27" => AMEdata(8124.3420,0.0040,true,"13314.8200","0.1520","-11725.4730","9.0013"), [14,13] => AMEdata(8124.3420,0.0040,true,"13314.8200","0.1520","-11725.4730","9.0013"), +"P27" => AMEdata(7661.0894,0.3334,true,"19703#","196#","-18150#","400#"), [15,12] => AMEdata(7661.0894,0.3334,true,"19703#","196#","-18150#","400#"), +"S27" => AMEdata(6960,15,false,"18261#","721#","*",""), [16,11] => AMEdata(6960,15,false,"18261#","721#","*",""), +"O28" => AMEdata(5988,25,false,"661#","859#","18676#","709#"), [8,20] => AMEdata(5988,25,false,"661#","859#","18676#","709#"), +"F28" => AMEdata(6626.8567,4.2981,true,"-199.0000","6.0000","22104.0579","174.2886"), [9,19] => AMEdata(6626.8567,4.2981,true,"-199.0000","6.0000","22104.0579","174.2886"), +"Ne28" => AMEdata(7388.3463,4.5024,true,"3822.4899","155.3457","12288.0534","126.4833"), [10,18] => AMEdata(7388.3463,4.5024,true,"3822.4899","155.3457","12288.0534","126.4833"), +"Na28" => AMEdata(7799.2644,0.3659,true,"3541.8428","10.9030","14031.6303","10.2498"), [11,17] => AMEdata(7799.2644,0.3659,true,"3541.8428","10.9030","14031.6303","10.2498"), +"Mg28" => AMEdata(8272.4531,0.0093,true,"8504.6694","0.2651","1830.7740","0.2653"), [12,16] => AMEdata(8272.4531,0.0093,true,"8504.6694","0.2651","1830.7740","0.2653"), +"Al28" => AMEdata(8309.8969,0.0018,true,"7725.1740","0.0110","4642.0776","0.0486"), [13,15] => AMEdata(8309.8969,0.0018,true,"7725.1740","0.0110","4642.0776","0.0486"), +"Si28" => AMEdata(8447.7445,0.0002,true,"17179.6099","0.1074","-14344.9407","1.1473"), [14,14] => AMEdata(8447.7445,0.0002,true,"17179.6099","0.1074","-14344.9407","1.1473"), +"P28" => AMEdata(7907.4842,0.0410,true,"14560.1422","9.0735","-11221.0593","160.0041"), [15,13] => AMEdata(7907.4842,0.0410,true,"14560.1422","9.0735","-11221.0593","160.0041"), +"S28" => AMEdata(7478.7911,5.7143,true,"21489#","431#","-24197#","525#"), [16,12] => AMEdata(7478.7911,5.7143,true,"21489#","431#","-24197#","525#"), +"Cl28" => AMEdata(6587,18,false,"*","","*",""), [17,11] => AMEdata(6587,18,false,"*","","*",""), +"F29" => AMEdata(6444.0314,18.1160,true,"1324.9238","538.9707","21750.3873","546.2212"), [9,20] => AMEdata(6444.0314,18.1160,true,"1324.9238","538.9707","21750.3873","546.2212"), +"Ne29" => AMEdata(7167.0673,5.1553,true,"971.2532","195.5626","15719.8092","149.6847"), [10,19] => AMEdata(7167.0673,5.1553,true,"971.2532","195.5626","15719.8092","149.6847"), +"Na29" => AMEdata(7682.1522,0.2530,true,"4403.0090","12.6022","13292.3538","7.3447"), [11,18] => AMEdata(7682.1522,0.2530,true,"4403.0090","12.6022","13292.3538","7.3447"), +"Mg29" => AMEdata(8113.5317,0.0119,true,"3663.7325","0.4321","7595.4023","0.4873"), [12,17] => AMEdata(8113.5317,0.0119,true,"3663.7325","0.4321","7595.4023","0.4873"), +"Al29" => AMEdata(8348.4647,0.0119,true,"9428.3609","0.3481","3687.3192","0.3447"), [13,16] => AMEdata(8348.4647,0.0119,true,"9428.3609","0.3481","3687.3192","0.3447"), +"Si29" => AMEdata(8448.6361,0.0002,true,"8473.6025","0.0005","-4942.2325","0.3589"), [14,15] => AMEdata(8448.6361,0.0002,true,"8473.6025","0.0005","-4942.2325","0.3589"), +"P29" => AMEdata(8251.2368,0.0124,true,"17876.3107","1.2021","-13858.4257","13.0459"), [15,14] => AMEdata(8251.2368,0.0124,true,"17876.3107","1.2021","-13858.4257","13.0459"), +"S29" => AMEdata(7746.3826,0.4497,true,"15238.9444","160.5306","-17117#","189#"), [16,13] => AMEdata(7746.3826,0.4497,true,"15238.9444","160.5306","-17117#","189#"), +"Cl29" => AMEdata(7129,7,false,"22319#","534#","-23947#","478#"), [17,12] => AMEdata(7129,7,false,"22319#","534#","-23947#","478#"), +"Ar29" => AMEdata(6276,15,false,"*","","*",""), [18,11] => AMEdata(6276,15,false,"*","","*",""), +"F30" => AMEdata(6205,17,false,"-739#","725#","25680#","561#"), [9,21] => AMEdata(6205,17,false,"-739#","725#","25680#","561#"), +"Ne30" => AMEdata(7034.5317,8.4417,true,"3191.0012","294.0876","14805.4501","253.2946"), [10,20] => AMEdata(7034.5317,8.4417,true,"3191.0012","294.0876","14805.4501","253.2946"), +"Na30" => AMEdata(7501.9685,0.1576,true,"2276.6421","8.7275","17356.0423","4.9011"), [11,19] => AMEdata(7501.9685,0.1576,true,"2276.6421","8.7275","17356.0423","4.9011"), +"Mg30" => AMEdata(8054.4250,0.0432,true,"6340.3306","1.3399","6982.7440","2.3287"), [12,18] => AMEdata(8054.4250,0.0432,true,"6340.3306","1.3399","6982.7440","2.3287"), +"Al30" => AMEdata(8261.1049,0.0645,true,"5727.6723","1.9660","8568.8459","1.9357"), [13,17] => AMEdata(8261.1049,0.0645,true,"5727.6723","1.9660","8568.8459","1.9357"), +"Si30" => AMEdata(8520.6549,0.0008,true,"10609.1989","0.0216","-4232.1065","0.0615"), [14,16] => AMEdata(8520.6549,0.0008,true,"10609.1989","0.0216","-4232.1065","0.0615"), +"P30" => AMEdata(8353.5064,0.0022,true,"11319.3249","0.3648","-6141.6014","0.1956"), [15,15] => AMEdata(8353.5064,0.0022,true,"11319.3249","0.3648","-6141.6014","0.1956"), +"S30" => AMEdata(8122.7081,0.0069,true,"19036.1491","13.0425","-18733.8020","23.8769"), [16,14] => AMEdata(8122.7081,0.0069,true,"19036.1491","13.0425","-18733.8020","23.8769"), +"Cl30" => AMEdata(7472.1698,0.7959,true,"17419#","190#","-17397#","180#"), [17,13] => AMEdata(7472.1698,0.7959,true,"17419#","190#","-17397#","180#"), +"Ar30" => AMEdata(6866,6,false,"23969#","474#","*",""), [18,12] => AMEdata(6866,6,false,"23969#","474#","*",""), +"F31" => AMEdata(6011,17,false,"189#","732#","25661#","597#"), [9,22] => AMEdata(6011,17,false,"189#","732#","25661#","597#"), +"Ne31" => AMEdata(6813.0902,8.5869,true,"169.8440","126.5406","18935.5625","266.5617"), [10,21] => AMEdata(6813.0902,8.5869,true,"169.8440","126.5406","18935.5625","266.5617"), +"Na31" => AMEdata(7398.6778,0.4507,true,"4299.9564","14.7503","15368.1833","14.3065"), [11,20] => AMEdata(7398.6778,0.4507,true,"4299.9564","14.7503","15368.1833","14.3065"), +"Mg31" => AMEdata(7869.1886,0.0992,true,"2312.0974","3.3355","11828.5569","3.8009"), [12,19] => AMEdata(7869.1886,0.0992,true,"2312.0974","3.3355","11828.5569","3.8009"), +"Al31" => AMEdata(8225.5180,0.0721,true,"7157.9103","2.9571","7998.3286","2.2360"), [13,18] => AMEdata(8225.5180,0.0721,true,"7157.9103","2.9571","7998.3286","2.2360"), +"Si31" => AMEdata(8458.2916,0.0014,true,"6587.3930","0.0376","1491.5071","0.0434"), [14,17] => AMEdata(8458.2916,0.0014,true,"6587.3930","0.0376","1491.5071","0.0434"), +"P31" => AMEdata(8481.1677,0.0002,true,"12311.0066","0.0652","-5398.0130","0.2292"), [15,16] => AMEdata(8481.1677,0.0002,true,"12311.0066","0.0652","-5398.0130","0.2292"), +"S31" => AMEdata(8281.8013,0.0074,true,"13054.5951","0.3083","-12007.9790","3.4541"), [16,15] => AMEdata(8281.8013,0.0074,true,"13054.5951","0.3083","-12007.9790","3.4541"), +"Cl31" => AMEdata(7869.2101,0.1112,true,"19780.4181","24.1235","-18360#","200#"), [17,14] => AMEdata(7869.2101,0.1112,true,"19780.4181","24.1235","-18360#","200#"), +"Ar31" => AMEdata(7252,6,false,"18817#","268#","-22935#","361#"), [18,13] => AMEdata(7252,6,false,"18817#","268#","-22935#","361#"), +"K31" => AMEdata(6487,10,false,"*","","*",""), [19,12] => AMEdata(6487,10,false,"*","","*",""), +"Ne32" => AMEdata(6671,16,false,"2254#","569#","18359#","504#"), [10,22] => AMEdata(6671,16,false,"2254#","569#","18359#","504#"), +"Na32" => AMEdata(7219.8815,1.1644,true,"1677.1979","39.7934","19469.0523","37.4021"), [11,21] => AMEdata(7219.8815,1.1644,true,"1677.1979","39.7934","19469.0523","37.4021"), +"Mg32" => AMEdata(7803.8411,0.1019,true,"5778.0669","4.4809","10270.4677","7.8787"), [12,20] => AMEdata(7803.8411,0.1019,true,"5778.0669","4.4809","10270.4677","7.8787"), +"Al32" => AMEdata(8100.3449,0.2241,true,"4219.9777","7.5128","12978.3208","7.1787"), [13,19] => AMEdata(8100.3449,0.2241,true,"4219.9777","7.5128","12978.3208","7.1787"), +"Si32" => AMEdata(8481.4690,0.0093,true,"9199.9699","0.3012","227.1872","0.3008"), [14,18] => AMEdata(8481.4690,0.0093,true,"9199.9699","0.3012","227.1872","0.3008"), +"P32" => AMEdata(8464.1203,0.0013,true,"7935.6500","0.0400","1710.6608","0.0400"), [15,17] => AMEdata(8464.1203,0.0013,true,"7935.6500","0.0400","1710.6608","0.0400"), +"S32" => AMEdata(8493.1301,0.0002,true,"15044.3237","0.2292","-12680.8313","0.5617"), [16,16] => AMEdata(8493.1301,0.0002,true,"15044.3237","0.2292","-12680.8313","0.5617"), +"Cl32" => AMEdata(8072.4058,0.0176,true,"14371.4714","3.4920","-11134.3536","1.8568"), [17,15] => AMEdata(8072.4058,0.0176,true,"14371.4714","3.4920","-11134.3536","1.8568"), +"Ar32" => AMEdata(7700.0089,0.0553,true,"21597#","200#","-24190#","400#"), [18,14] => AMEdata(7700.0089,0.0553,true,"21597#","200#","-24190#","400#"), +"K32" => AMEdata(6920,12,false,"20342#","500#","*",""), [19,13] => AMEdata(6920,12,false,"20342#","500#","*",""), +"Ne33" => AMEdata(6436,18,false,"-1060#","783#","22350#","750#"), [10,23] => AMEdata(6436,18,false,"-1060#","783#","22350#","750#"), +"Na33" => AMEdata(7089.9262,13.6337,true,"2931.3567","451.4519","18817.2400","449.9195"), [11,22] => AMEdata(7089.9262,13.6337,true,"2931.3567","451.4519","18817.2400","449.9195"), +"Mg33" => AMEdata(7636.4382,0.0807,true,"2279.5444","4.2098","13460.2550","7.4767"), [12,21] => AMEdata(7636.4382,0.0807,true,"2279.5444","4.2098","13460.2550","7.4767"), +"Al33" => AMEdata(8020.6172,0.2117,true,"5469.3317","10.0126","12016.9460","7.0211"), [13,20] => AMEdata(8020.6172,0.2117,true,"5469.3317","10.0126","12016.9460","7.0211"), +"Si33" => AMEdata(8361.0596,0.0212,true,"4507.9570","0.7596","5823.0223","1.2947"), [14,19] => AMEdata(8361.0596,0.0212,true,"4507.9570","0.7596","5823.0223","1.2947"), +"P33" => AMEdata(8513.8073,0.0330,true,"10103.7921","1.0907","248.5079","1.0900"), [15,18] => AMEdata(8513.8073,0.0330,true,"10103.7921","1.0907","248.5079","1.0900"), +"S33" => AMEdata(8497.6304,0.0002,true,"8641.6392","0.0005","-5582.5182","0.3908"), [16,17] => AMEdata(8497.6304,0.0002,true,"8641.6392","0.0005","-5582.5182","0.3908"), +"Cl33" => AMEdata(8304.7557,0.0118,true,"15739.9523","0.6843","-11619.0452","0.5596"), [17,16] => AMEdata(8304.7557,0.0118,true,"15739.9523","0.6843","-11619.0452","0.5596"), +"Ar33" => AMEdata(7928.9559,0.0121,true,"15255.2606","1.8146","-16925#","200#"), [18,15] => AMEdata(7928.9559,0.0121,true,"15255.2606","1.8146","-16925#","200#"), +"K33" => AMEdata(7392,6,false,"22521#","447#","-23489#","447#"), [19,14] => AMEdata(7392,6,false,"22521#","447#","-23489#","447#"), +"Ca33" => AMEdata(6657,12,false,"*","","*",""), [20,13] => AMEdata(6657,12,false,"*","","*",""), +"Ne34" => AMEdata(6287,15,false,"1360#","789#","21161#","789#"), [10,24] => AMEdata(6287,15,false,"1360#","789#","21161#","789#"), +"Na34" => AMEdata(6886.4377,17.6299,true,"171.3166","749.4802","23356.7903","599.4561"), [11,23] => AMEdata(6886.4377,17.6299,true,"171.3166","749.4802","23356.7903","599.4561"), +"Mg34" => AMEdata(7550.3919,0.2027,true,"4710.8668","7.3897","11320.9428","7.2072"), [12,22] => AMEdata(7550.3919,0.2027,true,"4710.8668","7.3897","11320.9428","7.2072"), +"Al34" => AMEdata(7860.3506,0.0619,true,"2571.5547","7.2963","16994.0653","2.2519"), [13,21] => AMEdata(7860.3506,0.0619,true,"2571.5547","7.2963","16994.0653","2.2519"), +"Si34" => AMEdata(8337.1659,0.0236,true,"7548.6740","1.0629","4557.0175","1.1395"), [14,20] => AMEdata(8337.1659,0.0236,true,"7548.6740","1.0629","4557.0175","1.1395"), +"P34" => AMEdata(8448.1856,0.0238,true,"6282.6692","1.3582","5382.9879","0.8116"), [15,19] => AMEdata(8448.1856,0.0238,true,"6282.6692","1.3582","5382.9879","0.8116"), +"S34" => AMEdata(8583.4986,0.0013,true,"11417.1492","0.0446","-5491.6037","0.0378"), [16,18] => AMEdata(8583.4986,0.0013,true,"11417.1492","0.0446","-5491.6037","0.0378"), +"Cl34" => AMEdata(8398.9706,0.0014,true,"11508.0637","0.3938","-6061.7930","0.0631"), [17,17] => AMEdata(8398.9706,0.0014,true,"11508.0637","0.3938","-6061.7930","0.0631"), +"Ar34" => AMEdata(8197.6724,0.0023,true,"17065.3159","0.4080","-17158#","196#"), [18,16] => AMEdata(8197.6724,0.0023,true,"17065.3159","0.4080","-17158#","196#"), +"K34" => AMEdata(7670,6,false,"16832#","280#","-16110#","358#"), [19,15] => AMEdata(7670,6,false,"16832#","280#","-16110#","358#"), +"Ca34" => AMEdata(7173,9,false,"24211#","500#","*",""), [20,14] => AMEdata(7173,9,false,"24211#","500#","*",""), +"Na35" => AMEdata(6745,19,false,"1920#","300#","22192#","723#"), [11,24] => AMEdata(6745,19,false,"1920#","300#","22192#","723#"), +"Mg35" => AMEdata(7356.2338,7.7048,true,"754.8562","269.7556","15863.5156","269.7679"), [12,23] => AMEdata(7356.2338,7.7048,true,"754.8562","269.7556","15863.5156","269.7679"), +"Al35" => AMEdata(7787.1243,0.2103,true,"5297.4290","7.6539","14167.7504","36.6047"), [13,22] => AMEdata(7787.1243,0.2103,true,"5297.4290","7.6539","14167.7504","36.6047"), +"Si35" => AMEdata(8169.5644,1.0245,true,"2471.1141","35.8663","10466.3291","35.9049"), [14,21] => AMEdata(8169.5644,1.0245,true,"2471.1141","35.8663","10466.3291","35.9049"), +"P35" => AMEdata(8446.2496,0.0533,true,"8380.4257","2.0348","3988.4006","1.8667"), [15,20] => AMEdata(8446.2496,0.0533,true,"8380.4257","2.0348","3988.4006","1.8667"), +"S35" => AMEdata(8537.8511,0.0012,true,"6985.8384","0.0387","167.3218","0.0257"), [16,19] => AMEdata(8537.8511,0.0012,true,"6985.8384","0.0387","167.3218","0.0257"), +"Cl35" => AMEdata(8520.2790,0.0010,true,"12644.7639","0.0506","-5966.2429","0.6794"), [17,18] => AMEdata(8520.2790,0.0010,true,"12644.7639","0.0506","-5966.2429","0.6794"), +"Ar35" => AMEdata(8327.4621,0.0194,true,"12740.3140","0.6839","-11874.3955","0.8516"), [18,17] => AMEdata(8327.4621,0.0194,true,"12740.3140","0.6839","-11874.3955","0.8516"), +"K35" => AMEdata(7965.8409,0.0146,true,"18024#","196#","-16363#","200#"), [19,16] => AMEdata(7965.8409,0.0146,true,"18024#","196#","-16363#","200#"), +"Ca35" => AMEdata(7476,6,false,"17771#","361#","-21910#","447#"), [20,15] => AMEdata(7476,6,false,"17771#","361#","-21910#","447#"), +"Sc35" => AMEdata(6828,11,false,"*","","*",""), [21,14] => AMEdata(6828,11,false,"*","","*",""), +"Na36" => AMEdata(6557,19,false,"-0#","150#","25523#","974#"), [11,25] => AMEdata(6557,19,false,"-0#","150#","25523#","974#"), +"Mg36" => AMEdata(7244.4202,19.1733,true,"3330.9446","741.0451","14429.7751","706.2429"), [12,24] => AMEdata(7244.4202,19.1733,true,"3330.9446","741.0451","14429.7751","706.2429"), +"Al36" => AMEdata(7623.5154,4.1529,true,"1897.2041","149.6858","18386.5096","165.8510"), [13,23] => AMEdata(7623.5154,4.1529,true,"1897.2041","149.6858","18386.5096","165.8510"), +"Si36" => AMEdata(8112.5199,1.9944,true,"6115.9633","80.2535","7814.9194","72.9852"), [14,22] => AMEdata(8112.5199,1.9944,true,"6115.9633","80.2535","7814.9194","72.9852"), +"P36" => AMEdata(8307.8692,0.3643,true,"3464.5535","13.2432","10413.0962","13.1124"), [15,21] => AMEdata(8307.8692,0.3643,true,"3464.5535","13.2432","10413.0962","13.1124"), +"S36" => AMEdata(8575.3900,0.0052,true,"9889.2491","0.1905","-1142.1329","0.1893"), [16,20] => AMEdata(8575.3900,0.0052,true,"9889.2491","0.1905","-1142.1329","0.1893"), +"Cl36" => AMEdata(8521.9322,0.0010,true,"8579.7945","0.0048","709.5343","0.0449"), [17,19] => AMEdata(8521.9322,0.0010,true,"8579.7945","0.0048","709.5343","0.0449"), +"Ar36" => AMEdata(8519.9096,0.0008,true,"15255.5716","0.6808","-12814.3607","0.3259"), [18,18] => AMEdata(8519.9096,0.0008,true,"15255.5716","0.6808","-12814.3607","0.3259"), +"K36" => AMEdata(8142.2233,0.0090,true,"14315.6064","0.6068","-10966.0155","40.0013"), [19,17] => AMEdata(8142.2233,0.0090,true,"14315.6064","0.6068","-10966.0155","40.0013"), +"Ca36" => AMEdata(7815.8799,1.1111,true,"19713#","204#","-22601#","303#"), [20,16] => AMEdata(7815.8799,1.1111,true,"19713#","204#","-22601#","303#"), +"Sc36" => AMEdata(7166,8,false,"19021#","500#","*",""), [21,15] => AMEdata(7166,8,false,"19021#","500#","*",""), +"Na37" => AMEdata(6403,19,false,"840#","212#","24923#","980#"), [11,26] => AMEdata(6403,19,false,"840#","212#","24923#","980#"), +"Mg37" => AMEdata(7055.1115,18.8905,true,"240.0000","110.0000","18401.9132","721.8139"), [12,25] => AMEdata(7055.1115,18.8905,true,"240.0000","110.0000","18401.9132","721.8139"), +"Al37" => AMEdata(7531.3160,4.8715,true,"4212.1380","234.1786","16381.0765","213.1678"), [13,24] => AMEdata(7531.3160,4.8715,true,"4212.1380","234.1786","16381.0765","213.1678"), +"Si37" => AMEdata(7952.9033,3.0759,true,"2206.7049","134.5638","12424.5003","119.9691"), [14,23] => AMEdata(7952.9033,3.0759,true,"2206.7049","134.5638","12424.5003","119.9691"), +"P37" => AMEdata(8267.5561,1.0256,true,"6816.2857","40.1489","7900.4135","37.9474"), [15,22] => AMEdata(8267.5561,1.0256,true,"6816.2857","40.1489","7900.4135","37.9474"), +"S37" => AMEdata(8459.9363,0.0054,true,"4303.6031","0.0630","4865.1258","0.1965"), [16,21] => AMEdata(8459.9363,0.0054,true,"4303.6031","0.0630","4865.1258","0.1965"), +"Cl37" => AMEdata(8570.2816,0.0014,true,"10310.8617","0.0640","-813.8729","0.2000"), [17,20] => AMEdata(8570.2816,0.0014,true,"10310.8617","0.0640","-813.8729","0.2000"), +"Ar37" => AMEdata(8527.1406,0.0056,true,"8787.4546","0.2084","-6147.4775","0.2270"), [18,19] => AMEdata(8527.1406,0.0056,true,"8787.4546","0.2084","-6147.4775","0.2270"), +"K37" => AMEdata(8339.8480,0.0025,true,"15454.3377","0.3381","-11664.1314","0.6412"), [19,18] => AMEdata(8339.8480,0.0025,true,"15454.3377","0.3381","-11664.1314","0.6412"), +"Ca37" => AMEdata(8003.4567,0.0171,true,"14756.2218","40.0050","-16916#","300#"), [20,17] => AMEdata(8003.4567,0.0171,true,"14756.2218","40.0050","-16916#","300#"), +"Sc37" => AMEdata(7525,8,false,"20442#","424#","-21390#","500#"), [21,16] => AMEdata(7525,8,false,"20442#","424#","-21390#","500#"), +"Ti37" => AMEdata(6926,11,false,"*","","*",""), [22,15] => AMEdata(6926,11,false,"*","","*",""), +"Na38" => AMEdata(6216,19,false,"-700#","200#","27831#","875#"), [11,27] => AMEdata(6216,19,false,"-700#","200#","27831#","875#"), +"Mg38" => AMEdata(6928,13,false,"2209#","861#","17604#","525#"), [12,26] => AMEdata(6928,13,false,"2209#","861#","17604#","525#"), +"Al38" => AMEdata(7370,4,false,"1411#","234#","20640#","183#"), [13,25] => AMEdata(7370,4,false,"1411#","234#","20640#","183#"), +"Si38" => AMEdata(7892.8297,2.7577,true,"5670.1051","154.7067","10451.2656","127.4736"), [14,24] => AMEdata(7892.8297,2.7577,true,"5670.1051","154.7067","10451.2656","127.4736"), +"P38" => AMEdata(8147.2749,1.9100,true,"3696.8704","81.9022","12239.6512","72.9340"), [15,23] => AMEdata(8147.2749,1.9100,true,"3696.8704","81.9022","12239.6512","72.9340"), +"S38" => AMEdata(8448.7829,0.1887,true,"8036.1081","7.1745","2936.9000","7.1714"), [16,22] => AMEdata(8448.7829,0.1887,true,"8036.1081","7.1745","2936.9000","7.1714"), +"Cl38" => AMEdata(8505.4817,0.0026,true,"6107.8823","0.0832","4916.7109","0.2182"), [17,21] => AMEdata(8505.4817,0.0026,true,"6107.8823","0.0832","4916.7109","0.2182"), +"Ar38" => AMEdata(8614.2807,0.0051,true,"11838.4660","0.2841","-5914.0671","0.0448"), [18,20] => AMEdata(8614.2807,0.0051,true,"11838.4660","0.2841","-5914.0671","0.0448"), +"K38" => AMEdata(8438.0593,0.0051,true,"12071.8765","0.2167","-6742.2563","0.0626"), [19,19] => AMEdata(8438.0593,0.0051,true,"12071.8765","0.2167","-6742.2563","0.0626"), +"Ca38" => AMEdata(8240.0434,0.0051,true,"16993.7515","0.6634","-17809#","200#"), [20,18] => AMEdata(8240.0434,0.0051,true,"16993.7515","0.6634","-17809#","200#"), +"Sc38" => AMEdata(7751,5,false,"16101#","361#","-15619#","361#"), [21,17] => AMEdata(7751,5,false,"16101#","361#","-15619#","361#"), +"Ti38" => AMEdata(7319,8,false,"21871#","500#","*",""), [22,16] => AMEdata(7319,8,false,"21871#","500#","*",""), +"Na39" => AMEdata(6056,19,false,"-0#","200#","27201#","903#"), [11,28] => AMEdata(6056,19,false,"-0#","200#","27201#","903#"), +"Mg39" => AMEdata(6734,13,false,"-630#","100#","21286#","594#"), [12,27] => AMEdata(6734,13,false,"-630#","100#","21286#","594#"), +"Al39" => AMEdata(7260,8,false,"3051#","335#","19169#","329#"), [13,26] => AMEdata(7260,8,false,"3051#","335#","19169#","329#"), +"Si39" => AMEdata(7730.9793,3.4752,true,"1580.6672","171.3202","15094.9874","176.2324"), [14,25] => AMEdata(7730.9793,3.4752,true,"1580.6672","171.3202","15094.9874","176.2324"), +"P39" => AMEdata(8097.9701,2.8883,true,"6224.3889","134.0028","10388.0361","123.2430"), [15,24] => AMEdata(8097.9701,2.8883,true,"6224.3889","134.0028","10388.0361","123.2430"), +"S39" => AMEdata(8344.2698,1.2821,true,"4372.7738","50.5118","6637.5463","50.0300"), [16,23] => AMEdata(8344.2698,1.2821,true,"4372.7738","50.5118","6637.5463","50.0300"), +"Cl39" => AMEdata(8494.4032,0.0444,true,"8073.4201","1.7333","3441.9774","5.2915"), [17,22] => AMEdata(8494.4032,0.0444,true,"8073.4201","1.7333","3441.9774","5.2915"), +"Ar39" => AMEdata(8562.5988,0.1282,true,"6598.6867","5.0038","565.0000","5.0000"), [18,21] => AMEdata(8562.5988,0.1282,true,"6598.6867","5.0038","565.0000","5.0000"), +"K39" => AMEdata(8557.0258,0.0003,true,"13077.7537","0.1953","-6524.4888","0.5962"), [19,20] => AMEdata(8557.0258,0.0003,true,"13077.7537","0.1953","-6524.4888","0.5962"), +"Ca39" => AMEdata(8369.6711,0.0153,true,"13295.5213","0.6271","-13109.9804","24.0074"), [20,19] => AMEdata(8369.6711,0.0153,true,"13295.5213","0.6271","-13109.9804","24.0074"), +"Sc39" => AMEdata(8013.4575,0.6154,true,"17995#","202#","-16673#","202#"), [21,18] => AMEdata(8013.4575,0.6154,true,"17995#","202#","-16673#","202#"), +"Ti39" => AMEdata(7566,5,false,"16941#","361#","-20070#","447#"), [22,17] => AMEdata(7566,5,false,"16941#","361#","-20070#","447#"), +"V39" => AMEdata(7031,10,false,"*","","*",""), [23,16] => AMEdata(7031,10,false,"*","","*",""), +"Mg40" => AMEdata(6598,13,false,"1297#","716#","20729#","583#"), [12,28] => AMEdata(6598,13,false,"1297#","716#","20729#","583#"), +"Al40" => AMEdata(7097,7,false,"740#","424#","23154#","324#"), [13,27] => AMEdata(7097,7,false,"740#","424#","23154#","324#"), +"Si40" => AMEdata(7655.8247,3.0498,true,"4724.7939","182.3478","13806.0653","147.8912"), [14,26] => AMEdata(7655.8247,3.0498,true,"4724.7939","182.3478","13806.0653","147.8912"), +"P40" => AMEdata(7981.4177,2.0902,true,"3435.8718","140.2816","14698.6603","83.7017"), [15,25] => AMEdata(7981.4177,2.0902,true,"3435.8718","140.2816","14698.6603","83.7017"), +"S40" => AMEdata(8329.3255,0.0996,true,"7746.4960","50.1583","4719.9687","32.3118"), [16,24] => AMEdata(8329.3255,0.0996,true,"7746.4960","50.1583","4719.9687","32.3118"), +"Cl40" => AMEdata(8427.7660,0.8016,true,"5828.9185","32.1123","7482.0816","32.0655"), [17,23] => AMEdata(8427.7660,0.8016,true,"5828.9185","32.1123","7482.0816","32.0655"), +"Ar40" => AMEdata(8595.2594,0.0002,true,"9869.0227","5.0000","-1504.4031","0.0559"), [18,22] => AMEdata(8595.2594,0.0002,true,"9869.0227","5.0000","-1504.4031","0.0559"), +"K40" => AMEdata(8538.0907,0.0014,true,"7799.6195","0.0559","1310.9051","0.0596"), [19,21] => AMEdata(8538.0907,0.0014,true,"7799.6195","0.0559","1310.9051","0.0596"), +"Ca40" => AMEdata(8551.3046,0.0006,true,"15635.0134","0.5965","-14323.0493","2.8281"), [20,20] => AMEdata(8551.3046,0.0006,true,"15635.0134","0.5965","-14323.0493","2.8281"), +"Sc40" => AMEdata(8173.6697,0.0707,true,"14421.9445","24.1661","-11529.9139","68.3023"), [21,19] => AMEdata(8173.6697,0.0707,true,"14421.9445","24.1661","-11529.9139","68.3023"), +"Ti40" => AMEdata(7865.8632,1.7061,true,"19565#","212#","-21463#","308#"), [22,18] => AMEdata(7865.8632,1.7061,true,"19565#","212#","-21463#","308#"), +"V40" => AMEdata(7310,7,false,"18172#","500#","*",""), [23,17] => AMEdata(7310,7,false,"18172#","500#","*",""), +"Mg41" => AMEdata(6425,12,false,"-479#","707#","23510#","640#"), [12,29] => AMEdata(6425,12,false,"-479#","707#","23510#","640#"), +"Al41" => AMEdata(6980,10,false,"2302#","500#","21390#","500#"), [13,28] => AMEdata(6980,10,false,"2302#","500#","21390#","500#"), +"Si41" => AMEdata(7482,7,false,"538#","324#","18180#","323#"), [14,27] => AMEdata(7482,7,false,"538#","324#","18180#","323#"), +"P41" => AMEdata(7906.5513,2.9308,true,"4911.8962","146.3872","14028.8125","120.2326"), [15,26] => AMEdata(7906.5513,2.9308,true,"4911.8962","146.3872","14028.8125","120.2326"), +"S41" => AMEdata(8229.6358,0.1000,true,"4242.0484","5.7145","8298.6116","68.8456"), [16,25] => AMEdata(8229.6358,0.1000,true,"4242.0484","5.7145","8298.6116","68.8456"), +"Cl41" => AMEdata(8412.9593,1.6762,true,"7820.6912","75.8361","5760.3180","68.7243"), [17,24] => AMEdata(8412.9593,1.6762,true,"7820.6912","75.8361","5760.3180","68.7243"), +"Ar41" => AMEdata(8534.3733,0.0085,true,"6098.9277","0.3473","2492.0392","0.3473"), [18,23] => AMEdata(8534.3733,0.0085,true,"6098.9277","0.3473","2492.0392","0.3473"), +"K41" => AMEdata(8576.0731,0.0003,true,"10095.3700","0.0560","-421.6406","0.1377"), [19,22] => AMEdata(8576.0731,0.0003,true,"10095.3700","0.0560","-421.6406","0.1377"), +"Ca41" => AMEdata(8546.7075,0.0034,true,"8362.8243","0.1362","-6495.5482","0.1553"), [20,21] => AMEdata(8546.7075,0.0034,true,"8362.8243","0.1362","-6495.5482","0.1553"), +"Sc41" => AMEdata(8369.1979,0.0019,true,"16190.3254","2.8291","-12944.8214","27.9449"), [21,20] => AMEdata(8369.1979,0.0019,true,"16190.3254","2.8291","-12944.8214","27.9449"), +"Ti41" => AMEdata(8034.3889,0.6816,true,"14775.4180","73.7436","-16008#","202#"), [22,19] => AMEdata(8034.3889,0.6816,true,"14775.4180","73.7436","-16008#","202#"), +"V41" => AMEdata(7625,5,false,"20231#","361#","-20100#","447#"), [23,18] => AMEdata(7625,5,false,"20231#","361#","-20100#","447#"), +"Cr41" => AMEdata(7116,10,false,"*","","*",""), [24,17] => AMEdata(7116,10,false,"*","","*",""), +"Al42" => AMEdata(6829,12,false,"672#","640#","25150#","583#"), [13,29] => AMEdata(6829,12,false,"672#","640#","25150#","583#"), +"Si42" => AMEdata(7410,7,false,"4432#","424#","15748#","315#"), [14,28] => AMEdata(7410,7,false,"4432#","424#","15748#","315#"), +"P42" => AMEdata(7765.9122,2.2621,true,"1999.7084","153.1857","18729.5899","95.0504"), [15,27] => AMEdata(7765.9122,2.2621,true,"1999.7084","153.1857","18729.5899","95.0504"), +"S42" => AMEdata(8193.2275,0.0665,true,"6700.4858","4.9606","7194.0221","59.6811"), [16,26] => AMEdata(8193.2275,0.0665,true,"6700.4858","4.9606","7194.0221","59.6811"), +"Cl42" => AMEdata(8345.8864,1.4194,true,"5595.8963","90.9777","9590.9082","59.8947"), [17,25] => AMEdata(8345.8864,1.4194,true,"5595.8963","90.9777","9590.9082","59.8947"), +"Ar42" => AMEdata(8555.6141,0.1375,true,"9426.4865","5.7858","599.3527","5.7763"), [18,24] => AMEdata(8555.6141,0.1375,true,"9426.4865","5.7858","599.3527","5.7763"), +"K42" => AMEdata(8551.2571,0.0025,true,"7533.8000","0.1061","3525.2626","0.1825"), [19,23] => AMEdata(8551.2571,0.0025,true,"7533.8000","0.1061","3525.2626","0.1825"), +"Ca42" => AMEdata(8616.5646,0.0035,true,"11480.7032","0.0556","-6426.2904","0.0485"), [20,22] => AMEdata(8616.5646,0.0035,true,"11480.7032","0.0556","-6426.2904","0.0485"), +"Sc42" => AMEdata(8444.9303,0.0037,true,"11549.9610","0.1579","-7016.6496","0.2239"), [21,21] => AMEdata(8444.9303,0.0037,true,"11549.9610","0.1579","-7016.6496","0.2239"), +"Ti42" => AMEdata(8259.2400,0.0064,true,"17478.1327","27.9461","-17485#","196#"), [22,20] => AMEdata(8259.2400,0.0064,true,"17478.1327","27.9461","-17485#","196#"), +"V42" => AMEdata(7824,5,false,"16001#","280#","-14679#","358#"), [23,19] => AMEdata(7824,5,false,"16001#","280#","-14679#","358#"), +"Cr42" => AMEdata(7456,7,false,"21421#","500#","*",""), [24,18] => AMEdata(7456,7,false,"21421#","500#","*",""), +"Al43" => AMEdata(6712,14,false,"1791#","781#","23940#","721#"), [13,30] => AMEdata(6712,14,false,"1791#","781#","23940#","721#"), +"Si43" => AMEdata(7251,9,false,"581#","500#","19289#","500#"), [14,29] => AMEdata(7251,9,false,"581#","500#","19289#","500#"), +"P43" => AMEdata(7681,7,false,"4123#","315#","17236#","300#"), [15,28] => AMEdata(7681,7,false,"4123#","315#","17236#","300#"), +"S43" => AMEdata(8063.8276,0.1156,true,"2629.0309","5.7020","11964.0500","62.0579"), [16,27] => AMEdata(8063.8276,0.1156,true,"2629.0309","5.7020","11964.0500","62.0579"), +"Cl43" => AMEdata(8323.8672,1.4386,true,"7399.0588","85.9098","7850.3002","62.0860"), [17,26] => AMEdata(8323.8672,1.4386,true,"7399.0588","85.9098","7850.3002","62.0860"), +"Ar43" => AMEdata(8488.2382,0.1235,true,"5658.4507","7.8450","4565.5836","5.3254"), [18,25] => AMEdata(8488.2382,0.1235,true,"5658.4507","7.8450","4565.5836","5.3254"), +"K43" => AMEdata(8576.2204,0.0095,true,"9624.6817","0.4234","1833.4783","0.4687"), [19,24] => AMEdata(8576.2204,0.0095,true,"9624.6817","0.4234","1833.4783","0.4687"), +"Ca43" => AMEdata(8600.6653,0.0053,true,"7932.8974","0.1731","-2220.7227","1.8650"), [20,23] => AMEdata(8600.6653,0.0053,true,"7932.8974","0.1731","-2220.7227","1.8650"), +"Sc43" => AMEdata(8530.8265,0.0433,true,"12138.4650","1.8576","-6872.5591","6.0147"), [21,22] => AMEdata(8530.8265,0.0433,true,"12138.4650","1.8576","-6872.5591","6.0147"), +"Ti43" => AMEdata(8352.8054,0.1330,true,"12282.5556","5.7253","-11399.2333","43.2287"), [22,21] => AMEdata(8352.8054,0.1330,true,"12282.5556","5.7253","-11399.2333","43.2287"), +"V43" => AMEdata(8069.5129,0.9965,true,"18368#","200#","-15946#","205#"), [23,20] => AMEdata(8069.5129,0.9965,true,"18368#","200#","-15946#","205#"), +"Cr43" => AMEdata(7680,5,false,"17101#","361#","-19340#","447#"), [24,19] => AMEdata(7680,5,false,"17101#","361#","-19340#","447#"), +"Mn43" => AMEdata(7213,9,false,"*","","*",""), [25,18] => AMEdata(7213,9,false,"*","","*",""), +"Si44" => AMEdata(7156,11,false,"3091#","640#","18200#","640#"), [14,30] => AMEdata(7156,11,false,"3091#","640#","18200#","640#"), +"P44" => AMEdata(7552,9,false,"2002#","500#","20314#","400#"), [15,29] => AMEdata(7552,9,false,"2002#","500#","20314#","400#"), +"S44" => AMEdata(7996.0154,0.1186,true,"5080.0937","7.2051","11274.7373","85.7253"), [16,28] => AMEdata(7996.0154,0.1186,true,"5080.0937","7.2051","11274.7373","85.7253"), +"Cl44" => AMEdata(8234.4788,1.9447,true,"4390.7810","105.5845","12194.2869","85.5811"), [17,27] => AMEdata(8234.4788,1.9447,true,"4390.7810","105.5845","12194.2869","85.5811"), +"Ar44" => AMEdata(8493.8411,0.0360,true,"8734.7676","5.5407","3108.2375","1.6381"), [18,26] => AMEdata(8493.8411,0.0360,true,"8734.7676","5.5407","3108.2375","1.6381"), +"K44" => AMEdata(8546.7023,0.0095,true,"7277.4215","0.5862","5687.2319","0.5303"), [19,25] => AMEdata(8546.7023,0.0095,true,"7277.4215","0.5862","5687.2319","0.5303"), +"Ca44" => AMEdata(8658.1769,0.0074,true,"11131.1752","0.2345","-3652.6948","1.7565"), [20,24] => AMEdata(8658.1769,0.0074,true,"11131.1752","0.2345","-3652.6948","1.7565"), +"Sc44" => AMEdata(8557.3805,0.0399,true,"9699.2031","2.5512","-267.4488","1.8899"), [21,23] => AMEdata(8557.3805,0.0399,true,"9699.2031","2.5512","-267.4488","1.8899"), +"Ti44" => AMEdata(8533.5215,0.0159,true,"16304.3134","5.7616","-13740.5071","7.2986"), [22,22] => AMEdata(8533.5215,0.0159,true,"16304.3134","5.7616","-13740.5071","7.2986"), +"V44" => AMEdata(8203.4567,0.1651,true,"13963.0395","43.4602","-10386.1805","51.7447"), [23,21] => AMEdata(8203.4567,0.1651,true,"13963.0395","43.4602","-10386.1805","51.7447"), +"Cr44" => AMEdata(7949.6265,1.1644,true,"19523#","207#","-20882#","304#"), [24,20] => AMEdata(7949.6265,1.1644,true,"19523#","207#","-20882#","304#"), +"Mn44" => AMEdata(7457,7,false,"17981#","500#","*",""), [25,19] => AMEdata(7457,7,false,"17981#","500#","*",""), +"Si45" => AMEdata(7004,13,false,"291#","781#","21130#","781#"), [14,31] => AMEdata(7004,13,false,"291#","781#","21130#","781#"), +"P45" => AMEdata(7456,11,false,"3221#","640#","19301#","583#"), [15,30] => AMEdata(7456,11,false,"3221#","640#","19301#","583#"), +"S45" => AMEdata(7867,7,false,"2207#","300#","14922#","329#"), [16,29] => AMEdata(7867,7,false,"2207#","300#","14922#","329#"), +"Cl45" => AMEdata(8181.5991,3.0259,true,"5854.8891","160.8169","11508.2568","136.1643"), [17,28] => AMEdata(8181.5991,3.0259,true,"5854.8891","160.8169","11508.2568","136.1643"), +"Ar45" => AMEdata(8419.9526,0.0114,true,"5168.8590","1.6644","6844.8422","0.7311"), [18,27] => AMEdata(8419.9526,0.0114,true,"5168.8590","1.6644","6844.8422","0.7311"), +"K45" => AMEdata(8554.6747,0.0116,true,"8905.4638","0.6692","4196.5868","0.6369"), [19,26] => AMEdata(8554.6747,0.0116,true,"8905.4638","0.6692","4196.5868","0.6369"), +"Ca45" => AMEdata(8630.5467,0.0081,true,"7414.8186","0.1715","260.0910","0.7377"), [20,25] => AMEdata(8630.5467,0.0081,true,"7414.8186","0.1715","260.0910","0.7377"), +"Sc45" => AMEdata(8618.9410,0.0147,true,"11327.6044","1.8737","-2062.0551","0.5086"), [21,24] => AMEdata(8618.9410,0.0147,true,"11327.6044","1.8737","-2062.0551","0.5086"), +"Ti45" => AMEdata(8555.7321,0.0186,true,"9532.9981","1.0904","-7123.8247","0.2142"), [22,23] => AMEdata(8555.7321,0.0186,true,"9532.9981","1.0904","-7123.8247","0.2142"), +"V45" => AMEdata(8380.0394,0.0192,true,"16149.6805","7.3160","-12371.6400","35.4073"), [23,22] => AMEdata(8380.0394,0.0192,true,"16149.6805","7.3160","-12371.6400","35.4073"), +"Cr45" => AMEdata(8087.7286,0.7866,true,"14164.2210","62.2709","-14535#","302#"), [24,21] => AMEdata(8087.7286,0.7866,true,"14164.2210","62.2709","-14535#","302#"), +"Mn45" => AMEdata(7747,7,false,"20511#","424#","-19388#","412#"), [25,20] => AMEdata(7747,7,false,"20511#","424#","-19388#","412#"), +"Fe45" => AMEdata(7299,6,false,"*","","*",""), [26,19] => AMEdata(7299,6,false,"*","","*",""), +"P46" => AMEdata(7320,11,false,"1191#","707#","22200#","640#"), [15,31] => AMEdata(7320,11,false,"1191#","707#","22200#","640#"), +"S46" => AMEdata(7785,9,false,"4091#","500#","14375#","411#"), [16,30] => AMEdata(7785,9,false,"4091#","500#","14375#","411#"), +"Cl46" => AMEdata(8080.7757,2.1141,true,"3543.7223","167.3254","16036.3062","97.2766"), [17,29] => AMEdata(8080.7757,2.1141,true,"3543.7223","167.3254","16036.3062","97.2766"), +"Ar46" => AMEdata(8412.3835,0.0506,true,"8071.7717","2.3844","5642.6746","2.4394"), [18,28] => AMEdata(8412.3835,0.0506,true,"8071.7717","2.3844","5642.6746","2.4394"), +"K46" => AMEdata(8518.0428,0.0158,true,"6869.6041","0.8944","7725.6802","2.3490"), [19,27] => AMEdata(8518.0428,0.0158,true,"6869.6041","0.8944","7725.6802","2.3490"), +"Ca46" => AMEdata(8668.9848,0.0486,true,"10398.6975","2.2634","-1377.9665","2.3305"), [20,26] => AMEdata(8668.9848,0.0486,true,"10398.6975","2.2634","-1377.9665","2.3305"), +"Sc46" => AMEdata(8622.0215,0.0146,true,"8760.6400","0.1037","2366.6260","0.6666"), [21,25] => AMEdata(8622.0215,0.0146,true,"8760.6400","0.1037","2366.6260","0.6666"), +"Ti46" => AMEdata(8656.4623,0.0020,true,"13189.3211","0.8320","-7052.3723","0.0923"), [22,24] => AMEdata(8656.4623,0.0020,true,"13189.3211","0.8320","-7052.3723","0.0923"), +"V46" => AMEdata(8486.1423,0.0029,true,"13260.7735","0.8642","-7604.3264","11.4538"), [23,23] => AMEdata(8486.1423,0.0029,true,"13260.7735","0.8642","-7604.3264","11.4538"), +"Cr46" => AMEdata(8303.8233,0.2490,true,"18028.0871","37.2035","-17053.8226","87.3828"), [24,22] => AMEdata(8303.8233,0.2490,true,"18028.0871","37.2035","-17053.8226","87.3828"), +"Mn46" => AMEdata(7916.0805,1.8832,true,"15509#","312#","-13628#","312#"), [25,21] => AMEdata(7916.0805,1.8832,true,"15509#","312#","-13628#","312#"), +"Fe46" => AMEdata(7603,7,false,"21269#","412#","*",""), [26,20] => AMEdata(7603,7,false,"21269#","412#","*",""), +"P47" => AMEdata(7209,13,false,"2101#","781#","21610#","721#"), [15,32] => AMEdata(7209,13,false,"2101#","781#","21610#","721#"), +"S47" => AMEdata(7652,9,false,"1511#","565#","16781#","447#"), [16,31] => AMEdata(7652,9,false,"1511#","565#","16781#","447#"), +"Cl47" => AMEdata(7992,4,false,"3917#","223#","15787#","200#"), [17,30] => AMEdata(7992,4,false,"3917#","223#","15787#","200#"), +"Ar47" => AMEdata(8311.4250,0.0258,true,"3667.3371","2.6248","10344.7078","1.8490"), [18,29] => AMEdata(8311.4250,0.0258,true,"3667.3371","2.6248","10344.7078","1.8490"), +"K47" => AMEdata(8514.8795,0.0297,true,"8369.3703","1.5749","6632.6837","2.6237"), [19,28] => AMEdata(8514.8795,0.0297,true,"8369.3703","1.5749","6632.6837","2.6237"), +"Ca47" => AMEdata(8639.3548,0.0473,true,"7276.3738","0.2682","1992.1770","1.1849"), [20,27] => AMEdata(8639.3548,0.0473,true,"7276.3738","0.2682","1992.1770","1.1849"), +"Sc47" => AMEdata(8665.0958,0.0411,true,"10646.5173","2.0419","600.7694","1.9292"), [21,26] => AMEdata(8665.0958,0.0411,true,"10646.5173","2.0419","600.7694","1.9292"), +"Ti47" => AMEdata(8661.2325,0.0017,true,"8880.6607","0.0635","-2930.5422","0.0879"), [22,25] => AMEdata(8661.2325,0.0017,true,"8880.6607","0.0635","-2930.5422","0.0879"), +"V47" => AMEdata(8582.2348,0.0024,true,"13002.4908","0.1056","-7443.9769","5.1976"), [23,24] => AMEdata(8582.2348,0.0024,true,"13002.4908","0.1056","-7443.9769","5.1976"), +"Cr47" => AMEdata(8407.2067,0.1106,true,"13162.8404","12.5768","-11996.7167","32.0943"), [24,23] => AMEdata(8407.2067,0.1106,true,"13162.8404","12.5768","-11996.7167","32.0943"), +"Mn47" => AMEdata(8135.3117,0.6738,true,"18219.9463","92.2367","-15437#","501#"), [25,22] => AMEdata(8135.3117,0.6738,true,"18219.9463","92.2367","-15437#","501#"), +"Fe47" => AMEdata(7790,11,false,"16411#","583#","-17750#","781#"), [26,21] => AMEdata(7790,11,false,"16411#","583#","-17750#","781#"), +"Co47" => AMEdata(7396,13,false,"*","","*",""), [27,20] => AMEdata(7396,13,false,"*","","*",""), +"S48" => AMEdata(7552,10,false,"2882#","640#","16670#","707#"), [16,32] => AMEdata(7552,10,false,"2882#","640#","16670#","707#"), +"Cl48" => AMEdata(7883,10,false,"2771#","539#","18075#","500#"), [17,31] => AMEdata(7883,10,false,"2771#","539#","18075#","500#"), +"Ar48" => AMEdata(8243.6656,0.3493,true,"5058.9711","16.8106","9929.5550","16.7847"), [18,30] => AMEdata(8243.6656,0.3493,true,"5058.9711","16.8106","9929.5550","16.7847"), +"K48" => AMEdata(8434.2324,0.0161,true,"4643.8184","1.5969","11940.3857","0.7734"), [19,29] => AMEdata(8434.2324,0.0161,true,"4643.8184","1.5969","11940.3857","0.7734"), +"Ca48" => AMEdata(8666.6916,0.0004,true,"9951.5203","2.2207","279.2155","4.9499"), [20,28] => AMEdata(8666.6916,0.0004,true,"9951.5203","2.2207","279.2155","4.9499"), +"Sc48" => AMEdata(8656.2097,0.1031,true,"8238.5588","5.3126","3988.8685","4.9499"), [21,27] => AMEdata(8656.2097,0.1031,true,"8238.5588","5.3126","3988.8685","4.9499"), +"Ti48" => AMEdata(8723.0122,0.0016,true,"11626.6579","0.0319","-4014.9467","0.9691"), [22,26] => AMEdata(8723.0122,0.0016,true,"11626.6579","0.0319","-4014.9467","0.9691"), +"V48" => AMEdata(8623.0686,0.0202,true,"10542.2534","0.9713","-1656.6918","7.3746"), [23,25] => AMEdata(8623.0686,0.0202,true,"10542.2534","0.9713","-1656.6918","7.3746"), +"Cr48" => AMEdata(8572.2553,0.1523,true,"16329.5384","8.9696","-13524.6692","9.9157"), [24,24] => AMEdata(8572.2553,0.1523,true,"16329.5384","8.9696","-13524.6692","9.9157"), +"Mn48" => AMEdata(8274.1924,0.1396,true,"14801.5859","32.3715","-11288.0685","92.4609"), [25,23] => AMEdata(8274.1924,0.1396,true,"14801.5859","32.3715","-11288.0685","92.4609"), +"Fe48" => AMEdata(8022.7254,1.9212,true,"18950#","509#","-19738#","509#"), [26,22] => AMEdata(8022.7254,1.9212,true,"18950#","509#","-19738#","509#"), +"Co48" => AMEdata(7595,10,false,"16961#","781#","-16448#","656#"), [27,21] => AMEdata(7595,10,false,"16961#","781#","-16448#","656#"), +"Ni48" => AMEdata(7236,9,false,"*","","*",""), [28,20] => AMEdata(7236,9,false,"*","","*",""), +"S49" => AMEdata(7400,12,false,"70#","300#","19652#","707#"), [16,33] => AMEdata(7400,12,false,"70#","300#","19652#","707#"), +"Cl49" => AMEdata(7785,8,false,"3051#","640#","17800#","565#"), [17,32] => AMEdata(7785,8,false,"3051#","640#","17800#","565#"), +"Ar49" => AMEdata(8132,8,false,"2777#","400#","12551#","400#"), [18,31] => AMEdata(8132,8,false,"2777#","400#","12551#","400#"), +"K49" => AMEdata(8372.2753,0.0164,true,"5398.3318","1.1133","11688.5069","0.8205"), [19,30] => AMEdata(8372.2753,0.0164,true,"5398.3318","1.1133","11688.5069","0.8205"), +"Ca49" => AMEdata(8594.8500,0.0036,true,"5146.4529","0.1766","5262.4445","2.2745"), [20,29] => AMEdata(8594.8500,0.0036,true,"5146.4529","0.1766","5262.4445","2.2745"), +"Sc49" => AMEdata(8686.2805,0.0463,true,"10129.6819","5.4445","2001.5652","2.2684"), [21,28] => AMEdata(8686.2805,0.0463,true,"10129.6819","5.4445","2001.5652","2.2684"), +"Ti49" => AMEdata(8711.1625,0.0016,true,"8142.3786","0.0235","-601.8555","0.8203"), [22,27] => AMEdata(8711.1625,0.0016,true,"8142.3786","0.0235","-601.8555","0.8203"), +"V49" => AMEdata(8682.9135,0.0168,true,"11555.4698","1.2699","-2629.8047","2.3487"), [23,26] => AMEdata(8682.9135,0.0168,true,"11555.4698","1.2699","-2629.8047","2.3487"), +"Cr49" => AMEdata(8613.2777,0.0449,true,"10582.3569","7.6343","-7712.4265","0.2329"), [24,25] => AMEdata(8613.2777,0.0449,true,"10582.3569","7.6343","-7712.4265","0.2329"), +"Mn49" => AMEdata(8439.9150,0.0452,true,"16394.5996","7.0550","-12869.1957","24.3199"), [25,24] => AMEdata(8439.9150,0.0452,true,"16394.5996","7.0550","-12869.1957","24.3199"), +"Fe49" => AMEdata(8161.3121,0.4943,true,"14813.4724","95.3451","-14971#","501#"), [26,23] => AMEdata(8161.3121,0.4943,true,"14813.4724","95.3451","-14971#","501#"), +"Co49" => AMEdata(7840,10,false,"19581#","707#","-18309#","781#"), [27,22] => AMEdata(7840,10,false,"19581#","707#","-18309#","781#"), +"Ni49" => AMEdata(7450,12,false,"17720#","735#","*",""), [28,21] => AMEdata(7450,12,false,"17720#","735#","*",""), +"Cl50" => AMEdata(7651,8,false,"1111#","565#","20930#","640#"), [17,33] => AMEdata(7651,8,false,"1111#","565#","20930#","640#"), +"Ar50" => AMEdata(8054,10,false,"4241#","640#","12498#","500#"), [18,32] => AMEdata(8054,10,false,"4241#","640#","12498#","500#"), +"K50" => AMEdata(8288.5833,0.1546,true,"4187.6750","7.7728","13861.3774","7.8919"), [19,31] => AMEdata(8288.5833,0.1546,true,"4187.6750","7.7728","13861.3774","7.8919"), +"Ca50" => AMEdata(8550.1639,0.0317,true,"6360.5456","1.5935","4947.8903","2.9723"), [20,30] => AMEdata(8550.1639,0.0317,true,"6360.5456","1.5935","4947.8903","2.9723"), +"Sc50" => AMEdata(8633.4747,0.0503,true,"6045.9914","3.3866","6894.7470","2.5166"), [21,29] => AMEdata(8633.4747,0.0503,true,"6045.9914","3.3866","6894.7470","2.5166"), +"Ti50" => AMEdata(8755.7227,0.0017,true,"10939.1732","0.0311","-2208.6274","0.0579"), [22,28] => AMEdata(8755.7227,0.0017,true,"10939.1732","0.0311","-2208.6274","0.0579"), +"V50" => AMEdata(8695.9032,0.0019,true,"9332.4013","0.8223","1038.1240","0.0551"), [23,27] => AMEdata(8695.9032,0.0019,true,"9332.4013","0.8223","1038.1240","0.0551"), +"Cr50" => AMEdata(8701.0188,0.0019,true,"13000.3301","2.2000","-7634.4776","0.0672"), [24,26] => AMEdata(8701.0188,0.0019,true,"13000.3301","2.2000","-7634.4776","0.0672"), +"Mn50" => AMEdata(8532.6823,0.0023,true,"13078.2790","2.2133","-8150.4267","8.3842"), [25,25] => AMEdata(8532.6823,0.0023,true,"13078.2790","2.2133","-8150.4267","8.3842"), +"Fe50" => AMEdata(8354.0268,0.1677,true,"17797.0480","25.6288","-16887.0566","126.0308"), [26,24] => AMEdata(8354.0268,0.1677,true,"17797.0480","25.6288","-16887.0566","126.0308"), +"Co50" => AMEdata(8000.6387,2.5150,true,"15881#","516#","-14130#","516#"), [27,23] => AMEdata(8000.6387,2.5150,true,"15881#","516#","-14130#","516#"), +"Ni50" => AMEdata(7702,10,false,"20061#","781#","*",""), [28,22] => AMEdata(7702,10,false,"20061#","781#","*",""), +"Cl51" => AMEdata(7530,14,false,"1481#","806#","20780#","806#"), [17,34] => AMEdata(7530,14,false,"1481#","806#","20780#","806#"), +"Ar51" => AMEdata(7922,8,false,"1331#","640#","16026#","400#"), [18,33] => AMEdata(7922,8,false,"1331#","640#","16026#","400#"), +"K51" => AMEdata(8221.3350,0.2557,true,"4858.9221","15.1608","13816.8529","13.0517"), [19,32] => AMEdata(8221.3350,0.2557,true,"4858.9221","15.1608","13816.8529","13.0517"), +"Ca51" => AMEdata(8476.9135,0.0102,true,"4814.3976","1.6672","6918.0432","2.5686"), [20,31] => AMEdata(8476.9135,0.0102,true,"4814.3976","1.6672","6918.0432","2.5686"), +"Sc51" => AMEdata(8597.2213,0.0493,true,"6784.5505","3.5570","6482.6122","2.5612"), [21,30] => AMEdata(8597.2213,0.0493,true,"6784.5505","3.5570","6482.6122","2.5612"), +"Ti51" => AMEdata(8708.9912,0.0095,true,"6372.4157","0.4776","2470.1402","0.4820"), [22,29] => AMEdata(8708.9912,0.0095,true,"6372.4157","0.4776","2470.1402","0.4820"), +"V51" => AMEdata(8742.0852,0.0019,true,"11051.1834","0.0609","-752.3907","0.1494"), [23,28] => AMEdata(8742.0852,0.0019,true,"11051.1834","0.0609","-752.3907","0.1494"), +"Cr51" => AMEdata(8711.9923,0.0033,true,"9260.6686","0.1477","-3207.4893","0.3256"), [24,27] => AMEdata(8711.9923,0.0033,true,"9260.6686","0.1477","-3207.4893","0.3256"), +"Mn51" => AMEdata(8633.7602,0.0060,true,"13687.6569","0.2981","-8054.0400","1.4309"), [25,26] => AMEdata(8633.7602,0.0060,true,"13687.6569","0.2981","-8054.0400","1.4309"), +"Fe51" => AMEdata(8460.4977,0.0274,true,"13784.0436","8.4992","-12847.0389","48.4579"), [26,25] => AMEdata(8460.4977,0.0274,true,"13784.0436","8.4992","-12847.0389","48.4579"), +"Co51" => AMEdata(8193.2549,0.9498,true,"17824.0613","134.7579","-15692#","503#"), [27,24] => AMEdata(8193.2549,0.9498,true,"17824.0613","134.7579","-15692#","503#"), +"Ni51" => AMEdata(7870,10,false,"16262#","707#","*",""), [28,23] => AMEdata(7870,10,false,"16262#","707#","*",""), +"Cl52" => AMEdata(7386,13,false,"2#","989#","23739#","922#"), [17,35] => AMEdata(7386,13,false,"2#","989#","23739#","922#"), +"Ar52" => AMEdata(7827,12,false,"2961#","721#","15758#","601#"), [18,34] => AMEdata(7827,12,false,"2961#","721#","15758#","601#"), +"K52" => AMEdata(8115.0303,0.6449,true,"2693.4898","35.9804","17128.6431","33.5405"), [19,33] => AMEdata(8115.0303,0.6449,true,"2693.4898","35.9804","17128.6431","33.5405"), +"Ca52" => AMEdata(8429.3821,0.0129,true,"6005.2800","0.8497","6257.2889","3.1463"), [20,32] => AMEdata(8429.3821,0.0129,true,"6005.2800","0.8497","6257.2889","3.1463"), +"Sc52" => AMEdata(8534.6695,0.0591,true,"5344.5257","3.9717","8954.1372","4.1223"), [21,31] => AMEdata(8534.6695,0.0591,true,"5344.5257","3.9717","8954.1372","4.1223"), +"Ti52" => AMEdata(8691.8193,0.0528,true,"7816.0507","2.7887","1965.3340","2.7510"), [22,30] => AMEdata(8691.8193,0.0528,true,"7816.0507","2.7887","1965.3340","2.7510"), +"V52" => AMEdata(8714.5690,0.0031,true,"7311.2445","0.1258","3976.4763","0.1601"), [23,29] => AMEdata(8714.5690,0.0031,true,"7311.2445","0.1258","3976.4763","0.1601"), +"Cr52" => AMEdata(8775.9946,0.0022,true,"12040.1115","0.1697","-4708.1214","0.0633"), [24,28] => AMEdata(8775.9946,0.0022,true,"12040.1115","0.1697","-4708.1214","0.0633"), +"Mn52" => AMEdata(8670.4087,0.0025,true,"10539.4793","0.3115","-2379.2912","0.1534"), [25,27] => AMEdata(8670.4087,0.0025,true,"10539.4793","0.3115","-2379.2912","0.1534"), +"Fe52" => AMEdata(8609.6079,0.0035,true,"16214.2281","1.4097","-13988.1167","5.2831"), [26,26] => AMEdata(8609.6079,0.0035,true,"16214.2281","1.4097","-13988.1167","5.2831"), +"Co52" => AMEdata(8325.5606,0.1016,true,"15073.1503","48.7248","-11784.1230","83.0710"), [27,25] => AMEdata(8325.5606,0.1016,true,"15073.1503","48.7248","-11784.1230","83.0710"), +"Ni52" => AMEdata(8083.8977,1.5943,true,"18981#","507#","-20680#","606#"), [28,24] => AMEdata(8083.8977,1.5943,true,"18981#","507#","-20680#","606#"), +"Cu52" => AMEdata(7671,12,false,"*","","*",""), [29,23] => AMEdata(7671,12,false,"*","","*",""), +"Ar53" => AMEdata(7677,13,false,"-99#","921#","19086#","708#"), [18,35] => AMEdata(7677,13,false,"-99#","921#","19086#","708#"), +"K53" => AMEdata(8022.8488,2.1090,true,"3229.4117","116.7010","17091.9853","120.0471"), [19,34] => AMEdata(8022.8488,2.1090,true,"3229.4117","116.7010","17091.9853","120.0471"), +"Ca53" => AMEdata(8330.5778,0.8260,true,"3192.7539","43.7854","9381.8471","47.2223"), [20,33] => AMEdata(8330.5778,0.8260,true,"3192.7539","43.7854","9381.8471","47.2223"), +"Sc53" => AMEdata(8492.8325,0.3339,true,"6317.3122","17.9634","8111.8785","17.9325"), [21,32] => AMEdata(8492.8325,0.3339,true,"6317.3122","17.9634","8111.8785","17.9325"), +"Ti53" => AMEdata(8631.1256,0.0545,true,"5475.0535","3.9853","4970.2419","4.2386"), [22,31] => AMEdata(8631.1256,0.0545,true,"5475.0535","3.9853","4970.2419","4.2386"), +"V53" => AMEdata(8710.1425,0.0585,true,"8479.9613","3.1049","3435.9426","3.1017"), [23,30] => AMEdata(8710.1425,0.0585,true,"8479.9613","3.1049","3435.9426","3.1017"), +"Cr53" => AMEdata(8760.2103,0.0022,true,"7939.4277","0.0966","-597.2679","0.3430"), [24,29] => AMEdata(8760.2103,0.0022,true,"7939.4277","0.0966","-597.2679","0.3430"), +"Mn53" => AMEdata(8734.1798,0.0065,true,"12050.2812","0.3375","-3742.8664","1.6971"), [25,28] => AMEdata(8734.1798,0.0065,true,"12050.2812","0.3375","-3742.8664","1.6971"), +"Fe53" => AMEdata(8648.7985,0.0315,true,"10686.7060","1.6763","-8288.1073","0.4431"), [26,27] => AMEdata(8648.7985,0.0315,true,"10686.7060","1.6763","-8288.1073","0.4431"), +"Co53" => AMEdata(8477.6578,0.0326,true,"16386.7154","5.5563","-13028.5485","25.2096"), [27,26] => AMEdata(8477.6578,0.0326,true,"16386.7154","5.5563","-13028.5485","25.2096"), +"Ni53" => AMEdata(8217.0749,0.4745,true,"15142.2898","86.6340","-16491#","501#"), [28,25] => AMEdata(8217.0749,0.4745,true,"15142.2898","86.6340","-16491#","501#"), +"Cu53" => AMEdata(7891,9,false,"19331#","781#","*",""), [29,24] => AMEdata(7891,9,false,"19331#","781#","*",""), +"Ar54" => AMEdata(7578,15,false,"2302#","1062#","17710#","894#"), [18,36] => AMEdata(7578,15,false,"2302#","1062#","17710#","894#"), +"K54" => AMEdata(7891,7,false,"926#","415#","20010#","403#"), [19,35] => AMEdata(7891,7,false,"926#","415#","20010#","403#"), +"Ca54" => AMEdata(8247.4967,0.8970,true,"3844.1978","65.2910","9277.3463","50.4129"), [20,34] => AMEdata(8247.4967,0.8970,true,"3844.1978","65.2910","9277.3463","50.4129"), +"Sc54" => AMEdata(8404.8115,0.2588,true,"3739.6970","22.5495","11305.8789","21.1188"), [21,33] => AMEdata(8404.8115,0.2588,true,"3739.6970","22.5495","11305.8789","21.1188"), +"Ti54" => AMEdata(8599.6917,0.2932,true,"6933.6974","16.0965","4154.4548","19.3840"), [22,32] => AMEdata(8599.6917,0.2932,true,"6933.6974","16.0965","4154.4548","19.3840"), +"V54" => AMEdata(8662.1382,0.2070,true,"6117.9103","11.6013","7037.1118","11.1794"), [23,31] => AMEdata(8662.1382,0.2070,true,"6117.9103","11.6013","7037.1118","11.1794"), +"Cr54" => AMEdata(8777.9672,0.0025,true,"9719.0796","0.1013","-1377.1325","1.0051"), [24,30] => AMEdata(8777.9672,0.0025,true,"9719.0796","0.1013","-1377.1325","1.0051"), +"Mn54" => AMEdata(8737.9768,0.0186,true,"8939.2149","1.0572","696.3688","1.0587"), [25,29] => AMEdata(8737.9768,0.0186,true,"8939.2149","1.0572","696.3688","1.0587"), +"Fe54" => AMEdata(8736.3846,0.0064,true,"13378.4501","1.6337","-8244.5478","0.0893"), [26,28] => AMEdata(8736.3846,0.0064,true,"13378.4501","1.6337","-8244.5478","0.0893"), +"Co54" => AMEdata(8569.2199,0.0066,true,"13422.0097","1.6951","-8731.7558","4.6710"), [27,27] => AMEdata(8569.2199,0.0066,true,"13422.0097","1.6951","-8731.7558","4.6710"), +"Ni54" => AMEdata(8393.0328,0.0862,true,"17718.8025","25.5780","-18038#","400#"), [28,26] => AMEdata(8393.0328,0.0862,true,"17718.8025","25.5780","-18038#","400#"), +"Cu54" => AMEdata(8045,7,false,"16172#","640#","-15538#","454#"), [29,25] => AMEdata(8045,7,false,"16172#","640#","-15538#","454#"), +"Zn54" => AMEdata(7742,4,false,"*","","*",""), [30,24] => AMEdata(7742,4,false,"*","","*",""), +"K55" => AMEdata(7792,9,false,"2451#","640#","19121#","525#"), [19,36] => AMEdata(7792,9,false,"2451#","640#","19121#","525#"), +"Ca55" => AMEdata(8125.9260,2.9130,true,"1561.1058","167.3789","12191.7329","171.9435"), [20,35] => AMEdata(8125.9260,2.9130,true,"1561.1058","167.3789","12191.7329","171.9435"), +"Sc55" => AMEdata(8333.3694,1.1347,true,"4475.4924","63.9553","10990.3608","68.7671"), [21,34] => AMEdata(8333.3694,1.1347,true,"4475.4924","63.9553","10990.3608","68.7671"), +"Ti55" => AMEdata(8518.9696,0.5250,true,"4159.9743","32.9333","7292.6673","39.5419"), [22,33] => AMEdata(8518.9696,0.5250,true,"4159.9743","32.9333","7292.6673","39.5419"), +"V55" => AMEdata(8637.3391,0.4912,true,"7298.1868","29.2353","5985.1877","27.0143"), [23,32] => AMEdata(8637.3391,0.4912,true,"7298.1868","29.2353","5985.1877","27.0143"), +"Cr55" => AMEdata(8731.9362,0.0042,true,"6246.2627","0.1859","2602.2183","0.3219"), [24,31] => AMEdata(8731.9362,0.0042,true,"6246.2627","0.1859","2602.2183","0.3219"), +"Mn55" => AMEdata(8765.0247,0.0047,true,"10225.6135","1.0347","-231.1204","0.1786"), [25,30] => AMEdata(8765.0247,0.0047,true,"10225.6135","1.0347","-231.1204","0.1786"), +"Fe55" => AMEdata(8746.5981,0.0056,true,"9298.1243","0.1898","-3451.4254","0.3241"), [26,29] => AMEdata(8746.5981,0.0056,true,"9298.1243","0.1898","-3451.4254","0.3241"), +"Co55" => AMEdata(8669.6204,0.0074,true,"14091.2467","0.3112","-8694.0350","0.5775"), [27,28] => AMEdata(8669.6204,0.0074,true,"14091.2467","0.3112","-8694.0350","0.5775"), +"Ni55" => AMEdata(8497.3225,0.0128,true,"14128.9675","4.7106","-13700.5585","155.5611"), [28,27] => AMEdata(8497.3225,0.0128,true,"14128.9675","4.7106","-13700.5585","155.5611"), +"Cu55" => AMEdata(8233.9970,2.8284,true,"18467#","429#","-17366#","429#"), [29,26] => AMEdata(8233.9970,2.8284,true,"18467#","429#","-17366#","429#"), +"Zn55" => AMEdata(7904,7,false,"16639#","454#","*",""), [30,25] => AMEdata(7904,7,false,"16639#","454#","*",""), +"K56" => AMEdata(7663,11,false,"562#","781#","21491#","650#"), [19,37] => AMEdata(7663,11,false,"562#","781#","21491#","650#"), +"Ca56" => AMEdata(8033.1654,4.4579,true,"2931.3336","296.6308","12005.4580","360.2029"), [20,36] => AMEdata(8033.1654,4.4579,true,"2931.3336","296.6308","12005.4580","360.2029"), +"Sc56" => AMEdata(8233.5781,4.6369,true,"2745.0587","267.0597","13907.1470","278.3271"), [21,35] => AMEdata(8233.5781,4.6369,true,"2745.0587","267.0597","13907.1470","278.3271"), +"Ti56" => AMEdata(8467.9495,1.7893,true,"5661.8448","104.2784","6760.4051","188.1842"), [22,34] => AMEdata(8467.9495,1.7893,true,"5661.8448","104.2784","6760.4051","188.1842"), +"V56" => AMEdata(8574.7006,3.1408,true,"5129.5826","177.9467","9101.7270","175.8854"), [23,33] => AMEdata(8574.7006,3.1408,true,"5129.5826","177.9467","9101.7270","175.8854"), +"Cr56" => AMEdata(8723.2609,0.0103,true,"8246.1219","0.6099","1626.5384","0.5524"), [24,32] => AMEdata(8723.2609,0.0103,true,"8246.1219","0.6099","1626.5384","0.5524"), +"Mn56" => AMEdata(8738.3358,0.0052,true,"7270.4420","0.1342","3695.4973","0.2065"), [25,31] => AMEdata(8738.3358,0.0052,true,"7270.4420","0.1342","3695.4973","0.2065"), +"Fe56" => AMEdata(8790.3563,0.0048,true,"11197.0596","0.2291","-4566.6455","0.4104"), [26,30] => AMEdata(8790.3563,0.0048,true,"11197.0596","0.2291","-4566.6455","0.4104"), +"Co56" => AMEdata(8694.8386,0.0085,true,"10081.8396","0.4635","-2132.8689","0.3735"), [27,29] => AMEdata(8694.8386,0.0085,true,"10081.8396","0.4635","-2132.8689","0.3735"), +"Ni56" => AMEdata(8642.7811,0.0071,true,"16643.0057","0.6718","-15277.9163","6.4070"), [28,28] => AMEdata(8642.7811,0.0071,true,"16643.0057","0.6718","-15277.9163","6.4070"), +"Cu56" => AMEdata(8355.9907,0.1142,true,"15065.6479","155.6909","-13240#","400#"), [29,27] => AMEdata(8355.9907,0.1142,true,"15065.6479","155.6909","-13240#","400#"), +"Zn56" => AMEdata(8106,7,false,"19191#","565#","-21550#","640#"), [30,26] => AMEdata(8106,7,false,"19191#","565#","-21550#","640#"), +"Ga56" => AMEdata(7707,9,false,"*","","*",""), [31,25] => AMEdata(7707,9,false,"*","","*",""), +"K57" => AMEdata(7563,11,false,"1922#","848#","20689#","721#"), [19,38] => AMEdata(7563,11,false,"1922#","848#","20689#","721#"), +"Ca57" => AMEdata(7912,7,false,"1121#","471#","14820#","438#"), [20,37] => AMEdata(7912,7,false,"1121#","471#","14820#","438#"), +"Sc57" => AMEdata(8158.1666,3.1540,true,"3935.1223","315.8260","13022.1957","273.3249"), [21,36] => AMEdata(8158.1666,3.1540,true,"3935.1223","315.8260","13022.1957","273.3249"), +"Ti57" => AMEdata(8372.9008,3.6119,true,"3050.1710","228.9681","10033.2148","222.6466"), [22,35] => AMEdata(8372.9008,3.6119,true,"3050.1710","228.9681","10033.2148","222.6466"), +"V57" => AMEdata(8535.1967,1.4871,true,"6322.9807","195.2450","8089.9214","84.7864"), [23,34] => AMEdata(8535.1967,1.4871,true,"6322.9807","195.2450","8089.9214","84.7864"), +"Cr57" => AMEdata(8663.3998,0.0327,true,"5311.1752","1.9506","4961.2946","2.3948"), [24,33] => AMEdata(8663.3998,0.0327,true,"5311.1752","1.9506","4961.2946","2.3948"), +"Mn57" => AMEdata(8736.7146,0.0264,true,"8645.9314","1.5253","2695.7375","1.5219"), [25,32] => AMEdata(8736.7146,0.0264,true,"8645.9314","1.5253","2695.7375","1.5219"), +"Fe57" => AMEdata(8770.2829,0.0047,true,"7646.1716","0.0169","-836.3589","0.4493"), [26,31] => AMEdata(8770.2829,0.0047,true,"7646.1716","0.0169","-836.3589","0.4493"), +"Co57" => AMEdata(8741.8845,0.0090,true,"11376.4582","0.5657","-3261.6970","0.6417"), [27,30] => AMEdata(8741.8845,0.0090,true,"11376.4582","0.5657","-3261.6970","0.6417"), +"Ni57" => AMEdata(8670.9364,0.0099,true,"10247.6300","0.5174","-8774.9466","0.4393"), [28,29] => AMEdata(8670.9364,0.0099,true,"10247.6300","0.5174","-8774.9466","0.4393"), +"Cu57" => AMEdata(8503.2646,0.0088,true,"16750.5997","6.4142","-14759#","200#"), [29,28] => AMEdata(8503.2646,0.0088,true,"16750.5997","6.4142","-14759#","200#"), +"Zn57" => AMEdata(8231,4,false,"15232#","447#","-17140#","447#"), [30,27] => AMEdata(8231,4,false,"15232#","447#","-17140#","447#"), +"Ga57" => AMEdata(7916,7,false,"19641#","640#","*",""), [31,26] => AMEdata(7916,7,false,"19641#","640#","*",""), +"K58" => AMEdata(7437,12,false,"271#","922#","23461#","860#"), [19,39] => AMEdata(7437,12,false,"271#","922#","23461#","860#"), +"Ca58" => AMEdata(7828,9,false,"3042#","640#","13949#","535#"), [20,38] => AMEdata(7828,9,false,"3042#","640#","13949#","535#"), +"Sc58" => AMEdata(8054.9436,3.2763,true,"2171.2344","261.5907","15438.0995","264.0509"), [21,37] => AMEdata(8054.9436,3.2763,true,"2171.2344","261.5907","15438.0995","264.0509"), +"Ti58" => AMEdata(8307.6290,3.1610,true,"4587.1382","275.6804","9512.9152","206.8675"), [22,36] => AMEdata(8307.6290,3.1610,true,"4587.1382","275.6804","9512.9152","206.8675"), +"V58" => AMEdata(8458.1560,1.6520,true,"4066.8385","127.9296","11561.2240","95.8625"), [23,35] => AMEdata(8458.1560,1.6520,true,"4066.8385","127.9296","11561.2240","95.8625"), +"Cr58" => AMEdata(8643.9987,0.0514,true,"7538.1410","3.5151","3835.7607","4.0227"), [24,34] => AMEdata(8643.9987,0.0514,true,"7538.1410","3.5151","3835.7607","4.0227"), +"Mn58" => AMEdata(8696.6438,0.0466,true,"6412.6071","3.0922","6327.7027","2.7198"), [25,33] => AMEdata(8696.6438,0.0466,true,"6412.6071","3.0922","6327.7027","2.7198"), +"Fe58" => AMEdata(8792.2534,0.0055,true,"10044.5723","0.1808","-2307.9785","1.1389"), [26,32] => AMEdata(8792.2534,0.0055,true,"10044.5723","0.1808","-2307.9785","1.1389"), +"Co58" => AMEdata(8738.9719,0.0199,true,"8572.9526","1.1760","381.5789","1.1071"), [27,31] => AMEdata(8738.9719,0.0199,true,"8572.9526","1.1760","381.5789","1.1071"), +"Ni58" => AMEdata(8732.0621,0.0060,true,"12216.2285","0.4965","-8561.0204","0.4425"), [28,30] => AMEdata(8732.0621,0.0060,true,"12216.2285","0.4965","-8561.0204","0.4425"), +"Cu58" => AMEdata(8570.9696,0.0097,true,"12430.1547","0.6305","-9368.9796","50.0020"), [29,29] => AMEdata(8570.9696,0.0097,true,"12430.1547","0.6305","-9368.9796","50.0020"), +"Zn58" => AMEdata(8395.9467,0.8621,true,"17820#","206#","-18759#","304#"), [30,28] => AMEdata(8395.9467,0.8621,true,"17820#","206#","-18759#","304#"), +"Ga58" => AMEdata(8059,5,false,"16201#","500#","-15960#","583#"), [31,27] => AMEdata(8059,5,false,"16201#","500#","-15960#","583#"), +"Ge58" => AMEdata(7770,9,false,"*","","*",""), [32,26] => AMEdata(7770,9,false,"*","","*",""), +"K59" => AMEdata(7332,14,false,"1252#","1063#","22940#","1000#"), [19,40] => AMEdata(7332,14,false,"1252#","1063#","22940#","1000#"), +"Ca59" => AMEdata(7708,10,false,"731#","781#","16639#","650#"), [20,39] => AMEdata(7708,10,false,"731#","781#","16639#","650#"), +"Sc59" => AMEdata(7976.4073,4.2312,true,"3421.2995","313.7352","15050#","390#"), [21,38] => AMEdata(7976.4073,4.2312,true,"3421.2995","313.7352","15050#","390#"), +"Ti59" => AMEdata(8218,5,false,"3033#","352#","11731#","330#"), [22,37] => AMEdata(8218,5,false,"3033#","352#","11731#","330#"), +"V59" => AMEdata(8403.8034,2.3288,true,"5251.3515","167.5100","10505.3137","137.4021"), [23,36] => AMEdata(8403.8034,2.3288,true,"5251.3515","167.5100","10505.3137","137.4021"), +"Cr59" => AMEdata(8568.5995,0.0114,true,"4195.4413","3.0553","7409.3977","2.4234"), [24,35] => AMEdata(8568.5995,0.0114,true,"4195.4413","3.0553","7409.3977","2.4234"), +"Mn59" => AMEdata(8680.9224,0.0395,true,"7769.0782","3.5665","5139.6290","2.3520"), [25,34] => AMEdata(8680.9224,0.0395,true,"7769.0782","3.5665","5139.6290","2.3520"), +"Fe59" => AMEdata(8754.7746,0.0056,true,"6581.0046","0.1066","1564.8804","0.3690"), [26,33] => AMEdata(8754.7746,0.0056,true,"6581.0046","0.1066","1564.8804","0.3690"), +"Co59" => AMEdata(8768.0379,0.0067,true,"10453.8636","1.1021","-1073.0050","0.1944"), [27,32] => AMEdata(8768.0379,0.0067,true,"10453.8636","1.1021","-1073.0050","0.1944"), +"Ni59" => AMEdata(8736.5912,0.0060,true,"8999.2797","0.0499","-4798.3786","0.3973"), [28,31] => AMEdata(8736.5912,0.0060,true,"8999.2797","0.0499","-4798.3786","0.3973"), +"Cu59" => AMEdata(8642.0027,0.0090,true,"12761.9215","0.5649","-9142.7760","0.6018"), [29,30] => AMEdata(8642.0027,0.0090,true,"12761.9215","0.5649","-9142.7760","0.6018"), +"Zn59" => AMEdata(8473.7802,0.0129,true,"12988.1251","50.0045","-13456#","170#"), [30,29] => AMEdata(8473.7802,0.0129,true,"12988.1251","50.0045","-13456#","170#"), +"Ga59" => AMEdata(8232,3,false,"18292#","345#","-17390#","434#"), [31,28] => AMEdata(8232,3,false,"18292#","345#","-17390#","434#"), +"Ge59" => AMEdata(7924,7,false,"16862#","640#","*",""), [32,27] => AMEdata(7924,7,false,"16862#","640#","*",""), +"Ca60" => AMEdata(7627,12,false,"2881#","922#","15550#","860#"), [20,40] => AMEdata(7627,12,false,"2881#","922#","15550#","860#"), +"Sc60" => AMEdata(7873,8,false,"1792#","559#","17549#","555#"), [21,39] => AMEdata(7873,8,false,"1792#","559#","17549#","555#"), +"Ti60" => AMEdata(8152.7858,4.0054,true,"4291#","384#","10987.7040","301.4311"), [22,38] => AMEdata(8152.7858,4.0054,true,"4291#","384#","10987.7040","301.4311"), +"V60" => AMEdata(8322.8751,3.0324,true,"3548.1026","227.9984","13821.0986","181.9496"), [23,37] => AMEdata(8322.8751,3.0324,true,"3548.1026","227.9984","13821.0986","181.9496"), +"Cr60" => AMEdata(8540.1876,0.0186,true,"6863.8875","1.3036","6059.4457","2.5831"), [24,36] => AMEdata(8540.1876,0.0186,true,"6863.8875","1.3036","6059.4457","2.5831"), +"Mn60" => AMEdata(8628.1392,0.0388,true,"5513.9355","3.2933","8445.2283","4.1261"), [25,35] => AMEdata(8628.1392,0.0388,true,"5513.9355","3.2933","8445.2283","4.1261"), +"Fe60" => AMEdata(8755.8539,0.0568,true,"8819.5347","3.3931","237.2633","3.4106"), [26,34] => AMEdata(8755.8539,0.0568,true,"8819.5347","3.3931","237.2633","3.4106"), +"Co60" => AMEdata(8746.7692,0.0067,true,"7491.9176","0.0706","2822.8058","0.2124"), [27,33] => AMEdata(8746.7692,0.0067,true,"7491.9176","0.0706","2822.8058","0.2124"), +"Ni60" => AMEdata(8780.7769,0.0059,true,"11387.7284","0.0498","-6127.9810","1.5735"), [28,32] => AMEdata(8780.7769,0.0059,true,"11387.7284","0.0498","-6127.9810","1.5735"), +"Cu60" => AMEdata(8665.6047,0.0269,true,"10058.1260","1.6236","-4170.7922","1.6286"), [29,31] => AMEdata(8665.6047,0.0269,true,"10058.1260","1.6236","-4170.7922","1.6286"), +"Zn60" => AMEdata(8583.0524,0.0091,true,"15030.1098","0.7063","-14584#","200#"), [30,30] => AMEdata(8583.0524,0.0091,true,"15030.1098","0.7063","-14584#","200#"), +"Ga60" => AMEdata(8327,3,false,"13902#","263#","-12060#","361#"), [31,29] => AMEdata(8327,3,false,"13902#","263#","-12060#","361#"), +"Ge60" => AMEdata(8113,5,false,"19232#","500#","-21890#","500#"), [32,28] => AMEdata(8113,5,false,"19232#","500#","-21890#","500#"), +"As60" => AMEdata(7735,7,false,"*","","*",""), [33,27] => AMEdata(7735,7,false,"*","","*",""), +"Ca61" => AMEdata(7503,13,false,"61#","1063#","18510#","1000#"), [20,41] => AMEdata(7503,13,false,"61#","1063#","18510#","1000#"), +"Sc61" => AMEdata(7794,10,false,"3021#","781#","16870#","671#"), [21,40] => AMEdata(7794,10,false,"3021#","781#","16870#","671#"), +"Ti61" => AMEdata(8058,5,false,"2342#","384#","13807#","381#"), [22,39] => AMEdata(8058,5,false,"2342#","384#","13807#","381#"), +"V61" => AMEdata(8271.0417,3.8511,true,"5161.0378","297.1392","12319.3807","234.9272"), [23,38] => AMEdata(8271.0417,3.8511,true,"5161.0378","297.1392","12319.3807","234.9272"), +"Cr61" => AMEdata(8460.1734,0.0305,true,"3659.3198","2.1726","9245.6277","2.9822"), [24,37] => AMEdata(8460.1734,0.0305,true,"3659.3198","2.1726","9245.6277","2.9822"), +"Mn61" => AMEdata(8598.9157,0.0382,true,"6845.5018","3.2933","7178.3730","3.4965"), [25,36] => AMEdata(8598.9157,0.0382,true,"6845.5018","3.2933","7178.3730","3.4965"), +"Fe61" => AMEdata(8703.7686,0.0428,true,"5578.6466","4.2900","3977.6759","2.7399"), [26,35] => AMEdata(8703.7686,0.0428,true,"5578.6466","4.2900","3977.6759","2.7399"), +"Co61" => AMEdata(8756.1510,0.0138,true,"9319.0592","0.8182","1323.8504","0.7899"), [27,34] => AMEdata(8756.1510,0.0138,true,"9319.0592","0.8182","1323.8504","0.7899"), +"Ni61" => AMEdata(8765.0281,0.0058,true,"7820.1037","0.0477","-2237.9663","0.9617"), [28,33] => AMEdata(8765.0281,0.0058,true,"7820.1037","0.0477","-2237.9663","0.9617"), +"Cu61" => AMEdata(8715.5148,0.0156,true,"11710.1184","1.8441","-5635.1565","15.9028"), [29,32] => AMEdata(8715.5148,0.0156,true,"11710.1184","1.8441","-5635.1565","15.9028"), +"Zn61" => AMEdata(8610.3098,0.2606,true,"10245.7541","15.9056","-9214.2438","37.6786"), [30,31] => AMEdata(8610.3098,0.2606,true,"10245.7541","15.9056","-9214.2438","37.6786"), +"Ga61" => AMEdata(8446.4313,0.6228,true,"15616#","204#","-13345#","302#"), [31,30] => AMEdata(8446.4313,0.6228,true,"15616#","204#","-13345#","302#"), +"Ge61" => AMEdata(8215,5,false,"14331#","424#","-16590#","424#"), [32,29] => AMEdata(8215,5,false,"14331#","424#","-16590#","424#"), +"As61" => AMEdata(7930,5,false,"19631#","500#","*",""), [33,28] => AMEdata(7930,5,false,"19631#","500#","*",""), +"Sc62" => AMEdata(7688,10,false,"1261#","848#","19510#","721#"), [21,41] => AMEdata(7688,10,false,"1261#","848#","19510#","721#"), +"Ti62" => AMEdata(7990,6,false,"3901#","500#","13013#","479#"), [22,40] => AMEdata(7990,6,false,"3901#","500#","13013#","479#"), +"V62" => AMEdata(8187.7565,4.2627,true,"3107.3603","353.6027","15639.4478","264.3094"), [23,39] => AMEdata(8187.7565,4.2627,true,"3107.3603","353.6027","15639.4478","264.3094"), +"Cr62" => AMEdata(8427.3871,0.0556,true,"6427.4274","3.9178","7671.3532","7.3947"), [24,38] => AMEdata(8427.3871,0.0556,true,"6427.4274","3.9178","7671.3532","7.3947"), +"Mn62" => AMEdata(8538.5002,0.1055,true,"4853.1530","6.9445","10354.0920","7.1142"), [25,37] => AMEdata(8538.5002,0.1055,true,"4853.1530","6.9445","10354.0920","7.1142"), +"Fe62" => AMEdata(8692.8831,0.0451,true,"8028.8719","3.8225","2546.3427","18.7834"), [26,36] => AMEdata(8692.8831,0.0451,true,"8028.8719","3.8225","2546.3427","18.7834"), +"Co62" => AMEdata(8721.3347,0.2996,true,"6597.5388","18.5839","5322.0404","18.5695"), [27,35] => AMEdata(8721.3347,0.2996,true,"6597.5388","18.5839","5322.0404","18.5695"), +"Ni62" => AMEdata(8794.5555,0.0069,true,"10595.7288","0.3059","-3958.8965","0.4751"), [28,34] => AMEdata(8794.5555,0.0069,true,"10595.7288","0.3059","-3958.8965","0.4751"), +"Cu62" => AMEdata(8718.0839,0.0103,true,"8874.7986","1.0638","-1619.4548","0.6507"), [29,33] => AMEdata(8718.0839,0.0103,true,"8874.7986","1.0638","-1619.4548","0.6507"), +"Zn62" => AMEdata(8679.3451,0.0099,true,"12890.5004","15.9058","-9181.0666","0.3763"), [30,32] => AMEdata(8679.3451,0.0099,true,"12890.5004","15.9058","-9181.0666","0.3763"), +"Ga62" => AMEdata(8518.6449,0.0103,true,"12923.6776","37.9976","-9847#","140#"), [31,31] => AMEdata(8518.6449,0.0103,true,"12923.6776","37.9976","-9847#","140#"), +"Ge62" => AMEdata(8347,2,false,"16421#","331#","-17720#","331#"), [32,30] => AMEdata(8347,2,false,"16421#","331#","-17720#","331#"), +"As62" => AMEdata(8049,5,false,"15291#","424#","*",""), [33,29] => AMEdata(8049,5,false,"15291#","424#","*",""), +"Sc63" => AMEdata(7603,11,false,"2312#","922#","18930#","860#"), [21,42] => AMEdata(7603,11,false,"2312#","922#","18930#","860#"), +"Ti63" => AMEdata(7891,8,false,"1732#","640#","15880#","605#"), [22,41] => AMEdata(7891,8,false,"1732#","640#","15880#","605#"), +"V63" => AMEdata(8130.7809,5.3968,true,"4598.2954","430.6326","14438.1586","347.6720"), [23,40] => AMEdata(8130.7809,5.3968,true,"4598.2954","430.6326","14438.1586","347.6720"), +"Cr63" => AMEdata(8347.5398,1.1533,true,"3397.0061","72.7382","10708.7611","72.7520"), [24,39] => AMEdata(8347.5398,1.1533,true,"3397.0061","72.7382","10708.7611","72.7520"), +"Mn63" => AMEdata(8505.1020,0.0591,true,"6434.4141","7.5290","8748.5685","5.6915"), [25,38] => AMEdata(8505.1020,0.0591,true,"6434.4141","7.5290","8748.5685","5.6915"), +"Fe63" => AMEdata(8631.5499,0.0683,true,"4828.8906","5.1303","6215.9238","19.0668"), [26,37] => AMEdata(8631.5499,0.0683,true,"4828.8906","5.1303","6215.9238","19.0668"), +"Co63" => AMEdata(8717.7972,0.2948,true,"8498.4717","26.2619","3661.3385","18.5704"), [27,36] => AMEdata(8717.7972,0.2948,true,"8498.4717","26.2619","3661.3385","18.5704"), +"Ni63" => AMEdata(8763.4955,0.0068,true,"6837.7698","0.0587","66.9768","0.0149"), [28,35] => AMEdata(8763.4955,0.0068,true,"6837.7698","0.0587","66.9768","0.0149"), +"Cu63" => AMEdata(8752.1404,0.0068,true,"10863.6431","0.4787","-3366.4392","1.5450"), [29,34] => AMEdata(8752.1404,0.0068,true,"10863.6431","0.4787","-3366.4392","1.5450"), +"Zn63" => AMEdata(8686.2866,0.0248,true,"9116.6587","1.6081","-5666.3294","2.0330"), [30,33] => AMEdata(8686.2866,0.0248,true,"9116.6587","1.6081","-5666.3294","2.0330"), +"Ga63" => AMEdata(8583.9267,0.0207,true,"12631.3959","1.4515","-9625.8787","37.2826"), [31,32] => AMEdata(8583.9267,0.0207,true,"12631.3959","1.4515","-9625.8787","37.2826"), +"Ge63" => AMEdata(8418.7167,0.5914,true,"12853#","145#","-13421#","204#"), [32,31] => AMEdata(8418.7167,0.5914,true,"12853#","145#","-13421#","204#"), +"As63" => AMEdata(8193,3,false,"17152#","361#","-16650#","539#"), [33,30] => AMEdata(8193,3,false,"17152#","361#","-16650#","539#"), +"Se63" => AMEdata(7917,8,false,"*","","*",""), [34,29] => AMEdata(7917,8,false,"*","","*",""), +"Ti64" => AMEdata(7826,9,false,"3691#","781#","14840#","721#"), [22,42] => AMEdata(7826,9,false,"3691#","781#","14840#","721#"), +"V64" => AMEdata(8045,6,false,"2651#","525#","17320#","500#"), [23,41] => AMEdata(8045,6,false,"2651#","525#","17320#","500#"), +"Cr64" => AMEdata(8303.5626,4.6866,true,"5532.9966","308.6157","9349.0622","299.9620"), [24,40] => AMEdata(8303.5626,4.6866,true,"5532.9966","308.6157","9349.0622","299.9620"), +"Mn64" => AMEdata(8437.4175,0.0553,true,"4173.2977","5.1393","11980.5117","6.1402"), [25,39] => AMEdata(8437.4175,0.0553,true,"4173.2977","5.1393","11980.5117","6.1402"), +"Fe64" => AMEdata(8612.3888,0.0784,true,"7405.2409","6.6093","4822.8898","20.6249"), [26,38] => AMEdata(8612.3888,0.0784,true,"7405.2409","6.6093","4822.8898","20.6249"), +"Co64" => AMEdata(8675.5223,0.3126,true,"6012.2068","27.2915","7306.5921","20.0000"), [27,37] => AMEdata(8675.5223,0.3126,true,"6012.2068","27.2915","7306.5921","20.0000"), +"Ni64" => AMEdata(8777.4637,0.0072,true,"9657.4604","0.2035","-1674.6156","0.2055"), [28,36] => AMEdata(8777.4637,0.0072,true,"9657.4604","0.2035","-1674.6156","0.2055"), +"Cu64" => AMEdata(8739.0736,0.0067,true,"7915.8680","0.0240","579.5996","0.6447"), [29,35] => AMEdata(8739.0736,0.0067,true,"7915.8680","0.0240","579.5996","0.6447"), +"Zn64" => AMEdata(8735.9057,0.0101,true,"11861.9068","1.4774","-7171.1912","1.4825"), [30,34] => AMEdata(8735.9057,0.0101,true,"11861.9068","1.4774","-7171.1912","1.4825"), +"Ga64" => AMEdata(8611.6317,0.0223,true,"10357.0450","1.9343","-4517.3237","3.9905"), [31,33] => AMEdata(8611.6317,0.0223,true,"10357.0450","1.9343","-4517.3237","3.9905"), +"Ge64" => AMEdata(8528.8243,0.0582,true,"15465.6000","37.4456","-14783#","203#"), [32,32] => AMEdata(8528.8243,0.0582,true,"15465.6000","37.4456","-14783#","203#"), +"As64" => AMEdata(8286,3,false,"14103#","285#","-12673#","540#"), [33,31] => AMEdata(8286,3,false,"14103#","285#","-12673#","540#"), +"Se64" => AMEdata(8075,8,false,"18081#","707#","*",""), [34,30] => AMEdata(8075,8,false,"18081#","707#","*",""), +"Ti65" => AMEdata(7726,11,false,"1381#","922#","17320#","860#"), [22,43] => AMEdata(7726,11,false,"1381#","922#","17320#","860#"), +"V65" => AMEdata(7981,8,false,"3862#","640#","16200#","539#"), [23,42] => AMEdata(7981,8,false,"3862#","640#","16200#","539#"), +"Cr65" => AMEdata(8218,3,false,"2741#","361#","12657#","200#"), [24,41] => AMEdata(8218,3,false,"2741#","361#","12657#","200#"), +"Mn65" => AMEdata(8400.6822,0.0573,true,"6049.6219","5.1393","10250.5576","6.3257"), [25,40] => AMEdata(8400.6822,0.0573,true,"6049.6219","5.1393","10250.5576","6.3257"), +"Fe65" => AMEdata(8546.3470,0.0786,true,"4319.6679","7.1626","7967.3036","5.5198"), [26,39] => AMEdata(8546.3470,0.0786,true,"4319.6679","7.1626","7967.3036","5.5198"), +"Co65" => AMEdata(8656.8848,0.0320,true,"7464.0817","20.1135","5940.5911","2.1379"), [27,38] => AMEdata(8656.8848,0.0320,true,"7464.0817","20.1135","5940.5911","2.1379"), +"Ni65" => AMEdata(8736.2424,0.0074,true,"6098.0807","0.1378","2137.8808","0.6997"), [28,37] => AMEdata(8736.2424,0.0074,true,"6098.0807","0.1378","2137.8808","0.6997"), +"Cu65" => AMEdata(8757.0967,0.0099,true,"9910.5771","0.6589","-1351.6527","0.3557"), [29,36] => AMEdata(8757.0967,0.0099,true,"9910.5771","0.6589","-1351.6527","0.3557"), +"Zn65" => AMEdata(8724.2660,0.0099,true,"7979.3248","0.1681","-3254.5380","0.6305"), [30,35] => AMEdata(8724.2660,0.0099,true,"7979.3248","0.1681","-3254.5380","0.6305"), +"Ga65" => AMEdata(8662.1601,0.0122,true,"11895.9779","1.5688","-6179.2631","2.3046"), [31,34] => AMEdata(8662.1601,0.0122,true,"11895.9779","1.5688","-6179.2631","2.3046"), +"Ge65" => AMEdata(8555.0584,0.0333,true,"10234.0385","4.3091","-9541.1670","84.7936"), [32,33] => AMEdata(8555.0584,0.0333,true,"10234.0385","4.3091","-9541.1670","84.7936"), +"As65" => AMEdata(8396.2351,1.3041,true,"15476#","220#","-13917#","312#"), [33,32] => AMEdata(8396.2351,1.3041,true,"15476#","220#","-13917#","312#"), +"Se65" => AMEdata(8170,5,false,"14231#","583#","-16529#","583#"), [34,31] => AMEdata(8170,5,false,"14231#","583#","-16529#","583#"), +"Br65" => AMEdata(7904,8,false,"*","","*",""), [35,30] => AMEdata(7904,8,false,"*","","*",""), +"V66" => AMEdata(7894,8,false,"2261#","707#","18840#","583#"), [23,43] => AMEdata(7894,8,false,"2261#","707#","18840#","583#"), +"Cr66" => AMEdata(8168,5,false,"4901#","361#","11610#","300#"), [24,42] => AMEdata(8168,5,false,"4901#","361#","11610#","300#"), +"Mn66" => AMEdata(8331.7986,0.1694,true,"3854.3662","11.7826","13317.4543","11.9056"), [25,41] => AMEdata(8331.7986,0.1694,true,"3854.3662","11.7826","13317.4543","11.9056"), +"Fe66" => AMEdata(8521.7245,0.0621,true,"6921.2629","6.5521","6340.6944","14.5611"), [26,40] => AMEdata(8521.7245,0.0621,true,"6921.2629","6.5521","6340.6944","14.5611"), +"Co66" => AMEdata(8605.9419,0.2117,true,"5294.6538","14.1268","9597.7522","14.0421"), [27,39] => AMEdata(8605.9419,0.2117,true,"5294.6538","14.1268","9597.7522","14.0421"), +"Ni66" => AMEdata(8739.5086,0.0212,true,"8951.8149","1.4784","251.9958","1.5405"), [28,38] => AMEdata(8739.5086,0.0212,true,"8951.8149","1.4784","251.9958","1.5405"), +"Cu66" => AMEdata(8731.4730,0.0098,true,"7065.9299","0.0936","2640.9396","0.9255"), [29,37] => AMEdata(8731.4730,0.0098,true,"7065.9299","0.0936","2640.9396","0.9255"), +"Zn66" => AMEdata(8759.6335,0.0113,true,"11058.5222","0.9172","-5175.5000","0.8000"), [30,36] => AMEdata(8759.6335,0.0113,true,"11058.5222","0.9172","-5175.5000","0.8000"), +"Ga66" => AMEdata(8669.3631,0.0166,true,"9137.5602","1.3088","-2116.6879","2.6376"), [31,35] => AMEdata(8669.3631,0.0166,true,"9137.5602","1.3088","-2116.6879","2.6376"), +"Ge66" => AMEdata(8625.4383,0.0364,true,"13200.1354","3.2325","-9581.9570","6.1685"), [32,34] => AMEdata(8625.4383,0.0364,true,"13200.1354","3.2325","-9581.9570","6.1685"), +"As66" => AMEdata(8468.4034,0.0861,true,"13159.3454","84.9562","-10365#","200#"), [33,33] => AMEdata(8468.4034,0.0861,true,"13159.3454","84.9562","-10365#","200#"), +"Se66" => AMEdata(8300,3,false,"16712#","361#","-18091#","447#"), [34,32] => AMEdata(8300,3,false,"16712#","361#","-18091#","447#"), +"Br66" => AMEdata(8014,6,false,"15151#","640#","*",""), [35,31] => AMEdata(8014,6,false,"15151#","640#","*",""), +"V67" => AMEdata(7829,9,false,"3515#","781#","17526#","721#"), [23,44] => AMEdata(7829,9,false,"3515#","781#","17526#","721#"), +"Cr67" => AMEdata(8079,6,false,"2201#","500#","14311#","447#"), [24,43] => AMEdata(8079,6,false,"2201#","500#","14311#","447#"), +"Mn67" => AMEdata(8281,3,false,"4901#","201#","12128#","200#"), [25,42] => AMEdata(8281,3,false,"4901#","201#","12128#","200#"), +"Fe67" => AMEdata(8449.9359,0.0570,true,"3711.8871","5.6021","9613.3678","7.4900"), [26,41] => AMEdata(8449.9359,0.0570,true,"3711.8871","5.6021","9613.3678","7.4900"), +"Co67" => AMEdata(8581.7422,0.0962,true,"6984.5604","15.3864","8420.9047","7.0607"), [27,40] => AMEdata(8581.7422,0.0962,true,"6984.5604","15.3864","8420.9047","7.0607"), +"Ni67" => AMEdata(8695.7505,0.0431,true,"5807.7129","3.2079","3576.8654","3.0223"), [28,39] => AMEdata(8695.7505,0.0431,true,"5807.7129","3.2079","3576.8654","3.0223"), +"Cu67" => AMEdata(8737.4597,0.0133,true,"9132.5825","1.0720","560.8226","0.8296"), [29,38] => AMEdata(8737.4597,0.0133,true,"9132.5825","1.0720","560.8226","0.8296"), +"Zn67" => AMEdata(8734.1534,0.0113,true,"7052.4655","0.2337","-1001.2201","1.1196"), [30,37] => AMEdata(8734.1534,0.0113,true,"7052.4655","0.2337","-1001.2201","1.1196"), +"Ga67" => AMEdata(8707.5330,0.0176,true,"11226.7454","1.3859","-4205.4380","4.4066"), [31,36] => AMEdata(8707.5330,0.0176,true,"11226.7454","1.3859","-4205.4380","4.4066"), +"Ge67" => AMEdata(8633.0884,0.0645,true,"9137.9954","4.9416","-6086.4858","4.3418"), [32,35] => AMEdata(8633.0884,0.0645,true,"9137.9954","4.9416","-6086.4858","4.3418"), +"As67" => AMEdata(8530.5685,0.0066,true,"12633.4666","5.6993","-10006.9381","67.0690"), [33,34] => AMEdata(8530.5685,0.0066,true,"12633.4666","5.6993","-10006.9381","67.0690"), +"Se67" => AMEdata(8369.5344,1.0010,true,"12991#","211#","-14051#","307#"), [34,33] => AMEdata(8369.5344,1.0010,true,"12991#","211#","-14051#","307#"), +"Br67" => AMEdata(8148,4,false,"17031#","500#","-16978#","520#"), [35,32] => AMEdata(8148,4,false,"17031#","500#","-16978#","520#"), +"Kr67" => AMEdata(7883,6,false,"*","","*",""), [36,31] => AMEdata(7883,6,false,"*","","*",""), +"Cr68" => AMEdata(8026,7,false,"4492#","640#","13230#","583#"), [24,44] => AMEdata(8026,7,false,"4492#","640#","13230#","583#"), +"Mn68" => AMEdata(8209,4,false,"3411#","361#","14977#","356#"), [25,43] => AMEdata(8209,4,false,"3411#","361#","14977#","356#"), +"Fe68" => AMEdata(8418,3,false,"6260#","193#","7746#","193#"), [26,42] => AMEdata(8418,3,false,"6260#","193#","7746#","193#"), +"Co68" => AMEdata(8520.1301,0.0567,true,"4392.1252","7.5103","11821.2318","4.8760"), [27,41] => AMEdata(8520.1301,0.0567,true,"4392.1252","7.5103","11821.2318","4.8760"), +"Ni68" => AMEdata(8682.4667,0.0438,true,"7792.4523","4.1501","2103.2205","3.3753"), [28,40] => AMEdata(8682.4667,0.0438,true,"7792.4523","4.1501","2103.2205","3.3753"), +"Cu68" => AMEdata(8701.8913,0.0233,true,"6318.8075","1.8176","4440.1115","1.7645"), [29,39] => AMEdata(8701.8913,0.0233,true,"6318.8075","1.8176","4440.1115","1.7645"), +"Zn68" => AMEdata(8755.6820,0.0115,true,"10198.0963","0.1927","-2921.1000","1.2000"), [30,38] => AMEdata(8755.6820,0.0115,true,"10198.0963","0.1927","-2921.1000","1.2000"), +"Ga68" => AMEdata(8701.2195,0.0210,true,"8278.2165","1.6524","-107.2555","2.3594"), [31,37] => AMEdata(8701.2195,0.0210,true,"8278.2165","1.6524","-107.2555","2.3594"), +"Ge68" => AMEdata(8688.1371,0.0276,true,"12376.3989","4.7092","-8084.2715","2.6320"), [32,36] => AMEdata(8688.1371,0.0276,true,"12376.3989","4.7092","-8084.2715","2.6320"), +"As68" => AMEdata(8557.7457,0.0271,true,"10378.6133","1.8981","-4705.0786","1.9112"), [33,35] => AMEdata(8557.7457,0.0271,true,"10378.6133","1.8981","-4705.0786","1.9112"), +"Se68" => AMEdata(8477.0482,0.0073,true,"15680.4728","67.0694","-15398#","259#"), [34,34] => AMEdata(8477.0482,0.0073,true,"15680.4728","67.0694","-15398#","259#"), +"Br68" => AMEdata(8239,4,false,"14333#","396#","-13165#","563#"), [35,33] => AMEdata(8239,4,false,"14333#","396#","-13165#","563#"), +"Kr68" => AMEdata(8034,7,false,"18146#","656#","*",""), [36,32] => AMEdata(8034,7,false,"18146#","656#","*",""), +"Cr69" => AMEdata(7939,7,false,"2011#","707#","15730#","640#"), [24,45] => AMEdata(7939,7,false,"2011#","707#","15730#","640#"), +"Mn69" => AMEdata(8155,6,false,"4511#","500#","13839#","447#"), [25,44] => AMEdata(8155,6,false,"4511#","500#","13839#","447#"), +"Fe69" => AMEdata(8345,3,false,"3374#","278#","11186#","218#"), [26,43] => AMEdata(8345,3,false,"3374#","278#","11186#","218#"), +"Co69" => AMEdata(8495.4062,1.2420,true,"6814.1750","85.7843","9593.2084","85.7784"), [27,42] => AMEdata(8495.4062,1.2420,true,"6814.1750","85.7843","9593.2084","85.7784"), +"Ni69" => AMEdata(8623.0998,0.0540,true,"4586.1516","4.7716","5757.5650","3.9793"), [28,41] => AMEdata(8623.0998,0.0540,true,"4586.1516","4.7716","5757.5650","3.9793"), +"Cu69" => AMEdata(8695.2044,0.0203,true,"8240.4961","2.1118","2681.6854","1.6075"), [29,40] => AMEdata(8695.2044,0.0203,true,"8240.4961","2.1118","2681.6854","1.6075"), +"Zn69" => AMEdata(8722.7311,0.0115,true,"6482.0700","0.1600","909.9134","1.4234"), [30,39] => AMEdata(8722.7311,0.0115,true,"6482.0700","0.1600","909.9134","1.4234"), +"Ga69" => AMEdata(8724.5798,0.0174,true,"10313.0833","1.8549","-2227.1455","0.5500"), [31,38] => AMEdata(8724.5798,0.0174,true,"10313.0833","1.8549","-2227.1455","0.5500"), +"Ge69" => AMEdata(8680.9640,0.0191,true,"8193.1934","2.2928","-3988.4927","31.9822"), [32,37] => AMEdata(8680.9640,0.0191,true,"8193.1934","2.2928","-3988.4927","31.9822"), +"As69" => AMEdata(8611.8214,0.4638,true,"12288.9721","32.0526","-6677.4672","32.0215"), [33,36] => AMEdata(8611.8214,0.4638,true,"12288.9721","32.0526","-6677.4672","32.0215"), +"Se69" => AMEdata(8503.7082,0.0216,true,"10316.5835","1.5704","-10175.2364","42.0293"), [34,35] => AMEdata(8503.7082,0.0216,true,"10316.5835","1.5704","-10175.2364","42.0293"), +"Br69" => AMEdata(8344.9026,0.6087,true,"15539#","262#","-14119#","303#"), [35,34] => AMEdata(8344.9026,0.6087,true,"15539#","262#","-14119#","303#"), +"Kr69" => AMEdata(8129,4,false,"14585#","583#","*",""), [36,33] => AMEdata(8129,4,false,"14585#","583#","*",""), +"Cr70" => AMEdata(7884,9,false,"4082#","781#","14810#","781#"), [24,46] => AMEdata(7884,9,false,"4082#","781#","14810#","781#"), +"Mn70" => AMEdata(8084,7,false,"3161#","640#","16440#","583#"), [25,45] => AMEdata(8084,7,false,"3161#","640#","16440#","583#"), +"Fe70" => AMEdata(8308,4,false,"5762#","361#","9635#","300#"), [26,44] => AMEdata(8308,4,false,"5762#","361#","9635#","300#"), +"Co70" => AMEdata(8434.1980,0.1570,true,"4210.8339","86.3995","12688.9049","11.1987"), [27,43] => AMEdata(8434.1980,0.1570,true,"4210.8339","86.3995","12688.9049","11.1987"), +"Ni70" => AMEdata(8604.2917,0.0306,true,"7306.5305","4.2986","3762.5123","2.4011"), [28,42] => AMEdata(8604.2917,0.0306,true,"7306.5305","4.2986","3762.5123","2.4011"), +"Cu70" => AMEdata(8646.8655,0.0155,true,"5311.4777","1.7670","6588.3675","2.2018"), [29,41] => AMEdata(8646.8655,0.0155,true,"5311.4777","1.7670","6588.3675","2.2018"), +"Zn70" => AMEdata(8729.8086,0.0274,true,"9218.1598","2.0490","-654.5979","1.5737"), [30,40] => AMEdata(8729.8086,0.0274,true,"9218.1598","2.0490","-654.5979","1.5737"), +"Ga70" => AMEdata(8709.2808,0.0172,true,"7653.6486","0.1696","1651.8861","1.4520"), [31,39] => AMEdata(8709.2808,0.0172,true,"7653.6486","0.1696","1651.8861","1.4520"), +"Ge70" => AMEdata(8721.7028,0.0117,true,"11532.6802","1.5500","-6228.0630","1.6200"), [32,38] => AMEdata(8721.7028,0.0117,true,"11532.6802","1.5500","-6228.0630","1.6200"), +"As70" => AMEdata(8621.5541,0.0200,true,"9293.1099","32.0299","-2404.0737","2.1118"), [33,37] => AMEdata(8621.5541,0.0200,true,"9293.1099","32.0299","-2404.0737","2.1118"), +"Se70" => AMEdata(8576.0338,0.0226,true,"13566.5034","2.1744","-10504.2727","14.9878"), [34,36] => AMEdata(8576.0338,0.0226,true,"13566.5034","2.1744","-10504.2727","14.9878"), +"Br70" => AMEdata(8414.7964,0.2129,true,"13237.4672","44.5687","-10325#","201#"), [35,35] => AMEdata(8414.7964,0.2129,true,"13237.4672","44.5687","-10325#","201#"), +"Kr70" => AMEdata(8256,3,false,"17031#","361#","*",""), [36,34] => AMEdata(8256,3,false,"17031#","361#","*",""), +"Mn71" => AMEdata(8030,7,false,"4241#","707#","15310#","640#"), [25,46] => AMEdata(8030,7,false,"4241#","707#","15310#","640#"), +"Fe71" => AMEdata(8235,6,false,"3111#","500#","12440#","613#"), [26,45] => AMEdata(8235,6,false,"3111#","500#","12440#","613#"), +"Co71" => AMEdata(8398.7344,6.5497,true,"5916.2850","465.1598","11036.3053","465.0353"), [27,44] => AMEdata(8398.7344,6.5497,true,"5916.2850","465.1598","11036.3053","465.0353"), +"Ni71" => AMEdata(8543.1564,0.0315,true,"4263.6853","3.0964","7304.8989","2.6879"), [28,43] => AMEdata(8543.1564,0.0315,true,"4263.6853","3.0964","7304.8989","2.6879"), +"Cu71" => AMEdata(8635.0233,0.0210,true,"7806.0719","1.8415","4617.6517","3.0437"), [29,42] => AMEdata(8635.0233,0.0210,true,"7806.0719","1.8415","4617.6517","3.0437"), +"Zn71" => AMEdata(8689.0417,0.0374,true,"5835.3561","3.1944","2810.3405","2.7748"), [30,41] => AMEdata(8689.0417,0.0374,true,"5835.3561","3.1944","2810.3405","2.7748"), +"Ga71" => AMEdata(8717.6050,0.0114,true,"9300.2946","1.4471","-232.4698","0.0934"), [31,40] => AMEdata(8717.6050,0.0114,true,"9300.2946","1.4471","-232.4698","0.0934"), +"Ge71" => AMEdata(8703.3118,0.0115,true,"7415.9386","0.1060","-2013.4000","4.0825"), [32,39] => AMEdata(8703.3118,0.0115,true,"7415.9386","0.1060","-2013.4000","4.0825"), +"As71" => AMEdata(8663.9350,0.0586,true,"11630.6016","4.3912","-4746.7420","5.0140"), [33,38] => AMEdata(8663.9350,0.0586,true,"11630.6016","4.3912","-4746.7420","5.0140"), +"Se71" => AMEdata(8586.0606,0.0394,true,"9287.9332","3.2120","-6644.0883","6.0820"), [34,37] => AMEdata(8586.0606,0.0394,true,"9287.9332","3.2120","-6644.0883","6.0820"), +"Br71" => AMEdata(8481.4629,0.0761,true,"13148.1176","15.8527","-10175.2155","128.8452"), [35,36] => AMEdata(8481.4629,0.0761,true,"13148.1176","15.8527","-10175.2155","128.8452"), +"Kr71" => AMEdata(8327.1310,1.8136,true,"13298#","238#","-14037#","420#"), [36,35] => AMEdata(8327.1310,1.8136,true,"13298#","238#","-14037#","420#"), +"Rb71" => AMEdata(8118,6,false,"*","","*",""), [37,34] => AMEdata(8118,6,false,"*","","*",""), +"Mn72" => AMEdata(7955,8,false,"2621#","781#","18080#","781#"), [25,47] => AMEdata(7955,8,false,"2621#","781#","18080#","781#"), +"Fe72" => AMEdata(8195,7,false,"5391#","640#","11050#","583#"), [26,46] => AMEdata(8195,7,false,"5391#","640#","11050#","583#"), +"Co72" => AMEdata(8338,4,false,"4002#","553#","13926#","300#"), [27,45] => AMEdata(8338,4,false,"4002#","553#","13926#","300#"), +"Ni72" => AMEdata(8520.2118,0.0311,true,"6891.1508","3.1616","5556.9381","2.6374"), [28,44] => AMEdata(8520.2118,0.0311,true,"6891.1508","3.1616","5556.9381","2.6374"), +"Cu72" => AMEdata(8586.5256,0.0194,true,"5143.1899","2.0429","8362.4883","2.5578"), [29,43] => AMEdata(8586.5256,0.0194,true,"5143.1899","2.0429","8362.4883","2.5578"), +"Zn72" => AMEdata(8691.8053,0.0298,true,"8888.0266","3.4107","442.7892","2.2934"), [30,42] => AMEdata(8691.8053,0.0298,true,"8888.0266","3.4107","442.7892","2.2934"), +"Ga72" => AMEdata(8687.0893,0.0114,true,"6520.4752","0.1888","3997.6263","0.8217"), [31,41] => AMEdata(8687.0893,0.0114,true,"6520.4752","0.1888","3997.6263","0.8217"), +"Ge72" => AMEdata(8731.7459,0.0011,true,"10750.5714","0.8184","-4356.1019","4.0825"), [32,40] => AMEdata(8731.7459,0.0011,true,"10750.5714","0.8184","-4356.1019","4.0825"), +"As72" => AMEdata(8660.3786,0.0567,true,"8407.8695","5.8312","-361.6194","4.5276"), [33,39] => AMEdata(8660.3786,0.0567,true,"8407.8695","5.8312","-361.6194","4.5276"), +"Se72" => AMEdata(8644.4902,0.0272,true,"12792.9921","3.4111","-8806.4384","2.2083"), [34,38] => AMEdata(8644.4902,0.0272,true,"12792.9921","3.4111","-8806.4384","2.2083"), +"Br72" => AMEdata(8511.3126,0.0142,true,"10630.6420","5.4983","-5121.1683","8.0761"), [35,37] => AMEdata(8511.3126,0.0142,true,"10630.6420","5.4983","-5121.1683","8.0761"), +"Kr72" => AMEdata(8429.3193,0.1113,true,"15684.6892","129.0175","-15611#","500#"), [36,36] => AMEdata(8429.3193,0.1113,true,"15684.6892","129.0175","-15611#","500#"), +"Rb72" => AMEdata(8202,7,false,"14111#","640#","*",""), [37,35] => AMEdata(8202,7,false,"14111#","640#","*",""), +"Mn73" => AMEdata(7895,8,false,"3602#","848#","17289#","781#"), [25,48] => AMEdata(7895,8,false,"3602#","848#","17289#","781#"), +"Fe73" => AMEdata(8121,7,false,"2811#","707#","13980#","583#"), [26,47] => AMEdata(8121,7,false,"2811#","707#","13980#","583#"), +"Co73" => AMEdata(8302,4,false,"5741#","424#","12139#","300#"), [27,46] => AMEdata(8302,4,false,"5741#","424#","12139#","300#"), +"Ni73" => AMEdata(8457.6529,0.0332,true,"3953.4090","3.2960","8879.2856","3.1038"), [28,45] => AMEdata(8457.6529,0.0332,true,"3953.4090","3.2960","8879.2856","3.1038"), +"Cu73" => AMEdata(8568.5699,0.0266,true,"7275.7566","2.3923","6605.9659","2.6910"), [29,44] => AMEdata(8568.5699,0.0266,true,"7275.7566","2.3923","6605.9659","2.6910"), +"Zn73" => AMEdata(8648.3455,0.0255,true,"5519.2341","2.8391","4105.9329","2.5064"), [30,43] => AMEdata(8648.3455,0.0255,true,"5519.2341","2.8391","4105.9329","2.5064"), +"Ga73" => AMEdata(8693.8740,0.0230,true,"9182.3777","1.8657","1598.1889","1.6777"), [31,42] => AMEdata(8693.8740,0.0230,true,"9182.3777","1.8657","1598.1889","1.6777"), +"Ge73" => AMEdata(8705.0500,0.0008,true,"6782.9403","0.0500","-344.7759","3.8528"), [32,41] => AMEdata(8705.0500,0.0008,true,"6782.9403","0.0500","-344.7759","3.8528"), +"As73" => AMEdata(8689.6099,0.0528,true,"10794.2664","5.6132","-2725.3604","7.3993"), [33,40] => AMEdata(8689.6099,0.0528,true,"10794.2664","5.6132","-2725.3604","7.3993"), +"Se73" => AMEdata(8641.5591,0.1017,true,"8430.5254","7.6771","-4581.6095","10.0278"), [34,39] => AMEdata(8641.5591,0.1017,true,"8430.5254","7.6771","-4581.6095","10.0278"), +"Br73" => AMEdata(8568.0803,0.0923,true,"12655.3542","6.8187","-7094.0287","9.4187"), [35,38] => AMEdata(8568.0803,0.0923,true,"12655.3542","6.8187","-7094.0287","9.4187"), +"Kr73" => AMEdata(8460.1847,0.0901,true,"10682.4939","10.3654","-10540.1468","41.3212"), [36,37] => AMEdata(8460.1847,0.0901,true,"10682.4939","10.3654","-10540.1468","41.3212"), +"Rb73" => AMEdata(8305.0821,0.5588,true,"15753#","502#","-14061#","403#"), [37,36] => AMEdata(8305.0821,0.5588,true,"15753#","502#","-14061#","403#"), +"Sr73" => AMEdata(8102,5,false,"*","","*",""), [38,35] => AMEdata(8102,5,false,"*","","*",""), +"Fe74" => AMEdata(8076,7,false,"4741#","707#","12881#","640#"), [26,48] => AMEdata(8076,7,false,"4741#","707#","12881#","640#"), +"Co74" => AMEdata(8239,5,false,"3642#","500#","15160#","447#"), [27,47] => AMEdata(8239,5,false,"3642#","500#","15160#","447#"), +"Ni74" => AMEdata(8433,3,false,"6664#","200#","7306#","200#"), [28,46] => AMEdata(8433,3,false,"6664#","200#","7306#","200#"), +"Cu74" => AMEdata(8521.5633,0.0831,true,"5090.0858","6.4473","9750.5077","6.6424"), [29,45] => AMEdata(8521.5633,0.0831,true,"5090.0858","6.4473","9750.5077","6.6424"), +"Zn74" => AMEdata(8642.7547,0.0340,true,"8234.6277","3.1299","2292.9057","3.9102"), [30,44] => AMEdata(8642.7547,0.0340,true,"8234.6277","3.1299","2292.9057","3.9102"), +"Ga74" => AMEdata(8663.1676,0.0405,true,"6421.6005","3.4315","5372.8249","2.9941"), [31,43] => AMEdata(8663.1676,0.0405,true,"6421.6005","3.4315","5372.8249","2.9941"), +"Ge74" => AMEdata(8725.2011,0.0003,true,"10196.2366","0.0555","-2562.3871","1.6931"), [32,42] => AMEdata(8725.2011,0.0003,true,"10196.2366","0.0555","-2562.3871","1.6931"), +"As74" => AMEdata(8680.0020,0.0229,true,"7978.6253","4.2087","1353.1467","1.6931"), [33,41] => AMEdata(8680.0020,0.0229,true,"7978.6253","4.2087","1353.1467","1.6931"), +"Se74" => AMEdata(8687.7155,0.0003,true,"12057.1324","7.4237","-6925.0492","5.8354"), [34,40] => AMEdata(8687.7155,0.0003,true,"12057.1324","7.4237","-6925.0492","5.8354"), +"Br74" => AMEdata(8583.5615,0.0789,true,"9713.6928","8.9159","-2956.3173","6.1730"), [35,39] => AMEdata(8583.5615,0.0789,true,"9713.6928","8.9159","-2956.3173","6.1730"), +"Kr74" => AMEdata(8533.0390,0.0272,true,"13851.4042","6.8790","-10415.8280","3.4240"), [36,38] => AMEdata(8533.0390,0.0272,true,"13851.4042","6.8790","-10415.8280","3.4240"), +"Rb74" => AMEdata(8381.7123,0.0409,true,"13975.7229","40.9064","-11089#","100#"), [37,37] => AMEdata(8381.7123,0.0409,true,"13975.7229","40.9064","-11089#","100#"), +"Sr74" => AMEdata(8221,1,false,"16948#","413#","*",""), [38,36] => AMEdata(8221,1,false,"16948#","413#","*",""), +"Fe75" => AMEdata(7996,8,false,"2112#","781#","15861#","721#"), [26,49] => AMEdata(7996,8,false,"2112#","781#","15861#","721#"), +"Co75" => AMEdata(8197,5,false,"5091#","565#","13680#","447#"), [27,48] => AMEdata(8197,5,false,"5091#","565#","13680#","447#"), +"Ni75" => AMEdata(8369,3,false,"3611#","283#","10230#","200#"), [28,47] => AMEdata(8369,3,false,"3611#","283#","10230#","200#"), +"Cu75" => AMEdata(8495.0801,0.0096,true,"6535.3248","6.1896","8088.6967","2.0837"), [29,46] => AMEdata(8495.0801,0.0096,true,"6535.3248","6.1896","8088.6967","2.0837"), +"Zn75" => AMEdata(8592.4981,0.0261,true,"4873.5139","3.1862","5901.7231","2.0679"), [30,45] => AMEdata(8592.4981,0.0261,true,"4873.5139","3.1862","5901.7231","2.0679"), +"Ga75" => AMEdata(8660.7565,0.0089,true,"8482.3312","3.0682","3396.3337","0.6727"), [31,44] => AMEdata(8660.7565,0.0089,true,"8482.3312","3.0682","3396.3337","0.6727"), +"Ge75" => AMEdata(8695.6096,0.0007,true,"6505.8400","0.0500","1177.2301","0.8851"), [32,43] => AMEdata(8695.6096,0.0007,true,"6505.8400","0.0500","1177.2301","0.8851"), +"As75" => AMEdata(8700.8748,0.0118,true,"10245.4572","1.9099","-864.7139","0.8816"), [33,42] => AMEdata(8700.8748,0.0118,true,"10245.4572","1.9099","-864.7139","0.8816"), +"Se75" => AMEdata(8678.9139,0.0010,true,"8027.5966","0.0715","-3062.4694","4.2855"), [34,41] => AMEdata(8678.9139,0.0010,true,"8027.5966","0.0715","-3062.4694","4.2855"), +"Br75" => AMEdata(8627.6497,0.0571,true,"11890.1764","7.2396","-4783.3880","9.1671"), [35,40] => AMEdata(8627.6497,0.0571,true,"11890.1764","7.2396","-4783.3880","9.1671"), +"Kr75" => AMEdata(8553.4399,0.1081,true,"10063.1057","8.3504","-7104.9299","8.1895"), [36,39] => AMEdata(8553.4399,0.1081,true,"10063.1057","8.3504","-7104.9299","8.1895"), +"Rb75" => AMEdata(8448.2762,0.0157,true,"13374.0038","3.2490","-10600.0000","220.0000"), [37,38] => AMEdata(8448.2762,0.0157,true,"13374.0038","3.2490","-10600.0000","220.0000"), +"Sr75" => AMEdata(8296.5116,2.9334,true,"13863#","242#","-14799#","372#"), [38,37] => AMEdata(8296.5116,2.9334,true,"13863#","242#","-14799#","372#"), +"Y75" => AMEdata(8089,4,false,"*","","*",""), [39,36] => AMEdata(8089,4,false,"*","","*",""), +"Fe76" => AMEdata(7943,8,false,"3962#","848#","15070#","781#"), [26,50] => AMEdata(7943,8,false,"3962#","848#","15070#","781#"), +"Co76" => AMEdata(8131,7,false,"3171#","640#","16530#","583#"), [27,49] => AMEdata(8131,7,false,"3171#","640#","16530#","583#"), +"Ni76" => AMEdata(8338,4,false,"6021#","361#","8791#","300#"), [28,48] => AMEdata(8338,4,false,"6021#","361#","8791#","300#"), +"Cu76" => AMEdata(8443.6018,0.0120,true,"4582.7262","1.1613","11321.3964","1.7183"), [29,47] => AMEdata(8443.6018,0.0120,true,"4582.7262","1.1613","11321.3964","1.7183"), +"Zn76" => AMEdata(8582.2735,0.0192,true,"7815.4258","2.4384","3993.6241","2.4384"), [30,46] => AMEdata(8582.2735,0.0192,true,"7815.4258","2.4384","3993.6241","2.4384"), +"Ga76" => AMEdata(8624.5272,0.0257,true,"5907.3269","2.0679","6916.2501","1.9562"), [31,45] => AMEdata(8624.5272,0.0257,true,"5907.3269","2.0679","6916.2501","1.9562"), +"Ge76" => AMEdata(8705.2364,0.0003,true,"9427.2434","0.0543","-921.5145","0.8864"), [32,44] => AMEdata(8705.2364,0.0003,true,"9427.2434","0.0543","-921.5145","0.8864"), +"As76" => AMEdata(8682.8172,0.0117,true,"7328.4988","0.0671","2960.5756","0.8864"), [33,43] => AMEdata(8682.8172,0.0117,true,"7328.4988","0.0671","2960.5756","0.8864"), +"Se76" => AMEdata(8711.4781,0.0003,true,"11153.7883","0.0746","-4962.8810","9.3218"), [34,42] => AMEdata(8711.4781,0.0003,true,"11153.7883","0.0746","-4962.8810","9.3218"), +"Br76" => AMEdata(8635.8830,0.1227,true,"9253.3767","10.2595","-1275.3724","10.1490"), [35,41] => AMEdata(8635.8830,0.1227,true,"9253.3767","10.2595","-1275.3724","10.1490"), +"Kr76" => AMEdata(8608.8077,0.0528,true,"12761.3923","9.0433","-8534.6172","4.1214"), [36,40] => AMEdata(8608.8077,0.0528,true,"12761.3923","9.0433","-8534.6172","4.1214"), +"Rb76" => AMEdata(8486.2161,0.0123,true,"11331.7049","1.5074","-6231.4432","34.4780"), [37,39] => AMEdata(8486.2161,0.0123,true,"11331.7049","1.5074","-6231.4432","34.4780"), +"Sr76" => AMEdata(8393.9294,0.4535,true,"15700.2618","222.6864","-15998#","302#"), [38,38] => AMEdata(8393.9294,0.4535,true,"15700.2618","222.6864","-15998#","302#"), +"Y76" => AMEdata(8173,4,false,"14501#","424#","*",""), [39,37] => AMEdata(8173,4,false,"14501#","424#","*",""), +"Co77" => AMEdata(8082,8,false,"4321#","781#","15440#","721#"), [27,50] => AMEdata(8082,8,false,"4321#","781#","15440#","721#"), +"Ni77" => AMEdata(8272,5,false,"3231#","500#","11513#","400#"), [28,49] => AMEdata(8272,5,false,"3231#","500#","11513#","400#"), +"Cu77" => AMEdata(8411.2501,0.0157,true,"5952.5186","1.5165","9926.3750","2.3148"), [29,48] => AMEdata(8411.2501,0.0157,true,"5952.5186","1.5165","9926.3750","2.3148"), +"Zn77" => AMEdata(8530.0037,0.0256,true,"4557.4972","2.4511","7203.1495","3.1237"), [30,47] => AMEdata(8530.0037,0.0256,true,"4557.4972","2.4511","7203.1495","3.1237"), +"Ga77" => AMEdata(8613.3907,0.0315,true,"7767.0225","3.1132","5220.5176","2.4225"), [31,46] => AMEdata(8613.3907,0.0315,true,"7767.0225","3.1132","5220.5176","2.4225"), +"Ge77" => AMEdata(8671.0293,0.0007,true,"6071.2900","0.0500","2703.4642","1.6926"), [32,45] => AMEdata(8671.0293,0.0007,true,"6071.2900","0.0500","2703.4642","1.6926"), +"As77" => AMEdata(8695.9789,0.0220,true,"9696.2686","1.9093","683.1627","1.6920"), [33,44] => AMEdata(8695.9789,0.0220,true,"9696.2686","1.9093","683.1627","1.6920"), +"Se77" => AMEdata(8694.6908,0.0008,true,"7418.8557","0.0603","-1364.6792","2.8099"), [34,43] => AMEdata(8694.6908,0.0008,true,"7418.8557","0.0603","-1364.6792","2.8099"), +"Br77" => AMEdata(8666.8073,0.0365,true,"11017.0575","9.7363","-3065.3663","3.4244"), [35,42] => AMEdata(8666.8073,0.0365,true,"11017.0575","9.7363","-3065.3663","3.4244"), +"Kr77" => AMEdata(8616.8370,0.0254,true,"9227.0636","4.4646","-5338.9516","2.3510"), [36,41] => AMEdata(8616.8370,0.0254,true,"9227.0636","4.4646","-5338.9516","2.3510"), +"Rb77" => AMEdata(8537.3396,0.0169,true,"12422.7292","1.6063","-7027.0566","8.0244"), [37,40] => AMEdata(8537.3396,0.0169,true,"12422.7292","1.6063","-7027.0566","8.0244"), +"Sr77" => AMEdata(8435.9188,0.1028,true,"11627.1158","35.3631","-11365#","203#"), [38,39] => AMEdata(8435.9188,0.1028,true,"11627.1158","35.3631","-11365#","203#"), +"Y77" => AMEdata(8278,3,false,"16260#","362#","-14839#","448#"), [39,38] => AMEdata(8278,3,false,"16260#","362#","-14839#","448#"), +"Zr77" => AMEdata(8075,5,false,"*","","*",""), [40,37] => AMEdata(8075,5,false,"*","","*",""), +"Co78" => AMEdata(7997,9,false,"1482#","922#","19560#","806#"), [27,51] => AMEdata(7997,9,false,"1482#","922#","19560#","806#"), +"Ni78" => AMEdata(8238,5,false,"5601#","565#","9910#","400#"), [28,50] => AMEdata(8238,5,false,"5601#","565#","9910#","400#"), +"Cu78" => AMEdata(8354.6695,0.1709,true,"3997.9642","13.3866","12693.7680","13.4727"), [29,49] => AMEdata(8354.6695,0.1709,true,"3997.9642","13.3866","12693.7680","13.4727"), +"Zn78" => AMEdata(8507.3800,0.0249,true,"6765.3572","2.7686","6220.8433","2.2088"), [30,48] => AMEdata(8507.3800,0.0249,true,"6765.3572","2.7686","6220.8433","2.2088"), +"Ga78" => AMEdata(8577.1043,0.0135,true,"5783.0509","2.6399","8157.9729","3.6884"), [31,47] => AMEdata(8577.1043,0.0135,true,"5783.0509","2.6399","8157.9729","3.6884"), +"Ge78" => AMEdata(8671.6636,0.0453,true,"8720.5063","3.5359","954.9114","10.3987"), [32,46] => AMEdata(8671.6636,0.0453,true,"8720.5063","3.5359","954.9114","10.3987"), +"As78" => AMEdata(8673.8760,0.1254,true,"6971.9534","9.8926","4208.9819","9.7801"), [33,45] => AMEdata(8673.8760,0.1254,true,"6971.9534","9.8926","4208.9819","9.7801"), +"Se78" => AMEdata(8717.8072,0.0023,true,"10497.7727","0.1684","-3573.7836","3.5750"), [34,44] => AMEdata(8717.8072,0.0023,true,"10497.7727","0.1684","-3573.7836","3.5750"), +"Br78" => AMEdata(8661.9594,0.0459,true,"8288.6683","4.5503","726.1153","3.5845"), [35,43] => AMEdata(8661.9594,0.0459,true,"8288.6683","4.5503","726.1153","3.5845"), +"Kr78" => AMEdata(8661.2385,0.0039,true,"12080.1499","1.9801","-7242.8560","3.2520"), [36,42] => AMEdata(8661.2385,0.0039,true,"12080.1499","1.9801","-7242.8560","3.2520"), +"Rb78" => AMEdata(8558.3512,0.0415,true,"10176.2455","3.4902","-3761.4779","8.1248"), [37,41] => AMEdata(8558.3512,0.0415,true,"10176.2455","3.4902","-3761.4779","8.1248"), +"Sr78" => AMEdata(8500.0971,0.0955,true,"13441.8243","10.8730","-11001#","298#"), [38,40] => AMEdata(8500.0971,0.0955,true,"13441.8243","10.8730","-11001#","298#"), +"Y78" => AMEdata(8349,4,false,"13806#","361#","-11323#","499#"), [39,39] => AMEdata(8349,4,false,"13806#","361#","-11323#","499#"), +"Zr78" => AMEdata(8194,5,false,"17321#","565#","*",""), [40,38] => AMEdata(8194,5,false,"17321#","565#","*",""), +"Ni79" => AMEdata(8150,6,false,"1352#","640#","14248#","511#"), [28,51] => AMEdata(8150,6,false,"1352#","640#","14248#","511#"), +"Cu79" => AMEdata(8320.9380,1.3289,true,"5689.8828","105.8225","11024.2629","105.0030"), [29,50] => AMEdata(8320.9380,1.3289,true,"5689.8828","105.8225","11024.2629","105.0030"), +"Zn79" => AMEdata(8450.5825,0.0282,true,"4020.3778","2.9520","9116.0536","2.5295"), [30,49] => AMEdata(8450.5825,0.0282,true,"4020.3778","2.9520","9116.0536","2.5295"), +"Ga79" => AMEdata(8556.0725,0.0153,true,"6915.5881","1.6003","6978.8242","37.1467"), [31,48] => AMEdata(8556.0725,0.0153,true,"6915.5881","1.6003","6978.8242","37.1467"), +"Ge79" => AMEdata(8634.5089,0.4704,true,"5736.4394","37.3287","4108.9014","37.4361"), [32,47] => AMEdata(8634.5089,0.4704,true,"5736.4394","37.3287","4108.9014","37.4361"), +"As79" => AMEdata(8676.6172,0.0674,true,"8890.4294","11.0544","2281.3849","5.3284"), [33,46] => AMEdata(8676.6172,0.0674,true,"8890.4294","11.0544","2281.3849","5.3284"), +"Se79" => AMEdata(8695.5923,0.0028,true,"6962.8323","0.1327","150.6016","1.0186"), [34,45] => AMEdata(8695.5923,0.0028,true,"6962.8323","0.1327","150.6016","1.0186"), +"Br79" => AMEdata(8687.5956,0.0127,true,"10687.2175","3.7150","-1625.7778","3.3333"), [35,44] => AMEdata(8687.5956,0.0127,true,"10687.2175","3.7150","-1625.7778","3.3333"), +"Kr79" => AMEdata(8657.1130,0.0441,true,"8335.3244","3.4920","-3639.5114","3.9423"), [36,43] => AMEdata(8657.1130,0.0441,true,"8335.3244","3.4920","-3639.5114","3.9423"), +"Rb79" => AMEdata(8601.1401,0.0246,true,"11938.6690","3.7756","-5323.1140","7.5630"), [37,42] => AMEdata(8601.1401,0.0246,true,"11938.6690","3.7756","-5323.1140","7.5630"), +"Sr79" => AMEdata(8523.8558,0.0939,true,"10377.0328","10.5171","-7676.7291","80.4515"), [38,41] => AMEdata(8523.8558,0.0939,true,"10377.0328","10.5171","-7676.7291","80.4515"), +"Y79" => AMEdata(8416.7788,1.0140,true,"13701#","309#","-11033#","310#"), [39,40] => AMEdata(8416.7788,1.0140,true,"13701#","309#","-11033#","310#"), +"Zr79" => AMEdata(8267,4,false,"13992#","500#","-15120#","583#"), [40,39] => AMEdata(8267,4,false,"13992#","500#","-15120#","583#"), +"Nb79" => AMEdata(8066,6,false,"*","","*",""), [41,38] => AMEdata(8066,6,false,"*","","*",""), +"Ni80" => AMEdata(8088,7,false,"3151#","781#","13440#","671#"), [28,52] => AMEdata(8088,7,false,"3151#","781#","13440#","671#"), +"Cu80" => AMEdata(8246,4,false,"2343#","318#","14969#","300#"), [29,51] => AMEdata(8246,4,false,"2343#","318#","14969#","300#"), +"Zn80" => AMEdata(8423.5457,0.0323,true,"6287.6355","3.4100","7575.0553","3.8774"), [30,50] => AMEdata(8423.5457,0.0323,true,"6287.6355","3.4100","7575.0553","3.8774"), +"Ga80" => AMEdata(8508.4545,0.0361,true,"4746.6373","3.1307","10311.6397","3.5409"), [31,49] => AMEdata(8508.4545,0.0361,true,"4746.6373","3.1307","10311.6397","3.5409"), +"Ge80" => AMEdata(8627.5707,0.0257,true,"8079.4528","37.2175","2679.2869","3.9156"), [32,48] => AMEdata(8627.5707,0.0257,true,"8079.4528","37.2175","2679.2869","3.9156"), +"As80" => AMEdata(8651.2824,0.0417,true,"6649.8383","6.2691","5544.8861","3.4412"), [33,47] => AMEdata(8651.2824,0.0417,true,"6649.8383","6.2691","5544.8861","3.4412"), +"Se80" => AMEdata(8710.8142,0.0118,true,"9913.3395","0.9653","-1870.4623","0.3095"), [34,46] => AMEdata(8710.8142,0.0118,true,"9913.3395","0.9653","-1870.4623","0.3095"), +"Br80" => AMEdata(8677.6541,0.0124,true,"7892.2756","0.1337","2004.4299","1.1413"), [35,45] => AMEdata(8677.6541,0.0124,true,"7892.2756","0.1337","2004.4299","1.1413"), +"Kr80" => AMEdata(8692.9301,0.0087,true,"11522.4833","3.5257","-5717.9785","1.9883"), [36,44] => AMEdata(8692.9301,0.0087,true,"11522.4833","3.5257","-5717.9785","1.9883"), +"Rb80" => AMEdata(8611.6760,0.0233,true,"9444.0163","2.6916","-1864.0090","3.9331"), [37,43] => AMEdata(8611.6760,0.0233,true,"9444.0163","2.6916","-1864.0090","3.9331"), +"Sr80" => AMEdata(8578.5966,0.0433,true,"12903.1213","8.1900","-9163.3050","7.1389"), [38,42] => AMEdata(8578.5966,0.0433,true,"12903.1213","8.1900","-9163.3050","7.1389"), +"Y80" => AMEdata(8454.2759,0.0780,true,"11416.5454","80.3513","-6388#","300#"), [39,41] => AMEdata(8454.2759,0.0780,true,"11416.5454","80.3513","-6388#","300#"), +"Zr80" => AMEdata(8365,4,false,"16061#","424#","-16339#","500#"), [40,40] => AMEdata(8365,4,false,"16061#","424#","-16339#","500#"), +"Nb80" => AMEdata(8151,5,false,"14841#","640#","*",""), [41,39] => AMEdata(8151,5,false,"14841#","640#","*",""), +"Ni81" => AMEdata(8000,9,false,"921#","922#","15820#","761#"), [28,53] => AMEdata(8000,9,false,"921#","922#","15820#","761#"), +"Cu81" => AMEdata(8185,4,false,"3302#","424#","14289#","300#"), [29,52] => AMEdata(8185,4,false,"3302#","424#","14289#","300#"), +"Zn81" => AMEdata(8351.9262,0.0621,true,"2622.3681","5.6553","11428.2924","5.9960"), [30,51] => AMEdata(8351.9262,0.0621,true,"2622.3681","5.6553","11428.2924","5.9960"), +"Ga81" => AMEdata(8483.3576,0.0403,true,"6475.6051","4.3552","8663.7335","3.8508"), [31,50] => AMEdata(8483.3576,0.0403,true,"6475.6051","4.3552","8663.7335","3.8508"), +"Ge81" => AMEdata(8580.6587,0.0254,true,"4827.6989","2.8981","6241.6189","3.3436"), [32,49] => AMEdata(8580.6587,0.0254,true,"4827.6989","2.8981","6241.6189","3.3436"), +"As81" => AMEdata(8648.0571,0.0326,true,"8390.0309","4.2539","3855.7050","2.8072"), [33,48] => AMEdata(8648.0571,0.0326,true,"8390.0309","4.2539","3855.7050","2.8072"), +"Se81" => AMEdata(8685.9998,0.0121,true,"6700.8499","0.3486","1588.0317","1.3787"), [34,47] => AMEdata(8685.9998,0.0121,true,"6700.8499","0.3486","1588.0317","1.3787"), +"Br81" => AMEdata(8695.9465,0.0121,true,"10159.3438","1.3901","-280.8517","0.4713"), [35,46] => AMEdata(8695.9465,0.0121,true,"10159.3438","1.3901","-280.8517","0.4713"), +"Kr81" => AMEdata(8682.8206,0.0133,true,"7874.0622","1.2514","-2239.4954","5.0188"), [36,45] => AMEdata(8682.8206,0.0133,true,"7874.0622","1.2514","-2239.4954","5.0188"), +"Rb81" => AMEdata(8645.5139,0.0605,true,"11352.5453","5.2462","-3928.5695","5.8170"), [37,44] => AMEdata(8645.5139,0.0605,true,"11352.5453","5.2462","-3928.5695","5.8170"), +"Sr81" => AMEdata(8587.3545,0.0386,true,"9287.9848","4.6673","-5815.2156","6.2451"), [38,43] => AMEdata(8587.3545,0.0386,true,"9287.9848","4.6673","-5815.2156","6.2451"), +"Y81" => AMEdata(8505.9031,0.0667,true,"12636.0742","8.2562","-8188.5003","92.3762"), [39,42] => AMEdata(8505.9031,0.0667,true,"12636.0742","8.2562","-8188.5003","92.3762"), +"Zr81" => AMEdata(8395.1519,1.1385,true,"10836#","314#","-11164#","410#"), [40,41] => AMEdata(8395.1519,1.1385,true,"10836#","314#","-11164#","410#"), +"Nb81" => AMEdata(8248,5,false,"16011#","565#","-14900#","640#"), [41,40] => AMEdata(8248,5,false,"16011#","565#","-14900#","640#"), +"Mo81" => AMEdata(8054,6,false,"*","","*",""), [42,39] => AMEdata(8054,6,false,"*","","*",""), +"Ni82" => AMEdata(7935,10,false,"2701#","1063#","15010#","894#"), [28,54] => AMEdata(7935,10,false,"2701#","1063#","15010#","894#"), +"Cu82" => AMEdata(8108,5,false,"1891#","500#","16584#","400#"), [29,53] => AMEdata(8108,5,false,"1891#","500#","16584#","400#"), +"Zn82" => AMEdata(8301.1175,0.0375,true,"4185.6091","5.8950","10616.7652","3.9162"), [30,52] => AMEdata(8301.1175,0.0375,true,"4185.6091","5.8950","10616.7652","3.9162"), +"Ga82" => AMEdata(8421.0494,0.0296,true,"3374.0819","4.0614","12484.3497","3.2960"), [31,51] => AMEdata(8421.0494,0.0296,true,"3374.0819","4.0614","12484.3497","3.2960"), +"Ge82" => AMEdata(8563.7567,0.0273,true,"7194.6981","3.0327","4690.3523","4.3452"), [32,50] => AMEdata(8563.7567,0.0273,true,"7194.6981","3.0327","4690.3523","4.3452"), +"As82" => AMEdata(8611.4153,0.0455,true,"5643.4314","4.5676","7488.4677","3.7579"), [33,49] => AMEdata(8611.4153,0.0455,true,"5643.4314","4.5676","7488.4677","3.7579"), +"Se82" => AMEdata(8693.1973,0.0057,true,"9276.1941","0.9619","-95.2184","1.0767"), [34,48] => AMEdata(8693.1973,0.0057,true,"9276.1941","0.9619","-95.2184","1.0767"), +"Br82" => AMEdata(8682.4953,0.0118,true,"7592.9439","0.1200","3093.1185","0.9714"), [35,47] => AMEdata(8682.4953,0.0118,true,"7592.9439","0.1200","3093.1185","0.9714"), +"Kr82" => AMEdata(8710.6754,0.0003,true,"10966.9141","1.0737","-4403.9824","3.0088"), [36,46] => AMEdata(8710.6754,0.0003,true,"10966.9141","1.0737","-4403.9824","3.0088"), +"Rb82" => AMEdata(8647.4275,0.0367,true,"8802.4271","5.7537","-177.7503","6.7048"), [37,45] => AMEdata(8647.4275,0.0367,true,"8802.4271","5.7537","-177.7503","6.7048"), +"Sr82" => AMEdata(8635.7190,0.0731,true,"12553.2462","6.7592","-7945.9650","8.1324"), [38,44] => AMEdata(8635.7190,0.0731,true,"12553.2462","6.7592","-7945.9650","8.1324"), +"Y82" => AMEdata(8529.2762,0.0671,true,"10422.4969","7.7069","-4450.0341","5.7221"), [39,43] => AMEdata(8529.2762,0.0671,true,"10422.4969","7.7069","-4450.0341","5.7221"), +"Zr82" => AMEdata(8465.4666,0.0193,true,"14160.9630","92.2315","-11804#","300#"), [40,42] => AMEdata(8465.4666,0.0193,true,"14160.9630","92.2315","-11804#","300#"), +"Nb82" => AMEdata(8312,4,false,"13521#","500#","-11440#","500#"), [41,41] => AMEdata(8312,4,false,"13521#","500#","-11440#","500#"), +"Mo82" => AMEdata(8163,5,false,"16981#","640#","*",""), [42,40] => AMEdata(8163,5,false,"16981#","640#","*",""), +"Cu83" => AMEdata(8044,6,false,"2732#","640#","15900#","583#"), [29,54] => AMEdata(8044,6,false,"2732#","640#","15900#","583#"), +"Zn83" => AMEdata(8226,4,false,"2047#","300#","12967#","300#"), [30,53] => AMEdata(8226,4,false,"2047#","300#","12967#","300#"), +"Ga83" => AMEdata(8372.5756,0.0315,true,"4397.7212","3.5592","11719.3136","3.5592"), [31,52] => AMEdata(8372.5756,0.0315,true,"4397.7212","3.5592","11719.3136","3.5592"), +"Ge83" => AMEdata(8504.3462,0.0292,true,"3632.6851","3.2960","8692.8893","3.6979"), [32,51] => AMEdata(8504.3462,0.0292,true,"3632.6851","3.2960","8692.8893","3.6979"), +"As83" => AMEdata(8599.6540,0.0337,true,"7635.2221","4.6575","5671.2117","4.1290"), [33,50] => AMEdata(8599.6540,0.0337,true,"7635.2221","4.6575","5671.2117","4.1290"), +"Se83" => AMEdata(8658.5560,0.0366,true,"5817.9662","3.0000","3673.1780","4.8392"), [34,49] => AMEdata(8658.5560,0.0366,true,"5817.9662","3.0000","3673.1780","4.8392"), +"Br83" => AMEdata(8693.3852,0.0457,true,"9586.3626","3.9170","976.9222","3.7947"), [35,48] => AMEdata(8693.3852,0.0457,true,"9586.3626","3.9170","976.9222","3.7947"), +"Kr83" => AMEdata(8695.7295,0.0003,true,"7470.1663","0.0093","-920.0039","2.3288"), [36,47] => AMEdata(8695.7295,0.0003,true,"7470.1663","0.0093","-920.0039","2.3288"), +"Rb83" => AMEdata(8675.2193,0.0281,true,"10954.1448","3.8047","-2273.0239","6.4245"), [37,46] => AMEdata(8675.2193,0.0281,true,"10954.1448","3.8047","-2273.0239","6.4245"), +"Sr83" => AMEdata(8638.4076,0.0823,true,"8858.8712","9.0884","-4591.9435","19.8444"), [38,45] => AMEdata(8638.4076,0.0823,true,"8858.8712","9.0884","-4591.9435","19.8444"), +"Y83" => AMEdata(8573.6571,0.2245,true,"12212.8927","19.4236","-6294.0125","19.7074"), [39,44] => AMEdata(8573.6571,0.2245,true,"12212.8927","19.4236","-6294.0125","19.7074"), +"Zr83" => AMEdata(8488.3997,0.0775,true,"10368.9143","6.6218","-8298.7493","162.2075"), [40,43] => AMEdata(8488.3997,0.0775,true,"10368.9143","6.6218","-8298.7493","162.2075"), +"Nb83" => AMEdata(8378.9889,1.9528,true,"13875#","341#","-11273#","432#"), [41,42] => AMEdata(8378.9889,1.9528,true,"13875#","341#","-11273#","432#"), +"Mo83" => AMEdata(8234,5,false,"14041#","566#","-15020#","641#"), [42,41] => AMEdata(8234,5,false,"14041#","566#","-15020#","641#"), +"Tc83" => AMEdata(8043,6,false,"*","","*",""), [43,40] => AMEdata(8043,6,false,"*","","*",""), +"Cu84" => AMEdata(7965,6,false,"1401#","707#","18110#","640#"), [29,55] => AMEdata(7965,6,false,"1401#","707#","18110#","640#"), +"Zn84" => AMEdata(8171,5,false,"3611#","500#","12264#","401#"), [30,54] => AMEdata(8171,5,false,"3611#","500#","12264#","401#"), +"Ga84" => AMEdata(8307.5250,0.3549,true,"2908.3258","29.9221","14054.2989","29.9760"), [31,53] => AMEdata(8307.5250,0.3549,true,"2908.3258","29.9221","14054.2989","29.9760"), +"Ge84" => AMEdata(8465.5244,0.0377,true,"5243.3111","3.9870","7705.1329","4.4789"), [32,52] => AMEdata(8465.5244,0.0377,true,"5243.3111","3.9870","7705.1329","4.4789"), +"As84" => AMEdata(8547.9385,0.0377,true,"4255.5547","4.2237","10094.1624","3.7219"), [33,51] => AMEdata(8547.9385,0.0377,true,"4255.5547","4.2237","10094.1624","3.7219"), +"Se84" => AMEdata(8658.7935,0.0233,true,"8678.5055","3.6141","1835.3638","25.7652"), [34,50] => AMEdata(8658.7935,0.0233,true,"8678.5055","3.6141","1835.3638","25.7652"), +"Br84" => AMEdata(8671.3294,0.3063,true,"6840.6913","26.0083","4656.2510","25.7300"), [35,49] => AMEdata(8671.3294,0.3063,true,"6840.6913","26.0083","4656.2510","25.7300"), +"Kr84" => AMEdata(8717.4473,0.0003,true,"10520.0200","0.0083","-2680.3708","2.1940"), [36,48] => AMEdata(8717.4473,0.0003,true,"10520.0200","0.0083","-2680.3708","2.1940"), +"Rb84" => AMEdata(8676.2244,0.0261,true,"8759.6532","3.1995","890.6058","2.3356"), [37,47] => AMEdata(8676.2244,0.0261,true,"8759.6532","3.1995","890.6058","2.3356"), +"Sr84" => AMEdata(8677.5132,0.0148,true,"11923.2828","6.9457","-6755.1411","4.4114"), [38,46] => AMEdata(8677.5132,0.0148,true,"11923.2828","6.9457","-6755.1411","4.4114"), +"Y84" => AMEdata(8587.7812,0.0512,true,"9760.0853","19.1192","-2472.7471","6.9767"), [39,45] => AMEdata(8587.7812,0.0512,true,"9760.0853","19.1192","-2472.7471","6.9767"), +"Zr84" => AMEdata(8549.0301,0.0655,true,"13581.3507","8.4566","-10227.8497","5.5133"), [40,44] => AMEdata(8549.0301,0.0655,true,"13581.3507","8.4566","-10227.8497","5.5133"), +"Nb84" => AMEdata(8417.9563,0.0048,true,"11652.2503","162.0805","-7024#","298#"), [41,43] => AMEdata(8417.9563,0.0048,true,"11652.2503","162.0805","-7024#","298#"), +"Mo84" => AMEdata(8325,4,false,"15901#","499#","-16470#","499#"), [42,42] => AMEdata(8325,4,false,"15901#","499#","-16470#","499#"), +"Tc84" => AMEdata(8120,5,false,"14452#","640#","*",""), [43,41] => AMEdata(8120,5,false,"14452#","640#","*",""), +"Zn85" => AMEdata(8090,6,false,"1341#","640#","14644#","502#"), [30,55] => AMEdata(8090,6,false,"1341#","640#","14644#","502#"), +"Ga85" => AMEdata(8253.5687,0.4384,true,"3721.2406","47.7158","13379.3679","37.4459"), [31,54] => AMEdata(8253.5687,0.4384,true,"3721.2406","47.7158","13379.3679","37.4459"), +"Ge85" => AMEdata(8401.7689,0.0439,true,"3046.3096","4.8901","10065.7253","4.8303"), [32,53] => AMEdata(8401.7689,0.0439,true,"3046.3096","4.8901","10065.7253","4.8303"), +"As85" => AMEdata(8510.9851,0.0362,true,"5406.9020","4.4136","9224.4929","4.0313"), [33,52] => AMEdata(8510.9851,0.0362,true,"5406.9020","4.4136","9224.4929","4.0313"), +"Se85" => AMEdata(8610.3045,0.0307,true,"4537.2325","3.2596","6161.8335","4.0313"), [34,51] => AMEdata(8610.3045,0.0307,true,"4537.2325","3.2596","6161.8335","4.0313"), +"Br85" => AMEdata(8673.5926,0.0362,true,"8863.7022","25.9132","2904.8622","3.6705"), [35,50] => AMEdata(8673.5926,0.0362,true,"8863.7022","25.9132","2904.8622","3.6705"), +"Kr85" => AMEdata(8698.5633,0.0235,true,"7112.3134","2.0000","687.0000","2.0000"), [36,49] => AMEdata(8698.5633,0.0235,true,"7112.3134","2.0000","687.0000","2.0000"), +"Rb85" => AMEdata(8697.4416,0.0003,true,"10479.6842","2.1940","-1064.0510","2.8132"), [37,48] => AMEdata(8697.4416,0.0003,true,"10479.6842","2.1940","-1064.0510","2.8132"), +"Sr85" => AMEdata(8675.7193,0.0331,true,"8525.0275","3.0130","-3261.1584","19.1729"), [38,47] => AMEdata(8675.7193,0.0331,true,"8525.0275","3.0130","-3261.1584","19.1729"), +"Y85" => AMEdata(8628.1486,0.2231,true,"12019.0101","19.4466","-4666.9352","20.0257"), [39,46] => AMEdata(8628.1486,0.2231,true,"12019.0101","19.4466","-4666.9352","20.0257"), +"Zr85" => AMEdata(8564.0394,0.0756,true,"9824.8220","8.4566","-6895.5120","7.6250"), [40,45] => AMEdata(8564.0394,0.0756,true,"9824.8220","8.4566","-6895.5120","7.6250"), +"Nb85" => AMEdata(8473.7117,0.0482,true,"13157.1597","4.1181","-8769.9238","16.3572"), [41,44] => AMEdata(8473.7117,0.0482,true,"13157.1597","4.1181","-8769.9238","16.3572"), +"Mo85" => AMEdata(8361.3320,0.1863,true,"11411#","298#","-11660#","400#"), [42,43] => AMEdata(8361.3320,0.1863,true,"11411#","298#","-11660#","400#"), +"Tc85" => AMEdata(8215,5,false,"16221#","565#","-15220#","640#"), [43,42] => AMEdata(8215,5,false,"16221#","565#","-15220#","640#"), +"Ru85" => AMEdata(8027,6,false,"*","","*",""), [44,41] => AMEdata(8027,6,false,"*","","*",""), +"Zn86" => AMEdata(8032,6,false,"3033#","707#","13699#","640#"), [30,56] => AMEdata(8032,6,false,"3033#","707#","13699#","640#"), +"Ga86" => AMEdata(8182,5,false,"2087#","401#","15640#","593#"), [31,55] => AMEdata(8182,5,false,"2087#","401#","15640#","593#"), +"Ge86" => AMEdata(8354.6300,5.0907,true,"4347.8181","437.8181","9562.2229","437.8158"), [32,54] => AMEdata(8354.6300,5.0907,true,"4347.8181","437.8181","9562.2229","437.8158"), +"As86" => AMEdata(8456.7215,0.0401,true,"3844.3157","4.6182","11541.0256","4.2666"), [33,53] => AMEdata(8456.7215,0.0401,true,"3844.3157","4.6182","11541.0256","4.2666"), +"Se86" => AMEdata(8581.8224,0.0293,true,"6160.8484","3.6233","5129.0860","3.9717"), [34,52] => AMEdata(8581.8224,0.0293,true,"6160.8484","3.6233","5129.0860","3.9717"), +"Br86" => AMEdata(8632.3659,0.0358,true,"5128.1008","4.3472","7633.4147","3.0779"), [35,51] => AMEdata(8632.3659,0.0358,true,"5128.1008","4.3472","7633.4147","3.0779"), +"Kr86" => AMEdata(8712.0295,0.0003,true,"9856.6533","2.0000","-518.6734","0.2000"), [36,50] => AMEdata(8712.0295,0.0003,true,"9856.6533","2.0000","-518.6734","0.2000"), +"Rb86" => AMEdata(8696.9014,0.0023,true,"8650.9800","0.2000","1776.0972","0.2001"), [37,49] => AMEdata(8696.9014,0.0023,true,"8650.9800","0.2000","1776.0972","0.2001"), +"Sr86" => AMEdata(8708.4566,0.0003,true,"11491.1281","2.8132","-5240.0000","14.1421"), [38,48] => AMEdata(8708.4566,0.0003,true,"11491.1281","2.8132","-5240.0000","14.1421"), +"Y86" => AMEdata(8638.4293,0.1644,true,"9512.2866","23.6577","-1314.0763","14.5847"), [39,47] => AMEdata(8638.4293,0.1644,true,"9512.2866","23.6577","-1314.0763","14.5847"), +"Zr86" => AMEdata(8614.0523,0.0415,true,"12865.1454","7.3510","-8834.9627","6.5521"), [40,46] => AMEdata(8614.0523,0.0415,true,"12865.1454","7.3510","-8834.9627","6.5521"), +"Nb86" => AMEdata(8502.2231,0.0639,true,"10925.6947","6.8582","-5023.1337","6.2316"), [41,45] => AMEdata(8502.2231,0.0639,true,"10925.6947","6.8582","-5023.1337","6.2316"), +"Mo86" => AMEdata(8434.7175,0.0341,true,"14672.4849","16.1045","-12541#","300#"), [42,44] => AMEdata(8434.7175,0.0341,true,"14672.4849","16.1045","-12541#","300#"), +"Tc86" => AMEdata(8280,3,false,"13792#","500#","-11800#","500#"), [43,43] => AMEdata(8280,3,false,"13792#","500#","-11800#","500#"), +"Ru86" => AMEdata(8133,5,false,"17211#","640#","*",""), [44,42] => AMEdata(8133,5,false,"17211#","640#","*",""), +"Ga87" => AMEdata(8124,6,false,"3181#","640#","14720#","583#"), [31,56] => AMEdata(8124,6,false,"3181#","640#","14720#","583#"), +"Ge87" => AMEdata(8285,3,false,"2262#","531#","12028#","300#"), [32,55] => AMEdata(8285,3,false,"2262#","531#","12028#","300#"), +"As87" => AMEdata(8413.8521,0.0343,true,"4727.0820","4.5567","10808.2192","3.7260"), [33,54] => AMEdata(8413.8521,0.0343,true,"4727.0820","4.5567","10808.2192","3.7260"), +"Se87" => AMEdata(8529.0920,0.0258,true,"3994.2756","3.3650","7465.5526","3.8766"), [34,53] => AMEdata(8529.0920,0.0258,true,"3994.2756","3.3650","7465.5526","3.8766"), +"Br87" => AMEdata(8605.9105,0.0364,true,"6330.7422","4.4136","6817.8455","3.1805"), [35,52] => AMEdata(8605.9105,0.0364,true,"6330.7422","4.4136","6817.8455","3.1805"), +"Kr87" => AMEdata(8675.2840,0.0028,true,"5515.1730","0.2462","3888.2706","0.2463"), [36,51] => AMEdata(8675.2840,0.0028,true,"5515.1730","0.2462","3888.2706","0.2463"), +"Rb87" => AMEdata(8710.9843,0.0003,true,"9922.1170","0.2001","282.2749","0.0063"), [37,50] => AMEdata(8710.9843,0.0003,true,"9922.1170","0.2001","282.2749","0.0063"), +"Sr87" => AMEdata(8705.2363,0.0003,true,"8428.2947","0.0052","-1861.6894","1.1278"), [38,49] => AMEdata(8705.2363,0.0003,true,"8428.2947","0.0052","-1861.6894","1.1278"), +"Y87" => AMEdata(8674.8451,0.0130,true,"11806.6053","14.1870","-3671.2405","4.2962"), [39,48] => AMEdata(8674.8451,0.0130,true,"11806.6053","14.1870","-3671.2405","4.2962"), +"Zr87" => AMEdata(8623.6545,0.0477,true,"9449.4412","5.4669","-5472.6536","7.9633"), [40,47] => AMEdata(8623.6545,0.0477,true,"9449.4412","5.4669","-5472.6536","7.9633"), +"Nb87" => AMEdata(8551.7579,0.0782,true,"12811.7502","8.7432","-6989.6757","7.3781"), [41,46] => AMEdata(8551.7579,0.0782,true,"12811.7502","8.7432","-6989.6757","7.3781"), +"Mo87" => AMEdata(8462.4243,0.0328,true,"10845.2082","4.0938","-9194.7656","5.0729"), [42,45] => AMEdata(8462.4243,0.0328,true,"10845.2082","4.0938","-9194.7656","5.0729"), +"Tc87" => AMEdata(8347.7449,0.0482,true,"14191#","300#","-11960#","400#"), [43,44] => AMEdata(8347.7449,0.0482,true,"14191#","300#","-11960#","400#"), +"Ru87" => AMEdata(8201,5,false,"14031#","565#","*",""), [44,43] => AMEdata(8201,5,false,"14031#","565#","*",""), +"Ga88" => AMEdata(8050,6,false,"1592#","707#","17129#","640#"), [31,57] => AMEdata(8050,6,false,"1592#","707#","17129#","640#"), +"Ge88" => AMEdata(8236,5,false,"4001#","500#","10930#","447#"), [32,56] => AMEdata(8236,5,false,"4001#","500#","10930#","447#"), +"As88" => AMEdata(8351,2,false,"2903#","200#","13434#","200#"), [33,55] => AMEdata(8351,2,false,"2903#","200#","13434#","200#"), +"Se88" => AMEdata(8495.0045,0.0382,true,"5529.3885","4.0303","6831.7640","4.6125"), [34,54] => AMEdata(8495.0045,0.0382,true,"5529.3885","4.0303","6831.7640","4.6125"), +"Br88" => AMEdata(8563.7479,0.0360,true,"4895.5999","4.4789","8975.3282","4.1059"), [35,53] => AMEdata(8563.7479,0.0360,true,"4895.5999","4.4789","8975.3282","4.1059"), +"Kr88" => AMEdata(8656.8499,0.0296,true,"7053.0826","2.6198","2917.7090","2.6130"), [36,52] => AMEdata(8656.8499,0.0296,true,"7053.0826","2.6198","2917.7090","2.6130"), +"Rb88" => AMEdata(8681.1154,0.0018,true,"6082.5210","0.1589","5312.6243","0.1590"), [37,51] => AMEdata(8681.1154,0.0018,true,"6082.5210","0.1589","5312.6243","0.1590"), +"Sr88" => AMEdata(8732.5958,0.0003,true,"11112.8704","0.0055","-3622.6000","1.5000"), [38,50] => AMEdata(8732.5958,0.0003,true,"11112.8704","0.0055","-3622.6000","1.5000"), +"Y88" => AMEdata(8682.5396,0.0170,true,"9351.9598","1.8767","-670.1549","5.6076"), [39,49] => AMEdata(8682.5396,0.0170,true,"9351.9598","1.8767","-670.1549","5.6076"), +"Zr88" => AMEdata(8666.0339,0.0614,true,"12353.0453","6.8079","-7457.3187","57.8921"), [40,48] => AMEdata(8666.0339,0.0614,true,"12353.0453","6.8079","-7457.3187","57.8921"), +"Nb88" => AMEdata(8572.4013,0.6569,true,"10368.3802","58.2068","-3485.0021","57.9345"), [41,47] => AMEdata(8572.4013,0.6569,true,"10368.3802","58.2068","-3485.0021","57.9345"), +"Mo88" => AMEdata(8523.9087,0.0434,true,"13873.0539","4.7696","-11016.2515","5.6021"), [42,46] => AMEdata(8523.9087,0.0434,true,"13873.0539","4.7696","-11016.2515","5.6021"), +"Tc88" => AMEdata(8389.8338,0.0466,true,"12051.5680","5.8625","-7331#","300#"), [43,45] => AMEdata(8389.8338,0.0466,true,"12051.5680","5.8625","-7331#","300#"), +"Ru88" => AMEdata(8298,3,false,"16681#","500#","-17479#","500#"), [44,44] => AMEdata(8298,3,false,"16681#","500#","-17479#","500#"), +"Rh88" => AMEdata(8090,5,false,"*","","*",""), [45,43] => AMEdata(8090,5,false,"*","","*",""), +"Ge89" => AMEdata(8161,4,false,"1592#","565#","13490#","500#"), [32,57] => AMEdata(8161,4,false,"1592#","565#","13490#","500#"), +"As89" => AMEdata(8304,3,false,"4152#","361#","12462#","300#"), [33,56] => AMEdata(8304,3,false,"4152#","361#","12462#","300#"), +"Se89" => AMEdata(8435.2799,0.0419,true,"3179.5133","5.0128","9281.8730","4.9510"), [34,55] => AMEdata(8435.2799,0.0419,true,"3179.5133","5.0128","9281.8730","4.9510"), +"Br89" => AMEdata(8530.7802,0.0367,true,"5629.6222","4.5453","8261.5231","3.9045"), [35,54] => AMEdata(8530.7802,0.0367,true,"5629.6222","4.5453","8261.5231","3.9045"), +"Kr89" => AMEdata(8614.8158,0.0241,true,"4915.8171","3.3753","5176.6042","5.8342"), [36,53] => AMEdata(8614.8158,0.0241,true,"4915.8171","3.3753","5176.6042","5.8342"), +"Rb89" => AMEdata(8664.1895,0.0610,true,"7174.7123","5.4290","4496.6278","5.4265"), [37,52] => AMEdata(8664.1895,0.0610,true,"7174.7123","5.4290","4496.6278","5.4265"), +"Sr89" => AMEdata(8705.9230,0.0011,true,"6358.7158","0.0919","1502.1757","0.3510"), [38,51] => AMEdata(8705.9230,0.0011,true,"6358.7158","0.0919","1502.1757","0.3510"), +"Y89" => AMEdata(8714.0110,0.0038,true,"11483.4915","1.5378","-2833.2285","2.7652"), [39,50] => AMEdata(8714.0110,0.0038,true,"11483.4915","1.5378","-2833.2285","2.7652"), +"Zr89" => AMEdata(8673.3865,0.0312,true,"9320.4180","6.0762","-4252.2191","23.7199"), [40,49] => AMEdata(8673.3865,0.0312,true,"9320.4180","6.0762","-4252.2191","23.7199"), +"Nb89" => AMEdata(8616.8184,0.2655,true,"12525.5176","62.4514","-5610.8105","23.9513"), [41,48] => AMEdata(8616.8184,0.2655,true,"12525.5176","62.4514","-5610.8105","23.9513"), +"Mo89" => AMEdata(8544.9851,0.0440,true,"10399.7092","5.4673","-7620.0875","5.4673"), [42,47] => AMEdata(8544.9851,0.0440,true,"10399.7092","5.4673","-7620.0875","5.4673"), +"Tc89" => AMEdata(8450.5758,0.0429,true,"13795.8732","5.6021","-9025.4327","24.5181"), [43,46] => AMEdata(8450.5758,0.0429,true,"13795.8732","5.6021","-9025.4327","24.5181"), +"Ru89" => AMEdata(8340.3760,0.2721,true,"12101#","301#","-12719#","361#"), [44,45] => AMEdata(8340.3760,0.2721,true,"12101#","301#","-12719#","361#"), +"Rh89" => AMEdata(8189,4,false,"16862#","538#","*",""), [45,44] => AMEdata(8189,4,false,"16862#","538#","*",""), +"Ge90" => AMEdata(8109,6,false,"3501#","640#","12520#","640#"), [32,58] => AMEdata(8109,6,false,"3501#","640#","12520#","640#"), +"As90" => AMEdata(8240,4,false,"2532#","500#","14810#","518#"), [33,57] => AMEdata(8240,4,false,"2532#","500#","14810#","518#"), +"Se90" => AMEdata(8395.7672,3.6639,true,"4879.1424","329.7700","8200.0834","329.7660"), [34,56] => AMEdata(8395.7672,3.6639,true,"4879.1424","329.7700","8200.0834","329.7660"), +"Br90" => AMEdata(8478.1865,0.0373,true,"3797.3528","4.6770","10958.9533","3.8396"), [35,55] => AMEdata(8478.1865,0.0373,true,"3797.3528","4.6770","10958.9533","3.8396"), +"Kr90" => AMEdata(8591.2599,0.0207,true,"6494.7830","2.8391","4406.3133","6.7158"), [36,54] => AMEdata(8591.2599,0.0207,true,"6494.7830","2.8391","4406.3133","6.7158"), +"Rb90" => AMEdata(8631.5262,0.0717,true,"5724.4921","8.4309","6585.3721","6.4806"), [37,53] => AMEdata(8631.5262,0.0717,true,"5724.4921","8.4309","6585.3721","6.4806"), +"Sr90" => AMEdata(8696.0043,0.0161,true,"7813.2364","1.4517","545.9674","1.4060"), [38,52] => AMEdata(8696.0043,0.0161,true,"7813.2364","1.4517","545.9674","1.4060"), +"Y90" => AMEdata(8693.3778,0.0039,true,"6857.0282","0.1017","2275.6350","0.3726"), [39,51] => AMEdata(8693.3778,0.0039,true,"6857.0282","0.1017","2275.6350","0.3726"), +"Zr90" => AMEdata(8709.9699,0.0013,true,"11965.8916","2.7812","-6111.0165","3.3163"), [40,50] => AMEdata(8709.9699,0.0013,true,"11965.8916","2.7812","-6111.0165","3.3163"), +"Nb90" => AMEdata(8633.3770,0.0369,true,"10107.0942","23.8613","-2489.0165","3.3163"), [41,49] => AMEdata(8633.3770,0.0369,true,"10107.0942","23.8613","-2489.0165","3.3163"), +"Mo90" => AMEdata(8597.0285,0.0385,true,"13228.8882","5.2245","-9447.8181","3.6110"), [42,48] => AMEdata(8597.0285,0.0385,true,"13228.8882","5.2245","-9447.8181","3.6110"), +"Tc90" => AMEdata(8483.3600,0.0114,true,"11401.1576","3.9542","-5840.8951","3.8685"), [43,47] => AMEdata(8483.3600,0.0114,true,"11401.1576","3.9542","-5840.8951","3.8685"), +"Ru90" => AMEdata(8409.7684,0.0414,true,"14585.6952","24.5045","-13250#","200#"), [44,46] => AMEdata(8409.7684,0.0414,true,"14585.6952","24.5045","-13250#","200#"), +"Rh90" => AMEdata(8254,2,false,"14054#","412#","-11924#","447#"), [45,45] => AMEdata(8254,2,false,"14054#","412#","-11924#","447#"), +"Pd90" => AMEdata(8113,4,false,"*","","*",""), [46,44] => AMEdata(8113,4,false,"*","","*",""), +"As91" => AMEdata(8189,4,false,"3581#","565#","14080#","589#"), [33,58] => AMEdata(8189,4,false,"3581#","565#","14080#","589#"), +"Se91" => AMEdata(8334.8382,4.7598,true,"2851.2251","544.3792","10527.1716","433.1593"), [34,57] => AMEdata(8334.8382,4.7598,true,"2851.2251","544.3792","10527.1716","433.1593"), +"Br91" => AMEdata(8441.9242,0.0389,true,"5178.3133","4.8759","9866.6724","4.1898"), [35,56] => AMEdata(8441.9242,0.0389,true,"5178.3133","4.8759","9866.6724","4.1898"), +"Kr91" => AMEdata(8541.7519,0.0246,true,"4086.0324","2.9101","6771.0748","8.1153"), [36,55] => AMEdata(8541.7519,0.0246,true,"4086.0324","2.9101","6771.0748","8.1153"), +"Rb91" => AMEdata(8607.5621,0.0857,true,"6450.7939","10.1238","5906.9010","8.8732"), [37,54] => AMEdata(8607.5621,0.0857,true,"6450.7939","10.1238","5906.9010","8.8732"), +"Sr91" => AMEdata(8663.8759,0.0599,true,"5772.3228","5.6420","2699.3714","5.2468"), [38,53] => AMEdata(8663.8759,0.0599,true,"5772.3228","5.6420","2699.3714","5.2468"), +"Y91" => AMEdata(8684.9421,0.0203,true,"7925.7267","1.8763","1544.2710","1.8403"), [39,52] => AMEdata(8684.9421,0.0203,true,"7925.7267","1.8763","1544.2710","1.8403"), +"Zr91" => AMEdata(8693.3149,0.0011,true,"7194.3628","0.1464","-1257.5644","2.9243"), [40,51] => AMEdata(8693.3149,0.0011,true,"7194.3628","0.1464","-1257.5644","2.9243"), +"Nb91" => AMEdata(8670.8983,0.0322,true,"12047.8149","4.4230","-4429.1934","6.7439"), [41,50] => AMEdata(8670.8983,0.0322,true,"12047.8149","4.4230","-4429.1934","6.7439"), +"Mo91" => AMEdata(8613.6286,0.0686,true,"10107.6379","7.1346","-6222.1768","6.6706"), [42,49] => AMEdata(8613.6286,0.0686,true,"10107.6379","7.1346","-6222.1768","6.6706"), +"Tc91" => AMEdata(8536.6558,0.0260,true,"13333.2792","2.5754","-7746.8246","3.2422"), [43,48] => AMEdata(8536.6558,0.0260,true,"13333.2792","2.5754","-7746.8246","3.2422"), +"Ru91" => AMEdata(8442.9287,0.0244,true,"11427.3497","4.3414","-9670#","298#"), [44,47] => AMEdata(8442.9287,0.0244,true,"11427.3497","4.3414","-9670#","298#"), +"Rh91" => AMEdata(8328,3,false,"15007#","359#","-12400#","300#"), [45,46] => AMEdata(8328,3,false,"15007#","359#","-12400#","300#"), +"Pd91" => AMEdata(8183,5,false,"14531#","582#","*",""), [46,45] => AMEdata(8183,5,false,"14531#","582#","*",""), +"As92" => AMEdata(8121,5,false,"1951#","640#","16344#","640#"), [33,59] => AMEdata(8121,5,false,"1951#","640#","16344#","640#"), +"Se92" => AMEdata(8290,4,false,"4215#","589#","9509#","400#"), [34,58] => AMEdata(8290,4,false,"4215#","589#","9509#","400#"), +"Br92" => AMEdata(8384.9123,0.0729,true,"3196.8292","7.5835","12536.5161","7.2322"), [35,57] => AMEdata(8384.9123,0.0729,true,"3196.8292","7.5835","12536.5161","7.2322"), +"Kr92" => AMEdata(8512.6750,0.0294,true,"5866.6729","3.5064","6003.1210","6.6924"), [36,56] => AMEdata(8512.6750,0.0294,true,"5866.6729","3.5064","6003.1210","6.6924"), +"Rb92" => AMEdata(8569.4225,0.0666,true,"5098.7190","9.8192","8094.9212","6.4187"), [37,55] => AMEdata(8569.4225,0.0666,true,"5098.7190","9.8192","8094.9212","6.4187"), +"Sr92" => AMEdata(8648.9070,0.0372,true,"7286.7392","6.3574","1949.1237","9.3841"), [38,54] => AMEdata(8648.9070,0.0372,true,"7286.7392","6.3574","1949.1237","9.3841"), +"Y92" => AMEdata(8661.5894,0.0992,true,"6536.4915","9.3092","3642.5294","9.1271"), [39,53] => AMEdata(8661.5894,0.0992,true,"6536.4915","9.3092","3642.5294","9.1271"), +"Zr92" => AMEdata(8692.6783,0.0011,true,"8634.7499","0.0391","-2005.7335","1.7823"), [40,52] => AMEdata(8692.6783,0.0011,true,"8634.7499","0.0391","-2005.7335","1.7823"), +"Nb92" => AMEdata(8662.3731,0.0194,true,"7886.5808","3.4249","355.2968","1.7911"), [41,51] => AMEdata(8662.3731,0.0194,true,"7886.5808","3.4249","355.2968","1.7911"), +"Mo92" => AMEdata(8657.7312,0.0017,true,"12671.0710","6.2392","-7882.8841","3.1063"), [42,50] => AMEdata(8657.7312,0.0017,true,"12671.0710","6.2392","-7882.8841","3.1063"), +"Tc92" => AMEdata(8563.5440,0.0337,true,"11010.3637","3.8997","-4624.4922","4.1246"), [43,49] => AMEdata(8563.5440,0.0337,true,"11010.3637","3.8997","-4624.4922","4.1246"), +"Ru92" => AMEdata(8504.7740,0.0295,true,"14132.6961","3.5099","-11302.1155","5.1531"), [44,48] => AMEdata(8504.7740,0.0295,true,"14132.6961","3.5099","-11302.1155","5.1531"), +"Rh92" => AMEdata(8373.4211,0.0476,true,"12501#","298#","-8220.0000","345.0000"), [45,47] => AMEdata(8373.4211,0.0476,true,"12501#","298#","-8220.0000","345.0000"), +"Pd92" => AMEdata(8275.5695,3.7503,true,"16681#","546#","-17249#","528#"), [46,46] => AMEdata(8275.5695,3.7503,true,"16681#","546#","-17249#","528#"), +"Ag92" => AMEdata(8080,4,false,"*","","*",""), [47,45] => AMEdata(8080,4,false,"*","","*",""), +"Se93" => AMEdata(8225,4,false,"2208#","565#","12030#","588#"), [34,59] => AMEdata(8225,4,false,"2208#","565#","12030#","588#"), +"Br93" => AMEdata(8345.5986,4.6324,true,"4728.7407","430.8683","11245.7673","430.8234"), [35,58] => AMEdata(8345.5986,4.6324,true,"4728.7407","430.8683","11245.7673","430.8234"), +"Kr93" => AMEdata(8458.1085,0.0270,true,"3437.9919","3.6909","8483.8977","8.2243"), [36,57] => AMEdata(8458.1085,0.0270,true,"3437.9919","3.6909","8483.8977","8.2243"), +"Rb93" => AMEdata(8540.9209,0.0842,true,"5918.7687","9.9344","7465.9434","8.8761"), [37,56] => AMEdata(8540.9209,0.0842,true,"5918.7687","9.9344","7465.9434","8.8761"), +"Sr93" => AMEdata(8612.7875,0.0812,true,"5289.7909","8.2934","4141.3118","11.6972"), [38,55] => AMEdata(8612.7875,0.0812,true,"5289.7909","8.2934","4141.3118","11.6972"), +"Y93" => AMEdata(8648.9054,0.1128,true,"7481.9790","13.9032","2894.8723","10.4830"), [39,54] => AMEdata(8648.9054,0.1128,true,"7481.9790","13.9032","2894.8723","10.4830"), +"Zr93" => AMEdata(8671.6207,0.0049,true,"6734.3219","0.4461","90.8123","1.4838"), [40,53] => AMEdata(8671.6207,0.0049,true,"6734.3219","0.4461","90.8123","1.4838"), +"Nb93" => AMEdata(8664.1849,0.0160,true,"8830.8677","1.9863","-405.7609","1.5012"), [41,52] => AMEdata(8664.1849,0.0160,true,"8830.8677","1.9863","-405.7609","1.5012"), +"Mo93" => AMEdata(8651.4095,0.0020,true,"8069.8100","0.0900","-3200.9629","1.0040"), [42,51] => AMEdata(8651.4095,0.0020,true,"8069.8100","0.0900","-3200.9629","1.0040"), +"Tc93" => AMEdata(8608.5782,0.0109,true,"12751.7312","3.2633","-6389.3929","2.2995"), [43,50] => AMEdata(8608.5782,0.0109,true,"12751.7312","3.2633","-6389.3929","2.2995"), +"Ru93" => AMEdata(8531.4627,0.0222,true,"10986.8305","3.4133","-8204.9136","3.3425"), [44,49] => AMEdata(8531.4627,0.0222,true,"10986.8305","3.4133","-8204.9136","3.3425"), +"Rh93" => AMEdata(8434.8255,0.0283,true,"14084.0324","5.1065","-10030.0000","370.0000"), [45,48] => AMEdata(8434.8255,0.0283,true,"14084.0324","5.1065","-10030.0000","370.0000"), +"Pd93" => AMEdata(8318.5637,3.9786,true,"12274.0324","505.9161","-12582#","545#"), [46,47] => AMEdata(8318.5637,3.9786,true,"12274.0324","505.9161","-12582#","545#"), +"Ag93" => AMEdata(8175,4,false,"16941#","566#","*",""), [47,46] => AMEdata(8175,4,false,"16941#","566#","*",""), +"Se94" => AMEdata(8180,5,false,"4015#","640#","10846#","539#"), [34,60] => AMEdata(8180,5,false,"4015#","640#","10846#","539#"), +"Br94" => AMEdata(8287,2,false,"2831#","475#","13698#","201#"), [35,59] => AMEdata(8287,2,false,"2831#","475#","13698#","201#"), +"Kr94" => AMEdata(8424.3318,0.1288,true,"5283.0954","12.3678","7215.0114","12.2782"), [36,58] => AMEdata(8424.3318,0.1288,true,"5283.0954","12.3678","7215.0114","12.2782"), +"Rb94" => AMEdata(8492.7644,0.0216,true,"4014.2091","8.0880","10282.9297","2.6230"), [37,57] => AMEdata(8492.7644,0.0216,true,"4014.2091","8.0880","10282.9297","2.6230"), +"Sr94" => AMEdata(8593.8344,0.0177,true,"6831.1954","7.7350","3505.7517","6.4220"), [38,56] => AMEdata(8593.8344,0.0177,true,"6831.1954","7.7350","3505.7517","6.4220"), +"Y94" => AMEdata(8622.8068,0.0679,true,"6195.6353","12.2762","4917.8589","6.3799"), [39,55] => AMEdata(8622.8068,0.0679,true,"6195.6353","12.2762","4917.8589","6.3799"), +"Zr94" => AMEdata(8666.8016,0.0018,true,"8218.6219","0.4841","-900.2684","1.5000"), [40,54] => AMEdata(8666.8016,0.0018,true,"8218.6219","0.4841","-900.2684","1.5000"), +"Nb94" => AMEdata(8648.9014,0.0159,true,"7227.5412","0.0772","2045.0163","1.4937"), [41,53] => AMEdata(8648.9014,0.0159,true,"7227.5412","0.0772","2045.0163","1.4937"), +"Mo94" => AMEdata(8662.3341,0.0015,true,"9678.3184","0.2292","-4255.7476","4.0687"), [42,52] => AMEdata(8662.3341,0.0015,true,"9678.3184","0.2292","-4255.7476","4.0687"), +"Tc94" => AMEdata(8608.7373,0.0433,true,"8623.5337","4.1951","-1574.7296","5.1433"), [43,51] => AMEdata(8608.7373,0.0433,true,"8623.5337","4.1951","-1574.7296","5.1433"), +"Ru94" => AMEdata(8583.6620,0.0334,true,"13438.1970","3.7606","-9675.9789","4.6150"), [44,50] => AMEdata(8583.6620,0.0334,true,"13438.1970","3.7606","-9675.9789","4.6150"), +"Rh94" => AMEdata(8472.4033,0.0359,true,"11967.1318","4.2812","-6805.3428","5.4588"), [45,49] => AMEdata(8472.4033,0.0359,true,"11967.1318","4.2812","-6805.3428","5.4588"), +"Pd94" => AMEdata(8391.6832,0.0456,true,"15191.7890","370.0342","-13700#","400#"), [46,48] => AMEdata(8391.6832,0.0456,true,"15191.7890","370.0342","-13700#","400#"), +"Ag94" => AMEdata(8238,4,false,"14074#","566#","-11962#","640#"), [47,47] => AMEdata(8238,4,false,"14074#","566#","-11962#","640#"), +"Cd94" => AMEdata(8102,5,false,"*","","*",""), [48,46] => AMEdata(8102,5,false,"*","","*",""), +"Se95" => AMEdata(8112,5,false,"1728#","707#","13390#","583#"), [34,61] => AMEdata(8112,5,false,"1728#","707#","13390#","583#"), +"Br95" => AMEdata(8245,3,false,"4272#","361#","12309#","301#"), [35,60] => AMEdata(8245,3,false,"4272#","361#","12309#","301#"), +"Kr95" => AMEdata(8365.9963,0.1961,true,"2882.4586","22.2196","9731.3868","27.5124"), [36,59] => AMEdata(8365.9963,0.1961,true,"2882.4586","22.2196","9731.3868","27.5124"), +"Rb95" => AMEdata(8460.1967,0.2131,true,"5398.8340","20.3074","9226.9772","20.2036"), [37,58] => AMEdata(8460.1967,0.2131,true,"5398.8340","20.3074","9226.9772","20.2036"), +"Sr95" => AMEdata(8549.0875,0.0612,true,"4342.8816","6.0430","6090.6528","7.2395"), [38,57] => AMEdata(8549.0875,0.0612,true,"4342.8816","6.0430","6090.6528","7.2395"), +"Y95" => AMEdata(8604.9644,0.0714,true,"6927.7826","9.3082","4452.0031","6.7718"), [39,56] => AMEdata(8604.9644,0.0714,true,"6927.7826","9.3082","4452.0031","6.7718"), +"Zr95" => AMEdata(8643.5924,0.0092,true,"6461.9268","0.8566","1126.3312","0.9854"), [40,55] => AMEdata(8643.5924,0.0092,true,"6461.9268","0.8566","1126.3312","0.9854"), +"Nb95" => AMEdata(8647.2133,0.0054,true,"8488.5265","1.5728","925.6009","0.4938"), [41,54] => AMEdata(8647.2133,0.0054,true,"8488.5265","1.5728","925.6009","0.4938"), +"Mo95" => AMEdata(8648.7212,0.0013,true,"7369.1111","0.0944","-1690.5175","5.0782"), [42,53] => AMEdata(8648.7212,0.0013,true,"7369.1111","0.0944","-1690.5175","5.0782"), +"Tc95" => AMEdata(8622.6911,0.0535,true,"9934.3412","6.5078","-2563.5961","10.5310"), [43,52] => AMEdata(8622.6911,0.0535,true,"9934.3412","6.5078","-2563.5961","10.5310"), +"Ru95" => AMEdata(8587.4706,0.1000,true,"8945.4746","10.0082","-5117.1423","10.2656"), [44,51] => AMEdata(8587.4706,0.1000,true,"8945.4746","10.0082","-5117.1423","10.2656"), +"Rh95" => AMEdata(8525.3707,0.0409,true,"13504.3112","5.1495","-8374.7035","4.9281"), [45,50] => AMEdata(8525.3707,0.0409,true,"13504.3112","5.1495","-8374.7035","4.9281"), +"Pd95" => AMEdata(8428.9807,0.0319,true,"11934.9504","5.2466","-10060#","400#"), [46,49] => AMEdata(8428.9807,0.0319,true,"11934.9504","5.2466","-10060#","400#"), +"Ag95" => AMEdata(8315,4,false,"15575#","566#","-12850#","400#"), [47,48] => AMEdata(8315,4,false,"15575#","566#","-12850#","400#"), +"Cd95" => AMEdata(8171,6,false,"14687#","755#","*",""), [48,47] => AMEdata(8171,6,false,"14687#","755#","*",""), +"Br96" => AMEdata(8184,3,false,"2431#","424#","14872#","301#"), [35,61] => AMEdata(8184,3,false,"2431#","424#","14872#","301#"), +"Kr96" => AMEdata(8330.8721,0.2008,true,"4994.0793","26.8084","8272.6693","19.5669"), [36,60] => AMEdata(8330.8721,0.2008,true,"4994.0793","26.8084","8272.6693","19.5669"), +"Rb96" => AMEdata(8408.8963,0.0349,true,"3535.3618","20.4164","11563.8970","9.1062"), [37,59] => AMEdata(8408.8963,0.0349,true,"3535.3618","20.4164","11563.8970","9.1062"), +"Sr96" => AMEdata(8521.2041,0.0882,true,"5872.2815","10.2674","5411.7380","9.7257"), [38,58] => AMEdata(8521.2041,0.0882,true,"5872.2815","10.2674","5411.7380","9.7257"), +"Y96" => AMEdata(8569.4269,0.0633,true,"5193.3668","9.1023","7108.8741","6.0740"), [39,57] => AMEdata(8569.4269,0.0633,true,"5193.3668","9.1023","7108.8741","6.0740"), +"Zr96" => AMEdata(8635.3283,0.0012,true,"7850.2378","0.8760","163.9704","0.1000"), [40,56] => AMEdata(8635.3283,0.0012,true,"7850.2378","0.8760","163.9704","0.1000"), +"Nb96" => AMEdata(8628.8868,0.0015,true,"6887.8769","0.5072","3192.0590","0.1070"), [41,55] => AMEdata(8628.8868,0.0015,true,"6887.8769","0.5072","3192.0590","0.1070"), +"Mo96" => AMEdata(8653.9880,0.0013,true,"9154.3350","0.0491","-2973.2411","5.1450"), [42,54] => AMEdata(8653.9880,0.0013,true,"9154.3350","0.0491","-2973.2411","5.1450"), +"Tc96" => AMEdata(8614.8673,0.0536,true,"7871.6114","7.2292","258.7369","5.1464"), [43,53] => AMEdata(8614.8673,0.0536,true,"7871.6114","7.2292","258.7369","5.1464"), +"Ru96" => AMEdata(8609.4130,0.0018,true,"10693.9444","9.5004","-6392.6529","10.0000"), [44,52] => AMEdata(8609.4130,0.0018,true,"10693.9444","9.5004","-6392.6529","10.0000"), +"Rh96" => AMEdata(8534.6735,0.1042,true,"9418.4338","10.7298","-3504.3127","10.8442"), [45,51] => AMEdata(8534.6735,0.1042,true,"9418.4338","10.7298","-3504.3127","10.8442"), +"Pd96" => AMEdata(8490.0207,0.0437,true,"14288.8247","5.1708","-11671.7741","90.1814"), [46,50] => AMEdata(8490.0207,0.0437,true,"14288.8247","5.1708","-11671.7741","90.1814"), +"Ag96" => AMEdata(8360.2903,0.9384,true,"12677#","410#","-8940#","400#"), [47,49] => AMEdata(8360.2903,0.9384,true,"12677#","410#","-8940#","400#"), +"Cd96" => AMEdata(8259,4,false,"16587#","699#","-17482#","647#"), [48,48] => AMEdata(8259,4,false,"16587#","699#","-17482#","647#"), +"In96" => AMEdata(8069,5,false,"*","","*",""), [49,47] => AMEdata(8069,5,false,"*","","*",""), +"Br97" => AMEdata(8140,4,false,"3862#","500#","13423#","420#"), [35,62] => AMEdata(8140,4,false,"3862#","500#","13423#","420#"), +"Kr97" => AMEdata(8269.8645,1.3444,true,"2413.1350","131.8263","11095.6460","130.4232"), [36,61] => AMEdata(8269.8645,1.3444,true,"2413.1350","131.8263","11095.6460","130.4232"), +"Rb97" => AMEdata(8376.1872,0.0197,true,"5236.1117","3.8585","10061.5295","3.8872"), [37,60] => AMEdata(8376.1872,0.0197,true,"5236.1117","3.8585","10061.5295","3.8872"), +"Sr97" => AMEdata(8471.8489,0.0349,true,"3733.7442","9.1176","7534.7807","7.5131"), [38,59] => AMEdata(8471.8489,0.0349,true,"3733.7442","9.1176","7534.7807","7.5131"), +"Y97" => AMEdata(8541.4616,0.0692,true,"5856.7869","9.0484","6821.2382","6.7068"), [39,58] => AMEdata(8541.4616,0.0692,true,"5856.7869","9.0484","6821.2382","6.7068"), +"Zr97" => AMEdata(8603.7182,0.0013,true,"5569.1510","0.0400","2666.1038","4.2435"), [40,57] => AMEdata(8603.7182,0.0013,true,"5569.1510","0.0400","2666.1038","4.2435"), +"Nb97" => AMEdata(8623.1384,0.0438,true,"8071.2844","4.2445","1941.9038","4.2435"), [41,56] => AMEdata(8623.1384,0.0438,true,"8071.2844","4.2445","1941.9038","4.2435"), +"Mo97" => AMEdata(8635.0926,0.0017,true,"6821.1292","0.1630","-320.2640","4.1169"), [42,55] => AMEdata(8635.0926,0.0017,true,"6821.1292","0.1630","-320.2640","4.1169"), +"Tc97" => AMEdata(8623.7254,0.0425,true,"9474.1063","6.5892","-1103.8722","4.9563"), [43,54] => AMEdata(8623.7254,0.0425,true,"9474.1063","6.5892","-1103.8722","4.9563"), +"Ru97" => AMEdata(8604.2799,0.0285,true,"8111.4972","2.7574","-3523.0000","35.3553"), [44,53] => AMEdata(8604.2799,0.0285,true,"8111.4972","2.7574","-3523.0000","35.3553"), +"Rh97" => AMEdata(8559.8949,0.3656,true,"10981.1501","36.8457","-4791.7118","35.7924"), [45,52] => AMEdata(8559.8949,0.3656,true,"10981.1501","36.8457","-4791.7118","35.7924"), +"Pd97" => AMEdata(8502.4303,0.0499,true,"9693.7510","6.4073","-6901.8255","12.9558"), [46,51] => AMEdata(8502.4303,0.0499,true,"9693.7510","6.4073","-6901.8255","12.9558"), +"Ag97" => AMEdata(8423.2121,0.1239,true,"14463.6996","90.8817","-10170.0000","420.0000"), [47,50] => AMEdata(8423.2121,0.1239,true,"14463.6996","90.8817","-10170.0000","420.0000"), +"Cd97" => AMEdata(8310.3013,4.3317,true,"13234#","587#","-13344#","580#"), [48,49] => AMEdata(8310.3013,4.3317,true,"13234#","587#","-13344#","580#"), +"In97" => AMEdata(8165,4,false,"17371#","641#","*",""), [49,48] => AMEdata(8165,4,false,"17371#","641#","*",""), +"Br98" => AMEdata(8078,4,false,"2121#","565#","16070#","500#"), [35,63] => AMEdata(8078,4,false,"2121#","565#","16070#","500#"), +"Kr98" => AMEdata(8234,3,false,"4768#","327#","10249#","300#"), [36,62] => AMEdata(8234,3,false,"4768#","327#","10249#","300#"), +"Rb98" => AMEdata(8330.7294,0.1641,true,"3921.3260","16.1958","12053.2361","16.4029"), [37,61] => AMEdata(8330.7294,0.1641,true,"3921.3260","16.1958","12053.2361","16.4029"), +"Sr98" => AMEdata(8445.7385,0.0329,true,"5913.0325","4.6757","5866.3591","8.5504"), [38,60] => AMEdata(8445.7385,0.0329,true,"5913.0325","4.6757","5866.3591","8.5504"), +"Y98" => AMEdata(8497.6162,0.0808,true,"4244.6109","10.3764","8993.0098","11.5755"), [39,59] => AMEdata(8497.6162,0.0808,true,"4244.6109","10.3764","8993.0098","11.5755"), +"Zr98" => AMEdata(8581.3984,0.0862,true,"6416.3826","8.4440","2242.8547","9.8134"), [40,58] => AMEdata(8581.3984,0.0862,true,"6416.3826","8.4440","2242.8547","9.8134"), +"Nb98" => AMEdata(8596.3016,0.0510,true,"5993.1336","6.5580","4591.3681","5.0032"), [41,57] => AMEdata(8596.3016,0.0510,true,"5993.1336","6.5580","4591.3681","5.0032"), +"Mo98" => AMEdata(8635.1691,0.0018,true,"8642.5979","0.0647","-1683.7664","3.3768"), [42,56] => AMEdata(8635.1691,0.0018,true,"8642.5979","0.0647","-1683.7664","3.3768"), +"Tc98" => AMEdata(8610.0047,0.0345,true,"7279.0955","5.3244","1792.6575","7.1568"), [43,55] => AMEdata(8610.0047,0.0345,true,"7279.0955","5.3244","1792.6575","7.1568"), +"Ru98" => AMEdata(8620.3140,0.0659,true,"10175.6252","7.0282","-5049.6529","10.0000"), [44,54] => AMEdata(8620.3140,0.0659,true,"10175.6252","7.0282","-5049.6529","10.0000"), +"Rh98" => AMEdata(8560.8038,0.1215,true,"8648.9723","37.4085","-1854.2331","12.8161"), [45,53] => AMEdata(8560.8038,0.1215,true,"8648.9723","37.4085","-1854.2331","12.8161"), +"Pd98" => AMEdata(8533.8999,0.0484,true,"11586.4510","6.7786","-8254.5607","33.0975"), [46,52] => AMEdata(8533.8999,0.0484,true,"11586.4510","6.7786","-8254.5607","33.0975"), +"Ag98" => AMEdata(8441.6866,0.3358,true,"10233.7158","35.0325","-5430.0000","40.0000"), [47,51] => AMEdata(8441.6866,0.3358,true,"10233.7158","35.0325","-5430.0000","40.0000"), +"Cd98" => AMEdata(8378.2953,0.5285,true,"14973.7158","423.3524","-13730#","300#"), [48,50] => AMEdata(8378.2953,0.5285,true,"14973.7158","423.3524","-13730#","300#"), +"In98" => AMEdata(8230,3,false,"14588#","503#","*",""), [49,49] => AMEdata(8230,3,false,"14588#","503#","*",""), +"Kr99" => AMEdata(8175,4,false,"2351#","500#","12721#","400#"), [36,63] => AMEdata(8175,4,false,"2351#","500#","12721#","400#"), +"Rb99" => AMEdata(8295.3010,0.0407,true,"4823.3157","16.5800","11397.3767","6.2201"), [37,62] => AMEdata(8295.3010,0.0407,true,"4823.3157","16.5800","11397.3767","6.2201"), +"Sr99" => AMEdata(8402.5235,0.0479,true,"4167.4563","5.7313","8125.2037","8.1353"), [38,61] => AMEdata(8402.5235,0.0479,true,"4167.4563","5.7313","8125.2037","8.1353"), +"Y99" => AMEdata(8476.6938,0.0668,true,"6426.3009","10.3165","6972.9398","12.4082"), [39,60] => AMEdata(8476.6938,0.0668,true,"6426.3009","10.3165","6972.9398","12.4082"), +"Zr99" => AMEdata(8539.2250,0.1061,true,"4406.2308","13.4731","4718.6736","15.9474"), [40,59] => AMEdata(8539.2250,0.1061,true,"4406.2308","13.4731","4718.6736","15.9474"), +"Nb99" => AMEdata(8578.9859,0.1213,true,"6882.0497","13.0040","3634.7623","12.0059"), [41,58] => AMEdata(8578.9859,0.1213,true,"6882.0497","13.0040","3634.7623","12.0059"), +"Mo99" => AMEdata(8607.7982,0.0023,true,"5925.4439","0.1497","1357.7631","0.8905"), [42,57] => AMEdata(8607.7982,0.0023,true,"5925.4439","0.1497","1357.7631","0.8905"), +"Tc99" => AMEdata(8613.6105,0.0092,true,"8966.9734","3.3570","297.5156","0.9453"), [43,56] => AMEdata(8613.6105,0.0092,true,"8966.9734","3.3570","297.5156","0.9453"), +"Ru99" => AMEdata(8608.7132,0.0035,true,"7471.8315","6.4715","-2040.8632","19.4529"), [44,55] => AMEdata(8608.7132,0.0035,true,"7471.8315","6.4715","-2040.8632","19.4529"), +"Rh99" => AMEdata(8580.1959,0.1965,true,"10480.6212","22.8055","-3401.6603","18.9153"), [45,54] => AMEdata(8580.1959,0.1965,true,"10480.6212","22.8055","-3401.6603","18.9153"), +"Pd99" => AMEdata(8537.9332,0.0516,true,"8933.1940","6.9691","-5470.3785","8.0829"), [46,53] => AMEdata(8537.9332,0.0516,true,"8933.1940","6.9691","-5470.3785","8.0829"), +"Ag99" => AMEdata(8474.7744,0.0633,true,"11717.3762","33.4984","-6781.3511","6.4622"), [47,52] => AMEdata(8474.7744,0.0633,true,"11717.3762","33.4984","-6781.3511","6.4622"), +"Cd99" => AMEdata(8398.3734,0.0160,true,"10366.0252","51.8208","-8555#","298#"), [48,51] => AMEdata(8398.3734,0.0160,true,"10366.0252","51.8208","-8555#","298#"), +"In99" => AMEdata(8304,3,false,"15541#","426#","-13400#","500#"), [49,50] => AMEdata(8304,3,false,"15541#","426#","-13400#","500#"), +"Sn99" => AMEdata(8161,6,false,"*","","*",""), [50,49] => AMEdata(8161,6,false,"*","","*",""), +"Kr100" => AMEdata(8134,4,false,"4141#","565#","11796#","400#"), [36,64] => AMEdata(8134,4,false,"4141#","565#","11796#","400#"), +"Rb100" => AMEdata(8244.5085,0.1312,true,"3216.0521","13.7291","13551.6204","14.8355"), [37,63] => AMEdata(8244.5085,0.1312,true,"3216.0521","13.7291","13551.6204","14.8355"), +"Sr100" => AMEdata(8372.2012,0.0692,true,"5370.2959","8.3838","7503.7365","13.1453"), [38,62] => AMEdata(8372.2012,0.0692,true,"5370.2959","8.3838","7503.7365","13.1453"), +"Y100" => AMEdata(8439.4151,0.1118,true,"4748.8287","12.9879","9051.4949","13.8293"), [39,61] => AMEdata(8439.4151,0.1118,true,"4748.8287","12.9879","9051.4949","13.8293"), +"Zr100" => AMEdata(8522.1066,0.0814,true,"6827.3838","13.2863","3418.5098","11.3976"), [40,60] => AMEdata(8522.1066,0.0814,true,"6827.3838","13.2863","3418.5098","11.3976"), +"Nb100" => AMEdata(8548.4683,0.0798,true,"5527.2200","14.4120","6401.7829","7.9817"), [41,59] => AMEdata(8548.4683,0.0798,true,"5527.2200","14.4120","6401.7829","7.9817"), +"Mo100" => AMEdata(8604.6626,0.0030,true,"8294.2406","0.3756","-172.0776","1.3704"), [42,58] => AMEdata(8604.6626,0.0030,true,"8294.2406","0.3756","-172.0776","1.3704"), +"Tc100" => AMEdata(8595.1184,0.0135,true,"6764.4000","1.0000","3206.4401","1.3760"), [43,57] => AMEdata(8595.1184,0.0135,true,"6764.4000","1.0000","3206.4401","1.3760"), +"Ru100" => AMEdata(8619.3593,0.0034,true,"9673.3245","0.0257","-3636.2612","18.1231"), [44,56] => AMEdata(8619.3593,0.0034,true,"9673.3245","0.0257","-3636.2612","18.1231"), +"Rh100" => AMEdata(8575.1732,0.1813,true,"8077.9264","26.5862","-378.4577","25.2879"), [45,55] => AMEdata(8575.1732,0.1813,true,"8077.9264","26.5862","-378.4577","25.2879"), +"Pd100" => AMEdata(8563.5652,0.1764,true,"11101.1290","18.3610","-7074.7030","18.3319"), [46,54] => AMEdata(8563.5652,0.1764,true,"11101.1290","18.3610","-7074.7030","18.3319"), +"Ag100" => AMEdata(8484.9947,0.0500,true,"9496.8046","8.0156","-3943.3740","5.2735"), [47,53] => AMEdata(8484.9947,0.0500,true,"9496.8046","8.0156","-3943.3740","5.2735"), +"Cd100" => AMEdata(8437.7375,0.0168,true,"12334.7816","2.3063","-10016.4492","2.7945"), [48,52] => AMEdata(8437.7375,0.0168,true,"12334.7816","2.3063","-10016.4492","2.7945"), +"In100" => AMEdata(8329.7495,0.0224,true,"10873#","298#","-7030.0000","240.0000"), [49,51] => AMEdata(8329.7495,0.0224,true,"10873#","298#","-7030.0000","240.0000"), +"Sn100" => AMEdata(8251.6260,2.4001,true,"17243#","630#","*",""), [50,50] => AMEdata(8251.6260,2.4001,true,"17243#","630#","*",""), +"Kr101" => AMEdata(8075,5,false,"2181#","640#","13987#","501#"), [36,65] => AMEdata(8075,5,false,"2181#","640#","13987#","501#"), +"Rb101" => AMEdata(8206.1753,0.2029,true,"4372.8514","24.3351","12757.4969","22.1781"), [37,64] => AMEdata(8206.1753,0.2029,true,"4372.8514","24.3351","12757.4969","22.1781"), +"Sr101" => AMEdata(8324.7411,0.0840,true,"3578.7279","10.9437","9729.8721","11.0473"), [38,63] => AMEdata(8324.7411,0.0840,true,"3578.7279","10.9437","9729.8721","11.0473"), +"Y101" => AMEdata(8413.3305,0.0701,true,"5804.8636","13.2312","8106.2003","10.9331"), [39,62] => AMEdata(8413.3305,0.0701,true,"5804.8636","13.2312","8106.2003","10.9331"), +"Zr101" => AMEdata(8485.8439,0.0825,true,"4859.5690","11.6498","5730.5011","9.1366"), [40,61] => AMEdata(8485.8439,0.0825,true,"4859.5690","11.6498","5730.5011","9.1366"), +"Nb101" => AMEdata(8534.8355,0.0371,true,"7171.5602","8.8130","4628.4637","3.7378"), [41,60] => AMEdata(8534.8355,0.0371,true,"7171.5602","8.8130","4628.4637","3.7378"), +"Mo101" => AMEdata(8572.9159,0.0031,true,"5398.2409","0.0681","2824.6411","24.0018"), [42,59] => AMEdata(8572.9159,0.0031,true,"5398.2409","0.0681","2824.6411","24.0018"), +"Tc101" => AMEdata(8593.1366,0.2377,true,"8394.9596","24.0405","1613.5200","24.0000"), [43,58] => AMEdata(8593.1366,0.2377,true,"8394.9596","24.0405","1613.5200","24.0000"), +"Ru101" => AMEdata(8601.3660,0.0041,true,"6802.0395","0.2348","-545.6846","5.8518"), [44,57] => AMEdata(8601.3660,0.0041,true,"6802.0395","0.2348","-545.6846","5.8518"), +"Rh101" => AMEdata(8588.2172,0.0578,true,"9892.6161","19.0424","-1980.2833","3.9027"), [45,56] => AMEdata(8588.2172,0.0578,true,"9892.6161","19.0424","-1980.2833","3.9027"), +"Pd101" => AMEdata(8560.8644,0.0454,true,"8290.7904","18.2233","-4097.7606","6.6679"), [46,55] => AMEdata(8560.8644,0.0454,true,"8290.7904","18.2233","-4097.7606","6.6679"), +"Ag101" => AMEdata(8512.5465,0.0479,true,"11267.7328","6.9575","-5497.9186","5.0625"), [47,54] => AMEdata(8512.5465,0.0479,true,"11267.7328","6.9575","-5497.9186","5.0625"), +"Cd101" => AMEdata(8450.3657,0.0148,true,"9713.1882","2.2433","-7291.5642","11.7569"), [48,53] => AMEdata(8450.3657,0.0148,true,"9713.1882","2.2433","-7291.5642","11.7569"), +"In101" => AMEdata(8370.4260,0.1155,true,"12438.0733","11.8744","-8239.2770","300.2313"), [49,52] => AMEdata(8370.4260,0.1155,true,"12438.0733","11.8744","-8239.2770","300.2313"), +"Sn101" => AMEdata(8281.1030,2.9703,true,"11228.7963","384.1976","*",""), [50,51] => AMEdata(8281.1030,2.9703,true,"11228.7963","384.1976","*",""), +"Rb102" => AMEdata(8152.7443,0.8128,true,"2756.2127","85.3982","14906.9991","106.6347"), [37,65] => AMEdata(8152.7443,0.8128,true,"2756.2127","85.3982","14906.9991","106.6347"), +"Sr102" => AMEdata(8291.2213,0.6575,true,"4905.7149","67.6016","9013.3301","67.1916"), [38,64] => AMEdata(8291.2213,0.6575,true,"4905.7149","67.6016","9013.3301","67.1916"), +"Y102" => AMEdata(8371.9172,0.0400,true,"4189.1728","8.1724","10408.7856","9.6618"), [39,63] => AMEdata(8371.9172,0.0400,true,"4189.1728","8.1724","10408.7856","9.6618"), +"Zr102" => AMEdata(8466.2940,0.0859,true,"6491.7581","12.0870","4716.8380","9.0530"), [40,62] => AMEdata(8466.2940,0.0859,true,"6491.7581","12.0870","4716.8380","9.0530"), +"Nb102" => AMEdata(8504.8675,0.0246,true,"5478.0950","4.5117","7262.6008","8.6750"), [41,61] => AMEdata(8504.8675,0.0246,true,"5478.0950","4.5117","7262.6008","8.6750"), +"Mo102" => AMEdata(8568.3994,0.0814,true,"8112.2321","8.3092","1012.0557","12.3682"), [42,60] => AMEdata(8568.3994,0.0814,true,"8112.2321","8.3092","1012.0557","12.3682"), +"Tc102" => AMEdata(8570.6514,0.0899,true,"6299.6467","25.6903","4533.5134","9.1646"), [43,59] => AMEdata(8570.6514,0.0899,true,"6299.6467","25.6903","4533.5134","9.1646"), +"Ru102" => AMEdata(8607.4275,0.0041,true,"9219.6402","0.0500","-2323.1187","6.3960"), [44,58] => AMEdata(8607.4275,0.0041,true,"9219.6402","0.0500","-2323.1187","6.3960"), +"Rh102" => AMEdata(8576.9818,0.0628,true,"7442.2061","8.6692","1119.6470","6.3962"), [45,57] => AMEdata(8576.9818,0.0628,true,"7442.2061","8.6692","1119.6470","6.3962"), +"Pd102" => AMEdata(8580.2887,0.0041,true,"10542.1364","4.6048","-5656.2615","8.1816"), [46,56] => AMEdata(8580.2887,0.0041,true,"10542.1364","4.6048","-5656.2615","8.1816"), +"Ag102" => AMEdata(8517.1650,0.0801,true,"8983.6355","9.4959","-2587.0000","8.0000"), [47,55] => AMEdata(8517.1650,0.0801,true,"8983.6355","9.4959","-2587.0000","8.0000"), +"Cd102" => AMEdata(8484.1322,0.0163,true,"11894.5540","2.2327","-8964.8059","4.8654"), [48,54] => AMEdata(8484.1322,0.0163,true,"11894.5540","2.2327","-8964.8059","4.8654"), +"In102" => AMEdata(8388.5719,0.0448,true,"10221.3123","12.5265","-5760.0000","100.0000"), [49,53] => AMEdata(8388.5719,0.0448,true,"10221.3123","12.5265","-5760.0000","100.0000"), +"Sn102" => AMEdata(8324.4313,0.9814,true,"12700.5893","316.2653","-13835#","412#"), [50,52] => AMEdata(8324.4313,0.9814,true,"12700.5893","316.2653","-13835#","412#"), +"Sb102" => AMEdata(8181,4,false,"*","","*",""), [51,51] => AMEdata(8181,4,false,"*","","*",""), +"Rb103" => AMEdata(8112,4,false,"3979#","408#","14120#","447#"), [37,66] => AMEdata(8112,4,false,"3979#","408#","14120#","447#"), +"Sr103" => AMEdata(8242,2,false,"3192#","211#","11177#","201#"), [38,65] => AMEdata(8242,2,false,"3192#","211#","11177#","201#"), +"Y103" => AMEdata(8342.6336,0.1088,true,"5355.7103","11.8739","9351.9600","14.5130"), [39,64] => AMEdata(8342.6336,0.1088,true,"5355.7103","11.8739","9351.9600","14.5130"), +"Zr103" => AMEdata(8425.8337,0.0895,true,"4298.8847","12.7169","7219.6740","10.0270"), [40,63] => AMEdata(8425.8337,0.0895,true,"4298.8847","12.7169","7219.6740","10.0270"), +"Nb103" => AMEdata(8488.3320,0.0382,true,"6801.7207","4.6675","5925.6639","10.0270"), [41,62] => AMEdata(8488.3320,0.0382,true,"6801.7207","4.6675","5925.6639","10.0270"), +"Mo103" => AMEdata(8538.2672,0.0895,true,"5464.7839","12.4100","3649.5889","13.4648"), [42,61] => AMEdata(8538.2672,0.0895,true,"5464.7839","12.4100","3649.5889","13.4648"), +"Tc103" => AMEdata(8566.1045,0.0952,true,"8102.3170","13.0480","2663.2474","9.8086"), [43,60] => AMEdata(8566.1045,0.0952,true,"8102.3170","13.0480","2663.2474","9.8086"), +"Ru103" => AMEdata(8584.3656,0.0043,true,"6232.0509","0.1478","764.5378","2.2598"), [44,59] => AMEdata(8584.3656,0.0043,true,"6232.0509","0.1478","764.5378","2.2598"), +"Rh103" => AMEdata(8584.1927,0.0223,true,"9319.7075","6.7850","-574.7252","2.3928"), [45,58] => AMEdata(8584.1927,0.0223,true,"9319.7075","6.7850","-574.7252","2.3928"), +"Pd103" => AMEdata(8571.0173,0.0085,true,"7625.3353","0.7717","-2654.2778","4.1916"), [46,57] => AMEdata(8571.0173,0.0085,true,"7625.3353","0.7717","-2654.2778","4.1916"), +"Ag103" => AMEdata(8537.6520,0.0398,true,"10627.3189","9.1412","-4151.0761","4.4806"), [47,56] => AMEdata(8537.6520,0.0398,true,"10627.3189","9.1412","-4151.0761","4.4806"), +"Cd103" => AMEdata(8489.7547,0.0176,true,"9063.2428","2.4578","-6019.2293","9.1242"), [48,55] => AMEdata(8489.7547,0.0176,true,"9063.2428","2.4578","-6019.2293","9.1242"), +"In103" => AMEdata(8423.7199,0.0872,true,"12008.8195","10.0776","-7540#","100#"), [49,54] => AMEdata(8423.7199,0.0872,true,"12008.8195","10.0776","-7540#","100#"), +"Sn103" => AMEdata(8343,1,false,"10229#","142#","-10422#","316#"), [50,53] => AMEdata(8343,1,false,"10229#","142#","-10422#","316#"), +"Sb103" => AMEdata(8234,3,false,"13642#","500#","*",""), [51,52] => AMEdata(8234,3,false,"13642#","500#","*",""), +"Rb104" => AMEdata(8057,5,false,"2361#","640#","16310#","583#"), [37,67] => AMEdata(8057,5,false,"2361#","640#","16310#","583#"), +"Sr104" => AMEdata(8206,3,false,"4551#","361#","10320#","361#"), [38,66] => AMEdata(8206,3,false,"4551#","361#","10320#","361#"), +"Y104" => AMEdata(8298,2,false,"3694#","201#","11638#","200#"), [39,65] => AMEdata(8298,2,false,"3694#","201#","11638#","200#"), +"Zr104" => AMEdata(8402.3159,0.0896,true,"5979.9844","13.1076","6093.3367","9.4851"), [40,64] => AMEdata(8402.3159,0.0896,true,"5979.9844","13.1076","6093.3367","9.4851"), +"Nb104" => AMEdata(8453.3832,0.0172,true,"4853.6471","4.3202","8532.7512","9.0879"), [41,63] => AMEdata(8453.3832,0.0172,true,"4853.6471","4.3202","8532.7512","9.0879"), +"Mo104" => AMEdata(8527.9063,0.0857,true,"7460.7344","12.8231","2155.2212","24.1665"), [42,62] => AMEdata(8527.9063,0.0857,true,"7460.7344","12.8231","2155.2212","24.1665"), +"Tc104" => AMEdata(8541.1070,0.2393,true,"5966.3668","26.6806","5596.7945","24.9370"), [43,61] => AMEdata(8541.1070,0.2393,true,"5966.3668","26.6806","5596.7945","24.9370"), +"Ru104" => AMEdata(8587.3998,0.0240,true,"8899.9139","2.4916","-1136.4195","3.3643"), [44,60] => AMEdata(8587.3998,0.0240,true,"8899.9139","2.4916","-1136.4195","3.3643"), +"Rh104" => AMEdata(8568.9501,0.0221,true,"6998.9566","0.0814","2435.7789","2.6595"), [45,59] => AMEdata(8568.9501,0.0221,true,"6998.9566","0.0814","2435.7789","2.6595"), +"Pd104" => AMEdata(8584.8485,0.0129,true,"10009.4607","1.5948","-4278.6529","4.0000"), [46,58] => AMEdata(8584.8485,0.0129,true,"10009.4607","1.5948","-4278.6529","4.0000"), +"Ag104" => AMEdata(8536.1850,0.0406,true,"8385.0857","5.8809","-1148.0787","4.5370"), [47,57] => AMEdata(8536.1850,0.0406,true,"8385.0857","5.8809","-1148.0787","4.5370"), +"Cd104" => AMEdata(8517.6232,0.0161,true,"11388.0830","2.4649","-7785.7166","6.0127"), [48,56] => AMEdata(8517.6232,0.0161,true,"11388.0830","2.4649","-7785.7166","6.0127"), +"In104" => AMEdata(8435.2380,0.0555,true,"9621.5957","10.6772","-4555.6174","8.1461"), [49,55] => AMEdata(8435.2380,0.0555,true,"9621.5957","10.6772","-4555.6174","8.1461"), +"Sn104" => AMEdata(8383.9114,0.0552,true,"12606#","101#","-12332#","102#"), [50,54] => AMEdata(8383.9114,0.0552,true,"12606#","101#","-12332#","102#"), +"Sb104" => AMEdata(8258,1,false,"10696#","317#","-9668#","333#"), [51,53] => AMEdata(8258,1,false,"10696#","317#","-9668#","333#"), +"Te104" => AMEdata(8157.3256,3.0539,true,"*","","*",""), [52,52] => AMEdata(8157.3256,3.0539,true,"*","","*",""), +"Sr105" => AMEdata(8152,5,false,"2502#","583#","12380#","640#"), [38,67] => AMEdata(8152,5,false,"2502#","583#","12380#","640#"), +"Y105" => AMEdata(8262,4,false,"4561#","447#","10888#","400#"), [39,66] => AMEdata(8262,4,false,"4561#","447#","10888#","400#"), +"Zr105" => AMEdata(8358.5980,0.1153,true,"3811.9319","15.2776","8457.2728","12.7625"), [40,65] => AMEdata(8358.5980,0.1153,true,"3811.9319","15.2776","8457.2728","12.7625"), +"Nb105" => AMEdata(8431.6925,0.0384,true,"6175.8681","4.4055","7415.2411","9.9106"), [41,64] => AMEdata(8431.6925,0.0384,true,"6175.8681","4.4055","7415.2411","9.9106"), +"Mo105" => AMEdata(8494.8630,0.0862,true,"5058.3580","12.7030","4955.5157","35.0307"), [42,63] => AMEdata(8494.8630,0.0862,true,"5058.3580","12.7030","4955.5157","35.0307"), +"Tc105" => AMEdata(8534.6074,0.3358,true,"7858.6525","43.1423","3648.2396","35.2787"), [43,62] => AMEdata(8534.6074,0.3358,true,"7858.6525","43.1423","3648.2396","35.2787"), +"Ru105" => AMEdata(8561.9016,0.0238,true,"5910.0975","0.1118","1916.7271","2.8508"), [44,61] => AMEdata(8561.9016,0.0238,true,"5910.0975","0.1118","1916.7271","2.8508"), +"Rh105" => AMEdata(8572.7053,0.0238,true,"8963.2442","3.3884","566.6347","2.3459"), [45,60] => AMEdata(8572.7053,0.0238,true,"8963.2442","3.3884","566.6347","2.3459"), +"Pd105" => AMEdata(8570.6509,0.0108,true,"7094.1000","0.7000","-1347.0564","4.6695"), [46,59] => AMEdata(8570.6509,0.0108,true,"7094.1000","0.7000","-1347.0564","4.6695"), +"Ag105" => AMEdata(8550.3708,0.0433,true,"10025.6965","6.1883","-2736.9989","4.3618"), [47,58] => AMEdata(8550.3708,0.0433,true,"10025.6965","6.1883","-2736.9989","4.3618"), +"Cd105" => AMEdata(8516.8532,0.0133,true,"8436.7762","2.1762","-4693.2673","10.3405"), [48,57] => AMEdata(8516.8532,0.0133,true,"8436.7762","2.1762","-4693.2673","10.3405"), +"In105" => AMEdata(8464.7045,0.0976,true,"11529.2255","11.7619","-6302.5807","10.9891"), [49,56] => AMEdata(8464.7045,0.0976,true,"11529.2255","11.7619","-6302.5807","10.9891"), +"Sn105" => AMEdata(8397.2290,0.0378,true,"9782.2623","6.9839","-9322.5103","22.1849"), [50,55] => AMEdata(8397.2290,0.0378,true,"9782.2623","6.9839","-9322.5103","22.1849"), +"Sb105" => AMEdata(8300.9923,0.2079,true,"12792#","104#","-11203.9825","300.8126"), [51,54] => AMEdata(8300.9923,0.2079,true,"12792#","104#","-11203.9825","300.8126"), +"Te105" => AMEdata(8186.8368,2.8573,true,"11255.9961","436.9069","*",""), [52,53] => AMEdata(8186.8368,2.8573,true,"11255.9961","436.9069","*",""), +"Sr106" => AMEdata(8114,6,false,"4181#","781#","11490#","781#"), [38,68] => AMEdata(8114,6,false,"4181#","781#","11490#","781#"), +"Y106" => AMEdata(8215,5,false,"3292#","640#","12959#","539#"), [39,67] => AMEdata(8215,5,false,"3292#","640#","12959#","539#"), +"Zr106" => AMEdata(8330,2,false,"5362#","201#","7453#","200#"), [40,66] => AMEdata(8330,2,false,"5362#","201#","7453#","200#"), +"Nb106" => AMEdata(8393.2657,0.0134,true,"4358.4497","4.2647","9925.3249","9.2388"), [41,65] => AMEdata(8393.2657,0.0134,true,"4358.4497","4.2647","9925.3249","9.2388"), +"Mo106" => AMEdata(8479.5202,0.0861,true,"6868.5336","12.8574","3648.2494","15.2778"), [42,64] => AMEdata(8479.5202,0.0861,true,"6868.5336","12.8574","3648.2494","15.2778"), +"Tc106" => AMEdata(8506.5570,0.1156,true,"5561.2672","37.3008","6547.0000","11.0000"), [43,63] => AMEdata(8506.5570,0.1156,true,"5561.2672","37.3008","6547.0000","11.0000"), +"Ru106" => AMEdata(8560.9406,0.0509,true,"8460.0277","5.4773","39.4038","0.2121"), [44,62] => AMEdata(8560.9406,0.0509,true,"8460.0277","5.4773","39.4038","0.2121"), +"Rh106" => AMEdata(8553.9317,0.0508,true,"6582.7043","5.6941","3544.8865","5.3348"), [45,61] => AMEdata(8553.9317,0.0508,true,"6582.7043","5.6941","3544.8865","5.3348"), +"Pd106" => AMEdata(8579.9934,0.0104,true,"9560.9561","0.2823","-2965.1434","2.8172"), [46,60] => AMEdata(8579.9934,0.0104,true,"9560.9561","0.2823","-2965.1434","2.8172"), +"Ag106" => AMEdata(8544.6397,0.0285,true,"7942.8691","5.4354","189.7534","2.8190"), [47,59] => AMEdata(8544.6397,0.0285,true,"7942.8691","5.4354","189.7534","2.8190"), +"Cd106" => AMEdata(8539.0492,0.0104,true,"10869.6215","1.7730","-6524.0031","12.1765"), [48,58] => AMEdata(8539.0492,0.0104,true,"10869.6215","1.7730","-6524.0031","12.1765"), +"In106" => AMEdata(8470.1213,0.1153,true,"9038.8857","15.9522","-3254.4521","13.2439"), [49,57] => AMEdata(8470.1213,0.1153,true,"9038.8857","15.9522","-3254.4521","13.2439"), +"Sn106" => AMEdata(8432.0383,0.0480,true,"12087.0142","6.4566","-10880.3964","9.0249"), [50,56] => AMEdata(8432.0383,0.0480,true,"12087.0142","6.4566","-10880.3964","9.0249"), +"Sb106" => AMEdata(8322.0124,0.0703,true,"10529.1282","23.0637","-8253.5423","100.8163"), [51,55] => AMEdata(8322.0124,0.0703,true,"10529.1282","23.0637","-8253.5423","100.8163"), +"Te106" => AMEdata(8236.7682,0.9485,true,"13479.5684","316.4178","-14920#","412#"), [52,54] => AMEdata(8236.7682,0.9485,true,"13479.5684","316.4178","-14920#","412#"), +"I106" => AMEdata(8089,4,false,"*","","*",""), [53,53] => AMEdata(8089,4,false,"*","","*",""), +"Sr107" => AMEdata(8057,7,false,"2021#","922#","13720#","860#"), [38,69] => AMEdata(8057,7,false,"2021#","922#","13720#","860#"), +"Y107" => AMEdata(8178,5,false,"4251#","707#","12050#","583#"), [39,68] => AMEdata(8178,5,false,"4251#","707#","12050#","583#"), +"Zr107" => AMEdata(8284,3,false,"3342#","361#","9704#","300#"), [40,67] => AMEdata(8284,3,false,"3342#","361#","9704#","300#"), +"Nb107" => AMEdata(8367.0898,0.0750,true,"5592.4444","8.1440","8821.1703","12.2239"), [41,66] => AMEdata(8367.0898,0.0750,true,"5592.4444","8.1440","8821.1703","12.2239"), +"Mo107" => AMEdata(8442.2190,0.0862,true,"4488.2898","12.9759","6204.9921","12.6599"), [42,65] => AMEdata(8442.2190,0.0862,true,"4488.2898","12.9759","6204.9921","12.6599"), +"Tc107" => AMEdata(8492.8979,0.0811,true,"7045.0325","14.8280","5112.5985","11.7243"), [43,64] => AMEdata(8492.8979,0.0811,true,"7045.0325","14.8280","5112.5985","11.7243"), +"Ru107" => AMEdata(8533.3676,0.0811,true,"5610.6310","9.9433","3001.1457","14.8473"), [44,63] => AMEdata(8533.3676,0.0811,true,"5610.6310","9.9433","3001.1457","14.8473"), +"Rh107" => AMEdata(8554.1040,0.1126,true,"8572.3729","13.2013","1508.9427","12.1108"), [45,62] => AMEdata(8554.1040,0.1126,true,"8572.3729","13.2013","1508.9427","12.1108"), +"Pd107" => AMEdata(8560.8946,0.0112,true,"6536.4290","0.4972","34.0458","2.3174"), [46,61] => AMEdata(8560.8946,0.0112,true,"6536.4290","0.4972","34.0458","2.3174"), +"Ag107" => AMEdata(8553.9012,0.0223,true,"9535.6183","3.5558","-1416.3741","2.5654"), [47,60] => AMEdata(8553.9012,0.0223,true,"9535.6183","3.5558","-1416.3741","2.5654"), +"Cd107" => AMEdata(8533.3524,0.0155,true,"7929.4907","1.9326","-3423.6586","9.5800"), [48,59] => AMEdata(8533.3524,0.0155,true,"7929.4907","1.9326","-3423.6586","9.5800"), +"In107" => AMEdata(8494.0439,0.0902,true,"11029.8353","15.5723","-5054.4281","11.0175"), [49,58] => AMEdata(8494.0439,0.0902,true,"11029.8353","15.5723","-5054.4281","11.0175"), +"Sn107" => AMEdata(8439.4946,0.0496,true,"9229.8593","7.3559","-7858.9903","6.7377"), [50,57] => AMEdata(8439.4946,0.0496,true,"9229.8593","7.3559","-7858.9903","6.7377"), +"Sb107" => AMEdata(8358.7344,0.0388,true,"12251.2653","8.5286","-9996#","101#"), [51,56] => AMEdata(8358.7344,0.0388,true,"12251.2653","8.5286","-9996#","101#"), +"Te107" => AMEdata(8258,1,false,"10509#","142#","-11227#","316#"), [52,55] => AMEdata(8258,1,false,"10509#","142#","-11227#","316#"), +"I107" => AMEdata(8146,3,false,"14201#","500#","*",""), [53,54] => AMEdata(8146,3,false,"14201#","500#","*",""), +"Y108" => AMEdata(8129,6,false,"2881#","781#","14170#","721#"), [39,69] => AMEdata(8129,6,false,"2881#","781#","14170#","721#"), +"Zr108" => AMEdata(8253,4,false,"5001#","500#","8595#","400#"), [40,68] => AMEdata(8253,4,false,"5001#","500#","8595#","400#"), +"Nb108" => AMEdata(8325.6604,0.0763,true,"3892.7111","11.4997","11204.0998","12.3668"), [41,67] => AMEdata(8325.6604,0.0763,true,"3892.7111","11.4997","11204.0998","12.3668"), +"Mo108" => AMEdata(8422.1581,0.0854,true,"6275.6407","13.0416","5173.5330","12.7262"), [42,66] => AMEdata(8422.1581,0.0854,true,"6275.6407","13.0416","5173.5330","12.7262"), +"Tc108" => AMEdata(8462.8172,0.0812,true,"5244.1816","11.7903","7738.5736","11.7903"), [43,65] => AMEdata(8462.8172,0.0812,true,"5244.1816","11.7903","7738.5736","11.7903"), +"Ru108" => AMEdata(8527.2267,0.0804,true,"7870.1566","11.7243","1369.7517","16.4699"), [44,64] => AMEdata(8527.2267,0.0804,true,"7870.1566","11.7243","1369.7517","16.4699"), +"Rh108" => AMEdata(8532.6657,0.1296,true,"6238.7626","18.4699","4493.0596","14.0405"), [45,63] => AMEdata(8532.6657,0.1296,true,"6238.7626","18.4699","4493.0596","14.0405"), +"Pd108" => AMEdata(8567.0241,0.0103,true,"9222.8795","1.6342","-1917.4238","2.6323"), [46,62] => AMEdata(8567.0241,0.0103,true,"9222.8795","1.6342","-1917.4238","2.6323"), +"Ag108" => AMEdata(8542.0262,0.0221,true,"7271.4100","0.1700","1645.6311","2.6386"), [47,61] => AMEdata(8542.0262,0.0221,true,"7271.4100","0.1700","1645.6311","2.6386"), +"Cd108" => AMEdata(8550.0196,0.0104,true,"10333.4152","2.0042","-5132.5944","8.5845"), [48,60] => AMEdata(8550.0196,0.0104,true,"10333.4152","2.0042","-5132.5944","8.5845"), +"In108" => AMEdata(8495.2516,0.0800,true,"8624.4794","12.9562","-2049.8794","9.8365"), [49,59] => AMEdata(8495.2516,0.0800,true,"8624.4794","12.9562","-2049.8794","9.8365"), +"Sn108" => AMEdata(8469.0273,0.0498,true,"11629.0281","7.5605","-9624.6079","7.6925"), [50,58] => AMEdata(8469.0273,0.0498,true,"11629.0281","7.5605","-9624.6079","7.6925"), +"Sb108" => AMEdata(8372.6666,0.0509,true,"9863.4105","6.8854","-6663.6646","7.7125"), [51,57] => AMEdata(8372.6666,0.0509,true,"9863.4105","6.8854","-6663.6646","7.7125"), +"Te108" => AMEdata(8303.7221,0.0501,true,"13196#","101#","-13011#","101#"), [52,56] => AMEdata(8303.7221,0.0501,true,"13196#","101#","-13011#","101#"), +"I108" => AMEdata(8176,1,false,"11413#","317#","-10139#","393#"), [53,55] => AMEdata(8176,1,false,"11413#","317#","-10139#","393#"), +"Xe108" => AMEdata(8074.8886,3.5139,true,"*","","*",""), [54,54] => AMEdata(8074.8886,3.5139,true,"*","","*",""), +"Y109" => AMEdata(8089,6,false,"3772#","922#","13250#","860#"), [39,70] => AMEdata(8089,6,false,"3772#","922#","13250#","860#"), +"Zr109" => AMEdata(8204,5,false,"2851#","640#","10960#","660#"), [40,69] => AMEdata(8204,5,false,"2851#","640#","10960#","660#"), +"Nb109" => AMEdata(8297.1307,3.9524,true,"5215.9200","430.8948","9969.4851","430.9610"), [41,68] => AMEdata(8297.1307,3.9524,true,"5215.9200","430.8948","9969.4851","430.9610"), +"Mo109" => AMEdata(8381.4163,0.1026,true,"3981.3053","14.4909","7623.5438","14.7805"), [42,67] => AMEdata(8381.4163,0.1026,true,"3981.3053","14.4909","7623.5438","14.7805"), +"Tc109" => AMEdata(8444.1796,0.0887,true,"6431.3160","12.5320","6455.6267","12.6574"), [43,66] => AMEdata(8444.1796,0.0887,true,"6431.3160","12.5320","6455.6267","12.6574"), +"Ru109" => AMEdata(8496.2280,0.0821,true,"5148.3692","11.9235","4260.7958","9.8229"), [44,65] => AMEdata(8496.2280,0.0821,true,"5148.3692","11.9235","4260.7958","9.8229"), +"Rh109" => AMEdata(8528.1404,0.0371,true,"8039.4133","14.5507","2607.2327","4.1874"), [45,64] => AMEdata(8528.1404,0.0371,true,"8039.4133","14.5507","2607.2327","4.1874"), +"Pd109" => AMEdata(8544.8825,0.0102,true,"6153.5865","0.1477","1112.9469","1.4024"), [46,63] => AMEdata(8544.8825,0.0102,true,"6153.5865","0.1477","1112.9469","1.4024"), +"Ag109" => AMEdata(8547.9155,0.0118,true,"9183.9572","2.7124","-215.1002","1.7795"), [47,62] => AMEdata(8547.9155,0.0118,true,"9183.9572","2.7124","-215.1002","1.7795"), +"Cd109" => AMEdata(8538.7646,0.0141,true,"7323.2259","1.8337","-2014.8047","4.0662"), [48,61] => AMEdata(8538.7646,0.0141,true,"7323.2259","1.8337","-2014.8047","4.0662"), +"In109" => AMEdata(8513.1027,0.0364,true,"10441.0156","9.4231","-3859.3453","8.8866"), [49,60] => AMEdata(8513.1027,0.0364,true,"10441.0156","9.4231","-3859.3453","8.8866"), +"Sn109" => AMEdata(8470.5183,0.0729,true,"8631.5497","9.5998","-6379.1940","8.8074"), [50,59] => AMEdata(8470.5183,0.0729,true,"8631.5497","9.5998","-6379.1940","8.8074"), +"Sb109" => AMEdata(8404.8161,0.0483,true,"11876.9636","7.6108","-8535.5871","6.8502"), [51,58] => AMEdata(8404.8161,0.0483,true,"11876.9636","7.6108","-8535.5871","6.8502"), +"Te109" => AMEdata(8319.3305,0.0402,true,"10005.0412","6.9630","-10042.8941","8.0301"), [52,57] => AMEdata(8319.3305,0.0402,true,"10005.0412","6.9630","-10042.8941","8.0301"), +"I109" => AMEdata(8220.0164,0.0617,true,"12973#","102#","-11502.9589","300.1831"), [53,56] => AMEdata(8220.0164,0.0617,true,"12973#","102#","-11502.9589","300.1831"), +"Xe109" => AMEdata(8107.3071,2.7533,true,"11608.5079","483.8209","*",""), [54,55] => AMEdata(8107.3071,2.7533,true,"11608.5079","483.8209","*",""), +"Zr110" => AMEdata(8171,5,false,"4561#","707#","10090#","976#"), [40,70] => AMEdata(8171,5,false,"4561#","707#","10090#","976#"), +"Nb110" => AMEdata(8255.2607,7.6213,true,"3691.4328","942.5626","12225.9002","838.6945"), [41,69] => AMEdata(8255.2607,7.6213,true,"3691.4328","942.5626","12225.9002","838.6945"), +"Mo110" => AMEdata(8359.2930,0.2202,true,"5947.8479","26.6739","6498.7491","26.0147"), [42,68] => AMEdata(8359.2930,0.2202,true,"5947.8479","26.6739","6498.7491","26.0147"), +"Tc110" => AMEdata(8411.2603,0.0863,true,"4823.0531","13.0423","9038.0654","12.5086"), [43,67] => AMEdata(8411.2603,0.0863,true,"4823.0531","13.0423","9038.0654","12.5086"), +"Ru110" => AMEdata(8486.3123,0.0811,true,"7405.4918","12.1066","2756.0638","19.4044"), [44,66] => AMEdata(8486.3123,0.0811,true,"7405.4918","12.1066","2756.0638","19.4044"), +"Rh110" => AMEdata(8504.2551,0.1619,true,"5900.7599","18.2454","5502.2116","17.7967"), [45,65] => AMEdata(8504.2551,0.1619,true,"5900.7599","18.2454","5502.2116","17.7967"), +"Pd110" => AMEdata(8547.1630,0.0056,true,"8795.7387","1.2563","-873.5982","1.3777"), [46,64] => AMEdata(8547.1630,0.0056,true,"8795.7387","1.2563","-873.5982","1.3777"), +"Ag110" => AMEdata(8532.1089,0.0117,true,"6809.1936","0.0999","2890.6633","1.2771"), [47,63] => AMEdata(8532.1089,0.0117,true,"6809.1936","0.0999","2890.6633","1.2771"), +"Cd110" => AMEdata(8551.2755,0.0035,true,"9914.9571","1.5698","-3878.0000","11.5470"), [48,62] => AMEdata(8551.2755,0.0035,true,"9914.9571","1.5698","-3878.0000","11.5470"), +"In110" => AMEdata(8508.9087,0.1050,true,"8051.7618","12.2172","-627.9769","17.9802"), [49,61] => AMEdata(8508.9087,0.1050,true,"8051.7618","12.2172","-627.9769","17.9802"), +"Sn110" => AMEdata(8496.0875,0.1252,true,"11283.1301","15.9059","-8392.2480","15.0117"), [50,60] => AMEdata(8496.0875,0.1252,true,"11283.1301","15.9059","-8392.2480","15.0117"), +"Sb110" => AMEdata(8412.6821,0.0542,true,"9270.0761","7.9536","-5219.9240","8.8753"), [51,59] => AMEdata(8412.6821,0.0542,true,"9270.0761","7.9536","-5219.9240","8.8753"), +"Te110" => AMEdata(8358.1160,0.0598,true,"12585.7392","7.9016","-11761.9766","62.2875"), [52,58] => AMEdata(8358.1160,0.0598,true,"12585.7392","7.9016","-11761.9766","62.2875"), +"I110" => AMEdata(8244.0767,0.5631,true,"10866.6567","62.3040","-8545.2075","118.4700"), [53,57] => AMEdata(8244.0767,0.5631,true,"10866.6567","62.3040","-8545.2075","118.4700"), +"Xe110" => AMEdata(8159.2808,0.9181,true,"13824.4081","316.6437","*",""), [54,56] => AMEdata(8159.2808,0.9181,true,"13824.4081","316.6437","*",""), +"Zr111" => AMEdata(8118,5,false,"2331#","781#","12480#","671#"), [40,71] => AMEdata(8118,5,false,"2331#","781#","12480#","671#"), +"Nb111" => AMEdata(8223,3,false,"4722#","890#","10980#","300#"), [41,70] => AMEdata(8223,3,false,"4722#","890#","10980#","300#"), +"Mo111" => AMEdata(8315.2932,0.1133,true,"3475.3171","27.2906","9084.8620","6.7999"), [42,69] => AMEdata(8315.2932,0.1133,true,"3475.3171","27.2906","9084.8620","6.7999"), +"Tc111" => AMEdata(8390.0906,0.0953,true,"6061.4300","13.7230","7760.6500","13.8477"), [43,68] => AMEdata(8390.0906,0.0953,true,"6061.4300","13.7230","7760.6500","13.8477"), +"Ru111" => AMEdata(8452.9582,0.0872,true,"4784.0145","12.6453","5518.5456","11.8621"), [44,67] => AMEdata(8452.9582,0.0872,true,"4784.0145","12.6453","5518.5456","11.8621"), +"Rh111" => AMEdata(8495.6267,0.0617,true,"7546.4963","19.0773","3682.0153","6.8899"), [45,66] => AMEdata(8495.6267,0.0617,true,"7546.4963","19.0773","3682.0153","6.8899"), +"Pd111" => AMEdata(8521.7498,0.0066,true,"5726.3000","0.4000","2229.5607","1.5721"), [46,65] => AMEdata(8521.7498,0.0066,true,"5726.3000","0.4000","2229.5607","1.5721"), +"Ag111" => AMEdata(8534.7878,0.0131,true,"8829.4589","1.9079","1036.8000","1.4142"), [47,64] => AMEdata(8534.7878,0.0131,true,"8829.4589","1.9079","1036.8000","1.4142"), +"Cd111" => AMEdata(8537.0801,0.0032,true,"6975.5956","0.1655","-860.1972","3.4170"), [48,63] => AMEdata(8537.0801,0.0032,true,"6975.5956","0.1655","-860.1972","3.4170"), +"In111" => AMEdata(8522.2824,0.0308,true,"9993.3984","12.0410","-2453.4692","6.3368"), [49,62] => AMEdata(8522.2824,0.0308,true,"9993.3984","12.0410","-2453.4692","6.3368"), +"Sn111" => AMEdata(8493.1310,0.0481,true,"8167.9061","14.7745","-5101.8340","10.3337"), [50,61] => AMEdata(8493.1310,0.0481,true,"8167.9061","14.7745","-5101.8340","10.3337"), +"Sb111" => AMEdata(8440.1203,0.0797,true,"11458.3202","10.6700","-7249.2597","10.9370"), [51,60] => AMEdata(8440.1203,0.0797,true,"11458.3202","10.6700","-7249.2597","10.9370"), +"Te111" => AMEdata(8367.7635,0.0579,true,"9428.9845","9.1946","-8633.6922","7.9943"), [52,59] => AMEdata(8367.7635,0.0579,true,"9428.9845","9.1946","-8633.6922","7.9943"), +"I111" => AMEdata(8282.9343,0.0428,true,"12557.2689","62.1217","-10434#","116#"), [53,58] => AMEdata(8282.9343,0.0428,true,"12557.2689","62.1217","-10434#","116#"), +"Xe111" => AMEdata(8182,1,false,"10669#","153#","-11620#","231#"), [54,57] => AMEdata(8182,1,false,"10669#","153#","-11620#","231#"), +"Cs111" => AMEdata(8070,2,false,"*","","*",""), [55,56] => AMEdata(8070,2,false,"*","","*",""), +"Zr112" => AMEdata(8081,6,false,"4011#","922#","11650#","761#"), [40,72] => AMEdata(8081,6,false,"4011#","922#","11650#","761#"), +"Nb112" => AMEdata(8178,3,false,"3181#","424#","13410#","361#"), [41,71] => AMEdata(8178,3,false,"3181#","424#","13410#","361#"), +"Mo112" => AMEdata(8291,2,false,"5611#","201#","7779#","200#"), [42,70] => AMEdata(8291,2,false,"5611#","201#","7779#","200#"), +"Tc112" => AMEdata(8353.6217,0.0492,true,"4305.5747","11.9225","10371.9409","11.0602"), [43,69] => AMEdata(8353.6217,0.0492,true,"4305.5747","11.9225","10371.9409","11.0602"), +"Ru112" => AMEdata(8439.2431,0.0857,true,"6916.8656","13.1076","4100.1790","45.1185"), [44,68] => AMEdata(8439.2431,0.0857,true,"6916.8656","13.1076","4100.1790","45.1185"), +"Rh112" => AMEdata(8468.8666,0.3936,true,"5498.4990","44.6022","6589.9874","43.9269"), [45,67] => AMEdata(8468.8666,0.3936,true,"5498.4990","44.6022","6589.9874","43.9269"), +"Pd112" => AMEdata(8520.7205,0.0584,true,"8406.4711","6.5791","262.6897","6.9799"), [46,66] => AMEdata(8520.7205,0.0584,true,"8406.4711","6.5791","262.6897","6.9799"), +"Ag112" => AMEdata(8516.0807,0.0216,true,"6439.6000","2.8272","3991.1283","2.4348"), [47,65] => AMEdata(8516.0807,0.0216,true,"6439.6000","2.8272","3991.1283","2.4348"), +"Cd112" => AMEdata(8544.7306,0.0022,true,"9393.9283","0.2830","-2584.7306","4.2434"), [48,64] => AMEdata(8544.7306,0.0022,true,"9393.9283","0.2830","-2584.7306","4.2434"), +"In112" => AMEdata(8514.6674,0.0380,true,"7669.3950","5.4540","664.9224","4.2434"), [49,63] => AMEdata(8514.6674,0.0380,true,"7669.3950","5.4540","664.9224","4.2434"), +"Sn112" => AMEdata(8513.6189,0.0026,true,"10787.7866","5.3283","-7056.0760","17.8317"), [50,62] => AMEdata(8513.6189,0.0026,true,"10787.7866","5.3283","-7056.0760","17.8317"), +"Sb112" => AMEdata(8443.6330,0.1592,true,"8833.5446","19.9046","-4031.4550","19.7019"), [51,61] => AMEdata(8443.6330,0.1592,true,"8833.5446","19.9046","-4031.4550","19.7019"), +"Te112" => AMEdata(8400.6527,0.0749,true,"12051.3493","10.5637","-10504.1795","13.2390"), [52,60] => AMEdata(8400.6527,0.0749,true,"12051.3493","10.5637","-10504.1795","13.2390"), +"I112" => AMEdata(8299.8801,0.0915,true,"10180.8619","11.2955","-7036.9910","13.1754"), [53,59] => AMEdata(8299.8801,0.0915,true,"10180.8619","11.2955","-7036.9910","13.1754"), +"Xe112" => AMEdata(8230.0646,0.0740,true,"13578#","116#","-13612#","116#"), [54,58] => AMEdata(8230.0646,0.0740,true,"13578#","116#","-13612#","116#"), +"Cs112" => AMEdata(8102,1,false,"11586#","231#","*",""), [55,57] => AMEdata(8102,1,false,"11586#","231#","*",""), +"Zr113" => AMEdata(8027,3,false,"1991#","761#","13870#","500#"), [40,73] => AMEdata(8027,3,false,"1991#","761#","13870#","500#"), +"Nb113" => AMEdata(8143,4,false,"4211#","500#","12440#","500#"), [41,72] => AMEdata(8143,4,false,"4211#","500#","12440#","500#"), +"Mo113" => AMEdata(8246,3,false,"3242#","361#","10162#","300#"), [42,71] => AMEdata(8246,3,false,"3242#","361#","10162#","300#"), +"Tc113" => AMEdata(8329.4652,0.0297,true,"5623.9347","6.4543","9056.2674","38.4285"), [43,70] => AMEdata(8329.4652,0.0297,true,"5623.9347","6.4543","9056.2674","38.4285"), +"Ru113" => AMEdata(8402.6857,0.3388,true,"4308.2612","39.3223","6899.1276","38.9406"), [44,69] => AMEdata(8402.6857,0.3388,true,"4308.2612","39.3223","6899.1276","38.9406"), +"Rh113" => AMEdata(8456.8165,0.0631,true,"7107.2099","44.6458","4823.5559","9.8809"), [45,68] => AMEdata(8456.8165,0.0631,true,"7107.2099","44.6458","4823.5559","9.8809"), +"Pd113" => AMEdata(8492.5795,0.0615,true,"5340.7784","9.4757","3436.3252","18.0341"), [46,67] => AMEdata(8492.5795,0.0615,true,"5340.7784","9.4757","3436.3252","18.0341"), +"Ag113" => AMEdata(8516.0660,0.1473,true,"8514.4139","16.8181","2016.4615","16.6410"), [47,66] => AMEdata(8516.0660,0.1473,true,"8514.4139","16.8181","2016.4615","16.6410"), +"Cd113" => AMEdata(8526.9874,0.0022,true,"6539.7471","0.2166","323.8370","0.2653"), [48,65] => AMEdata(8526.9874,0.0022,true,"6539.7471","0.2166","323.8370","0.2653"), +"In113" => AMEdata(8522.9297,0.0017,true,"9448.3147","4.2500","-1038.9941","1.5733"), [49,64] => AMEdata(8522.9297,0.0017,true,"9448.3147","4.2500","-1038.9941","1.5733"), +"Sn113" => AMEdata(8506.8117,0.0139,true,"7744.3982","1.5617","-3911.1637","17.1206"), [50,63] => AMEdata(8506.8117,0.0139,true,"7744.3982","1.5617","-3911.1637","17.1206"), +"Sb113" => AMEdata(8465.2762,0.1521,true,"10889.3105","24.7685","-6069.9281","32.8102"), [51,62] => AMEdata(8465.2762,0.1521,true,"10889.3105","24.7685","-6069.9281","32.8102"), +"Te113" => AMEdata(8404.6366,0.2473,true,"8850.8374","29.1753","-7227.5210","29.0704"), [52,61] => AMEdata(8404.6366,0.2473,true,"8850.8374","29.1753","-7227.5210","29.0704"), +"I113" => AMEdata(8333.7528,0.0709,true,"12127.4960","13.0063","-8915.8902","10.5334"), [53,60] => AMEdata(8333.7528,0.0709,true,"12127.4960","13.0063","-8915.8902","10.5334"), +"Xe113" => AMEdata(8247.9277,0.0605,true,"10248.5967","10.7415","-10439.0876","10.9702"), [54,59] => AMEdata(8247.9277,0.0605,true,"10248.5967","10.7415","-10439.0876","10.9702"), +"Cs113" => AMEdata(8148.6230,0.0759,true,"13421#","116#","-12055#","300#"), [55,58] => AMEdata(8148.6230,0.0759,true,"13421#","116#","-12055#","300#"), +"Ba113" => AMEdata(8035,3,false,"*","","*",""), [56,57] => AMEdata(8035,3,false,"*","","*",""), +"Nb114" => AMEdata(8097,4,false,"2821#","640#","14720#","583#"), [41,73] => AMEdata(8097,4,false,"2821#","640#","14720#","583#"), +"Mo114" => AMEdata(8219,3,false,"5102#","424#","8920#","527#"), [42,72] => AMEdata(8219,3,false,"5102#","424#","8920#","527#"), +"Tc114" => AMEdata(8290.2599,3.7995,true,"3860.0633","433.1577","11620.9190","433.1594"), [43,71] => AMEdata(8290.2599,3.7995,true,"3860.0633","433.1577","11620.9190","433.1594"), +"Ru114" => AMEdata(8385.3351,0.0312,true,"6424.7149","38.4467","5489.0622","71.6432"), [44,70] => AMEdata(8385.3351,0.0312,true,"6424.7149","38.4467","5489.0622","71.6432"), +"Rh114" => AMEdata(8426.6221,0.6277,true,"5014.6495","71.9095","7780.0712","71.8915"), [45,69] => AMEdata(8426.6221,0.6277,true,"5014.6495","71.9095","7780.0712","71.8915"), +"Pd114" => AMEdata(8488.0056,0.0610,true,"7971.1649","9.7483","1440.4642","8.3133"), [46,68] => AMEdata(8488.0056,0.0610,true,"7971.1649","9.7483","1440.4642","8.3133"), +"Ag114" => AMEdata(8493.7786,0.0400,true,"5975.3039","17.2573","5084.1233","4.5727"), [47,67] => AMEdata(8493.7786,0.0400,true,"5975.3039","17.2573","5084.1233","4.5727"), +"Cd114" => AMEdata(8531.5135,0.0024,true,"9042.9656","0.1366","-1445.1268","0.3817"), [48,66] => AMEdata(8531.5135,0.0024,true,"9042.9656","0.1366","-1445.1268","0.3817"), +"In114" => AMEdata(8511.9742,0.0027,true,"7274.0018","0.2534","1989.9281","0.3018"), [49,65] => AMEdata(8511.9742,0.0027,true,"7274.0018","0.2534","1989.9281","0.3018"), +"Sn114" => AMEdata(8522.5671,0.0004,true,"10302.9240","1.5749","-6063.1189","19.7724"), [50,64] => AMEdata(8522.5671,0.0004,true,"10302.9240","1.5749","-6063.1189","19.7724"), +"Sb114" => AMEdata(8462.5191,0.1734,true,"8150.9688","26.2020","-2606.9398","31.4275"), [51,63] => AMEdata(8462.5191,0.1734,true,"8150.9688","26.2020","-2606.9398","31.4275"), +"Te114" => AMEdata(8432.7885,0.2143,true,"11613.9571","37.1167","-9250.7417","31.5883"), [52,62] => AMEdata(8432.7885,0.2143,true,"11613.9571","37.1167","-9250.7417","31.5883"), +"I114" => AMEdata(8344.7790,0.1757,true,"9590.7363","21.5699","-5553.0360","22.9354"), [53,61] => AMEdata(8344.7790,0.1757,true,"9590.7363","21.5699","-5553.0360","22.9354"), +"Xe114" => AMEdata(8289.2054,0.0981,true,"12953.5905","13.1044","-12399.9706","85.7989"), [54,60] => AMEdata(8289.2054,0.0981,true,"12953.5905","13.1044","-12399.9706","85.7989"), +"Cs114" => AMEdata(8173.5711,0.7462,true,"10992.7075","85.4990","-8780.4915","133.3375"), [55,59] => AMEdata(8173.5711,0.7462,true,"10992.7075","85.4990","-8780.4915","133.3375"), +"Ba114" => AMEdata(8089.6865,0.9007,true,"14267#","317#","*",""), [56,58] => AMEdata(8089.6865,0.9007,true,"14267#","317#","*",""), +"Nb115" => AMEdata(8061,4,false,"3991#","707#","13670#","640#"), [41,74] => AMEdata(8061,4,false,"3991#","707#","13670#","640#"), +"Mo115" => AMEdata(8173,3,false,"2941#","500#","11247#","445#"), [42,73] => AMEdata(8173,3,false,"2941#","500#","11247#","445#"), +"Tc115" => AMEdata(8264,2,false,"5268#","475#","10309#","197#"), [43,72] => AMEdata(8264,2,false,"5268#","475#","10309#","197#"), +"Ru115" => AMEdata(8346.8140,0.2188,true,"3955.4006","25.3854","8123.9327","26.1788"), [44,71] => AMEdata(8346.8140,0.2188,true,"3955.4006","25.3854","8123.9327","26.1788"), +"Rh115" => AMEdata(8410.6538,0.0636,true,"6590.2711","71.9282","6196.5938","15.3503"), [45,70] => AMEdata(8410.6538,0.0636,true,"6590.2711","71.9282","6196.5938","15.3503"), +"Pd115" => AMEdata(8457.7342,0.1178,true,"5006.7936","15.1774","4556.7647","21.6496"), [46,69] => AMEdata(8457.7342,0.1178,true,"5006.7936","15.1774","4556.7647","21.6496"), +"Ag115" => AMEdata(8490.5553,0.1589,true,"8123.0941","18.8293","3101.8930","18.2744"), [47,68] => AMEdata(8490.5553,0.1589,true,"8123.0941","18.8293","3101.8930","18.2744"), +"Cd115" => AMEdata(8510.7252,0.0057,true,"6140.8639","0.5899","1451.8768","0.6514"), [48,67] => AMEdata(8510.7252,0.0057,true,"6140.8639","0.5899","1451.8768","0.6514"), +"In115" => AMEdata(8516.5472,0.0003,true,"9037.8675","0.3010","497.4892","0.0097"), [49,66] => AMEdata(8516.5472,0.0003,true,"9037.8675","0.3010","497.4892","0.0097"), +"Sn115" => AMEdata(8514.0702,0.0003,true,"7545.4285","0.0250","-3030.4336","16.0253"), [50,65] => AMEdata(8514.0702,0.0003,true,"7545.4285","0.0250","-3030.4336","16.0253"), +"Sb115" => AMEdata(8480.9156,0.1394,true,"10578.1139","25.4511","-4940.6447","32.2137"), [51,64] => AMEdata(8480.9156,0.1394,true,"10578.1139","25.4511","-4940.6447","32.2137"), +"Te115" => AMEdata(8431.1504,0.2430,true,"8244.4090","37.1167","-5724.9628","40.1840"), [52,63] => AMEdata(8431.1504,0.2430,true,"8244.4090","37.1167","-5724.9628","40.1840"), +"I115" => AMEdata(8374.5651,0.2511,true,"11770.1880","35.1415","-7681.0475","31.3126"), [53,62] => AMEdata(8374.5651,0.2511,true,"11770.1880","35.1415","-7681.0475","31.3126"), +"Xe115" => AMEdata(8300.9704,0.1053,true,"9642.1765","16.4798","-8957#","103#"), [54,61] => AMEdata(8300.9704,0.1053,true,"9642.1765","16.4798","-8957#","103#"), +"Cs115" => AMEdata(8216,1,false,"13085#","133#","-10779#","225#"), [55,60] => AMEdata(8216,1,false,"13085#","133#","-10779#","225#"), +"Ba115" => AMEdata(8116,2,false,"11086#","225#","*",""), [56,59] => AMEdata(8116,2,false,"11086#","225#","*",""), +"Nb116" => AMEdata(8012,3,false,"2422#","583#","15980#","583#"), [41,75] => AMEdata(8012,3,false,"2422#","583#","15980#","583#"), +"Mo116" => AMEdata(8143,4,false,"4732#","640#","10003#","582#"), [42,74] => AMEdata(8143,4,false,"4732#","640#","10003#","582#"), +"Tc116" => AMEdata(8223,3,false,"3488#","357#","12855#","298#"), [43,73] => AMEdata(8223,3,false,"3488#","357#","12855#","298#"), +"Ru116" => AMEdata(8326.8840,0.0321,true,"6034.9397","25.4401","6666.8252","73.9257"), [44,72] => AMEdata(8326.8840,0.0321,true,"6034.9397","25.4401","6666.8252","73.9257"), +"Rh116" => AMEdata(8377.6123,0.6365,true,"4577.8322","74.1870","9095.2839","74.1690"), [45,71] => AMEdata(8377.6123,0.6365,true,"4577.8322","74.1870","9095.2839","74.1690"), +"Pd116" => AMEdata(8449.2755,0.0615,true,"7476.5223","15.2630","2711.6378","7.8446"), [46,70] => AMEdata(8449.2755,0.0615,true,"7476.5223","15.2630","2711.6378","7.8446"), +"Ag116" => AMEdata(8465.9073,0.0281,true,"5631.3954","18.5564","6169.8248","3.2642"), [47,69] => AMEdata(8465.9073,0.0281,true,"5631.3954","18.5564","6169.8248","3.2642"), +"Cd116" => AMEdata(8512.3511,0.0014,true,"8699.3272","0.6679","-462.7305","0.2720"), [48,68] => AMEdata(8512.3511,0.0014,true,"8699.3272","0.6679","-462.7305","0.2720"), +"In116" => AMEdata(8501.6177,0.0019,true,"6784.7200","0.2200","3276.2204","0.2397"), [49,67] => AMEdata(8501.6177,0.0019,true,"6784.7200","0.2200","3276.2204","0.2397"), +"Sn116" => AMEdata(8523.1166,0.0009,true,"9563.4512","0.0948","-4703.9591","5.1540"), [50,66] => AMEdata(8523.1166,0.0009,true,"9563.4512","0.0948","-4703.9591","5.1540"), +"Sb116" => AMEdata(8475.8208,0.0444,true,"7889.9257","16.8338","-1558.2272","24.7485"), [51,65] => AMEdata(8475.8208,0.0444,true,"7889.9257","16.8338","-1558.2272","24.7485"), +"Te116" => AMEdata(8455.6435,0.2087,true,"11272.3432","36.9707","-7843.1388","75.3230"), [52,64] => AMEdata(8455.6435,0.2087,true,"11272.3432","36.9707","-7843.1388","75.3230"), +"I116" => AMEdata(8381.2858,0.6469,true,"9154.1671","80.4017","-4373.7764","75.8444"), [53,63] => AMEdata(8381.2858,0.6469,true,"9154.1671","80.4017","-4373.7764","75.8444"), +"Xe116" => AMEdata(8336.8365,0.1122,true,"12461.4382","17.7788","-11004#","101#"), [54,62] => AMEdata(8336.8365,0.1122,true,"12461.4382","17.7788","-11004#","101#"), +"Cs116" => AMEdata(8235,1,false,"10414#","143#","-7663#","224#"), [55,61] => AMEdata(8235,1,false,"10414#","143#","-7663#","224#"), +"Ba116" => AMEdata(8162,2,false,"13531#","283#","-14330#","379#"), [56,60] => AMEdata(8162,2,false,"13531#","283#","-14330#","379#"), +"La116" => AMEdata(8032,3,false,"*","","*",""), [57,59] => AMEdata(8032,3,false,"*","","*",""), +"Mo117" => AMEdata(8096,4,false,"2550#","707#","12450#","640#"), [42,75] => AMEdata(8096,4,false,"2550#","707#","12450#","640#"), +"Tc117" => AMEdata(8195,3,false,"4997#","499#","11350#","589#"), [43,74] => AMEdata(8195,3,false,"4997#","499#","11350#","589#"), +"Ru117" => AMEdata(8285.5625,3.7021,true,"3492.2718","433.1608","9406.8875","433.2361"), [44,73] => AMEdata(8285.5625,3.7021,true,"3492.2718","433.1608","9406.8875","433.2361"), +"Rh117" => AMEdata(8359.2766,0.0760,true,"6232.3340","74.3589","7527.1313","11.4108"), [45,72] => AMEdata(8359.2766,0.0760,true,"6232.3340","74.3589","7527.1313","11.4108"), +"Pd117" => AMEdata(8416.9243,0.0620,true,"4664.1814","10.1002","5758.0284","14.7674"), [46,71] => AMEdata(8416.9243,0.0620,true,"4664.1814","10.1002","5758.0284","14.7674"), +"Ag117" => AMEdata(8459.4515,0.1160,true,"7710.5720","13.9583","4236.4790","13.6099"), [47,70] => AMEdata(8459.4515,0.1160,true,"7710.5720","13.9583","4236.4790","13.6099"), +"Cd117" => AMEdata(8488.9740,0.0087,true,"5777.2262","1.0000","2524.6381","4.9829"), [48,69] => AMEdata(8488.9740,0.0087,true,"5777.2262","1.0000","2524.6381","4.9829"), +"In117" => AMEdata(8503.8653,0.0417,true,"8764.5947","4.8856","1454.7073","4.8567"), [49,68] => AMEdata(8503.8653,0.0417,true,"8764.5947","4.8856","1454.7073","4.8567"), +"Sn117" => AMEdata(8509.6120,0.0041,true,"6943.0816","0.4743","-1758.1788","8.4449"), [50,67] => AMEdata(8509.6120,0.0041,true,"6943.0816","0.4743","-1758.1788","8.4449"), +"Sb117" => AMEdata(8487.8981,0.0721,true,"9888.8619","9.8861","-3544.0634","13.0785"), [51,66] => AMEdata(8487.8981,0.0721,true,"9888.8619","9.8861","-3544.0634","13.0785"), +"Te117" => AMEdata(8450.9203,0.1150,true,"7903.0258","27.6941","-4656.9321","28.1284"), [52,65] => AMEdata(8450.9203,0.1150,true,"7903.0258","27.6941","-4656.9321","28.1284"), +"I117" => AMEdata(8404.4307,0.2184,true,"11089.2325","79.2704","-6253.2213","27.5845"), [53,64] => AMEdata(8404.4307,0.2184,true,"11089.2325","79.2704","-6253.2213","27.5845"), +"Xe117" => AMEdata(8344.2976,0.0887,true,"9209.7876","16.6481","-7692.2462","63.2672"), [54,63] => AMEdata(8344.2976,0.0887,true,"9209.7876","16.6481","-7692.2462","63.2672"), +"Cs117" => AMEdata(8271.8652,0.5334,true,"12522#","118#","-9035.1943","258.0009"), [55,62] => AMEdata(8271.8652,0.5334,true,"12522#","118#","-9035.1943","258.0009"), +"Ba117" => AMEdata(8187.9546,2.1396,true,"11150#","321#","-11187#","321#"), [56,61] => AMEdata(8187.9546,2.1396,true,"11150#","321#","-11187#","321#"), +"La117" => AMEdata(8086,2,false,"14292#","379#","*",""), [57,60] => AMEdata(8086,2,false,"14292#","379#","*",""), +"Mo118" => AMEdata(8067,4,false,"4752#","707#","10920#","640#"), [42,76] => AMEdata(8067,4,false,"4752#","707#","10920#","640#"), +"Tc118" => AMEdata(8153,3,false,"3222#","565#","13710#","447#"), [43,75] => AMEdata(8153,3,false,"3222#","565#","13710#","447#"), +"Ru118" => AMEdata(8263,2,false,"5581#","477#","7887#","202#"), [44,74] => AMEdata(8263,2,false,"5581#","477#","7887#","202#"), +"Rh118" => AMEdata(8322.8539,0.2054,true,"4061.3992","25.7849","10501.5182","24.3424"), [45,73] => AMEdata(8322.8539,0.2054,true,"4061.3992","25.7849","10501.5182","24.3424"), +"Pd118" => AMEdata(8405.2197,0.0211,true,"7035.7862","7.6073","4165.4444","3.5419"), [46,72] => AMEdata(8405.2197,0.0211,true,"7035.7862","7.6073","4165.4444","3.5419"), +"Ag118" => AMEdata(8433.8900,0.0213,true,"5443.2022","13.8032","7147.8469","20.1582"), [47,71] => AMEdata(8433.8900,0.0213,true,"5443.2022","13.8032","7147.8469","20.1582"), +"Cd118" => AMEdata(8487.8350,0.1695,true,"8354.5701","20.0250","526.5277","21.4501"), [48,70] => AMEdata(8487.8350,0.1695,true,"8354.5701","20.0250","526.5277","21.4501"), +"In118" => AMEdata(8485.6670,0.0657,true,"6356.4596","6.0247","4424.6664","7.7396"), [49,69] => AMEdata(8485.6670,0.0657,true,"6356.4596","6.0247","4424.6664","7.7396"), +"Sn118" => AMEdata(8516.5341,0.0042,true,"9326.4187","0.1299","-3656.6393","2.9745"), [50,68] => AMEdata(8516.5341,0.0042,true,"9326.4187","0.1299","-3656.6393","2.9745"), +"Sb118" => AMEdata(8478.9156,0.0256,true,"7427.9581","8.9543","-305.4459","18.5521"), [51,67] => AMEdata(8478.9156,0.0256,true,"7427.9581","8.9543","-305.4459","18.5521"), +"Te118" => AMEdata(8469.6970,0.1551,true,"10666.5756","22.7190","-6719.7015","26.9364"), [52,66] => AMEdata(8469.6970,0.1551,true,"10666.5756","22.7190","-6719.7015","26.9364"), +"I118" => AMEdata(8406.1203,0.1675,true,"8603.8063","32.3056","-2891.9893","22.3197"), [53,65] => AMEdata(8406.1203,0.1675,true,"8603.8063","32.3056","-2891.9893","22.3197"), +"Xe118" => AMEdata(8374.9819,0.0880,true,"11965.0383","14.6773","-9669.6905","16.4423"), [54,64] => AMEdata(8374.9819,0.0880,true,"11965.0383","14.6773","-9669.6905","16.4423"), +"Cs118" => AMEdata(8286.4053,0.1081,true,"9987.5940","63.6998","-6210#","201#"), [55,63] => AMEdata(8286.4053,0.1081,true,"9987.5940","63.6998","-6210#","201#"), +"Ba118" => AMEdata(8227,2,false,"12813#","321#","-12580#","361#"), [56,62] => AMEdata(8227,2,false,"12813#","321#","-12580#","361#"), +"La118" => AMEdata(8114,3,false,"11420#","361#","*",""), [57,61] => AMEdata(8114,3,false,"11420#","361#","*",""), +"Mo119" => AMEdata(8019,3,false,"2281#","583#","13590#","583#"), [42,77] => AMEdata(8019,3,false,"2281#","583#","13590#","583#"), +"Tc119" => AMEdata(8126,4,false,"4951#","640#","11910#","583#"), [43,76] => AMEdata(8126,4,false,"4951#","640#","11910#","583#"), +"Ru119" => AMEdata(8220,3,false,"3151#","361#","10743#","300#"), [44,75] => AMEdata(8220,3,false,"3151#","361#","10743#","300#"), +"Rh119" => AMEdata(8303.3953,0.0783,true,"6007.2806","25.9642","8584.4751","12.4416"), [45,74] => AMEdata(8303.3953,0.0783,true,"6007.2806","25.9642","8584.4751","12.4416"), +"Pd119" => AMEdata(8368.9594,0.0693,true,"4090.2374","8.5558","7238.4816","16.8566"), [46,73] => AMEdata(8368.9594,0.0693,true,"4090.2374","8.5558","7238.4816","16.8566"), +"Ag119" => AMEdata(8423.2126,0.1236,true,"7163.2746","14.9161","5331.1799","35.9259"), [47,72] => AMEdata(8423.2126,0.1236,true,"7163.2746","14.9161","5331.1799","35.9259"), +"Cd119" => AMEdata(8461.4381,0.3168,true,"5346.6077","42.6728","3721.7197","38.0880"), [48,71] => AMEdata(8461.4381,0.3168,true,"5346.6077","42.6728","3721.7197","38.0880"), +"In119" => AMEdata(8486.1387,0.0614,true,"8541.7997","8.3842","2366.3263","7.3381"), [49,70] => AMEdata(8486.1387,0.0614,true,"8541.7997","8.3842","2366.3263","7.3381"), +"Sn119" => AMEdata(8499.4494,0.0061,true,"6483.4596","0.5455","-589.4452","6.9937"), [50,69] => AMEdata(8499.4494,0.0061,true,"6483.4596","0.5455","-589.4452","6.9937"), +"Sb119" => AMEdata(8487.9218,0.0588,true,"9550.6538","7.5939","-2293.0000","2.0000"), [51,68] => AMEdata(8487.9218,0.0588,true,"9550.6538","7.5939","-2293.0000","2.0000"), +"Te119" => AMEdata(8462.0785,0.0612,true,"7563.0996","19.6990","-3404.8080","22.8941"), [52,67] => AMEdata(8462.0785,0.0612,true,"7563.0996","19.6990","-3404.8080","22.8941"), +"I119" => AMEdata(8426.8924,0.1824,true,"10877.9931","29.3534","-4983.2433","24.0598"), [53,66] => AMEdata(8426.8924,0.1824,true,"10877.9931","29.3534","-4983.2433","24.0598"), +"Xe119" => AMEdata(8378.4420,0.0872,true,"8786.7391","14.6773","-6489.4269","17.3790"), [54,65] => AMEdata(8378.4420,0.0872,true,"8786.7391","14.6773","-6489.4269","17.3790"), +"Cs119" => AMEdata(8317.3347,0.1171,true,"11967.0027","18.8933","-7714.9651","200.7537"), [55,64] => AMEdata(8317.3347,0.1171,true,"11967.0027","18.8933","-7714.9651","200.7537"), +"Ba119" => AMEdata(8245.9287,1.6829,true,"10462#","283#","-9570#","361#"), [56,63] => AMEdata(8245.9287,1.6829,true,"10462#","283#","-9570#","361#"), +"La119" => AMEdata(8159,3,false,"13471#","424#","-11199#","583#"), [57,62] => AMEdata(8159,3,false,"13471#","424#","-11199#","583#"), +"Ce119" => AMEdata(8058,4,false,"*","","*",""), [58,61] => AMEdata(8058,4,false,"*","","*",""), +"Tc120" => AMEdata(8083,4,false,"2902#","707#","14720#","640#"), [43,77] => AMEdata(8083,4,false,"2902#","707#","14720#","640#"), +"Ru120" => AMEdata(8199,3,false,"5712#","500#","8899#","447#"), [44,76] => AMEdata(8199,3,false,"5712#","500#","8899#","447#"), +"Rh120" => AMEdata(8266,2,false,"3868#","200#","11660#","200#"), [45,75] => AMEdata(8266,2,false,"3868#","200#","11660#","200#"), +"Pd120" => AMEdata(8357.0817,0.0191,true,"6943.6452","8.4913","5371.9076","5.0261"), [46,74] => AMEdata(8357.0817,0.0191,true,"6943.6452","8.4913","5371.9076","5.0261"), +"Ag120" => AMEdata(8395.3281,0.0373,true,"5077.0712","15.3674","8305.8535","5.8202"), [47,73] => AMEdata(8395.3281,0.0373,true,"5077.0712","15.3674","8305.8535","5.8202"), +"Cd120" => AMEdata(8458.0240,0.0311,true,"8051.7448","37.8791","1770.3754","40.1837"), [48,72] => AMEdata(8458.0240,0.0311,true,"8051.7448","37.8791","1770.3754","40.1837"), +"In120" => AMEdata(8466.2575,0.3334,true,"6100.4005","40.6522","5370.0000","40.0000"), [49,71] => AMEdata(8466.2575,0.3334,true,"6100.4005","40.6522","5370.0000","40.0000"), +"Sn120" => AMEdata(8504.4880,0.0077,true,"9104.0742","1.1098","-2680.6076","7.1399"), [50,70] => AMEdata(8504.4880,0.0077,true,"9104.0742","1.1098","-2680.6076","7.1399"), +"Sb120" => AMEdata(8475.6300,0.0600,true,"7012.9118","10.0360","945.0271","7.3530"), [51,69] => AMEdata(8475.6300,0.0600,true,"7012.9118","10.0360","945.0271","7.3530"), +"Te120" => AMEdata(8476.9857,0.0146,true,"10250.9389","7.4836","-5615.0000","15.0000"), [52,68] => AMEdata(8476.9857,0.0146,true,"10250.9389","7.4836","-5615.0000","15.0000"), +"I120" => AMEdata(8423.6745,0.1258,true,"8040.7469","26.4430","-1574.7260","19.1760"), [53,67] => AMEdata(8423.6745,0.1258,true,"8040.7469","26.4430","-1574.7260","19.1760"), +"Xe120" => AMEdata(8404.0322,0.0985,true,"11449.2642","15.7278","-8283.7857","15.4611"), [54,66] => AMEdata(8404.0322,0.0985,true,"11449.2642","15.7278","-8283.7857","15.4611"), +"Cs120" => AMEdata(8328.4811,0.0831,true,"9654.9054","17.1380","-5000.0000","300.0000"), [55,65] => AMEdata(8328.4811,0.0831,true,"9654.9054","17.1380","-5000.0000","300.0000"), +"Ba120" => AMEdata(8280.2949,2.5014,true,"12369.8705","360.8422","-11319#","424#"), [56,64] => AMEdata(8280.2949,2.5014,true,"12369.8705","360.8422","-11319#","424#"), +"La120" => AMEdata(8179,2,false,"10622#","424#","-7840#","583#"), [57,63] => AMEdata(8179,2,false,"10622#","424#","-7840#","583#"), +"Ce120" => AMEdata(8108,4,false,"13981#","707#","*",""), [58,62] => AMEdata(8108,4,false,"13981#","707#","*",""), +"Tc121" => AMEdata(8054,4,false,"4612#","707#","13080#","640#"), [43,78] => AMEdata(8054,4,false,"4612#","707#","13080#","640#"), +"Ru121" => AMEdata(8156,3,false,"2971#","565#","11630#","737#"), [44,77] => AMEdata(8156,3,false,"2971#","565#","11630#","737#"), +"Rh121" => AMEdata(8245.2397,5.1194,true,"5702#","651#","9932.2030","619.4527"), [45,76] => AMEdata(8245.2397,5.1194,true,"5702#","651#","9932.2030","619.4527"), +"Pd121" => AMEdata(8320.8584,0.0277,true,"3974.0512","4.0640","8220.4934","12.5652"), [46,75] => AMEdata(8320.8584,0.0277,true,"3974.0512","4.0640","8220.4934","12.5652"), +"Ag121" => AMEdata(8382.3306,0.1001,true,"6822.6371","12.9085","6671.0057","12.2642"), [47,74] => AMEdata(8382.3306,0.1001,true,"6822.6371","12.9085","6671.0057","12.2642"), +"Cd121" => AMEdata(8430.9972,0.0161,true,"5187.7893","4.2018","4760.7564","27.4876"), [48,73] => AMEdata(8430.9972,0.0161,true,"5187.7893","4.2018","4760.7564","27.4876"), +"In121" => AMEdata(8463.8767,0.2266,true,"8178.1703","48.4904","3362.0331","27.4098"), [49,72] => AMEdata(8463.8767,0.2266,true,"8178.1703","48.4904","3362.0331","27.4098"), +"Sn121" => AMEdata(8485.1964,0.0081,true,"6170.2034","0.3394","402.5306","2.5239"), [50,71] => AMEdata(8485.1964,0.0081,true,"6170.2034","0.3394","402.5306","2.5239"), +"Sb121" => AMEdata(8482.0574,0.0207,true,"9253.3416","7.5665","-1056.0462","25.7587"), [51,70] => AMEdata(8482.0574,0.0207,true,"9253.3416","7.5665","-1056.0462","25.7587"), +"Te121" => AMEdata(8466.8641,0.2135,true,"7252.2683","25.8117","-2297.4615","25.9856"), [52,69] => AMEdata(8466.8641,0.2135,true,"7252.2683","25.8117","-2297.4615","25.9856"), +"I121" => AMEdata(8441.4111,0.0390,true,"10569.8068","15.6285","-3764.6525","11.2790"), [53,68] => AMEdata(8441.4111,0.0390,true,"10569.8068","15.6285","-3764.6525","11.2790"), +"Xe121" => AMEdata(8403.8326,0.0847,true,"8379.8803","15.6386","-5378.6549","13.9791"), [54,67] => AMEdata(8403.8326,0.0847,true,"8379.8803","15.6386","-5378.6549","13.9791"), +"Cs121" => AMEdata(8352.9152,0.1181,true,"11285.0112","17.4240","-6357.4948","141.1765"), [55,66] => AMEdata(8352.9152,0.1181,true,"11285.0112","17.4240","-6357.4948","141.1765"), +"Ba121" => AMEdata(8293.9083,1.1727,true,"9927.5164","332.0156","-8555#","332#"), [56,65] => AMEdata(8293.9083,1.1727,true,"9927.5164","332.0156","-8555#","332#"), +"La121" => AMEdata(8217,2,false,"12692#","424#","-9500#","500#"), [57,64] => AMEdata(8217,2,false,"12692#","424#","-9500#","500#"), +"Ce121" => AMEdata(8132,3,false,"11032#","641#","-11139#","641#"), [58,63] => AMEdata(8132,3,false,"11032#","641#","-11139#","641#"), +"Pr121" => AMEdata(8033,4,false,"*","","*",""), [59,62] => AMEdata(8033,4,false,"*","","*",""), +"Tc122" => AMEdata(8011,2,false,"2836#","583#","15475#","583#"), [43,79] => AMEdata(8011,2,false,"2836#","583#","15475#","583#"), +"Ru122" => AMEdata(8132,4,false,"5231#","640#","10099#","583#"), [44,78] => AMEdata(8132,4,false,"5231#","640#","10099#","583#"), +"Rh122" => AMEdata(8208,2,false,"3701#","688#","12737#","301#"), [45,77] => AMEdata(8208,2,false,"3701#","688#","12737#","301#"), +"Pd122" => AMEdata(8305.9755,0.1603,true,"6505.1495","19.8467","6489.9492","42.9094"), [46,76] => AMEdata(8305.9755,0.1603,true,"6505.1495","19.8467","6489.9492","42.9094"), +"Ag122" => AMEdata(8352.7591,0.3130,true,"4774.6053","40.0651","9506.2662","38.2604"), [47,75] => AMEdata(8352.7591,0.3130,true,"4774.6053","40.0651","9506.2662","38.2604"), +"Cd122" => AMEdata(8424.2667,0.0188,true,"7609.8657","3.0095","2958.9765","50.1126"), [48,74] => AMEdata(8424.2667,0.0188,true,"7609.8657","3.0095","2958.9765","50.1126"), +"In122" => AMEdata(8442.1079,0.4103,true,"5808.0859","56.9720","6368.5921","50.0000"), [49,73] => AMEdata(8442.1079,0.4103,true,"5808.0859","56.9720","6368.5921","50.0000"), +"Sn122" => AMEdata(8487.8968,0.0201,true,"8814.6449","2.3436","-1605.7483","3.2135"), [50,72] => AMEdata(8487.8968,0.0201,true,"8814.6449","2.3436","-1605.7483","3.2135"), +"Sb122" => AMEdata(8468.3222,0.0205,true,"6806.3659","0.1342","1979.0772","2.1265"), [51,71] => AMEdata(8468.3222,0.0205,true,"6806.3659","0.1342","1979.0772","2.1265"), +"Te122" => AMEdata(8478.1315,0.0111,true,"9841.4893","25.8004","-4234.0000","5.0000"), [52,70] => AMEdata(8478.1315,0.0111,true,"9841.4893","25.8004","-4234.0000","5.0000"), +"I122" => AMEdata(8437.0139,0.0425,true,"7904.9508","6.7426","-724.2937","12.2596"), [53,69] => AMEdata(8437.0139,0.0425,true,"7904.9508","6.7426","-724.2937","12.2596"), +"Xe122" => AMEdata(8424.6644,0.0911,true,"10945.3096","15.1119","-7210.2195","35.4720"), [54,68] => AMEdata(8424.6644,0.0911,true,"10945.3096","15.1119","-7210.2195","35.4720"), +"Cs122" => AMEdata(8359.1515,0.2761,true,"9113.7450","36.5925","-3535.8170","43.7690"), [55,67] => AMEdata(8359.1515,0.2761,true,"9113.7450","36.5925","-3535.8170","43.7690"), +"Ba122" => AMEdata(8323.7567,0.2291,true,"11935.4228","144.6233","-10066#","299#"), [56,66] => AMEdata(8323.7567,0.2291,true,"11935.4228","144.6233","-10066#","299#"), +"La122" => AMEdata(8235,2,false,"10424#","423#","-6669#","499#"), [57,65] => AMEdata(8235,2,false,"10424#","423#","-6669#","499#"), +"Ce122" => AMEdata(8174,3,false,"13255#","566#","-13094#","641#"), [58,64] => AMEdata(8174,3,false,"13255#","566#","-13094#","641#"), +"Pr122" => AMEdata(8060,4,false,"11300#","707#","*",""), [59,63] => AMEdata(8060,4,false,"11300#","707#","*",""), +"Ru123" => AMEdata(8089,4,false,"2841#","707#","12640#","640#"), [44,79] => AMEdata(8089,4,false,"2841#","707#","12640#","640#"), +"Rh123" => AMEdata(8185,3,false,"5382#","500#","11239#","885#"), [45,78] => AMEdata(8185,3,false,"5382#","500#","11239#","885#"), +"Pd123" => AMEdata(8270.0318,6.4182,true,"3884.8976","789.6836","9138.8323","790.1142"), [46,77] => AMEdata(8270.0318,6.4182,true,"3884.8976","789.6836","9138.8323","790.1142"), +"Ag123" => AMEdata(8337.9707,0.2651,true,"6533.7807","50.2144","7845.6026","32.7136"), [47,76] => AMEdata(8337.9707,0.2651,true,"6533.7807","50.2144","7845.6026","32.7136"), +"Cd123" => AMEdata(8395.3955,0.0219,true,"4873.1171","3.5430","6014.8503","19.8980"), [48,75] => AMEdata(8395.3955,0.0219,true,"4873.1171","3.5430","6014.8503","19.8980"), +"In123" => AMEdata(8437.9362,0.1612,true,"7928.9909","53.7971","4385.6489","19.8392"), [49,74] => AMEdata(8437.9362,0.1612,true,"7928.9909","53.7971","4385.6489","19.8392"), +"Sn123" => AMEdata(8467.2313,0.0202,true,"5946.0478","1.1550","1408.2079","2.4203"), [50,73] => AMEdata(8467.2313,0.0202,true,"5946.0478","1.1550","1408.2079","2.4203"), +"Sb123" => AMEdata(8472.3196,0.0110,true,"8960.0040","2.1275","-51.9128","0.0661"), [51,72] => AMEdata(8472.3196,0.0110,true,"8960.0040","2.1275","-51.9128","0.0661"), +"Te123" => AMEdata(8465.5370,0.0110,true,"6929.0139","0.0795","-1228.3898","3.4448"), [52,71] => AMEdata(8465.5370,0.0110,true,"6929.0139","0.0795","-1228.3898","3.4448"), +"I123" => AMEdata(8449.1896,0.0300,true,"9934.6241","6.0713","-2694.3302","9.6829"), [53,70] => AMEdata(8449.1896,0.0300,true,"9934.6241","6.0713","-2694.3302","9.6829"), +"Xe123" => AMEdata(8420.9239,0.0775,true,"7964.5877","14.6407","-4204.6012","15.4121"), [54,69] => AMEdata(8420.9239,0.0775,true,"7964.5877","14.6407","-4204.6012","15.4121"), +"Cs123" => AMEdata(8380.3796,0.0985,true,"10970.2060","35.7973","-5388.6934","17.1253"), [55,68] => AMEdata(8380.3796,0.0985,true,"10970.2060","35.7973","-5388.6934","17.1253"), +"Ba123" => AMEdata(8330.2086,0.0985,true,"9117.3296","30.4557","-7004#","196#"), [56,67] => AMEdata(8330.2086,0.0985,true,"9117.3296","30.4557","-7004#","196#"), +"La123" => AMEdata(8267,2,false,"12179#","357#","-8365#","357#"), [57,66] => AMEdata(8267,2,false,"12179#","357#","-8365#","357#"), +"Ce123" => AMEdata(8193,2,false,"10484#","499#","-10056#","499#"), [58,65] => AMEdata(8193,2,false,"10484#","499#","-10056#","499#"), +"Pr123" => AMEdata(8104,3,false,"13521#","640#","*",""), [59,64] => AMEdata(8104,3,false,"13521#","640#","*",""), +"Ru124" => AMEdata(8065,5,false,"5111#","781#","11120#","721#"), [44,80] => AMEdata(8065,5,false,"5111#","781#","11120#","721#"), +"Rh124" => AMEdata(8148,3,false,"3591#","565#","13690#","500#"), [45,79] => AMEdata(8148,3,false,"3591#","565#","13690#","500#"), +"Pd124" => AMEdata(8252,2,false,"6042#","845#","7830#","391#"), [46,78] => AMEdata(8252,2,false,"6042#","845#","7830#","391#"), +"Ag124" => AMEdata(8308.8958,2.0283,true,"4732.6880","253.6077","10469.4858","251.5169"), [47,77] => AMEdata(8308.8958,2.0283,true,"4732.6880","253.6077","10469.4858","251.5169"), +"Cd124" => AMEdata(8387.0179,0.0210,true,"7356.5712","3.7514","4168.3420","30.5355"), [48,76] => AMEdata(8387.0179,0.0210,true,"7356.5712","3.7514","4168.3420","30.5355"), +"In124" => AMEdata(8414.3243,0.2465,true,"5510.0628","36.4222","7363.6970","30.5668"), [49,75] => AMEdata(8414.3243,0.2465,true,"5510.0628","36.4222","7363.6970","30.5668"), +"Sn124" => AMEdata(8467.3997,0.0106,true,"8488.1109","2.3979","-612.4067","0.4101"), [50,74] => AMEdata(8467.3997,0.0106,true,"8488.1109","2.3979","-612.4067","0.4101"), +"Sb124" => AMEdata(8456.1517,0.0110,true,"6467.4963","0.0631","2905.0730","0.1317"), [51,73] => AMEdata(8456.1517,0.0110,true,"6467.4963","0.0631","2905.0730","0.1317"), +"Te124" => AMEdata(8473.2705,0.0109,true,"9424.4821","0.0949","-3159.5870","1.8593"), [52,72] => AMEdata(8473.2705,0.0109,true,"9424.4821","0.0949","-3159.5870","1.8593"), +"I124" => AMEdata(8441.4807,0.0185,true,"7493.2849","3.9157","302.8501","1.8639"), [53,71] => AMEdata(8441.4807,0.0185,true,"7493.2849","3.9157","302.8501","1.8639"), +"Xe124" => AMEdata(8437.6138,0.0110,true,"10490.4652","9.5573","-5926.3445","9.2512"), [54,70] => AMEdata(8437.6138,0.0110,true,"10490.4652","9.5573","-5926.3445","9.2512"), +"Cs124" => AMEdata(8383.5114,0.0738,true,"8768.7219","15.1782","-2651.2748","15.4894"), [55,69] => AMEdata(8383.5114,0.0738,true,"8768.7219","15.1782","-2651.2748","15.4894"), +"Ba124" => AMEdata(8355.8209,0.1008,true,"11506.1405","17.4017","-8831.1685","58.0305"), [56,68] => AMEdata(8355.8209,0.1008,true,"11506.1405","17.4017","-8831.1685","58.0305"), +"La124" => AMEdata(8278.2926,0.4570,true,"9679#","204#","-5343#","303#"), [57,67] => AMEdata(8278.2926,0.4570,true,"9679#","204#","-5343#","303#"), +"Ce124" => AMEdata(8229,2,false,"12701#","422#","-11765#","499#"), [58,66] => AMEdata(8229,2,false,"12701#","422#","-11765#","499#"), +"Pr124" => AMEdata(8128,3,false,"10992#","566#","-8321#","641#"), [59,65] => AMEdata(8128,3,false,"10992#","566#","-8321#","641#"), +"Nd124" => AMEdata(8054,4,false,"*","","*",""), [60,64] => AMEdata(8054,4,false,"*","","*",""), +"Ru125" => AMEdata(8023,2,false,"2851#","671#","13460#","583#"), [44,81] => AMEdata(8023,2,false,"2851#","671#","13460#","583#"), +"Rh125" => AMEdata(8124,4,false,"5191#","640#","12130#","640#"), [45,80] => AMEdata(8124,4,false,"5191#","640#","12130#","640#"), +"Pd125" => AMEdata(8215,3,false,"3631#","500#","10560#","589#"), [46,79] => AMEdata(8215,3,false,"3631#","500#","10560#","589#"), +"Ag125" => AMEdata(8293.3151,3.4652,true,"6361.3064","500.8676","8828.1511","433.1544"), [47,78] => AMEdata(8293.3151,3.4652,true,"6361.3064","500.8676","8828.1511","433.1544"), +"Cd125" => AMEdata(8357.6815,0.0231,true,"4719.9718","3.8915","7064.2177","3.3869"), [48,77] => AMEdata(8357.6815,0.0231,true,"4719.9718","3.8915","7064.2177","3.3869"), +"In125" => AMEdata(8407.9365,0.0142,true,"7615.8474","30.6118","5481.3495","2.2131"), [49,76] => AMEdata(8407.9365,0.0142,true,"7615.8474","30.6118","5481.3495","2.2131"), +"Sn125" => AMEdata(8445.5285,0.0106,true,"5733.5000","0.2000","2361.4366","2.1661"), [50,75] => AMEdata(8445.5285,0.0106,true,"5733.5000","0.2000","2361.4366","2.1661"), +"Sb125" => AMEdata(8458.1612,0.0201,true,"8707.3432","2.1256","766.7000","2.1213"), [51,74] => AMEdata(8458.1612,0.0201,true,"8707.3432","2.1256","766.7000","2.1213"), +"Te125" => AMEdata(8458.0361,0.0108,true,"6568.9703","0.0300","-185.7700","0.0600"), [52,73] => AMEdata(8458.0361,0.0108,true,"6568.9703","0.0300","-185.7700","0.0600"), +"I125" => AMEdata(8450.2911,0.0108,true,"9542.7872","1.8605","-1636.6632","0.4259"), [53,72] => AMEdata(8450.2911,0.0108,true,"9542.7872","1.8605","-1636.6632","0.4259"), +"Xe125" => AMEdata(8430.9390,0.0113,true,"7603.2739","0.3999","-3109.6184","7.7879"), [54,71] => AMEdata(8430.9390,0.0113,true,"7603.2739","0.3999","-3109.6184","7.7879"), +"Cs125" => AMEdata(8399.8033,0.0619,true,"10419.9999","11.9826","-4420.7663","13.4415"), [55,70] => AMEdata(8399.8033,0.0619,true,"10419.9999","11.9826","-4420.7663","13.4415"), +"Ba125" => AMEdata(8358.1784,0.0879,true,"8650.5084","16.6437","-5909.4836","27.6308"), [56,69] => AMEdata(8358.1784,0.0879,true,"8650.5084","16.6437","-5909.4836","27.6308"), +"La125" => AMEdata(8304.6438,0.2080,true,"11572.1933","62.3474","-7102#","197#"), [57,68] => AMEdata(8304.6438,0.2080,true,"11572.1933","62.3474","-7102#","197#"), +"Ce125" => AMEdata(8242,2,false,"9813#","357#","-8587#","358#"), [58,67] => AMEdata(8242,2,false,"9813#","357#","-8587#","358#"), +"Pr125" => AMEdata(8167,2,false,"12991#","500#","-10001#","500#"), [59,66] => AMEdata(8167,2,false,"12991#","500#","-10001#","500#"), +"Nd125" => AMEdata(8080,3,false,"11311#","640#","*",""), [60,65] => AMEdata(8080,3,false,"11311#","640#","*",""), +"Rh126" => AMEdata(8087,4,false,"3442#","707#","14590#","640#"), [45,81] => AMEdata(8087,4,false,"3442#","707#","14590#","640#"), +"Pd126" => AMEdata(8197,3,false,"5902#","565#","8930#","447#"), [46,80] => AMEdata(8197,3,false,"5902#","565#","8930#","447#"), +"Ag126" => AMEdata(8261,2,false,"4272#","477#","11535#","200#"), [47,79] => AMEdata(8261,2,false,"4272#","477#","11535#","200#"), +"Cd126" => AMEdata(8346.7393,0.0183,true,"6978.9550","3.6940","5553.6500","4.7831"), [48,78] => AMEdata(8346.7393,0.0183,true,"6978.9550","3.6940","5553.6500","4.7831"), +"In126" => AMEdata(8384.6067,0.0333,true,"5468.3873","4.5500","8205.7585","11.4802"), [49,77] => AMEdata(8384.6067,0.0333,true,"5468.3873","4.5500","8205.7585","11.4802"), +"Sn126" => AMEdata(8443.5227,0.0848,true,"8192.7963","10.6085","378.0000","30.0000"), [50,76] => AMEdata(8443.5227,0.0848,true,"8192.7963","10.6085","378.0000","30.0000"), +"Sb126" => AMEdata(8440.3136,0.2528,true,"6209.3597","31.8928","3671.0321","31.8223"), [51,75] => AMEdata(8440.3136,0.2528,true,"6209.3597","31.8928","3671.0321","31.8223"), +"Te126" => AMEdata(8463.2397,0.0107,true,"9113.6918","0.0800","-2153.6712","3.6717"), [52,74] => AMEdata(8463.2397,0.0107,true,"9113.6918","0.0800","-2153.6712","3.6717"), +"I126" => AMEdata(8439.9379,0.0300,true,"7145.7906","3.6726","1235.8904","3.7779"), [53,73] => AMEdata(8439.9379,0.0300,true,"7145.7906","3.6726","1235.8904","3.7779"), +"Xe126" => AMEdata(8443.5375,0.0003,true,"10018.3442","1.4148","-4795.7039","10.3587"), [54,72] => AMEdata(8443.5375,0.0003,true,"10018.3442","1.4148","-4795.7039","10.3587"), +"Cs126" => AMEdata(8399.2673,0.0822,true,"8332.2587","12.9285","-1680.7697","16.2322"), [55,71] => AMEdata(8399.2673,0.0822,true,"8332.2587","12.9285","-1680.7697","16.2322"), +"Ba126" => AMEdata(8379.7187,0.0992,true,"11072.2554","16.6437","-7696.4376","91.3663"), [56,70] => AMEdata(8379.7187,0.0992,true,"11072.2554","16.6437","-7696.4376","91.3663"), +"La126" => AMEdata(8312.4268,0.7183,true,"9285.3014","94.1673","-4152.9106","94.7235"), [57,69] => AMEdata(8312.4268,0.7183,true,"9285.3014","94.1673","-4152.9106","94.7235"), +"Ce126" => AMEdata(8273.2581,0.2218,true,"12234#","198#","-10497#","198#"), [58,68] => AMEdata(8273.2581,0.2218,true,"12234#","198#","-10497#","198#"), +"Pr126" => AMEdata(8184,2,false,"10325#","358#","-6943#","358#"), [59,67] => AMEdata(8184,2,false,"10325#","358#","-6943#","358#"), +"Nd126" => AMEdata(8122,2,false,"13382#","500#","-13631#","583#"), [60,66] => AMEdata(8122,2,false,"13382#","500#","-13631#","583#"), +"Pm126" => AMEdata(8008,4,false,"*","","*",""), [61,65] => AMEdata(8008,4,false,"*","","*",""), +"Rh127" => AMEdata(8060,5,false,"4602#","781#","13490#","781#"), [45,82] => AMEdata(8060,5,false,"4602#","781#","13490#","781#"), +"Pd127" => AMEdata(8160,4,false,"3501#","640#","11429#","539#"), [46,81] => AMEdata(8160,4,false,"3501#","640#","11429#","539#"), +"Ag127" => AMEdata(8244,2,false,"6001#","283#","10092#","200#"), [47,80] => AMEdata(8244,2,false,"6001#","283#","10092#","200#"), +"Cd127" => AMEdata(8316.8971,0.0488,true,"4556.7901","6.6146","8138.6978","11.7675"), [48,79] => AMEdata(8316.8971,0.0488,true,"4556.7901","6.6146","8138.6978","11.7675"), +"In127" => AMEdata(8374.8212,0.0788,true,"7141.8378","10.8443","6589.6810","12.0260"), [49,78] => AMEdata(8374.8212,0.0788,true,"7141.8378","10.8443","6589.6810","12.0260"), +"Sn127" => AMEdata(8420.5482,0.0726,true,"5525.7604","14.1016","3228.7160","10.1668"), [50,77] => AMEdata(8420.5482,0.0726,true,"5525.7604","14.1016","3228.7160","10.1668"), +"Sb127" => AMEdata(8439.8110,0.0400,true,"8376.4764","32.1992","1582.2030","4.9102"), [51,76] => AMEdata(8439.8110,0.0400,true,"8376.4764","32.1992","1582.2030","4.9102"), +"Te127" => AMEdata(8446.1090,0.0108,true,"6287.6472","0.1788","702.7199","3.5652"), [52,75] => AMEdata(8446.1090,0.0108,true,"6287.6472","0.1788","702.7199","3.5652"), +"I127" => AMEdata(8445.4820,0.0285,true,"9144.0384","2.7399","-662.3336","2.0442"), [53,74] => AMEdata(8445.4820,0.0285,true,"9144.0384","2.7399","-662.3336","2.0442"), +"Xe127" => AMEdata(8434.1066,0.0322,true,"7245.8143","4.0881","-2080.8562","6.4115"), [54,73] => AMEdata(8434.1066,0.0322,true,"7245.8143","4.0881","-2080.8562","6.4115"), +"Cs127" => AMEdata(8411.5617,0.0439,true,"9960.6620","11.7648","-3422.0719","12.6525"), [55,72] => AMEdata(8411.5617,0.0439,true,"9960.6620","11.7648","-3422.0719","12.6525"), +"Ba127" => AMEdata(8378.4560,0.0894,true,"8219.3598","16.8867","-4921.8386","27.7403"), [56,71] => AMEdata(8378.4560,0.0894,true,"8219.3598","16.8867","-4921.8386","27.7403"), +"La127" => AMEdata(8333.5412,0.2047,true,"10993.9588","94.1681","-5916.7727","38.8567"), [57,70] => AMEdata(8333.5412,0.2047,true,"10993.9588","94.1681","-5916.7727","38.8567"), +"Ce127" => AMEdata(8280.7922,0.2274,true,"9230.0967","40.1840","-7436#","198#"), [58,69] => AMEdata(8280.7922,0.2274,true,"9230.0967","40.1840","-7436#","198#"), +"Pr127" => AMEdata(8216,2,false,"12291#","277#","-8633#","358#"), [59,68] => AMEdata(8216,2,false,"12291#","277#","-8633#","358#"), +"Nd127" => AMEdata(8142,2,false,"10601#","424#","-10600#","500#"), [60,67] => AMEdata(8142,2,false,"10601#","424#","-10600#","500#"), +"Pm127" => AMEdata(8052,3,false,"13631#","640#","*",""), [61,66] => AMEdata(8052,3,false,"13631#","640#","*",""), +"Rh128" => AMEdata(8010,2,false,"1681#","671#","17050#","583#"), [45,83] => AMEdata(8010,2,false,"1681#","671#","17050#","583#"), +"Pd128" => AMEdata(8137,4,false,"5241#","707#","10320#","583#"), [46,82] => AMEdata(8137,4,false,"5241#","707#","10320#","583#"), +"Ag128" => AMEdata(8211,2,false,"4132#","361#","12528#","300#"), [47,81] => AMEdata(8211,2,false,"4132#","361#","12528#","300#"), +"Cd128" => AMEdata(8303.2367,0.0503,true,"6568.3641","8.9340","6951.8716","6.5665"), [48,80] => AMEdata(8303.2367,0.0503,true,"6568.3641","8.9340","6951.8716","6.5665"), +"In128" => AMEdata(8351.4361,0.0103,true,"5381.5379","10.0883","9171.3131","17.7194"), [49,79] => AMEdata(8351.4361,0.0103,true,"5381.5379","10.0883","9171.3131","17.7194"), +"Sn128" => AMEdata(8416.9749,0.1381,true,"7963.1700","19.9438","1268.4219","13.3175"), [50,78] => AMEdata(8416.9749,0.1381,true,"7963.1700","19.9438","1268.4219","13.3175"), +"Sb128" => AMEdata(8420.7724,0.1468,true,"6002.8758","19.4616","4363.9419","18.7862"), [51,77] => AMEdata(8420.7724,0.1468,true,"6002.8758","19.4616","4363.9419","18.7862"), +"Te128" => AMEdata(8448.7536,0.0055,true,"8784.6148","1.5027","-1255.7634","3.6807"), [52,76] => AMEdata(8448.7536,0.0055,true,"8784.6148","1.5027","-1255.7634","3.6807"), +"I128" => AMEdata(8432.8309,0.0283,true,"6826.1315","0.0471","2122.5041","3.6211"), [53,75] => AMEdata(8432.8309,0.0283,true,"6826.1315","0.0471","2122.5041","3.6211"), +"Xe128" => AMEdata(8443.3008,0.0003,true,"9610.9692","4.0881","-3928.7617","5.3762"), [54,74] => AMEdata(8443.3008,0.0003,true,"9610.9692","4.0881","-3928.7617","5.3762"), +"Cs128" => AMEdata(8406.4953,0.0420,true,"7763.0638","7.7468","-562.6171","5.6122"), [55,73] => AMEdata(8406.4953,0.0420,true,"7763.0638","7.7468","-562.6171","5.6122"), +"Ba128" => AMEdata(8395.9878,0.0126,true,"10622.5186","11.4705","-6743.7167","54.4716"), [56,72] => AMEdata(8395.9878,0.0126,true,"10622.5186","11.4705","-6743.7167","54.4716"), +"La128" => AMEdata(8337.1904,0.4254,true,"8800.6405","60.3371","-3091.5136","61.2003"), [57,71] => AMEdata(8337.1904,0.4254,true,"8800.6405","60.3371","-3091.5136","61.2003"), +"Ce128" => AMEdata(8306.9259,0.2183,true,"11625.8996","40.1840","-9203.1617","40.8585"), [58,70] => AMEdata(8306.9259,0.2183,true,"11625.8996","40.1840","-9203.1617","40.8585"), +"Pr128" => AMEdata(8228.9141,0.2329,true,"9859#","198#","-5800#","202#"), [59,69] => AMEdata(8228.9141,0.2329,true,"9859#","198#","-5800#","202#"), +"Nd128" => AMEdata(8177,2,false,"12692#","361#","-12311#","361#"), [60,68] => AMEdata(8177,2,false,"12692#","361#","-12311#","361#"), +"Pm128" => AMEdata(8075,2,false,"10981#","500#","-9070#","583#"), [61,67] => AMEdata(8075,2,false,"10981#","500#","-9070#","583#"), +"Sm128" => AMEdata(7998,4,false,"*","","*",""), [62,66] => AMEdata(7998,4,false,"*","","*",""), +"Pd129" => AMEdata(8086,5,false,"1561#","781#","13990#","721#"), [46,83] => AMEdata(8086,5,false,"1561#","781#","13990#","721#"), +"Ag129" => AMEdata(8188,3,false,"5231#","500#","11252#","400#"), [47,82] => AMEdata(8188,3,false,"5231#","500#","11252#","400#"), +"Cd129" => AMEdata(8269.5311,0.0412,true,"3955.2147","8.3404","9712.7471","5.6637"), [48,81] => AMEdata(8269.5311,0.0412,true,"3955.2147","8.3404","9712.7471","5.6637"), +"In129" => AMEdata(8338.7590,0.0153,true,"6716.0902","2.3737","7755.7081","17.2376"), [49,80] => AMEdata(8338.7590,0.0153,true,"6716.0902","2.3737","7755.7081","17.2376"), +"Sn129" => AMEdata(8392.8161,0.1339,true,"5300.4851","24.7164","4038.7874","27.3634"), [50,79] => AMEdata(8392.8161,0.1339,true,"5300.4851","24.7164","4038.7874","27.3634"), +"Sb129" => AMEdata(8418.0598,0.1645,true,"8070.8506","28.3360","2375.5000","21.2132"), [51,78] => AMEdata(8418.0598,0.1645,true,"8070.8506","28.3360","2375.5000","21.2132"), +"Te129" => AMEdata(8430.4098,0.0055,true,"6082.4087","0.0813","1502.2919","3.1358"), [52,77] => AMEdata(8430.4098,0.0055,true,"6082.4087","0.0813","1502.2919","3.1358"), +"I129" => AMEdata(8435.9908,0.0244,true,"8840.4640","4.7977","188.8936","3.1534"), [53,76] => AMEdata(8435.9908,0.0244,true,"8840.4640","4.7977","188.8936","3.1534"), +"Xe129" => AMEdata(8431.3904,0.0003,true,"6906.8535","0.0015","-1197.0197","4.5532"), [54,75] => AMEdata(8431.3904,0.0003,true,"6906.8535","0.0015","-1197.0197","4.5532"), +"Cs129" => AMEdata(8416.0465,0.0353,true,"9638.5955","7.0452","-2438.1843","10.5627"), [55,74] => AMEdata(8416.0465,0.0353,true,"9638.5955","7.0452","-2438.1843","10.5627"), +"Ba129" => AMEdata(8391.0811,0.0814,true,"7763.0282","10.6189","-3737.3247","21.6280"), [56,73] => AMEdata(8391.0811,0.0814,true,"7763.0282","10.6189","-3737.3247","21.6280"), +"La129" => AMEdata(8356.0449,0.1655,true,"10769.4202","58.4816","-5036.0370","35.1633"), [57,72] => AMEdata(8356.0449,0.1655,true,"10769.4202","58.4816","-5036.0370","35.1633"), +"Ce129" => AMEdata(8310.9411,0.2166,true,"8824.8968","39.5199","-6513.9383","40.8585"), [58,71] => AMEdata(8310.9411,0.2166,true,"8824.8968","39.5199","-6513.9383","40.8585"), +"Pr129" => AMEdata(8254.3808,0.2311,true,"11514.1203","42.1546","-7399#","204#"), [59,70] => AMEdata(8254.3808,0.2311,true,"11514.1203","42.1546","-7399#","204#"), +"Nd129" => AMEdata(8191,2,false,"9916#","284#","-9195#","362#"), [60,69] => AMEdata(8191,2,false,"9916#","284#","-9195#","362#"), +"Pm129" => AMEdata(8114,2,false,"13032#","424#","-10850#","583#"), [61,68] => AMEdata(8114,2,false,"13032#","424#","-10850#","583#"), +"Sm129" => AMEdata(8023,4,false,"11251#","707#","*",""), [62,67] => AMEdata(8023,4,false,"11251#","707#","*",""), +"Pd130" => AMEdata(8046,2,false,"2921#","671#","13168#","520#"), [46,84] => AMEdata(8046,2,false,"2921#","671#","13168#","520#"), +"Ag130" => AMEdata(8142,3,false,"2099#","583#","15220#","425#"), [47,83] => AMEdata(8142,3,false,"2099#","583#","15220#","425#"), +"Cd130" => AMEdata(8252.5868,0.1720,true,"6066.7739","22.9777","8788.9322","22.4274"), [48,82] => AMEdata(8252.5868,0.1720,true,"6066.7739","22.9777","8788.9322","22.4274"), +"In130" => AMEdata(8314.1760,0.0138,true,"5142.9590","2.6625","10225.6870","2.5905"), [49,81] => AMEdata(8314.1760,0.0138,true,"5142.9590","2.6625","10225.6870","2.5905"), +"Sn130" => AMEdata(8386.8170,0.0144,true,"7612.9379","17.3712","2153.4702","14.1129"), [50,80] => AMEdata(8386.8170,0.0144,true,"7612.9379","17.3712","2153.4702","14.1129"), +"Sb130" => AMEdata(8397.3641,0.1093,true,"5727.6207","25.5440","5067.2728","14.2124"), [51,79] => AMEdata(8397.3641,0.1093,true,"5727.6207","25.5440","5067.2728","14.2124"), +"Te130" => AMEdata(8430.3251,0.0003,true,"8419.3935","0.7109","-416.7716","3.1537"), [52,78] => AMEdata(8430.3251,0.0003,true,"8419.3935","0.7109","-416.7716","3.1537"), +"I130" => AMEdata(8421.1011,0.0243,true,"6500.3300","0.0400","2944.2864","3.1537"), [53,77] => AMEdata(8421.1011,0.0243,true,"6500.3300","0.0400","2944.2864","3.1537"), +"Xe130" => AMEdata(8437.7314,0.0003,true,"9255.7227","0.0080","-2980.7199","8.3567"), [54,76] => AMEdata(8437.7314,0.0003,true,"9255.7227","0.0080","-2980.7199","8.3567"), +"Cs130" => AMEdata(8408.7848,0.0643,true,"7472.0226","9.5166","357.0219","8.3617"), [55,75] => AMEdata(8408.7848,0.0643,true,"7472.0226","9.5166","357.0219","8.3617"), +"Ba130" => AMEdata(8405.5130,0.0022,true,"10267.2287","10.5037","-5629.4021","25.9477"), [56,74] => AMEdata(8405.5130,0.0022,true,"10267.2287","10.5037","-5629.4021","25.9477"), +"La130" => AMEdata(8356.1919,0.1996,true,"8375.1513","33.5968","-2204.4611","38.1328"), [57,73] => AMEdata(8356.1919,0.1996,true,"8375.1513","33.5968","-2204.4611","38.1328"), +"Ce130" => AMEdata(8333.2164,0.2150,true,"11206.7272","39.5199","-8247.4488","70.0853"), [58,72] => AMEdata(8333.2164,0.2150,true,"11206.7272","39.5199","-8247.4488","70.0853"), +"Pr130" => AMEdata(8263.7565,0.4944,true,"9473.2167","70.8487","-4579.2250","70.0853"), [59,71] => AMEdata(8263.7565,0.4944,true,"9473.2167","70.8487","-4579.2250","70.0853"), +"Nd130" => AMEdata(8222.5136,0.2150,true,"12293#","204#","-11127#","202#"), [60,70] => AMEdata(8222.5136,0.2150,true,"12293#","204#","-11127#","202#"), +"Pm130" => AMEdata(8131,2,false,"10361#","361#","-7770#","447#"), [61,69] => AMEdata(8131,2,false,"10361#","361#","-7770#","447#"), +"Sm130" => AMEdata(8065,3,false,"13441#","640#","-14187#","671#"), [62,68] => AMEdata(8065,3,false,"13441#","640#","-14187#","671#"), +"Eu130" => AMEdata(7950,4,false,"*","","*",""), [63,67] => AMEdata(7950,4,false,"*","","*",""), +"Pd131" => AMEdata(7993,2,false,"1081#","424#","15010#","583#"), [46,85] => AMEdata(7993,2,false,"1081#","424#","15010#","583#"), +"Ag131" => AMEdata(8102,4,false,"2924#","656#","14462#","501#"), [47,84] => AMEdata(8102,4,false,"2924#","656#","14462#","501#"), +"Cd131" => AMEdata(8206.1204,0.1469,true,"2165.4809","29.4941","12812.6089","19.3644"), [48,83] => AMEdata(8206.1204,0.1469,true,"2165.4809","29.4941","12812.6089","19.3644"), +"In131" => AMEdata(8297.9544,0.0168,true,"6189.1576","2.8402","9240.2095","4.2397"), [49,82] => AMEdata(8297.9544,0.0168,true,"6189.1576","2.8402","9240.2095","4.2397"), +"Sn131" => AMEdata(8362.5183,0.0276,true,"5203.6802","4.0767","4716.8328","3.9621"), [50,81] => AMEdata(8362.5183,0.0276,true,"5203.6802","4.0767","4716.8328","3.9621"), +"Sb131" => AMEdata(8392.5525,0.0159,true,"7767.0428","14.3643","3229.6099","2.0845"), [51,80] => AMEdata(8392.5525,0.0159,true,"7767.0428","14.3643","3229.6099","2.0845"), +"Te131" => AMEdata(8411.2339,0.0005,true,"5929.3800","0.0600","2231.7057","0.6077"), [52,79] => AMEdata(8411.2339,0.0005,true,"5929.3800","0.0600","2231.7057","0.6077"), +"I131" => AMEdata(8422.2977,0.0046,true,"8577.8573","3.2111","970.8477","0.6046"), [53,78] => AMEdata(8422.2977,0.0046,true,"8577.8573","3.2111","970.8477","0.6046"), +"Xe131" => AMEdata(8423.7367,0.0003,true,"6604.4186","0.0080","-358.0009","0.1771"), [54,77] => AMEdata(8423.7367,0.0003,true,"6604.4186","0.0080","-358.0009","0.1771"), +"Cs131" => AMEdata(8415.0317,0.0014,true,"9227.1376","8.3586","-1376.6158","0.4515"), [55,76] => AMEdata(8415.0317,0.0014,true,"9227.1376","8.3586","-1376.6158","0.4515"), +"Ba131" => AMEdata(8398.5511,0.0032,true,"7493.5000","0.3000","-2909.6936","27.9479"), [56,75] => AMEdata(8398.5511,0.0032,true,"7493.5000","0.3000","-2909.6936","27.9479"), +"La131" => AMEdata(8370.3676,0.2133,true,"10213.2084","38.1328","-4060.8167","43.0918"), [57,74] => AMEdata(8370.3676,0.2133,true,"10213.2084","38.1328","-4060.8167","43.0918"), +"Ce131" => AMEdata(8333.3969,0.2504,true,"8356.8529","43.0918","-5407.7842","55.4462"), [58,73] => AMEdata(8333.3969,0.2504,true,"8356.8529","43.0918","-5407.7842","55.4462"), +"Pr131" => AMEdata(8286.1439,0.3587,true,"11196.5174","79.6214","-6532.6235","53.0809"), [59,72] => AMEdata(8286.1439,0.3587,true,"11196.5174","79.6214","-6532.6235","53.0809"), +"Nd131" => AMEdata(8230.3045,0.2101,true,"9243.1190","39.2188","-7998#","202#"), [60,71] => AMEdata(8230.3045,0.2101,true,"9243.1190","39.2188","-7998#","202#"), +"Pm131" => AMEdata(8163,2,false,"12372#","283#","-9490#","447#"), [61,70] => AMEdata(8163,2,false,"12372#","283#","-9490#","447#"), +"Sm131" => AMEdata(8085,3,false,"10652#","565#","-10816#","565#"), [62,69] => AMEdata(8085,3,false,"10652#","565#","-10816#","565#"), +"Eu131" => AMEdata(7996,3,false,"14022#","671#","*",""), [63,68] => AMEdata(7996,3,false,"14022#","671#","*",""), +"Ag132" => AMEdata(8053,4,false,"1721#","707#","16065#","504#"), [47,85] => AMEdata(8053,4,false,"1721#","707#","16065#","504#"), +"Cd132" => AMEdata(8169.1421,0.4551,true,"3324.9870","63.0732","11946.1243","84.9236"), [48,84] => AMEdata(8169.1421,0.4551,true,"3324.9870","63.0732","11946.1243","84.9236"), +"In132" => AMEdata(8253.7162,0.4548,true,"2458.5024","60.0730","14135.0000","60.0000"), [49,83] => AMEdata(8253.7162,0.4548,true,"2458.5024","60.0730","14135.0000","60.0000"), +"Sn132" => AMEdata(8354.8726,0.0150,true,"7353.2928","4.1249","3088.7280","3.1606"), [50,82] => AMEdata(8354.8726,0.0150,true,"7353.2928","4.1249","3088.7280","3.1606"), +"Sb132" => AMEdata(8372.3452,0.0187,true,"5725.1880","3.2291","5552.9155","4.2708"), [51,81] => AMEdata(8372.3452,0.0187,true,"5725.1880","3.2291","5552.9155","4.2708"), +"Te132" => AMEdata(8408.4859,0.0264,true,"8048.4936","3.4868","515.3046","3.4830"), [52,80] => AMEdata(8408.4859,0.0264,true,"8048.4936","3.4868","515.3046","3.4830"), +"I132" => AMEdata(8406.4628,0.0308,true,"6332.0924","4.1101","3575.4729","4.0654"), [53,79] => AMEdata(8406.4628,0.0308,true,"6332.0924","4.1101","3575.4729","4.0654"), +"Xe132" => AMEdata(8427.6229,0.0003,true,"8936.7176","0.0016","-2126.2813","1.0359"), [54,78] => AMEdata(8427.6229,0.0003,true,"8936.7176","0.0016","-2126.2813","1.0359"), +"Cs132" => AMEdata(8405.5878,0.0079,true,"7168.4372","1.0509","1282.2099","1.4773"), [55,77] => AMEdata(8405.5878,0.0079,true,"7168.4372","1.0509","1282.2099","1.4773"), +"Ba132" => AMEdata(8409.3747,0.0080,true,"9827.2629","1.1304","-4711.3256","36.3537"), [56,76] => AMEdata(8409.3747,0.0080,true,"9827.2629","1.1304","-4711.3256","36.3537"), +"La132" => AMEdata(8367.7559,0.2754,true,"8025.6309","45.8569","-1254.8898","41.7025"), [57,75] => AMEdata(8367.7559,0.2754,true,"8025.6309","45.8569","-1254.8898","41.7025"), +"Ce132" => AMEdata(8352.3223,0.1546,true,"10831.5578","38.6321","-7241.2240","35.3594"), [58,74] => AMEdata(8352.3223,0.1546,true,"10831.5578","38.6321","-7241.2240","35.3594"), +"Pr132" => AMEdata(8291.5377,0.2188,true,"8998.1180","55.1578","-3801.6487","37.6795"), [59,73] => AMEdata(8291.5377,0.2188,true,"8998.1180","55.1578","-3801.6487","37.6795"), +"Nd132" => AMEdata(8256.8104,0.1834,true,"11729.0928","36.6484","-9798#","151#"), [60,72] => AMEdata(8256.8104,0.1834,true,"11729.0928","36.6484","-9798#","151#"), +"Pm132" => AMEdata(8177,1,false,"9929#","250#","-6488#","335#"), [61,71] => AMEdata(8177,1,false,"9929#","250#","-6488#","335#"), +"Sm132" => AMEdata(8122,2,false,"12931#","500#","-12939#","500#"), [62,70] => AMEdata(8122,2,false,"12931#","500#","-12939#","500#"), +"Eu132" => AMEdata(8018,3,false,"10808#","565#","*",""), [63,69] => AMEdata(8018,3,false,"10808#","565#","*",""), +"Ag133" => AMEdata(8013,4,false,"2752#","707#","15059#","539#"), [47,86] => AMEdata(8013,4,false,"2752#","707#","15059#","539#"), +"Cd133" => AMEdata(8121,2,false,"1746#","209#","13550#","283#"), [48,85] => AMEdata(8121,2,false,"1746#","209#","13550#","283#"), +"In133" => AMEdata(8217,2,false,"3350#","209#","13184#","200#"), [49,84] => AMEdata(8217,2,false,"3350#","209#","13184#","200#"), +"Sn133" => AMEdata(8310.0890,0.0143,true,"2398.6548","2.7438","8049.6228","3.6617"), [50,83] => AMEdata(8310.0890,0.0143,true,"2398.6548","2.7438","8049.6228","3.6617"), +"Sb133" => AMEdata(8364.7302,0.0235,true,"7359.5496","3.9836","4013.6198","3.5179"), [51,82] => AMEdata(8364.7302,0.0235,true,"7359.5496","3.9836","4013.6198","3.5179"), +"Te133" => AMEdata(8389.0255,0.0155,true,"5820.2539","4.0525","2920.1690","6.2531"), [52,81] => AMEdata(8389.0255,0.0155,true,"5820.2539","4.0525","2920.1690","6.2531"), +"I133" => AMEdata(8405.0993,0.0444,true,"8225.1183","7.1666","1786.2812","6.3712"), [53,80] => AMEdata(8405.0993,0.0444,true,"8225.1183","7.1666","1786.2812","6.3712"), +"Xe133" => AMEdata(8412.6477,0.0180,true,"6435.9266","2.4000","427.3600","2.4000"), [54,79] => AMEdata(8412.6477,0.0180,true,"6435.9266","2.4000","427.3600","2.4000"), +"Cs133" => AMEdata(8409.9786,0.0003,true,"8989.5679","1.0359","-517.4310","0.9920"), [55,78] => AMEdata(8409.9786,0.0003,true,"8989.5679","1.0359","-517.4310","0.9920"), +"Ba133" => AMEdata(8400.2059,0.0075,true,"7189.9270","0.3596","-2059.1203","27.9624"), [56,77] => AMEdata(8400.2059,0.0075,true,"7189.9270","0.3596","-2059.1203","27.9624"), +"La133" => AMEdata(8378.8415,0.2101,true,"9842.1323","45.8569","-3076.1685","32.3786"), [57,76] => AMEdata(8378.8415,0.2101,true,"9842.1323","45.8569","-3076.1685","32.3786"), +"Ce133" => AMEdata(8349.8301,0.1230,true,"8020.8536","26.1517","-4480.6319","20.5826"), [58,75] => AMEdata(8349.8301,0.1230,true,"8020.8536","26.1517","-4480.6319","20.5826"), +"Pr133" => AMEdata(8310.2588,0.0940,true,"10781.4456","31.4647","-5605.2112","48.2223"), [59,74] => AMEdata(8310.2588,0.0940,true,"10781.4456","31.4647","-5605.2112","48.2223"), +"Nd133" => AMEdata(8262.2320,0.3502,true,"8977.8831","52.4891","-6924.7272","68.5519"), [60,73] => AMEdata(8262.2320,0.3502,true,"8977.8831","52.4891","-6924.7272","68.5519"), +"Pm133" => AMEdata(8204.2841,0.3782,true,"11851#","157#","-8177#","302#"), [61,72] => AMEdata(8204.2841,0.3782,true,"11851#","157#","-8177#","302#"), +"Sm133" => AMEdata(8137,2,false,"10163#","423#","-9995#","422#"), [62,71] => AMEdata(8137,2,false,"10163#","423#","-9995#","422#"), +"Eu133" => AMEdata(8056,2,false,"13107#","499#","-11176#","582#"), [63,70] => AMEdata(8056,2,false,"13107#","499#","-11176#","582#"), +"Gd133" => AMEdata(7966,4,false,"*","","*",""), [64,69] => AMEdata(7966,4,false,"*","","*",""), +"Cd134" => AMEdata(8086,2,false,"3391#","361#","12510#","361#"), [48,86] => AMEdata(8086,2,false,"3391#","361#","12510#","361#"), +"In134" => AMEdata(8173,1,false,"2351#","283#","14464#","200#"), [49,85] => AMEdata(8173,1,false,"2351#","283#","14464#","200#"), +"Sn134" => AMEdata(8275.1719,0.0236,true,"3631.1864","3.6953","7585.2453","4.4136"), [50,84] => AMEdata(8275.1719,0.0236,true,"3631.1864","3.6953","7585.2453","4.4136"), +"Sb134" => AMEdata(8325.9398,0.0229,true,"3166.8089","4.3855","8514.7483","4.1221"), [51,83] => AMEdata(8325.9398,0.0229,true,"3166.8089","4.3855","8514.7483","4.1221"), +"Te134" => AMEdata(8383.6442,0.0205,true,"7667.9375","3.4368","1509.6875","4.9335"), [52,82] => AMEdata(8383.6442,0.0205,true,"7667.9375","3.4368","1509.6875","4.9335"), +"I134" => AMEdata(8389.0722,0.0362,true,"6257.4560","7.6433","4082.3946","4.8567"), [53,81] => AMEdata(8389.0722,0.0362,true,"6257.4560","7.6433","4082.3946","4.8567"), +"Xe134" => AMEdata(8413.6994,0.0003,true,"8553.5695","2.4000","-1234.6691","0.0160"), [54,80] => AMEdata(8413.6994,0.0003,true,"8553.5695","2.4000","-1234.6691","0.0160"), +"Cs134" => AMEdata(8398.6470,0.0003,true,"6891.5403","0.0144","2058.8368","0.2508"), [55,79] => AMEdata(8398.6470,0.0003,true,"6891.5403","0.0144","2058.8368","0.2508"), +"Ba134" => AMEdata(8408.1731,0.0019,true,"9467.8082","1.0232","-3731.3434","19.9312"), [56,78] => AMEdata(8408.1731,0.0019,true,"9467.8082","1.0232","-3731.3434","19.9312"), +"La134" => AMEdata(8374.4888,0.1487,true,"7795.5851","34.3235","-385.7605","28.5098"), [57,77] => AMEdata(8374.4888,0.1487,true,"7795.5851","34.3235","-385.7605","28.5098"), +"Ce134" => AMEdata(8365.7716,0.1521,true,"10485.9931","26.1358","-6304.8987","28.7814"), [58,76] => AMEdata(8365.7716,0.1521,true,"10485.9931","26.1358","-6304.8987","28.7814"), +"Pr134" => AMEdata(8312.8817,0.1516,true,"8661.7263","23.8523","-2881.5569","23.5032"), [59,75] => AMEdata(8312.8817,0.1516,true,"8661.7263","23.8523","-2881.5569","23.5032"), +"Nd134" => AMEdata(8285.5391,0.0882,true,"11385.3806","48.0506","-8882.5343","43.5512"), [60,74] => AMEdata(8285.5391,0.0882,true,"11385.3806","48.0506","-8882.5343","43.5512"), +"Pm134" => AMEdata(8213.4131,0.3128,true,"9427.5735","65.4768","-5388#","200#"), [61,73] => AMEdata(8213.4131,0.3128,true,"9427.5735","65.4768","-5388#","200#"), +"Sm134" => AMEdata(8167,1,false,"12216#","357#","-11576#","358#"), [62,72] => AMEdata(8167,1,false,"12216#","357#","-11576#","358#"), +"Eu134" => AMEdata(8075,2,false,"10636#","423#","-8271#","500#"), [63,71] => AMEdata(8075,2,false,"10636#","423#","-8271#","500#"), +"Gd134" => AMEdata(8008,3,false,"13541#","640#","*",""), [64,70] => AMEdata(8008,3,false,"13541#","640#","*",""), +"Cd135" => AMEdata(8036,3,false,"1432#","500#","14290#","500#"), [48,87] => AMEdata(8036,3,false,"1432#","500#","14290#","500#"), +"In135" => AMEdata(8136,2,false,"3212#","361#","13522#","300#"), [49,86] => AMEdata(8136,2,false,"3212#","361#","13522#","300#"), +"Sn135" => AMEdata(8230.6877,0.0228,true,"2269.8116","4.4136","9058.0800","4.0522"), [50,85] => AMEdata(8230.6877,0.0228,true,"2269.8116","4.4136","9058.0800","4.0522"), +"Sb135" => AMEdata(8291.9894,0.0196,true,"3742.6463","4.0522","8038.4581","3.1524"), [51,84] => AMEdata(8291.9894,0.0196,true,"3742.6463","4.0522","8038.4581","3.1524"), +"Te135" => AMEdata(8345.7384,0.0128,true,"3266.3560","3.2417","6050.3894","2.6850"), [52,83] => AMEdata(8345.7384,0.0128,true,"3266.3560","3.2417","6050.3894","2.6850"), +"I135" => AMEdata(8384.7609,0.0153,true,"7807.0579","5.2755","2634.1851","3.8284"), [53,82] => AMEdata(8384.7609,0.0153,true,"7807.0579","5.2755","2634.1851","3.8284"), +"Xe135" => AMEdata(8398.4783,0.0272,true,"6358.8484","3.6685","1168.5917","3.6623"), [54,81] => AMEdata(8398.4783,0.0272,true,"6358.8484","3.6685","1168.5917","3.6623"), +"Cs135" => AMEdata(8401.3393,0.0027,true,"8762.1093","0.3636","268.6983","0.2862"), [55,80] => AMEdata(8401.3393,0.0027,true,"8762.1093","0.3636","268.6983","0.2862"), +"Ba135" => AMEdata(8397.5345,0.0018,true,"6971.9707","0.0999","-1207.1973","9.4299"), [56,79] => AMEdata(8397.5345,0.0018,true,"6971.9707","0.0999","-1207.1973","9.4299"), +"La135" => AMEdata(8382.7972,0.0699,true,"9496.1168","22.0490","-2027.1499","4.6101"), [57,78] => AMEdata(8382.7972,0.0699,true,"9496.1168","22.0490","-2027.1499","4.6101"), +"Ce135" => AMEdata(8361.9861,0.0760,true,"7854.7274","22.8258","-3680.4357","15.6540"), [58,77] => AMEdata(8361.9861,0.0760,true,"7854.7274","22.8258","-3680.4357","15.6540"), +"Pr135" => AMEdata(8328.9284,0.0875,true,"10479.1904","23.5032","-4722.2522","22.4837"), [59,76] => AMEdata(8328.9284,0.0875,true,"10479.1904","23.5032","-4722.2522","22.4837"), +"Nd135" => AMEdata(8288.1536,0.1417,true,"8638.4951","22.4837","-6151.2907","85.0809"), [60,75] => AMEdata(8288.1536,0.1417,true,"8638.4951","22.4837","-6151.2907","85.0809"), +"Pm135" => AMEdata(8236.7933,0.6141,true,"11369.7387","92.8976","-7205.1069","175.4501"), [61,74] => AMEdata(8236.7933,0.6141,true,"11369.7387","92.8976","-7205.1069","175.4501"), +"Sm135" => AMEdata(8177.6270,1.1454,true,"9552#","249#","-8709#","249#"), [62,73] => AMEdata(8177.6270,1.1454,true,"9552#","249#","-8709#","249#"), +"Eu135" => AMEdata(8107,1,false,"12419#","358#","-9898#","445#"), [63,72] => AMEdata(8107,1,false,"12419#","358#","-9898#","445#"), +"Gd135" => AMEdata(8028,3,false,"10791#","565#","-11197#","565#"), [64,71] => AMEdata(8028,3,false,"10791#","565#","-11197#","565#"), +"Tb135" => AMEdata(7939,3,false,"*","","*",""), [65,70] => AMEdata(7939,3,false,"*","","*",""), +"In136" => AMEdata(8091,2,false,"1931#","424#","15200#","361#"), [49,87] => AMEdata(8091,2,false,"1931#","424#","15200#","361#"), +"Sn136" => AMEdata(8197,1,false,"3609#","200#","8337#","200#"), [50,86] => AMEdata(8197,1,false,"3609#","200#","8337#","200#"), +"Sb136" => AMEdata(8252.2533,0.0429,true,"2887.8754","6.3996","9918.3897","6.2599"), [51,85] => AMEdata(8252.2533,0.0429,true,"2887.8754","6.3996","9918.3897","6.2599"), +"Te136" => AMEdata(8319.4301,0.0168,true,"4767.8070","2.8582","5119.9455","14.1880"), [52,84] => AMEdata(8319.4301,0.0168,true,"4767.8070","2.8582","5119.9455","14.1880"), +"I136" => AMEdata(8351.3242,0.1043,true,"3837.3630","14.3368","6883.9455","14.1880"), [53,83] => AMEdata(8351.3242,0.1043,true,"3837.3630","14.3368","6883.9455","14.1880"), +"Xe136" => AMEdata(8396.1889,0.0003,true,"8087.1234","3.6685","-90.3151","1.8730"), [54,82] => AMEdata(8396.1889,0.0003,true,"8087.1234","3.6685","-90.3151","1.8730"), +"Cs136" => AMEdata(8389.7723,0.0138,true,"6828.2166","1.8792","2548.2241","1.8570"), [55,81] => AMEdata(8389.7723,0.0138,true,"6828.2166","1.8792","2548.2241","1.8570"), +"Ba136" => AMEdata(8402.7566,0.0018,true,"9107.7424","0.0390","-2849.5915","53.1715"), [56,80] => AMEdata(8402.7566,0.0018,true,"9107.7424","0.0390","-2849.5915","53.1715"), +"La136" => AMEdata(8376.0512,0.3910,true,"7465.3482","54.0011","471.0621","53.1720"), [57,79] => AMEdata(8376.0512,0.3910,true,"7465.3482","54.0011","471.0621","53.1720"), +"Ce136" => AMEdata(8373.7624,0.0024,true,"9963.5603","10.2663","-5168.1290","11.4561"), [58,78] => AMEdata(8373.7624,0.0024,true,"9963.5603","10.2663","-5168.1290","11.4561"), +"Pr136" => AMEdata(8330.0089,0.0842,true,"8475.8670","16.4578","-2141.1234","16.4578"), [59,77] => AMEdata(8330.0089,0.0842,true,"8475.8670","16.4578","-2141.1234","16.4578"), +"Nd136" => AMEdata(8308.5127,0.0869,true,"11056.9958","22.4837","-8029.3747","70.0764"), [60,76] => AMEdata(8308.5127,0.0869,true,"11056.9958","22.4837","-8029.3747","70.0764"), +"Pm136" => AMEdata(8243.7207,0.5079,true,"9178.9118","107.9071","-4359.0237","70.1942"), [61,75] => AMEdata(8243.7207,0.5079,true,"9178.9118","107.9071","-4359.0237","70.1942"), +"Sm136" => AMEdata(8205.9165,0.0919,true,"12024.9950","155.1322","-10567#","196#"), [62,74] => AMEdata(8205.9165,0.0919,true,"12024.9950","155.1322","-10567#","196#"), +"Eu136" => AMEdata(8122,1,false,"10167#","277#","-7154#","357#"), [63,73] => AMEdata(8122,1,false,"10167#","277#","-7154#","357#"), +"Gd136" => AMEdata(8064,2,false,"12911#","499#","-13190#","582#"), [64,72] => AMEdata(8064,2,false,"12911#","499#","-13190#","582#"), +"Tb136" => AMEdata(7961,4,false,"10918#","640#","*",""), [65,71] => AMEdata(7961,4,false,"10918#","640#","*",""), +"In137" => AMEdata(8053,3,false,"2931#","500#","14320#","500#"), [49,88] => AMEdata(8053,3,false,"2931#","500#","14320#","500#"), +"Sn137" => AMEdata(8152,2,false,"2051#","361#","9911#","304#"), [50,87] => AMEdata(8152,2,false,"2051#","361#","9911#","304#"), +"Sb137" => AMEdata(8218.4764,0.3808,true,"3624.8209","52.4884","9243.3698","52.2059"), [51,86] => AMEdata(8218.4764,0.3808,true,"3624.8209","52.4884","9243.3698","52.2059"), +"Te137" => AMEdata(8280.2357,0.0153,true,"2949.8010","3.1008","7052.5063","8.6426"), [52,85] => AMEdata(8280.2357,0.0153,true,"2949.8010","3.1008","7052.5063","8.6426"), +"I137" => AMEdata(8326.0033,0.0612,true,"4882.3619","16.4798","6027.1455","8.3841"), [53,84] => AMEdata(8326.0033,0.0612,true,"4882.3619","16.4798","6027.1455","8.3841"), +"Xe137" => AMEdata(8364.2865,0.0008,true,"4025.5620","0.1033","4162.3582","0.3193"), [54,83] => AMEdata(8364.2865,0.0008,true,"4025.5620","0.1033","4162.3582","0.3193"), +"Cs137" => AMEdata(8388.9581,0.0022,true,"8278.2353","1.8662","1175.6285","0.1723"), [55,82] => AMEdata(8388.9581,0.0022,true,"8278.2353","1.8662","1175.6285","0.1723"), +"Ba137" => AMEdata(8391.8288,0.0018,true,"6905.6397","0.0687","-580.5356","1.6231"), [56,81] => AMEdata(8391.8288,0.0018,true,"6905.6397","0.0687","-580.5356","1.6231"), +"La137" => AMEdata(8381.8807,0.0120,true,"9174.6956","53.1963","-1222.1000","1.6000"), [57,80] => AMEdata(8381.8807,0.0120,true,"9174.6956","53.1963","-1222.1000","1.6000"), +"Ce137" => AMEdata(8367.2497,0.0026,true,"7481.5335","0.1564","-2716.9515","8.1328"), [58,79] => AMEdata(8367.2497,0.0026,true,"7481.5335","0.1564","-2716.9515","8.1328"), +"Pr137" => AMEdata(8341.7074,0.0594,true,"9932.7110","14.0480","-3617.8447","14.2706"), [59,78] => AMEdata(8341.7074,0.0594,true,"9932.7110","14.0480","-3617.8447","14.2706"), +"Nd137" => AMEdata(8309.5892,0.0856,true,"8455.9897","16.6469","-5511.1108","17.5366"), [60,77] => AMEdata(8309.5892,0.0856,true,"8455.9897","16.6469","-5511.1108","17.5366"), +"Pm137" => AMEdata(8263.6516,0.0952,true,"10974.2535","70.2930","-6081.2029","31.4460"), [61,76] => AMEdata(8263.6516,0.0952,true,"10974.2535","70.2930","-6081.2029","31.4460"), +"Sm137" => AMEdata(8213.5527,0.2089,true,"9252.0743","31.2244","-7845.7518","28.9474"), [62,75] => AMEdata(8213.5527,0.2089,true,"9252.0743","31.2244","-7845.7518","28.9474"), +"Eu137" => AMEdata(8150.5738,0.0320,true,"11974#","196#","-8932#","298#"), [63,74] => AMEdata(8150.5738,0.0320,true,"11974#","196#","-8932#","298#"), +"Gd137" => AMEdata(8080,2,false,"10195#","422#","-10246#","499#"), [64,73] => AMEdata(8080,2,false,"10195#","422#","-10246#","499#"), +"Tb137" => AMEdata(7999,3,false,"13139#","641#","*",""), [65,72] => AMEdata(7999,3,false,"13139#","641#","*",""), +"Sn138" => AMEdata(8118,3,false,"3432#","500#","9140#","500#"), [50,88] => AMEdata(8118,3,false,"3432#","500#","9140#","500#"), +"Sb138" => AMEdata(8178,2,false,"2661#","304#","11046#","300#"), [51,87] => AMEdata(8178,2,false,"2661#","304#","11046#","300#"), +"Te138" => AMEdata(8252.5786,0.0274,true,"4463.5506","4.3303","6283.9149","7.0625"), [52,86] => AMEdata(8252.5786,0.0274,true,"4463.5506","4.3303","6283.9149","7.0625"), +"I138" => AMEdata(8292.4450,0.0432,true,"3694.9592","10.2870","7992.3346","6.5881"), [53,85] => AMEdata(8292.4450,0.0432,true,"3694.9592","10.2870","7992.3346","6.5881"), +"Xe138" => AMEdata(8344.6913,0.0203,true,"5660.1482","2.8059","2914.7839","9.5780"), [54,84] => AMEdata(8344.6913,0.0203,true,"5660.1482","2.8059","2914.7839","9.5780"), +"Cs138" => AMEdata(8360.1437,0.0664,true,"4412.5739","9.1600","5374.7776","9.1584"), [55,83] => AMEdata(8360.1437,0.0664,true,"4412.5739","9.1600","5374.7776","9.1584"), +"Ba138" => AMEdata(8393.4222,0.0018,true,"8611.7230","0.0399","-1748.3977","0.3384"), [56,82] => AMEdata(8393.4222,0.0018,true,"8611.7230","0.0399","-1748.3977","0.3384"), +"La138" => AMEdata(8375.0835,0.0030,true,"7443.8609","1.6584","1052.4585","0.4018"), [57,81] => AMEdata(8375.0835,0.0030,true,"7443.8609","1.6584","1052.4585","0.4018"), +"Ce138" => AMEdata(8377.0408,0.0036,true,"9718.4194","0.5217","-4437.0000","10.0000"), [58,80] => AMEdata(8377.0408,0.0036,true,"9718.4194","0.5217","-4437.0000","10.0000"), +"Pr138" => AMEdata(8339.2195,0.0726,true,"7998.3710","12.8982","-1111.6847","15.3256"), [59,79] => AMEdata(8339.2195,0.0726,true,"7998.3710","12.8982","-1111.6847","15.3256"), +"Nd138" => AMEdata(8325.4946,0.0841,true,"10504.5309","16.4952","-7102.8119","16.0995"), [60,78] => AMEdata(8325.4946,0.0841,true,"10504.5309","16.4952","-7102.8119","16.0995"), +"Pm138" => AMEdata(8268.3558,0.0841,true,"8912.8298","17.4554","-3416.5976","16.5613"), [61,77] => AMEdata(8268.3558,0.0841,true,"8912.8298","17.4554","-3416.5976","16.5613"), +"Sm138" => AMEdata(8237.9286,0.0856,true,"11577.4352","30.9586","-9748.0968","30.3408"), [62,76] => AMEdata(8237.9286,0.0856,true,"11577.4352","30.9586","-9748.0968","30.3408"), +"Eu138" => AMEdata(8161.6211,0.2025,true,"9675.0901","28.2857","-6090#","202#"), [63,75] => AMEdata(8161.6211,0.2025,true,"9675.0901","28.2857","-6090#","202#"), +"Gd138" => AMEdata(8112,1,false,"12517#","359#","-12059#","361#"), [64,74] => AMEdata(8112,1,false,"12517#","359#","-12059#","361#"), +"Tb138" => AMEdata(8019,2,false,"10705#","500#","-8669#","586#"), [65,73] => AMEdata(8019,2,false,"10705#","500#","-8669#","586#"), +"Dy138" => AMEdata(7950,4,false,"*","","*",""), [66,72] => AMEdata(7950,4,false,"*","","*",""), +"Sn139" => AMEdata(8073,3,false,"1871#","565#","10740#","565#"), [50,89] => AMEdata(8073,3,false,"1871#","565#","10740#","565#"), +"Sb139" => AMEdata(8144,3,false,"3472#","500#","10155#","400#"), [51,88] => AMEdata(8144,3,false,"3472#","500#","10155#","400#"), +"Te139" => AMEdata(8211.7716,0.0255,true,"2580.4036","5.1835","8265.8835","5.3454"), [52,87] => AMEdata(8211.7716,0.0255,true,"2580.4036","5.1835","8265.8835","5.3454"), +"I139" => AMEdata(8265.6100,0.0288,true,"4562.3722","7.1822","7173.6224","4.5424"), [53,86] => AMEdata(8265.6100,0.0288,true,"4562.3722","7.1822","7173.6224","4.5424"), +"Xe139" => AMEdata(8311.5904,0.0154,true,"3743.6600","3.5288","5056.5023","3.7960"), [54,85] => AMEdata(8311.5904,0.0154,true,"3743.6600","3.5288","5056.5023","3.7960"), +"Cs139" => AMEdata(8342.3397,0.0225,true,"5885.3783","9.6764","4212.8293","3.1235"), [55,84] => AMEdata(8342.3397,0.0225,true,"5885.3783","9.6764","4212.8293","3.1235"), +"Ba139" => AMEdata(8367.0194,0.0018,true,"4723.4300","0.0400","2308.4632","0.6571"), [56,83] => AMEdata(8367.0194,0.0018,true,"4723.4300","0.0400","2308.4632","0.6571"), +"La139" => AMEdata(8377.9987,0.0044,true,"8780.2909","0.7355","-264.6396","1.9989"), [57,82] => AMEdata(8377.9987,0.0044,true,"8780.2909","0.7355","-264.6396","1.9989"), +"Ce139" => AMEdata(8370.4664,0.0150,true,"7463.1928","2.1476","-2129.0890","2.9962"), [58,81] => AMEdata(8370.4664,0.0150,true,"7463.1928","2.1476","-2129.0890","2.9962"), +"Pr139" => AMEdata(8349.5208,0.0263,true,"9771.1038","10.6568","-2811.7226","27.6166"), [59,80] => AMEdata(8349.5208,0.0263,true,"9771.1038","10.6568","-2811.7226","27.6166"), +"Nd139" => AMEdata(8323.6642,0.1980,true,"8071.0659","29.8670","-4515.9014","25.8700"), [60,79] => AMEdata(8323.6642,0.1980,true,"8071.0659","29.8670","-4515.9014","25.8700"), +"Pm139" => AMEdata(8285.5473,0.0978,true,"10657.9765","17.8678","-5120.7993","17.4098"), [61,78] => AMEdata(8285.5473,0.0978,true,"10657.9765","17.8678","-5120.7993","17.4098"), +"Sm139" => AMEdata(8243.0786,0.0783,true,"8953.7747","16.0661","-6982.1777","17.0705"), [62,77] => AMEdata(8243.0786,0.0783,true,"8953.7747","16.0661","-6982.1777","17.0705"), +"Eu139" => AMEdata(8187.2187,0.0946,true,"11719.6939","30.8844","-7767#","196#"), [63,76] => AMEdata(8187.2187,0.0946,true,"11719.6939","30.8844","-7767#","196#"), +"Gd139" => AMEdata(8126,1,false,"10043#","280#","-9501#","357#"), [64,75] => AMEdata(8126,1,false,"10043#","280#","-9501#","357#"), +"Tb139" => AMEdata(8052,2,false,"12601#","423#","-10430#","582#"), [65,74] => AMEdata(8052,2,false,"12601#","423#","-10430#","582#"), +"Dy139" => AMEdata(7971,4,false,"10841#","709#","*",""), [66,73] => AMEdata(7971,4,false,"10841#","709#","*",""), +"Sn140" => AMEdata(8038,2,false,"3252#","500#","9900#","671#"), [50,90] => AMEdata(8038,2,false,"3252#","500#","9900#","671#"), +"Sb140" => AMEdata(8103,4,false,"2412#","721#","11977#","600#"), [51,89] => AMEdata(8103,4,false,"2412#","721#","11977#","600#"), +"Te140" => AMEdata(8183.3567,0.1027,true,"4233.6870","14.8068","7238.7734","18.7976"), [52,88] => AMEdata(8183.3567,0.1027,true,"4233.6870","14.8068","7238.7734","18.7976"), +"I140" => AMEdata(8229.4740,0.0865,true,"3206.5769","12.7547","9380.2388","12.3313"), [53,87] => AMEdata(8229.4740,0.0865,true,"3206.5769","12.7547","9380.2388","12.3313"), +"Xe140" => AMEdata(8290.8875,0.0166,true,"5413.1933","3.1643","4063.2768","8.5232"), [54,86] => AMEdata(8290.8875,0.0166,true,"5413.1933","3.1643","4063.2768","8.5232"), +"Cs140" => AMEdata(8314.3227,0.0586,true,"4419.9679","8.7773","6218.1669","9.8671"), [55,85] => AMEdata(8314.3227,0.0586,true,"4419.9679","8.7773","6218.1669","9.8671"), +"Ba140" => AMEdata(8353.1500,0.0564,true,"6425.3055","7.9036","1044.1542","7.9051"), [56,84] => AMEdata(8353.1500,0.0564,true,"6425.3055","7.9036","1044.1542","7.9051"), +"La140" => AMEdata(8355.0201,0.0043,true,"5160.9966","0.0194","3762.1676","1.3364"), [57,83] => AMEdata(8355.0201,0.0043,true,"5160.9966","0.0194","3762.1676","1.3364"), +"Ce140" => AMEdata(8376.3045,0.0094,true,"9187.8037","2.4044","-3388.0000","6.0000"), [58,82] => AMEdata(8376.3045,0.0094,true,"9187.8037","2.4044","-3388.0000","6.0000"), +"Pr140" => AMEdata(8346.5163,0.0439,true,"7928.8927","7.1230","-428.9806","6.9536"), [59,81] => AMEdata(8346.5163,0.0439,true,"7928.8927","7.1230","-428.9806","6.9536"), +"Nd140" => AMEdata(8337.8640,0.0233,true,"10311.6347","27.7136","-6045.2000","24.0000"), [60,80] => AMEdata(8337.8640,0.0233,true,"10311.6347","27.7136","-6045.2000","24.0000"), +"Pm140" => AMEdata(8289.0958,0.1730,true,"8782.3361","27.7716","-2756.1010","27.2546"), [61,79] => AMEdata(8289.0958,0.1730,true,"8782.3361","27.7716","-2756.1010","27.2546"), +"Sm140" => AMEdata(8263.8211,0.0893,true,"11147.0344","16.5725","-8470.0000","50.0000"), [62,78] => AMEdata(8263.8211,0.0893,true,"11147.0344","16.5725","-8470.0000","50.0000"), +"Eu140" => AMEdata(8197.7330,0.3681,true,"9659.2121","53.1895","-5203.6675","58.6268"), [63,77] => AMEdata(8197.7330,0.3681,true,"9659.2121","53.1895","-5203.6675","58.6268"), +"Gd140" => AMEdata(8154.9757,0.1996,true,"12222#","198#","-11300.0000","800.0000"), [64,76] => AMEdata(8154.9757,0.1996,true,"12222#","198#","-11300.0000","800.0000"), +"Tb140" => AMEdata(8068.6732,5.7178,true,"10423#","854#","-7652#","895#"), [65,75] => AMEdata(8068.6732,5.7178,true,"10423#","854#","-7652#","895#"), +"Dy140" => AMEdata(8008,3,false,"13201#","641#","-13513#","641#"), [66,74] => AMEdata(8008,3,false,"13201#","641#","-13513#","641#"), +"Ho140" => AMEdata(7906,4,false,"*","","*",""), [67,73] => AMEdata(7906,4,false,"*","","*",""), +"Sb141" => AMEdata(8069,4,false,"3221#","781#","11129#","640#"), [51,90] => AMEdata(8069,4,false,"3221#","781#","11129#","640#"), +"Te141" => AMEdata(8142,3,false,"2373#","400#","9257#","400#"), [52,89] => AMEdata(8142,3,false,"2373#","400#","9257#","400#"), +"I141" => AMEdata(8202.2562,0.1123,true,"4391.7612","19.9348","8270.6430","16.0965"), [53,88] => AMEdata(8202.2562,0.1123,true,"4391.7612","19.9348","8270.6430","16.0965"), +"Xe141" => AMEdata(8255.3647,0.0205,true,"3282.1654","3.7096","6280.0423","9.6378"), [54,87] => AMEdata(8255.3647,0.0205,true,"3282.1654","3.7096","6280.0423","9.6378"), +"Cs141" => AMEdata(8294.3554,0.0652,true,"5498.9309","12.1966","5255.1410","9.6174"), [55,86] => AMEdata(8294.3554,0.0652,true,"5498.9309","12.1966","5255.1410","9.6174"), +"Ba141" => AMEdata(8326.0774,0.0377,true,"4535.9050","9.4488","3197.3515","6.5510"), [56,85] => AMEdata(8326.0774,0.0377,true,"4535.9050","9.4488","3197.3515","6.5510"), +"La141" => AMEdata(8343.2050,0.0293,true,"6689.1023","4.1361","2501.2141","3.9279"), [57,84] => AMEdata(8343.2050,0.0293,true,"6689.1023","4.1361","2501.2141","3.9279"), +"Ce141" => AMEdata(8355.3956,0.0093,true,"5428.1487","0.1028","583.4758","1.1784"), [58,83] => AMEdata(8355.3956,0.0093,true,"5428.1487","0.1028","583.4758","1.1784"), +"Pr141" => AMEdata(8353.9852,0.0106,true,"9399.6246","6.1151","-1823.0137","2.8090"), [59,82] => AMEdata(8353.9852,0.0106,true,"9399.6246","6.1151","-1823.0137","2.8090"), +"Nd141" => AMEdata(8335.5074,0.0226,true,"8005.5915","4.5566","-3668.5879","14.3304"), [60,81] => AMEdata(8335.5074,0.0226,true,"8005.5915","4.5566","-3668.5879","14.3304"), +"Pm141" => AMEdata(8303.9405,0.0991,true,"10382.2035","27.9617","-4588.9724","16.3730"), [61,80] => AMEdata(8303.9405,0.0991,true,"10382.2035","27.9617","-4588.9724","16.3730"), +"Sm141" => AMEdata(8265.8460,0.0605,true,"8549.3321","15.1337","-6008.3127","14.2829"), [62,79] => AMEdata(8265.8460,0.0605,true,"8549.3321","15.1337","-6008.3127","14.2829"), +"Eu141" => AMEdata(8217.6853,0.0896,true,"11011.0195","53.0652","-6701.4161","23.4562"), [63,78] => AMEdata(8217.6853,0.0896,true,"11011.0195","53.0652","-6701.4161","23.4562"), +"Gd141" => AMEdata(8164.6090,0.1401,true,"9513.2709","34.2253","-8683.3880","107.0975"), [64,77] => AMEdata(8164.6090,0.1401,true,"9513.2709","34.2253","-8683.3880","107.0975"), +"Tb141" => AMEdata(8097.4761,0.7465,true,"12129.8829","807.3787","-9158#","316#"), [65,76] => AMEdata(8097.4761,0.7465,true,"12129.8829","807.3787","-9158#","316#"), +"Dy141" => AMEdata(8027,2,false,"10624#","499#","-11018#","499#"), [66,75] => AMEdata(8027,2,false,"10624#","499#","-11018#","499#"), +"Ho141" => AMEdata(7943,3,false,"13118#","641#","*",""), [67,74] => AMEdata(7943,3,false,"13118#","641#","*",""), +"Sb142" => AMEdata(8027,2,false,"2141#","583#","12939#","583#"), [51,91] => AMEdata(8027,2,false,"2141#","583#","12939#","583#"), +"Te142" => AMEdata(8113,4,false,"3951#","640#","8253#","500#"), [52,90] => AMEdata(8113,4,false,"3951#","640#","8253#","500#"), +"I142" => AMEdata(8165.2517,0.0348,true,"2947.6216","16.5871","10426.6792","5.6276"), [53,89] => AMEdata(8165.2517,0.0348,true,"2947.6216","16.5871","10426.6792","5.6276"), +"Xe142" => AMEdata(8233.1695,0.0190,true,"5103.6578","3.9542","5284.9078","7.5655"), [54,88] => AMEdata(8233.1695,0.0190,true,"5103.6578","3.9542","5284.9078","7.5655"), +"Cs142" => AMEdata(8264.8777,0.0498,true,"4108.5233","11.5969","7327.7007","8.3627"), [55,87] => AMEdata(8264.8777,0.0498,true,"4108.5233","11.5969","7327.7007","8.3627"), +"Ba142" => AMEdata(8310.9718,0.0417,true,"6181.0830","7.9580","2181.6932","8.3754"), [56,86] => AMEdata(8310.9718,0.0417,true,"6181.0830","7.9580","2181.6932","8.3754"), +"La142" => AMEdata(8320.8263,0.0443,true,"5165.4246","7.4221","4508.9455","5.8446"), [57,85] => AMEdata(8320.8263,0.0443,true,"5165.4246","7.4221","4508.9455","5.8446"), +"Ce142" => AMEdata(8347.0700,0.0172,true,"7173.1561","2.4703","-746.5288","2.4868"), [58,84] => AMEdata(8347.0700,0.0172,true,"7173.1561","2.4703","-746.5288","2.4868"), +"Pr142" => AMEdata(8336.3032,0.0106,true,"5843.1515","0.0768","2163.6885","1.3656"), [59,83] => AMEdata(8336.3032,0.0106,true,"5843.1515","0.0768","2163.6885","1.3656"), +"Nd142" => AMEdata(8346.0310,0.0088,true,"9829.8537","3.1237","-4808.5196","23.6216"), [60,82] => AMEdata(8346.0310,0.0088,true,"9829.8537","3.1237","-4808.5196","23.6216"), +"Pm142" => AMEdata(8306.6587,0.1662,true,"8689.9220","27.4222","-2159.6062","23.6524"), [61,81] => AMEdata(8306.6587,0.1662,true,"8689.9220","27.4222","-2159.6062","23.6524"), +"Sm142" => AMEdata(8285.9407,0.0131,true,"11119.2881","8.6142","-7673.0000","30.0000"), [62,80] => AMEdata(8285.9407,0.0131,true,"11119.2881","8.6142","-7673.0000","30.0000"), +"Eu142" => AMEdata(8226.3960,0.2117,true,"9454.6008","32.6006","-4349.4074","41.0414"), [63,79] => AMEdata(8226.3960,0.2117,true,"9454.6008","32.6006","-4349.4074","41.0414"), +"Gd142" => AMEdata(8190.2569,0.1968,true,"11806.6094","34.2253","-10400.0000","700.0000"), [64,78] => AMEdata(8190.2569,0.1968,true,"11806.6094","34.2253","-10400.0000","700.0000"), +"Tb142" => AMEdata(8111.5080,4.9335,true,"10089.9974","708.4210","-6440#","200#"), [65,77] => AMEdata(8111.5080,4.9335,true,"10089.9974","708.4210","-6440#","200#"), +"Dy142" => AMEdata(8061,5,false,"12808#","787#","-12869#","831#"), [66,76] => AMEdata(8061,5,false,"12808#","787#","-12869#","831#"), +"Ho142" => AMEdata(7965,3,false,"10957#","567#","-9321#","641#"), [67,75] => AMEdata(7965,3,false,"10957#","567#","-9321#","641#"), +"Er142" => AMEdata(7893,4,false,"*","","*",""), [68,74] => AMEdata(7893,4,false,"*","","*",""), +"Te143" => AMEdata(8070,3,false,"2052#","707#","10259#","539#"), [52,91] => AMEdata(8070,3,false,"2052#","707#","10259#","539#"), +"I143" => AMEdata(8137,1,false,"4058#","200#","9413#","200#"), [53,90] => AMEdata(8137,1,false,"4058#","200#","9413#","200#"), +"Xe143" => AMEdata(8196.8855,0.0326,true,"3044.5518","5.3842","7472.6365","8.8908"), [54,89] => AMEdata(8196.8855,0.0326,true,"3044.5518","5.3842","7472.6365","8.8908"), +"Cs143" => AMEdata(8243.6707,0.0530,true,"5232.2804","10.3583","6261.6865","9.7303"), [55,88] => AMEdata(8243.6707,0.0530,true,"5232.2804","10.3583","6261.6865","9.7303"), +"Ba143" => AMEdata(8281.9878,0.0472,true,"4166.2663","8.9831","4234.2623","9.9682"), [56,87] => AMEdata(8281.9878,0.0472,true,"4166.2663","8.9831","4234.2623","9.9682"), +"La143" => AMEdata(8306.1271,0.0513,true,"6218.8354","9.5466","3434.9108","7.5812"), [57,86] => AMEdata(8306.1271,0.0513,true,"6218.8354","9.5466","3434.9108","7.5812"), +"Ce143" => AMEdata(8324.6765,0.0171,true,"5144.8007","0.0937","1461.8214","1.8649"), [58,85] => AMEdata(8324.6765,0.0171,true,"5144.8007","0.0937","1461.8214","1.8649"), +"Pr143" => AMEdata(8329.4280,0.0127,true,"7353.1508","1.8881","934.1107","1.3673"), [59,84] => AMEdata(8329.4280,0.0127,true,"7353.1508","1.8881","934.1107","1.3673"), +"Nd143" => AMEdata(8330.4893,0.0088,true,"6123.5730","0.0694","-1041.6463","2.6830"), [60,83] => AMEdata(8330.4893,0.0088,true,"6123.5730","0.0694","-1041.6463","2.6830"), +"Pm143" => AMEdata(8317.7341,0.0206,true,"9890.4463","23.7703","-3443.5291","3.5604"), [61,82] => AMEdata(8317.7341,0.0206,true,"9890.4463","23.7703","-3443.5291","3.5604"), +"Sm143" => AMEdata(8288.1825,0.0192,true,"8606.5234","2.6259","-5275.8240","11.3245"), [62,81] => AMEdata(8288.1825,0.0192,true,"8606.5234","2.6259","-5275.8240","11.3245"), +"Eu143" => AMEdata(8245.8177,0.0768,true,"11003.6994","32.0026","-6010.0000","200.0000"), [63,80] => AMEdata(8245.8177,0.0768,true,"11003.6994","32.0026","-6010.0000","200.0000"), +"Gd143" => AMEdata(8198.3188,1.4007,true,"9343.1068","202.2414","-7812.1185","206.7497"), [64,79] => AMEdata(8198.3188,1.4007,true,"9343.1068","202.2414","-7812.1185","206.7497"), +"Tb143" => AMEdata(8138.2176,0.3583,true,"11930.9883","702.4284","-8250.2433","52.8659"), [65,78] => AMEdata(8138.2176,0.3583,true,"11930.9883","702.4284","-8250.2433","52.8659"), +"Dy143" => AMEdata(8075.0527,0.0912,true,"10121#","729#","-10121#","298#"), [66,77] => AMEdata(8075.0527,0.0912,true,"10121#","729#","-10121#","298#"), +"Ho143" => AMEdata(7999,2,false,"12869#","499#","-10887#","499#"), [67,76] => AMEdata(7999,2,false,"12869#","499#","-10887#","499#"), +"Er143" => AMEdata(7917,3,false,"11302#","640#","*",""), [68,75] => AMEdata(7917,3,false,"11302#","640#","*",""), +"Te144" => AMEdata(8040,2,false,"3761#","583#","9110#","500#"), [52,92] => AMEdata(8040,2,false,"3761#","583#","9110#","500#"), +"I144" => AMEdata(8098,3,false,"2612#","447#","11542#","400#"), [53,91] => AMEdata(8098,3,false,"2612#","447#","11542#","400#"), +"Xe144" => AMEdata(8172.8845,0.0369,true,"4740.7372","7.0628","6399.0606","20.8203"), [54,90] => AMEdata(8172.8845,0.0369,true,"4740.7372","7.0628","6399.0606","20.8203"), +"Cs144" => AMEdata(8211.8894,0.1398,true,"3667.1613","21.5092","8495.7679","20.4163"), [55,89] => AMEdata(8211.8894,0.1398,true,"3667.1613","21.5092","8495.7679","20.4163"), +"Ba144" => AMEdata(8265.4549,0.0496,true,"5901.2426","9.8272","3082.5300","14.7744"), [56,88] => AMEdata(8265.4549,0.0496,true,"5901.2426","9.8272","3082.5300","14.7744"), +"La144" => AMEdata(8281.4283,0.0898,true,"4749.5103","14.8686","5582.2823","13.2432"), [57,87] => AMEdata(8281.4283,0.0898,true,"4749.5103","14.8686","5582.2823","13.2432"), +"Ce144" => AMEdata(8314.7612,0.0197,true,"6896.8818","3.3586","318.6462","0.8321"), [58,86] => AMEdata(8314.7612,0.0197,true,"6896.8818","3.3586","318.6462","0.8321"), +"Pr144" => AMEdata(8311.5411,0.0188,true,"5753.7066","2.7626","2997.4400","2.4000"), [59,85] => AMEdata(8311.5411,0.0188,true,"5753.7066","2.7626","2997.4400","2.4000"), +"Nd144" => AMEdata(8326.9237,0.0087,true,"7817.0359","0.0527","-2331.9117","2.6464"), [60,84] => AMEdata(8326.9237,0.0087,true,"7817.0359","0.0527","-2331.9117","2.6464"), +"Pm144" => AMEdata(8305.2969,0.0202,true,"6526.7705","1.5282","549.5096","2.6679"), [61,83] => AMEdata(8305.2969,0.0202,true,"6526.7705","1.5282","549.5096","2.6679"), +"Sm144" => AMEdata(8303.6800,0.0101,true,"10519.8093","2.3488","-6346.4515","10.8092"), [62,82] => AMEdata(8303.6800,0.0101,true,"10519.8093","2.3488","-6346.4515","10.8092"), +"Eu144" => AMEdata(8254.1744,0.0749,true,"9449.1817","15.3964","-3859.6633","29.9546"), [63,81] => AMEdata(8254.1744,0.0749,true,"9449.1817","15.3964","-3859.6633","29.9546"), +"Gd144" => AMEdata(8221.9382,0.1941,true,"11599.5184","202.2414","-9391.3235","39.5199"), [64,80] => AMEdata(8221.9382,0.1941,true,"11599.5184","202.2414","-9391.3235","39.5199"), +"Tb144" => AMEdata(8151.2877,0.1941,true,"10020.3134","58.3579","-5798.0965","28.8506"), [65,79] => AMEdata(8151.2877,0.1941,true,"10020.3134","58.3579","-5798.0965","28.8506"), +"Dy144" => AMEdata(8105.5902,0.0498,true,"12472.4601","14.8832","-11960.5706","11.1039"), [66,78] => AMEdata(8105.5902,0.0498,true,"12472.4601","14.8832","-11960.5706","11.1039"), +"Ho144" => AMEdata(8017.0977,0.0589,true,"10633#","298#","-8002#","196#"), [67,77] => AMEdata(8017.0977,0.0589,true,"10633#","298#","-8002#","196#"), +"Er144" => AMEdata(7956,1,false,"13519#","445#","-14448#","445#"), [68,76] => AMEdata(7956,1,false,"13519#","445#","-14448#","445#"), +"Tm144" => AMEdata(7850,3,false,"*","","*",""), [69,75] => AMEdata(7850,3,false,"*","","*",""), +"Te145" => AMEdata(7998,2,false,"1861#","424#","11120#","583#"), [52,93] => AMEdata(7998,2,false,"1861#","424#","11120#","583#"), +"I145" => AMEdata(8069,3,false,"3871#","640#","10363#","500#"), [53,92] => AMEdata(8069,3,false,"3871#","640#","10363#","500#"), +"Xe145" => AMEdata(8135.0877,0.0771,true,"2692.3538","12.3749","8561.0867","14.3929"), [54,91] => AMEdata(8135.0877,0.0771,true,"2692.3538","12.3749","8561.0867","14.3929"), +"Cs145" => AMEdata(8188.7342,0.0625,true,"4854.3800","21.5837","7461.7591","12.4121"), [55,90] => AMEdata(8188.7342,0.0625,true,"4854.3800","21.5837","7461.7591","12.4121"), +"Ba145" => AMEdata(8234.7991,0.0585,true,"3820.3713","11.0806","5319.1425","14.9122"), [56,89] => AMEdata(8234.7991,0.0585,true,"3820.3713","11.0806","5319.1425","14.9122"), +"La145" => AMEdata(8266.0873,0.0846,true,"6056.9838","17.8291","4231.7331","35.2977"), [57,88] => AMEdata(8266.0873,0.0846,true,"6056.9838","17.8291","4231.7331","35.2977"), +"Ce145" => AMEdata(8289.8762,0.2338,true,"4706.4346","33.9878","2558.9318","33.6347"), [58,87] => AMEdata(8289.8762,0.2338,true,"4706.4346","33.9878","2558.9318","33.6347"), +"Pr145" => AMEdata(8302.1285,0.0493,true,"6946.7202","7.4386","1806.0140","7.0370"), [59,86] => AMEdata(8302.1285,0.0493,true,"6946.7202","7.4386","1806.0140","7.0370"), +"Nd145" => AMEdata(8309.1883,0.0088,true,"5755.2943","0.2306","-164.4982","2.5361"), [60,85] => AMEdata(8309.1883,0.0088,true,"5755.2943","0.2306","-164.4982","2.5361"), +"Pm145" => AMEdata(8302.6583,0.0193,true,"7922.7078","1.5273","-616.0990","2.5390"), [61,84] => AMEdata(8302.6583,0.0193,true,"7922.7078","1.5273","-616.0990","2.5390"), +"Sm145" => AMEdata(8293.0139,0.0102,true,"6757.0992","0.2988","-2659.8832","2.7224"), [62,83] => AMEdata(8293.0139,0.0102,true,"6757.0992","0.2988","-2659.8832","2.7224"), +"Eu145" => AMEdata(8269.2744,0.0211,true,"10443.6676","11.1406","-5064.8984","19.9521"), [63,82] => AMEdata(8269.2744,0.0211,true,"10443.6676","11.1406","-5064.8984","19.9521"), +"Gd145" => AMEdata(8228.9485,0.1360,true,"9238.4326","34.1999","-6526.9329","109.7144"), [64,81] => AMEdata(8228.9485,0.1360,true,"9238.4326","34.1999","-6526.9329","109.7144"), +"Tb145" => AMEdata(8178.5397,0.7648,true,"12102.8232","114.3624","-8157.0853","111.0872"), [65,80] => AMEdata(8178.5397,0.7648,true,"12102.8232","114.3624","-8157.0853","111.0872"), +"Dy145" => AMEdata(8116.8884,0.0450,true,"9743.8344","9.6934","-9122.4943","9.9019"), [66,79] => AMEdata(8116.8884,0.0450,true,"9743.8344","9.6934","-9122.4943","9.9019"), +"Ho145" => AMEdata(8048.5792,0.0514,true,"12581.9106","11.2865","-9880#","200#"), [67,78] => AMEdata(8048.5792,0.0514,true,"12581.9106","11.2865","-9880#","200#"), +"Er145" => AMEdata(7975,1,false,"10704#","280#","-11657#","280#"), [68,77] => AMEdata(7975,1,false,"10704#","280#","-11657#","280#"), +"Tm145" => AMEdata(7889,1,false,"13495#","445#","*",""), [69,76] => AMEdata(7889,1,false,"13495#","445#","*",""), +"I146" => AMEdata(8031,2,false,"2481#","583#","12415#","301#"), [53,93] => AMEdata(8031,2,false,"2481#","583#","12415#","301#"), +"Xe146" => AMEdata(8110.4154,0.1659,true,"4532.9314","26.6739","7355.4298","24.3911"), [54,92] => AMEdata(8110.4154,0.1659,true,"4532.9314","26.6739","7355.4298","24.3911"), +"Cs146" => AMEdata(8155.4365,0.0198,true,"3327.2745","9.5174","9555.8882","3.3918"), [55,91] => AMEdata(8155.4365,0.0198,true,"3327.2745","9.5174","9555.8882","3.3918"), +"Ba146" => AMEdata(8215.5293,0.0121,true,"5421.4036","8.6594","4354.9052","2.4366"), [56,90] => AMEdata(8215.5293,0.0121,true,"5421.4036","8.6594","4354.9052","2.4366"), +"La146" => AMEdata(8239.9988,0.0115,true,"4457.1663","12.3824","6404.6947","14.7146"), [57,89] => AMEdata(8239.9988,0.0115,true,"4457.1663","12.3824","6404.6947","14.7146"), +"Ce146" => AMEdata(8278.5081,0.1004,true,"6630.1280","36.9354","1047.6178","32.4842"), [58,88] => AMEdata(8278.5081,0.1004,true,"6630.1280","36.9354","1047.6178","32.4842"), +"Pr146" => AMEdata(8280.3250,0.2353,true,"5118.8140","35.0812","4252.4300","34.3686"), [59,87] => AMEdata(8280.3250,0.2353,true,"5118.8140","35.0812","4252.4300","34.3686"), +"Nd146" => AMEdata(8304.0927,0.0087,true,"7565.2299","0.0872","-1471.5560","4.1194"), [60,86] => AMEdata(8304.0927,0.0087,true,"7565.2299","0.0872","-1471.5560","4.1194"), +"Pm146" => AMEdata(8288.6550,0.0293,true,"6258.1722","4.8026","1542.0000","3.0000"), [61,85] => AMEdata(8288.6550,0.0293,true,"6258.1722","4.8026","1542.0000","3.0000"), +"Sm146" => AMEdata(8293.8581,0.0209,true,"8416.2711","2.8521","-3878.7573","5.8685"), [62,84] => AMEdata(8293.8581,0.0209,true,"8416.2711","2.8521","-3878.7573","5.8685"), +"Eu146" => AMEdata(8261.9327,0.0412,true,"7197.3970","6.5333","-1031.7798","7.0750"), [63,83] => AMEdata(8261.9327,0.0412,true,"7197.3970","6.5333","-1031.7798","7.0750"), +"Gd146" => AMEdata(8249.5072,0.0279,true,"11230.5156","20.1329","-8322.1791","44.7488"), [64,82] => AMEdata(8249.5072,0.0279,true,"11230.5156","20.1329","-8322.1791","44.7488"), +"Tb146" => AMEdata(8187.1474,0.3073,true,"9435.2694","119.6256","-5208.7165","45.1580"), [65,81] => AMEdata(8187.1474,0.3073,true,"9435.2694","119.6256","-5208.7165","45.1580"), +"Dy146" => AMEdata(8146.1128,0.0459,true,"12383.6382","9.3454","-11316.7007","9.3917"), [66,80] => AMEdata(8146.1128,0.0459,true,"12383.6382","9.3454","-11316.7007","9.3917"), +"Ho146" => AMEdata(8063.2426,0.0451,true,"10189.4318","9.9456","-6916.2074","9.3987"), [67,79] => AMEdata(8063.2426,0.0451,true,"10189.4318","9.9456","-6916.2074","9.3987"), +"Er146" => AMEdata(8010.5127,0.0459,true,"13153#","200#","-13267#","200#"), [68,78] => AMEdata(8010.5127,0.0459,true,"13153#","200#","-13267#","200#"), +"Tm146" => AMEdata(7914,1,false,"11544#","280#","*",""), [69,77] => AMEdata(7914,1,false,"11544#","280#","*",""), +"I147" => AMEdata(8001,2,false,"3731#","424#","11199#","361#"), [53,94] => AMEdata(8001,2,false,"3731#","424#","11199#","361#"), +"Xe147" => AMEdata(8072,1,false,"2516#","202#","9520#","200#"), [54,93] => AMEdata(8072,1,false,"2516#","202#","9520#","200#"), +"Cs147" => AMEdata(8131.8010,0.0570,true,"4681.0103","8.8687","8343.9631","21.4535"), [55,92] => AMEdata(8131.8010,0.0570,true,"4681.0103","8.8687","8343.9631","21.4535"), +"Ba147" => AMEdata(8183.2405,0.1343,true,"3469.0852","19.8268","6414.3615","22.4660"), [56,91] => AMEdata(8183.2405,0.1343,true,"3469.0852","19.8268","6414.3615","22.4660"), +"La147" => AMEdata(8221.5536,0.0729,true,"5528.5415","10.8423","5335.5046","13.7248"), [57,90] => AMEdata(8221.5536,0.0729,true,"5528.5415","10.8423","5335.5046","13.7248"), +"Ce147" => AMEdata(8252.5274,0.0584,true,"4459.3514","16.9902","3430.1913","15.5317"), [58,89] => AMEdata(8252.5274,0.0584,true,"4459.3514","16.9902","3430.1913","15.5317"), +"Pr147" => AMEdata(8270.5400,0.1079,true,"6841.9248","37.8333","2702.7013","15.8571"), [59,88] => AMEdata(8270.5400,0.1079,true,"6841.9248","37.8333","2702.7013","15.8571"), +"Nd147" => AMEdata(8283.6036,0.0087,true,"5292.1962","0.0885","895.1896","0.5664"), [60,87] => AMEdata(8283.6036,0.0087,true,"5292.1962","0.0885","895.1896","0.5664"), +"Pm147" => AMEdata(8284.3712,0.0088,true,"7658.9417","4.1400","224.0638","0.2940"), [61,86] => AMEdata(8284.3712,0.0088,true,"7658.9417","4.1400","224.0638","0.2940"), +"Sm147" => AMEdata(8280.5734,0.0086,true,"6341.0056","2.8437","-1721.4367","2.2832"), [62,85] => AMEdata(8280.5734,0.0086,true,"6341.0056","2.8437","-1721.4367","2.2832"), +"Eu147" => AMEdata(8263.5409,0.0175,true,"8498.3262","6.3537","-2187.6833","2.5273"), [63,84] => AMEdata(8263.5409,0.0175,true,"8498.3262","6.3537","-2187.6833","2.5273"), +"Gd147" => AMEdata(8243.3366,0.0128,true,"7342.4228","4.0274","-4614.2543","8.1414"), [64,83] => AMEdata(8243.3366,0.0128,true,"7342.4228","4.0274","-4614.2543","8.1414"), +"Tb147" => AMEdata(8206.6250,0.0551,true,"11050.3476","45.5170","-6546.6266","11.9939"), [65,82] => AMEdata(8206.6250,0.0551,true,"11050.3476","45.5170","-6546.6266","11.9939"), +"Dy147" => AMEdata(8156.7680,0.0602,true,"9712.4375","11.0963","-8438.9460","10.1644"), [66,81] => AMEdata(8156.7680,0.0602,true,"9712.4375","11.0963","-8438.9460","10.1644"), +"Ho147" => AMEdata(8094.0381,0.0340,true,"12590.1922","8.2699","-9149.2869","38.5173"), [67,80] => AMEdata(8094.0381,0.0340,true,"12590.1922","8.2699","-9149.2869","38.5173"), +"Er147" => AMEdata(8026.4760,0.2598,true,"10357.1127","38.7753","-10633.4071","38.7987"), [68,79] => AMEdata(8026.4760,0.2598,true,"10357.1127","38.7753","-10633.4071","38.7987"), +"Tm147" => AMEdata(7948.8178,0.0465,true,"12990#","200#","*",""), [69,78] => AMEdata(7948.8178,0.0465,true,"12990#","200#","*",""), +"Xe148" => AMEdata(8047,2,false,"4321#","361#","8261#","300#"), [54,94] => AMEdata(8047,2,false,"4321#","361#","8261#","300#"), +"Cs148" => AMEdata(8097.5469,0.0881,true,"3062.1954","15.5032","10633.9614","13.1258"), [55,93] => AMEdata(8097.5469,0.0881,true,"3062.1954","15.5032","10633.9614","13.1258"), +"Ba148" => AMEdata(8164.1118,0.0101,true,"5352.1936","19.8038","5163.8307","19.5252"), [56,92] => AMEdata(8164.1118,0.0101,true,"5352.1936","19.8038","5163.8307","19.5252"), +"La148" => AMEdata(8193.7165,0.1315,true,"4101.6628","22.2208","7689.6824","22.4573"), [57,91] => AMEdata(8193.7165,0.1315,true,"4101.6628","22.2208","7689.6824","22.4573"), +"Ce148" => AMEdata(8240.3876,0.0756,true,"6455.8405","14.1033","2137.0282","12.5663"), [58,90] => AMEdata(8240.3876,0.0756,true,"6455.8405","14.1033","2137.0282","12.5663"), +"Pr148" => AMEdata(8249.5409,0.1016,true,"5162.6774","21.8429","4872.6133","15.0858"), [59,89] => AMEdata(8249.5409,0.1016,true,"5162.6774","21.8429","4872.6133","15.0858"), +"Nd148" => AMEdata(8277.1778,0.0139,true,"7332.5894","1.6554","-542.1891","5.8755"), [60,88] => AMEdata(8277.1778,0.0139,true,"7332.5894","1.6554","-542.1891","5.8755"), +"Pm148" => AMEdata(8268.2283,0.0384,true,"5895.2108","5.6505","2470.1898","5.6409"), [61,87] => AMEdata(8268.2283,0.0384,true,"5895.2108","5.6505","2470.1898","5.6409"), +"Sm148" => AMEdata(8279.6326,0.0084,true,"8141.3368","0.2706","-3038.5844","9.9657"), [62,86] => AMEdata(8279.6326,0.0084,true,"8141.3368","0.2706","-3038.5844","9.9657"), +"Eu148" => AMEdata(8253.8155,0.0673,true,"6824.1890","10.1993","-28.0630","9.9633"), [63,85] => AMEdata(8253.8155,0.0673,true,"6824.1890","10.1993","-28.0630","9.9633"), +"Gd148" => AMEdata(8248.3398,0.0099,true,"8983.8093","1.2316","-5732.4723","12.5208"), [64,84] => AMEdata(8248.3398,0.0099,true,"8983.8093","1.2316","-5732.4723","12.5208"), +"Tb148" => AMEdata(8204.3207,0.0842,true,"7865.5913","14.8512","-2677.5501","9.5961"), [65,83] => AMEdata(8204.3207,0.0842,true,"7865.5913","14.8512","-2677.5501","9.5961"), +"Dy148" => AMEdata(8180.9430,0.0589,true,"11734.6677","12.4264","-9868.2304","84.2872"), [66,82] => AMEdata(8180.9430,0.0589,true,"11734.6677","12.4264","-9868.2304","84.2872"), +"Ho148" => AMEdata(8108.9797,0.5664,true,"10305.3834","83.9835","-6512.1694","84.4583"), [67,81] => AMEdata(8108.9797,0.5664,true,"10305.3834","83.9835","-6512.1694","84.4583"), +"Er148" => AMEdata(8059.6924,0.0692,true,"12942.5008","39.5419","-12713.9630","14.4906"), [68,80] => AMEdata(8059.6924,0.0692,true,"12942.5008","39.5419","-12713.9630","14.4906"), +"Tm148" => AMEdata(7968.5011,0.0692,true,"10861.9450","12.3189","-8535#","400#"), [69,79] => AMEdata(7968.5011,0.0692,true,"10861.9450","12.3189","-8535#","400#"), +"Yb148" => AMEdata(7906,3,false,"*","","*",""), [70,78] => AMEdata(7906,3,false,"*","","*",""), +"Xe149" => AMEdata(8009,2,false,"2422#","424#","10300#","500#"), [54,95] => AMEdata(8009,2,false,"2422#","424#","10300#","500#"), +"Cs149" => AMEdata(8073,3,false,"4460#","400#","9531#","400#"), [55,94] => AMEdata(8073,3,false,"4460#","400#","9531#","400#"), +"Ba149" => AMEdata(8131.8495,0.0169,true,"3357.0264","2.9235","7389.3010","200.2781"), [56,93] => AMEdata(8131.8495,0.0169,true,"3357.0264","2.9235","7389.3010","200.2781"), +"La149" => AMEdata(8176.1915,1.3440,true,"5582.4967","201.2064","6450.0000","200.0000"), [57,92] => AMEdata(8176.1915,1.3440,true,"5582.4967","201.2064","6450.0000","200.0000"), +"Ce149" => AMEdata(8214.2294,0.0688,true,"4342.8144","15.1759","4369.4525","14.2296"), [58,91] => AMEdata(8214.2294,0.0688,true,"4342.8144","15.1759","4369.4525","14.2296"), +"Pr149" => AMEdata(8238.3040,0.0663,true,"6575.2387","17.9926","3336.1617","10.0853"), [59,90] => AMEdata(8238.3040,0.0663,true,"6575.2387","17.9926","3336.1617","10.0853"), +"Nd149" => AMEdata(8255.4437,0.0138,true,"5038.7871","0.0740","1688.8697","2.4588"), [60,89] => AMEdata(8255.4437,0.0138,true,"5038.7871","0.0740","1688.8697","2.4588"), +"Pm149" => AMEdata(8261.5277,0.0147,true,"7269.8459","5.8778","1071.4936","1.8747"), [61,88] => AMEdata(8261.5277,0.0147,true,"7269.8459","5.8778","1071.4936","1.8747"), +"Sm149" => AMEdata(8263.4683,0.0078,true,"5871.1496","0.8862","-694.5812","3.7881"), [62,87] => AMEdata(8263.4683,0.0078,true,"5871.1496","0.8862","-694.5812","3.7881"), +"Eu149" => AMEdata(8253.5560,0.0262,true,"8215.1528","10.6435","-1314.1437","4.1361"), [63,86] => AMEdata(8253.5560,0.0262,true,"8215.1528","10.6435","-1314.1437","4.1361"), +"Gd149" => AMEdata(8239.4856,0.0222,true,"6929.0721","3.1338","-3638.5336","4.3388"), [64,85] => AMEdata(8239.4856,0.0222,true,"6929.0721","3.1338","-3638.5336","4.3388"), +"Tb149" => AMEdata(8209.8153,0.0244,true,"9023.0108","12.9225","-3794.6493","9.1335"), [65,84] => AMEdata(8209.8153,0.0244,true,"9023.0108","12.9225","-3794.6493","9.1335"), +"Dy149" => AMEdata(8179.0972,0.0616,true,"7905.9116","12.0703","-6048.1366","12.7928"), [66,83] => AMEdata(8179.0972,0.0616,true,"7905.9116","12.0703","-6048.1366","12.7928"), +"Ho149" => AMEdata(8133.2550,0.0804,true,"11726.0054","84.6869","-7904.2328","30.4066"), [67,82] => AMEdata(8133.2550,0.0804,true,"11726.0054","84.6869","-7904.2328","30.4066"), +"Er149" => AMEdata(8074.9558,0.1875,true,"10333.9419","29.7641","-9801#","202#"), [68,81] => AMEdata(8074.9558,0.1875,true,"10333.9419","29.7641","-9801#","202#"), +"Tm149" => AMEdata(8004,1,false,"13247#","201#","-10611#","361#"), [69,80] => AMEdata(8004,1,false,"13247#","201#","-10611#","361#"), +"Yb149" => AMEdata(7927,2,false,"11171#","500#","*",""), [70,79] => AMEdata(7927,2,false,"11171#","500#","*",""), +"Xe150" => AMEdata(7983,2,false,"4061#","424#","9180#","500#"), [54,96] => AMEdata(7983,2,false,"4061#","424#","9180#","500#"), +"Cs150" => AMEdata(8039,3,false,"2942#","565#","11720#","400#"), [55,95] => AMEdata(8039,3,false,"2942#","565#","11720#","400#"), +"Ba150" => AMEdata(8111.8405,0.0379,true,"5130.4980","6.2138","6421.3477","6.2138"), [56,94] => AMEdata(8111.8405,0.0379,true,"5130.4980","6.2138","6421.3477","6.2138"), +"La150" => AMEdata(8149.4339,0.0168,true,"4162.5447","200.2781","8535.7155","11.9641"), [57,93] => AMEdata(8149.4339,0.0168,true,"4162.5447","200.2781","8535.7155","11.9641"), +"Ce150" => AMEdata(8201.1230,0.0780,true,"6248.2602","15.5500","3453.6462","14.2913"), [58,92] => AMEdata(8201.1230,0.0780,true,"6248.2602","15.5500","3453.6462","14.2913"), +"Pr150" => AMEdata(8218.9316,0.0601,true,"5332.4540","13.3700","5379.4422","9.0682"), [59,91] => AMEdata(8218.9316,0.0601,true,"5332.4540","13.3700","5379.4422","9.0682"), +"Nd150" => AMEdata(8249.5789,0.0075,true,"7375.7344","1.8792","-82.6155","20.0010"), [60,90] => AMEdata(8249.5789,0.0075,true,"7375.7344","1.8792","-82.6155","20.0010"), +"Pm150" => AMEdata(8243.8125,0.1335,true,"5604.2492","20.0907","3454.0000","20.0000"), [61,89] => AMEdata(8243.8125,0.1335,true,"5604.2492","20.0907","3454.0000","20.0000"), +"Sm150" => AMEdata(8261.6235,0.0074,true,"7986.7556","0.3770","-2258.9662","6.1803"), [62,88] => AMEdata(8261.6235,0.0074,true,"7986.7556","0.3770","-2258.9662","6.1803"), +"Eu150" => AMEdata(8241.3481,0.0415,true,"6422.3707","7.2138","971.6815","3.5428"), [63,87] => AMEdata(8241.3481,0.0415,true,"6422.3707","7.2138","971.6815","3.5428"), +"Gd150" => AMEdata(8242.6103,0.0404,true,"8708.1959","6.7470","-4658.2621","8.3784"), [64,86] => AMEdata(8242.6103,0.0404,true,"8708.1959","6.7470","-4658.2621","8.3784"), +"Tb150" => AMEdata(8206.3396,0.0491,true,"7688.4674","8.0487","-1796.1707","8.3886"), [65,85] => AMEdata(8206.3396,0.0491,true,"7688.4674","8.0487","-1796.1707","8.3886"), +"Dy150" => AMEdata(8189.1495,0.0288,true,"9686.9460","9.9805","-7363.7264","14.4629"), [66,84] => AMEdata(8189.1495,0.0288,true,"9686.9460","9.9805","-7363.7264","14.4629"), +"Ho150" => AMEdata(8134.8423,0.0945,true,"8371.3562","18.5474","-4114.5689","13.5910"), [67,83] => AMEdata(8134.8423,0.0945,true,"8371.3562","18.5474","-4114.5689","13.5910"), +"Er150" => AMEdata(8102.1962,0.1146,true,"12161.0201","32.8109","-11340#","196#"), [68,82] => AMEdata(8102.1962,0.1146,true,"12161.0201","32.8109","-11340#","196#"), +"Tm150" => AMEdata(8021,1,false,"10622#","280#","-7661#","358#"), [69,81] => AMEdata(8021,1,false,"10622#","280#","-7661#","358#"), +"Yb150" => AMEdata(7965,2,false,"13572#","424#","-14059#","424#"), [70,80] => AMEdata(7965,2,false,"13572#","424#","-14059#","424#"), +"Lu150" => AMEdata(7866,2,false,"*","","*",""), [71,79] => AMEdata(7866,2,false,"*","","*",""), +"Cs151" => AMEdata(8013,3,false,"4181#","640#","10660#","640#"), [55,96] => AMEdata(8013,3,false,"4181#","640#","10660#","640#"), +"Ba151" => AMEdata(8079,3,false,"3121#","400#","8370#","591#"), [56,95] => AMEdata(8079,3,false,"3121#","400#","8370#","591#"), +"La151" => AMEdata(8129.0436,2.8839,true,"5070.5098","435.4808","7914.7191","435.8330"), [57,94] => AMEdata(8129.0436,2.8839,true,"5070.5098","435.4808","7914.7191","435.8330"), +"Ce151" => AMEdata(8176.2779,0.1172,true,"4449.5134","21.2143","5554.6233","21.1885"), [58,93] => AMEdata(8176.2779,0.1172,true,"4449.5134","21.2143","5554.6233","21.1885"), +"Pr151" => AMEdata(8207.8824,0.0772,true,"6550.4904","14.7279","4163.5021","11.6789"), [59,92] => AMEdata(8207.8824,0.0772,true,"6550.4904","14.7279","4163.5021","11.6789"), +"Nd151" => AMEdata(8230.2741,0.0075,true,"5334.5503","0.0964","2443.0767","4.4734"), [60,91] => AMEdata(8230.2741,0.0075,true,"5334.5503","0.0964","2443.0767","4.4734"), +"Pm151" => AMEdata(8241.2723,0.0305,true,"7860.2426","20.4945","1190.2198","4.4757"), [61,90] => AMEdata(8241.2723,0.0305,true,"7860.2426","20.4945","1190.2198","4.4757"), +"Sm151" => AMEdata(8243.9735,0.0074,true,"5596.4623","0.1087","76.6182","0.5375"), [62,89] => AMEdata(8243.9735,0.0074,true,"5596.4623","0.1087","76.6182","0.5375"), +"Eu151" => AMEdata(8239.2998,0.0077,true,"7932.0467","6.1782","-464.1779","2.7791"), [63,88] => AMEdata(8239.2998,0.0077,true,"7932.0467","6.1782","-464.1779","2.7791"), +"Gd151" => AMEdata(8231.0446,0.0198,true,"6496.1874","6.6098","-2565.3796","3.7615"), [64,87] => AMEdata(8231.0446,0.0198,true,"6496.1874","6.6098","-2565.3796","3.7615"), +"Tb151" => AMEdata(8208.8743,0.0271,true,"8589.0699","8.3146","-2871.1525","4.9455"), [65,86] => AMEdata(8208.8743,0.0271,true,"8589.0699","8.3146","-2871.1525","4.9455"), +"Dy151" => AMEdata(8184.6789,0.0215,true,"7514.0880","5.0259","-5129.6421","8.7507"), [66,85] => AMEdata(8184.6789,0.0215,true,"7514.0880","5.0259","-5129.6421","8.7507"), +"Ho151" => AMEdata(8145.5267,0.0550,true,"9748.1723","16.3549","-5356.4558","18.4420"), [67,84] => AMEdata(8145.5267,0.0550,true,"9748.1723","16.3549","-5356.4558","18.4420"), +"Er151" => AMEdata(8104.8723,0.1091,true,"8506.2854","23.8096","-7494.6768","25.4292"), [68,83] => AMEdata(8104.8723,0.1091,true,"8506.2854","23.8096","-7494.6768","25.4292"), +"Tm151" => AMEdata(8050.0576,0.1283,true,"12352#","197#","-9229.2615","300.1329"), [69,82] => AMEdata(8050.0576,0.1283,true,"12352#","197#","-9229.2615","300.1329"), +"Yb151" => AMEdata(7983.7556,1.9900,true,"10783#","425#","-11242#","425#"), [70,81] => AMEdata(7983.7556,1.9900,true,"10783#","425#","-11242#","425#"), +"Lu151" => AMEdata(7904,2,false,"13600#","424#","*",""), [71,80] => AMEdata(7904,2,false,"13600#","424#","*",""), +"Cs152" => AMEdata(7980,3,false,"2921#","707#","12480#","640#"), [55,97] => AMEdata(7980,3,false,"2921#","707#","12480#","640#"), +"Ba152" => AMEdata(8057,3,false,"4741#","565#","7680#","500#"), [56,96] => AMEdata(8057,3,false,"4741#","565#","7680#","500#"), +"La152" => AMEdata(8102,2,false,"4051#","529#","9690#","361#"), [57,95] => AMEdata(8102,2,false,"4051#","529#","9690#","361#"), +"Ce152" => AMEdata(8161,1,false,"5827#","201#","4778#","201#"), [58,94] => AMEdata(8161,1,false,"5827#","201#","4778#","201#"), +"Pr152" => AMEdata(8187.1049,0.1220,true,"5049.7067","21.8936","6391.5934","30.7035"), [59,93] => AMEdata(8187.1049,0.1220,true,"5049.7067","21.8936","6391.5934","30.7035"), +"Nd152" => AMEdata(8224.0078,0.1610,true,"7277.7980","24.4551","1104.8050","18.5011"), [60,92] => AMEdata(8224.0078,0.1610,true,"7277.7980","24.4551","1104.8050","18.5011"), +"Pm152" => AMEdata(8226.1293,0.1704,true,"5939.5263","26.2690","3508.5089","25.8859"), [61,91] => AMEdata(8226.1293,0.1704,true,"5939.5263","26.2690","3508.5089","25.8859"), +"Sm152" => AMEdata(8244.0645,0.0067,true,"8257.8154","0.6056","-1874.4774","0.6857"), [62,90] => AMEdata(8244.0645,0.0067,true,"8257.8154","0.6056","-1874.4774","0.6857"), +"Eu152" => AMEdata(8226.5854,0.0077,true,"6306.7198","0.0997","1818.8037","0.7002"), [63,89] => AMEdata(8226.5854,0.0077,true,"6306.7198","0.0997","1818.8037","0.7002"), +"Gd152" => AMEdata(8233.4042,0.0066,true,"8589.7014","2.8537","-3990.0000","40.0000"), [64,88] => AMEdata(8233.4042,0.0066,true,"8589.7014","2.8537","-3990.0000","40.0000"), +"Tb152" => AMEdata(8202.0072,0.2632,true,"7165.0810","40.2006","-599.3405","40.2575"), [65,87] => AMEdata(8202.0072,0.2632,true,"7165.0810","40.2006","-599.3405","40.2575"), +"Dy152" => AMEdata(8192.9171,0.0302,true,"9436.8931","5.2407","-6513.3275","13.3176"), [66,86] => AMEdata(8192.9171,0.0302,true,"9436.8931","5.2407","-6513.3275","13.3176"), +"Ho152" => AMEdata(8144.9193,0.0824,true,"8053.2077","15.0163","-3104.4174","9.8150"), [67,85] => AMEdata(8144.9193,0.0824,true,"8053.2077","15.0163","-3104.4174","9.8150"), +"Er152" => AMEdata(8119.3485,0.0581,true,"10305.2462","18.6873","-8779.9397","54.7434"), [68,84] => AMEdata(8119.3485,0.0581,true,"10305.2462","18.6873","-8779.9397","54.7434"), +"Tm152" => AMEdata(8056.4387,0.3554,true,"9019.9833","57.3957","-5449.8923","139.6200"), [69,83] => AMEdata(8056.4387,0.3554,true,"9019.9833","57.3957","-5449.8923","139.6200"), +"Yb152" => AMEdata(8015.4371,0.9849,true,"12799.3524","335.7205","-12848#","246#"), [70,82] => AMEdata(8015.4371,0.9849,true,"12799.3524","335.7205","-12848#","246#"), +"Lu152" => AMEdata(7926,1,false,"11193#","358#","*",""), [71,81] => AMEdata(7926,1,false,"11193#","358#","*",""), +"Ba153" => AMEdata(8023,3,false,"2931#","565#","9590#","500#"), [56,97] => AMEdata(8023,3,false,"2931#","565#","9590#","500#"), +"La153" => AMEdata(8081,2,false,"4841#","424#","8850#","361#"), [57,96] => AMEdata(8081,2,false,"4841#","424#","8850#","361#"), +"Ce153" => AMEdata(8134,1,false,"4001#","283#","6659#","201#"), [58,95] => AMEdata(8134,1,false,"4001#","283#","6659#","201#"), +"Pr153" => AMEdata(8172.0371,0.0777,true,"5881.7376","22.0179","5761.8901","12.1896"), [59,94] => AMEdata(8172.0371,0.0777,true,"5881.7376","22.0179","5761.8901","12.1896"), +"Nd153" => AMEdata(8204.5832,0.0180,true,"5252.0343","24.6298","3317.6236","9.3521"), [60,93] => AMEdata(8204.5832,0.0180,true,"5252.0343","24.6298","3317.6236","9.3521"), +"Pm153" => AMEdata(8221.1536,0.0592,true,"7464.8529","27.4318","1912.0559","9.0829"), [61,92] => AMEdata(8221.1536,0.0592,true,"7464.8529","27.4318","1912.0559","9.0829"), +"Sm153" => AMEdata(8228.5373,0.0067,true,"5868.4000","0.1342","807.4073","0.7063"), [62,91] => AMEdata(8228.5373,0.0067,true,"5868.4000","0.1342","807.4073","0.7063"), +"Eu153" => AMEdata(8228.7011,0.0077,true,"8550.2846","0.1198","-484.5225","0.7150"), [63,90] => AMEdata(8228.7011,0.0077,true,"8550.2846","0.1198","-484.5225","0.7150"), +"Gd153" => AMEdata(8220.4209,0.0066,true,"6246.9584","0.1293","-1569.3340","3.8444"), [64,89] => AMEdata(8220.4209,0.0066,true,"6246.9584","0.1293","-1569.3340","3.8444"), +"Tb153" => AMEdata(8205.0504,0.0258,true,"8667.6245","40.1844","-2170.4134","1.9335"), [65,88] => AMEdata(8205.0504,0.0258,true,"8667.6245","40.1844","-2170.4134","1.9335"), +"Dy153" => AMEdata(8185.7514,0.0262,true,"7096.5515","5.8796","-4131.1229","6.1571"), [66,87] => AMEdata(8185.7514,0.0262,true,"7096.5515","5.8796","-4131.1229","6.1571"), +"Ho153" => AMEdata(8153.6372,0.0331,true,"9478.7561","13.4579","-4545.3918","9.8899"), [67,86] => AMEdata(8153.6372,0.0331,true,"9478.7561","13.4579","-4545.3918","9.8899"), +"Er153" => AMEdata(8118.8154,0.0607,true,"8037.7816","12.2067","-6494.0723","12.8812"), [68,85] => AMEdata(8118.8154,0.0607,true,"8037.7816","12.2067","-6494.0723","12.8812"), +"Tm153" => AMEdata(8071.2571,0.0783,true,"10323.6491","55.3388","-6813#","201#"), [69,84] => AMEdata(8071.2571,0.0783,true,"10323.6491","55.3388","-6813#","201#"), +"Yb153" => AMEdata(8022,1,false,"8961#","250#","-8784#","250#"), [70,83] => AMEdata(8022,1,false,"8961#","250#","-8784#","250#"), +"Lu153" => AMEdata(7959.0882,0.9805,true,"13025#","247#","-11075#","335#"), [71,82] => AMEdata(7959.0882,0.9805,true,"13025#","247#","-11075#","335#"), +"Hf153" => AMEdata(7882,2,false,"*","","*",""), [72,81] => AMEdata(7882,2,false,"*","","*",""), +"Ba154" => AMEdata(8001,3,false,"4521#","640#","8610#","583#"), [56,98] => AMEdata(8001,3,false,"4521#","640#","8610#","583#"), +"La154" => AMEdata(8051,2,false,"3541#","424#","10690#","361#"), [57,97] => AMEdata(8051,2,false,"3541#","424#","10690#","361#"), +"Ce154" => AMEdata(8116,1,false,"5381#","283#","5640#","224#"), [58,96] => AMEdata(8116,1,false,"5381#","283#","5640#","224#"), +"Pr154" => AMEdata(8147.2994,0.6494,true,"4362.4307","100.7086","7720.0000","100.0000"), [59,95] => AMEdata(8147.2994,0.6494,true,"4362.4307","100.7086","7720.0000","100.0000"), +"Nd154" => AMEdata(8192.3491,0.0067,true,"6320.5407","2.9319","2687.0000","25.0000"), [60,94] => AMEdata(8192.3491,0.0067,true,"6320.5407","2.9319","2687.0000","25.0000"), +"Pm154" => AMEdata(8204.7170,0.1625,true,"5689.9170","26.6118","4188.9614","25.0550"), [61,93] => AMEdata(8204.7170,0.1625,true,"5689.9170","26.6118","4188.9614","25.0550"), +"Sm154" => AMEdata(8226.8379,0.0085,true,"7966.8226","0.8460","-717.1969","1.1019"), [62,92] => AMEdata(8226.8379,0.0085,true,"7966.8226","0.8460","-717.1969","1.1019"), +"Eu154" => AMEdata(8217.1006,0.0077,true,"6442.2184","0.2384","1967.9913","0.7535"), [63,91] => AMEdata(8217.1006,0.0077,true,"6442.2184","0.2384","1967.9913","0.7535"), +"Gd154" => AMEdata(8224.7996,0.0065,true,"8894.7322","0.1651","-3549.6514","45.2983"), [64,90] => AMEdata(8224.7996,0.0065,true,"8894.7322","0.1651","-3549.6514","45.2983"), +"Tb154" => AMEdata(8196.6697,0.2942,true,"6914.4147","45.4614","237.3080","45.9008"), [65,89] => AMEdata(8196.6697,0.2942,true,"6914.4147","45.4614","237.3080","45.9008"), +"Dy154" => AMEdata(8193.1305,0.0483,true,"9322.1361","8.3398","-5754.6363","10.1785"), [66,88] => AMEdata(8193.1305,0.0483,true,"9322.1361","8.3398","-5754.6363","10.1785"), +"Ho154" => AMEdata(8150.6825,0.0534,true,"7698.6227","9.5110","-2034.4045","9.4621"), [67,87] => AMEdata(8150.6825,0.0534,true,"7698.6227","9.5110","-2034.4045","9.4621"), +"Er154" => AMEdata(8132.3919,0.0322,true,"10209.6100","10.3669","-8177.8316","14.9113"), [68,86] => AMEdata(8132.3919,0.0322,true,"10209.6100","10.3669","-8177.8316","14.9113"), +"Tm154" => AMEdata(8074.2090,0.0936,true,"8525.8508","18.7306","-4495.0495","13.9528"), [69,85] => AMEdata(8074.2090,0.0936,true,"8525.8508","18.7306","-4495.0495","13.9528"), +"Yb154" => AMEdata(8039.9402,0.1122,true,"10844#","201#","-10265#","201#"), [70,84] => AMEdata(8039.9402,0.1122,true,"10844#","201#","-10265#","201#"), +"Lu154" => AMEdata(7968,1,false,"9363#","251#","-6937#","361#"), [71,83] => AMEdata(7968,1,false,"9363#","251#","-6937#","361#"), +"Hf154" => AMEdata(7918,2,false,"13501#","424#","*",""), [72,82] => AMEdata(7918,2,false,"13501#","424#","*",""), +"La155" => AMEdata(8028,3,false,"4472#","500#","9850#","500#"), [57,98] => AMEdata(8028,3,false,"4472#","500#","9850#","500#"), +"Ce155" => AMEdata(8087,2,false,"3632#","361#","7635#","300#"), [58,97] => AMEdata(8087,2,false,"3632#","361#","7635#","300#"), +"Pr155" => AMEdata(8131.0398,0.1110,true,"5627.0511","101.4732","6868.4609","19.4725"), [59,96] => AMEdata(8131.0398,0.1110,true,"5627.0511","101.4732","6868.4609","19.4725"), +"Nd155" => AMEdata(8170.3050,0.0591,true,"4775.5119","9.2108","4656.2095","10.2781"), [60,95] => AMEdata(8170.3050,0.0591,true,"4775.5119","9.2108","4656.2095","10.2781"), +"Pm155" => AMEdata(8195.2977,0.0304,true,"6744.7215","25.4620","3251.1999","4.9024"), [61,94] => AMEdata(8195.2977,0.0304,true,"6744.7215","25.4620","3251.1999","4.9024"), +"Sm155" => AMEdata(8211.2258,0.0086,true,"5806.9600","0.2683","1627.1314","1.2016"), [62,93] => AMEdata(8211.2258,0.0086,true,"5806.9600","0.2683","1627.1314","1.2016"), +"Eu155" => AMEdata(8216.6760,0.0081,true,"8151.2882","0.3996","251.9612","0.8682"), [63,92] => AMEdata(8216.6760,0.0081,true,"8151.2882","0.3996","251.9612","0.8682"), +"Gd155" => AMEdata(8213.2541,0.0063,true,"6435.2581","0.1820","-819.8588","9.7884"), [64,91] => AMEdata(8213.2541,0.0063,true,"6435.2581","0.1820","-819.8588","9.7884"), +"Tb155" => AMEdata(8202.9173,0.0634,true,"9165.0508","46.3442","-2094.5000","1.8974"), [65,90] => AMEdata(8202.9173,0.0634,true,"9165.0508","46.3442","-2094.5000","1.8974"), +"Dy155" => AMEdata(8184.3570,0.0622,true,"6833.2427","12.1290","-3116.1405","16.5887"), [66,89] => AMEdata(8184.3570,0.0622,true,"6833.2427","12.1290","-3116.1405","16.5887"), +"Ho155" => AMEdata(8159.2055,0.1127,true,"9471.7385","19.2873","-3830.6268","18.4730"), [67,88] => AMEdata(8159.2055,0.1127,true,"9471.7385","19.2873","-3830.6268","18.4730"), +"Er155" => AMEdata(8129.4444,0.0392,true,"7675.5163","7.5897","-5583.2509","11.5109"), [68,87] => AMEdata(8129.4444,0.0392,true,"7675.5163","7.5897","-5583.2509","11.5109"), +"Tm155" => AMEdata(8088.3760,0.0640,true,"10270.0969","17.4368","-6123.3072","19.3388"), [69,86] => AMEdata(8088.3760,0.0640,true,"10270.0969","17.4368","-6123.3072","19.3388"), +"Yb155" => AMEdata(8043.8234,0.1071,true,"8641.8392","23.9623","-7957.5578","25.4153"), [70,85] => AMEdata(8043.8234,0.1071,true,"8641.8392","23.9623","-7957.5578","25.4153"), +"Lu155" => AMEdata(7987.4369,0.1242,true,"10950#","202#","-8235#","301#"), [71,84] => AMEdata(7987.4369,0.1242,true,"10950#","202#","-8235#","301#"), +"Hf155" => AMEdata(7929,2,false,"9651#","424#","-10322#","424#"), [72,83] => AMEdata(7929,2,false,"9651#","424#","-10322#","424#"), +"Ta155" => AMEdata(7858,2,false,"*","","*",""), [73,82] => AMEdata(7858,2,false,"*","","*",""), +"La156" => AMEdata(7997,3,false,"3191#","565#","11769#","500#"), [57,99] => AMEdata(7997,3,false,"3191#","565#","11769#","500#"), +"Ce156" => AMEdata(8068,2,false,"5111#","424#","6630#","300#"), [58,98] => AMEdata(8068,2,false,"5111#","424#","6630#","300#"), +"Pr156" => AMEdata(8105.2337,0.0066,true,"4105.2897","17.2284","8752.8229","1.6585"), [59,97] => AMEdata(8105.2337,0.0066,true,"4105.2897","17.2284","8752.8229","1.6585"), +"Nd156" => AMEdata(8156.3265,0.0084,true,"5989.6518","9.2460","3964.7175","1.7642"), [60,96] => AMEdata(8156.3265,0.0084,true,"5989.6518","9.2460","3964.7175","1.7642"), +"Pm156" => AMEdata(8176.7263,0.0076,true,"5298.1598","4.8608","5193.8878","8.6044"), [61,95] => AMEdata(8176.7263,0.0076,true,"5298.1598","4.8608","5193.8878","8.6044"), +"Sm156" => AMEdata(8205.0054,0.0546,true,"7240.8477","8.5047","722.1090","7.9025"), [62,94] => AMEdata(8205.0054,0.0546,true,"7240.8477","8.5047","722.1090","7.9025"), +"Eu156" => AMEdata(8204.6192,0.0226,true,"6335.8253","3.3947","2452.4891","3.4083"), [63,93] => AMEdata(8204.6192,0.0226,true,"6335.8253","3.3947","2452.4891","3.4083"), +"Gd156" => AMEdata(8215.3253,0.0063,true,"8536.3531","0.0656","-2444.3230","3.6774"), [64,92] => AMEdata(8215.3253,0.0063,true,"8536.3531","0.0656","-2444.3230","3.6774"), +"Tb156" => AMEdata(8194.6415,0.0242,true,"6911.8890","10.4551","438.3762","3.6789"), [65,91] => AMEdata(8194.6415,0.0242,true,"6911.8890","10.4551","438.3762","3.6789"), +"Dy156" => AMEdata(8192.4366,0.0063,true,"9444.7652","9.6020","-4990.9836","38.4111"), [66,90] => AMEdata(8192.4366,0.0063,true,"9444.7652","9.6020","-4990.9836","38.4111"), +"Ho156" => AMEdata(8155.4280,0.2463,true,"7569.9221","42.1946","-1326.7201","45.6391"), [67,89] => AMEdata(8155.4280,0.2463,true,"7569.9221","42.1946","-1326.7201","45.6391"), +"Er156" => AMEdata(8141.9084,0.1579,true,"10073.8288","25.3638","-7377.2657","26.7099"), [68,88] => AMEdata(8141.9084,0.1579,true,"10073.8288","25.3638","-7377.2657","26.7099"), +"Tm156" => AMEdata(8089.6032,0.0915,true,"8279.8139","17.3779","-3568.8794","12.5484"), [69,87] => AMEdata(8089.6032,0.0915,true,"8279.8139","17.3779","-3568.8794","12.5484"), +"Yb156" => AMEdata(8061.7107,0.0597,true,"10834.2418","19.0313","-9565.9880","54.9162"), [70,86] => AMEdata(8061.7107,0.0597,true,"10834.2418","19.0313","-9565.9880","54.9162"), +"Lu156" => AMEdata(7995.3752,0.3469,true,"9225.8116","57.4416","-5880.0352","139.6908"), [71,85] => AMEdata(7995.3752,0.3469,true,"9225.8116","57.4416","-5880.0352","139.6908"), +"Hf156" => AMEdata(7952.6676,0.9599,true,"11581#","335#","-11819#","335#"), [72,84] => AMEdata(7952.6676,0.9599,true,"11581#","335#","-11819#","335#"), +"Ta156" => AMEdata(7872,2,false,"10084#","424#","*",""), [73,83] => AMEdata(7872,2,false,"10084#","424#","*",""), +"La157" => AMEdata(7972,2,false,"4091#","500#","10860#","500#"), [57,100] => AMEdata(7972,2,false,"4091#","500#","10860#","500#"), +"Ce157" => AMEdata(8037,3,false,"3182#","500#","8504#","400#"), [58,99] => AMEdata(8037,3,false,"3182#","500#","8504#","400#"), +"Pr157" => AMEdata(8085.8170,0.0202,true,"5056.8168","3.3287","8059.3109","3.8207"), [59,98] => AMEdata(8085.8170,0.0202,true,"5056.8168","3.3287","8059.3109","3.8207"), +"Nd157" => AMEdata(8132.1671,0.0136,true,"4363.3048","2.5036","5802.9994","7.3246"), [60,97] => AMEdata(8132.1671,0.0136,true,"4363.3048","2.5036","5802.9994","7.3246"), +"Pm157" => AMEdata(8164.1458,0.0446,true,"6201.5866","7.1027","4380.5376","8.2650"), [61,96] => AMEdata(8164.1458,0.0446,true,"6201.5866","7.1027","4380.5376","8.2650"), +"Sm157" => AMEdata(8187.0642,0.0282,true,"5388.2364","9.6060","2781.4807","6.1191"), [62,95] => AMEdata(8187.0642,0.0282,true,"5388.2364","9.6060","2781.4807","6.1191"), +"Eu157" => AMEdata(8199.7975,0.0270,true,"7447.6081","5.3516","1364.7614","4.1973"), [63,94] => AMEdata(8199.7975,0.0270,true,"7447.6081","5.3516","1364.7614","4.1973"), +"Gd157" => AMEdata(8203.5072,0.0062,true,"6359.8805","0.1490","-60.0473","0.2972"), [64,93] => AMEdata(8203.5072,0.0062,true,"6359.8805","0.1490","-60.0473","0.2972"), +"Tb157" => AMEdata(8198.1416,0.0065,true,"8744.1561","3.6890","-1339.1791","5.1297"), [65,92] => AMEdata(8198.1416,0.0065,true,"8744.1561","3.6890","-1339.1791","5.1297"), +"Dy157" => AMEdata(8184.6287,0.0328,true,"6966.6008","5.1212","-2591.8068","23.7839"), [66,91] => AMEdata(8184.6287,0.0328,true,"6966.6008","5.1212","-2591.8068","23.7839"), +"Ho157" => AMEdata(8163.1373,0.1495,true,"9365.7776","45.0210","-3419.2146","33.6675"), [67,90] => AMEdata(8163.1373,0.1495,true,"9365.7776","45.0210","-3419.2146","33.6675"), +"Er157" => AMEdata(8136.3757,0.1688,true,"7273.2831","36.1814","-4704.3690","38.5152"), [68,89] => AMEdata(8136.3757,0.1688,true,"7273.2831","36.1814","-4704.3690","38.5152"), +"Tm157" => AMEdata(8101.4285,0.1780,true,"9946.1799","31.3814","-5289.3667","29.9971"), [69,88] => AMEdata(8101.4285,0.1780,true,"9946.1799","31.3814","-5289.3667","29.9971"), +"Yb157" => AMEdata(8062.7551,0.0695,true,"8225.6925","13.7282","-6980.0942","14.2406"), [70,87] => AMEdata(8062.7551,0.0695,true,"8225.6925","13.7282","-6980.0942","14.2406"), +"Lu157" => AMEdata(8013.3128,0.0769,true,"10811.5863","55.4521","-7585#","201#"), [71,86] => AMEdata(8013.3128,0.0769,true,"10811.5863","55.4521","-7585#","201#"), +"Hf157" => AMEdata(7960,1,false,"9107#","250#","-9259#","250#"), [72,85] => AMEdata(7960,1,false,"9107#","250#","-9259#","250#"), +"Ta157" => AMEdata(7896.0608,0.9557,true,"11666#","335#","-9906#","427#"), [73,84] => AMEdata(7896.0608,0.9557,true,"11666#","335#","-9906#","427#"), +"W157" => AMEdata(7828,3,false,"*","","*",""), [74,83] => AMEdata(7828,3,false,"*","","*",""), +"Ce158" => AMEdata(8015,3,false,"4681#","565#","7610#","500#"), [58,100] => AMEdata(8015,3,false,"4681#","565#","7610#","500#"), +"Pr158" => AMEdata(8059,2,false,"3787#","300#","9685#","300#"), [59,99] => AMEdata(8059,2,false,"3787#","300#","9685#","300#"), +"Nd158" => AMEdata(8114.9529,0.0083,true,"5412.3248","2.5036","5271.0196","1.5776"), [60,98] => AMEdata(8114.9529,0.0083,true,"5412.3248","2.5036","5271.0196","1.5776"), +"Pm158" => AMEdata(8143.3622,0.0056,true,"4880.3450","7.0620","6145.7062","4.8634"), [61,97] => AMEdata(8143.3622,0.0056,true,"4880.3450","7.0620","6145.7062","4.8634"), +"Sm158" => AMEdata(8177.3075,0.0303,true,"6645.5135","6.4893","2018.6123","5.1146"), [62,96] => AMEdata(8177.3075,0.0303,true,"6645.5135","6.4893","2018.6123","5.1146"), +"Eu158" => AMEdata(8185.1320,0.0129,true,"5882.6452","4.6967","3419.5081","2.2547"), [63,95] => AMEdata(8185.1320,0.0129,true,"5882.6452","4.6967","3419.5081","2.2547"), +"Gd158" => AMEdata(8201.8229,0.0062,true,"7937.3919","0.0646","-1219.0862","0.9799"), [64,94] => AMEdata(8201.8229,0.0062,true,"7937.3919","0.0646","-1219.0862","0.9799"), +"Tb158" => AMEdata(8189.1556,0.0080,true,"6778.3531","1.0099","936.2686","2.4750"), [65,93] => AMEdata(8189.1556,0.0080,true,"6778.3531","1.0099","936.2686","2.4750"), +"Dy158" => AMEdata(8190.1298,0.0148,true,"9053.8008","5.1246","-4219.7555","27.0048"), [66,92] => AMEdata(8190.1298,0.0148,true,"9053.8008","5.1246","-4219.7555","27.0048"), +"Ho158" => AMEdata(8158.4709,0.1716,true,"7425.8521","35.8364","-883.5812","37.0236"), [67,91] => AMEdata(8158.4709,0.1716,true,"7425.8521","35.8364","-883.5812","37.0236"), +"Er158" => AMEdata(8147.9270,0.1596,true,"9961.4856","36.5859","-6600.6151","31.3411"), [68,90] => AMEdata(8147.9270,0.1596,true,"9961.4856","36.5859","-6600.6151","31.3411"), +"Tm158" => AMEdata(8101.1994,0.1596,true,"8065.2394","37.6422","-2693.5796","26.4499"), [69,89] => AMEdata(8101.1994,0.1596,true,"8065.2394","37.6422","-2693.5796","26.4499"), +"Yb158" => AMEdata(8079.1999,0.0505,true,"10661.0265","13.3914","-8797.4201","16.8655"), [70,88] => AMEdata(8079.1999,0.0505,true,"10661.0265","13.3914","-8797.4201","16.8655"), +"Lu158" => AMEdata(8018.5685,0.0957,true,"8843.7006","19.3435","-5109.8010","14.9373"), [71,87] => AMEdata(8018.5685,0.0957,true,"8843.7006","19.3435","-5109.8010","14.9373"), +"Hf158" => AMEdata(7981.2764,0.1107,true,"11319#","201#","-10984#","201#"), [72,86] => AMEdata(7981.2764,0.1107,true,"11319#","201#","-10984#","201#"), +"Ta158" => AMEdata(7907,1,false,"9594#","251#","-7426#","361#"), [73,85] => AMEdata(7907,1,false,"9594#","251#","-7426#","361#"), +"W158" => AMEdata(7855,2,false,"12074#","500#","*",""), [74,84] => AMEdata(7855,2,false,"12074#","500#","*",""), +"Ce159" => AMEdata(7983,3,false,"2872#","640#","9430#","640#"), [58,101] => AMEdata(7983,3,false,"2872#","640#","9430#","640#"), +"Pr159" => AMEdata(8037,3,false,"4691#","500#","8954#","401#"), [59,100] => AMEdata(8037,3,false,"4691#","500#","8954#","401#"), +"Nd159" => AMEdata(8088.8224,0.1875,true,"3960.2019","29.8363","6830.3441","31.4529"), [60,99] => AMEdata(8088.8224,0.1875,true,"3960.2019","29.8363","6830.3441","31.4529"), +"Pm159" => AMEdata(8126.8601,0.0631,true,"5519.5264","10.0779","5653.4982","11.6438"), [61,98] => AMEdata(8126.8601,0.0631,true,"5519.5264","10.0779","5653.4982","11.6438"), +"Sm159" => AMEdata(8157.4963,0.0373,true,"5027.3184","7.5945","3835.5363","7.3211"), [62,97] => AMEdata(8157.4963,0.0373,true,"5027.3184","7.5945","3835.5363","7.3211"), +"Eu159" => AMEdata(8176.6987,0.0272,true,"6844.2424","4.7737","2518.4717","4.3657"), [63,96] => AMEdata(8176.6987,0.0272,true,"6844.2424","4.7737","2518.4717","4.3657"), +"Gd159" => AMEdata(8187.6177,0.0062,true,"5943.2059","0.0848","970.7242","0.7495"), [64,95] => AMEdata(8187.6177,0.0062,true,"5943.2059","0.0848","970.7242","0.7495"), +"Tb159" => AMEdata(8188.8025,0.0069,true,"8133.0163","0.6383","-365.3613","1.1573"), [65,94] => AMEdata(8188.8025,0.0069,true,"8133.0163","0.6383","-365.3613","1.1573"), +"Dy159" => AMEdata(8181.5842,0.0091,true,"6831.3864","2.5866","-1837.6000","2.6833"), [66,93] => AMEdata(8181.5842,0.0091,true,"6831.3864","2.5866","-1837.6000","2.6833"), +"Ho159" => AMEdata(8165.1066,0.0192,true,"9213.5419","27.2607","-2768.5000","2.0000"), [67,92] => AMEdata(8165.1066,0.0192,true,"9213.5419","27.2607","-2768.5000","2.0000"), +"Er159" => AMEdata(8142.7742,0.0229,true,"7328.6230","25.4812","-3990.7162","28.1813"), [68,91] => AMEdata(8142.7742,0.0229,true,"7328.6230","25.4812","-3990.7162","28.1813"), +"Tm159" => AMEdata(8112.7549,0.1758,true,"9938.5220","37.6422","-4736.8869","33.0155"), [69,90] => AMEdata(8112.7549,0.1758,true,"9938.5220","37.6422","-4736.8869","33.0155"), +"Yb159" => AMEdata(8078.0428,0.1106,true,"7895.2146","19.1878","-6124.9081","41.5648"), [70,89] => AMEdata(8078.0428,0.1106,true,"7895.2146","19.1878","-6124.9081","41.5648"), +"Lu159" => AMEdata(8034.6009,0.2369,true,"10567.7267","40.5866","-6856.0030","41.2456"), [71,88] => AMEdata(8034.6009,0.2369,true,"10567.7267","40.5866","-6856.0030","41.2456"), +"Hf159" => AMEdata(7986.5610,0.1057,true,"8821.5247","24.2631","-8413.4492","25.8909"), [72,87] => AMEdata(7986.5610,0.1057,true,"8821.5247","24.2631","-8413.4492","25.8909"), +"Ta159" => AMEdata(7928.7258,0.1238,true,"11392#","202#","-9005#","301#"), [73,86] => AMEdata(7928.7258,0.1238,true,"11392#","202#","-9005#","301#"), +"W159" => AMEdata(7867,2,false,"9813#","424#","-10629#","427#"), [74,85] => AMEdata(7867,2,false,"9813#","424#","-10629#","427#"), +"Re159" => AMEdata(7795,2,false,"*","","*",""), [75,84] => AMEdata(7795,2,false,"*","","*",""), +"Pr160" => AMEdata(8009,2,false,"3501#","565#","10525#","402#"), [59,101] => AMEdata(8009,2,false,"3501#","565#","10525#","402#"), +"Nd160" => AMEdata(8069.9662,0.2911,true,"5071.8259","55.2966","6170.1238","46.6198"), [60,100] => AMEdata(8069.9662,0.2911,true,"5071.8259","55.2966","6170.1238","46.6198"), +"Pm160" => AMEdata(8103.6398,0.0128,true,"4411.6056","10.2459","7338.5338","2.8330"), [61,99] => AMEdata(8103.6398,0.0128,true,"4411.6056","10.2459","7338.5338","2.8330"), +"Sm160" => AMEdata(8144.6159,0.0122,true,"6096.6411","6.2478","3260.2763","2.1547"), [62,98] => AMEdata(8144.6159,0.0122,true,"6096.6411","6.2478","3260.2763","2.1547"), +"Eu160" => AMEdata(8160.1030,0.0057,true,"5521.3811","4.4135","4448.6112","1.4417"), [63,97] => AMEdata(8160.1030,0.0057,true,"5521.3811","4.4135","4448.6112","1.4417"), +"Gd160" => AMEdata(8183.0171,0.0070,true,"7451.5206","0.7346","-105.5863","1.0207"), [64,96] => AMEdata(8183.0171,0.0070,true,"7451.5206","0.7346","-105.5863","1.0207"), +"Tb160" => AMEdata(8177.4676,0.0069,true,"6375.2101","0.1336","1835.9516","1.1011"), [65,95] => AMEdata(8177.4676,0.0069,true,"6375.2101","0.1336","1835.9516","1.1011"), +"Dy160" => AMEdata(8184.0526,0.0044,true,"8576.5231","1.3908","-3290.0000","15.0000"), [66,94] => AMEdata(8184.0526,0.0044,true,"8576.5231","1.3908","-3290.0000","15.0000"), +"Ho160" => AMEdata(8158.6004,0.0939,true,"7124.1231","15.3014","-318.2488","28.5197"), [67,93] => AMEdata(8158.6004,0.0939,true,"7124.1231","15.3014","-318.2488","28.5197"), +"Er160" => AMEdata(8151.7217,0.1515,true,"9574.3743","24.5184","-5763.1395","39.1333"), [68,92] => AMEdata(8151.7217,0.1515,true,"9574.3743","24.5184","-5763.1395","39.1333"), +"Tm160" => AMEdata(8110.8124,0.2043,true,"7801.9510","43.0032","-2137.8101","33.1447"), [69,91] => AMEdata(8110.8124,0.2043,true,"7801.9510","43.0032","-2137.8101","33.1447"), +"Yb160" => AMEdata(8092.5614,0.0343,true,"10401.0278","18.4205","-7893.2846","57.0863"), [70,90] => AMEdata(8092.5614,0.0343,true,"10401.0278","18.4205","-7893.2846","57.0863"), +"Lu160" => AMEdata(8038.3387,0.3551,true,"8632.6513","68.1701","-4331.1951","57.6165"), [71,89] => AMEdata(8038.3387,0.3551,true,"8632.6513","68.1701","-4331.1951","57.6165"), +"Hf160" => AMEdata(8006.3791,0.0596,true,"11157.4592","19.3311","-10115.0475","55.1472"), [72,88] => AMEdata(8006.3791,0.0596,true,"11157.4592","19.3311","-10115.0475","55.1472"), +"Ta160" => AMEdata(7938.2704,0.3395,true,"9455.8609","57.7742","-6494.6267","139.8413"), [73,87] => AMEdata(7938.2704,0.3395,true,"9455.8609","57.7742","-6494.6267","139.8413"), +"W160" => AMEdata(7892.7893,0.9363,true,"11966#","335#","-12451#","335#"), [74,86] => AMEdata(7892.7893,0.9363,true,"11966#","335#","-12451#","335#"), +"Re160" => AMEdata(7810,2,false,"10145#","427#","*",""), [75,85] => AMEdata(7810,2,false,"10145#","427#","*",""), +"Pr161" => AMEdata(7986,3,false,"4361#","640#","9741#","640#"), [59,102] => AMEdata(7986,3,false,"4361#","640#","9741#","640#"), +"Nd161" => AMEdata(8042,2,false,"3577#","402#","7856#","400#"), [60,101] => AMEdata(8042,2,false,"3577#","402#","7856#","400#"), +"Pm161" => AMEdata(8085.9977,0.0561,true,"5263.2683","9.2650","6585.4546","11.3187"), [61,100] => AMEdata(8085.9977,0.0561,true,"5263.2683","9.2650","6585.4546","11.3187"), +"Sm161" => AMEdata(8122.0418,0.0423,true,"4510.1891","7.0922","5119.5577","12.4147"), [62,99] => AMEdata(8122.0418,0.0423,true,"4510.1891","7.0922","5119.5577","12.4147"), +"Eu161" => AMEdata(8148.9810,0.0646,true,"6369.4705","10.4387","3714.5406","10.5074"), [63,98] => AMEdata(8148.9810,0.0646,true,"6369.4705","10.4387","3714.5406","10.5074"), +"Gd161" => AMEdata(8167.1934,0.0093,true,"5635.4000","1.0000","1955.6357","1.4402"), [64,97] => AMEdata(8167.1934,0.0093,true,"5635.4000","1.0000","1955.6357","1.4402"), +"Tb161" => AMEdata(8174.4809,0.0076,true,"7696.6220","0.5498","593.7166","1.2010"), [65,96] => AMEdata(8174.4809,0.0076,true,"7696.6220","0.5498","593.7166","1.2010"), +"Dy161" => AMEdata(8173.3093,0.0043,true,"6454.3869","0.0757","-859.2003","2.1368"), [66,95] => AMEdata(8173.3093,0.0043,true,"6454.3869","0.0757","-859.2003","2.1368"), +"Ho161" => AMEdata(8163.1134,0.0134,true,"8885.1867","15.1512","-1994.9954","9.0041"), [67,94] => AMEdata(8163.1134,0.0134,true,"8885.1867","15.1512","-1994.9954","9.0041"), +"Er161" => AMEdata(8145.8628,0.0545,true,"7208.4401","25.7851","-3302.5839","29.2899"), [68,93] => AMEdata(8145.8628,0.0545,true,"7208.4401","25.7851","-3302.5839","29.2899"), +"Tm161" => AMEdata(8120.4906,0.1736,true,"9668.9957","43.0032","-4064.4665","31.7640"), [69,92] => AMEdata(8120.4906,0.1736,true,"9668.9957","43.0032","-4064.4665","31.7640"), +"Yb161" => AMEdata(8090.3861,0.0938,true,"7742.3393","16.0699","-5271.8989","31.7640"), [70,91] => AMEdata(8090.3861,0.0938,true,"7742.3393","16.0699","-5271.8989","31.7640"), +"Lu161" => AMEdata(8052.7821,0.1736,true,"10363.7250","63.3210","-6246.5319","36.4805"), [71,90] => AMEdata(8052.7821,0.1736,true,"10363.7250","63.3210","-6246.5319","36.4805"), +"Hf161" => AMEdata(8009.1245,0.1457,true,"8448.3882","25.2515","-7537.2421","33.7278"), [72,89] => AMEdata(8009.1245,0.1457,true,"8448.3882","25.2515","-7537.2421","33.7278"), +"Ta161" => AMEdata(7957.4500,0.1514,true,"11026.1935","59.5370","-8272#","202#"), [73,88] => AMEdata(7957.4500,0.1514,true,"11026.1935","59.5370","-8272#","202#"), +"W161" => AMEdata(7901,1,false,"9249#","250#","-9664#","250#"), [74,87] => AMEdata(7901,1,false,"9249#","250#","-9664#","250#"), +"Re161" => AMEdata(7836.3292,0.9311,true,"12036#","335#","-10647#","427#"), [75,86] => AMEdata(7836.3292,0.9311,true,"12036#","335#","-10647#","427#"), +"Os161" => AMEdata(7765,2,false,"*","","*",""), [76,85] => AMEdata(7765,2,false,"*","","*",""), +"Nd162" => AMEdata(8022,2,false,"4851#","565#","7030#","500#"), [60,102] => AMEdata(8022,2,false,"4851#","565#","7030#","500#"), +"Pm162" => AMEdata(8061,2,false,"4025#","300#","8339#","300#"), [61,101] => AMEdata(8061,2,false,"4025#","300#","8339#","300#"), +"Sm162" => AMEdata(8107.5745,0.0218,true,"5778.3280","7.6738","4343.8905","3.7605"), [62,100] => AMEdata(8107.5745,0.0218,true,"5778.3280","7.6738","4343.8905","3.7605"), +"Eu162" => AMEdata(8129.5593,0.0081,true,"5002.6608","10.4822","5557.7761","4.1748"), [63,99] => AMEdata(8129.5593,0.0081,true,"5002.6608","10.4822","5557.7761","4.1748"), +"Gd162" => AMEdata(8159.0373,0.0245,true,"6845.8963","3.9294","1598.8278","4.4611"), [64,98] => AMEdata(8159.0373,0.0245,true,"6845.8963","3.9294","1598.8278","4.4611"), +"Tb162" => AMEdata(8164.0773,0.0127,true,"6489.0883","2.3841","2301.6217","2.1640"), [65,97] => AMEdata(8164.0773,0.0127,true,"6489.0883","2.3841","2301.6217","2.1640"), +"Dy162" => AMEdata(8173.4555,0.0043,true,"8196.9934","0.0600","-2140.6068","3.0926"), [66,96] => AMEdata(8173.4555,0.0043,true,"8196.9934","0.0600","-2140.6068","3.0926"), +"Ho162" => AMEdata(8155.4126,0.0192,true,"6915.5869","3.6063","293.6478","3.1069"), [67,95] => AMEdata(8155.4126,0.0192,true,"6915.5869","3.6063","293.6478","3.1069"), +"Er162" => AMEdata(8152.3959,0.0047,true,"9204.2301","8.7416","-4856.7282","26.0475"), [68,94] => AMEdata(8152.3959,0.0047,true,"9204.2301","8.7416","-4856.7282","26.0475"), +"Tm162" => AMEdata(8117.5868,0.1609,true,"7650.0857","38.2094","-1656.3190","30.1127"), [69,93] => AMEdata(8117.5868,0.1609,true,"7650.0857","38.2094","-1656.3190","30.1127"), +"Yb162" => AMEdata(8102.5333,0.0932,true,"10058.2332","21.1452","-6989.4042","76.5406"), [70,92] => AMEdata(8102.5333,0.0932,true,"10058.2332","21.1452","-6989.4042","76.5406"), +"Lu162" => AMEdata(8054.5596,0.4632,true,"8340.7279","80.0705","-3663.3333","75.5679"), [71,91] => AMEdata(8054.5596,0.4632,true,"8340.7279","80.0705","-3663.3333","75.5679"), +"Hf162" => AMEdata(8027.1171,0.0553,true,"10923.9265","25.0900","-9387.0211","63.8938"), [72,90] => AMEdata(8027.1171,0.0553,true,"10923.9265","25.0900","-9387.0211","63.8938"), +"Ta162" => AMEdata(7964.3432,0.3909,true,"9074.1475","67.8524","-5782.1880","63.3235"), [73,89] => AMEdata(7964.3432,0.3909,true,"9074.1475","67.8524","-5782.1880","63.3235"), +"W162" => AMEdata(7923.8214,0.1090,true,"11564#","201#","-11546#","201#"), [74,88] => AMEdata(7923.8214,0.1090,true,"11564#","201#","-11546#","201#"), +"Re162" => AMEdata(7848,1,false,"9681#","250#","-7953#","361#"), [75,87] => AMEdata(7848,1,false,"9681#","250#","-7953#","361#"), +"Os162" => AMEdata(7794,2,false,"12375#","500#","*",""), [76,86] => AMEdata(7794,2,false,"12375#","500#","*",""), +"Nd163" => AMEdata(7992,3,false,"3141#","640#","8880#","640#"), [60,103] => AMEdata(7992,3,false,"3141#","640#","8880#","640#"), +"Pm163" => AMEdata(8042,2,false,"4991#","500#","7640#","400#"), [61,102] => AMEdata(8042,2,false,"4991#","500#","7640#","400#"), +"Sm163" => AMEdata(8084.1653,0.0451,true,"4291.8762","8.1588","5974.2073","7.4141"), [62,101] => AMEdata(8084.1653,0.0451,true,"4291.8762","8.1588","5974.2073","7.4141"), +"Eu163" => AMEdata(8116.0172,0.0056,true,"5922.1930","1.5947","4814.7720","1.2046"), [63,100] => AMEdata(8116.0172,0.0056,true,"5922.1930","1.5947","4814.7720","1.2046"), +"Gd163" => AMEdata(8140.7560,0.0049,true,"5179.1889","4.0419","3207.1628","4.1374"), [64,99] => AMEdata(8140.7560,0.0049,true,"5179.1889","4.0419","3207.1628","4.1374"), +"Tb163" => AMEdata(8155.6322,0.0249,true,"6787.5239","4.5478","1785.1041","4.0006"), [65,98] => AMEdata(8155.6322,0.0249,true,"6787.5239","4.5478","1785.1041","4.0006"), +"Dy163" => AMEdata(8161.7840,0.0043,true,"6271.0063","0.0466","-2.8309","0.0222"), [66,97] => AMEdata(8161.7840,0.0043,true,"6271.0063","0.0466","-2.8309","0.0222"), +"Ho163" => AMEdata(8156.9670,0.0043,true,"8408.7822","3.0926","-1210.6141","4.5755"), [67,96] => AMEdata(8156.9670,0.0043,true,"8408.7822","3.0926","-1210.6141","4.5755"), +"Er163" => AMEdata(8144.7403,0.0284,true,"6904.5204","4.5813","-2439.0000","3.0000"), [68,95] => AMEdata(8144.7403,0.0284,true,"6904.5204","4.5813","-2439.0000","3.0000"), +"Tm163" => AMEdata(8124.9774,0.0338,true,"9322.2486","26.6169","-3434.5345","16.0687"), [69,94] => AMEdata(8124.9774,0.0338,true,"9322.2486","26.6169","-3434.5345","16.0687"), +"Yb163" => AMEdata(8099.1069,0.0927,true,"7544.0330","21.1452","-4502.4636","31.7657"), [70,93] => AMEdata(8099.1069,0.0927,true,"7544.0330","21.1452","-4502.4636","31.7657"), +"Lu163" => AMEdata(8066.6848,0.1714,true,"10030.9736","80.0705","-5522.0944","37.9611"), [71,92] => AMEdata(8066.6848,0.1714,true,"10030.9736","80.0705","-5522.0944","37.9611"), +"Hf163" => AMEdata(8028.0072,0.1576,true,"8172.2126","27.2078","-6734.6864","45.9217"), [72,91] => AMEdata(8028.0072,0.1576,true,"8172.2126","27.2078","-6734.6864","45.9217"), +"Ta163" => AMEdata(7981.8905,0.2335,true,"10824.5473","73.8810","-7626.1952","69.7301"), [73,90] => AMEdata(7981.8905,0.2335,true,"10824.5473","73.8810","-7626.1952","69.7301"), +"W163" => AMEdata(7930.3043,0.3584,true,"8980.5400","61.0360","-8906.1859","61.2953"), [74,89] => AMEdata(7930.3043,0.3584,true,"8980.5400","61.0360","-8906.1859","61.2953"), +"Re163" => AMEdata(7870.8655,0.1137,true,"11621#","201#","-9666#","301#"), [75,88] => AMEdata(7870.8655,0.1137,true,"11621#","201#","-9666#","301#"), +"Os163" => AMEdata(7807,2,false,"9908#","424#","-11026#","500#"), [76,87] => AMEdata(7807,2,false,"9908#","424#","-11026#","500#"), +"Ir163" => AMEdata(7734,2,false,"*","","*",""), [77,86] => AMEdata(7734,2,false,"*","","*",""), +"Pm164" => AMEdata(8014,2,false,"3472#","565#","9565#","400#"), [61,103] => AMEdata(8014,2,false,"3472#","565#","9565#","400#"), +"Sm164" => AMEdata(8067.7803,0.0250,true,"5397.0210","8.4232","5306.8315","4.5907"), [62,102] => AMEdata(8067.7803,0.0250,true,"5397.0210","8.4232","5306.8315","4.5907"), +"Eu164" => AMEdata(8095.3686,0.0126,true,"4729.6452","2.2566","6461.5416","2.2969"), [63,101] => AMEdata(8095.3686,0.0126,true,"4729.6452","2.2566","6461.5416","2.2969"), +"Gd164" => AMEdata(8129.9978,0.0061,true,"6376.4148","1.2784","2411.2959","2.1143"), [64,100] => AMEdata(8129.9978,0.0061,true,"6376.4148","1.2784","2411.2959","2.1143"), +"Tb164" => AMEdata(8139.9304,0.0114,true,"5580.5479","4.4670","3862.6653","1.9884"), [65,99] => AMEdata(8139.9304,0.0114,true,"5580.5479","4.4670","3862.6653","1.9884"), +"Dy164" => AMEdata(8158.7129,0.0042,true,"7658.1091","0.0698","-987.1315","1.3710"), [66,98] => AMEdata(8158.7129,0.0042,true,"7658.1091","0.0698","-987.1315","1.3710"), +"Ho164" => AMEdata(8147.9234,0.0085,true,"6673.8085","1.3692","962.0559","1.3756"), [67,97] => AMEdata(8147.9234,0.0085,true,"6673.8085","1.3692","962.0559","1.3756"), +"Er164" => AMEdata(8149.0191,0.0043,true,"8846.4785","4.5766","-4033.6302","25.0113"), [68,96] => AMEdata(8149.0191,0.0043,true,"8846.4785","4.5766","-4033.6302","25.0113"), +"Tm164" => AMEdata(8119.6534,0.1525,true,"7251.8483","25.6026","-896.7722","29.2135"), [69,95] => AMEdata(8119.6534,0.1525,true,"7251.8483","25.6026","-896.7722","29.2135"), +"Yb164" => AMEdata(8109.4149,0.0921,true,"9789.6105","21.1452","-6369.7952","31.7666"), [70,94] => AMEdata(8109.4149,0.0921,true,"9789.6105","21.1452","-6369.7952","31.7666"), +"Lu164" => AMEdata(8065.8043,0.1704,true,"7922.2790","39.5199","-2824.0194","32.1083"), [71,93] => AMEdata(8065.8043,0.1704,true,"7922.2790","39.5199","-2824.0194","32.1083"), +"Hf164" => AMEdata(8043.8142,0.0964,true,"10620.3539","30.1687","-8535.5511","32.1083"), [72,92] => AMEdata(8043.8142,0.0964,true,"10620.3539","30.1687","-8535.5511","32.1083"), +"Ta164" => AMEdata(7986.9978,0.1704,true,"8819.4892","47.2185","-5047.2500","29.5717"), [73,91] => AMEdata(7986.9978,0.1704,true,"8819.4892","47.2185","-5047.2500","29.5717"), +"W164" => AMEdata(7951.4515,0.0590,true,"11398.4345","59.2214","-10763.1138","55.4055"), [74,90] => AMEdata(7951.4515,0.0590,true,"11398.4345","59.2214","-10763.1138","55.4055"), +"Re164" => AMEdata(7881.0523,0.3326,true,"9541.5065","57.6170","-7047.7180","140.0330"), [75,89] => AMEdata(7881.0523,0.3326,true,"9541.5065","57.6170","-7047.7180","140.0330"), +"Os164" => AMEdata(7833.3080,0.9140,true,"12160#","335#","-12941#","350#"), [76,88] => AMEdata(7833.3080,0.9140,true,"12160#","335#","-12941#","350#"), +"Ir164" => AMEdata(7750,2,false,"10244#","510#","*",""), [77,87] => AMEdata(7750,2,false,"10244#","510#","*",""), +"Pm165" => AMEdata(7992,3,false,"4382#","640#","8840#","640#"), [61,104] => AMEdata(7992,3,false,"4382#","640#","8840#","640#"), +"Sm165" => AMEdata(8041,2,false,"3656#","400#","7219#","400#"), [62,103] => AMEdata(8041,2,false,"3656#","400#","7219#","400#"), +"Eu165" => AMEdata(8080.0529,0.0316,true,"5568.2753","5.6078","5796.6788","5.3733"), [63,102] => AMEdata(8080.0529,0.0316,true,"5568.2753","5.6078","5796.6788","5.3733"), +"Gd165" => AMEdata(8110.4428,0.0079,true,"4903.4126","1.6432","4063.0674","2.0189"), [64,101] => AMEdata(8110.4428,0.0079,true,"4903.4126","1.6432","4063.0674","2.0189"), +"Tb165" => AMEdata(8130.3259,0.0093,true,"6555.1841","2.4178","3023.4392","1.6915"), [65,100] => AMEdata(8130.3259,0.0093,true,"6555.1841","2.4178","3023.4392","1.6915"), +"Dy165" => AMEdata(8143.9083,0.0042,true,"5715.9580","0.0537","1285.7287","0.7502"), [66,99] => AMEdata(8143.9083,0.0042,true,"5715.9580","0.0537","1285.7287","0.7502"), +"Ho165" => AMEdata(8146.9591,0.0048,true,"7988.8182","1.1479","-376.6648","0.9575"), [67,98] => AMEdata(8146.9591,0.0048,true,"7988.8182","1.1479","-376.6648","0.9575"), +"Er165" => AMEdata(8139.9348,0.0056,true,"6650.0975","0.5878","-1591.3282","1.4891"), [68,97] => AMEdata(8139.9348,0.0056,true,"6650.0975","0.5878","-1591.3282","1.4891"), +"Tm165" => AMEdata(8125.5489,0.0101,true,"9092.3994","25.0562","-2634.6364","26.5907"), [69,96] => AMEdata(8125.5489,0.0101,true,"9092.3994","25.0562","-2634.6364","26.5907"), +"Yb165" => AMEdata(8104.8399,0.1608,true,"7354.5352","30.5372","-3853.1403","35.4324"), [70,95] => AMEdata(8104.8399,0.1608,true,"7354.5352","30.5372","-3853.1403","35.4324"), +"Lu165" => AMEdata(8076.7460,0.1608,true,"9871.1901","38.5387","-4806.7350","38.5387"), [71,94] => AMEdata(8076.7460,0.1608,true,"9871.1901","38.5387","-4806.7350","38.5387"), +"Hf165" => AMEdata(8042.8728,0.1694,true,"7888.4745","32.1083","-5787.6410","31.0668"), [72,93] => AMEdata(8042.8728,0.1694,true,"7888.4745","32.1083","-5787.6410","31.0668"), +"Ta165" => AMEdata(8003.0547,0.0823,true,"10636.3847","31.0668","-6986.5555","29.1133"), [73,92] => AMEdata(8003.0547,0.0823,true,"10636.3847","31.0668","-6986.5555","29.1133"), +"W165" => AMEdata(7955.9704,0.1561,true,"8697.0792","27.5016","-8201.9627","34.9116"), [74,91] => AMEdata(7955.9704,0.1561,true,"8697.0792","27.5016","-8201.9627","34.9116"), +"Re165" => AMEdata(7901.5201,0.1430,true,"11258.2303","59.4377","-8913#","202#"), [75,90] => AMEdata(7901.5201,0.1430,true,"11258.2303","59.4377","-8913#","202#"), +"Os165" => AMEdata(7843,1,false,"9393#","250#","-10151#","255#"), [76,89] => AMEdata(7843,1,false,"9393#","250#","-10151#","255#"), +"Ir165" => AMEdata(7776,1,false,"12183#","354#","-11277#","430#"), [77,88] => AMEdata(7776,1,false,"12183#","354#","-11277#","430#"), +"Pt165" => AMEdata(7703,2,false,"*","","*",""), [78,87] => AMEdata(7703,2,false,"*","","*",""), +"Sm166" => AMEdata(8023,2,false,"5011#","565#","6299#","412#"), [62,104] => AMEdata(8023,2,false,"5011#","565#","6299#","412#"), +"Eu166" => AMEdata(8056,1,false,"4091#","100#","7622#","100#"), [63,103] => AMEdata(8056,1,false,"4091#","100#","7622#","100#"), +"Gd166" => AMEdata(8097.2260,0.0095,true,"5916.4620","2.0514","3437.8515","2.1558"), [64,102] => AMEdata(8097.2260,0.0095,true,"5916.4620","2.0514","3437.8515","2.1558"), +"Tb166" => AMEdata(8113.2230,0.0088,true,"5291.2462","2.1248","4775.6930","1.6690"), [65,101] => AMEdata(8113.2230,0.0088,true,"5291.2462","2.1248","4775.6930","1.6690"), +"Dy166" => AMEdata(8137.2793,0.0048,true,"7043.5000","0.4000","485.8684","0.8502"), [66,100] => AMEdata(8137.2793,0.0048,true,"7043.5000","0.4000","485.8684","0.8502"), +"Ho166" => AMEdata(8135.4933,0.0047,true,"6243.6397","0.0200","1853.8057","0.7792"), [67,99] => AMEdata(8135.4933,0.0047,true,"6243.6397","0.0200","1853.8057","0.7792"), +"Er166" => AMEdata(8141.9479,0.0020,true,"8474.1101","0.9506","-3037.6667","11.5470"), [68,98] => AMEdata(8141.9479,0.0020,true,"8474.1101","0.9506","-3037.6667","11.5470"), +"Tm166" => AMEdata(8118.9357,0.0696,true,"7027.7717","11.6699","-292.7714","13.5069"), [69,97] => AMEdata(8118.9357,0.0696,true,"7027.7717","11.6699","-292.7714","13.5069"), +"Yb166" => AMEdata(8112.4591,0.0422,true,"9369.6367","27.4468","-5572.7197","30.6189"), [70,96] => AMEdata(8112.4591,0.0422,true,"9369.6367","27.4468","-5572.7197","30.6189"), +"Lu166" => AMEdata(8074.1756,0.1796,true,"7650.0573","39.9102","-2161.9978","40.8585"), [71,95] => AMEdata(8074.1756,0.1796,true,"7650.0573","39.9102","-2161.9978","40.8585"), +"Hf166" => AMEdata(8056.4386,0.1683,true,"10294.7945","39.5199","-7761.2089","39.5199"), [72,94] => AMEdata(8056.4386,0.1683,true,"10294.7945","39.5199","-7761.2089","39.5199"), +"Ta166" => AMEdata(8004.9714,0.1683,true,"8321.2266","31.0668","-4210.3092","29.5036"), [73,93] => AMEdata(8004.9714,0.1683,true,"8321.2266","31.0668","-4210.3092","29.5036"), +"W166" => AMEdata(7974.8951,0.0570,true,"11097.4729","27.4374","-10050.1358","88.7072"), [74,92] => AMEdata(7974.8951,0.0570,true,"11097.4729","27.4374","-10050.1358","88.7072"), +"Re166" => AMEdata(7909.6392,0.5316,true,"9249.2997","91.3399","-6405.8090","88.3046"), [75,91] => AMEdata(7909.6392,0.5316,true,"9249.2997","91.3399","-6405.8090","88.3046"), +"Os166" => AMEdata(7866.3371,0.1082,true,"11756#","201#","-12126#","201#"), [76,90] => AMEdata(7866.3371,0.1082,true,"11756#","201#","-12126#","201#"), +"Ir166" => AMEdata(7789,1,false,"9782#","255#","-8523#","361#"), [77,89] => AMEdata(7789,1,false,"9782#","255#","-8523#","361#"), +"Pt166" => AMEdata(7733,2,false,"12536#","500#","*",""), [78,88] => AMEdata(7733,2,false,"12536#","500#","*",""), +"Sm167" => AMEdata(7992,3,false,"2951#","640#","8440#","640#"), [62,105] => AMEdata(7992,3,false,"2951#","640#","8440#","640#"), +"Eu167" => AMEdata(8038,2,false,"5092#","412#","7006#","400#"), [63,104] => AMEdata(8038,2,false,"5092#","412#","7006#","400#"), +"Gd167" => AMEdata(8075.5428,0.0312,true,"4476.1239","5.4480","5107.3505","5.5584"), [64,103] => AMEdata(8075.5428,0.0312,true,"4476.1239","5.4480","5107.3505","5.5584"), +"Tb167" => AMEdata(8101.4410,0.0116,true,"6145.6228","2.4212","4028.3686","4.4459"), [65,102] => AMEdata(8101.4410,0.0116,true,"6145.6228","2.4212","4028.3686","4.4459"), +"Dy167" => AMEdata(8120.8782,0.0240,true,"5398.2985","4.0853","2368.0076","6.5549"), [66,101] => AMEdata(8120.8782,0.0240,true,"5398.2985","4.0853","2368.0076","6.5549"), +"Ho167" => AMEdata(8130.3732,0.0311,true,"7280.4377","5.2505","1009.7971","5.1890"), [67,100] => AMEdata(8130.3732,0.0311,true,"7280.4377","5.2505","1009.7971","5.1890"), +"Er167" => AMEdata(8131.7352,0.0017,true,"6436.4291","0.1787","-746.1392","1.2633"), [68,99] => AMEdata(8131.7352,0.0017,true,"6436.4291","0.1787","-746.1392","1.2633"), +"Tm167" => AMEdata(8122.5826,0.0075,true,"8727.9566","11.6144","-1953.2162","3.7968"), [69,98] => AMEdata(8122.5826,0.0075,true,"8727.9566","11.6144","-1953.2162","3.7968"), +"Yb167" => AMEdata(8106.2020,0.0237,true,"7067.5119","8.0427","-3063.6190","37.4696"), [70,97] => AMEdata(8106.2020,0.0237,true,"7067.5119","8.0427","-3063.6190","37.4696"), +"Lu167" => AMEdata(8083.1722,0.2231,true,"9576.6125","47.7158","-4058.5198","46.5747"), [71,96] => AMEdata(8083.1722,0.2231,true,"9576.6125","47.7158","-4058.5198","46.5747"), +"Hf167" => AMEdata(8054.1850,0.1673,true,"7680.0905","39.5199","-5116.6971","39.5199"), [72,95] => AMEdata(8054.1850,0.1673,true,"7680.0905","39.5199","-5116.6971","39.5199"), +"Ta167" => AMEdata(8018.8614,0.1673,true,"10324.6023","39.5199","-6257.8523","33.6262"), [73,94] => AMEdata(8018.8614,0.1673,true,"10324.6023","39.5199","-6257.8523","33.6262"), +"W167" => AMEdata(7976.7045,0.1120,true,"8277.0592","20.9609","-7259#","44#"), [74,93] => AMEdata(7976.7045,0.1120,true,"8277.0592","20.9609","-7259#","44#"), +"Re167" => AMEdata(7929,0,false,"11068#","97#","-8335#","90#"), [75,92] => AMEdata(7929,0,false,"11068#","97#","-8335#","90#"), +"Os167" => AMEdata(7873.9557,0.4844,true,"9138.6522","82.8632","-9426.4121","82.9464"), [76,91] => AMEdata(7873.9557,0.4844,true,"9138.6522","82.8632","-9426.4121","82.9464"), +"Ir167" => AMEdata(7812.8254,0.1099,true,"11838#","201#","-10319#","307#"), [77,90] => AMEdata(7812.8254,0.1099,true,"11838#","201#","-10319#","307#"), +"Pt167" => AMEdata(7746,2,false,"10042#","429#","*",""), [78,89] => AMEdata(7746,2,false,"10042#","429#","*",""), +"Sm168" => AMEdata(7971,2,false,"4382#","583#","7610#","500#"), [62,106] => AMEdata(7971,2,false,"4382#","583#","7610#","500#"), +"Eu168" => AMEdata(8012,2,false,"3552#","565#","8899#","500#"), [63,105] => AMEdata(8012,2,false,"3552#","565#","8899#","500#"), +"Gd168" => AMEdata(8060,2,false,"5445#","300#","4631#","300#"), [64,104] => AMEdata(8060,2,false,"5445#","300#","4631#","300#"), +"Tb168" => AMEdata(8082.7980,0.0250,true,"4969.4169","4.6144","5777.2167","140.0696"), [65,103] => AMEdata(8082.7980,0.0250,true,"4969.4169","4.6144","5777.2167","140.0696"), +"Dy168" => AMEdata(8112.5293,0.8334,true,"6718.2650","140.0642","1500.8333","143.1849"), [66,102] => AMEdata(8112.5293,0.8334,true,"6718.2650","140.0642","1500.8333","143.1849"), +"Ho168" => AMEdata(8116.8061,0.1786,true,"5851.0907","30.4452","2930.0000","30.0000"), [67,101] => AMEdata(8116.8061,0.1786,true,"5851.0907","30.4452","2930.0000","30.0000"), +"Er168" => AMEdata(8129.5897,0.0016,true,"7771.2936","0.1188","-1676.8526","1.6858"), [68,100] => AMEdata(8129.5897,0.0016,true,"7771.2936","0.1188","-1676.8526","1.6858"), +"Tm168" => AMEdata(8114.9516,0.0100,true,"6840.5801","1.8098","267.4880","1.6782"), [69,99] => AMEdata(8114.9516,0.0100,true,"6840.5801","1.8098","267.4880","1.6782"), +"Yb168" => AMEdata(8111.8870,0.0006,true,"9061.2843","3.9604","-4507.0351","37.9735"), [70,98] => AMEdata(8111.8870,0.0006,true,"9061.2843","3.9604","-4507.0351","37.9735"), +"Lu168" => AMEdata(8080.4026,0.2260,true,"7617.8683","53.2003","-1712.2740","47.1476"), [71,97] => AMEdata(8080.4026,0.2260,true,"7617.8683","53.2003","-1712.2740","47.1476"), +"Hf168" => AMEdata(8065.5536,0.1663,true,"9964.1141","39.5199","-6966.6444","39.5199"), [72,96] => AMEdata(8065.5536,0.1663,true,"9964.1141","39.5199","-6966.6444","39.5199"), +"Ta168" => AMEdata(8019.4287,0.1663,true,"8114.1668","39.5199","-3500.9828","30.9307"), [73,95] => AMEdata(8019.4287,0.1663,true,"8114.1668","39.5199","-3500.9828","30.9307"), +"W168" => AMEdata(7993.9327,0.0789,true,"10871.0363","22.9250","-9098.0411","33.5515"), [74,94] => AMEdata(7993.9327,0.0789,true,"10871.0363","22.9250","-9098.0411","33.5515"), +"Re168" => AMEdata(7935.1208,0.1835,true,"9032#","51#","-5799.8944","32.3727"), [75,93] => AMEdata(7935.1208,0.1835,true,"9032#","51#","-5799.8944","32.3727"), +"Os168" => AMEdata(7895.9408,0.0589,true,"11567.4525","81.4961","-11328.7644","56.0975"), [76,92] => AMEdata(7895.9408,0.0589,true,"11567.4525","81.4961","-11328.7644","56.0975"), +"Ir168" => AMEdata(7823.8509,0.3287,true,"9665.1002","58.1844","-7656.1526","140.3258"), [77,91] => AMEdata(7823.8509,0.3287,true,"9665.1002","58.1844","-7656.1526","140.3258"), +"Pt168" => AMEdata(7773.6217,0.8925,true,"12328#","341#","-13540#","427#"), [78,90] => AMEdata(7773.6217,0.8925,true,"12328#","341#","-13540#","427#"), +"Au168" => AMEdata(7688,2,false,"*","","*",""), [79,89] => AMEdata(7688,2,false,"*","","*",""), +"Eu169" => AMEdata(7991,3,false,"4481#","640#","8230#","640#"), [63,106] => AMEdata(7991,3,false,"4481#","640#","8230#","640#"), +"Gd169" => AMEdata(8035,2,false,"3812#","500#","6590#","500#"), [64,105] => AMEdata(8035,2,false,"3812#","500#","6590#","500#"), +"Tb169" => AMEdata(8069,2,false,"5771#","300#","5116#","425#"), [65,104] => AMEdata(8069,2,false,"5771#","300#","5116#","425#"), +"Dy169" => AMEdata(8094.7566,1.7791,true,"5108.9299","331.6625","3200.0000","300.0000"), [66,103] => AMEdata(8094.7566,1.7791,true,"5108.9299","331.6625","3200.0000","300.0000"), +"Ho169" => AMEdata(8109.0622,0.1186,true,"6808.0965","36.0820","2125.1534","20.0483"), [67,102] => AMEdata(8109.0622,0.1186,true,"6808.0965","36.0820","2125.1534","20.0483"), +"Er169" => AMEdata(8117.0078,0.0018,true,"6003.2500","0.1543","353.4910","0.7729"), [68,101] => AMEdata(8117.0078,0.0018,true,"6003.2500","0.1543","353.4910","0.7729"), +"Tm169" => AMEdata(8114.4702,0.0044,true,"8033.5936","1.5047","-899.1270","0.7563"), [69,100] => AMEdata(8114.4702,0.0044,true,"8033.5936","1.5047","-899.1270","0.7563"), +"Yb169" => AMEdata(8104.5206,0.0011,true,"6866.9786","0.1519","-2293.0000","3.0000"), [70,99] => AMEdata(8104.5206,0.0011,true,"6866.9786","0.1519","-2293.0000","3.0000"), +"Lu169" => AMEdata(8086.3233,0.0178,true,"9081.0137","38.0921","-3365.6321","28.1060"), [71,98] => AMEdata(8086.3233,0.0178,true,"9081.0137","38.0921","-3365.6321","28.1060"), +"Hf169" => AMEdata(8061.7791,0.1654,true,"7427.6556","39.5199","-4426.4600","39.5199"), [72,97] => AMEdata(8061.7791,0.1654,true,"7427.6556","39.5199","-4426.4600","39.5199"), +"Ta169" => AMEdata(8030.9577,0.1654,true,"9967.8401","39.5199","-5372.5686","31.9246"), [73,96] => AMEdata(8030.9577,0.1654,true,"9967.8401","39.5199","-5372.5686","31.9246"), +"W169" => AMEdata(7994.5381,0.0913,true,"8096.2543","20.3460","-6508.6195","19.1703"), [74,95] => AMEdata(7994.5381,0.0913,true,"8096.2543","20.3460","-6508.6195","19.1703"), +"Re169" => AMEdata(7951.3963,0.0673,true,"10685.6759","32.8506","-7686.2626","28.3218"), [75,94] => AMEdata(7951.3963,0.0673,true,"10685.6759","32.8506","-7686.2626","28.3218"), +"Os169" => AMEdata(7901.2862,0.1535,true,"8799.3077","27.7548","-8629.5684","34.8557"), [76,93] => AMEdata(7901.2862,0.1535,true,"8799.3077","27.7548","-8629.5684","34.8557"), +"Ir169" => AMEdata(7845.5944,0.1379,true,"11498.5037","59.9338","-9629#","202#"), [77,92] => AMEdata(7845.5944,0.1379,true,"11498.5037","59.9338","-9629#","202#"), +"Pt169" => AMEdata(7784,1,false,"9525#","250#","-10676#","359#"), [78,91] => AMEdata(7784,1,false,"9525#","250#","-10676#","359#"), +"Au169" => AMEdata(7716,2,false,"12390#","499#","*",""), [79,90] => AMEdata(7716,2,false,"12390#","499#","*",""), +"Eu170" => AMEdata(7963,3,false,"3271#","707#","9989#","707#"), [63,107] => AMEdata(7963,3,false,"3271#","707#","9989#","707#"), +"Gd170" => AMEdata(8017,3,false,"5031#","640#","5860#","583#"), [64,106] => AMEdata(8017,3,false,"5031#","640#","5860#","583#"), +"Tb170" => AMEdata(8047,2,false,"4301#","424#","7000#","361#"), [65,105] => AMEdata(8047,2,false,"4301#","424#","7000#","361#"), +"Dy170" => AMEdata(8084,1,false,"6185#","361#","2528#","206#"), [66,104] => AMEdata(8084,1,false,"6185#","361#","2528#","206#"), +"Ho170" => AMEdata(8093.7902,0.2942,true,"5512.8222","53.8516","3870.0000","50.0000"), [67,103] => AMEdata(8093.7902,0.2942,true,"5512.8222","53.8516","3870.0000","50.0000"), +"Er170" => AMEdata(8111.9529,0.0082,true,"7257.6687","1.3905","-312.1997","1.7852"), [68,102] => AMEdata(8111.9529,0.0082,true,"7257.6687","1.3905","-312.1997","1.7852"), +"Tm170" => AMEdata(8105.5144,0.0043,true,"6591.9780","0.1690","968.6148","0.7319"), [69,101] => AMEdata(8105.5144,0.0043,true,"6591.9780","0.1690","968.6148","0.7319"), +"Yb170" => AMEdata(8106.6101,0.0003,true,"8459.7197","0.1780","-3457.6950","16.8430"), [70,100] => AMEdata(8106.6101,0.0003,true,"8459.7197","0.1780","-3457.6950","16.8430"), +"Lu170" => AMEdata(8081.6686,0.0991,true,"7295.0247","17.1091","-1052.3734","32.6282"), [71,99] => AMEdata(8081.6686,0.0991,true,"7295.0247","17.1091","-1052.3734","32.6282"), +"Hf170" => AMEdata(8070.8762,0.1644,true,"9608.2833","39.5199","-6116.1903","39.5199"), [72,98] => AMEdata(8070.8762,0.1644,true,"9608.2833","39.5199","-6116.1903","39.5199"), +"Ta170" => AMEdata(8030.2965,0.1644,true,"7918.5530","39.5199","-2846.8656","30.9035"), [73,97] => AMEdata(8030.2965,0.1644,true,"7918.5530","39.5199","-2846.8656","30.9035"), +"W170" => AMEdata(8008.9482,0.0776,true,"10444.2561","20.3039","-8386.8083","17.4557"), [74,96] => AMEdata(8008.9482,0.0776,true,"10444.2561","20.3039","-8386.8083","17.4557"), +"Re170" => AMEdata(7955.0120,0.0672,true,"8566.0672","16.1195","-4978.3046","15.0274"), [75,95] => AMEdata(7955.0120,0.0672,true,"8566.0672","16.1195","-4978.3046","15.0274"), +"Os170" => AMEdata(7921.1258,0.0574,true,"11274.0252","27.7132","-10743#","102#"), [76,94] => AMEdata(7921.1258,0.0574,true,"11274.0252","27.7132","-10743#","102#"), +"Ir170" => AMEdata(7853,1,false,"9160#","104#","-6883#","102#"), [77,93] => AMEdata(7853,1,false,"9160#","104#","-6883#","102#"), +"Pt170" => AMEdata(7808.2365,0.1073,true,"11906#","201#","-12596#","202#"), [78,92] => AMEdata(7808.2365,0.1073,true,"11906#","201#","-12596#","202#"), +"Au170" => AMEdata(7730,1,false,"9986#","359#","-9119#","362#"), [79,91] => AMEdata(7730,1,false,"9986#","359#","-9119#","362#"), +"Hg170" => AMEdata(7671,2,false,"*","","*",""), [80,90] => AMEdata(7671,2,false,"*","","*",""), +"Gd171" => AMEdata(7990,3,false,"3432#","707#","7560#","640#"), [64,107] => AMEdata(7990,3,false,"3432#","707#","7560#","640#"), +"Tb171" => AMEdata(8030,2,false,"5132#","500#","6240#","447#"), [65,106] => AMEdata(8030,2,false,"5132#","500#","6240#","447#"), +"Dy171" => AMEdata(8062,1,false,"4371#","283#","4508#","633#"), [66,105] => AMEdata(8062,1,false,"4371#","283#","4508#","633#"), +"Ho171" => AMEdata(8083.6021,3.5088,true,"6351.6265","602.0798","3200.0000","600.0000"), [67,104] => AMEdata(8083.6021,3.5088,true,"6351.6265","602.0798","3200.0000","600.0000"), +"Er171" => AMEdata(8097.7404,0.0082,true,"5681.6265","0.3496","1492.4490","1.0788"), [68,103] => AMEdata(8097.7404,0.0082,true,"5681.6265","0.3496","1492.4490","1.0788"), +"Tm171" => AMEdata(8101.8931,0.0057,true,"7486.2753","1.1961","96.5468","0.9715"), [69,102] => AMEdata(8101.8931,0.0057,true,"7486.2753","1.1961","96.5468","0.9715"), +"Yb171" => AMEdata(8097.8826,0.0003,true,"6614.2073","0.0139","-1478.3526","1.8621"), [70,101] => AMEdata(8097.8826,0.0003,true,"6614.2073","0.0139","-1478.3526","1.8621"), +"Lu171" => AMEdata(8084.6621,0.0109,true,"8593.5498","16.9457","-2397.1144","28.9363"), [71,100] => AMEdata(8084.6621,0.0109,true,"8593.5498","16.9457","-2397.1144","28.9363"), +"Hf171" => AMEdata(8066.0687,0.1689,true,"7248.8088","40.1840","-3711.0725","40.1840"), [72,99] => AMEdata(8066.0687,0.1689,true,"7248.8088","40.1840","-3711.0725","40.1840"), +"Ta171" => AMEdata(8039.7914,0.1634,true,"9653.9265","39.5199","-4634.1832","39.5199"), [73,98] => AMEdata(8039.7914,0.1634,true,"9653.9265","39.5199","-4634.1832","39.5199"), +"W171" => AMEdata(8008.1158,0.1634,true,"7866.6090","30.9035","-5835.8106","39.5199"), [74,97] => AMEdata(8008.1158,0.1634,true,"7866.6090","30.9035","-5835.8106","39.5199"), +"Re171" => AMEdata(7969.4131,0.1634,true,"10417.6067","30.1911","-6953.0469","33.3748"), [75,96] => AMEdata(7969.4131,0.1634,true,"10417.6067","30.1911","-6953.0469","33.3748"), +"Os171" => AMEdata(7924.1769,0.1067,true,"8442.8644","20.6931","-7885.2079","42.5749"), [76,95] => AMEdata(7924.1769,0.1067,true,"8442.8644","20.6931","-7885.2079","42.5749"), +"Ir171" => AMEdata(7873.4895,0.2249,true,"11301#","108#","-8945.4613","89.6251"), [77,94] => AMEdata(7873.4895,0.2249,true,"11301#","108#","-8945.4613","89.6251"), +"Pt171" => AMEdata(7816.6017,0.4734,true,"9238.6846","82.9815","-9904.2655","83.5586"), [78,93] => AMEdata(7816.6017,0.4734,true,"9238.6846","82.9815","-9904.2655","83.5586"), +"Au171" => AMEdata(7754.1069,0.1211,true,"11930#","202#","-10901#","307#"), [79,92] => AMEdata(7754.1069,0.1211,true,"11930#","202#","-10901#","307#"), +"Hg171" => AMEdata(7686,2,false,"10148#","430#","*",""), [80,91] => AMEdata(7686,2,false,"10148#","430#","*",""), +"Gd172" => AMEdata(7972,2,false,"4832#","583#","6720#","583#"), [64,108] => AMEdata(7972,2,false,"4832#","583#","6720#","583#"), +"Tb172" => AMEdata(8006,3,false,"3991#","640#","8070#","583#"), [65,107] => AMEdata(8006,3,false,"3991#","640#","8070#","583#"), +"Dy172" => AMEdata(8049,2,false,"5821#","361#","3724#","358#"), [66,106] => AMEdata(8049,2,false,"5821#","361#","3724#","358#"), +"Ho172" => AMEdata(8066,1,false,"5037#","631#","4999#","196#"), [67,105] => AMEdata(8066,1,false,"5037#","631#","4999#","196#"), +"Er172" => AMEdata(8090.4052,0.0230,true,"6836.0741","3.7847","890.9756","4.5418"), [68,104] => AMEdata(8090.4052,0.0230,true,"6836.0741","3.7847","890.9756","4.5418"), +"Tm172" => AMEdata(8091.0367,0.0319,true,"6234.6007","5.4536","1881.9024","5.4814"), [69,103] => AMEdata(8091.0367,0.0319,true,"6234.6007","5.4536","1881.9024","5.4814"), +"Yb172" => AMEdata(8097.4295,0.0003,true,"8019.9563","0.0167","-2519.3805","2.3360"), [70,102] => AMEdata(8097.4295,0.0003,true,"8019.9563","0.0167","-2519.3805","2.3360"), +"Lu172" => AMEdata(8078.2334,0.0136,true,"6978.9284","2.6282","-333.8443","24.5396"), [71,101] => AMEdata(8078.2334,0.0136,true,"6978.9284","2.6282","-333.8443","24.5396"), +"Hf172" => AMEdata(8071.7439,0.1420,true,"9042.1985","37.8230","-5072.2490","37.1167"), [72,100] => AMEdata(8071.7439,0.1420,true,"9042.1985","37.8230","-5072.2490","37.1167"), +"Ta172" => AMEdata(8037.7056,0.1625,true,"7681.0220","39.5199","-2232.7914","39.5199"), [73,99] => AMEdata(8037.7056,0.1625,true,"7681.0220","39.5199","-2232.7914","39.5199"), +"W172" => AMEdata(8020.1757,0.1625,true,"10082.4138","39.5199","-7530.3525","45.2323"), [74,98] => AMEdata(8020.1757,0.1625,true,"10082.4138","39.5199","-7530.3525","45.2323"), +"Re172" => AMEdata(7971.8460,0.2068,true,"8387.8718","45.2323","-4323.1979","37.7890"), [75,97] => AMEdata(7971.8460,0.2068,true,"8387.8718","45.2323","-4323.1979","37.7890"), +"Os172" => AMEdata(7942.1626,0.0742,true,"11017.7208","22.2681","-9864.2673","34.8263"), [76,96] => AMEdata(7942.1626,0.0742,true,"11017.7208","22.2681","-9864.2673","34.8263"), +"Ir172" => AMEdata(7880.2637,0.1884,true,"9038.6614","50.2948","-6272.7035","34.0232"), [77,95] => AMEdata(7880.2637,0.1884,true,"9038.6614","50.2948","-6272.7035","34.0232"), +"Pt172" => AMEdata(7839.2460,0.0603,true,"11711.4192","81.6129","-11788.6592","57.1082"), [78,94] => AMEdata(7839.2460,0.0603,true,"11711.4192","81.6129","-11788.6592","57.1082"), +"Au172" => AMEdata(7766.1587,0.3265,true,"9827.0255","59.8558","-8256.6495","140.8350"), [79,93] => AMEdata(7766.1587,0.3265,true,"9827.0255","59.8558","-8256.6495","140.8350"), +"Hg172" => AMEdata(7713.6064,0.8725,true,"12472#","341#","*",""), [80,92] => AMEdata(7713.6064,0.8725,true,"12472#","341#","*",""), +"Tb173" => AMEdata(7988,3,false,"4891#","707#","7230#","640#"), [65,108] => AMEdata(7988,3,false,"4891#","707#","7230#","640#"), +"Dy173" => AMEdata(8026,2,false,"4052#","500#","5610#","499#"), [66,107] => AMEdata(8026,2,false,"4052#","500#","5610#","499#"), +"Ho173" => AMEdata(8054,2,false,"5938#","357#","4304#","357#"), [67,106] => AMEdata(8054,2,false,"5938#","357#","4304#","357#"), +"Er173" => AMEdata(8074,1,false,"5243#","196#","2602#","196#"), [68,105] => AMEdata(8074,1,false,"5243#","196#","2602#","196#"), +"Tm173" => AMEdata(8084.4633,0.0254,true,"6953.8314","7.0289","1295.1669","4.4000"), [69,104] => AMEdata(8084.4633,0.0254,true,"6953.8314","7.0289","1295.1669","4.4000"), +"Yb173" => AMEdata(8087.4276,0.0003,true,"6367.0959","0.0152","-670.2201","1.5674"), [70,103] => AMEdata(8087.4276,0.0003,true,"6367.0959","0.0152","-670.2201","1.5674"), +"Lu173" => AMEdata(8079.0312,0.0091,true,"8216.2563","2.2361","-1469.2244","27.9887"), [71,102] => AMEdata(8079.0312,0.0091,true,"8216.2563","2.2361","-1469.2244","27.9887"), +"Hf173" => AMEdata(8066.0164,0.1615,true,"7080.8762","37.1167","-3015.2464","39.5199"), [72,101] => AMEdata(8066.0164,0.1615,true,"7080.8762","37.1167","-3015.2464","39.5199"), +"Ta173" => AMEdata(8044.0650,0.1615,true,"9137.8788","39.5199","-3669.1553","39.5199"), [73,100] => AMEdata(8044.0650,0.1615,true,"9137.8788","39.5199","-3669.1553","39.5199"), +"W173" => AMEdata(8018.3337,0.1615,true,"7701.5149","39.5199","-5173.5182","39.5199"), [74,99] => AMEdata(8018.3337,0.1615,true,"7701.5149","39.5199","-5173.5182","39.5199"), +"Re173" => AMEdata(7983.9068,0.1615,true,"10058.3492","45.2323","-6115.6196","31.6968"), [75,98] => AMEdata(7983.9068,0.1615,true,"10058.3492","45.2323","-6115.6196","31.6968"), +"Os173" => AMEdata(7944.0341,0.0865,true,"8265.9275","19.6626","-7169.7944","18.2998"), [76,97] => AMEdata(7944.0341,0.0865,true,"8265.9275","19.6626","-7169.7944","18.2998"), +"Ir173" => AMEdata(7898.0680,0.0609,true,"10960.4004","34.0740","-8331.6974","64.3014"), [77,96] => AMEdata(7898.0680,0.0609,true,"10960.4004","34.0740","-8331.6974","64.3014"), +"Pt173" => AMEdata(7845.3856,0.3667,true,"8901.4066","64.2690","-9104.7415","67.3903"), [78,95] => AMEdata(7845.3856,0.3667,true,"8901.4066","64.2690","-9104.7415","67.3903"), +"Au173" => AMEdata(7788.2348,0.1317,true,"11585.3243","60.6032","-10171#","202#"), [79,94] => AMEdata(7788.2348,0.1317,true,"11585.3243","60.6032","-10171#","202#"), +"Hg173" => AMEdata(7725,1,false,"9671#","250#","*",""), [80,93] => AMEdata(7725,1,false,"9671#","250#","*",""), +"Tb174" => AMEdata(7963,3,false,"3531#","707#","9160#","707#"), [65,109] => AMEdata(7963,3,false,"3531#","707#","9160#","707#"), +"Dy174" => AMEdata(8011,3,false,"5461#","640#","4739#","583#"), [66,108] => AMEdata(8011,3,false,"5461#","640#","4739#","583#"), +"Ho174" => AMEdata(8034,2,false,"4590#","423#","6080#","423#"), [67,107] => AMEdata(8034,2,false,"4590#","423#","6080#","423#"), +"Er174" => AMEdata(8064,2,false,"6367#","357#","1915#","301#"), [68,106] => AMEdata(8064,2,false,"6367#","357#","1915#","301#"), +"Tm174" => AMEdata(8070.6432,0.2570,true,"5679.7715","44.9373","3080.0000","44.7214"), [69,105] => AMEdata(8070.6432,0.2570,true,"5679.7715","44.9373","3080.0000","44.7214"), +"Yb174" => AMEdata(8083.8481,0.0003,true,"7464.6045","0.0126","-1374.2287","1.5675"), [70,104] => AMEdata(8083.8481,0.0003,true,"7464.6045","0.0126","-1374.2287","1.5675"), +"Lu174" => AMEdata(8071.4540,0.0090,true,"6760.5959","1.4143","274.2911","2.1686"), [71,103] => AMEdata(8071.4540,0.0090,true,"6760.5959","1.4143","274.2911","2.1686"), +"Hf174" => AMEdata(8068.5341,0.0130,true,"8504.1115","28.0360","-4103.8117","28.0360"), [72,102] => AMEdata(8068.5341,0.0130,true,"8504.1115","28.0360","-4103.8117","28.0360"), +"Ta174" => AMEdata(8040.4528,0.1606,true,"7415.5462","39.5199","-1513.6779","39.5199"), [73,101] => AMEdata(8040.4528,0.1606,true,"7415.5462","39.5199","-1513.6779","39.5199"), +"W174" => AMEdata(8027.2572,0.1606,true,"9571.0236","39.5199","-6553.9925","39.5199"), [74,100] => AMEdata(8027.2572,0.1606,true,"9571.0236","39.5199","-6553.9925","39.5199"), +"Re174" => AMEdata(7985.0944,0.1606,true,"8190.5493","39.5199","-3677.7177","29.7667"), [75,99] => AMEdata(7985.0944,0.1606,true,"8190.5493","39.5199","-3677.7177","29.7667"), +"Os174" => AMEdata(7959.4618,0.0589,true,"10628.4512","18.1318","-9209.4466","15.2008"), [76,98] => AMEdata(7959.4618,0.0589,true,"10628.4512","18.1318","-9209.4466","15.2008"), +"Ir174" => AMEdata(7902.0377,0.0645,true,"8588.7991","15.3963","-5468.3293","15.2578"), [77,97] => AMEdata(7902.0377,0.0645,true,"8588.7991","15.3963","-5468.3293","15.2578"), +"Pt174" => AMEdata(7866.1143,0.0594,true,"11452.1672","64.2677","-11259#","102#"), [78,96] => AMEdata(7866.1143,0.0594,true,"11452.1672","64.2677","-11259#","102#"), +"Au174" => AMEdata(7797,1,false,"9298#","104#","-7417#","102#"), [79,95] => AMEdata(7797,1,false,"9298#","104#","-7417#","102#"), +"Hg174" => AMEdata(7749.7851,0.1104,true,"12051#","201#","*",""), [80,94] => AMEdata(7749.7851,0.1104,true,"12051#","201#","*",""), +"Dy175" => AMEdata(7986,3,false,"3671#","707#","6570#","640#"), [66,109] => AMEdata(7986,3,false,"3671#","707#","6570#","640#"), +"Ho175" => AMEdata(8019,2,false,"5501#","500#","5352#","566#"), [67,108] => AMEdata(8019,2,false,"5501#","500#","5352#","566#"), +"Er175" => AMEdata(8045,2,false,"4774#","499#","3659#","404#"), [68,107] => AMEdata(8045,2,false,"4774#","499#","3659#","404#"), +"Tm175" => AMEdata(8061.7673,0.2857,true,"6517.3539","67.0821","2385.0000","50.0000"), [69,106] => AMEdata(8061.7673,0.2857,true,"6517.3539","67.0821","2385.0000","50.0000"), +"Yb175" => AMEdata(8070.9253,0.0005,true,"5822.3539","0.0700","470.1219","1.2068"), [70,105] => AMEdata(8070.9253,0.0005,true,"5822.3539","0.0700","470.1219","1.2068"), +"Lu175" => AMEdata(8069.1412,0.0069,true,"7666.7045","1.0001","-683.9154","1.9516"), [71,104] => AMEdata(8069.1412,0.0069,true,"7666.7045","1.0001","-683.9154","1.9516"), +"Hf175" => AMEdata(8060.7625,0.0130,true,"6708.4980","0.3832","-2073.1103","28.0379"), [72,103] => AMEdata(8060.7625,0.0130,true,"6708.4980","0.3832","-2073.1103","28.0379"), +"Ta175" => AMEdata(8044.4456,0.1597,true,"8739.1993","39.5199","-2775.8524","39.5199"), [73,102] => AMEdata(8044.4456,0.1597,true,"8739.1993","39.5199","-2775.8524","39.5199"), +"W175" => AMEdata(8024.1130,0.1597,true,"7477.0248","39.5199","-4344.4885","39.5199"), [74,101] => AMEdata(8024.1130,0.1597,true,"7477.0248","39.5199","-4344.4885","39.5199"), +"Re175" => AMEdata(7994.8168,0.1597,true,"9686.5288","39.5199","-5182.9513","30.3243"), [75,100] => AMEdata(7994.8168,0.1597,true,"9686.5288","39.5199","-5182.9513","30.3243"), +"Os175" => AMEdata(7960.7294,0.0673,true,"8181.2952","15.6047","-6710.8496","17.0887"), [76,99] => AMEdata(7960.7294,0.0673,true,"8181.2952","15.6047","-6710.8496","17.0887"), +"Ir175" => AMEdata(7917.9112,0.0708,true,"10679.8921","16.7121","-7685.8265","22.3572"), [77,98] => AMEdata(7917.9112,0.0708,true,"10679.8921","16.7121","-7685.8265","22.3572"), +"Pt175" => AMEdata(7869.5216,0.1064,true,"8462.3949","21.2920","-8304.9980","42.8203"), [78,97] => AMEdata(7869.5216,0.1064,true,"8462.3949","21.2920","-8304.9980","42.8203"), +"Au175" => AMEdata(7817.5939,0.2204,true,"11417#","109#","-9434.2436","89.7876"), [79,96] => AMEdata(7817.5939,0.2204,true,"11417#","109#","-9434.2436","89.7876"), +"Hg175" => AMEdata(7759.2134,0.4633,true,"9399.7437","83.3293","*",""), [80,95] => AMEdata(7759.2134,0.4633,true,"9399.7437","83.3293","*",""), +"Dy176" => AMEdata(7969,3,false,"4952#","707#","5780#","707#"), [66,110] => AMEdata(7969,3,false,"4952#","707#","5780#","707#"), +"Ho176" => AMEdata(7997,3,false,"4162#","640#","7241#","641#"), [67,109] => AMEdata(7997,3,false,"4162#","640#","7241#","641#"), +"Er176" => AMEdata(8034,2,false,"6050#","566#","2741#","413#"), [68,108] => AMEdata(8034,2,false,"6050#","566#","2741#","413#"), +"Tm176" => AMEdata(8045.1214,0.5682,true,"5132.0841","111.8034","4120.0000","100.0000"), [69,107] => AMEdata(8045.1214,0.5682,true,"5132.0841","111.8034","4120.0000","100.0000"), +"Yb176" => AMEdata(8064.0853,0.0003,true,"6867.0841","0.0717","-108.9895","1.2124"), [70,106] => AMEdata(8064.0853,0.0003,true,"6867.0841","0.0717","-108.9895","1.2124"), +"Lu176" => AMEdata(8059.0209,0.0069,true,"6287.9727","0.1498","1194.0947","0.8744"), [71,105] => AMEdata(8059.0209,0.0069,true,"6287.9727","0.1498","1194.0947","0.8744"), +"Hf176" => AMEdata(8061.3604,0.0084,true,"8165.9828","1.7801","-3211.0484","30.7750"), [72,104] => AMEdata(8061.3604,0.0084,true,"8165.9828","1.7801","-3211.0484","30.7750"), +"Ta176" => AMEdata(8038.6706,0.1747,true,"7028.0447","41.5430","-723.7709","41.5430"), [73,103] => AMEdata(8038.6706,0.1747,true,"7028.0447","41.5430","-723.7709","41.5430"), +"W176" => AMEdata(8030.1131,0.1588,true,"9080.1262","39.5199","-5578.7182","39.5199"), [74,102] => AMEdata(8030.1131,0.1588,true,"9080.1262","39.5199","-5578.7182","39.5199"), +"Re176" => AMEdata(7993.9707,0.1588,true,"7845.8965","39.5199","-2931.7058","30.0134"), [75,101] => AMEdata(7993.9707,0.1588,true,"7845.8965","39.5199","-2931.7058","30.0134"), +"Os176" => AMEdata(7972.8681,0.0622,true,"10097.1420","16.0700","-8249.2618","13.6110"), [76,100] => AMEdata(7972.8681,0.0622,true,"10097.1420","16.0700","-8249.2618","13.6110"), +"Ir176" => AMEdata(7921.5522,0.0459,true,"8558.7298","14.7900","-4948.0041","15.0657"), [77,99] => AMEdata(7921.5522,0.0459,true,"8558.7298","14.7900","-4948.0041","15.0657"), +"Pt176" => AMEdata(7888.9934,0.0722,true,"11296.5522","22.5392","-10412.9516","35.5363"), [78,98] => AMEdata(7888.9934,0.0722,true,"11296.5522","22.5392","-10412.9516","35.5363"), +"Au176" => AMEdata(7825.3837,0.1885,true,"9188.5985","50.8756","-6736.3283","34.9978"), [79,97] => AMEdata(7825.3837,0.1885,true,"9188.5985","50.8756","-6736.3283","34.9978"), +"Hg176" => AMEdata(7782.6640,0.0632,true,"11886.5139","81.8433","-12369.3668","83.7993"), [80,96] => AMEdata(7782.6640,0.0632,true,"11886.5139","81.8433","-12369.3668","83.7993"), +"Tl176" => AMEdata(7707.9383,0.4719,true,"*","","*",""), [81,95] => AMEdata(7707.9383,0.4719,true,"*","","*",""), +"Ho177" => AMEdata(7980,3,false,"4961#","707#","6578#","709#"), [67,110] => AMEdata(7980,3,false,"4961#","707#","6578#","709#"), +"Er177" => AMEdata(8013,3,false,"4299#","643#","4711#","541#"), [68,109] => AMEdata(8013,3,false,"4299#","643#","4711#","541#"), +"Tm177" => AMEdata(8035,1,false,"6270#","224#","3417#","200#"), [69,108] => AMEdata(8035,1,false,"6270#","224#","3417#","200#"), +"Yb177" => AMEdata(8049.9741,0.0013,true,"5566.4000","0.2200","1397.4983","1.2406"), [70,107] => AMEdata(8049.9741,0.0013,true,"5566.4000","0.2200","1397.4983","1.2406"), +"Lu177" => AMEdata(8053.4495,0.0069,true,"7072.8878","0.1559","496.8425","0.7921"), [71,106] => AMEdata(8053.4495,0.0069,true,"7072.8878","0.1559","496.8425","0.7921"), +"Hf177" => AMEdata(8051.8365,0.0080,true,"6375.6356","1.0181","-1166.0000","3.0000"), [72,105] => AMEdata(8051.8365,0.0080,true,"6375.6356","1.0181","-1166.0000","3.0000"), +"Ta177" => AMEdata(8040.8289,0.0187,true,"8420.6840","30.9175","-2013.0144","28.1408"), [73,104] => AMEdata(8040.8289,0.0187,true,"8420.6840","30.9175","-2013.0144","28.1408"), +"W177" => AMEdata(8025.0359,0.1579,true,"7131.4405","39.5199","-3432.5558","39.5199"), [74,103] => AMEdata(8025.0359,0.1579,true,"7131.4405","39.5199","-3432.5558","39.5199"), +"Re177" => AMEdata(8001.2229,0.1579,true,"9277.6029","39.5199","-4312.7271","31.5349"), [75,102] => AMEdata(8001.2229,0.1579,true,"9277.6029","39.5199","-4312.7271","31.5349"), +"Os177" => AMEdata(7972.4371,0.0826,true,"7896.5816","18.2530","-5909.0234","24.5763"), [76,101] => AMEdata(7972.4371,0.0826,true,"7896.5816","18.2530","-5909.0234","24.5763"), +"Ir177" => AMEdata(7934.6328,0.1116,true,"10236.8200","21.3501","-6676.9880","24.8010"), [77,100] => AMEdata(7934.6328,0.1116,true,"10236.8200","21.3501","-6676.9880","24.8010"), +"Pt177" => AMEdata(7892.4896,0.0847,true,"8507.8361","19.6499","-7824.7003","17.9991"), [78,99] => AMEdata(7892.4896,0.0847,true,"8507.8361","19.6499","-7824.7003","17.9991"), +"Au177" => AMEdata(7843.8623,0.0563,true,"11096.0874","34.6493","-8769.9135","85.3061"), [79,98] => AMEdata(7843.8623,0.0563,true,"11096.0874","34.6493","-8769.9135","85.3061"), +"Hg177" => AMEdata(7789.8947,0.4787,true,"9062.5022","85.4432","-9435.7198","87.4322"), [80,97] => AMEdata(7789.8947,0.4787,true,"9062.5022","85.4432","-9435.7198","87.4322"), +"Tl177" => AMEdata(7732.1655,0.1222,true,"11996.1492","85.8281","*",""), [81,96] => AMEdata(7732.1655,0.1222,true,"11996.1492","85.8281","*",""), +"Ho178" => AMEdata(7957,3,false,"3922#","707#","8130#","778#"), [67,111] => AMEdata(7957,3,false,"3922#","707#","8130#","778#"), +"Er178" => AMEdata(7999,3,false,"5473#","780#","3980#","667#"), [68,110] => AMEdata(7999,3,false,"5473#","780#","3980#","667#"), +"Tm178" => AMEdata(8017,2,false,"4742#","361#","5437#","300#"), [69,109] => AMEdata(8017,2,false,"4742#","361#","5437#","300#"), +"Yb178" => AMEdata(8042.7386,0.0370,true,"6762.0528","6.5913","660.7415","6.9617"), [70,108] => AMEdata(8042.7386,0.0370,true,"6762.0528","6.5913","660.7415","6.9617"), +"Lu178" => AMEdata(8042.0554,0.0127,true,"6025.2959","1.8931","2097.4851","2.0569"), [71,107] => AMEdata(8042.0554,0.0127,true,"6025.2959","1.8931","2097.4851","2.0569"), +"Hf178" => AMEdata(8049.4438,0.0080,true,"7625.9385","0.1767","-1837#","52#"), [72,106] => AMEdata(8049.4438,0.0080,true,"7625.9385","0.1767","-1837#","52#"), +"Ta178" => AMEdata(8035,0,false,"6955#","52#","-191#","50#"), [73,105] => AMEdata(8035,0,false,"6955#","52#","-191#","50#"), +"W178" => AMEdata(8029.2584,0.0854,true,"8776.6529","31.8106","-4753.6082","31.8106"), [74,104] => AMEdata(8029.2584,0.0854,true,"8776.6529","31.8106","-4753.6082","31.8106"), +"Re178" => AMEdata(7998.1576,0.1570,true,"7455.6005","39.5199","-2109.2143","31.0925"), [75,103] => AMEdata(7998.1576,0.1570,true,"7455.6005","39.5199","-2109.2143","31.0925"), +"Os178" => AMEdata(7981.9128,0.0766,true,"9659.1133","19.9789","-7289.9295","23.2390"), [76,102] => AMEdata(7981.9128,0.0766,true,"9659.1133","19.9789","-7289.9295","23.2390"), +"Ir178" => AMEdata(7936.5630,0.1057,true,"8278.2073","27.2887","-4256.8282","21.3752"), [77,101] => AMEdata(7936.5630,0.1057,true,"8278.2073","27.2887","-4256.8282","21.3752"), +"Pt178" => AMEdata(7908.2530,0.0569,true,"10698.3671","18.0874","-9694.4567","14.4108"), [78,100] => AMEdata(7908.2530,0.0569,true,"10698.3671","18.0874","-9694.4567","14.4108"), +"Au178" => AMEdata(7849.3946,0.0576,true,"8828.6107","14.2948","-5987.6832","14.8566"), [79,99] => AMEdata(7849.3946,0.0576,true,"8828.6107","14.2948","-5987.6832","14.8566"), +"Hg178" => AMEdata(7811.3607,0.0604,true,"11610.8410","85.4016","-11702#","103#"), [80,98] => AMEdata(7811.3607,0.0604,true,"11610.8410","85.4016","-11702#","103#"), +"Tl178" => AMEdata(7741,1,false,"9344#","104#","-8187#","103#"), [81,97] => AMEdata(7741,1,false,"9344#","104#","-8187#","103#"), +"Pb178" => AMEdata(7690.8359,0.1302,true,"*","","*",""), [82,96] => AMEdata(7690.8359,0.1302,true,"*","","*",""), +"Er179" => AMEdata(7976,3,false,"3891#","778#","5821#","640#"), [68,111] => AMEdata(7976,3,false,"3891#","778#","5821#","640#"), +"Tm179" => AMEdata(8004,2,false,"5731#","500#","4739#","447#"), [69,110] => AMEdata(8004,2,false,"5731#","500#","4739#","447#"), +"Yb179" => AMEdata(8026,1,false,"5034#","200#","2419#","200#"), [70,109] => AMEdata(8026,1,false,"5034#","200#","2419#","200#"), +"Lu179" => AMEdata(8035.0744,0.0288,true,"6792.4505","5.3481","1404.0231","5.0672"), [71,108] => AMEdata(8035.0744,0.0288,true,"6792.4505","5.3481","1404.0231","5.0672"), +"Hf179" => AMEdata(8038.5474,0.0079,true,"6098.9886","0.0768","-105.5801","0.4088"), [72,107] => AMEdata(8038.5474,0.0079,true,"6098.9886","0.0768","-105.5801","0.4088"), +"Ta179" => AMEdata(8033.5869,0.0082,true,"7830#","52#","-1062.2093","14.5197"), [73,106] => AMEdata(8033.5869,0.0082,true,"7830#","52#","-1062.2093","14.5197"), +"W179" => AMEdata(8023.2821,0.0814,true,"6959.4991","20.9681","-2710.9347","26.8021"), [74,105] => AMEdata(8023.2821,0.0814,true,"6959.4991","20.9681","-2710.9347","26.8021"), +"Re179" => AMEdata(8003.7666,0.1376,true,"9002.1726","37.2557","-3564.1747","29.1116"), [75,104] => AMEdata(8003.7666,0.1376,true,"9002.1726","37.2557","-3564.1747","29.1116"), +"Os179" => AMEdata(7979.4844,0.0866,true,"7547.2123","20.6409","-4938.4182","18.3271"), [76,103] => AMEdata(7979.4844,0.0866,true,"7547.2123","20.6409","-4938.4182","18.3271"), +"Ir179" => AMEdata(7947.5248,0.0546,true,"9898.7236","21.2058","-5813.5920","12.6133"), [77,102] => AMEdata(7947.5248,0.0546,true,"9898.7236","21.2058","-5813.5920","12.6133"), +"Pt179" => AMEdata(7910.6759,0.0446,true,"8341.9598","12.8834","-7279.5556","14.1567"), [78,101] => AMEdata(7910.6759,0.0446,true,"8341.9598","12.8834","-7279.5556","14.1567"), +"Au179" => AMEdata(7865.6374,0.0653,true,"10756.8609","15.5491","-8055.6480","30.4559"), [79,100] => AMEdata(7865.6374,0.0653,true,"10756.8609","15.5491","-8055.6480","30.4559"), +"Hg179" => AMEdata(7816.2631,0.1571,true,"8688.8960","30.1081","-8663.2918","47.7998"), [80,99] => AMEdata(7816.2631,0.1571,true,"8688.8960","30.1081","-8663.2918","47.7998"), +"Tl179" => AMEdata(7763.4942,0.2159,true,"11728#","109#","-10321.2401","89.9571"), [81,98] => AMEdata(7763.4942,0.2159,true,"11728#","109#","-10321.2401","89.9571"), +"Pb179" => AMEdata(7701.4630,0.4538,true,"9593.0809","84.4733","*",""), [82,97] => AMEdata(7701.4630,0.4538,true,"9593.0809","84.4733","*",""), +"Er180" => AMEdata(7960,3,false,"5172#","707#","4990#","640#"), [68,112] => AMEdata(7960,3,false,"5172#","707#","4990#","640#"), +"Tm180" => AMEdata(7983,2,false,"4341#","565#","6550#","500#"), [69,111] => AMEdata(7983,2,false,"4341#","565#","6550#","500#"), +"Yb180" => AMEdata(8016,2,false,"6152#","361#","1956#","308#"), [70,110] => AMEdata(8016,2,false,"6152#","361#","1956#","308#"), +"Lu180" => AMEdata(8022.0394,0.3929,true,"5688.7810","70.8918","3103.0000","70.7107"), [71,109] => AMEdata(8022.0394,0.3929,true,"5688.7810","70.8918","3103.0000","70.7107"), +"Hf180" => AMEdata(8034.9319,0.0079,true,"7387.7579","0.1510","-845.8453","2.3472"), [72,108] => AMEdata(8034.9319,0.0079,true,"7387.7579","0.1510","-845.8453","2.3472"), +"Ta180" => AMEdata(8025.8864,0.0115,true,"6647.4927","2.3685","702.6122","2.3590"), [73,107] => AMEdata(8025.8864,0.0115,true,"6647.4927","2.3685","702.6122","2.3590"), +"W180" => AMEdata(8025.4434,0.0080,true,"8412.3142","14.5110","-3798.8793","21.4404"), [74,106] => AMEdata(8025.4434,0.0080,true,"8412.3142","14.5110","-3798.8793","21.4404"), +"Re180" => AMEdata(7999.9922,0.1188,true,"7324.3695","32.6296","-1481.1659","26.5482"), [75,105] => AMEdata(7999.9922,0.1188,true,"7324.3695","32.6296","-1481.1659","26.5482"), +"Os180" => AMEdata(7987.4171,0.0873,true,"9407.3783","22.0808","-6378.6679","26.8021"), [76,104] => AMEdata(7987.4171,0.0873,true,"9407.3783","22.0808","-6378.6679","26.8021"), +"Ir180" => AMEdata(7947.6337,0.1206,true,"7967.1286","23.8040","-3547.6546","23.9205"), [77,103] => AMEdata(7947.6337,0.1206,true,"7967.1286","23.8040","-3547.6546","23.9205"), +"Pt180" => AMEdata(7923.5781,0.0558,true,"10233.0660","12.8184","-8804.2290","11.1207"), [78,102] => AMEdata(7923.5781,0.0558,true,"10233.0660","12.8184","-8804.2290","11.1207"), +"Au180" => AMEdata(7870.3194,0.0264,true,"8708.3926","12.6266","-5375.1330","13.5105"), [79,101] => AMEdata(7870.3194,0.0264,true,"8708.3926","12.6266","-5375.1330","13.5105"), +"Hg180" => AMEdata(7836.1111,0.0702,true,"11388.9076","30.8233","-10860.0750","71.0509"), [80,100] => AMEdata(7836.1111,0.0702,true,"11388.9076","30.8233","-10860.0750","71.0509"), +"Tl180" => AMEdata(7771.4310,0.3884,true,"9192.1244","79.8899","-7449.3696","71.0069"), [81,99] => AMEdata(7771.4310,0.3884,true,"9192.1244","79.8899","-7449.3696","71.0069"), +"Pb180" => AMEdata(7725.6993,0.0689,true,"12063.9949","82.1697","*",""), [82,98] => AMEdata(7725.6993,0.0689,true,"12063.9949","82.1697","*",""), +"Tm181" => AMEdata(7969,3,false,"5341#","640#","5649#","582#"), [69,112] => AMEdata(7969,3,false,"5341#","640#","5649#","582#"), +"Yb181" => AMEdata(7996,2,false,"4439#","423#","3709#","324#"), [70,111] => AMEdata(7996,2,false,"4439#","423#","3709#","324#"), +"Lu181" => AMEdata(8011.9301,0.6948,true,"6192.2565","144.2758","2605.5435","125.7598"), [71,110] => AMEdata(8011.9301,0.6948,true,"6192.2565","144.2758","2605.5435","125.7598"), +"Hf181" => AMEdata(8022.0030,0.0079,true,"5694.8000","0.0700","1036.1061","1.9298"), [72,109] => AMEdata(8022.0030,0.0079,true,"5694.8000","0.0700","1036.1061","1.9298"), +"Ta181" => AMEdata(8023.4050,0.0087,true,"7576.7514","1.3379","-205.1193","1.9495"), [73,108] => AMEdata(8023.4050,0.0087,true,"7576.7514","1.3379","-205.1193","1.9495"), +"W181" => AMEdata(8017.9494,0.0080,true,"6669.0200","0.1600","-1716.5331","12.6289"), [74,107] => AMEdata(8017.9494,0.0080,true,"6669.0200","0.1600","-1716.5331","12.6289"), +"Re181" => AMEdata(8004.1434,0.0693,true,"8751.3662","24.8010","-2967.4438","28.2755"), [75,106] => AMEdata(8004.1434,0.0693,true,"8751.3662","24.8010","-2967.4438","28.2755"), +"Os181" => AMEdata(7983.4263,0.1400,true,"7265.0883","29.8198","-4086.9327","25.8756"), [76,105] => AMEdata(7983.4263,0.1400,true,"7265.0883","29.8198","-4086.9327","25.8756"), +"Ir181" => AMEdata(7956.5242,0.0290,true,"9556.8234","22.3311","-5081.5379","14.6597"), [77,104] => AMEdata(7956.5242,0.0290,true,"9556.8234","22.3311","-5081.5379","14.6597"), +"Pt181" => AMEdata(7924.1271,0.0756,true,"8022.9401","16.9751","-6510.3575","24.2164"), [78,103] => AMEdata(7924.1271,0.0756,true,"8022.9401","16.9751","-6510.3575","24.2164"), +"Au181" => AMEdata(7883.8359,0.1104,true,"10316.8116","20.5350","-7210.0126","25.2123"), [79,102] => AMEdata(7883.8359,0.1104,true,"10316.8116","20.5350","-7210.0126","25.2123"), +"Hg181" => AMEdata(7839.6792,0.0850,true,"8481.9320","19.9092","-7862.3780","17.8730"), [80,101] => AMEdata(7839.6792,0.0850,true,"8481.9320","19.9092","-7862.3780","17.8730"), +"Tl181" => AMEdata(7791.9183,0.0503,true,"11479.6290","70.5067","-9688.1182","85.5227"), [81,100] => AMEdata(7791.9183,0.0503,true,"11479.6290","70.5067","-9688.1182","85.5227"), +"Pb181" => AMEdata(7734.0704,0.4698,true,"9240.8804","85.9305","*",""), [82,99] => AMEdata(7734.0704,0.4698,true,"9240.8804","85.9305","*",""), +"Tm182" => AMEdata(7948,3,false,"4122#","707#","7410#","640#"), [69,113] => AMEdata(7948,3,false,"4122#","707#","7410#","640#"), +"Yb182" => AMEdata(7984,2,false,"5883#","499#","2870#","447#"), [70,112] => AMEdata(7984,2,false,"5883#","499#","2870#","447#"), +"Lu182" => AMEdata(7996,1,false,"5044#","236#","4280#","200#"), [71,111] => AMEdata(7996,1,false,"5044#","236#","4280#","200#"), +"Hf182" => AMEdata(8014.8381,0.0339,true,"6717.9963","6.0004","381.0486","6.3027"), [72,110] => AMEdata(8014.8381,0.0339,true,"6717.9963","6.0004","381.0486","6.3027"), +"Ta182" => AMEdata(8012.6332,0.0087,true,"6062.9387","0.1052","1815.4592","1.5276"), [73,109] => AMEdata(8012.6332,0.0087,true,"6062.9387","0.1052","1815.4592","1.5276"), +"W182" => AMEdata(8018.3096,0.0041,true,"8083.5172","1.5934","-2800.0000","101.9804"), [74,108] => AMEdata(8018.3096,0.0041,true,"8083.5172","1.5934","-2800.0000","101.9804"), +"Re182" => AMEdata(7998.6264,0.5603,true,"7000.0503","102.7485","-837.0348","104.2757"), [75,107] => AMEdata(7998.6264,0.5603,true,"7000.0503","102.7485","-837.0348","104.2757"), +"Os182" => AMEdata(7989.7287,0.1195,true,"9130.4592","33.3901","-5557.4266","30.2074"), [76,106] => AMEdata(7989.7287,0.1195,true,"9130.4592","33.3901","-5557.4266","30.2074"), +"Ir182" => AMEdata(7954.8948,0.1152,true,"7659.9654","21.6133","-2883.2620","24.7202"), [77,105] => AMEdata(7954.8948,0.1152,true,"7659.9654","21.6133","-2883.2620","24.7202"), +"Pt182" => AMEdata(7934.7541,0.0719,true,"9858.2413","18.9377","-7864.4447","22.8812"), [78,104] => AMEdata(7934.7541,0.0719,true,"9858.2413","18.9377","-7864.4447","22.8812"), +"Au182" => AMEdata(7887.2442,0.1031,true,"8504.1540","27.4066","-4727.0905","21.1645"), [79,103] => AMEdata(7887.2442,0.1031,true,"8504.1540","27.4066","-4727.0905","21.1645"), +"Hg182" => AMEdata(7856.9726,0.0538,true,"10987.0761","18.2285","-10249.6721","15.4687"), [80,102] => AMEdata(7856.9726,0.0538,true,"10987.0761","18.2285","-10249.6721","15.4687"), +"Tl182" => AMEdata(7796.3571,0.0658,true,"8599.7820","15.0426","-6502.6567","17.0151"), [81,101] => AMEdata(7796.3571,0.0658,true,"8599.7820","15.0426","-6502.6567","17.0151"), +"Pb182" => AMEdata(7756.3296,0.0664,true,"11785.2436","85.8910","*",""), [82,100] => AMEdata(7756.3296,0.0664,true,"11785.2436","85.8910","*",""), +"Yb183" => AMEdata(7963,2,false,"4171#","565#","4716#","408#"), [70,113] => AMEdata(7963,2,false,"4171#","565#","4716#","408#"), +"Lu183" => AMEdata(7984.8125,0.4378,true,"6017#","216#","3567.4325","85.5564"), [71,112] => AMEdata(7984.8125,0.4378,true,"6017#","216#","3567.4325","85.5564"), +"Hf183" => AMEdata(8000.0315,0.1642,true,"5305.2286","30.6556","2010.0000","30.0000"), [72,111] => AMEdata(8000.0315,0.1642,true,"5305.2286","30.6556","2010.0000","30.0000"), +"Ta183" => AMEdata(8006.7400,0.0087,true,"6934.1800","0.2000","1072.1161","1.5405"), [73,110] => AMEdata(8006.7400,0.0087,true,"6934.1800","0.2000","1072.1161","1.5405"), +"W183" => AMEdata(8008.3234,0.0041,true,"6190.8368","0.0400","-556.0000","8.0000"), [74,109] => AMEdata(8008.3234,0.0041,true,"6190.8368","0.0400","-556.0000","8.0000"), +"Re183" => AMEdata(8001.0101,0.0439,true,"8434.8368","102.2937","-2145.9028","50.4129"), [75,108] => AMEdata(8001.0101,0.0439,true,"8434.8368","102.2937","-2145.9028","50.4129"), +"Os183" => AMEdata(7985.0087,0.2720,true,"7125.9689","54.3118","-3461.6215","52.8061"), [76,107] => AMEdata(7985.0087,0.2720,true,"7125.9689","54.3118","-3461.6215","52.8061"), +"Ir183" => AMEdata(7961.8176,0.1348,true,"9221.7740","32.3779","-4428.9417","28.4743"), [77,106] => AMEdata(7961.8176,0.1348,true,"9221.7740","32.3779","-4428.9417","28.4743"), +"Pt183" => AMEdata(7933.3406,0.0777,true,"7676.0944","19.3215","-5581.7092","17.0554"), [78,105] => AMEdata(7933.3406,0.0777,true,"7676.0944","19.3215","-5581.7092","17.0554"), +"Au183" => AMEdata(7898.5644,0.0515,true,"9958.8299","20.9972","-6386.8322","11.7891"), [79,104] => AMEdata(7898.5644,0.0515,true,"9958.8299","20.9972","-6386.8322","11.7891"), +"Hg183" => AMEdata(7859.3885,0.0387,true,"8299.0882","12.0696","-7217.3941","11.7158"), [80,103] => AMEdata(7859.3885,0.0387,true,"8299.0882","12.0696","-7217.3941","11.7158"), +"Tl183" => AMEdata(7815.6741,0.0510,true,"11331.3663","15.1824","-9007.2534","30.4442"), [81,102] => AMEdata(7815.6741,0.0510,true,"11331.3663","15.1824","-9007.2534","30.4442"), +"Pb183" => AMEdata(7762.1790,0.1584,true,"8826.7695","31.3983","*",""), [82,101] => AMEdata(7762.1790,0.1584,true,"8826.7695","31.3983","*",""), +"Yb184" => AMEdata(7951,3,false,"5672#","642#","3700#","541#"), [70,114] => AMEdata(7951,3,false,"5672#","642#","3700#","541#"), +"Lu184" => AMEdata(7967,1,false,"4656#","216#","5199#","204#"), [71,113] => AMEdata(7967,1,false,"4656#","216#","5199#","204#"), +"Hf184" => AMEdata(7990.7228,0.2158,true,"6287.2242","49.7833","1340.0000","30.0000"), [72,112] => AMEdata(7990.7228,0.2158,true,"6287.2242","49.7833","1340.0000","30.0000"), +"Ta184" => AMEdata(7993.7535,0.1414,true,"5617.2242","26.0457","2866.0000","26.0000"), [73,111] => AMEdata(7993.7535,0.1414,true,"5617.2242","26.0457","2866.0000","26.0000"), +"W184" => AMEdata(8005.0777,0.0040,true,"7411.1081","0.1293","-1485.6333","4.1971"), [74,110] => AMEdata(8005.0777,0.0040,true,"7411.1081","0.1293","-1485.6333","4.1971"), +"Re184" => AMEdata(7992.7517,0.0232,true,"6481.4748","9.0351","32.7460","4.1387"), [75,109] => AMEdata(7992.7517,0.0232,true,"6481.4748","9.0351","32.7460","4.1387"), +"Os184" => AMEdata(7988.6778,0.0045,true,"8660.1235","49.7754","-4641.7101","27.9571"), [76,108] => AMEdata(7988.6778,0.0045,true,"8660.1235","49.7754","-4641.7101","27.9571"), +"Ir184" => AMEdata(7959.1992,0.1519,true,"7480.0349","37.2775","-2278.3688","31.5957"), [77,107] => AMEdata(7959.1992,0.1519,true,"7480.0349","37.2775","-2278.3688","31.5957"), +"Pt184" => AMEdata(7942.5649,0.0801,true,"9630.6078","20.4795","-7013.7724","26.7122"), [78,106] => AMEdata(7942.5649,0.0801,true,"9630.6078","20.4795","-7013.7724","26.7122"), +"Au184" => AMEdata(7900.1947,0.1211,true,"8198.5445","24.1860","-3973.9269","24.2296"), [79,105] => AMEdata(7900.1947,0.1211,true,"8198.5445","24.1860","-3973.9269","24.2296"), +"Hg184" => AMEdata(7874.3454,0.0518,true,"10611.4498","11.8630","-9461.4321","13.8254"), [80,104] => AMEdata(7874.3454,0.0518,true,"10611.4498","11.8630","-9461.4321","13.8254"), +"Tl184" => AMEdata(7818.6727,0.0544,true,"8367.4118","13.6860","-5831.7688","16.2517"), [81,103] => AMEdata(7818.6727,0.0544,true,"8367.4118","13.6860","-5831.7688","16.2517"), +"Pb184" => AMEdata(7782.7264,0.0696,true,"11542.8964","31.6715","-12306#","123#"), [82,102] => AMEdata(7782.7264,0.0696,true,"11542.8964","31.6715","-12306#","123#"), +"Bi184" => AMEdata(7712,1,false,"*","","*",""), [83,101] => AMEdata(7712,1,false,"*","","*",""), +"Yb185" => AMEdata(7929,3,false,"3951#","709#","5480#","583#"), [70,115] => AMEdata(7929,3,false,"3951#","709#","5480#","583#"), +"Lu185" => AMEdata(7955,2,false,"5731#","361#","4359#","307#"), [71,114] => AMEdata(7955,2,false,"5731#","361#","4359#","307#"), +"Hf185" => AMEdata(7973.9711,0.3474,true,"4891.6698","75.5485","3074.5667","65.8147"), [72,113] => AMEdata(7973.9711,0.3474,true,"4891.6698","75.5485","3074.5667","65.8147"), +"Ta185" => AMEdata(7986.3615,0.0765,true,"6626.2364","29.5973","1993.5000","14.1421"), [73,112] => AMEdata(7986.3615,0.0765,true,"6626.2364","29.5973","1993.5000","14.1421"), +"W185" => AMEdata(7992.9083,0.0040,true,"5753.7364","0.0500","431.1764","0.6616"), [74,111] => AMEdata(7992.9083,0.0040,true,"5753.7364","0.0500","431.1764","0.6616"), +"Re185" => AMEdata(7991.0101,0.0044,true,"7670.5462","4.0918","-1013.1393","0.4190"), [75,110] => AMEdata(7991.0101,0.0044,true,"7670.5462","4.0918","-1013.1393","0.4190"), +"Os185" => AMEdata(7981.3047,0.0045,true,"6624.6609","0.2732","-2470.3505","27.9572"), [76,109] => AMEdata(7981.3047,0.0045,true,"6624.6609","0.2732","-2470.3505","27.9572"), +"Ir185" => AMEdata(7963.7226,0.1511,true,"8796.0205","39.5199","-3647.4137","38.0554"), [77,108] => AMEdata(7963.7226,0.1511,true,"8796.0205","39.5199","-3647.4137","38.0554"), +"Pt185" => AMEdata(7939.7779,0.1396,true,"7426.9756","29.7435","-4829.9942","25.9635"), [78,107] => AMEdata(7939.7779,0.1396,true,"7426.9756","29.7435","-4829.9942","25.9635"), +"Au185" => AMEdata(7909.4410,0.0141,true,"9610.7538","22.4269","-5674.4989","13.8859"), [79,106] => AMEdata(7909.4410,0.0141,true,"9610.7538","22.4269","-5674.4989","13.8859"), +"Hg185" => AMEdata(7874.5391,0.0737,true,"7910.1818","16.6323","-6425.9062","24.7674"), [80,105] => AMEdata(7874.5391,0.0737,true,"7910.1818","16.6323","-6425.9062","24.7674"), +"Tl185" => AMEdata(7835.5756,0.1118,true,"10945.7077","22.9704","-8216.5333","26.2493"), [81,104] => AMEdata(7835.5756,0.1118,true,"10945.7077","22.9704","-8216.5333","26.2493"), +"Pb185" => AMEdata(7786.9330,0.0874,true,"8560.9432","20.6247","-9305#","83#"), [82,103] => AMEdata(7786.9330,0.0874,true,"8560.9432","20.6247","-9305#","83#"), +"Bi185" => AMEdata(7732,0,false,"11562#","147#","*",""), [83,102] => AMEdata(7732,0,false,"11562#","147#","*",""), +"Lu186" => AMEdata(7936,2,false,"4431#","500#","6104#","403#"), [71,115] => AMEdata(7936,2,false,"4431#","500#","6104#","403#"), +"Hf186" => AMEdata(7964.3032,0.2754,true,"6175.7276","82.1935","2183.3883","78.9063"), [72,114] => AMEdata(7964.3032,0.2754,true,"6175.7276","82.1935","2183.3883","78.9063"), +"Ta186" => AMEdata(7971.8357,0.3226,true,"5284.5492","61.6550","3901.0000","60.0000"), [73,113] => AMEdata(7971.8357,0.3226,true,"5284.5492","61.6550","3901.0000","60.0000"), +"W186" => AMEdata(7988.6026,0.0065,true,"7192.0492","1.1575","-581.2819","1.2386"), [74,112] => AMEdata(7988.6026,0.0065,true,"7192.0492","1.1575","-581.2819","1.2386"), +"Re186" => AMEdata(7981.2713,0.0044,true,"6179.5909","0.0500","1072.7114","0.8337"), [75,111] => AMEdata(7981.2713,0.0044,true,"6179.5909","0.0500","1072.7114","0.8337"), +"Os186" => AMEdata(7982.8324,0.0041,true,"8265.4416","0.8785","-3827.6813","16.5430"), [76,110] => AMEdata(7982.8324,0.0041,true,"8265.4416","0.8785","-3827.6813","16.5430"), +"Ir186" => AMEdata(7958.0473,0.0888,true,"6908.1108","32.4655","-1307.9030","27.3122"), [77,109] => AMEdata(7958.0473,0.0888,true,"6908.1108","32.4655","-1307.9030","27.3122"), +"Pt186" => AMEdata(7946.8094,0.1169,true,"9247.6215","33.7663","-6149.5913","30.2074"), [78,108] => AMEdata(7946.8094,0.1169,true,"9247.6215","33.7663","-6149.5913","30.2074"), +"Au186" => AMEdata(7909.5409,0.1127,true,"7928.0243","21.1288","-3175.7972","23.9866"), [79,107] => AMEdata(7909.5409,0.1127,true,"7928.0243","21.1288","-3175.7972","23.9866"), +"Hg186" => AMEdata(7888.2605,0.0626,true,"10426.7261","17.9289","-8656.1190","23.7974"), [80,106] => AMEdata(7888.2605,0.0626,true,"10426.7261","17.9289","-8656.1190","23.7974"), +"Tl186" => AMEdata(7837.5161,0.1116,true,"8196.5133","29.2915","-5202.0427","23.4877"), [81,105] => AMEdata(7837.5161,0.1116,true,"8196.5133","29.2915","-5202.0427","23.4877"), +"Pb186" => AMEdata(7805.3420,0.0592,true,"11211.0039","19.5580","-11535.3999","20.2118"), [82,104] => AMEdata(7805.3420,0.0592,true,"11211.0039","19.5580","-11535.3999","20.2118"), +"Bi186" => AMEdata(7739.1175,0.0911,true,"8981#","83#","-7247.0279","24.9305"), [83,103] => AMEdata(7739.1175,0.0911,true,"8981#","83#","-7247.0279","24.9305"), +"Po186" => AMEdata(7695.9488,0.0983,true,"*","","*",""), [84,102] => AMEdata(7695.9488,0.0983,true,"*","","*",""), +"Lu187" => AMEdata(7923,2,false,"5521#","565#","5230#","447#"), [71,116] => AMEdata(7923,2,false,"5521#","565#","5230#","447#"), +"Hf187" => AMEdata(7947,1,false,"4647#","207#","3896#","208#"), [72,115] => AMEdata(7947,1,false,"4647#","207#","3896#","208#"), +"Ta187" => AMEdata(7963.2123,0.2989,true,"6359.2658","82.0069","3008.4937","55.9028"), [73,114] => AMEdata(7963.2123,0.2989,true,"6359.2658","82.0069","3008.4937","55.9028"), +"W187" => AMEdata(7975.1168,0.0065,true,"5466.7595","0.0407","1312.5048","1.1219"), [74,113] => AMEdata(7975.1168,0.0065,true,"5466.7595","0.0407","1312.5048","1.1219"), +"Re187" => AMEdata(7977.9519,0.0039,true,"7360.5462","0.8620","2.4667","0.0016"), [75,112] => AMEdata(7977.9519,0.0039,true,"7360.5462","0.8620","2.4667","0.0016"), +"Os187" => AMEdata(7973.7814,0.0039,true,"6290.3015","0.5218","-1669.6385","27.9545"), [76,111] => AMEdata(7973.7814,0.0039,true,"6290.3015","0.5218","-1669.6385","27.9545"), +"Ir187" => AMEdata(7960.6692,0.1494,true,"8448.3443","32.4655","-2864.0151","36.8802"), [77,110] => AMEdata(7960.6692,0.1494,true,"8448.3443","32.4655","-2864.0151","36.8802"), +"Pt187" => AMEdata(7941.1699,0.1287,true,"6892.2322","32.4361","-3656.5811","27.4478"), [78,109] => AMEdata(7941.1699,0.1287,true,"6892.2322","32.4361","-3656.5811","27.4478"), +"Au187" => AMEdata(7917.4323,0.1203,true,"9385.2424","30.7543","-4910.2713","25.9171"), [79,108] => AMEdata(7917.4323,0.1203,true,"9385.2424","30.7543","-4910.2713","25.9171"), +"Hg187" => AMEdata(7886.9905,0.0688,true,"7650.7682","17.3393","-5673.9170","15.1746"), [80,107] => AMEdata(7886.9905,0.0688,true,"7650.7682","17.3393","-5673.9170","15.1746"), +"Tl187" => AMEdata(7852.4650,0.0430,true,"10632.9702","22.2567","-7457.6370","9.5248"), [81,106] => AMEdata(7852.4650,0.0430,true,"10632.9702","22.2567","-7457.6370","9.5248"), +"Pb187" => AMEdata(7808.4010,0.0272,true,"8377.3759","12.1202","-8603.6798","11.2268"), [82,105] => AMEdata(7808.4010,0.0272,true,"8377.3759","12.1202","-8603.6798","11.2268"), +"Bi187" => AMEdata(7758.2083,0.0535,true,"11309.0961","19.6856","-9207.0832","34.1302"), [83,104] => AMEdata(7758.2083,0.0535,true,"11309.0961","19.6856","-9207.0832","34.1302"), +"Po187" => AMEdata(7704.7889,0.1745,true,"9349.0408","37.4015","*",""), [84,103] => AMEdata(7704.7889,0.1745,true,"9349.0408","37.4015","*",""), +"Lu188" => AMEdata(7903,2,false,"4122#","565#","7009#","500#"), [71,117] => AMEdata(7903,2,false,"4122#","565#","7009#","500#"), +"Hf188" => AMEdata(7936,2,false,"5901#","361#","3080#","361#"), [72,116] => AMEdata(7936,2,false,"5901#","361#","3080#","361#"), +"Ta188" => AMEdata(7948,1,false,"5086#","208#","4758#","200#"), [73,115] => AMEdata(7948,1,false,"5086#","208#","4758#","200#"), +"W188" => AMEdata(7969.0532,0.0164,true,"6835.1547","3.2032","349.0000","3.0000"), [74,114] => AMEdata(7969.0532,0.0164,true,"6835.1547","3.2032","349.0000","3.0000"), +"Re188" => AMEdata(7966.7481,0.0039,true,"5871.6500","0.0400","2120.4209","0.1520"), [75,113] => AMEdata(7966.7481,0.0039,true,"5871.6500","0.0400","2120.4209","0.1520"), +"Os188" => AMEdata(7973.8656,0.0039,true,"7989.6042","0.1466","-2792.3457","9.4164"), [76,112] => AMEdata(7973.8656,0.0039,true,"7989.6042","0.1466","-2792.3457","9.4164"), +"Ir188" => AMEdata(7954.8512,0.0501,true,"6866.8969","29.4909","-523.9860","8.6863"), [77,111] => AMEdata(7954.8512,0.0501,true,"6866.8969","29.4909","-523.9860","8.6863"), +"Pt188" => AMEdata(7947.9027,0.0282,true,"9206.9261","24.6450","-5449.6549","5.9528"), [78,110] => AMEdata(7947.9027,0.0282,true,"9206.9261","24.6450","-5449.6549","5.9528"), +"Au188" => AMEdata(7914.7537,0.0144,true,"7413.8524","22.6606","-2172.9634","7.3046"), [79,109] => AMEdata(7914.7537,0.0144,true,"7413.8524","22.6606","-2172.9634","7.3046"), +"Hg188" => AMEdata(7899.0340,0.0361,true,"10151.1602","14.5381","-7861.9485","30.6643"), [80,108] => AMEdata(7899.0340,0.0361,true,"10151.1602","14.5381","-7861.9485","30.6643"), +"Tl188" => AMEdata(7853.0537,0.1591,true,"7963.1287","30.9680","-4525.3784","31.5712"), [81,107] => AMEdata(7853.0537,0.1591,true,"7963.1287","30.9680","-4525.3784","31.5712"), +"Pb188" => AMEdata(7824.8211,0.0539,true,"10895.3873","11.3275","-10616.2241","15.0824"), [82,106] => AMEdata(7824.8211,0.0539,true,"10895.3873","11.3275","-10616.2241","15.0824"), +"Bi188" => AMEdata(7764.1904,0.0595,true,"8882.8431","15.0024","-6650.4226","22.8861"), [83,105] => AMEdata(7764.1904,0.0595,true,"8882.8431","15.0024","-6650.4226","22.8861"), +"Po188" => AMEdata(7724.6544,0.1062,true,"11439.5036","38.2491","*",""), [84,104] => AMEdata(7724.6544,0.1062,true,"11439.5036","38.2491","*",""), +"Hf189" => AMEdata(7917,2,false,"4392#","424#","4809#","361#"), [72,117] => AMEdata(7917,2,false,"4392#","424#","4809#","361#"), +"Ta189" => AMEdata(7938,1,false,"6121#","283#","3850#","283#"), [73,116] => AMEdata(7938,1,false,"6121#","283#","3850#","283#"), +"W189" => AMEdata(7954,1,false,"5213#","200#","2170#","200#"), [74,115] => AMEdata(7954,1,false,"5213#","200#","2170#","200#"), +"Re189" => AMEdata(7961.8105,0.0433,true,"7033.5345","8.1793","1007.7049","8.1671"), [75,114] => AMEdata(7961.8105,0.0433,true,"7033.5345","8.1793","1007.7049","8.1671"), +"Os189" => AMEdata(7963.0029,0.0035,true,"5920.8185","0.4479","-537.1494","12.5630"), [76,113] => AMEdata(7963.0029,0.0035,true,"5920.8185","0.4479","-537.1494","12.5630"), +"Ir189" => AMEdata(7956.0214,0.0665,true,"8176.0148","15.6983","-1980.2470","13.6363"), [77,112] => AMEdata(7956.0214,0.0665,true,"8176.0148","15.6983","-1980.2470","13.6363"), +"Pt189" => AMEdata(7941.4045,0.0534,true,"6719.7538","11.3788","-2887.4471","22.4737"), [78,111] => AMEdata(7941.4045,0.0534,true,"6719.7538","11.3788","-2887.4471","22.4737"), +"Au189" => AMEdata(7921.9876,0.1063,true,"9281.9615","20.2621","-3955.5800","37.4009"), [79,110] => AMEdata(7921.9876,0.1063,true,"9281.9615","20.2621","-3955.5800","37.4009"), +"Hg189" => AMEdata(7896.9192,0.1669,true,"7499.3450","32.2721","-5010.2727","32.6434"), [80,109] => AMEdata(7896.9192,0.1669,true,"7499.3450","32.2721","-5010.2727","32.6434"), +"Tl189" => AMEdata(7866.2704,0.0443,true,"10351.0207","31.0525","-6772.0862","16.3636"), [81,108] => AMEdata(7866.2704,0.0443,true,"10351.0207","31.0525","-6772.0862","16.3636"), +"Pb189" => AMEdata(7826.2999,0.0744,true,"8104.3129","17.3195","-7779.3555","25.1498"), [82,107] => AMEdata(7826.2999,0.0744,true,"8104.3129","17.3195","-7779.3555","25.1498"), +"Bi189" => AMEdata(7780.9999,0.1103,true,"10941.1815","23.6588","-8642.6682","30.3542"), [83,106] => AMEdata(7780.9999,0.1103,true,"10941.1815","23.6588","-8642.6682","30.3542"), +"Po189" => AMEdata(7731.1321,0.1167,true,"8948.9360","29.7538","*",""), [84,105] => AMEdata(7731.1321,0.1167,true,"8948.9360","29.7538","*",""), +"Hf190" => AMEdata(7905,2,false,"5721#","500#","3920#","447#"), [72,118] => AMEdata(7905,2,false,"5721#","500#","3920#","447#"), +"Ta190" => AMEdata(7922,1,false,"4832#","283#","5649#","203#"), [73,117] => AMEdata(7922,1,false,"4832#","283#","5649#","203#"), +"W190" => AMEdata(7947.5031,0.1863,true,"6631#","203#","1214.1824","35.5545"), [74,116] => AMEdata(7947.5031,0.1863,true,"6631#","203#","1214.1824","35.5545"), +"Re190" => AMEdata(7949.7759,0.0256,true,"5675.2360","9.4645","3124.8105","4.7864"), [75,115] => AMEdata(7949.7759,0.0256,true,"5675.2360","9.4645","3124.8105","4.7864"), +"Os190" => AMEdata(7962.1047,0.0034,true,"7792.3416","0.1873","-1954.2108","1.2131"), [76,114] => AMEdata(7962.1047,0.0034,true,"7792.3416","0.1873","-1954.2108","1.2131"), +"Ir190" => AMEdata(7947.7017,0.0072,true,"6375.2802","12.5472","552.8893","1.2822"), [77,113] => AMEdata(7947.7017,0.0072,true,"6375.2802","12.5472","552.8893","1.2822"), +"Pt190" => AMEdata(7946.4941,0.0035,true,"8908.4165","10.0704","-4472.9637","3.5086"), [78,112] => AMEdata(7946.4941,0.0035,true,"8908.4165","10.0704","-4472.9637","3.5086"), +"Au190" => AMEdata(7918.8345,0.0181,true,"7322.8999","20.3748","-1462.9150","16.2760"), [79,111] => AMEdata(7918.8345,0.0181,true,"7322.8999","20.3748","-1462.9150","16.2760"), +"Hg190" => AMEdata(7907.0174,0.0837,true,"9815.5649","35.3246","-7004.3892","17.4819"), [80,110] => AMEdata(7907.0174,0.0837,true,"9815.5649","35.3246","-7004.3892","17.4819"), +"Tl190" => AMEdata(7866.0345,0.0382,true,"7821.4484","11.0726","-3949.6288","14.4634"), [81,109] => AMEdata(7866.0345,0.0382,true,"7821.4484","11.0726","-3949.6288","14.4634"), +"Pb190" => AMEdata(7841.1294,0.0659,true,"10643.9057","18.8163","-9820.7014","24.4226"), [82,108] => AMEdata(7841.1294,0.0659,true,"10643.9057","18.8163","-9820.7014","24.4226"), +"Bi190" => AMEdata(7785.3239,0.1104,true,"8602.5599","29.5741","-6033.1975","24.7615"), [83,107] => AMEdata(7785.3239,0.1104,true,"8602.5599","29.5741","-6033.1975","24.7615"), +"Po190" => AMEdata(7749.4526,0.0693,true,"11212.0306","25.6845","*",""), [84,106] => AMEdata(7749.4526,0.0693,true,"11212.0306","25.6845","*",""), +"Ta191" => AMEdata(7911,2,false,"5871#","361#","4657#","303#"), [73,118] => AMEdata(7911,2,false,"5871#","361#","4657#","303#"), +"W191" => AMEdata(7931.4359,0.2195,true,"4878.6619","54.8595","3174.2318","43.1556"), [74,117] => AMEdata(7931.4359,0.2195,true,"4878.6619","54.8595","3174.2318","43.1556"), +"Re191" => AMEdata(7943.9588,0.0537,true,"6838.7114","10.8390","2044.8311","10.2443"), [75,116] => AMEdata(7943.9588,0.0537,true,"6838.7114","10.8390","2044.8311","10.2443"), +"Os191" => AMEdata(7950.5687,0.0035,true,"5758.7319","0.1094","313.5873","1.1410"), [76,115] => AMEdata(7950.5687,0.0035,true,"5758.7319","0.1094","313.5873","1.1410"), +"Ir191" => AMEdata(7948.1144,0.0069,true,"8026.5301","0.4000","-1010.4903","3.6360"), [77,114] => AMEdata(7948.1144,0.0069,true,"8026.5301","0.4000","-1010.4903","3.6360"), +"Pt191" => AMEdata(7938.7279,0.0216,true,"6463.1505","4.0742","-1900.4257","6.4260"), [78,113] => AMEdata(7938.7279,0.0216,true,"6463.1505","4.0742","-1900.4257","6.4260"), +"Au191" => AMEdata(7924.6819,0.0258,true,"9035.6885","6.0119","-3206.0616","22.7103"), [79,112] => AMEdata(7924.6819,0.0258,true,"9035.6885","6.0119","-3206.0616","22.7103"), +"Hg191" => AMEdata(7903.8002,0.1167,true,"7292.5419","27.3481","-4308.8981","23.4609"), [80,111] => AMEdata(7903.8002,0.1167,true,"7292.5419","27.3481","-4308.8981","23.4609"), +"Tl191" => AMEdata(7877.1445,0.0385,true,"9988.0331","10.3244","-5991.7073","9.8864"), [81,110] => AMEdata(7877.1445,0.0385,true,"9988.0331","10.3244","-5991.7073","9.8864"), +"Pb191" => AMEdata(7841.6782,0.0346,true,"7945.9547","14.1540","-7051.8922","9.9895"), [82,109] => AMEdata(7841.6782,0.0346,true,"7945.9547","14.1540","-7051.8922","9.9895"), +"Bi191" => AMEdata(7800.6613,0.0392,true,"10714.7638","22.2692","-8170.6205","10.3201"), [83,108] => AMEdata(7800.6613,0.0392,true,"10714.7638","22.2692","-8170.6205","10.3201"), +"Po191" => AMEdata(7753.7871,0.0372,true,"8577.3408","14.9525","-8932.6440","17.5997"), [84,107] => AMEdata(7753.7871,0.0372,true,"8577.3408","14.9525","-8932.6440","17.5997"), +"At191" => AMEdata(7702.9233,0.0843,true,"*","","*",""), [85,106] => AMEdata(7702.9233,0.0843,true,"*","","*",""), +"Ta192" => AMEdata(7894,2,false,"4652#","500#","6520#","447#"), [73,119] => AMEdata(7894,2,false,"4652#","500#","6520#","447#"), +"W192" => AMEdata(7924,1,false,"6515#","205#","1969#","212#"), [74,118] => AMEdata(7924,1,false,"6515#","205#","1969#","212#"), +"Re192" => AMEdata(7930.2389,0.3687,true,"5309.7381","71.5338","4293.4750","70.8314"), [75,117] => AMEdata(7930.2389,0.3687,true,"5309.7381","71.5338","4293.4750","70.8314"), +"Os192" => AMEdata(7948.5260,0.0121,true,"7558.3821","2.2238","-1046.6722","2.3962"), [76,116] => AMEdata(7948.5260,0.0121,true,"7558.3821","2.2238","-1046.6722","2.3962"), +"Ir192" => AMEdata(7938.9999,0.0068,true,"6198.1225","0.1089","1452.8946","2.2739"), [77,115] => AMEdata(7938.9999,0.0068,true,"6198.1225","0.1089","1452.8946","2.2739"), +"Pt192" => AMEdata(7942.4923,0.0134,true,"8661.5073","2.8735","-3516.3415","15.6174"), [78,114] => AMEdata(7942.4923,0.0134,true,"8661.5073","2.8735","-3516.3415","15.6174"), +"Au192" => AMEdata(7920.1033,0.0824,true,"7045.5915","16.5762","-760.7028","22.1777"), [79,113] => AMEdata(7920.1033,0.0824,true,"7045.5915","16.5762","-760.7028","22.1777"), +"Hg192" => AMEdata(7912.0666,0.0809,true,"9490.9503","27.1347","-6139.2324","35.2767"), [80,112] => AMEdata(7912.0666,0.0809,true,"9490.9503","27.1347","-6139.2324","35.2767"), +"Tl192" => AMEdata(7876.0167,0.1650,true,"7660.6160","32.5123","-3320.4029","32.1843"), [81,111] => AMEdata(7876.0167,0.1650,true,"7660.6160","32.5123","-3320.4029","32.1843"), +"Pb192" => AMEdata(7854.6482,0.0298,true,"10331.9204","8.7478","-9017.3089","30.6518"), [82,110] => AMEdata(7854.6482,0.0298,true,"10331.9204","8.7478","-9017.3089","30.6518"), +"Bi192" => AMEdata(7803.6084,0.1568,true,"8366.5038","31.0290","-5468.0534","31.9348"), [83,109] => AMEdata(7803.6084,0.1568,true,"8366.5038","31.0290","-5468.0534","31.9348"), +"Po192" => AMEdata(7771.0542,0.0554,true,"11069.0708","12.7827","-10992.2252","29.8328"), [84,108] => AMEdata(7771.0542,0.0554,true,"11069.0708","12.7827","-10992.2252","29.8328"), +"At192" => AMEdata(7709.7283,0.1452,true,"9009.4896","32.1903","*",""), [85,107] => AMEdata(7709.7283,0.1452,true,"9009.4896","32.1903","*",""), +"Ta193" => AMEdata(7883,2,false,"5781#","565#","5380#","447#"), [73,120] => AMEdata(7883,2,false,"5781#","565#","5380#","447#"), +"W193" => AMEdata(7907,1,false,"4642#","283#","4042#","204#"), [74,119] => AMEdata(7907,1,false,"4642#","283#","4042#","204#"), +"Re193" => AMEdata(7923.9378,0.2027,true,"6714.1312","80.8846","3162.7597","39.1915"), [75,118] => AMEdata(7923.9378,0.2027,true,"6714.1312","80.8846","3162.7597","39.1915"), +"Os193" => AMEdata(7936.2716,0.0120,true,"5583.4158","0.1999","1141.9038","2.4000"), [76,117] => AMEdata(7936.2716,0.0120,true,"5583.4158","0.1999","1141.9038","2.4000"), +"Ir193" => AMEdata(7938.1346,0.0069,true,"7771.9919","0.1997","-56.6276","0.2997"), [77,116] => AMEdata(7938.1346,0.0069,true,"7771.9919","0.1997","-56.6276","0.2997"), +"Pt193" => AMEdata(7933.7875,0.0070,true,"6262.4697","2.3020","-1074.8477","8.7676"), [78,115] => AMEdata(7933.7875,0.0070,true,"6262.4697","2.3020","-1074.8477","8.7676"), +"Au193" => AMEdata(7924.1648,0.0449,true,"8703.9634","18.0425","-2342.6641","14.3702"), [79,114] => AMEdata(7924.1648,0.0449,true,"8703.9634","18.0425","-2342.6641","14.3702"), +"Hg193" => AMEdata(7907.9730,0.0803,true,"7122.0021","21.9320","-3584.9466","16.8938"), [80,113] => AMEdata(7907.9730,0.0803,true,"7122.0021","21.9320","-3584.9466","16.8938"), +"Tl193" => AMEdata(7885.3445,0.0348,true,"9676.2878","32.3731","-5247.9637","12.2808"), [81,112] => AMEdata(7885.3445,0.0348,true,"9676.2878","32.3731","-5247.9637","12.2808"), +"Pb193" => AMEdata(7854.0994,0.0533,true,"7748.7270","11.7741","-6344.6913","12.7761"), [82,111] => AMEdata(7854.0994,0.0533,true,"7748.7270","11.7741","-6344.6913","12.7761"), +"Bi193" => AMEdata(7817.1718,0.0393,true,"10421.3446","31.0505","-7559.2614","16.3874"), [83,110] => AMEdata(7817.1718,0.0393,true,"10421.3446","31.0505","-7559.2614","16.3874"), +"Po193" => AMEdata(7773.9510,0.0753,true,"8330.1367","17.9989","-8257.9789","26.0594"), [84,109] => AMEdata(7773.9510,0.0753,true,"8330.1367","17.9989","-8257.9789","26.0594"), +"At193" => AMEdata(7727.1099,0.1121,true,"11064.3830","35.2823","-9110.2435","33.1444"), [85,108] => AMEdata(7727.1099,0.1121,true,"11064.3830","35.2823","-9110.2435","33.1444"), +"Rn193" => AMEdata(7675.8530,0.1301,true,"*","","*",""), [86,107] => AMEdata(7675.8530,0.1301,true,"*","","*",""), +"Ta194" => AMEdata(7865,3,false,"4392#","640#","7280#","583#"), [73,121] => AMEdata(7865,3,false,"4392#","640#","7280#","583#"), +"W194" => AMEdata(7899,2,false,"6291#","361#","2850#","361#"), [74,120] => AMEdata(7899,2,false,"6291#","361#","2850#","361#"), +"Re194" => AMEdata(7909,1,false,"5100#","204#","5175#","200#"), [75,119] => AMEdata(7909,1,false,"5100#","204#","5175#","200#"), +"Os194" => AMEdata(7932.0232,0.0124,true,"7112.0935","3.1260","96.6000","2.0000"), [76,118] => AMEdata(7932.0232,0.0124,true,"7112.0935","3.1260","96.6000","2.0000"), +"Ir194" => AMEdata(7928.4885,0.0069,true,"6066.7897","0.1103","2228.3252","1.2569"), [77,117] => AMEdata(7928.4885,0.0069,true,"6066.7897","0.1103","2228.3252","1.2569"), +"Pt194" => AMEdata(7935.9420,0.0026,true,"8351.7426","1.2850","-2548.1518","2.1174"), [78,116] => AMEdata(7935.9420,0.0026,true,"8351.7426","1.2850","-2548.1518","2.1174"), +"Au194" => AMEdata(7918.7744,0.0109,true,"6878.4385","8.8984","-27.9978","3.5809"), [79,115] => AMEdata(7918.7744,0.0109,true,"6878.4385","8.8984","-27.9978","3.5809"), +"Hg194" => AMEdata(7914.5974,0.0149,true,"9193.1048","15.7720","-5246.4542","14.2677"), [80,114] => AMEdata(7914.5974,0.0149,true,"9193.1048","15.7720","-5246.4542","14.2677"), +"Tl194" => AMEdata(7883.5211,0.0720,true,"7531.5972","15.4987","-2729.6315","22.3433"), [81,113] => AMEdata(7883.5211,0.0720,true,"7531.5972","15.4987","-2729.6315","22.3433"), +"Pb194" => AMEdata(7865.4181,0.0899,true,"10049.9294","20.2444","-8184.8462","18.2094"), [82,112] => AMEdata(7865.4181,0.0899,true,"10049.9294","20.2444","-8184.8462","18.2094"), +"Bi194" => AMEdata(7819.1955,0.0271,true,"8209.7745","9.2183","-5018.4029","13.9386"), [83,111] => AMEdata(7819.1955,0.0271,true,"8209.7745","9.2183","-5018.4029","13.9386"), +"Po194" => AMEdata(7789.2947,0.0666,true,"10750.6329","19.4308","-10288.1273","26.8153"), [84,110] => AMEdata(7789.2947,0.0666,true,"10750.6329","19.4308","-10288.1273","26.8153"), +"At194" => AMEdata(7732.2304,0.1211,true,"8720.4846","31.9421","-6441.1134","28.8079"), [85,109] => AMEdata(7732.2304,0.1211,true,"8720.4846","31.9421","-6441.1134","28.8079"), +"Rn194" => AMEdata(7694.9961,0.0859,true,"11389.6146","30.1323","*",""), [86,108] => AMEdata(7694.9961,0.0859,true,"11389.6146","30.1323","*",""), +"W195" => AMEdata(7881,2,false,"4401#","424#","4820#","424#"), [74,121] => AMEdata(7881,2,false,"4401#","424#","4820#","424#"), +"Re195" => AMEdata(7901,2,false,"6371#","361#","3951#","305#"), [75,120] => AMEdata(7901,2,false,"6371#","361#","3951#","305#"), +"Os195" => AMEdata(7917.7449,0.2866,true,"5147.7380","55.9413","2180.7220","55.9055"), [76,119] => AMEdata(7917.7449,0.2866,true,"5147.7380","55.9413","2180.7220","55.9055"), +"Ir195" => AMEdata(7924.9160,0.0068,true,"7231.8600","0.0600","1101.5601","1.2637"), [77,118] => AMEdata(7924.9160,0.0068,true,"7231.8600","0.0600","1101.5601","1.2637"), +"Pt195" => AMEdata(7926.5530,0.0026,true,"6105.0949","0.1193","-226.8175","0.9998"), [78,117] => AMEdata(7926.5530,0.0026,true,"6105.0949","0.1193","-226.8175","0.9998"), +"Au195" => AMEdata(7921.3778,0.0057,true,"8426.4293","2.3407","-1553.7190","23.1562"), [79,116] => AMEdata(7921.3778,0.0057,true,"8426.4293","2.3407","-1553.7190","23.1562"), +"Hg195" => AMEdata(7909.3980,0.1187,true,"6900.7081","23.3211","-2858.0499","25.6707"), [80,115] => AMEdata(7909.3980,0.1187,true,"6900.7081","23.3211","-2858.0499","25.6707"), +"Tl195" => AMEdata(7890.7293,0.0571,true,"9289.1123","17.8609","-4417.2524","12.2333"), [81,114] => AMEdata(7890.7293,0.0571,true,"9289.1123","17.8609","-4417.2524","12.2333"), +"Pb195" => AMEdata(7864.0647,0.0261,true,"7601.4914","18.1607","-5712.4729","7.3370"), [82,113] => AMEdata(7864.0647,0.0261,true,"7601.4914","18.1607","-5712.4729","7.3370"), +"Bi195" => AMEdata(7830.7579,0.0271,true,"10073.8648","7.4521","-6908.9121","8.0284"), [83,112] => AMEdata(7830.7579,0.0271,true,"10073.8648","7.4521","-6908.9121","8.0284"), +"Po195" => AMEdata(7791.3155,0.0310,true,"8183.3556","14.2550","-7646.3554","11.3199"), [84,111] => AMEdata(7791.3155,0.0310,true,"8183.3556","14.2550","-7646.3554","11.3199"), +"At195" => AMEdata(7748.0914,0.0491,true,"10825.1275","25.3771","-8520.5842","52.5650"), [85,110] => AMEdata(7748.0914,0.0491,true,"10825.1275","25.3771","-8520.5842","52.5650"), +"Rn195" => AMEdata(7700.3841,0.2651,true,"8745.6567","54.3032","*",""), [86,109] => AMEdata(7700.3841,0.2651,true,"8745.6567","54.3032","*",""), +"W196" => AMEdata(7872,2,false,"6071#","500#","3620#","500#"), [74,122] => AMEdata(7872,2,false,"6071#","500#","3620#","500#"), +"Re196" => AMEdata(7886,2,false,"4871#","424#","5918#","303#"), [75,121] => AMEdata(7886,2,false,"4871#","424#","5918#","303#"), +"Os196" => AMEdata(7912.2301,0.2044,true,"6836.8446","68.7609","1158.3989","55.4951"), [76,120] => AMEdata(7912.2301,0.2044,true,"6836.8446","68.7609","1158.3989","55.4951"), +"Ir196" => AMEdata(7914.1487,0.1960,true,"5814.5215","38.4320","3209.0164","38.4111"), [77,119] => AMEdata(7914.1487,0.1960,true,"5814.5215","38.4320","3209.0164","38.4111"), +"Pt196" => AMEdata(7926.5297,0.0026,true,"7921.9778","0.1287","-1505.8204","2.9605"), [78,118] => AMEdata(7926.5297,0.0026,true,"7921.9778","0.1287","-1505.8204","2.9605"), +"Au196" => AMEdata(7914.8553,0.0151,true,"6642.9748","3.1255","687.2263","3.1176"), [79,117] => AMEdata(7914.8553,0.0151,true,"6642.9748","3.1255","687.2263","3.1176"), +"Hg196" => AMEdata(7914.3700,0.0150,true,"8883.9201","23.3260","-4329.3455","12.4627"), [80,116] => AMEdata(7914.3700,0.0150,true,"8883.9201","23.3260","-4329.3455","12.4627"), +"Tl196" => AMEdata(7888.2900,0.0618,true,"7412.6245","16.4445","-2148.3639","14.3556"), [81,115] => AMEdata(7888.2900,0.0618,true,"7412.6245","16.4445","-2148.3639","14.3556"), +"Pb196" => AMEdata(7873.3374,0.0393,true,"9681.5131","9.2336","-7339.2020","25.6160"), [82,114] => AMEdata(7873.3374,0.0393,true,"9681.5131","9.2336","-7339.2020","25.6160"), +"Bi196" => AMEdata(7831.9009,0.1246,true,"8054.7839","24.9937","-4540.3012","25.0142"), [83,113] => AMEdata(7831.9009,0.1246,true,"8054.7839","24.9937","-4540.3012","25.0142"), +"Po196" => AMEdata(7804.7445,0.0275,true,"10423.3948","8.0920","-9555.5564","30.7105"), [84,112] => AMEdata(7804.7445,0.0275,true,"10423.3948","8.0920","-9555.5564","30.7105"), +"At196" => AMEdata(7752.0001,0.1543,true,"8514.1938","31.7143","-5888.3439","33.3417"), [85,111] => AMEdata(7752.0001,0.1543,true,"8514.1938","31.7143","-5888.3439","33.3417"), +"Rn196" => AMEdata(7717.9660,0.0717,true,"11146.4341","53.5613","*",""), [86,110] => AMEdata(7717.9660,0.0717,true,"11146.4341","53.5613","*",""), +"W197" => AMEdata(7853,2,false,"4202#","565#","5480#","500#"), [74,123] => AMEdata(7853,2,false,"4202#","565#","5480#","500#"), +"Re197" => AMEdata(7877,2,false,"6062#","424#","4729#","361#"), [75,122] => AMEdata(7877,2,false,"6062#","424#","4729#","361#"), +"Os197" => AMEdata(7897,1,false,"4874#","204#","3185#","201#"), [76,121] => AMEdata(7897,1,false,"4874#","204#","3185#","201#"), +"Ir197" => AMEdata(7909.0003,0.1021,true,"6899.9192","43.3556","2155.6519","20.1061"), [77,120] => AMEdata(7909.0003,0.1021,true,"6899.9192","43.3556","2155.6519","20.1061"), +"Pt197" => AMEdata(7915.9714,0.0027,true,"5846.5546","0.2637","719.9769","0.5022"), [78,119] => AMEdata(7915.9714,0.0027,true,"5846.5546","0.2637","719.9769","0.5022"), +"Au197" => AMEdata(7915.6548,0.0028,true,"8072.3519","2.9391","-599.5206","3.2022"), [79,118] => AMEdata(7915.6548,0.0028,true,"8072.3519","2.9391","-599.5206","3.2022"), +"Hg197" => AMEdata(7908.6402,0.0163,true,"6785.6050","1.4777","-2186.0092","13.9478"), [80,117] => AMEdata(7908.6402,0.0163,true,"6785.6050","1.4777","-2186.0092","13.9478"), +"Tl197" => AMEdata(7893.5725,0.0689,true,"8928.9414","18.1909","-3608.8367","14.3969"), [81,116] => AMEdata(7893.5725,0.0689,true,"8928.9414","18.1909","-3608.8367","14.3969"), +"Pb197" => AMEdata(7871.2822,0.0244,true,"7468.4686","9.0477","-5058.1894","9.6190"), [82,115] => AMEdata(7871.2822,0.0244,true,"7468.4686","9.0477","-5058.1894","9.6190"), +"Bi197" => AMEdata(7841.6348,0.0423,true,"9749.4812","25.8104","-6294.1172","12.9103"), [83,114] => AMEdata(7841.6348,0.0423,true,"9749.4812","25.8104","-6294.1172","12.9103"), +"Po197" => AMEdata(7805.7136,0.0501,true,"7995.6651","11.2342","-7037.8235","12.6871"), [84,113] => AMEdata(7805.7136,0.0501,true,"7995.6651","11.2342","-7037.8235","12.6871"), +"At197" => AMEdata(7766.0174,0.0405,true,"10513.3980","31.2713","-7865.6231","18.0538"), [85,112] => AMEdata(7766.0174,0.0405,true,"10513.3980","31.2713","-7865.6231","18.0538"), +"Rn197" => AMEdata(7722.1190,0.0822,true,"8536.1188","21.4344","-8743.5996","58.7110"), [86,111] => AMEdata(7722.1190,0.0822,true,"8536.1188","21.4344","-8743.5996","58.7110"), +"Fr197" => AMEdata(7673.7640,0.2865,true,"*","","*",""), [87,110] => AMEdata(7673.7640,0.2865,true,"*","","*",""), +"Re198" => AMEdata(7861,2,false,"4711#","500#","6610#","447#"), [75,123] => AMEdata(7861,2,false,"4711#","500#","6610#","447#"), +"Os198" => AMEdata(7890,1,false,"6592#","283#","2110#","283#"), [76,122] => AMEdata(7890,1,false,"6592#","283#","2110#","283#"), +"Ir198" => AMEdata(7897,1,false,"5517#","201#","4194#","200#"), [77,121] => AMEdata(7897,1,false,"5517#","201#","4194#","200#"), +"Pt198" => AMEdata(7914.1512,0.0106,true,"7555.5613","2.0625","-323.2251","2.0595"), [78,120] => AMEdata(7914.1512,0.0106,true,"7555.5613","2.0625","-323.2251","2.0595"), +"Au198" => AMEdata(7908.5675,0.0027,true,"6512.3594","0.0903","1373.5226","0.4905"), [79,119] => AMEdata(7908.5675,0.0027,true,"6512.3594","0.0903","1373.5226","0.4905"), +"Hg198" => AMEdata(7911.5532,0.0023,true,"8485.4026","3.1892","-3425.5625","7.5590"), [80,118] => AMEdata(7911.5532,0.0023,true,"8485.4026","3.1892","-3425.5625","7.5590"), +"Tl198" => AMEdata(7890.3011,0.0381,true,"7245.8493","15.5306","-1461.3103","11.5537"), [81,117] => AMEdata(7890.3011,0.0381,true,"7245.8493","15.5306","-1461.3103","11.5537"), +"Pb198" => AMEdata(7878.9695,0.0442,true,"9393.3756","9.9609","-6693.5916","28.9259"), [82,116] => AMEdata(7878.9695,0.0442,true,"9393.3756","9.9609","-6693.5916","28.9259"), +"Bi198" => AMEdata(7841.2123,0.1392,true,"7757.9735","28.8026","-3900.5727","32.6152"), [83,115] => AMEdata(7841.2123,0.1392,true,"7757.9735","28.8026","-3900.5727","32.6152"), +"Po198" => AMEdata(7817.5611,0.0880,true,"10151.5180","20.0210","-8764.5316","18.1013"), [84,114] => AMEdata(7817.5611,0.0880,true,"10151.5180","20.0210","-8764.5316","18.1013"), +"At198" => AMEdata(7769.3446,0.0248,true,"8424.8099","9.3691","-5478.4271","14.2879"), [85,113] => AMEdata(7769.3446,0.0248,true,"8424.8099","9.3691","-5478.4271","14.2879"), +"Rn198" => AMEdata(7737.7245,0.0678,true,"10812.0059","21.0239","-10808.0177","33.8991"), [86,112] => AMEdata(7737.7245,0.0678,true,"10812.0059","21.0239","-10808.0177","33.8991"), +"Fr198" => AMEdata(7679.1873,0.1572,true,"8747.5878","64.4502","*",""), [87,111] => AMEdata(7679.1873,0.1572,true,"8747.5878","64.4502","*",""), +"Re199" => AMEdata(7850,2,false,"5811#","565#","5541#","447#"), [75,124] => AMEdata(7850,2,false,"5811#","565#","5541#","447#"), +"Os199" => AMEdata(7874,1,false,"4741#","283#","4128#","204#"), [76,123] => AMEdata(7874,1,false,"4741#","283#","4128#","204#"), +"Ir199" => AMEdata(7891.2066,0.2063,true,"6760#","204#","2990.1656","41.0030"), [77,122] => AMEdata(7891.2066,0.2063,true,"6760#","204#","2990.1656","41.0030"), +"Pt199" => AMEdata(7902.3011,0.0109,true,"5556.0000","0.5000","1705.0525","2.1201"), [78,121] => AMEdata(7902.3011,0.0109,true,"5556.0000","0.5000","1705.0525","2.1201"), +"Au199" => AMEdata(7906.9379,0.0027,true,"7584.2775","0.0599","452.3142","0.6126"), [79,120] => AMEdata(7906.9379,0.0027,true,"7584.2775","0.0599","452.3142","0.6126"), +"Hg199" => AMEdata(7905.2794,0.0027,true,"6663.0691","0.5844","-1486.6695","27.9498"), [80,119] => AMEdata(7905.2794,0.0027,true,"6663.0691","0.5844","-1486.6695","27.9498"), +"Tl199" => AMEdata(7893.8773,0.1404,true,"8601.9621","28.9455","-2827.6624","28.7653"), [81,118] => AMEdata(7893.8773,0.1404,true,"8601.9621","28.9455","-2827.6624","28.7653"), +"Pb199" => AMEdata(7875.7366,0.0343,true,"7235.6100","11.0945","-4434.1181","12.6179"), [82,117] => AMEdata(7875.7366,0.0343,true,"7235.6100","11.0945","-4434.1181","12.6179"), +"Bi199" => AMEdata(7849.5232,0.0533,true,"9495.0835","29.5437","-5558.7875","11.9224"), [83,116] => AMEdata(7849.5232,0.0533,true,"9495.0835","29.5437","-5558.7875","11.9224"), +"Po199" => AMEdata(7817.6582,0.0273,true,"7836.8686","18.2486","-6415.4515","7.6464"), [84,115] => AMEdata(7817.6582,0.0273,true,"7836.8686","18.2486","-6415.4515","7.6464"), +"At199" => AMEdata(7781.4883,0.0271,true,"10185.9487","7.2832","-7263.5308","9.0686"), [85,114] => AMEdata(7781.4883,0.0271,true,"10185.9487","7.2832","-7263.5308","9.0686"), +"Rn199" => AMEdata(7741.0568,0.0367,true,"8400.8450","15.2754","-8331.2349","15.5446"), [86,113] => AMEdata(7741.0568,0.0367,true,"8400.8450","15.2754","-8331.2349","15.5446"), +"Fr199" => AMEdata(7695.2599,0.0690,true,"10877.6278","34.0213","*",""), [87,112] => AMEdata(7695.2599,0.0690,true,"10877.6278","34.0213","*",""), +"Os200" => AMEdata(7867,1,false,"6351#","361#","3020#","358#"), [76,124] => AMEdata(7867,1,false,"6351#","361#","3020#","358#"), +"Ir200" => AMEdata(7878,1,false,"5242#","200#","5030#","197#"), [77,123] => AMEdata(7878,1,false,"5242#","200#","5030#","197#"), +"Pt200" => AMEdata(7899.1986,0.1006,true,"7281.7963","20.0062","640.9158","33.4386"), [78,122] => AMEdata(7899.1986,0.1006,true,"7281.7963","20.0062","640.9158","33.4386"), +"Au200" => AMEdata(7898.4915,0.1336,true,"6217.6596","26.7210","2263.1737","26.7188"), [79,121] => AMEdata(7898.4915,0.1336,true,"6217.6596","26.7210","2263.1737","26.7188"), +"Hg200" => AMEdata(7905.8956,0.0027,true,"8028.5191","0.1133","-2456.0403","5.7346"), [80,120] => AMEdata(7905.8956,0.0027,true,"8028.5191","0.1133","-2456.0403","5.7346"), +"Tl200" => AMEdata(7889.7037,0.0288,true,"7059.1483","28.5321","-796.3695","11.5360"), [81,119] => AMEdata(7889.7037,0.0288,true,"7059.1483","28.5321","-796.3695","11.5360"), +"Pb200" => AMEdata(7881.8101,0.0500,true,"9090.4412","12.1117","-5880.2841","24.8094"), [82,118] => AMEdata(7881.8101,0.0500,true,"9090.4412","12.1117","-5880.2841","24.8094"), +"Bi200" => AMEdata(7848.4969,0.1135,true,"7644.2753","25.0604","-3428.8901","23.9327"), [83,117] => AMEdata(7848.4969,0.1135,true,"7644.2753","25.0604","-3428.8901","23.9327"), +"Po200" => AMEdata(7827.4407,0.0379,true,"9774.1726","9.3188","-7953.7897","25.6119"), [84,116] => AMEdata(7827.4407,0.0379,true,"9774.1726","9.3188","-7953.7897","25.6119"), +"At200" => AMEdata(7783.7601,0.1223,true,"8235.8344","25.0504","-4987.4394","25.1411"), [85,115] => AMEdata(7783.7601,0.1223,true,"8235.8344","25.0504","-4987.4394","25.1411"), +"Rn200" => AMEdata(7754.9111,0.0290,true,"10511.9259","9.3162","-10134.0327","31.0688"), [86,114] => AMEdata(7754.9111,0.0290,true,"10511.9259","9.3162","-10134.0327","31.0688"), +"Fr200" => AMEdata(7700.3292,0.1526,true,"8709.1281","33.4681","*",""), [87,113] => AMEdata(7700.3292,0.1526,true,"8709.1281","33.4681","*",""), +"Os201" => AMEdata(7849,1,false,"4361#","424#","5000#","361#"), [76,125] => AMEdata(7849,1,false,"4361#","424#","5000#","361#"), +"Ir201" => AMEdata(7870,1,false,"6342#","280#","3901#","206#"), [77,124] => AMEdata(7870,1,false,"6342#","280#","3901#","206#"), +"Pt201" => AMEdata(7885.8337,0.2493,true,"5212.8457","53.9875","2660.0000","50.0000"), [78,123] => AMEdata(7885.8337,0.2493,true,"5212.8457","53.9875","2660.0000","50.0000"), +"Au201" => AMEdata(7895.1752,0.0160,true,"7231.9299","26.9074","1261.8237","3.1471"), [79,122] => AMEdata(7895.1752,0.0160,true,"7231.9299","26.9074","1261.8237","3.1471"), +"Hg201" => AMEdata(7897.5607,0.0036,true,"6230.5799","0.5941","-481.7508","14.1815"), [80,121] => AMEdata(7897.5607,0.0036,true,"6230.5799","0.5941","-481.7508","14.1815"), +"Tl201" => AMEdata(7891.2717,0.0706,true,"8204.8694","15.3009","-1909.7458","18.5299"), [81,120] => AMEdata(7891.2717,0.0706,true,"8204.8694","15.3009","-1909.7458","18.5299"), +"Pb201" => AMEdata(7877.8782,0.0684,true,"7091.4931","16.9979","-3842.0269","18.3637"), [82,119] => AMEdata(7877.8782,0.0684,true,"7091.4931","16.9979","-3842.0269","18.3637"), +"Bi201" => AMEdata(7854.8713,0.0606,true,"9129.7503","25.7607","-4907.8397","13.1377"), [83,118] => AMEdata(7854.8713,0.0606,true,"9129.7503","25.7607","-4907.8397","13.1377"), +"Po201" => AMEdata(7826.5619,0.0246,true,"7650.8008","9.0069","-5731.7247","9.5606"), [84,117] => AMEdata(7826.5619,0.0246,true,"7650.8008","9.0069","-5731.7247","9.5606"), +"At201" => AMEdata(7794.1536,0.0407,true,"9872.8659","25.7976","-6682.0288","13.0163"), [85,116] => AMEdata(7794.1536,0.0407,true,"9872.8659","25.7976","-6682.0288","13.0163"), +"Rn201" => AMEdata(7757.0174,0.0504,true,"8178.2764","11.6613","-7695.9856","13.5972"), [86,115] => AMEdata(7757.0174,0.0504,true,"8178.2764","11.6613","-7695.9856","13.5972"), +"Fr201" => AMEdata(7714.8367,0.0452,true,"10616.3236","31.8461","-8348.2439","22.2391"), [87,114] => AMEdata(7714.8367,0.0452,true,"10616.3236","31.8461","-8348.2439","22.2391"), +"Ra201" => AMEdata(7669.4108,0.1010,true,"*","","*",""), [88,113] => AMEdata(7669.4108,0.1010,true,"*","","*",""), +"Os202" => AMEdata(7839,2,false,"5762#","500#","4110#","500#"), [76,126] => AMEdata(7839,2,false,"5762#","500#","4110#","500#"), +"Ir202" => AMEdata(7855,1,false,"4872#","361#","6052#","301#"), [77,125] => AMEdata(7855,1,false,"4872#","361#","6052#","301#"), +"Pt202" => AMEdata(7881.5609,0.1245,true,"7022.7404","56.0616","1660.8540","34.2759"), [78,124] => AMEdata(7881.5609,0.1245,true,"7022.7404","56.0616","1660.8540","34.2759"), +"Au202" => AMEdata(7885.9100,0.1153,true,"6023.5944","23.5087","2992.3278","23.2980"), [79,123] => AMEdata(7885.9100,0.1153,true,"6023.5944","23.5087","2992.3278","23.2980"), +"Hg202" => AMEdata(7896.8505,0.0035,true,"7754.0984","0.1982","-1364.8906","1.8348"), [80,122] => AMEdata(7896.8505,0.0035,true,"7754.0984","0.1982","-1364.8906","1.8348"), +"Tl202" => AMEdata(7886.2206,0.0091,true,"6870.9586","14.2434","-39.8110","4.1863"), [81,121] => AMEdata(7886.2206,0.0091,true,"6870.9586","14.2434","-39.8110","4.1863"), +"Pb202" => AMEdata(7882.1505,0.0188,true,"8740.8934","14.2603","-5189.7539","14.5070"), [82,120] => AMEdata(7882.1505,0.0188,true,"8740.8934","14.2603","-5189.7539","14.5070"), +"Bi202" => AMEdata(7852.5857,0.0693,true,"7393.1664","18.5215","-2809.2850","16.4660"), [83,119] => AMEdata(7852.5857,0.0693,true,"7393.1664","18.5215","-2809.2850","16.4660"), +"Po202" => AMEdata(7834.8053,0.0429,true,"9491.7211","9.9563","-7346.4628","28.9311"), [84,118] => AMEdata(7834.8053,0.0429,true,"9491.7211","9.9563","-7346.4628","28.9311"), +"At202" => AMEdata(7794.5637,0.1366,true,"7876.9830","28.7894","-4320.5458","32.6924"), [85,117] => AMEdata(7794.5637,0.1366,true,"7876.9830","28.7894","-4320.5458","32.6924"), +"Rn202" => AMEdata(7769.3018,0.0867,true,"10238.4659","20.2334","-9376.0984","18.5296"), [86,116] => AMEdata(7769.3018,0.0867,true,"10238.4659","20.2334","-9376.0984","18.5296"), +"Fr202" => AMEdata(7719.0125,0.0299,true,"8558.3531","10.9014","-5973.3620","16.1841"), [87,115] => AMEdata(7719.0125,0.0299,true,"8558.3531","10.9014","-5973.3620","16.1841"), +"Ra202" => AMEdata(7685.5684,0.0743,true,"10933.2349","25.2460","*",""), [88,114] => AMEdata(7685.5684,0.0743,true,"10933.2349","25.2460","*",""), +"Os203" => AMEdata(7814,2,false,"2811#","565#","7100#","565#"), [76,127] => AMEdata(7814,2,false,"2811#","565#","7100#","565#"), +"Ir203" => AMEdata(7845,2,false,"5801#","500#","5140#","447#"), [77,126] => AMEdata(7845,2,false,"5801#","500#","5140#","447#"), +"Pt203" => AMEdata(7867,1,false,"4889#","202#","3633#","200#"), [78,125] => AMEdata(7867,1,false,"4889#","202#","3633#","200#"), +"Au203" => AMEdata(7880.8650,0.0152,true,"6861.7799","23.4905","2125.7592","3.4514"), [79,124] => AMEdata(7880.8650,0.0152,true,"6861.7799","23.4905","2125.7592","3.4514"), +"Hg203" => AMEdata(7887.4828,0.0080,true,"5995.2113","1.5738","492.1062","1.2247"), [80,123] => AMEdata(7887.4828,0.0080,true,"5995.2113","1.5738","492.1062","1.2247"), +"Tl203" => AMEdata(7886.0530,0.0058,true,"7852.2081","1.6777","-974.8265","6.4609"), [81,122] => AMEdata(7886.0530,0.0058,true,"7852.2081","1.6777","-974.8265","6.4609"), +"Pb203" => AMEdata(7877.3970,0.0323,true,"6917.1926","7.5494","-3261.5896","14.3559"), [82,121] => AMEdata(7877.3970,0.0323,true,"6917.1926","7.5494","-3261.5896","14.3559"), +"Bi203" => AMEdata(7857.4762,0.0629,true,"8845.3570","18.9416","-4214.0744","13.5942"), [83,120] => AMEdata(7857.4762,0.0629,true,"8845.3570","18.9416","-4214.0744","13.5942"), +"Po203" => AMEdata(7832.8632,0.0229,true,"7440.5676","9.8333","-5148.2116","11.5921"), [84,119] => AMEdata(7832.8632,0.0229,true,"7440.5676","9.8333","-5148.2116","11.5921"), +"At203" => AMEdata(7803.6487,0.0523,true,"9638.8188","29.5752","-5978.5623","12.1098"), [85,118] => AMEdata(7803.6487,0.0523,true,"9638.8188","29.5752","-5978.5623","12.1098"), +"Rn203" => AMEdata(7770.3437,0.0286,true,"7980.8023","18.4579","-7060.4572","8.5231"), [86,117] => AMEdata(7770.3437,0.0286,true,"7980.8023","18.4579","-7060.4572","8.5231"), +"Fr203" => AMEdata(7731.7092,0.0307,true,"10296.4435","8.6733","-7724.9182","11.5191"), [87,116] => AMEdata(7731.7092,0.0307,true,"10296.4435","8.6733","-7724.9182","11.5191"), +"Ra203" => AMEdata(7689.8015,0.0477,true,"8544.8873","17.8714","*",""), [88,115] => AMEdata(7689.8015,0.0477,true,"8544.8873","17.8714","*",""), +"Ir204" => AMEdata(7823,2,false,"3271#","565#","8050#","447#"), [77,127] => AMEdata(7823,2,false,"3271#","565#","8050#","447#"), +"Pt204" => AMEdata(7859,1,false,"6181#","283#","2770#","283#"), [78,126] => AMEdata(7859,1,false,"6181#","283#","2770#","283#"), +"Au204" => AMEdata(7868,1,false,"5318#","200#","4300#","200#"), [79,125] => AMEdata(7868,1,false,"5318#","200#","4300#","200#"), +"Hg204" => AMEdata(7885.5455,0.0025,true,"7492.2630","1.6482","-344.0781","1.1876"), [80,124] => AMEdata(7885.5455,0.0025,true,"7492.2630","1.6482","-344.0781","1.1876"), +"Tl204" => AMEdata(7880.0238,0.0057,true,"6656.0787","0.2907","763.7453","0.1768"), [81,123] => AMEdata(7880.0238,0.0057,true,"6656.0787","0.2907","763.7453","0.1768"), +"Pb204" => AMEdata(7879.9326,0.0056,true,"8394.6504","6.4550","-4463.8883","9.2480"), [82,122] => AMEdata(7879.9326,0.0056,true,"8394.6504","6.4550","-4463.8883","9.2480"), +"Bi204" => AMEdata(7854.2157,0.0450,true,"7192.3517","15.7273","-2304.8814","13.6253"), [83,121] => AMEdata(7854.2157,0.0450,true,"7192.3517","15.7273","-2304.8814","13.6253"), +"Po204" => AMEdata(7839.0823,0.0494,true,"9101.5448","11.0886","-6465.7939","24.8047"), [84,120] => AMEdata(7839.0823,0.0494,true,"9101.5448","11.0886","-6465.7939","24.8047"), +"At204" => AMEdata(7803.5522,0.1111,true,"7783.9625","25.0338","-3905.1360","23.8592"), [85,119] => AMEdata(7803.5522,0.1111,true,"7783.9625","25.0338","-3905.1360","23.8592"), +"Rn204" => AMEdata(7780.5743,0.0365,true,"9857.3888","9.4424","-8577.4239","25.6840"), [86,118] => AMEdata(7780.5743,0.0365,true,"9857.3888","9.4424","-8577.4239","25.6840"), +"Fr204" => AMEdata(7734.6931,0.1205,true,"8340.4221","25.3590","-5453.7889","26.1514"), [87,117] => AMEdata(7734.6931,0.1205,true,"8340.4221","25.3590","-5453.7889","26.1514"), +"Ra204" => AMEdata(7704.1238,0.0437,true,"10611.5514","13.1721","*",""), [88,116] => AMEdata(7704.1238,0.0437,true,"10611.5514","13.1721","*",""), +"Ir205" => AMEdata(7805,2,false,"4101#","640#","7220#","583#"), [77,128] => AMEdata(7805,2,false,"4101#","640#","7220#","583#"), +"Pt205" => AMEdata(7836,1,false,"3271#","361#","5750#","361#"), [78,127] => AMEdata(7836,1,false,"3271#","361#","5750#","361#"), +"Au205" => AMEdata(7860,1,false,"6251#","283#","3717#","200#"), [79,126] => AMEdata(7860,1,false,"6251#","283#","3717#","200#"), +"Hg205" => AMEdata(7874.7325,0.0178,true,"5668.8888","3.6220","1533.0836","3.7238"), [80,125] => AMEdata(7874.7325,0.0178,true,"5668.8888","3.6220","1533.0836","3.7238"), +"Tl205" => AMEdata(7878.3946,0.0060,true,"7546.0504","0.4796","-50.6402","0.5033"), [81,124] => AMEdata(7878.3946,0.0060,true,"7546.0504","0.4796","-50.6402","0.5033"), +"Pb205" => AMEdata(7874.3313,0.0056,true,"6731.6650","0.1088","-2704.5927","4.8196"), [82,123] => AMEdata(7874.3313,0.0056,true,"6731.6650","0.1088","-2704.5927","4.8196"), +"Bi205" => AMEdata(7857.3218,0.0235,true,"8490.9606","10.3613","-3544.1710","11.1458"), [83,122] => AMEdata(7857.3218,0.0235,true,"8490.9606","10.3613","-3544.1710","11.1458"), +"Po205" => AMEdata(7836.2168,0.0491,true,"7251.6710","14.2300","-4536.8793","15.6996"), [84,121] => AMEdata(7836.2168,0.0491,true,"7251.6710","14.2300","-4536.8793","15.6996"), +"At205" => AMEdata(7810.2694,0.0588,true,"9180.5855","25.6741","-5274.7547","13.0777"), [85,120] => AMEdata(7810.2694,0.0588,true,"9180.5855","25.6741","-5274.7547","13.0777"), +"Rn205" => AMEdata(7780.7226,0.0248,true,"7810.9668","8.9678","-6399.9479","9.3288"), [86,119] => AMEdata(7780.7226,0.0248,true,"7810.9668","8.9678","-6399.9479","9.3288"), +"Fr205" => AMEdata(7745.6870,0.0382,true,"9988.4428","25.7966","-7113.6693","24.0784"), [87,118] => AMEdata(7745.6870,0.0382,true,"9988.4428","25.7966","-7113.6693","24.0784"), +"Ra205" => AMEdata(7707.1698,0.1111,true,"8328.5624","24.4580","-8302.8357","63.5402"), [88,117] => AMEdata(7707.1698,0.1111,true,"8328.5624","24.4580","-8302.8357","63.5402"), +"Ac205" => AMEdata(7662.8519,0.2894,true,"*","","*",""), [89,116] => AMEdata(7662.8519,0.2894,true,"*","","*",""), +"Pt206" => AMEdata(7820,1,false,"4492#","424#","4950#","424#"), [78,128] => AMEdata(7820,1,false,"4492#","424#","4950#","424#"), +"Au206" => AMEdata(7840,1,false,"3691#","361#","6755#","301#"), [79,127] => AMEdata(7840,1,false,"3691#","361#","6755#","301#"), +"Hg206" => AMEdata(7869.1723,0.0992,true,"6729.3271","20.7406","1307.5659","20.4100"), [80,126] => AMEdata(7869.1723,0.0992,true,"6729.3271","20.7406","1307.5659","20.4100"), +"Tl206" => AMEdata(7871.7219,0.0062,true,"6503.8094","0.3865","1532.2128","0.6117"), [81,125] => AMEdata(7871.7219,0.0062,true,"6503.8094","0.3865","1532.2128","0.6117"), +"Pb206" => AMEdata(7875.3620,0.0056,true,"8086.6623","0.0599","-3757.3057","7.5461"), [82,124] => AMEdata(7875.3620,0.0056,true,"8086.6623","0.0599","-3757.3057","7.5461"), +"Bi206" => AMEdata(7853.3249,0.0371,true,"7033.9493","8.9539","-1839.5323","8.6005"), [83,123] => AMEdata(7853.3249,0.0371,true,"7033.9493","8.9539","-1839.5323","8.6005"), +"Po206" => AMEdata(7840.5973,0.0195,true,"8738.5880","10.8281","-5749.2803","14.1099"), [84,122] => AMEdata(7840.5973,0.0195,true,"8738.5880","10.8281","-5749.2803","14.1099"), +"At206" => AMEdata(7808.8904,0.0657,true,"7526.1870","18.0833","-3306.4697","16.0227"), [85,121] => AMEdata(7808.8904,0.0657,true,"7526.1870","18.0833","-3306.4697","16.0227"), +"Rn206" => AMEdata(7789.0417,0.0417,true,"9494.4720","9.9558","-7886.0592","29.1075"), [86,120] => AMEdata(7789.0417,0.0417,true,"9494.4720","9.9558","-7886.0592","29.1075"), +"Fr206" => AMEdata(7746.9621,0.1350,true,"8008.3607","28.8904","-4812.4721","33.1318"), [87,119] => AMEdata(7746.9621,0.1350,true,"8008.3607","28.8904","-4812.4721","33.1318"), +"Ra206" => AMEdata(7719.8028,0.0874,true,"10309.5579","29.0316","-9919.1406","67.5328"), [88,118] => AMEdata(7719.8028,0.0874,true,"10309.5579","29.0316","-9919.1406","67.5328"), +"Ac206" => AMEdata(7667.8538,0.3160,true,"8693.2531","88.0636","*",""), [89,117] => AMEdata(7667.8538,0.3160,true,"8693.2531","88.0636","*",""), +"Pt207" => AMEdata(7797,2,false,"2970#","500#","6501#","500#"), [78,129] => AMEdata(7797,2,false,"2970#","500#","6501#","500#"), +"Au207" => AMEdata(7824,1,false,"4521#","424#","5847#","301#"), [79,128] => AMEdata(7824,1,false,"4521#","424#","5847#","301#"), +"Hg207" => AMEdata(7848.6112,0.1440,true,"3613.0362","36.1431","4546.9906","30.3000"), [80,127] => AMEdata(7848.6112,0.1440,true,"3613.0362","36.1431","4546.9906","30.3000"), +"Tl207" => AMEdata(7866.7979,0.0263,true,"6852.4608","5.4299","1417.5323","5.4024"), [81,126] => AMEdata(7866.7979,0.0263,true,"6852.4608","5.4299","1417.5323","5.4024"), +"Pb207" => AMEdata(7869.8664,0.0055,true,"6737.7802","0.0953","-2397.4140","2.1175"), [82,125] => AMEdata(7869.8664,0.0055,true,"6737.7802","0.0953","-2397.4140","2.1175"), +"Bi207" => AMEdata(7854.5053,0.0116,true,"8097.6719","7.8370","-2908.8541","6.6140"), [83,124] => AMEdata(7854.5053,0.0116,true,"8097.6719","7.8370","-2908.8541","6.6140"), +"Po207" => AMEdata(7836.6734,0.0322,true,"7028.3502","7.7500","-3918.2186","14.0754"), [84,123] => AMEdata(7836.6734,0.0322,true,"7028.3502","7.7500","-3918.2186","14.0754"), +"At207" => AMEdata(7813.9653,0.0599,true,"8859.4119","18.3401","-4592.7400","13.2815"), [85,122] => AMEdata(7813.9653,0.0599,true,"8859.4119","18.3401","-4592.7400","13.2815"), +"Rn207" => AMEdata(7787.9987,0.0229,true,"7573.1416","9.8131","-5785.7211","18.1857"), [86,121] => AMEdata(7787.9987,0.0229,true,"7573.1416","9.8131","-5785.7211","18.1857"), +"Fr207" => AMEdata(7756.2689,0.0848,true,"9673.4797","32.8887","-6363.0084","60.8726"), [87,120] => AMEdata(7756.2689,0.0848,true,"9673.4797","32.8887","-6363.0084","60.8726"), +"Ra207" => AMEdata(7721.7503,0.2816,true,"8122.9433","61.0037","-7632.2404","81.0004"), [88,119] => AMEdata(7721.7503,0.2816,true,"8122.9433","61.0037","-7632.2404","81.0004"), +"Ac207" => AMEdata(7681.1001,0.2717,true,"10409.8435","86.0246","*",""), [89,118] => AMEdata(7681.1001,0.2717,true,"10409.8435","86.0246","*",""), +"Pt208" => AMEdata(7780,2,false,"4432#","565#","5410#","500#"), [78,130] => AMEdata(7780,2,false,"4432#","565#","5410#","500#"), +"Au208" => AMEdata(7803,1,false,"3341#","424#","7355#","302#"), [79,129] => AMEdata(7803,1,false,"3341#","424#","7355#","302#"), +"Hg208" => AMEdata(7834.1914,0.1478,true,"4849.2800","42.8183","3484.7131","30.7951"), [80,128] => AMEdata(7834.1914,0.1478,true,"4849.2800","42.8183","3484.7131","30.7951"), +"Tl208" => AMEdata(7847.1835,0.0089,true,"3787.0025","5.5967","4998.3984","1.6693"), [81,127] => AMEdata(7847.1835,0.0089,true,"3787.0025","5.5967","4998.3984","1.6693"), +"Pb208" => AMEdata(7867.4530,0.0055,true,"7367.8686","0.0520","-2878.3680","2.0127"), [82,126] => AMEdata(7867.4530,0.0055,true,"7367.8686","0.0520","-2878.3680","2.0127"), +"Bi208" => AMEdata(7849.8534,0.0111,true,"6886.9146","2.7126","-1400.9438","2.3787"), [83,125] => AMEdata(7849.8534,0.0111,true,"6886.9146","2.7126","-1400.9438","2.3787"), +"Po208" => AMEdata(7839.3568,0.0080,true,"8394.8249","6.6835","-4999.3061","9.0736"), [84,124] => AMEdata(7839.3568,0.0080,true,"8394.8249","6.6835","-4999.3061","9.0736"), +"At208" => AMEdata(7811.5604,0.0429,true,"7313.7374","15.2745","-2814.5118","13.5215"), [85,123] => AMEdata(7811.5604,0.0429,true,"7313.7374","15.2745","-2814.5118","13.5215"), +"Rn208" => AMEdata(7794.2678,0.0489,true,"9091.9656","11.2149","-6990.4614","15.4656"), [86,122] => AMEdata(7794.2678,0.0489,true,"9091.9656","11.2149","-6990.4614","15.4656"), +"Fr208" => AMEdata(7756.8985,0.0560,true,"7887.2253","21.0744","-4392.8615","14.7413"), [87,121] => AMEdata(7756.8985,0.0560,true,"7887.2253","21.0744","-4392.8615","14.7413"), +"Ra208" => AMEdata(7732.0177,0.0434,true,"9857.3723","58.9795","-9032.9208","65.1111"), [88,120] => AMEdata(7732.0177,0.0434,true,"9857.3723","58.9795","-9032.9208","65.1111"), +"Ac208" => AMEdata(7684.8289,0.3100,true,"8456.6919","85.5680","-5927.1868","71.9264"), [89,119] => AMEdata(7684.8289,0.3100,true,"8456.6919","85.5680","-5927.1868","71.9264"), +"Th208" => AMEdata(7652.5716,0.1532,true,"*","","*",""), [90,118] => AMEdata(7652.5716,0.1532,true,"*","","*",""), +"Au209" => AMEdata(7786,2,false,"4391#","500#","6380#","427#"), [79,130] => AMEdata(7786,2,false,"4391#","500#","6380#","427#"), +"Hg209" => AMEdata(7813,1,false,"3416#","153#","5035#","150#"), [80,129] => AMEdata(7813,1,false,"3416#","153#","5035#","150#"), +"Tl209" => AMEdata(7833.3979,0.0292,true,"4965.9901","6.2704","3969.7809","6.2115"), [81,128] => AMEdata(7833.3979,0.0292,true,"4965.9901","6.2704","3969.7809","6.2115"), +"Pb209" => AMEdata(7848.6488,0.0084,true,"3937.3726","1.3444","644.0152","1.1462"), [82,127] => AMEdata(7848.6488,0.0084,true,"3937.3726","1.3444","644.0152","1.1462"), +"Bi209" => AMEdata(7847.9869,0.0065,true,"7459.7558","1.8570","-1892.5741","1.5635"), [83,126] => AMEdata(7847.9869,0.0065,true,"7459.7558","1.8570","-1892.5741","1.5635"), +"Po209" => AMEdata(7835.1882,0.0085,true,"6968.1256","1.8654","-3482.2417","4.9599"), [84,125] => AMEdata(7835.1882,0.0085,true,"6968.1256","1.8654","-3482.2417","4.9599"), +"At209" => AMEdata(7814.7835,0.0227,true,"8485.1900","10.1036","-3942.7237","11.0298"), [85,124] => AMEdata(7814.7835,0.0227,true,"8485.1900","10.1036","-3942.7237","11.0298"), +"Rn209" => AMEdata(7792.1755,0.0477,true,"7356.9781","14.2258","-5158.9051","15.2153"), [86,123] => AMEdata(7792.1755,0.0477,true,"7356.9781","14.2258","-5158.9051","15.2153"), +"Fr209" => AMEdata(7763.7485,0.0550,true,"9188.5344","16.3775","-5640.3845","12.8549"), [87,122] => AMEdata(7763.7485,0.0550,true,"9188.5344","16.3775","-5640.3845","12.8549"), +"Ra209" => AMEdata(7733.0177,0.0275,true,"7941.0114","10.6597","-6986.6464","56.1409"), [88,121] => AMEdata(7733.0177,0.0275,true,"7941.0114","10.6597","-6986.6464","56.1409"), +"Ac209" => AMEdata(7695.8455,0.2672,true,"9987.2858","85.3043","-7550#","117#"), [89,120] => AMEdata(7695.8455,0.2672,true,"9987.2858","85.3043","-7550#","117#"), +"Th209" => AMEdata(7656,0,false,"8364#","108#","*",""), [90,119] => AMEdata(7656,0,false,"8364#","108#","*",""), +"Au210" => AMEdata(7764,2,false,"3161#","565#","7980#","447#"), [79,131] => AMEdata(7764,2,false,"3161#","565#","7980#","447#"), +"Hg210" => AMEdata(7799,1,false,"4762#","250#","3947#","201#"), [80,130] => AMEdata(7799,1,false,"4762#","250#","3947#","201#"), +"Tl210" => AMEdata(7813.5890,0.0553,true,"3673.5210","13.0584","5481.4334","11.5610"), [81,129] => AMEdata(7813.5890,0.0553,true,"3673.5210","13.0584","5481.4334","11.5610"), +"Pb210" => AMEdata(7835.9656,0.0069,true,"5185.1735","1.2521","63.4758","0.4992"), [82,128] => AMEdata(7835.9656,0.0069,true,"5185.1735","1.2521","63.4758","0.4992"), +"Bi210" => AMEdata(7832.5424,0.0065,true,"4604.6341","0.0785","1161.1549","0.7662"), [83,127] => AMEdata(7832.5424,0.0065,true,"4604.6341","0.0785","1161.1549","0.7662"), +"Po210" => AMEdata(7834.3462,0.0055,true,"7658.3631","1.3640","-3980.9605","7.6101"), [84,126] => AMEdata(7834.3462,0.0055,true,"7658.3631","1.3640","-3980.9605","7.6101"), +"At210" => AMEdata(7811.6638,0.0366,true,"7159.6442","8.9809","-2367.3352","8.9225"), [85,125] => AMEdata(7811.6638,0.0366,true,"7159.6442","8.9809","-2367.3352","8.9225"), +"Rn210" => AMEdata(7796.6653,0.0217,true,"8735.0327","10.9519","-6261.2558","14.1720"), [86,124] => AMEdata(7796.6653,0.0217,true,"8735.0327","10.9519","-6261.2558","14.1720"), +"Fr210" => AMEdata(7763.1243,0.0639,true,"7632.6820","17.6354","-3786.3467","16.2633"), [87,123] => AMEdata(7763.1243,0.0639,true,"7632.6820","17.6354","-3786.3467","16.2633"), +"Ra210" => AMEdata(7741.3687,0.0438,true,"9486.7198","10.8178","-8321.2403","62.8832"), [88,122] => AMEdata(7741.3687,0.0438,true,"9486.7198","10.8178","-8321.2403","62.8832"), +"Ac210" => AMEdata(7698.0182,0.2962,true,"8152.1259","83.5976","-5295.4420","65.0180"), [89,121] => AMEdata(7698.0182,0.2962,true,"8152.1259","83.5976","-5295.4420","65.0180"), +"Th210" => AMEdata(7669.0764,0.0900,true,"10407#","105#","*",""), [90,120] => AMEdata(7669.0764,0.0900,true,"10407#","105#","*",""), +"Hg211" => AMEdata(7777,1,false,"3161#","283#","5688#","205#"), [80,131] => AMEdata(7777,1,false,"3161#","283#","5688#","205#"), +"Tl211" => AMEdata(7799.7915,0.1987,true,"4902.3215","43.4936","4415.0129","41.9781"), [81,130] => AMEdata(7799.7915,0.1987,true,"4902.3215","43.4936","4415.0129","41.9781"), +"Pb211" => AMEdata(7817.0079,0.0107,true,"3835.9010","2.5740","1366.1041","5.4713"), [82,129] => AMEdata(7817.0079,0.0107,true,"3835.9010","2.5740","1366.1041","5.4713"), +"Bi211" => AMEdata(7819.7745,0.0258,true,"5138.5294","5.4542","573.3763","5.4297"), [83,128] => AMEdata(7819.7745,0.0258,true,"5138.5294","5.4542","573.3763","5.4297"), +"Po211" => AMEdata(7818.7842,0.0060,true,"4550.7508","0.5234","-785.3012","2.5385"), [84,127] => AMEdata(7818.7842,0.0060,true,"4550.7508","0.5234","-785.3012","2.5385"), +"At211" => AMEdata(7811.3545,0.0129,true,"7746.4100","8.0052","-2891.8615","6.8937"), [85,126] => AMEdata(7811.3545,0.0129,true,"7746.4100","8.0052","-2891.8615","6.8937"), +"Rn211" => AMEdata(7793.9412,0.0323,true,"7221.8838","8.1742","-4615.0152","13.7862"), [86,125] => AMEdata(7793.9412,0.0323,true,"7221.8838","8.1742","-4615.0152","13.7862"), +"Fr211" => AMEdata(7768.3613,0.0568,true,"8868.1244","17.9796","-4972.1844","12.9786"), [87,124] => AMEdata(7768.3613,0.0568,true,"8868.1244","17.9796","-4972.1844","12.9786"), +"Ra211" => AMEdata(7741.0887,0.0235,true,"7682.2867","10.4486","-6311.6152","53.9818"), [88,123] => AMEdata(7741.0887,0.0235,true,"7682.2867","10.4486","-6311.6152","53.9818"), +"Ac211" => AMEdata(7707.4680,0.2548,true,"9691.9119","82.2140","-6732.9111","101.4758"), [89,122] => AMEdata(7707.4680,0.2548,true,"9691.9119","82.2140","-6732.9111","101.4758"), +"Th211" => AMEdata(7671.8506,0.4079,true,"8254.4428","88.1219","-8175.8296","110.6091"), [90,121] => AMEdata(7671.8506,0.4079,true,"8254.4428","88.1219","-8175.8296","110.6091"), +"Pa211" => AMEdata(7629.3948,0.3293,true,"*","","*",""), [91,120] => AMEdata(7629.3948,0.3293,true,"*","","*",""), +"Hg212" => AMEdata(7762,1,false,"4661#","361#","4571#","361#"), [80,132] => AMEdata(7762,1,false,"4661#","361#","4571#","361#"), +"Tl212" => AMEdata(7780,1,false,"3544#","205#","5998#","200#"), [81,131] => AMEdata(7780,1,false,"3544#","205#","5998#","200#"), +"Pb212" => AMEdata(7804.3203,0.0087,true,"5127.2356","2.4564","569.0133","1.8246"), [82,130] => AMEdata(7804.3203,0.0087,true,"5127.2356","2.4564","569.0133","1.8246"), +"Bi212" => AMEdata(7803.3140,0.0087,true,"4330.1448","5.5996","2251.4656","1.6671"), [83,129] => AMEdata(7803.3140,0.0087,true,"4330.1448","5.5996","2251.4656","1.6671"), +"Po212" => AMEdata(7810.2438,0.0054,true,"6008.2340","0.5249","-1741.2596","2.1066"), [84,128] => AMEdata(7810.2438,0.0054,true,"6008.2340","0.5249","-1741.2596","2.1066"), +"At212" => AMEdata(7798.3400,0.0113,true,"5052.2757","3.0713","31.0705","3.5927"), [85,127] => AMEdata(7798.3400,0.0113,true,"5052.2757","3.0713","31.0705","3.5927"), +"Rn212" => AMEdata(7794.7963,0.0147,true,"7975.2076","7.3228","-5143.2210","9.3064"), [86,126] => AMEdata(7794.7963,0.0147,true,"7975.2076","7.3228","-5143.2210","9.3064"), +"Fr212" => AMEdata(7766.8455,0.0414,true,"7447.0018","14.8518","-3317.2355","13.4939"), [87,125] => AMEdata(7766.8455,0.0414,true,"7447.0018","14.8518","-3317.2355","13.4939"), +"Ra212" => AMEdata(7747.5078,0.0484,true,"9101.9506","11.3932","-7498.3626","24.1666"), [88,124] => AMEdata(7747.5078,0.0484,true,"9101.9506","11.3932","-7498.3626","24.1666"), +"Ac212" => AMEdata(7708.4479,0.1032,true,"7915.2032","58.0366","-4811.2864","24.1055"), [89,123] => AMEdata(7708.4479,0.1032,true,"7915.2032","58.0366","-4811.2864","24.1055"), +"Th212" => AMEdata(7682.0628,0.0477,true,"9836.8280","86.6608","-9485.6366","88.1858"), [90,122] => AMEdata(7682.0628,0.0477,true,"9836.8280","86.6608","-9485.6366","88.1858"), +"Pa212" => AMEdata(7633.6289,0.4132,true,"8527.0210","111.8076","*",""), [91,121] => AMEdata(7633.6289,0.4132,true,"8527.0210","111.8076","*",""), +"Hg213" => AMEdata(7739,1,false,"2891#","424#","6416#","301#"), [80,133] => AMEdata(7739,1,false,"2891#","424#","6416#","301#"), +"Tl213" => AMEdata(7765.4311,0.1268,true,"4737#","202#","4987.4088","27.8941"), [81,132] => AMEdata(7765.4311,0.1268,true,"4737#","202#","4987.4088","27.8941"), +"Pb213" => AMEdata(7785.1732,0.0326,true,"3725.9863","7.0416","2028.0730","8.3708"), [82,131] => AMEdata(7785.1732,0.0326,true,"3725.9863","7.0416","2028.0730","8.3708"), +"Bi213" => AMEdata(7791.0217,0.0239,true,"5185.0459","5.2737","1421.8481","5.4898"), [83,130] => AMEdata(7791.0217,0.0239,true,"5185.0459","5.2737","1421.8481","5.4898"), +"Po213" => AMEdata(7794.0240,0.0143,true,"4355.4284","2.8619","-73.9972","5.4646"), [84,129] => AMEdata(7794.0240,0.0143,true,"4355.4284","2.8619","-73.9972","5.4646"), +"At213" => AMEdata(7790.0036,0.0230,true,"6022.6908","5.0940","-883.5727","5.7243"), [85,128] => AMEdata(7790.0036,0.0230,true,"6022.6908","5.0940","-883.5727","5.7243"), +"Rn213" => AMEdata(7782.1824,0.0158,true,"5108.0476","4.3071","-2141.7493","5.6996"), [86,127] => AMEdata(7782.1824,0.0158,true,"5108.0476","4.3071","-2141.7493","5.6996"), +"Fr213" => AMEdata(7768.4543,0.0221,true,"8109.5193","9.9563","-3899.7568","10.8862"), [87,126] => AMEdata(7768.4543,0.0221,true,"8109.5193","9.9563","-3899.7568","10.8862"), +"Ra213" => AMEdata(7746.4726,0.0461,true,"7526.9981","14.1928","-5795.4721","15.2463"), [88,125] => AMEdata(7746.4726,0.0461,true,"7526.9981","14.1928","-5795.4721","15.2463"), +"Ac213" => AMEdata(7715.5908,0.0548,true,"9229.8885","24.7982","-5979.0781","14.8635"), [89,124] => AMEdata(7715.5908,0.0548,true,"9229.8885","24.7982","-5979.0781","14.8635"), +"Th213" => AMEdata(7683.8470,0.0433,true,"8062.0967","13.6507","-7534.0866","57.9078"), [90,123] => AMEdata(7683.8470,0.0433,true,"8062.0967","13.6507","-7534.0866","57.9078"), +"Pa213" => AMEdata(7644.8027,0.2684,true,"10013.6467","104.6083","*",""), [91,122] => AMEdata(7644.8027,0.2684,true,"10013.6467","104.6083","*",""), +"Hg214" => AMEdata(7724,2,false,"4501#","500#","5306#","445#"), [80,134] => AMEdata(7724,2,false,"4501#","500#","5306#","445#"), +"Tl214" => AMEdata(7745,1,false,"3391#","197#","6648#","196#"), [81,133] => AMEdata(7745,1,false,"3391#","197#","6648#","196#"), +"Pb214" => AMEdata(7772.3955,0.0092,true,"5050.7390","7.0652","1017.7611","11.2559"), [82,132] => AMEdata(7772.3955,0.0092,true,"5050.7390","7.0652","1017.7611","11.2559"), +"Bi214" => AMEdata(7773.4955,0.0524,true,"4040.4272","12.2481","3269.1925","11.1649"), [83,131] => AMEdata(7773.4955,0.0524,true,"4040.4272","12.2481","3269.1925","11.1649"), +"Po214" => AMEdata(7785.1163,0.0068,true,"5887.7716","2.8269","-1090.8208","3.7750"), [84,130] => AMEdata(7785.1163,0.0068,true,"5887.7716","2.8269","-1090.8208","3.7750"), +"At214" => AMEdata(7776.3632,0.0186,true,"4870.9480","6.0109","940.5125","9.8827"), [85,129] => AMEdata(7776.3632,0.0186,true,"4870.9480","6.0109","940.5125","9.8827"), +"Rn214" => AMEdata(7777.1023,0.0429,true,"6695.0333","9.6509","-3361.3369","12.4238"), [86,128] => AMEdata(7777.1023,0.0429,true,"6695.0333","9.6509","-3361.3369","12.4238"), +"Fr214" => AMEdata(7757.7393,0.0398,true,"5475.4457","9.6799","-1051.0675","9.9879"), [87,127] => AMEdata(7757.7393,0.0398,true,"5475.4457","9.6799","-1051.0675","9.9879"), +"Ra214" => AMEdata(7749.1719,0.0245,true,"8324.1349","11.1331","-6340.5313","14.5317"), [88,126] => AMEdata(7749.1719,0.0245,true,"8324.1349","11.1331","-6340.5313","14.5317"), +"Ac214" => AMEdata(7715.8874,0.0633,true,"7779.0758","17.8427","-4261.6599","17.2389"), [89,125] => AMEdata(7715.8874,0.0633,true,"7779.0758","17.8427","-4261.6599","17.2389"), +"Th214" => AMEdata(7692.3173,0.0498,true,"9496.4940","14.0753","-8764.9630","81.9051"), [90,124] => AMEdata(7692.3173,0.0498,true,"9496.4940","14.0753","-8764.9630","81.9051"), +"Pa214" => AMEdata(7647.7037,0.3795,true,"8265.6176","99.3133","*",""), [91,123] => AMEdata(7647.7037,0.3795,true,"8265.6176","99.3133","*",""), +"Hg215" => AMEdata(7701,2,false,"2732#","565#","7079#","500#"), [80,135] => AMEdata(7701,2,false,"2732#","565#","7079#","500#"), +"Tl215" => AMEdata(7730,1,false,"4506#","358#","5688#","305#"), [81,134] => AMEdata(7730,1,false,"4506#","358#","5688#","305#"), +"Pb215" => AMEdata(7752.7381,0.2450,true,"3546.0546","52.7223","2712.9729","52.9848"), [82,133] => AMEdata(7752.7381,0.2450,true,"3546.0546","52.7223","2712.9729","52.9848"), +"Bi215" => AMEdata(7761.7177,0.0262,true,"5241.2663","12.5070","2171.0426","5.5297"), [83,132] => AMEdata(7761.7177,0.0262,true,"5241.2663","12.5070","2171.0426","5.5297"), +"Po215" => AMEdata(7768.1768,0.0099,true,"4143.1164","2.4554","714.8128","6.6491"), [84,131] => AMEdata(7768.1768,0.0099,true,"4143.1164","2.4554","714.8128","6.6491"), +"At215" => AMEdata(7767.8627,0.0308,true,"5948.7500","7.6202","-87.5935","8.9062"), [85,130] => AMEdata(7767.8627,0.0308,true,"5948.7500","7.6202","-87.5935","8.9062"), +"Rn215" => AMEdata(7763.8164,0.0283,true,"4920.6440","10.9029","-1487.1274","9.1890"), [86,129] => AMEdata(7763.8164,0.0283,true,"4920.6440","10.9029","-1487.1274","9.1890"), +"Fr215" => AMEdata(7753.2607,0.0329,true,"6794.8535","10.9506","-2213.8573","9.7691"), [87,128] => AMEdata(7753.2607,0.0329,true,"6794.8535","10.9506","-2213.8573","9.7691"), +"Ra215" => AMEdata(7739.3249,0.0335,true,"5632.0637","8.8906","-3498.5554","14.3395"), [88,127] => AMEdata(7739.3249,0.0335,true,"5632.0637","8.8906","-3498.5554","14.3395"), +"Ac215" => AMEdata(7719.4137,0.0577,true,"8474.0396","18.3558","-4890.8833","13.9296"), [89,126] => AMEdata(7719.4137,0.0577,true,"8474.0396","18.3558","-4890.8833","13.9296"), +"Th215" => AMEdata(7693.0266,0.0295,true,"7844.8162","12.4010","-6883.1037","82.6932"), [90,125] => AMEdata(7693.0266,0.0295,true,"7844.8162","12.4010","-6883.1037","82.6932"), +"Pa215" => AMEdata(7657.3733,0.3835,true,"9726.6755","115.7273","-7084.7747","132.8246"), [91,124] => AMEdata(7657.3733,0.3835,true,"9726.6755","115.7273","-7084.7747","132.8246"), +"U215" => AMEdata(7620.7821,0.4844,true,"*","","*",""), [92,123] => AMEdata(7620.7821,0.4844,true,"*","","*",""), +"Hg216" => AMEdata(7685,2,false,"4261#","565#","6050#","500#"), [80,136] => AMEdata(7685,2,false,"4261#","565#","6050#","500#"), +"Tl216" => AMEdata(7709,1,false,"3231#","424#","7361#","361#"), [81,135] => AMEdata(7709,1,false,"3231#","424#","7361#","361#"), +"Pb216" => AMEdata(7740,1,false,"4904#","207#","1636#","201#"), [82,134] => AMEdata(7740,1,false,"4904#","207#","1636#","201#"), +"Bi216" => AMEdata(7743.4996,0.0518,true,"3826.6022","12.5129","4091.6520","11.3243"), [83,133] => AMEdata(7743.4996,0.0518,true,"3826.6022","12.5129","4091.6520","11.3243"), +"Po216" => AMEdata(7758.8205,0.0084,true,"5747.2116","2.2940","-474.3423","3.5713"), [84,132] => AMEdata(7758.8205,0.0084,true,"5747.2116","2.2940","-474.3423","3.5713"), +"At216" => AMEdata(7753.0024,0.0166,true,"4558.0565","7.4176","2003.3657","6.6383"), [85,131] => AMEdata(7753.0024,0.0166,true,"4558.0565","7.4176","2003.3657","6.6383"), +"Rn216" => AMEdata(7758.6553,0.0267,true,"6649.0156","8.2301","-2717.7096","6.9366"), [86,130] => AMEdata(7758.6553,0.0267,true,"6649.0156","8.2301","-2717.7096","6.9366"), +"Fr216" => AMEdata(7742.4513,0.0193,true,"5418.4334","7.9778","-320.4441","8.8904"), [87,129] => AMEdata(7742.4513,0.0193,true,"5418.4334","7.9778","-320.4441","8.8904"), +"Ra216" => AMEdata(7737.3458,0.0371,true,"7311.8466","10.6514","-4858.2701","12.2147"), [88,128] => AMEdata(7737.3458,0.0371,true,"7311.8466","10.6514","-4858.2701","12.2147"), +"Ac216" => AMEdata(7711.2319,0.0427,true,"5952.1319","15.4563","-2148.8006","14.4375"), [89,127] => AMEdata(7711.2319,0.0427,true,"5952.1319","15.4563","-2148.8006","14.4375"), +"Th216" => AMEdata(7697.6617,0.0514,true,"8694.2146","12.7841","-7525.2616","27.0327"), [90,126] => AMEdata(7697.6617,0.0514,true,"8694.2146","12.7841","-7525.2616","27.0327"), +"Pa216" => AMEdata(7659.2006,0.1141,true,"8052.0568","86.0552","-5242.6308","37.3721"), [91,125] => AMEdata(7659.2006,0.1141,true,"8052.0568","86.0552","-5242.6308","37.3721"), +"U216" => AMEdata(7631.3072,0.1301,true,"9894.2007","107.8586","*",""), [92,124] => AMEdata(7631.3072,0.1301,true,"9894.2007","107.8586","*",""), +"Tl217" => AMEdata(7693,2,false,"4282#","500#","6399#","500#"), [81,136] => AMEdata(7693,2,false,"4282#","500#","6399#","500#"), +"Pb217" => AMEdata(7719,1,false,"3321#","361#","3530#","300#"), [82,135] => AMEdata(7719,1,false,"3321#","361#","3530#","300#"), +"Bi217" => AMEdata(7731.8491,0.0816,true,"5215.3432","20.9327","2846.5103","18.8695"), [83,134] => AMEdata(7731.8491,0.0816,true,"5215.3432","20.9327","2846.5103","18.8695"), +"Po217" => AMEdata(7741.3614,0.0302,true,"3970.2015","6.6259","1488.8543","7.9791"), [84,133] => AMEdata(7741.3614,0.0302,true,"3970.2015","6.6259","1488.8543","7.9791"), +"At217" => AMEdata(7744.6172,0.0230,true,"5933.3980","6.0287","736.0320","6.1505"), [85,132] => AMEdata(7744.6172,0.0230,true,"5933.3980","6.0287","736.0320","6.1505"), +"Rn217" => AMEdata(7744.4037,0.0193,true,"4666.0643","6.9598","-656.0967","7.5383"), [86,131] => AMEdata(7744.4037,0.0193,true,"4666.0643","6.9598","-656.0967","7.5383"), +"Fr217" => AMEdata(7737.7750,0.0301,true,"6727.6772","7.5063","-1574.8729","9.4723"), [87,130] => AMEdata(7737.7750,0.0301,true,"6727.6772","7.5063","-1574.8729","9.4723"), +"Ra217" => AMEdata(7726.9122,0.0325,true,"5473.2485","10.5472","-2812.7853","13.2129"), [88,129] => AMEdata(7726.9122,0.0325,true,"5473.2485","10.5472","-2812.7853","13.2129"), +"Ac217" => AMEdata(7710.3448,0.0517,true,"7518.7333","14.5299","-3503.4590","15.4454"), [89,128] => AMEdata(7710.3448,0.0517,true,"7518.7333","14.5299","-3503.4590","15.4454"), +"Th217" => AMEdata(7690.5945,0.0489,true,"6164.0749","15.3576","-4848.9680","16.3966"), [90,127] => AMEdata(7690.5945,0.0489,true,"6164.0749","15.3576","-4848.9680","16.3966"), +"Pa217" => AMEdata(7664.6438,0.0576,true,"8840.3684","27.6346","-5916#","81#"), [91,126] => AMEdata(7664.6438,0.0576,true,"8840.3684","27.6346","-5916#","81#"), +"U217" => AMEdata(7634,0,false,"8167#","85#","*",""), [92,125] => AMEdata(7634,0,false,"8167#","85#","*",""), +"Tl218" => AMEdata(7672,2,false,"3021#","565#","8081#","500#"), [81,137] => AMEdata(7672,2,false,"3021#","565#","8081#","500#"), +"Pb218" => AMEdata(7705,1,false,"4702#","424#","2414#","301#"), [82,136] => AMEdata(7705,1,false,"4702#","424#","2414#","301#"), +"Bi218" => AMEdata(7712.8280,0.1239,true,"3585.2425","32.2948","4859.3866","27.0849"), [83,135] => AMEdata(7712.8280,0.1239,true,"3585.2425","32.2948","4859.3866","27.0849"), +"Po218" => AMEdata(7731.5300,0.0090,true,"5598.1188","6.6612","256.4334","11.5490"), [84,134] => AMEdata(7731.5300,0.0090,true,"5598.1188","6.6612","256.4334","11.5490"), +"At218" => AMEdata(7729.1175,0.0528,true,"4365.6980","12.4860","2882.8048","11.6054"), [85,133] => AMEdata(7729.1175,0.0528,true,"4365.6980","12.4860","2882.8048","11.6054"), +"Rn218" => AMEdata(7738.7527,0.0106,true,"6512.4708","4.4364","-1842.0267","4.4418"), [86,132] => AMEdata(7738.7527,0.0106,true,"6512.4708","4.4364","-1842.0267","4.4418"), +"Fr218" => AMEdata(7726.7143,0.0194,true,"5326.5408","7.5410","413.8838","10.5603"), [87,131] => AMEdata(7726.7143,0.0194,true,"5326.5408","7.5410","413.8838","10.5603"), +"Ra218" => AMEdata(7725.0241,0.0450,true,"7315.2974","11.9671","-4205.2887","58.4224"), [88,130] => AMEdata(7725.0241,0.0450,true,"7315.2974","11.9671","-4205.2887","58.4224"), +"Ac218" => AMEdata(7702.1450,0.2643,true,"5922.7941","58.6903","-1515.9019","58.5648"), [89,129] => AMEdata(7702.1450,0.2643,true,"5922.7941","58.6903","-1515.9019","58.5648"), +"Th218" => AMEdata(7691.6026,0.0482,true,"7910.3513","14.9407","-6282.8212","20.7132"), [90,128] => AMEdata(7691.6026,0.0482,true,"7910.3513","14.9407","-6282.8212","20.7132"), +"Pa218" => AMEdata(7659.1935,0.0819,true,"6476.4981","21.7566","-3245.0869","22.5042"), [91,127] => AMEdata(7659.1935,0.0819,true,"6476.4981","21.7566","-3245.0869","22.5042"), +"U218" => AMEdata(7640.7191,0.0629,true,"9147#","82#","*",""), [92,126] => AMEdata(7640.7191,0.0629,true,"9147#","82#","*",""), +"Pb219" => AMEdata(7684,2,false,"3081#","500#","4300#","447#"), [82,137] => AMEdata(7684,2,false,"3081#","500#","4300#","447#"), +"Bi219" => AMEdata(7700,1,false,"4968#","202#","3638#","201#"), [83,136] => AMEdata(7700,1,false,"4968#","202#","3638#","201#"), +"Po219" => AMEdata(7713.3340,0.0723,true,"3746.6091","15.9571","2285.3395","16.1628"), [84,135] => AMEdata(7713.3340,0.0723,true,"3746.6091","15.9571","2285.3395","16.1628"), +"At219" => AMEdata(7720.1970,0.0148,true,"5775.5152","11.9105","1566.6838","2.9473"), [85,134] => AMEdata(7720.1970,0.0148,true,"5775.5152","11.9105","1566.6838","2.9473"), +"Rn219" => AMEdata(7723.7784,0.0096,true,"4459.3941","3.0210","212.3984","6.8938"), [86,133] => AMEdata(7723.7784,0.0096,true,"4459.3941","3.0210","212.3984","6.8938"), +"Fr219" => AMEdata(7721.1759,0.0314,true,"6513.8192","7.9664","-776.9137","9.5906"), [87,132] => AMEdata(7721.1759,0.0314,true,"6513.8192","7.9664","-776.9137","9.5906"), +"Ra219" => AMEdata(7714.0560,0.0311,true,"5323.0217","11.8317","-2175.7005","51.9016"), [88,131] => AMEdata(7714.0560,0.0311,true,"5323.0217","11.8317","-2175.7005","51.9016"), +"Ac219" => AMEdata(7700.5489,0.2351,true,"7352.6098","77.2462","-2893.2268","76.3627"), [89,130] => AMEdata(7700.5489,0.2351,true,"7352.6098","77.2462","-2893.2268","76.3627"), +"Th219" => AMEdata(7683.7655,0.2578,true,"5975.2850","57.4273","-4120.4434","89.7010"), [90,129] => AMEdata(7683.7655,0.2578,true,"5975.2850","57.4273","-4120.4434","89.7010"), +"Pa219" => AMEdata(7661.3783,0.3183,true,"8137.6627","71.9486","-4712.7298","70.9693"), [91,128] => AMEdata(7661.3783,0.3183,true,"8137.6627","71.9486","-4712.7298","70.9693"), +"U219" => AMEdata(7636.2867,0.0609,true,"6670.0197","19.1308","-6140.9976","92.9309"), [92,127] => AMEdata(7636.2867,0.0609,true,"6670.0197","19.1308","-6140.9976","92.9309"), +"Np219" => AMEdata(7604.6732,0.4199,true,"*","","*",""), [93,126] => AMEdata(7604.6732,0.4199,true,"*","","*",""), +"Pb220" => AMEdata(7670,2,false,"4561#","565#","3171#","500#"), [82,138] => AMEdata(7670,2,false,"4561#","565#","3171#","500#"), +"Bi220" => AMEdata(7681,1,false,"3432#","361#","5696#","300#"), [83,137] => AMEdata(7681,1,false,"3432#","361#","5696#","300#"), +"Po220" => AMEdata(7703.2244,0.0804,true,"5489.2164","23.7485","887.7139","22.5491"), [84,136] => AMEdata(7703.2244,0.0804,true,"5489.2164","23.7485","887.7139","22.5491"), +"At220" => AMEdata(7703.7033,0.0635,true,"4091.5908","14.3424","3763.7550","14.0896"), [85,135] => AMEdata(7703.7033,0.0635,true,"4091.5908","14.3424","3763.7550","14.0896"), +"Rn220" => AMEdata(7717.2552,0.0082,true,"6288.6620","2.2734","-870.3384","4.0256"), [86,134] => AMEdata(7717.2552,0.0082,true,"6288.6620","2.2734","-870.3384","4.0256"), +"Fr220" => AMEdata(7709.7430,0.0183,true,"5205.9252","7.8607","1210.2406","8.4809"), [87,133] => AMEdata(7709.7430,0.0183,true,"5205.9252","7.8607","1210.2406","8.4809"), +"Ra220" => AMEdata(7711.6879,0.0345,true,"7193.0796","10.0740","-3471.6640","9.6266"), [88,132] => AMEdata(7711.6879,0.0345,true,"7193.0796","10.0740","-3471.6640","9.6266"), +"Ac220" => AMEdata(7692.3515,0.0279,true,"5897.1161","51.8053","-945.7825","14.9144"), [89,131] => AMEdata(7692.3515,0.0279,true,"5897.1161","51.8053","-945.7825","14.9144"), +"Th220" => AMEdata(7684.4964,0.0622,true,"7844.5604","58.0735","-5588.8595","20.0508"), [90,130] => AMEdata(7684.4964,0.0622,true,"7844.5604","58.0735","-5588.8595","20.0508"), +"Pa220" => AMEdata(7655.5364,0.0666,true,"6376.1443","71.2272","-2735#","102#"), [91,129] => AMEdata(7655.5364,0.0666,true,"6376.1443","71.2272","-2735#","102#"), +"U220" => AMEdata(7640,0,false,"8354#","101#","-7462#","105#"), [92,128] => AMEdata(7640,0,false,"8354#","101#","-7462#","105#"), +"Np220" => AMEdata(7602.0758,0.1396,true,"7033.2467","96.9631","*",""), [93,127] => AMEdata(7602.0758,0.1396,true,"7033.2467","96.9631","*",""), +"Bi221" => AMEdata(7668,1,false,"4831#","424#","4426#","301#"), [83,138] => AMEdata(7668,1,false,"4831#","424#","4426#","301#"), +"Po221" => AMEdata(7684.4814,0.0885,true,"3561.0236","26.3795","2991.0276","24.0390"), [84,137] => AMEdata(7684.4814,0.0885,true,"3561.0236","26.3795","2991.0276","24.0390"), +"At221" => AMEdata(7694.4754,0.0632,true,"5664.3373","19.7600","2311.3750","15.0957"), [85,136] => AMEdata(7694.4754,0.0632,true,"5664.3373","19.7600","2311.3750","15.0957"), +"Rn221" => AMEdata(7701.3941,0.0259,true,"4211.9573","5.8073","1194.1032","7.2312"), [86,135] => AMEdata(7701.3941,0.0259,true,"4211.9573","5.8073","1194.1032","7.2312"), +"Fr221" => AMEdata(7703.2572,0.0221,true,"6276.3989","6.2181","313.3741","6.3858"), [87,134] => AMEdata(7703.2572,0.0221,true,"6276.3989","6.2181","313.3741","6.3858"), +"Ra221" => AMEdata(7701.1352,0.0210,true,"5379.5324","8.7557","-1567.1715","57.0591"), [88,133] => AMEdata(7701.1352,0.0210,true,"5379.5324","8.7557","-1567.1715","57.0591"), +"Ac221" => AMEdata(7690.5039,0.2575,true,"7284.0249","57.1978","-2408.8773","57.4376"), [89,132] => AMEdata(7690.5039,0.2575,true,"7284.0249","57.1978","-2408.8773","57.4376"), +"Th221" => AMEdata(7676.0640,0.0362,true,"5820.9300","15.7719","-3435.0112","59.9069"), [90,131] => AMEdata(7676.0640,0.0362,true,"5820.9300","15.7719","-3435.0112","59.9069"), +"Pa221" => AMEdata(7656.9809,0.2687,true,"7974.7783","61.1613","-4145.0590","93.4311"), [91,130] => AMEdata(7656.9809,0.2687,true,"7974.7783","61.1613","-4145.0590","93.4311"), +"U221" => AMEdata(7634.6849,0.3264,true,"6565#","124#","-5390#","213#"), [92,129] => AMEdata(7634.6849,0.3264,true,"6565#","124#","-5390#","213#"), +"Np221" => AMEdata(7607,1,false,"8636#","203#","-6019#","361#"), [93,128] => AMEdata(7607,1,false,"8636#","203#","-6019#","361#"), +"Pu221" => AMEdata(7576,1,false,"*","","*",""), [94,127] => AMEdata(7576,1,false,"*","","*",""), +"Bi222" => AMEdata(7648,1,false,"3322#","424#","6464#","303#"), [83,139] => AMEdata(7648,1,false,"3322#","424#","6464#","303#"), +"Po222" => AMEdata(7674.0054,0.1804,true,"5358.8072","44.5757","1533.2393","43.0709"), [84,138] => AMEdata(7674.0054,0.1804,true,"5358.8072","44.5757","1533.2393","43.0709"), +"At222" => AMEdata(7677.3878,0.0713,true,"3901.0190","21.1184","4581.0714","15.9542"), [85,137] => AMEdata(7677.3878,0.0713,true,"3901.0190","21.1184","4581.0714","15.9542"), +"Rn222" => AMEdata(7694.4991,0.0088,true,"6170.7153","5.8402","-6.1461","7.7013"), [86,136] => AMEdata(7694.4991,0.0088,true,"6170.7153","5.8402","-6.1461","7.7013"), +"Fr222" => AMEdata(7690.9474,0.0336,true,"4970.4660","8.9110","2057.8980","8.6816"), [87,135] => AMEdata(7690.9474,0.0336,true,"4970.4660","8.9110","2057.8980","8.6816"), +"Ra222" => AMEdata(7696.6931,0.0201,true,"6714.9899","6.2331","-2301.5922","6.2737"), [88,134] => AMEdata(7696.6931,0.0201,true,"6714.9899","6.2331","-2301.5922","6.2737"), +"Ac222" => AMEdata(7682.8015,0.0212,true,"5980.5691","57.0624","-581.2415","11.1289"), [89,133] => AMEdata(7682.8015,0.0212,true,"5980.5691","57.0624","-581.2415","11.1289"), +"Th222" => AMEdata(7676.6592,0.0460,true,"7808.2050","12.8705","-4861.3220","87.1915"), [90,132] => AMEdata(7676.6592,0.0460,true,"7808.2050","12.8705","-4861.3220","87.1915"), +"Pa222" => AMEdata(7651.2373,0.3901,true,"6381.8941","105.0026","-2208.4729","101.0129"), [91,131] => AMEdata(7651.2373,0.3901,true,"6381.8941","105.0026","-2208.4729","101.0129"), +"U222" => AMEdata(7637.7651,0.2342,true,"8318.4802","88.9202","-7001.8072","64.4300"), [92,130] => AMEdata(7637.7651,0.2342,true,"8318.4802","88.9202","-7001.8072","64.4300"), +"Np222" => AMEdata(7602.7013,0.1714,true,"6707#","204#","-3785#","302#"), [93,129] => AMEdata(7602.7013,0.1714,true,"6707#","204#","-3785#","302#"), +"Pu222" => AMEdata(7582,1,false,"8941#","424#","*",""), [94,128] => AMEdata(7582,1,false,"8941#","424#","*",""), +"Bi223" => AMEdata(7636,2,false,"4781#","500#","5161#","445#"), [83,140] => AMEdata(7636,2,false,"4781#","500#","5161#","445#"), +"Po223" => AMEdata(7655,1,false,"3479#","200#","3651#","196#"), [84,139] => AMEdata(7655,1,false,"3479#","200#","3651#","196#"), +"At223" => AMEdata(7668.0557,0.0627,true,"5596.3382","21.1184","3038.2698","16.0129"), [85,138] => AMEdata(7668.0557,0.0627,true,"5596.3382","21.1184","3038.2698","16.0129"), +"Rn223" => AMEdata(7678.1720,0.0351,true,"4053.5366","8.0599","2007.4091","8.0568"), [86,137] => AMEdata(7678.1720,0.0351,true,"4053.5366","8.0599","2007.4091","8.0568"), +"Fr223" => AMEdata(7683.6655,0.0087,true,"6067.0918","7.6981","1149.0844","0.8476"), [87,136] => AMEdata(7683.6655,0.0087,true,"6067.0918","7.6981","1149.0844","0.8476"), +"Ra223" => AMEdata(7685.3101,0.0094,true,"5158.2782","4.7922","-591.8099","6.9657"), [88,135] => AMEdata(7685.3101,0.0094,true,"5158.2782","4.7922","-591.8099","6.9657"), +"Ac223" => AMEdata(7679.1479,0.0312,true,"6868.0606","8.2833","-1560.3471","10.4712"), [89,134] => AMEdata(7679.1479,0.0312,true,"6868.0606","8.2833","-1560.3471","10.4712"), +"Th223" => AMEdata(7668.6426,0.0356,true,"5888.9550","12.8389","-2952.2124","76.0305"), [90,133] => AMEdata(7668.6426,0.0356,true,"5888.9550","12.8389","-2952.2124","76.0305"), +"Pa223" => AMEdata(7651.8957,0.3392,true,"7798.0646","114.9703","-3707.6637","95.9225"), [91,132] => AMEdata(7651.8957,0.3392,true,"7798.0646","114.9703","-3707.6637","95.9225"), +"U223" => AMEdata(7631.7611,0.2648,true,"6298.8738","78.6787","-4613.3046","101.7520"), [92,131] => AMEdata(7631.7611,0.2648,true,"6298.8738","78.6787","-4613.3046","101.7520"), +"Np223" => AMEdata(7607.5654,0.3716,true,"8687.3764","91.1786","-5462#","311#"), [93,130] => AMEdata(7607.5654,0.3716,true,"8687.3764","91.1786","-5462#","311#"), +"Pu223" => AMEdata(7580,1,false,"7010#","424#","-6579#","424#"), [94,129] => AMEdata(7580,1,false,"7010#","424#","-6579#","424#"), +"Am223" => AMEdata(7547,1,false,"*","","*",""), [95,128] => AMEdata(7547,1,false,"*","","*",""), +"Bi224" => AMEdata(7616,2,false,"3242#","565#","7159#","445#"), [83,141] => AMEdata(7616,2,false,"3242#","565#","7159#","445#"), +"Po224" => AMEdata(7644,1,false,"5240#","277#","2199#","197#"), [84,140] => AMEdata(7644,1,false,"5240#","277#","2199#","197#"), +"At224" => AMEdata(7650.7354,0.0998,true,"3788.3082","26.3631","5265.9197","24.4153"), [85,139] => AMEdata(7650.7354,0.0998,true,"3788.3082","26.3631","5265.9197","24.4153"), +"Rn224" => AMEdata(7670.7514,0.0438,true,"6015.9581","12.5501","696.4840","14.8750"), [86,138] => AMEdata(7670.7514,0.0438,true,"6015.9581","12.5501","696.4840","14.8750"), +"Fr224" => AMEdata(7670.3680,0.0499,true,"4705.0330","11.3435","2922.7819","11.3237"), [87,137] => AMEdata(7670.3680,0.0499,true,"4705.0330","11.3435","2922.7819","11.3237"), +"Ra224" => AMEdata(7679.9236,0.0081,true,"6478.7305","2.2609","-1408.3152","4.0869"), [88,136] => AMEdata(7679.9236,0.0081,true,"6478.7305","2.2609","-1408.3152","4.0869"), +"Ac224" => AMEdata(7670.1438,0.0183,true,"5662.2252","7.9549","238.5672","10.3428"), [89,135] => AMEdata(7670.1438,0.0183,true,"5662.2252","7.9549","238.5672","10.3428"), +"Th224" => AMEdata(7667.7162,0.0429,true,"7461.1394","12.3576","-3866.7705","12.1339"), [90,134] => AMEdata(7667.7162,0.0429,true,"7461.1394","12.3576","-3866.7705","12.1339"), +"Pa224" => AMEdata(7646.9612,0.0339,true,"6546.5814","75.9868","-1880.3393","16.9711"), [91,133] => AMEdata(7646.9612,0.0339,true,"6546.5814","75.9868","-1880.3393","16.9711"), +"U224" => AMEdata(7635.0742,0.0681,true,"8373.9058","60.9737","-6289.5572","32.7036"), [92,132] => AMEdata(7635.0742,0.0681,true,"8373.9058","60.9737","-6289.5572","32.7036"), +"Np224" => AMEdata(7603.5032,0.1291,true,"6697.6533","87.7652","-3248#","301#"), [93,131] => AMEdata(7603.5032,0.1291,true,"6697.6533","87.7652","-3248#","301#"), +"Pu224" => AMEdata(7586,1,false,"8912#","424#","-7980#","500#"), [94,130] => AMEdata(7586,1,false,"8912#","424#","-7980#","500#"), +"Am224" => AMEdata(7546,2,false,"7511#","500#","*",""), [95,129] => AMEdata(7546,2,false,"7511#","500#","*",""), +"Po225" => AMEdata(7626,1,false,"3402#","358#","4280#","424#"), [84,141] => AMEdata(7626,1,false,"3402#","358#","4280#","424#"), +"At225" => AMEdata(7641,1,false,"5483#","301#","3765#","300#"), [85,140] => AMEdata(7641,1,false,"5483#","301#","3765#","300#"), +"Rn225" => AMEdata(7654.3581,0.0495,true,"3982.2733","14.8462","2713.5412","16.3492"), [86,139] => AMEdata(7654.3581,0.0495,true,"3982.2733","14.8462","2713.5412","16.3492"), +"Fr225" => AMEdata(7662.9412,0.0532,true,"5999.3305","16.3754","1827.5584","12.1574"), [87,138] => AMEdata(7662.9412,0.0532,true,"5999.3305","16.3754","1827.5584","12.1574"), +"Ra225" => AMEdata(7667.5866,0.0115,true,"4904.1070","2.7922","355.7386","5.0067"), [88,137] => AMEdata(7667.5866,0.0115,true,"4904.1070","2.7922","355.7386","5.0067"), +"Ac225" => AMEdata(7665.6906,0.0211,true,"6668.1608","6.1585","-672.8878","6.6576"), [89,136] => AMEdata(7665.6906,0.0211,true,"6668.1608","6.1585","-672.8878","6.6576"), +"Th225" => AMEdata(7659.2229,0.0226,true,"5756.7058","10.7574","-2046.4473","82.0038"), [90,135] => AMEdata(7659.2229,0.0226,true,"5756.7058","10.7574","-2046.4473","82.0038"), +"Pa225" => AMEdata(7646.6504,0.3639,true,"7577.0291","82.1947","-3015.3610","82.4514"), [91,134] => AMEdata(7646.6504,0.3639,true,"7577.0291","82.1947","-3015.3610","82.4514"), +"U225" => AMEdata(7629.7717,0.0442,true,"6442.0074","18.1413","-4246.0969","92.1491"), [92,133] => AMEdata(7629.7717,0.0442,true,"6442.0074","18.1413","-4246.0969","92.1491"), +"Np225" => AMEdata(7607.4231,0.4072,true,"8485.4677","96.0753","-4682#","314#"), [93,132] => AMEdata(7607.4231,0.4072,true,"8485.4677","96.0753","-4682#","314#"), +"Pu225" => AMEdata(7583,1,false,"7051#","424#","-6090#","500#"), [94,131] => AMEdata(7583,1,false,"7051#","424#","-6090#","500#"), +"Am225" => AMEdata(7553,2,false,"8941#","565#","*",""), [95,130] => AMEdata(7553,2,false,"8941#","565#","*",""), +"Po226" => AMEdata(7614,2,false,"5103#","500#","2889#","500#"), [84,142] => AMEdata(7614,2,false,"5103#","500#","2889#","500#"), +"At226" => AMEdata(7624,1,false,"3711#","424#","5913#","300#"), [85,141] => AMEdata(7624,1,false,"3711#","424#","5913#","300#"), +"Rn226" => AMEdata(7646.4108,0.0464,true,"5858.2675","15.2924","1226.6542","12.1895"), [86,140] => AMEdata(7646.4108,0.0464,true,"5858.2675","15.2924","1226.6542","12.1895"), +"Fr226" => AMEdata(7648.3768,0.0276,true,"4371.3805","13.4916","3852.9638","6.5215"), [87,139] => AMEdata(7648.3768,0.0276,true,"4371.3805","13.4916","3852.9638","6.5215"), +"Ra226" => AMEdata(7661.9636,0.0085,true,"6396.7859","2.8511","-641.6252","3.2730"), [88,138] => AMEdata(7661.9636,0.0085,true,"6396.7859","2.8511","-641.6252","3.2730"), +"Ac226" => AMEdata(7655.6628,0.0137,true,"5399.4221","5.5019","1111.5517","4.5626"), [89,137] => AMEdata(7655.6628,0.0137,true,"5399.4221","5.5019","1111.5517","4.5626"), +"Th226" => AMEdata(7657.1195,0.0198,true,"7183.8616","6.6054","-2835.9504","11.9702"), [90,136] => AMEdata(7657.1195,0.0198,true,"7183.8616","6.6054","-2835.9504","11.9702"), +"Pa226" => AMEdata(7641.1093,0.0496,true,"6394.3584","82.6084","-1295.1978","15.6747"), [91,135] => AMEdata(7641.1093,0.0496,true,"6394.3584","82.6084","-1295.1978","15.6747"), +"U226" => AMEdata(7631.9166,0.0490,true,"8114.5216","14.7859","-5488.0792","102.6485"), [92,134] => AMEdata(7631.9166,0.0490,true,"8114.5216","14.7859","-5488.0792","102.6485"), +"Np226" => AMEdata(7604.1714,0.4516,true,"6872.5393","137.1480","-2813#","225#"), [93,133] => AMEdata(7604.1714,0.4516,true,"6872.5393","137.1480","-2813#","225#"), +"Pu226" => AMEdata(7588,1,false,"8742#","361#","-7340#","361#"), [94,132] => AMEdata(7588,1,false,"8742#","361#","-7340#","361#"), +"Am226" => AMEdata(7552,1,false,"7492#","500#","*",""), [95,131] => AMEdata(7552,1,false,"7492#","500#","*",""), +"Po227" => AMEdata(7596,2,false,"3339#","566#","4850#","500#"), [84,143] => AMEdata(7596,2,false,"3339#","566#","4850#","500#"), +"At227" => AMEdata(7613,1,false,"5301#","424#","4544#","300#"), [85,142] => AMEdata(7613,1,false,"5301#","424#","4544#","300#"), +"Rn227" => AMEdata(7630.0508,0.0621,true,"3932.6771","17.5590","3203.3894","15.2755"), [86,141] => AMEdata(7630.0508,0.0621,true,"3932.6771","17.5590","3203.3894","15.2755"), +"Fr227" => AMEdata(7640.7162,0.0260,true,"5909.4124","8.5795","2504.9813","6.2112"), [87,140] => AMEdata(7640.7162,0.0260,true,"5909.4124","8.5795","2504.9813","6.2112"), +"Ra227" => AMEdata(7648.3048,0.0086,true,"4561.4300","0.2700","1327.9489","2.2622"), [88,139] => AMEdata(7648.3048,0.0086,true,"4561.4300","0.2700","1327.9489","2.2622"), +"Ac227" => AMEdata(7650.7084,0.0085,true,"6531.0041","3.3355","44.7559","0.8297"), [89,138] => AMEdata(7650.7084,0.0085,true,"6531.0041","3.3355","44.7559","0.8297"), +"Th227" => AMEdata(7647.4591,0.0092,true,"5464.2083","4.8141","-1025.6117","7.2815"), [90,137] => AMEdata(7647.4591,0.0092,true,"5464.2083","4.8141","-1025.6117","7.2815"), +"Pa227" => AMEdata(7639.4945,0.0320,true,"7274.5471","13.2949","-2214.6629","11.1118"), [91,136] => AMEdata(7639.4945,0.0320,true,"7274.5471","13.2949","-2214.6629","11.1118"), +"U227" => AMEdata(7626.2918,0.0375,true,"6355.0820","13.8696","-3533.9848","77.4417"), [92,135] => AMEdata(7626.2918,0.0375,true,"6355.0820","13.8696","-3533.9848","77.4417"), +"Np227" => AMEdata(7607.2771,0.3392,true,"8309.1764","127.8342","-4191#","126#"), [93,134] => AMEdata(7607.2771,0.3392,true,"8309.1764","127.8342","-4191#","126#"), +"Pu227" => AMEdata(7585,0,false,"6931#","224#","-5410#","224#"), [94,133] => AMEdata(7585,0,false,"6931#","224#","-5410#","224#"), +"Am227" => AMEdata(7558,1,false,"8861#","361#","*",""), [95,132] => AMEdata(7558,1,false,"8861#","361#","*",""), +"At228" => AMEdata(7596,2,false,"3622#","500#","6637#","400#"), [85,143] => AMEdata(7596,2,false,"3622#","500#","6637#","400#"), +"Rn228" => AMEdata(7621.6457,0.0775,true,"5713.6863","22.6061","1859.2451","18.9157"), [86,142] => AMEdata(7621.6457,0.0775,true,"5713.6863","22.6061","1859.2451","18.9157"), +"Fr228" => AMEdata(7626.3689,0.0295,true,"4369.5420","8.9502","4444.0270","7.0210"), [87,141] => AMEdata(7626.3689,0.0295,true,"4369.5420","8.9502","4444.0270","7.0210"), +"Ra228" => AMEdata(7642.4289,0.0088,true,"6308.5876","2.3347","45.5402","0.6344"), [88,140] => AMEdata(7642.4289,0.0088,true,"6308.5876","2.3347","45.5402","0.6344"), +"Ac228" => AMEdata(7639.1973,0.0092,true,"5026.1790","2.4243","2123.7545","2.6446"), [89,139] => AMEdata(7639.1973,0.0092,true,"5026.1790","2.4243","2123.7545","2.6446"), +"Th228" => AMEdata(7645.0807,0.0079,true,"7105.1775","2.2521","-2152.6993","4.3399"), [90,138] => AMEdata(7645.0807,0.0079,true,"7105.1775","2.2521","-2152.6993","4.3399"), +"Pa228" => AMEdata(7632.2076,0.0190,true,"5978.0899","8.3605","-296.4020","14.0858"), [91,137] => AMEdata(7632.2076,0.0190,true,"5978.0899","8.3605","-296.4020","14.0858"), +"U228" => AMEdata(7627.4763,0.0591,true,"7896.3508","15.8542","-4605#","101#"), [92,136] => AMEdata(7627.4763,0.0591,true,"7896.3508","15.8542","-4605#","101#"), +"Np228" => AMEdata(7604,0,false,"6825#","126#","-2283#","103#"), [93,135] => AMEdata(7604,0,false,"6825#","126#","-2283#","103#"), +"Pu228" => AMEdata(7590.4039,0.1024,true,"8733#","102#","-6742#","202#"), [94,134] => AMEdata(7590.4039,0.1024,true,"8733#","102#","-6742#","202#"), +"Am228" => AMEdata(7557,1,false,"7402#","283#","*",""), [95,133] => AMEdata(7557,1,false,"7402#","283#","*",""), +"At229" => AMEdata(7585,2,false,"5062#","565#","5527#","400#"), [85,144] => AMEdata(7585,2,false,"5062#","565#","5527#","400#"), +"Rn229" => AMEdata(7605.6227,0.0569,true,"3952.3845","21.9671","3694.1465","13.9670"), [86,143] => AMEdata(7605.6227,0.0569,true,"3952.3845","21.9671","3694.1465","13.9670"), +"Fr229" => AMEdata(7618.3380,0.0218,true,"5787.2858","8.3860","3106.2907","16.2305"), [87,142] => AMEdata(7618.3380,0.0218,true,"5787.2858","8.3860","3106.2907","16.2305"), +"Ra229" => AMEdata(7628.4862,0.0674,true,"4449.5495","15.5692","1872.0266","19.6229"), [88,141] => AMEdata(7628.4862,0.0674,true,"4449.5495","15.5692","1872.0266","19.6229"), +"Ac229" => AMEdata(7633.2446,0.0529,true,"6276.0358","12.2890","1104.4191","12.3458"), [89,140] => AMEdata(7633.2446,0.0529,true,"6276.0358","12.2890","1104.4191","12.3458"), +"Th229" => AMEdata(7634.6510,0.0105,true,"5256.7004","2.6090","-311.3310","3.7152"), [90,139] => AMEdata(7634.6510,0.0105,true,"5256.7004","2.6090","-311.3310","3.7152"), +"Pa229" => AMEdata(7629.8752,0.0143,true,"7098.0687","5.3116","-1313.7716","6.6554"), [91,138] => AMEdata(7629.8752,0.0143,true,"7098.0687","5.3116","-1313.7716","6.6554"), +"U229" => AMEdata(7620.7218,0.0259,true,"6080.6990","14.6412","-2590.7577","101.3342"), [92,137] => AMEdata(7620.7218,0.0259,true,"6080.6990","14.6412","-2590.7577","101.3342"), +"Np229" => AMEdata(7605.9921,0.4418,true,"8095#","142#","-3593.5462","117.9433"), [93,136] => AMEdata(7605.9921,0.4418,true,"8095#","142#","-3593.5462","117.9433"), +"Pu229" => AMEdata(7586.8834,0.2648,true,"6784.2032","64.9558","-4785.4899","122.4147"), [94,135] => AMEdata(7586.8834,0.2648,true,"6784.2032","64.9558","-4785.4899","122.4147"), +"Am229" => AMEdata(7562.5697,0.4644,true,"8741#","227#","*",""), [95,134] => AMEdata(7562.5697,0.4644,true,"8741#","227#","*",""), +"Rn230" => AMEdata(7595,1,false,"5264#","201#","2683#","200#"), [86,144] => AMEdata(7595,1,false,"5264#","201#","2683#","200#"), +"Fr230" => AMEdata(7603.7052,0.0284,true,"4252.8029","8.2341","4970.4627","12.1984"), [87,143] => AMEdata(7603.7052,0.0284,true,"4252.8029","8.2341","4970.4627","12.1984"), +"Ra230" => AMEdata(7621.9144,0.0448,true,"6116.9749","18.5589","677.9196","18.8884"), [88,142] => AMEdata(7621.9144,0.0448,true,"6116.9749","18.5589","677.9196","18.8884"), +"Ac230" => AMEdata(7621.4604,0.0689,true,"4922.8680","19.9348","2975.8745","15.8815"), [89,141] => AMEdata(7621.4604,0.0689,true,"4922.8680","19.9348","2975.8745","15.8815"), +"Th230" => AMEdata(7630.9974,0.0053,true,"6794.3235","2.2089","-1311.0313","2.8334"), [90,140] => AMEdata(7630.9974,0.0053,true,"6794.3235","2.2089","-1311.0313","2.8334"), +"Pa230" => AMEdata(7621.8958,0.0132,true,"5794.6232","4.2208","558.5262","4.5919"), [91,139] => AMEdata(7621.8958,0.0132,true,"5794.6232","4.2208","558.5262","4.5919"), +"U230" => AMEdata(7620.9227,0.0196,true,"7666.9211","7.2944","-3621.5986","55.1683"), [92,138] => AMEdata(7620.9227,0.0196,true,"7666.9211","7.2944","-3621.5986","55.1683"), +"Np230" => AMEdata(7601.7751,0.2392,true,"6636.0801","115.1469","-1695.5543","56.8505"), [93,137] => AMEdata(7601.7751,0.2392,true,"6636.0801","115.1469","-1695.5543","56.8505"), +"Pu230" => AMEdata(7591.0016,0.0628,true,"8534.0720","62.3108","-5940#","144#"), [94,136] => AMEdata(7591.0016,0.0628,true,"8534.0720","62.3108","-5940#","144#"), +"Am230" => AMEdata(7562,1,false,"7380#","178#","*",""), [95,135] => AMEdata(7562,1,false,"7380#","178#","*",""), +"Rn231" => AMEdata(7579,1,false,"3691#","361#","4469#","300#"), [86,145] => AMEdata(7579,1,false,"3691#","361#","4469#","300#"), +"Fr231" => AMEdata(7594.5009,0.0335,true,"5477.5117","10.1274","3864.0868","13.7495"), [87,144] => AMEdata(7594.5009,0.0335,true,"5477.5117","10.1274","3864.0868","13.7495"), +"Ra231" => AMEdata(7607.8418,0.0492,true,"4371.1358","15.3390","2453.6351","17.3014"), [88,143] => AMEdata(7607.8418,0.0492,true,"4371.1358","15.3390","2453.6351","17.3014"), +"Ac231" => AMEdata(7615.0768,0.0565,true,"6146.8512","20.5140","1947.0425","13.0976"), [89,142] => AMEdata(7615.0768,0.0565,true,"6146.8512","20.5140","1947.0425","13.0976"), +"Th231" => AMEdata(7620.1188,0.0053,true,"5118.0192","0.1981","391.4727","1.4598"), [90,141] => AMEdata(7620.1188,0.0053,true,"5118.0192","0.1981","391.4727","1.4598"), +"Pa231" => AMEdata(7618.4267,0.0077,true,"6820.5232","3.1819","-381.6138","2.0325"), [91,140] => AMEdata(7618.4267,0.0077,true,"6820.5232","3.1819","-381.6138","2.0325"), +"U231" => AMEdata(7613.3879,0.0116,true,"5880.3832","5.1184","-1817.7347","51.1839"), [92,139] => AMEdata(7613.3879,0.0116,true,"5880.3832","5.1184","-1817.7347","51.1839"), +"Np231" => AMEdata(7602.1321,0.2214,true,"7684.2471","75.1050","-2684.8905","55.6931"), [93,138] => AMEdata(7602.1321,0.2214,true,"7684.2471","75.1050","-2684.8905","55.6931"), +"Pu231" => AMEdata(7587.1224,0.0955,true,"6694.9109","26.3229","-4101#","301#"), [94,137] => AMEdata(7587.1224,0.0955,true,"6694.9109","26.3229","-4101#","301#"), +"Am231" => AMEdata(7566,1,false,"8533#","332#","-4860#","424#"), [95,136] => AMEdata(7566,1,false,"8533#","332#","-4860#","424#"), +"Cm231" => AMEdata(7542,1,false,"*","","*",""), [96,135] => AMEdata(7542,1,false,"*","","*",""), +"Fr232" => AMEdata(7579.3481,0.0602,true,"4079.0586","15.9688","5575.8791","16.7023"), [87,145] => AMEdata(7579.3481,0.0602,true,"4079.0586","15.9688","5575.8791","16.7023"), +"Ra232" => AMEdata(7600.0099,0.0394,true,"5790.8509","14.5950","1342.5322","15.9313"), [88,144] => AMEdata(7600.0099,0.0394,true,"5790.8509","14.5950","1342.5322","15.9313"), +"Ac232" => AMEdata(7602.4245,0.0562,true,"4679.7480","18.4426","3707.7131","13.1181"), [89,143] => AMEdata(7602.4245,0.0562,true,"4679.7480","18.4426","3707.7131","13.1181"), +"Th232" => AMEdata(7615.0338,0.0061,true,"6440.4187","1.0715","-499.8388","7.7338"), [90,142] => AMEdata(7615.0338,0.0061,true,"6440.4187","1.0715","-499.8388","7.7338"), +"Pa232" => AMEdata(7609.5072,0.0330,true,"5549.1072","7.6800","1337.1034","7.4278"), [91,141] => AMEdata(7609.5072,0.0330,true,"5549.1072","7.6800","1337.1034","7.4278"), +"U232" => AMEdata(7611.8984,0.0078,true,"7267.8244","2.8016","-2750#","100#"), [92,140] => AMEdata(7611.8984,0.0078,true,"7267.8244","2.8016","-2750#","100#"), +"Np232" => AMEdata(7597,0,false,"6336#","112#","-1001#","101#"), [93,139] => AMEdata(7597,0,false,"6336#","112#","-1001#","101#"), +"Pu232" => AMEdata(7588.9839,0.0728,true,"8018.9803","27.7335","-5059#","300#"), [94,138] => AMEdata(7588.9839,0.0728,true,"8018.9803","27.7335","-5059#","300#"), +"Am232" => AMEdata(7564,1,false,"7062#","424#","-2913#","361#"), [95,137] => AMEdata(7564,1,false,"7062#","424#","-2913#","361#"), +"Cm232" => AMEdata(7548,1,false,"9008#","361#","*",""), [96,136] => AMEdata(7548,1,false,"9008#","361#","*",""), +"Fr233" => AMEdata(7569.2398,0.0840,true,"5224.1000","24.0390","4585.9906","21.3694"), [87,146] => AMEdata(7569.2398,0.0840,true,"5224.1000","24.0390","4585.9906","21.3694"), +"Ra233" => AMEdata(7585.5644,0.0369,true,"4234.2115","12.5596","3026.0244","15.6228"), [88,145] => AMEdata(7585.5644,0.0369,true,"4234.2115","12.5596","3026.0244","15.6228"), +"Ac233" => AMEdata(7595.1939,0.0560,true,"5917.7037","18.4426","2576.3950","13.1184"), [89,144] => AMEdata(7595.1939,0.0560,true,"5917.7037","18.4426","2576.3950","13.1184"), +"Th233" => AMEdata(7602.8937,0.0061,true,"4786.3856","0.0928","1242.2320","1.1224"), [90,143] => AMEdata(7602.8937,0.0061,true,"4786.3856","0.0928","1242.2320","1.1224"), +"Pa233" => AMEdata(7604.8675,0.0057,true,"6528.4564","7.6442","570.2993","1.9750"), [91,142] => AMEdata(7604.8675,0.0057,true,"6528.4564","7.6442","570.2993","1.9750"), +"U233" => AMEdata(7603.9574,0.0097,true,"5761.6522","2.4922","-1029.4197","51.0050"), [92,141] => AMEdata(7603.9574,0.0097,true,"5761.6522","2.4922","-1029.4197","51.0050"), +"Np233" => AMEdata(7596.1816,0.2188,true,"7482#","112#","-2103.3047","74.3811"), [93,140] => AMEdata(7596.1816,0.2188,true,"7482#","112#","-2103.3047","74.3811"), +"Pu233" => AMEdata(7583.7968,0.2325,true,"6380.3971","56.7266","-3233#","126#"), [94,139] => AMEdata(7583.7968,0.2325,true,"6380.3971","56.7266","-3233#","126#"), +"Am233" => AMEdata(7567,0,false,"8206#","321#","-4008#","140#"), [95,138] => AMEdata(7567,0,false,"8206#","321#","-4008#","140#"), +"Cm233" => AMEdata(7546.0020,0.3480,true,"7111#","217#","-5478#","247#"), [96,137] => AMEdata(7546.0020,0.3480,true,"7111#","217#","-5478#","247#"), +"Bk233" => AMEdata(7519,1,false,"*","","*",""), [97,136] => AMEdata(7519,1,false,"*","","*",""), +"Ra234" => AMEdata(7576.5439,0.0358,true,"5474.7506","12.0120","2089.4348","16.2945"), [88,146] => AMEdata(7576.5439,0.0358,true,"5474.7506","12.0120","2089.4348","16.2945"), +"Ac234" => AMEdata(7582.1297,0.0597,true,"4538.1609","19.1127","4228.2364","14.2103"), [89,145] => AMEdata(7582.1297,0.0597,true,"4538.1609","19.1127","4228.2364","14.2103"), +"Th234" => AMEdata(7596.8557,0.0111,true,"6190.0023","2.5741","274.0882","3.1716"), [90,144] => AMEdata(7596.8557,0.0111,true,"6190.0023","2.5741","274.0882","3.1716"), +"Pa234" => AMEdata(7594.6837,0.0175,true,"5221.8585","4.0585","2193.9105","3.9998"), [91,143] => AMEdata(7594.6837,0.0175,true,"5221.8585","4.0585","2193.9105","3.9998"), +"U234" => AMEdata(7600.7160,0.0048,true,"6845.4697","2.0011","-1809.8462","8.3205"), [92,142] => AMEdata(7600.7160,0.0048,true,"6845.4697","2.0011","-1809.8462","8.3205"), +"Np234" => AMEdata(7589.6382,0.0359,true,"6065.0433","51.6466","-395.1807","10.7522"), [93,141] => AMEdata(7589.6382,0.0359,true,"6065.0433","51.6466","-395.1807","10.7522"), +"Pu234" => AMEdata(7584.6061,0.0291,true,"7773.1673","54.5810","-4112#","160#"), [94,140] => AMEdata(7584.6061,0.0291,true,"7773.1673","54.5810","-4112#","160#"), +"Am234" => AMEdata(7564,1,false,"6895#","196#","-2261#","161#"), [95,139] => AMEdata(7564,1,false,"6895#","196#","-2261#","161#"), +"Cm234" => AMEdata(7550.6868,0.0730,true,"8642.2466","82.8580","-6673#","154#"), [96,138] => AMEdata(7550.6868,0.0730,true,"8642.2466","82.8580","-6673#","154#"), +"Bk234" => AMEdata(7519,1,false,"7447#","278#","*",""), [97,137] => AMEdata(7519,1,false,"7447#","278#","*",""), +"Ra235" => AMEdata(7561,1,false,"3872#","300#","3773#","300#"), [88,147] => AMEdata(7561,1,false,"3872#","300#","3773#","300#"), +"Ac235" => AMEdata(7573.5051,0.0595,true,"5555.3525","19.7600","3339.4064","19.1127"), [89,146] => AMEdata(7573.5051,0.0595,true,"5555.3525","19.7600","3339.4064","19.1127"), +"Th235" => AMEdata(7584.3862,0.0555,true,"4666.5225","13.2954","1728.8531","19.1127"), [90,145] => AMEdata(7584.3862,0.0555,true,"4666.5225","13.2954","1728.8531","19.1127"), +"Pa235" => AMEdata(7588.4139,0.0595,true,"6121.2873","14.5599","1370.1184","14.0169"), [91,144] => AMEdata(7588.4139,0.0595,true,"6121.2873","14.5599","1370.1184","14.0169"), +"U235" => AMEdata(7590.9151,0.0048,true,"5297.4952","0.2319","-124.2619","0.8524"), [92,143] => AMEdata(7590.9151,0.0048,true,"5297.4952","0.2319","-124.2619","0.8524"), +"Np235" => AMEdata(7587.0571,0.0059,true,"6983.0794","8.3670","-1139.3021","20.4992"), [93,142] => AMEdata(7587.0571,0.0059,true,"6983.0794","8.3670","-1139.3021","20.4992"), +"Pu235" => AMEdata(7578.8799,0.0873,true,"6238.9580","21.5888","-2442.2558","56.5932"), [94,141] => AMEdata(7578.8799,0.0873,true,"6238.9580","21.5888","-2442.2558","56.5932"), +"Am235" => AMEdata(7565.1582,0.2246,true,"7908#","168#","-3389#","115#"), [95,140] => AMEdata(7565.1582,0.2246,true,"7908#","168#","-3389#","115#"), +"Cm235" => AMEdata(7547,0,false,"6780#","104#","-4757#","413#"), [96,139] => AMEdata(7547,0,false,"6780#","104#","-4757#","413#"), +"Bk235" => AMEdata(7524,2,false,"8697#","429#","*",""), [97,138] => AMEdata(7524,2,false,"8697#","429#","*",""), +"Ac236" => AMEdata(7559.2423,0.1618,true,"4207.4805","40.6669","4965.7951","40.6669"), [89,147] => AMEdata(7559.2423,0.1618,true,"4207.4805","40.6669","4965.7951","40.6669"), +"Th236" => AMEdata(7576.9688,0.0592,true,"5833.8692","19.1127","921.2477","19.7600"), [90,146] => AMEdata(7576.9688,0.0592,true,"5833.8692","19.1127","921.2477","19.7600"), +"Pa236" => AMEdata(7577.5573,0.0592,true,"5026.2638","19.7600","2889.3730","14.0166"), [91,145] => AMEdata(7577.5573,0.0592,true,"5026.2638","19.7600","2889.3730","14.0166"), +"U236" => AMEdata(7586.4854,0.0047,true,"6545.5184","0.2590","-933.5116","50.4152"), [92,144] => AMEdata(7586.4854,0.0047,true,"6545.5184","0.2590","-933.5116","50.4152"), +"Np236" => AMEdata(7579.2148,0.2136,true,"5736.2687","50.4196","476.5854","50.3887"), [93,143] => AMEdata(7579.2148,0.2136,true,"5736.2687","50.4196","476.5854","50.3887"), +"Pu236" => AMEdata(7577.9192,0.0077,true,"7352.1562","20.5391","-3139#","119#"), [94,142] => AMEdata(7577.9192,0.0077,true,"7352.1562","20.5391","-3139#","119#"), +"Am236" => AMEdata(7561,1,false,"6655#","130#","-1812#","120#"), [95,141] => AMEdata(7561,1,false,"6655#","130#","-1812#","120#"), +"Cm236" => AMEdata(7550.3090,0.0747,true,"8232#","104#","-5689#","361#"), [96,140] => AMEdata(7550.3090,0.0747,true,"8232#","104#","-5689#","361#"), +"Bk236" => AMEdata(7523,2,false,"7300#","539#","*",""), [97,139] => AMEdata(7523,2,false,"7300#","539#","*",""), +"Ac237" => AMEdata(7550,2,false,"5272#","401#","4065#","400#"), [89,148] => AMEdata(7550,2,false,"5272#","401#","4065#","400#"), +"Th237" => AMEdata(7563.4433,0.0668,true,"4371.4235","21.1184","2427.4736","20.5140"), [90,147] => AMEdata(7563.4433,0.0668,true,"4371.4235","21.1184","2427.4736","20.5140"), +"Pa237" => AMEdata(7570.3847,0.0550,true,"5877.6495","19.1127","2137.4905","13.0962"), [91,146] => AMEdata(7570.3847,0.0550,true,"5877.6495","19.1127","2137.4905","13.0962"), +"U237" => AMEdata(7576.1026,0.0051,true,"5125.7669","0.4621","518.5338","0.5200"), [92,145] => AMEdata(7576.1026,0.0051,true,"5125.7669","0.4621","518.5338","0.5200"), +"Np237" => AMEdata(7574.9895,0.0047,true,"6577.8124","50.4154","-220.0630","1.2944"), [93,144] => AMEdata(7574.9895,0.0047,true,"6577.8124","50.4154","-220.0630","1.2944"), +"Pu237" => AMEdata(7570.7599,0.0072,true,"5881.1640","2.0756","-1478#","59#"), [94,143] => AMEdata(7570.7599,0.0072,true,"5881.1640","2.0756","-1478#","59#"), +"Am237" => AMEdata(7561,0,false,"7542#","133#","-2677#","95#"), [95,142] => AMEdata(7561,0,false,"7542#","133#","-2677#","95#"), +"Cm237" => AMEdata(7546.6241,0.3139,true,"6676.9869","76.4446","-3963#","242#"), [96,141] => AMEdata(7546.6241,0.3139,true,"6676.9869","76.4446","-3963#","242#"), +"Bk237" => AMEdata(7527,1,false,"8403#","428#","-4728#","250#"), [97,140] => AMEdata(7527,1,false,"8403#","428#","-4728#","250#"), +"Cf237" => AMEdata(7503.3507,0.4107,true,"*","","*",""), [98,139] => AMEdata(7503.3507,0.4107,true,"*","","*",""), +"Th238" => AMEdata(7555,1,false,"5501#","284#","1631#","284#"), [90,148] => AMEdata(7555,1,false,"5501#","284#","1631#","284#"), +"Pa238" => AMEdata(7558.3449,0.0665,true,"4704.8984","20.5140","3586.3111","15.9056"), [91,147] => AMEdata(7558.3449,0.0665,true,"4704.8984","20.5140","3586.3111","15.9056"), +"U238" => AMEdata(7570.1262,0.0063,true,"6153.7190","1.2606","-146.8652","1.2006"), [92,146] => AMEdata(7570.1262,0.0063,true,"6153.7190","1.2606","-146.8652","1.2006"), +"Np238" => AMEdata(7566.2220,0.0048,true,"5488.3200","0.2000","1291.4491","0.4573"), [93,145] => AMEdata(7566.2220,0.0048,true,"5488.3200","0.2000","1291.4491","0.4573"), +"Pu238" => AMEdata(7568.3611,0.0048,true,"6999.8321","1.3459","-2258.2731","58.9005"), [94,144] => AMEdata(7568.3611,0.0048,true,"6999.8321","1.3459","-2258.2731","58.9005"), +"Am238" => AMEdata(7555.5853,0.2475,true,"6220#","84#","-1023.7818","60.1587"), [95,143] => AMEdata(7555.5853,0.2475,true,"6220#","84#","-1023.7818","60.1587"), +"Cm238" => AMEdata(7547.9966,0.0514,true,"7873.2662","75.3826","-4771#","256#"), [96,142] => AMEdata(7547.9966,0.0514,true,"7873.2662","75.3826","-4771#","256#"), +"Bk238" => AMEdata(7525,1,false,"7065#","344#","-3061#","393#"), [97,141] => AMEdata(7525,1,false,"7065#","344#","-3061#","393#"), +"Cf238" => AMEdata(7509,1,false,"8732#","314#","*",""), [98,140] => AMEdata(7509,1,false,"8732#","314#","*",""), +"Th239" => AMEdata(7540,2,false,"4096#","490#","3162#","445#"), [90,149] => AMEdata(7540,2,false,"4096#","490#","3162#","445#"), +"Pa239" => AMEdata(7550,1,false,"5628#","196#","2765#","196#"), [91,148] => AMEdata(7550,1,false,"5628#","196#","2765#","196#"), +"U239" => AMEdata(7558.5624,0.0063,true,"4806.3822","0.1720","1261.6634","1.4935"), [92,147] => AMEdata(7558.5624,0.0063,true,"4806.3822","0.1720","1261.6634","1.4935"), +"Np239" => AMEdata(7560.5680,0.0055,true,"6214.9108","0.9939","722.7849","0.9304"), [93,146] => AMEdata(7560.5680,0.0055,true,"6214.9108","0.9939","722.7849","0.9304"), +"Pu239" => AMEdata(7560.3187,0.0047,true,"5646.2465","0.3079","-802.1402","1.6635"), [94,145] => AMEdata(7560.3187,0.0047,true,"5646.2465","0.3079","-802.1402","1.6635"), +"Am239" => AMEdata(7553.6891,0.0083,true,"7102.3794","58.9237","-1756.6021","150.0740"), [95,144] => AMEdata(7553.6891,0.0083,true,"7102.3794","58.9237","-1756.6021","150.0740"), +"Cm239" => AMEdata(7543.0659,0.6279,true,"6369.5591","150.5640","-3103#","256#"), [96,143] => AMEdata(7543.0659,0.6279,true,"6369.5591","150.5640","-3103#","256#"), +"Bk239" => AMEdata(7527,1,false,"8038#","329#","-3952#","239#"), [97,142] => AMEdata(7527,1,false,"8038#","329#","-3952#","239#"), +"Cf239" => AMEdata(7507,1,false,"7147#","321#","-5429#","323#"), [98,141] => AMEdata(7507,1,false,"7147#","321#","-5429#","323#"), +"Es239" => AMEdata(7481,1,false,"*","","*",""), [99,140] => AMEdata(7481,1,false,"*","","*",""), +"Pa240" => AMEdata(7537,1,false,"4398#","280#","4295#","200#"), [91,149] => AMEdata(7537,1,false,"4398#","280#","4295#","200#"), +"U240" => AMEdata(7551.7705,0.0106,true,"5928.4888","2.8589","399.2685","17.0830"), [92,148] => AMEdata(7551.7705,0.0106,true,"5928.4888","2.8589","399.2685","17.0830"), +"Np240" => AMEdata(7550.1743,0.0710,true,"5066.0939","17.0381","2190.9095","17.0151"), [93,147] => AMEdata(7550.1743,0.0710,true,"5066.0939","17.0381","2190.9095","17.0151"), +"Pu240" => AMEdata(7556.0433,0.0046,true,"6534.2186","0.2311","-1384.7902","13.7882"), [94,146] => AMEdata(7556.0433,0.0046,true,"6534.2186","0.2311","-1384.7902","13.7882"), +"Am240" => AMEdata(7547.0136,0.0576,true,"5951.5686","13.8890","-214.1127","13.8967"), [95,145] => AMEdata(7547.0136,0.0576,true,"5951.5686","13.8890","-214.1127","13.8967"), +"Cm240" => AMEdata(7542.8617,0.0079,true,"7494.0580","150.0740","-3940#","150#"), [96,144] => AMEdata(7542.8617,0.0079,true,"7494.0580","150.0740","-3940#","150#"), +"Bk240" => AMEdata(7523,1,false,"6657#","256#","-2324#","151#"), [97,143] => AMEdata(7523,1,false,"6657#","256#","-2324#","151#"), +"Cf240" => AMEdata(7510.2400,0.0751,true,"8284#","121#","-6237#","366#"), [98,142] => AMEdata(7510.2400,0.0751,true,"8284#","121#","-6237#","366#"), +"Es240" => AMEdata(7481,2,false,"7476#","473#","*",""), [99,141] => AMEdata(7481,2,false,"7476#","473#","*",""), +"Pa241" => AMEdata(7528,1,false,"5341#","361#","3543#","358#"), [91,150] => AMEdata(7528,1,false,"5341#","361#","3543#","358#"), +"U241" => AMEdata(7539,1,false,"4590#","196#","1882#","220#"), [92,149] => AMEdata(7539,1,false,"4590#","196#","1882#","220#"), +"Np241" => AMEdata(7544.0426,0.4150,true,"6072.4315","101.4372","1360.0000","100.0000"), [93,148] => AMEdata(7544.0426,0.4150,true,"6072.4315","101.4372","1360.0000","100.0000"), +"Pu241" => AMEdata(7546.4395,0.0046,true,"5241.5220","0.0300","20.7799","0.1658"), [94,147] => AMEdata(7546.4395,0.0046,true,"5241.5220","0.0300","20.7799","0.1658"), +"Am241" => AMEdata(7543.2795,0.0046,true,"6647.0921","13.7872","-767.4346","1.1685"), [95,146] => AMEdata(7543.2795,0.0046,true,"6647.0921","13.7872","-767.4346","1.1685"), +"Cm241" => AMEdata(7536.8488,0.0067,true,"6093.7702","2.0909","-2279#","165#"), [96,145] => AMEdata(7536.8488,0.0067,true,"6093.7702","2.0909","-2279#","165#"), +"Bk241" => AMEdata(7524,1,false,"7755#","223#","-3346#","235#"), [97,144] => AMEdata(7524,1,false,"7755#","223#","-3346#","235#"), +"Cf241" => AMEdata(7507,1,false,"6733#","168#","-4567#","285#"), [98,143] => AMEdata(7507,1,false,"6733#","168#","-4567#","285#"), +"Es241" => AMEdata(7485,1,false,"8403#","433#","-5327#","379#"), [99,142] => AMEdata(7485,1,false,"8403#","433#","-5327#","379#"), +"Fm241" => AMEdata(7459,1,false,"*","","*",""), [100,141] => AMEdata(7459,1,false,"*","","*",""), +"U242" => AMEdata(7532,1,false,"5649#","280#","1203#","283#"), [92,150] => AMEdata(7532,1,false,"5649#","280#","1203#","283#"), +"Np242" => AMEdata(7533.4042,0.8265,true,"4969.5572","223.6078","2700.0000","200.0000"), [93,149] => AMEdata(7533.4042,0.8265,true,"4969.5572","223.6078","2700.0000","200.0000"), +"Pu242" => AMEdata(7541.3284,0.0052,true,"6309.5572","0.6814","-751.1373","0.7080"), [94,148] => AMEdata(7541.3284,0.0052,true,"6309.5572","0.6814","-751.1373","0.7080"), +"Am242" => AMEdata(7534.9917,0.0046,true,"5537.6400","0.1000","664.3145","0.4143"), [95,147] => AMEdata(7534.9917,0.0046,true,"5537.6400","0.1000","664.3145","0.4143"), +"Cm242" => AMEdata(7534.5040,0.0047,true,"6969.3890","1.2338","-2948#","135#"), [96,146] => AMEdata(7534.5040,0.0047,true,"6969.3890","1.2338","-2948#","135#"), +"Bk242" => AMEdata(7519,1,false,"6300#","213#","-1635#","135#"), [97,145] => AMEdata(7519,1,false,"6300#","213#","-1635#","135#"), +"Cf242" => AMEdata(7509.0991,0.0533,true,"8011#","168#","-5414#","257#"), [98,144] => AMEdata(7509.0991,0.0533,true,"8011#","168#","-5414#","257#"), +"Es242" => AMEdata(7483,1,false,"7163#","345#","-3598#","476#"), [99,143] => AMEdata(7483,1,false,"7163#","345#","-3598#","476#"), +"Fm242" => AMEdata(7465,2,false,"8892#","500#","*",""), [100,142] => AMEdata(7465,2,false,"8892#","500#","*",""), +"U243" => AMEdata(7518,1,false,"4211#","361#","2674#","302#"), [92,151] => AMEdata(7518,1,false,"4211#","361#","2674#","302#"), +"Np243" => AMEdata(7526,0,false,"5682#","203#","2051#","32#"), [93,150] => AMEdata(7526,0,false,"5682#","203#","2051#","32#"), +"Pu243" => AMEdata(7531.0087,0.0105,true,"5033.6330","2.3895","579.5559","2.6216"), [94,149] => AMEdata(7531.0087,0.0105,true,"5033.6330","2.3895","579.5559","2.6216"), +"Am243" => AMEdata(7530.1742,0.0057,true,"6364.3262","1.2358","-6.9302","1.5692"), [95,148] => AMEdata(7530.1742,0.0057,true,"6364.3262","1.2358","-6.9302","1.5692"), +"Cm243" => AMEdata(7526.9261,0.0062,true,"5693.0815","1.0495","-1507.6936","4.5065"), [96,147] => AMEdata(7526.9261,0.0062,true,"5693.0815","1.0495","-1507.6936","4.5065"), +"Bk243" => AMEdata(7517.5021,0.0186,true,"7134#","135#","-2300#","181#"), [97,146] => AMEdata(7517.5021,0.0186,true,"7134#","135#","-2300#","181#"), +"Cf243" => AMEdata(7505,1,false,"6468#","181#","-3757#","275#"), [98,145] => AMEdata(7505,1,false,"6468#","181#","-3757#","275#"), +"Es243" => AMEdata(7486,1,false,"8126#","330#","-4569#","245#"), [99,144] => AMEdata(7486,1,false,"8126#","330#","-4569#","245#"), +"Fm243" => AMEdata(7464,1,false,"7155#","421#","*",""), [100,143] => AMEdata(7464,1,false,"7155#","421#","*",""), +"Np244" => AMEdata(7514,0,false,"4637#","105#","3434#","100#"), [93,151] => AMEdata(7514,0,false,"4637#","105#","3434#","100#"), +"Pu244" => AMEdata(7524.8154,0.0096,true,"6019.8585","2.9335","-73.1143","2.6856"), [94,150] => AMEdata(7524.8154,0.0096,true,"6019.8585","2.9335","-73.1143","2.6856"), +"Am244" => AMEdata(7521.3095,0.0061,true,"5367.1883","1.5791","1427.3000","1.0000"), [95,149] => AMEdata(7521.3095,0.0061,true,"5367.1883","1.5791","1427.3000","1.0000"), +"Cm244" => AMEdata(7523.9527,0.0045,true,"6801.4186","1.0268","-2261.9902","14.3567"), [96,148] => AMEdata(7523.9527,0.0045,true,"6801.4186","1.0268","-2261.9902","14.3567"), +"Bk244" => AMEdata(7511.4759,0.0590,true,"6047.1220","15.0148","-764.2709","14.5724"), [97,147] => AMEdata(7511.4759,0.0590,true,"6047.1220","15.0148","-764.2709","14.5724"), +"Cf244" => AMEdata(7505.1373,0.0107,true,"7583#","181#","-4547#","181#"), [98,146] => AMEdata(7505.1373,0.0107,true,"7583#","181#","-4547#","181#"), +"Es244" => AMEdata(7483,1,false,"6792#","275#","-2938#","271#"), [99,145] => AMEdata(7483,1,false,"6792#","275#","-2938#","271#"), +"Fm244" => AMEdata(7468,1,false,"8424#","239#","-6634#","425#"), [100,144] => AMEdata(7468,1,false,"8424#","239#","-6634#","425#"), +"Md244" => AMEdata(7438,2,false,"*","","*",""), [101,143] => AMEdata(7438,2,false,"*","","*",""), +"Np245" => AMEdata(7506,1,false,"5461#","224#","2672#","201#"), [93,152] => AMEdata(7506,1,false,"5461#","224#","2672#","201#"), +"Pu245" => AMEdata(7513.2822,0.0556,true,"4699.1662","13.4164","1277.7559","13.7334"), [94,151] => AMEdata(7513.2822,0.0556,true,"4699.1662","13.4164","1277.7559","13.7334"), +"Am245" => AMEdata(7515.3043,0.0077,true,"6050.0363","1.9027","895.8929","1.5491"), [95,150] => AMEdata(7515.3043,0.0077,true,"6050.0363","1.9027","895.8929","1.5491"), +"Cm245" => AMEdata(7515.7677,0.0047,true,"5518.6292","0.4913","-809.2519","1.4964"), [96,149] => AMEdata(7515.7677,0.0047,true,"5518.6292","0.4913","-809.2519","1.4964"), +"Bk245" => AMEdata(7509.2714,0.0073,true,"6971.3675","14.4242","-1571.3755","2.5861"), [97,148] => AMEdata(7509.2714,0.0073,true,"6971.3675","14.4242","-1571.3755","2.5861"), +"Cf245" => AMEdata(7499.6644,0.0099,true,"6164.2629","3.3088","-2930#","165#"), [98,147] => AMEdata(7499.6644,0.0099,true,"6164.2629","3.3088","-2930#","165#"), +"Es245" => AMEdata(7485,1,false,"7782#","245#","-3877#","256#"), [99,146] => AMEdata(7485,1,false,"7782#","245#","-3877#","256#"), +"Fm245" => AMEdata(7465,1,false,"6843#","280#","-5133#","325#"), [100,145] => AMEdata(7465,1,false,"6843#","280#","-5133#","325#"), +"Md245" => AMEdata(7441,1,false,"8344#","456#","*",""), [101,144] => AMEdata(7441,1,false,"8344#","456#","*",""), +"Pu246" => AMEdata(7506.5401,0.0609,true,"5854.7185","20.0905","401#","14#"), [94,152] => AMEdata(7506.5401,0.0609,true,"5854.7185","20.0905","401#","14#"), +"Am246" => AMEdata(7505,0,false,"4978#","18#","2377#","18#"), [95,151] => AMEdata(7505,0,false,"4978#","18#","2377#","18#"), +"Cm246" => AMEdata(7511.4716,0.0062,true,"6458.9303","1.2178","-1350.0000","60.0000"), [96,150] => AMEdata(7511.4716,0.0062,true,"6458.9303","1.2178","-1350.0000","60.0000"), +"Bk246" => AMEdata(7502.8035,0.2440,true,"5918.1822","60.0271","-123.3159","60.0198"), [97,149] => AMEdata(7502.8035,0.2440,true,"5918.1822","60.0271","-123.3159","60.0198"), +"Cf246" => AMEdata(7499.1220,0.0062,true,"7366.2418","2.4223","-3728.5741","89.9373"), [98,148] => AMEdata(7499.1220,0.0062,true,"7366.2418","2.4223","-3728.5741","89.9373"), +"Es246" => AMEdata(7480.7849,0.3655,true,"6567#","188#","-2372.3848","90.9577"), [99,147] => AMEdata(7480.7849,0.3655,true,"6567#","188#","-2372.3848","90.9577"), +"Fm246" => AMEdata(7467.9608,0.0556,true,"8072#","196#","-5924#","260#"), [100,146] => AMEdata(7467.9608,0.0556,true,"8072#","196#","-5924#","260#"), +"Md246" => AMEdata(7441,1,false,"7281#","367#","*",""), [101,145] => AMEdata(7441,1,false,"7281#","367#","*",""), +"Pu247" => AMEdata(7493,1,false,"4256#","201#","2057#","224#"), [94,153] => AMEdata(7493,1,false,"4256#","201#","2057#","224#"), +"Am247" => AMEdata(7499,0,false,"5912#","102#","1620#","100#"), [95,152] => AMEdata(7499,0,false,"5912#","102#","1620#","100#"), +"Cm247" => AMEdata(7501.9318,0.0154,true,"5155.1245","3.7755","43.5841","6.3245"), [96,151] => AMEdata(7501.9318,0.0154,true,"5155.1245","3.7755","43.5841","6.3245"), +"Bk247" => AMEdata(7498.9408,0.0210,true,"6548.7086","60.2302","-619.8711","15.2376"), [97,150] => AMEdata(7498.9408,0.0210,true,"6548.7086","60.2302","-619.8711","15.2376"), +"Cf247" => AMEdata(7493.2638,0.0580,true,"6052.1534","14.4066","-2469.0006","24.1495"), [98,149] => AMEdata(7493.2638,0.0580,true,"6052.1534","14.4066","-2469.0006","24.1495"), +"Es247" => AMEdata(7480.1005,0.0787,true,"7311.7269","92.0020","-3094#","182#"), [99,148] => AMEdata(7480.1005,0.0787,true,"7311.7269","92.0020","-3094#","182#"), +"Fm247" => AMEdata(7464,1,false,"6590#","181#","-4263#","275#"), [100,147] => AMEdata(7464,1,false,"6590#","181#","-4263#","275#"), +"Md247" => AMEdata(7444,1,false,"8251#","333#","*",""), [101,146] => AMEdata(7444,1,false,"8251#","333#","*",""), +"Am248" => AMEdata(7487,1,false,"4662#","224#","3170#","200#"), [95,153] => AMEdata(7487,1,false,"4662#","224#","3170#","200#"), +"Cm248" => AMEdata(7496.7291,0.0095,true,"6211.6758","3.9700","-738.3049","50.0026"), [96,152] => AMEdata(7496.7291,0.0095,true,"6211.6758","3.9700","-738.3049","50.0026"), +"Bk248" => AMEdata(7490.5975,0.2018,true,"5429.7868","50.3221","893.1015","50.3143"), [97,151] => AMEdata(7490.5975,0.2018,true,"5429.7868","50.3221","893.1015","50.3143"), +"Cf248" => AMEdata(7491.0440,0.0207,true,"6942.7595","15.2145","-3061#","53#"), [98,150] => AMEdata(7491.0440,0.0207,true,"6942.7595","15.2145","-3061#","53#"), +"Es248" => AMEdata(7476,0,false,"6351#","56#","-1599#","53#"), [99,149] => AMEdata(7476,0,false,"6351#","56#","-1599#","53#"), +"Fm248" => AMEdata(7465.9451,0.0343,true,"7846#","181#","-5050#","184#"), [100,148] => AMEdata(7465.9451,0.0343,true,"7846#","181#","-5050#","184#"), +"Md248" => AMEdata(7442,1,false,"7059#","277#","-3741#","290#"), [101,147] => AMEdata(7442,1,false,"7059#","277#","-3741#","290#"), +"No248" => AMEdata(7424,1,false,"*","","*",""), [102,146] => AMEdata(7424,1,false,"*","","*",""), +"Am249" => AMEdata(7479,1,false,"5530#","359#","2353#","298#"), [95,154] => AMEdata(7479,1,false,"5530#","359#","2353#","298#"), +"Cm249" => AMEdata(7485.5510,0.0095,true,"4713.3700","0.2500","904.3630","2.5934"), [96,153] => AMEdata(7485.5510,0.0095,true,"4713.3700","0.2500","904.3630","2.5934"), +"Bk249" => AMEdata(7486.0410,0.0050,true,"6356.0378","50.0692","123.6000","0.4000"), [97,152] => AMEdata(7486.0410,0.0050,true,"6356.0378","50.0692","123.6000","0.4000"), +"Cf249" => AMEdata(7483.3954,0.0048,true,"5586.5363","5.0458","-1452#","30#"), [98,151] => AMEdata(7483.3954,0.0048,true,"5586.5363","5.0458","-1452#","30#"), +"Es249" => AMEdata(7474,0,false,"7196#","60#","-2344#","31#"), [99,150] => AMEdata(7474,0,false,"7196#","60#","-2344#","31#"), +"Fm249" => AMEdata(7461.8649,0.0249,true,"6449.9683","10.4729","-3661.8091","164.5418"), [100,149] => AMEdata(7461.8649,0.0249,true,"6449.9683","10.4729","-3661.8091","164.5418"), +"Md249" => AMEdata(7444.0169,0.6603,true,"7838#","247#","-4606#","324#"), [101,148] => AMEdata(7444.0169,0.6603,true,"7838#","247#","-4606#","324#"), +"No249" => AMEdata(7422,1,false,"6973#","358#","*",""), [102,147] => AMEdata(7422,1,false,"6973#","358#","*",""), +"Cm250" => AMEdata(7478.9385,0.0411,true,"5832.4263","10.0031","37.5820","10.6414"), [96,154] => AMEdata(7478.9385,0.0411,true,"5832.4263","10.0031","37.5820","10.6414"), +"Bk250" => AMEdata(7475.9594,0.0116,true,"4965.6453","2.8148","1781.6696","2.4561"), [97,153] => AMEdata(7475.9594,0.0116,true,"4965.6453","2.8148","1781.6696","2.4561"), +"Cf250" => AMEdata(7479.9567,0.0062,true,"6623.7149","1.3155","-2055#","100#"), [98,152] => AMEdata(7479.9567,0.0062,true,"6623.7149","1.3155","-2055#","100#"), +"Es250" => AMEdata(7469,0,false,"6021#","104#","-847#","100#"), [99,151] => AMEdata(7469,0,false,"6021#","104#","-847#","100#"), +"Fm250" => AMEdata(7462.0905,0.0316,true,"7518.2680","9.9670","-4326.9476","91.2615"), [100,150] => AMEdata(7462.0905,0.0316,true,"7518.2680","9.9670","-4326.9476","91.2615"), +"Md250" => AMEdata(7441.6533,0.3637,true,"6853.1295","187.8879","-3167#","220#"), [101,149] => AMEdata(7441.6533,0.3637,true,"6853.1295","187.8879","-3167#","220#"), +"No250" => AMEdata(7426,1,false,"8292#","344#","*",""), [102,148] => AMEdata(7426,1,false,"8292#","344#","*",""), +"Cm251" => AMEdata(7466.7233,0.0904,true,"4412.9244","24.8306","1420.0000","20.0000"), [96,155] => AMEdata(7466.7233,0.0904,true,"4412.9244","24.8306","1420.0000","20.0000"), +"Bk251" => AMEdata(7469.2637,0.0428,true,"5795.3424","11.0056","1093.0000","10.0000"), [97,154] => AMEdata(7469.2637,0.0428,true,"5795.3424","11.0056","1093.0000","10.0000"), +"Cf251" => AMEdata(7470.5014,0.0155,true,"5106.6728","3.8848","-376.5660","6.4677"), [98,153] => AMEdata(7470.5014,0.0155,true,"5106.6728","3.8848","-376.5660","6.4677"), +"Es251" => AMEdata(7465.8842,0.0211,true,"6785#","100#","-1447.2610","15.2387"), [99,152] => AMEdata(7465.8842,0.0211,true,"6785#","100#","-1447.2610","15.2387"), +"Fm251" => AMEdata(7457.0013,0.0569,true,"6184.7026","16.3242","-3007.9406","23.7108"), [100,151] => AMEdata(7457.0013,0.0569,true,"6184.7026","16.3242","-3007.9406","23.7108"), +"Md251" => AMEdata(7441.9005,0.0754,true,"7503.7096","92.8676","-3882#","182#"), [101,150] => AMEdata(7441.9005,0.0754,true,"7503.7096","92.8676","-3882#","182#"), +"No251" => AMEdata(7423,1,false,"6788#","270#","-4981#","270#"), [102,149] => AMEdata(7423,1,false,"6788#","270#","-4981#","270#"), +"Lr251" => AMEdata(7400,1,false,"*","","*",""), [103,148] => AMEdata(7400,1,false,"*","","*",""), +"Cm252" => AMEdata(7460,1,false,"5663#","299#","521#","359#"), [96,156] => AMEdata(7460,1,false,"5663#","299#","521#","359#"), +"Bk252" => AMEdata(7459,1,false,"4765#","200#","2500#","200#"), [97,155] => AMEdata(7459,1,false,"4765#","200#","2500#","200#"), +"Cf252" => AMEdata(7465.3474,0.0094,true,"6171.6888","4.0697","-1260.0000","50.0000"), [98,154] => AMEdata(7465.3474,0.0094,true,"6171.6888","4.0697","-1260.0000","50.0000"), +"Es252" => AMEdata(7457.2428,0.1986,true,"5288.2548","50.3298","477.9998","50.3220"), [99,153] => AMEdata(7457.2428,0.1986,true,"5288.2548","50.3298","477.9998","50.3220"), +"Fm252" => AMEdata(7456.0351,0.0207,true,"7213.5157","15.2156","-3650.5075","91.4356"), [100,152] => AMEdata(7456.0351,0.0207,true,"7213.5157","15.2156","-3650.5075","91.4356"), +"Md252" => AMEdata(7438.4444,0.3622,true,"6570.9488","93.2264","-2404.2523","91.7581"), [101,151] => AMEdata(7438.4444,0.3622,true,"6570.9488","93.2264","-2404.2523","91.7581"), +"No252" => AMEdata(7425.7992,0.0369,true,"8049#","181#","-5666#","185#"), [102,150] => AMEdata(7425.7992,0.0369,true,"8049#","181#","-5666#","185#"), +"Lr252" => AMEdata(7400,1,false,"7364#","272#","*",""), [103,149] => AMEdata(7400,1,false,"7364#","272#","*",""), +"Bk253" => AMEdata(7451,1,false,"5677#","411#","1627#","359#"), [97,156] => AMEdata(7451,1,false,"5677#","411#","1627#","359#"), +"Cf253" => AMEdata(7454.8297,0.0168,true,"4804.3669","3.5446","291.0753","4.3850"), [98,155] => AMEdata(7454.8297,0.0168,true,"4804.3669","3.5446","291.0753","4.3850"), +"Es253" => AMEdata(7452.8879,0.0049,true,"6355.4422","50.0666","-335.0623","1.0782"), [99,154] => AMEdata(7452.8879,0.0049,true,"6355.4422","50.0666","-335.0623","1.0782"), +"Fm253" => AMEdata(7448.4712,0.0061,true,"5542.3801","5.2434","-1827#","31#"), [100,153] => AMEdata(7448.4712,0.0061,true,"5542.3801","5.2434","-1827#","31#"), +"Md253" => AMEdata(7438,0,false,"7366#","96#","-3186#","32#"), [101,152] => AMEdata(7438,0,false,"7366#","96#","-3186#","32#"), +"No253" => AMEdata(7422.4719,0.0273,true,"6583.9925","11.5430","-4164.7752","164.6791"), [102,151] => AMEdata(7422.4719,0.0273,true,"6583.9925","11.5430","-4164.7752","164.6791"), +"Lr253" => AMEdata(7402.9180,0.6503,true,"8085#","247#","-5118#","442#"), [103,150] => AMEdata(7402.9180,0.6503,true,"8085#","247#","-5118#","442#"), +"Rf253" => AMEdata(7380,2,false,"*","","*",""), [104,149] => AMEdata(7380,2,false,"*","","*",""), +"Bk254" => AMEdata(7440,1,false,"4607#","467#","3052#","298#"), [97,157] => AMEdata(7440,1,false,"4607#","467#","3052#","298#"), +"Cf254" => AMEdata(7449.2259,0.0451,true,"6031.4844","11.7631","-652.7561","11.8014"), [98,156] => AMEdata(7449.2259,0.0451,true,"6031.4844","11.7631","-652.7561","11.8014"), +"Es254" => AMEdata(7443.5759,0.0116,true,"5087.6530","2.8549","1091.6300","2.2858"), [99,155] => AMEdata(7443.5759,0.0116,true,"5087.6530","2.8549","1091.6300","2.2858"), +"Fm254" => AMEdata(7444.7936,0.0073,true,"6514.3453","1.9398","-2550#","100#"), [100,154] => AMEdata(7444.7936,0.0073,true,"6514.3453","1.9398","-2550#","100#"), +"Md254" => AMEdata(7432,0,false,"5792#","105#","-1271#","100#"), [101,153] => AMEdata(7432,0,false,"5792#","105#","-1271#","100#"), +"No254" => AMEdata(7423.5909,0.0380,true,"7706.7022","11.8367","-4922.5753","91.8208"), [102,152] => AMEdata(7423.5909,0.0380,true,"7706.7022","11.8367","-4922.5753","91.8208"), +"Lr254" => AMEdata(7401.1306,0.3595,true,"6948.9021","188.1734","-3555#","298#"), [103,151] => AMEdata(7401.1306,0.3595,true,"6948.9021","188.1734","-3555#","298#"), +"Rf254" => AMEdata(7384,1,false,"8512#","498#","*",""), [104,150] => AMEdata(7384,1,false,"8512#","498#","*",""), +"Cf255" => AMEdata(7438,1,false,"4603#","201#","720#","200#"), [98,157] => AMEdata(7438,1,false,"4603#","201#","720#","200#"), +"Es255" => AMEdata(7437.8216,0.0424,true,"5976.2324","11.0972","288.7717","10.1024"), [99,156] => AMEdata(7437.8216,0.0424,true,"5976.2324","11.0972","288.7717","10.1024"), +"Fm255" => AMEdata(7435.8860,0.0154,true,"5173.3741","4.0475","-1041.6037","6.7172"), [100,155] => AMEdata(7435.8860,0.0154,true,"5173.3741","4.0475","-1041.6037","6.7172"), +"Md255" => AMEdata(7428.7333,0.0218,true,"6682#","100#","-1969.8648","15.1096"), [101,154] => AMEdata(7428.7333,0.0218,true,"6682#","100#","-1969.8648","15.1096"), +"No255" => AMEdata(7417.9403,0.0551,true,"5982.6960","17.0463","-3135.3716","22.5952"), [102,153] => AMEdata(7417.9403,0.0551,true,"5982.6960","17.0463","-3135.3716","22.5952"), +"Lr255" => AMEdata(7402.5767,0.0694,true,"7769.8997","93.0109","-4382#","182#"), [103,152] => AMEdata(7402.5767,0.0694,true,"7769.8997","93.0109","-4382#","182#"), +"Rf255" => AMEdata(7382,1,false,"6943#","336#","-5265#","336#"), [104,151] => AMEdata(7382,1,false,"6943#","336#","-5265#","336#"), +"Db255" => AMEdata(7359,1,false,"*","","*",""), [105,150] => AMEdata(7359,1,false,"*","","*",""), +"Cf256" => AMEdata(7432,1,false,"5840#","373#","-144#","330#"), [98,158] => AMEdata(7432,1,false,"5840#","373#","-144#","330#"), +"Es256" => AMEdata(7428,0,false,"4976#","101#","1700#","100#"), [99,157] => AMEdata(7428,0,false,"4976#","101#","1700#","100#"), +"Fm256" => AMEdata(7431.7888,0.0118,true,"6386.9869","4.5144","-1971#","124#"), [100,156] => AMEdata(7431.7888,0.0118,true,"6386.9869","4.5144","-1971#","124#"), +"Md256" => AMEdata(7421,0,false,"5457#","124#","-367#","124#"), [101,155] => AMEdata(7421,0,false,"5457#","124#","-367#","124#"), +"No256" => AMEdata(7416.5429,0.0295,true,"7060.2061","15.9464","-3923.5573","83.2459"), [102,154] => AMEdata(7416.5429,0.0295,true,"7060.2061","15.9464","-3923.5573","83.2459"), +"Lr256" => AMEdata(7398.1605,0.3238,true,"6272.0204","84.7711","-2475.3893","84.8025"), [103,153] => AMEdata(7398.1605,0.3238,true,"6272.0204","84.7711","-2475.3893","84.8025"), +"Rf256" => AMEdata(7385.4349,0.0697,true,"8179#","182#","-6076#","188#"), [104,152] => AMEdata(7385.4349,0.0697,true,"8179#","182#","-6076#","188#"), +"Db256" => AMEdata(7359,1,false,"7368#","339#","*",""), [105,151] => AMEdata(7359,1,false,"7368#","339#","*",""), +"Es257" => AMEdata(7422,2,false,"5853#","423#","813#","411#"), [99,158] => AMEdata(7422,2,false,"5853#","423#","813#","411#"), +"Fm257" => AMEdata(7422.1942,0.0169,true,"4965.9772","4.1138","-402.3347","4.5748"), [100,157] => AMEdata(7422.1942,0.0169,true,"4965.9772","4.1138","-402.3347","4.5748"), +"Md257" => AMEdata(7417.5845,0.0061,true,"6535#","124#","-1254.5923","6.1695"), [101,156] => AMEdata(7417.5845,0.0061,true,"6535#","124#","-1254.5923","6.1695"), +"No257" => AMEdata(7409.6587,0.0241,true,"5647.2996","9.6548","-2418#","45#"), [102,155] => AMEdata(7409.6587,0.0241,true,"5647.2996","9.6548","-2418#","45#"), +"Lr257" => AMEdata(7397,0,false,"7153#","94#","-3201#","45#"), [103,154] => AMEdata(7397,0,false,"7153#","94#","-3201#","45#"), +"Rf257" => AMEdata(7381.7053,0.0421,true,"6426.9219","20.8491","-4287.8969","164.9888"), [104,153] => AMEdata(7381.7053,0.0421,true,"6426.9219","20.8491","-4287.8969","164.9888"), +"Db257" => AMEdata(7361.9767,0.6406,true,"8215#","249#","*",""), [105,152] => AMEdata(7361.9767,0.6406,true,"8215#","249#","*",""), +"Es258" => AMEdata(7412,2,false,"4773#","574#","2276#","448#"), [99,159] => AMEdata(7412,2,false,"4773#","574#","2276#","448#"), +"Fm258" => AMEdata(7418,1,false,"6235#","200#","-1264#","200#"), [100,158] => AMEdata(7418,1,false,"6235#","200#","-1264#","200#"), +"Md258" => AMEdata(7409.6615,0.0135,true,"5373.4402","3.5353","213#","100#"), [101,157] => AMEdata(7409.6615,0.0135,true,"5373.4402","3.5353","213#","100#"), +"No258" => AMEdata(7407,0,false,"6841#","100#","-3304#","143#"), [102,156] => AMEdata(7407,0,false,"6841#","100#","-3304#","143#"), +"Lr258" => AMEdata(7392,0,false,"5955#","111#","-1562#","103#"), [103,155] => AMEdata(7392,0,false,"5955#","111#","-1562#","103#"), +"Rf258" => AMEdata(7382.5257,0.0624,true,"7593.3689","19.3754","-5163.3651","93.2584"), [104,154] => AMEdata(7382.5257,0.0624,true,"7593.3689","19.3754","-5163.3651","93.2584"), +"Db258" => AMEdata(7359.4803,0.3560,true,"6717.9007","188.5261","-3788#","423#"), [105,153] => AMEdata(7359.4803,0.3560,true,"6717.9007","188.5261","-3788#","423#"), +"Sg258" => AMEdata(7342,2,false,"*","","*",""), [106,152] => AMEdata(7342,2,false,"*","","*",""), +"Fm259" => AMEdata(7407,1,false,"4793#","347#","140#","300#"), [100,159] => AMEdata(7407,1,false,"4793#","347#","140#","300#"), +"Md259" => AMEdata(7405,0,false,"6198#","101#","-515#","101#"), [101,158] => AMEdata(7405,0,false,"6198#","101#","-515#","101#"), +"No259" => AMEdata(7399.9714,0.0246,true,"5469#","100#","-1771#","71#"), [102,157] => AMEdata(7399.9714,0.0246,true,"5469#","100#","-1771#","71#"), +"Lr259" => AMEdata(7390,0,false,"7002#","124#","-2516#","101#"), [103,156] => AMEdata(7390,0,false,"7002#","124#","-2516#","101#"), +"Rf259" => AMEdata(7377,0,false,"6049#","74#","-3624#","92#"), [104,155] => AMEdata(7377,0,false,"6049#","74#","-3624#","92#"), +"Db259" => AMEdata(7360.3626,0.2189,true,"7587.9997","107.9399","-4528#","190#"), [105,154] => AMEdata(7360.3626,0.2189,true,"7587.9997","107.9399","-4528#","190#"), +"Sg259" => AMEdata(7340,1,false,"6848#","451#","*",""), [106,153] => AMEdata(7340,1,false,"6848#","451#","*",""), +"Fm260" => AMEdata(7402,2,false,"6010#","519#","-784#","537#"), [100,160] => AMEdata(7402,2,false,"6010#","519#","-784#","537#"), +"Md260" => AMEdata(7396,1,false,"5086#","332#","940#","374#"), [101,159] => AMEdata(7396,1,false,"5086#","332#","940#","374#"), +"No260" => AMEdata(7397,1,false,"6541#","200#","-2667#","236#"), [102,158] => AMEdata(7397,1,false,"6541#","200#","-2667#","236#"), +"Lr260" => AMEdata(7383,0,false,"5645#","144#","-871#","236#"), [103,157] => AMEdata(7383,0,false,"5645#","144#","-871#","236#"), +"Rf260" => AMEdata(7377,1,false,"7290#","213#","-4525#","221#"), [104,156] => AMEdata(7377,1,false,"7290#","213#","-4525#","221#"), +"Db260" => AMEdata(7357,0,false,"6390#","109#","-2875#","95#"), [105,155] => AMEdata(7357,0,false,"6390#","109#","-2875#","95#"), +"Sg260" => AMEdata(7342.5632,0.0790,true,"8043#","182#","-6576#","197#"), [106,154] => AMEdata(7342.5632,0.0790,true,"8043#","182#","-6576#","197#"), +"Bh260" => AMEdata(7314,1,false,"*","","*",""), [107,153] => AMEdata(7314,1,false,"*","","*",""), +"Md261" => AMEdata(7391,2,false,"6043#","599#","123#","547#"), [101,160] => AMEdata(7391,2,false,"6043#","599#","123#","547#"), +"No261" => AMEdata(7388,1,false,"5226#","283#","-1102#","283#"), [102,159] => AMEdata(7388,1,false,"5226#","283#","-1102#","283#"), +"Lr261" => AMEdata(7381,1,false,"6791#","236#","-1761#","211#"), [103,158] => AMEdata(7381,1,false,"6791#","236#","-1761#","211#"), +"Rf261" => AMEdata(7371.3858,0.2516,true,"5901#","211#","-2990#","128#"), [104,157] => AMEdata(7371.3858,0.2516,true,"5901#","211#","-2990#","128#"), +"Db261" => AMEdata(7357,0,false,"7436#","144#","-3697#","112#"), [105,156] => AMEdata(7357,0,false,"7436#","144#","-3697#","112#"), +"Sg261" => AMEdata(7339.7710,0.0709,true,"6613.8090","27.6196","-5074.4052","180.7519"), [106,155] => AMEdata(7339.7710,0.0709,true,"6613.8090","27.6196","-5074.4052","180.7519"), +"Bh261" => AMEdata(7317.3313,0.6889,true,"8115#","266#","*",""), [107,154] => AMEdata(7317.3313,0.6889,true,"8115#","266#","*",""), +"Md262" => AMEdata(7382,2,false,"4983#","678#","1566#","575#"), [101,161] => AMEdata(7382,2,false,"4983#","678#","1566#","575#"), +"No262" => AMEdata(7385,1,false,"6425#","412#","-2004#","412#"), [102,160] => AMEdata(7385,1,false,"6425#","412#","-2004#","412#"), +"Lr262" => AMEdata(7374,1,false,"5523#","283#","-287#","300#"), [103,159] => AMEdata(7374,1,false,"5523#","283#","-287#","300#"), +"Rf262" => AMEdata(7370,1,false,"6997#","233#","-3861#","265#"), [104,158] => AMEdata(7370,1,false,"6997#","233#","-3861#","265#"), +"Db262" => AMEdata(7352,1,false,"6126#","181#","-2116#","145#"), [105,157] => AMEdata(7352,1,false,"6126#","181#","-2116#","145#"), +"Sg262" => AMEdata(7341.1736,0.0846,true,"7707.2502","28.8522","-5883.0463","95.6774"), [106,156] => AMEdata(7341.1736,0.0846,true,"7707.2502","28.8522","-5883.0463","95.6774"), +"Bh262" => AMEdata(7315.7331,0.3552,true,"6898.6091","202.4649","*",""), [107,155] => AMEdata(7315.7331,0.3552,true,"6898.6091","202.4649","*",""), +"No263" => AMEdata(7376,2,false,"5043#","608#","-540#","539#"), [102,161] => AMEdata(7376,2,false,"5043#","608#","-540#","539#"), +"Lr263" => AMEdata(7371,1,false,"6508#","300#","-1087#","271#"), [103,160] => AMEdata(7371,1,false,"6508#","300#","-1087#","271#"), +"Rf263" => AMEdata(7364,1,false,"5707#","271#","-2353#","227#"), [104,159] => AMEdata(7364,1,false,"5707#","271#","-2353#","227#"), +"Db263" => AMEdata(7352,1,false,"7214#","221#","-3085#","193#"), [105,158] => AMEdata(7352,1,false,"7214#","221#","-3085#","193#"), +"Sg263" => AMEdata(7337,0,false,"6245#","97#","-4301#","320#"), [106,157] => AMEdata(7337,0,false,"6245#","97#","-4301#","320#"), +"Bh263" => AMEdata(7318,1,false,"7827#","319#","-5182#","363#"), [107,156] => AMEdata(7318,1,false,"7827#","319#","-5182#","363#"), +"Hs263" => AMEdata(7295,1,false,"*","","*",""), [108,155] => AMEdata(7295,1,false,"*","","*",""), +"No264" => AMEdata(7371,2,false,"6190#","767#","-1364#","734#"), [102,162] => AMEdata(7371,2,false,"6190#","767#","-1364#","734#"), +"Lr264" => AMEdata(7363,2,false,"5366#","490#","300#","566#"), [103,161] => AMEdata(7363,2,false,"5366#","490#","300#","566#"), +"Rf264" => AMEdata(7361,1,false,"6753#","392#","-3187#","431#"), [104,160] => AMEdata(7361,1,false,"6753#","392#","-3187#","431#"), +"Db264" => AMEdata(7346,1,false,"5920#","290#","-1521#","368#"), [105,159] => AMEdata(7346,1,false,"5920#","290#","-1521#","368#"), +"Sg264" => AMEdata(7338,1,false,"7484#","298#","-5175#","334#"), [106,158] => AMEdata(7338,1,false,"7484#","298#","-5175#","334#"), +"Bh264" => AMEdata(7315,1,false,"6610#","353#","-3605#","180#"), [107,157] => AMEdata(7315,1,false,"6610#","353#","-3605#","180#"), +"Hs264" => AMEdata(7298.3762,0.1094,true,"8186#","199#","*",""), [108,156] => AMEdata(7298.3762,0.1094,true,"8186#","199#","*",""), +"Lr265" => AMEdata(7359,2,false,"6213#","699#","-457#","655#"), [103,162] => AMEdata(7359,2,false,"6213#","699#","-457#","655#"), +"Rf265" => AMEdata(7354,1,false,"5456#","510#","-1692#","424#"), [104,161] => AMEdata(7354,1,false,"5456#","510#","-1692#","424#"), +"Db265" => AMEdata(7345,1,false,"6951#","325#","-2412#","263#"), [105,160] => AMEdata(7345,1,false,"6951#","325#","-2412#","263#"), +"Sg265" => AMEdata(7333,1,false,"6060#","315#","-3601#","277#"), [106,159] => AMEdata(7333,1,false,"6060#","315#","-3601#","277#"), +"Bh265" => AMEdata(7316,1,false,"7634#","298#","-4505#","240#"), [107,158] => AMEdata(7316,1,false,"7634#","298#","-4505#","240#"), +"Hs265" => AMEdata(7296.2474,0.0904,true,"6734.2386","37.5130","-5724#","439#"), [108,157] => AMEdata(7296.2474,0.0904,true,"6734.2386","37.5130","-5724#","439#"), +"Mt265" => AMEdata(7272,2,false,"*","","*",""), [109,156] => AMEdata(7272,2,false,"*","","*",""), +"Lr266" => AMEdata(7349,2,false,"4643#","768#","1526#","679#"), [103,163] => AMEdata(7349,2,false,"4643#","768#","1526#","679#"), +"Rf266" => AMEdata(7351,2,false,"6625#","548#","-2604#","500#"), [104,162] => AMEdata(7351,2,false,"6625#","548#","-2604#","500#"), +"Db266" => AMEdata(7339,1,false,"5713#","361#","-877#","374#"), [105,161] => AMEdata(7339,1,false,"5713#","361#","-877#","374#"), +"Sg266" => AMEdata(7332,1,false,"7248#","282#","-4487#","294#"), [106,160] => AMEdata(7332,1,false,"7248#","282#","-4487#","294#"), +"Bh266" => AMEdata(7313,1,false,"6362#","289#","-3036#","165#"), [107,159] => AMEdata(7313,1,false,"6362#","289#","-3036#","165#"), +"Hs266" => AMEdata(7298.2611,0.1019,true,"7831.8882","36.1629","-6533.0066","100.2087"), [108,158] => AMEdata(7298.2611,0.1019,true,"7831.8882","36.1629","-6533.0066","100.2087"), +"Mt266" => AMEdata(7270.7598,0.3627,true,"7023#","449#","*",""), [109,157] => AMEdata(7270.7598,0.3627,true,"7023#","449#","*",""), +"Rf267" => AMEdata(7342,2,false,"4763#","707#","-570#","686#"), [104,163] => AMEdata(7342,2,false,"4763#","707#","-570#","686#"), +"Db267" => AMEdata(7337,1,false,"6798#","469#","-1792#","457#"), [105,162] => AMEdata(7337,1,false,"6798#","469#","-1792#","457#"), +"Sg267" => AMEdata(7327,1,false,"5882#","358#","-2958#","371#"), [106,161] => AMEdata(7327,1,false,"5882#","358#","-2958#","371#"), +"Bh267" => AMEdata(7313,1,false,"7411#","309#","-3893#","279#"), [107,160] => AMEdata(7313,1,false,"7411#","309#","-3893#","279#"), +"Hs267" => AMEdata(7295,0,false,"6553#","99#","-5133#","512#"), [108,159] => AMEdata(7295,0,false,"6553#","99#","-5133#","512#"), +"Mt267" => AMEdata(7273,2,false,"7953#","512#","-6089#","543#"), [109,158] => AMEdata(7273,2,false,"7953#","512#","-6089#","543#"), +"Ds267" => AMEdata(7248,1,false,"*","","*",""), [110,157] => AMEdata(7248,1,false,"*","","*",""), +"Rf268" => AMEdata(7337,2,false,"6040#","877#","-1584#","848#"), [104,164] => AMEdata(7337,2,false,"6040#","877#","-1584#","848#"), +"Db268" => AMEdata(7328,2,false,"5026#","648#","260#","707#"), [105,163] => AMEdata(7328,2,false,"5026#","648#","260#","707#"), +"Sg268" => AMEdata(7326,2,false,"7078#","537#","-3907#","605#"), [106,162] => AMEdata(7326,2,false,"7078#","537#","-3907#","605#"), +"Bh268" => AMEdata(7309,1,false,"6130#","463#","-2261#","486#"), [107,161] => AMEdata(7309,1,false,"6130#","463#","-2261#","486#"), +"Hs268" => AMEdata(7297,1,false,"7761#","315#","-6183#","380#"), [108,160] => AMEdata(7297,1,false,"7761#","315#","-6183#","380#"), +"Mt268" => AMEdata(7271,1,false,"6711#","555#","-4497#","381#"), [109,159] => AMEdata(7271,1,false,"6711#","555#","-4497#","381#"), +"Ds268" => AMEdata(7252,1,false,"8303#","364#","*",""), [110,158] => AMEdata(7252,1,false,"8303#","364#","*",""), +"Db269" => AMEdata(7323,2,false,"5983#","818#","-544#","724#"), [105,164] => AMEdata(7323,2,false,"5983#","818#","-544#","724#"), +"Sg269" => AMEdata(7318,1,false,"5179#","596#","-1785#","525#"), [106,163] => AMEdata(7318,1,false,"5179#","596#","-1785#","525#"), +"Bh269" => AMEdata(7309,1,false,"7301#","534#","-3016#","396#"), [107,162] => AMEdata(7309,1,false,"7301#","534#","-3016#","396#"), +"Hs269" => AMEdata(7294,0,false,"6546#","327#","-4807#","338#"), [108,161] => AMEdata(7294,0,false,"6546#","327#","-4807#","338#"), +"Mt269" => AMEdata(7274,1,false,"7922#","389#","-5535#","313#"), [109,160] => AMEdata(7274,1,false,"7922#","389#","-5535#","313#"), +"Ds269" => AMEdata(7250.1551,0.1167,true,"6885#","303#","*",""), [110,159] => AMEdata(7250.1551,0.1167,true,"6885#","303#","*",""), +"Db270" => AMEdata(7314,2,false,"4823#","848#","966#","735#"), [105,165] => AMEdata(7314,2,false,"4823#","848#","966#","735#"), +"Sg270" => AMEdata(7314,2,false,"6333#","588#","-2799#","547#"), [106,164] => AMEdata(7314,2,false,"6333#","588#","-2799#","547#"), +"Bh270" => AMEdata(7301,1,false,"5319#","479#","-882#","388#"), [107,163] => AMEdata(7301,1,false,"5319#","479#","-882#","388#"), +"Hs270" => AMEdata(7295,1,false,"7453#","280#","-5597#","313#"), [108,162] => AMEdata(7295,1,false,"7453#","280#","-5597#","313#"), +"Mt270" => AMEdata(7271,1,false,"6662#","365#","-3973#","195#"), [109,161] => AMEdata(7271,1,false,"6662#","365#","-3973#","195#"), +"Ds270" => AMEdata(7253.7634,0.1455,true,"8224.4052","50.2767","*",""), [110,160] => AMEdata(7253.7634,0.1455,true,"8224.4052","50.2767","*",""), +"Sg271" => AMEdata(7305,2,false,"4885#","748#","-1242#","705#"), [106,165] => AMEdata(7305,2,false,"4885#","748#","-1242#","705#"), +"Bh271" => AMEdata(7298,1,false,"6442#","486#","-1832#","473#"), [107,164] => AMEdata(7298,1,false,"6442#","486#","-1832#","473#"), +"Hs271" => AMEdata(7288,1,false,"5492#","371#","-3409#","430#"), [108,163] => AMEdata(7288,1,false,"5492#","371#","-3409#","430#"), +"Mt271" => AMEdata(7273,1,false,"7681#","381#","-4853#","344#"), [109,162] => AMEdata(7273,1,false,"7681#","381#","-4853#","344#"), +"Ds271" => AMEdata(7252,0,false,"6800#","105#","*",""), [110,161] => AMEdata(7252,0,false,"6800#","105#","*",""), +"Sg272" => AMEdata(7301,3,false,"6168#","910#","-2267#","873#"), [106,166] => AMEdata(7301,3,false,"6168#","910#","-2267#","873#"), +"Bh272" => AMEdata(7290,2,false,"5143#","656#","-217#","737#"), [107,165] => AMEdata(7290,2,false,"5143#","656#","-217#","737#"), +"Hs272" => AMEdata(7286,2,false,"6758#","580#","-4477#","704#"), [108,164] => AMEdata(7286,2,false,"6758#","580#","-4477#","704#"), +"Mt272" => AMEdata(7267,2,false,"5690#","587#","-2601#","645#"), [109,163] => AMEdata(7267,2,false,"5690#","587#","-2601#","645#"), +"Ds272" => AMEdata(7255,2,false,"7941#","435#","-6690#","484#"), [110,162] => AMEdata(7255,2,false,"7941#","435#","-6690#","484#"), +"Rg272" => AMEdata(7227,1,false,"*","","*",""), [111,161] => AMEdata(7227,1,false,"*","","*",""), +"Sg273" => AMEdata(7292,1,false,"4672#","799#","-763#","767#"), [106,167] => AMEdata(7292,1,false,"4672#","799#","-763#","767#"), +"Bh273" => AMEdata(7286,2,false,"6176#","844#","-1084#","754#"), [107,166] => AMEdata(7286,2,false,"6176#","844#","-1084#","754#"), +"Hs273" => AMEdata(7279,1,false,"5309#","632#","-3015#","565#"), [108,165] => AMEdata(7279,1,false,"5309#","632#","-3015#","565#"), +"Mt273" => AMEdata(7265,2,false,"6771#","645#","-3503#","447#"), [109,164] => AMEdata(7265,2,false,"6771#","645#","-3503#","447#"), +"Ds273" => AMEdata(7250,1,false,"5869#","447#","-4600#","424#"), [110,163] => AMEdata(7250,1,false,"5869#","447#","-4600#","424#"), +"Rg273" => AMEdata(7230,1,false,"7960#","463#","*",""), [111,162] => AMEdata(7230,1,false,"7960#","463#","*",""), +"Bh274" => AMEdata(7278,2,false,"4993#","873#","356#","744#"), [107,167] => AMEdata(7278,2,false,"4993#","873#","356#","744#"), +"Hs274" => AMEdata(7276,2,false,"6433#","600#","-3843#","602#"), [108,166] => AMEdata(7276,2,false,"6433#","600#","-3843#","602#"), +"Mt274" => AMEdata(7259,1,false,"5604#","567#","-1948#","542#"), [109,165] => AMEdata(7259,1,false,"5604#","567#","-1948#","542#"), +"Ds274" => AMEdata(7249,1,false,"7159#","414#","-5415#","442#"), [110,164] => AMEdata(7249,1,false,"7159#","414#","-5415#","442#"), +"Rg274" => AMEdata(7227,1,false,"6344#","451#","*",""), [111,163] => AMEdata(7227,1,false,"6344#","451#","*",""), +"Bh275" => AMEdata(7273,2,false,"6053#","833#","-712#","844#"), [107,168] => AMEdata(7273,2,false,"6053#","833#","-712#","844#"), +"Hs275" => AMEdata(7268,2,false,"4985#","756#","-2275#","709#"), [108,167] => AMEdata(7268,2,false,"4985#","756#","-2275#","709#"), +"Mt275" => AMEdata(7257,1,false,"6554#","540#","-2899#","516#"), [109,166] => AMEdata(7257,1,false,"6554#","540#","-2899#","516#"), +"Ds275" => AMEdata(7243,1,false,"5602#","517#","-3729#","561#"), [110,165] => AMEdata(7243,1,false,"5602#","517#","-3729#","561#"), +"Rg275" => AMEdata(7227,2,false,"7288#","493#","*",""), [111,164] => AMEdata(7227,2,false,"7288#","493#","*",""), +"Bh276" => AMEdata(7265,2,false,"4901#","848#","765#","937#"), [107,169] => AMEdata(7265,2,false,"4901#","848#","765#","937#"), +"Hs276" => AMEdata(7265,3,false,"6378#","933#","-3127#","895#"), [108,168] => AMEdata(7265,3,false,"6378#","933#","-3127#","895#"), +"Mt276" => AMEdata(7250,2,false,"5525#","658#","-1227#","764#"), [109,167] => AMEdata(7250,2,false,"5525#","658#","-1227#","764#"), +"Ds276" => AMEdata(7243,2,false,"7198#","645#","-4847#","834#"), [110,166] => AMEdata(7243,2,false,"7198#","645#","-4847#","834#"), +"Rg276" => AMEdata(7223,2,false,"6080#","771#","-2974#","804#"), [111,165] => AMEdata(7223,2,false,"6080#","771#","-2974#","804#"), +"Cn276" => AMEdata(7209,2,false,"*","","*",""), [112,164] => AMEdata(7209,2,false,"*","","*",""), +"Bh277" => AMEdata(7260,2,false,"5921#","848#","-275#","748#"), [107,170] => AMEdata(7260,2,false,"5921#","848#","-275#","748#"), +"Hs277" => AMEdata(7256,2,false,"4882#","848#","-1633#","799#"), [108,169] => AMEdata(7256,2,false,"4882#","848#","-1633#","799#"), +"Mt277" => AMEdata(7247,2,false,"6376#","850#","-2084#","770#"), [109,168] => AMEdata(7247,2,false,"6376#","850#","-2084#","770#"), +"Ds277" => AMEdata(7237,1,false,"5519#","674#","-3315#","611#"), [110,167] => AMEdata(7237,1,false,"5519#","674#","-3315#","611#"), +"Rg277" => AMEdata(7222,2,false,"7051#","785#","-3925#","493#"), [111,166] => AMEdata(7222,2,false,"7051#","785#","-3925#","493#"), +"Cn277" => AMEdata(7205,1,false,"6099#","523#","*",""), [112,165] => AMEdata(7205,1,false,"6099#","523#","*",""), +"Bh278" => AMEdata(7251,1,false,"4801#","721#","1150#","500#"), [107,171] => AMEdata(7251,1,false,"4801#","721#","1150#","500#"), +"Hs278" => AMEdata(7252,1,false,"6226#","538#","-2547#","652#"), [108,170] => AMEdata(7252,1,false,"6226#","538#","-2547#","652#"), +"Mt278" => AMEdata(7240,2,false,"5313#","880#","-484#","771#"), [109,169] => AMEdata(7240,2,false,"5313#","880#","-484#","771#"), +"Ds278" => AMEdata(7236,2,false,"6913#","643#","-4270#","641#"), [110,168] => AMEdata(7236,2,false,"6913#","643#","-4270#","641#"), +"Rg278" => AMEdata(7218,1,false,"5958#","609#","-2321#","585#"), [111,167] => AMEdata(7218,1,false,"5958#","609#","-2321#","585#"), +"Cn278" => AMEdata(7206,2,false,"7562#","464#","-6188#","491#"), [112,166] => AMEdata(7206,2,false,"7562#","464#","-6188#","491#"), +"Nh278" => AMEdata(7181,1,false,"*","","*",""), [113,165] => AMEdata(7181,1,false,"*","","*",""), +"Hs279" => AMEdata(7243,2,false,"4792#","671#","-1085#","900#"), [108,171] => AMEdata(7243,2,false,"4792#","671#","-1085#","900#"), +"Mt279" => AMEdata(7237,2,false,"6253#","886#","-1439#","903#"), [109,170] => AMEdata(7237,2,false,"6253#","886#","-1439#","903#"), +"Ds279" => AMEdata(7229,2,false,"5298#","791#","-2697#","737#"), [110,169] => AMEdata(7229,2,false,"5298#","791#","-2697#","737#"), +"Rg279" => AMEdata(7216,2,false,"6870#","574#","-3299#","578#"), [111,168] => AMEdata(7216,2,false,"6870#","574#","-3299#","578#"), +"Cn279" => AMEdata(7202,1,false,"5892#","589#","-4439#","718#"), [112,167] => AMEdata(7202,1,false,"5892#","589#","-4439#","718#"), +"Nh279" => AMEdata(7183,2,false,"7641#","640#","*",""), [113,166] => AMEdata(7183,2,false,"7641#","640#","*",""), +"Hs280" => AMEdata(7239,2,false,"6152#","848#","-2090#","848#"), [108,172] => AMEdata(7239,2,false,"6152#","848#","-2090#","848#"), +"Mt280" => AMEdata(7229,2,false,"5147#","900#","190#","958#"), [109,171] => AMEdata(7229,2,false,"5147#","900#","190#","958#"), +"Ds280" => AMEdata(7227,3,false,"6775#","962#","-3566#","918#"), [110,170] => AMEdata(7227,3,false,"6775#","962#","-3566#","918#"), +"Rg280" => AMEdata(7212,2,false,"5907#","679#","-1768#","789#"), [111,169] => AMEdata(7212,2,false,"5907#","679#","-1768#","789#"), +"Cn280" => AMEdata(7202,2,false,"7438#","704#","-5585#","707#"), [112,168] => AMEdata(7202,2,false,"7438#","704#","-5585#","707#"), +"Nh280" => AMEdata(7180,1,false,"6291#","721#","*",""), [113,167] => AMEdata(7180,1,false,"6291#","721#","*",""), +"Mt281" => AMEdata(7225,2,false,"6181#","848#","-873#","776#"), [109,172] => AMEdata(7225,2,false,"6181#","848#","-873#","776#"), +"Ds281" => AMEdata(7220,2,false,"5119#","896#","-2060#","918#"), [110,171] => AMEdata(7220,2,false,"5119#","896#","-2060#","918#"), +"Rg281" => AMEdata(7209,3,false,"6624#","939#","-2614#","870#"), [111,170] => AMEdata(7209,3,false,"6624#","939#","-2614#","870#"), +"Cn281" => AMEdata(7197,1,false,"5779#","706#","-3863#","498#"), [112,169] => AMEdata(7197,1,false,"5779#","706#","-3863#","498#"), +"Nh281" => AMEdata(7181,1,false,"7501#","500#","*",""), [113,168] => AMEdata(7181,1,false,"7501#","500#","*",""), +"Mt282" => AMEdata(7218,2,false,"5016#","748#","665#","538#"), [109,173] => AMEdata(7218,2,false,"5016#","748#","665#","538#"), +"Ds282" => AMEdata(7217,1,false,"6554#","577#","-2952#","660#"), [110,172] => AMEdata(7217,1,false,"6554#","577#","-2952#","660#"), +"Rg282" => AMEdata(7204,2,false,"5663#","972#","-1084#","804#"), [111,171] => AMEdata(7204,2,false,"5663#","972#","-1084#","804#"), +"Cn282" => AMEdata(7197,2,false,"7193#","677#","-4903#","678#"), [112,170] => AMEdata(7197,2,false,"7193#","677#","-4903#","678#"), +"Nh282" => AMEdata(7177,1,false,"6153#","500#","*",""), [113,169] => AMEdata(7177,1,false,"6153#","500#","*",""), +"Ds283" => AMEdata(7210,2,false,"5032#","583#","-1550#","843#"), [110,173] => AMEdata(7210,2,false,"5032#","583#","-1550#","843#"), +"Rg283" => AMEdata(7201,2,false,"6433#","898#","-1957#","916#"), [111,172] => AMEdata(7201,2,false,"6433#","898#","-1957#","916#"), +"Cn283" => AMEdata(7192,2,false,"5560#","824#","-3226#","754#"), [112,171] => AMEdata(7192,2,false,"5560#","824#","-3226#","754#"), +"Nh283" => AMEdata(7177,2,false,"7237#","592#","*",""), [113,170] => AMEdata(7177,2,false,"7237#","592#","*",""), +"Ds284" => AMEdata(7207,2,false,"6441#","707#","-2510#","707#"), [110,174] => AMEdata(7207,2,false,"6441#","707#","-2510#","707#"), +"Rg284" => AMEdata(7195,2,false,"5481#","843#","-445#","912#"), [111,173] => AMEdata(7195,2,false,"5481#","843#","-445#","912#"), +"Cn284" => AMEdata(7191,3,false,"6993#","980#","-4176#","931#"), [112,172] => AMEdata(7191,3,false,"6993#","980#","-4176#","931#"), +"Nh284" => AMEdata(7173,2,false,"6044#","689#","-2188#","845#"), [113,171] => AMEdata(7173,2,false,"6044#","689#","-2188#","845#"), +"Fl284" => AMEdata(7163,2,false,"*","","*",""), [114,170] => AMEdata(7163,2,false,"*","","*",""), +"Rg285" => AMEdata(7192,2,false,"6312#","781#","-1357#","785#"), [111,174] => AMEdata(7192,2,false,"6312#","781#","-1357#","785#"), +"Cn285" => AMEdata(7185,2,false,"5400#","915#","-2682#","926#"), [112,173] => AMEdata(7185,2,false,"5400#","915#","-2682#","926#"), +"Nh285" => AMEdata(7172,3,false,"6894#","941#","-3164#","874#"), [113,172] => AMEdata(7172,3,false,"6894#","941#","-3164#","874#"), +"Fl285" => AMEdata(7159,1,false,"5919#","770#","*",""), [114,171] => AMEdata(7159,1,false,"5919#","770#","*",""), +"Rg286" => AMEdata(7185,2,false,"5291#","755#","61#","836#"), [111,175] => AMEdata(7185,2,false,"5291#","755#","61#","836#"), +"Cn286" => AMEdata(7183,2,false,"6708#","864#","-3507#","915#"), [112,174] => AMEdata(7183,2,false,"6708#","864#","-3507#","915#"), +"Nh286" => AMEdata(7168,2,false,"5883#","974#","-1649#","806#"), [113,173] => AMEdata(7168,2,false,"5883#","974#","-1649#","806#"), +"Fl286" => AMEdata(7159,2,false,"7398#","682#","*",""), [114,172] => AMEdata(7159,2,false,"7398#","682#","*",""), +"Cn287" => AMEdata(7176,2,false,"5151#","989#","-2085#","995#"), [112,175] => AMEdata(7176,2,false,"5151#","989#","-2085#","995#"), +"Nh287" => AMEdata(7166,2,false,"6573#","921#","-2474#","939#"), [113,174] => AMEdata(7166,2,false,"6573#","921#","-2474#","939#"), +"Fl287" => AMEdata(7155,2,false,"5748#","826#","-3819#","759#"), [114,173] => AMEdata(7155,2,false,"5748#","826#","-3819#","759#"), +"Mc287" => AMEdata(7139,2,false,"*","","*",""), [115,172] => AMEdata(7139,2,false,"*","","*",""), +"Cn288" => AMEdata(7174,2,false,"6511#","989#","-3039#","989#"), [112,176] => AMEdata(7174,2,false,"6511#","989#","-3039#","989#"), +"Nh288" => AMEdata(7160,2,false,"5557#","995#","-947#","1035#"), [113,175] => AMEdata(7160,2,false,"5557#","995#","-947#","1035#"), +"Fl288" => AMEdata(7154,3,false,"7083#","981#","-4749#","932#"), [114,174] => AMEdata(7154,3,false,"7083#","981#","-4749#","932#"), +"Mc288" => AMEdata(7135,2,false,"6154#","695#","*",""), [115,173] => AMEdata(7135,2,false,"6154#","695#","*",""), +"Nh289" => AMEdata(7158,2,false,"6491#","860#","-1915#","715#"), [113,176] => AMEdata(7158,2,false,"6491#","860#","-1915#","715#"), +"Fl289" => AMEdata(7149,2,false,"5523#","918#","-3217#","929#"), [114,175] => AMEdata(7149,2,false,"5523#","918#","-3217#","929#"), +"Mc289" => AMEdata(7135,3,false,"7054#","943#","-3774#","925#"), [115,174] => AMEdata(7135,3,false,"7054#","943#","-3774#","925#"), +"Lv289" => AMEdata(7119,2,false,"*","","*",""), [116,173] => AMEdata(7119,2,false,"*","","*",""), +"Nh290" => AMEdata(7152,2,false,"5306#","685#","-416#","843#"), [113,177] => AMEdata(7152,2,false,"5306#","685#","-416#","843#"), +"Fl290" => AMEdata(7147,2,false,"6806#","867#","-4061#","917#"), [114,176] => AMEdata(7147,2,false,"6806#","867#","-4061#","917#"), +"Mc290" => AMEdata(7131,2,false,"5963#","976#","-2236#","809#"), [115,175] => AMEdata(7131,2,false,"5963#","976#","-2236#","809#"), +"Lv290" => AMEdata(7120,2,false,"7501#","747#","*",""), [116,174] => AMEdata(7120,2,false,"7501#","747#","*",""), +"Fl291" => AMEdata(7141,2,false,"5302#","990#","-2680#","1015#"), [114,177] => AMEdata(7141,2,false,"5302#","990#","-2680#","1015#"), +"Mc291" => AMEdata(7129,3,false,"6683#","943#","-3064#","964#"), [115,176] => AMEdata(7129,3,false,"6683#","943#","-3064#","964#"), +"Lv291" => AMEdata(7116,2,false,"5855#","833#","-4409#","863#"), [116,175] => AMEdata(7116,2,false,"5855#","833#","-4409#","863#"), +"Ts291" => AMEdata(7098,2,false,"*","","*",""), [117,174] => AMEdata(7098,2,false,"*","","*",""), +"Mc292" => AMEdata(7124,2,false,"5651#","1015#","-1533#","1035#"), [115,177] => AMEdata(7124,2,false,"5651#","1015#","-1533#","1035#"), +"Lv292" => AMEdata(7116,3,false,"7182#","985#","-5488#","1014#"), [116,176] => AMEdata(7116,3,false,"7182#","985#","-5488#","1014#"), +"Ts292" => AMEdata(7095,2,false,"6104#","896#","*",""), [117,175] => AMEdata(7095,2,false,"6104#","896#","*",""), +"Lv293" => AMEdata(7111,2,false,"5636#","920#","-3860#","933#"), [116,177] => AMEdata(7111,2,false,"5636#","920#","-3860#","933#"), +"Ts293" => AMEdata(7095,3,false,"7264#","1026#","-4374#","1053#"), [117,176] => AMEdata(7095,3,false,"7264#","1026#","-4374#","1053#"), +"Og293" => AMEdata(7078,2,false,"*","","*",""), [118,175] => AMEdata(7078,2,false,"*","","*",""), +"Ts294" => AMEdata(7092,2,false,"6103#","978#","-2923#","811#"), [117,177] => AMEdata(7092,2,false,"6103#","978#","-2923#","811#"), +"Og294" => AMEdata(7079,2,false,"7553#","899#","*",""), [118,176] => AMEdata(7079,2,false,"7553#","899#","*",""), +"Og295" => AMEdata(7076,2,false,"6023#","857#","*",""), [118,177] => AMEdata(7076,2,false,"6023#","857#","*",""), ) - diff --git a/src/NuclearToolkit.jl b/src/NuclearToolkit.jl index 8c2ed42e..14d3704e 100644 --- a/src/NuclearToolkit.jl +++ b/src/NuclearToolkit.jl @@ -1,11 +1,16 @@ module NuclearToolkit +using AssociatedLegendrePolynomials using Base.Threads using Combinatorics +using FLoops using Glob +using HDF5 +using KrylovKit using LatinHypercubeSampling using LaTeXStrings using LinearAlgebra +using MKL # for intel machine using MPI using Printf using Random @@ -16,21 +21,24 @@ using TimerOutputs using WignerSymbols ### ChiEFTint.jl chiEFTint/ +include("chiEFTint/struct_const_io.jl") include("chiEFTint/dict_LECs.jl") -include("chiEFTint/misc_plt_io.jl") -include("chiEFTint/angmom_algebra.jl") include("chiEFTint/contact.jl") include("chiEFTint/pionexchange.jl") -include("chiEFTint/valence.jl") +include("chiEFTint/angmom_algebra.jl") include("chiEFTint/eff3nf.jl") -include("chiEFTint/calibration.jl") include("chiEFTint/main_chiEFTint.jl") +include("chiEFTint/calibration.jl") +include("chiEFTint/valence.jl") include("chiEFTint/renorm.jl") include("chiEFTint/threebodyforce.jl") -export readsnt +include("chiEFTint/threebody_Jacobi.jl") +include("chiEFTint/threebody_JacobiHO.jl") +include("chiEFTint/threebody_lab.jl") +include("chiEFTint/matter.jl") +include("chiEFTint/nn_sampling.jl") export make_chiEFTint -export hw_formula -#export test3NF +export nn_IMSRG_sampling ### NuclData.jl include("NuclData.jl/amedata.jl") @@ -42,15 +50,14 @@ include("hartreefock.jl/main.jl") include("hartreefock.jl/hf_mbpt.jl") include("hartreefock.jl/operator.jl") export nuclist -export eval_rch -export def_nuc export hf_main ### IMSRG.jl include("IMSRG.jl/imsrg_util.jl") include("IMSRG.jl/commutator.jl") include("IMSRG.jl/valencespace.jl") -export imsrg_main +include("IMSRG.jl/emulator_imsrg.jl") +export imsrg_flow_check ### ShellModel.jl include("ShellModel/shellmodel_main.jl") @@ -58,10 +65,17 @@ include("ShellModel/lanczos_methods.jl") include("ShellModel/transit.jl") include("ShellModel/input_int_snt.jl") include("ShellModel/eigenvector_continuation.jl") +include("ShellModel/KSHELL.jl") +include("ShellModel/betadecay.jl") +include("ShellModel/trans_snt_msnt.jl") +include("ShellModel/variational_ansatz.jl") +export read_smsnt export main_sm,samplerun_sm # from shellmodel. export prepEC,solveEC,solveEC_UQ # from eigenvector_continuation.jl export transit_main # from transit.jl - +export read_kshell_summary +export eval_betadecay_from_kshell_log +export main_trans_msnt end diff --git a/src/ShellModel/KSHELL.jl b/src/ShellModel/KSHELL.jl new file mode 100644 index 00000000..06778d67 --- /dev/null +++ b/src/ShellModel/KSHELL.jl @@ -0,0 +1,84 @@ +struct ksl_state + J2::Int + prty::Int + T::String + Energy::Float64 +end + +struct kshell_nuc + nuc::nuclei + sntf::String + Egs::Float64 + Egs_target::Float64 + states::Vector{ksl_state} +end + +""" + read_kshell_summary(fns::Vector{String};targetJpi="",nuc="") + +Reading KSHELL summary file from specified paths, `fns`. +In some beta-decay studies, multiple candidates for parent g.s. will be considered. +In that case, please specify optional argument `targetJpi` e.g., targetJpi="Si36", otherwise the state havbing the lowest energy in summary file(s) will be regarded as the parent ground state. +Example: +``` +Energy levels + +N J prty N_Jp T E(MeV) Ex(MeV) log-file + +1 0 + 1 6 -319.906 0.000 log_Ar48_SDPFSDG_j0p.txt +``` +!!! note + J is doubled in old versions of KSHELL (kshell_ui.py). +""" +function read_kshell_summary(fns::Vector{String};targetJpi="",nuc="") + Egs = Egs_target = 1.e+5; sntf="" + states=ksl_state[] + for fn in fns + f = open(fn,"r") + lines = readlines(f) + close(f) + use2J_insummary = false + for line in lines + if occursin("log-file",line) && occursin("2J",line); use2J_insummary = true; end + if !occursin("log_",line);continue;end + tl = split(line) + @assert length(tl) == 8 "unexpected number of elements $(length(tl)) in summary" + if nuc == "" + nuc = split(tl[end],"_")[2] + else + @assert occursin(nuc,tl[end]) "nuc = $nuc must be in 'log-file' column" + end + if sntf == ""; sntf = split(tl[end],"_")[3];end + J =tl[2] + J2 = string(J) + if !use2J_insummary + if occursin("/",J2) + J2 = parse(Int,split(J2,"/")[1]) + else + J2 = 2* parse(Int,J2) + end + else + J2 = parse(Int,J2) + end + prty = ifelse(tl[3]=="+",1,-1) + NJp = parse(Int,tl[4]) + T = tl[5] + Energy = parse(Float64,tl[6]) + state = ksl_state(J2,prty,T,Energy) + if !(state in states) + push!(states,state) + end + tmpJpi = "j"*string(J2)*ifelse(tl[3]=="+","p","n") + Egs = min(Energy,Egs) + if targetJpi == "" + Egs_target = Egs + end + if targetJpi == tmpJpi + Egs_target = min(Energy,Egs_target) + end + + end + end + nuclei = def_nuc(string(nuc),"","") + return kshell_nuc(nuclei,sntf,Egs,Egs_target,states) +end diff --git a/src/ShellModel/betadecay.jl b/src/ShellModel/betadecay.jl new file mode 100644 index 00000000..70686375 --- /dev/null +++ b/src/ShellModel/betadecay.jl @@ -0,0 +1,537 @@ +const K = 6144.0 +const lam_gav = 1.2701 + +""" + eval_betadecay_from_kshell_log(fns_sum_parent::Vector{String},fns_sum_daughter::Vector{String},fns_GT::Vector{String},fns_FF::Vector{String},parentJpi::String;pnuc="",dnuc="",verbose=false) + +# Arguments +- `fns_sum_parent::Vector{String}` vector of paths to KSHELL-summary files for the parent nucleus +- `fns_sum_daughter::Vector{String}` vector of paths to KSHELL-summary files for the daughter nucleus +- `fns_GT::Vector{String}` vector of paths to KSHELL-log files for Gamow-Teller transitions. +- `fns_FF::Vector{String}` vector of paths to KSHELL-log files for First-Forbidden transitions. + +# Optional Arguments +- `pnuc::String` to specify the parent nuclei explicitly +- `dnuc::String` to specify the daughter nuclei explicitly +- `verbose::Bool` option to show GT/FF transitions for each state +""" +function eval_betadecay_from_kshell_log(fns_sum_parent::Vector{String},fns_sum_daughter::Vector{String},fns_GT::Vector{String},fns_FF::Vector{String},parentJpi::String;pnuc="",dnuc="",verbose=false) + qfactors = get_quenching_factors() + parent = read_kshell_summary(fns_sum_parent;nuc=pnuc,targetJpi=parentJpi) + daughter = read_kshell_summary(fns_sum_daughter;nuc=dnuc) + qvals = get_qval(parent,daughter,parentJpi) + eval_logft_f(parent,daughter,qvals,fns_GT,fns_FF,qfactors;verbose=verbose) +end + +mutable struct quenching_factors + qGT::Float64 + qMS0::Float64 + qMT0::Float64 + qx::Float64 + qu::Float64 + qz::Float64 +end + +""" + Ecoulomb_SM(Z,N) + +Additional Coulomb energy (MeV) +```math +E_C(Z,N) = 0.7 \\frac{Z(Z-1) -0.76 [Z(Z-1)]^{2/3}}{R_c} \\\\ +R_c = e^{1.5/A} A^{1/3} \\left( 0.946 -0.573 \\left( \\frac{2T}{A} \\right)^2 \\right) \\\\ +T = |Z-N|/2 +``` +used in references. +* S.Yoshida et al., Phys. Rev. C 97, 054321 (2018). +* J. Duflo and A. P. Zuker, Phys. Rev. C 52, R23 (1995). +* E. Caurier et al., Phys. Rev. C 59, 2033 (1999). +""" +function Ecoulomb_SM(Z,N) + A = Z+N + T = abs(Z-N)/2 + Rc = exp(1.5/A) * A^(1/3) * (0.946-0.573* (2*T/A)^2) + return 0.7 * (Z*(Z-1) -0.76 * (Z*(Z-1))^(2/3)) / Rc +end + +function get_quenching_factors(qtype="") + if qtype == "" || qtype == "SY" + # S. Yoshida et al., PRC 97, 054321(2018). + return quenching_factors(0.74,1.0,1.7,1.0,1.0,0.55) + elseif qtype == "W" || qtype == "Warburton" + # E. Warburton, J. Becker, B. Brown, and D. Millener, Ann. Phys. 187, 471 (1988). + return quenching_factors(1.0,1.1,1.5,1.0,1.0,0.51) + else + @warn "qtype=$qtype is not supported! SY value will be used" + return quenching_factors(0.74,1.0,1.7,1.0,1.0,0.55) + end +end + +function get_qval(parent::kshell_nuc,daughter::kshell_nuc,parentJpi::String) + pZ = parent.nuc.Z; dZ = daughter.nuc.Z + pN = parent.nuc.N; dN = daughter.nuc.N + deltam = (Mn - Mp - Me) + # get theoretical Qval + qval_tho = parent.Egs_target + Ecoulomb_SM(pZ,pN) - (daughter.Egs + Ecoulomb_SM(dZ,dN)) + deltam + # get experimental Qval + qval_exp = 0.0 + qvalTF= "" + try + qval_exp = ame2020data[parent.nuc.cnuc].Qval + qvalTF = ifelse(occursin("#",qval_exp),"#","") + qval_exp = parse(Float64,replace(qval_exp,"#"=>"")) / 1000.0 + catch + println("experimental qval is not available from amedata.jl, so Qval is set 0.0") + end + parEx = parent.Egs_target - parent.Egs + gsTF = ifelse(parEx > 0.0,",Ex.="*strip(@sprintf("%9.2f",parEx))*" MeV","") + println(parent.nuc.cnuc,"($(parentJpi)$(gsTF))=>",daughter.nuc.cnuc, " qval_exp$(qvalTF) $qval_exp qval_tho $qval_tho") + return [qval_exp,qval_tho] +end + +function eval_logft_f(parent::kshell_nuc,daughter::kshell_nuc,Qvals,fns_GT::Vector{String},fns_FF::Vector{String},qfactors::quenching_factors;verbose=false) + GTdata = eval_bgt_files(fns_GT,qfactors,parent,daughter,Qvals) + FFkeys,FFdata = eval_bFF_files(fns_FF,qfactors,parent,daughter,Qvals;verbose=verbose) + calc_halflife(daughter,GTdata,FFkeys,FFdata;verbose=verbose) +end + +function radius_nuc_for_FermiIntegarl(A;formula=1) + if formula == 1 + return (1.15 + 1.8*A^(-2/3) -1.2*A^(-4/3)) * A^(1/3) + elseif formula == 2 + return 1.123A^(1/3) - 0.941A^(-1/3) + end +end + +function calc_halflife(daughter::kshell_nuc,GTdata,FFkeys,FFdata;verbose=false) + hl_GT_expQ = hl_FF_expQ = hl_total_expQ = 0.0 + hl_GT_thoQ = hl_FF_thoQ = hl_total_thoQ = 0.0 + Qw_hl_GT_expQ = Qw_hl_FF_expQ = Qw_hl_total_expQ = 0.0 + Qw_hl_GT_thoQ = Qw_hl_FF_thoQ = Qw_hl_total_thoQ = 0.0 + Sn = NaN + try + Sn = parse(Float64,replace(ame2020data[daughter.nuc.cnuc].Sn,"#"=>"")) / 1000.0 + catch + @warn "experimental Sn for $(daughter.nuc.cnuc) is not available from amedata.jl" + end + for GTstate in GTdata + if verbose #&& (GTstate.hl_expQ != Inf) + println("Energy ", @sprintf("%12.4f",GTstate.Energy), " J2prty",@sprintf("%4i",GTstate.J2)*GTstate.prty," Ex. ", @sprintf("%9.3f",GTstate.Ex), + " BGT ", @sprintf("%13.5f", GTstate.BGT)," log10ft(GT) ", @sprintf("%9.2f", GTstate.logft)) + end + if GTstate.hl_expQ != 0.0 + hl_GT_expQ += 1.0 / GTstate.hl_expQ + if GTstate.Ex >= Sn + Qw_hl_GT_expQ += 1.0 / GTstate.hl_expQ + end + end + if GTstate.hl_thoQ != 0.0 + hl_GT_thoQ += 1.0 / GTstate.hl_thoQ + if GTstate.Ex >= Sn + Qw_hl_GT_thoQ += 1.0 / GTstate.hl_thoQ + end + end + end + for tkey in FFkeys + FFstate = FFdata[tkey] + if FFstate.hl_expQ != 0.0 + hl_FF_expQ += 1.0 / FFstate.hl_expQ + if FFstate.Ex >= Sn + Qw_hl_FF_expQ += 1.0 / FFstate.hl_expQ + end + end + if FFstate.hl_thoQ != 0.0 + hl_FF_thoQ += 1.0 / FFstate.hl_thoQ + if FFstate.Ex >= Sn + Qw_hl_FF_thoQ += 1.0 / FFstate.hl_thoQ + end + end + if verbose && (FFstate.f0_thoQ != Inf) + logft_expQ = log10(FFstate.f0_expQ*FFstate.hl_expQ) + logft_thoQ = log10(FFstate.f0_thoQ*FFstate.hl_thoQ) + println("Energy ", @sprintf("%12.4f",tkey), " J2prty",@sprintf("%4i",FFstate.J2)*FFstate.prty, " Ex. ", @sprintf("%9.3f",FFstate.Ex), + " log10ft(expQ) ", @sprintf("%9.2f", logft_expQ)," log10ft(thoQ) ", @sprintf("%9.2f", logft_thoQ) ) + end + end + + hl_total_expQ = 1.0 / (ifelse(hl_GT_expQ==Inf,0.0,hl_GT_expQ) + ifelse(hl_FF_expQ==Inf,0.0,hl_FF_expQ)) + hl_total_thoQ = 1.0 / (ifelse(hl_GT_thoQ==Inf,0.0,hl_GT_thoQ) + ifelse(hl_FF_thoQ==Inf,0.0,hl_FF_thoQ)) + Qw_hl_total_expQ = 1.0 / (ifelse(Qw_hl_GT_expQ==Inf,0.0,Qw_hl_GT_expQ) + ifelse(Qw_hl_FF_expQ==Inf,0.0,Qw_hl_FF_expQ)) + Qw_hl_total_thoQ = 1.0 / (ifelse(Qw_hl_GT_thoQ==Inf,0.0,Qw_hl_GT_thoQ) + ifelse(Qw_hl_FF_thoQ==Inf,0.0,Qw_hl_FF_thoQ)) + Pn_GT_expQ = ifelse(isnan(Sn),NaN,100 * Qw_hl_GT_expQ / hl_GT_expQ) + Pn_GT_thoQ = ifelse(isnan(Sn),NaN,100 * Qw_hl_GT_thoQ / hl_GT_thoQ) + Pn_full_expQ = ifelse(isnan(Sn),NaN,100 / (Qw_hl_total_expQ / hl_total_expQ)) + Pn_full_thoQ = ifelse(isnan(Sn),NaN,100 / (Qw_hl_total_thoQ / hl_total_thoQ)) + hl_GT_expQ = 1.0 / hl_GT_expQ; hl_FF_expQ = 1.0 / hl_FF_expQ + hl_GT_thoQ = 1.0 / hl_GT_thoQ; hl_FF_thoQ = 1.0 / hl_FF_thoQ + approp_hl_total_expQ = get_appropunit(hl_total_expQ) + approp_hl_total_thoQ = get_appropunit(hl_total_thoQ) + println("ExpQ: "," hl(GT-only) ",@sprintf("%12.4e",hl_GT_expQ), get_appropunit(hl_GT_expQ), + " h1/2[sec] ",@sprintf("%12.4e",hl_total_expQ), approp_hl_total_expQ, + " Pn_GT", @sprintf("%9.2f",Pn_GT_expQ)," Pn_tot", @sprintf("%9.2f",Pn_full_expQ) ) + println("ThoQ: "," hl(GT-only) ",@sprintf("%12.4e",hl_GT_thoQ), get_appropunit(hl_GT_thoQ), + " h1/2[sec] ",@sprintf("%12.4e",hl_total_thoQ), approp_hl_total_thoQ, + " Pn_GT", @sprintf("%9.2f",Pn_GT_thoQ)," Pn_tot", @sprintf("%9.2f",Pn_full_thoQ)) + return nothing +end + +function get_appropunit(hl_in_sec) + hl = hl_in_sec + degit = log10(hl_in_sec) + aunit = "sec" + if hl >= 0.8 * 31556926 + aunit = "y "; hl /= 31556926 + elseif 60 <= hl #< 2 *3600 + aunit = "min"; hl /= 60.0 + elseif -3 <= degit < 0 + aunit = "ms "; hl /= 10^(-3) + elseif -6 <= degit < -3 + aunit = "μs "; hl /= 10^(-6) + end + return @sprintf("%12.3f",hl) * " " * aunit +end + +""" + Fermi_function(Z,We,R) + +```math +F(Z,W) = 4 (2p_e R)^{-2(1-\\gamma_1)} \\exp \\left( \\pi y \\frac{|\\Gamma(\\gamma_1 + iy)|^2}{ |\\Gamma(2\\gamma_1 + 1)|^2} \\right) \\\\ +\\gamma_k = \\sqrt{k^2 - \\alpha^2 Z^2} \\\\ +y = \\alpha Z W / p_e +``` +""" +function Fermi_function(Z,We,R) + pe = sqrt(We^2 - 1.0) + gamma1 = sqrt(1.0 - (fsalpha *Z)^2) # invalid for Z > 137 + y = fsalpha * Z * We / pe + gam_nume = abs(gamma(gamma1 + y*im))^2 + gam_deno = abs(gamma(2*gamma1 + 1.0))^2 + gamfac = gam_nume / gam_deno + return 4 * (2*pe*R)^(-2*(1-gamma1)) * exp( pi*y) * gamfac +end + +""" + Fermi_integral(Qval,Ex,pZ,A,nmesh=40) + +Fermi integrals are evaluated with Eqs. in Chapter 5 of "Weak Interactions and Nuclear Beta Decay" by H. F. Schopper.] +```math +f_0 = \\int^{W_0}_{1} F(Z,W) \\sqrt{W^2-1} W(W_0-W)^2 dW, \\\\ +W_0 = Q(\\beta^-) + 1 - E_\\mathrm{ex.} +``` +Note that Ws are in natural unit, divided by ``m_ec^2``. +""" +function Fermi_integral(qval,Z,R,p=0;nmesh=40) + W0 = qval / Me + 1.0 + if qval < 0.0; return 0.0; end + f0 = 0.0 + xs,ws = Gauss_Legendre(1.0,W0,nmesh) + for i in eachindex(xs) + We = xs[i] + weight = ws[i] + f0 += weight * We^(p+1) * (W0-We)^2 * sqrt(We^2-1) * Fermi_function(Z,We,R) + end + return f0 +end + +################## +## Gamow-Teller ## +################## +struct bgtdata + n::Int + Energy::Float64 + Ex::Float64 + J2::Int + prty::String + S::Float64 + BGT::Float64 + logft::Float64 + f0_expQ::Float64 + f0_thoQ::Float64 + hl_expQ::Float64 + hl_thoQ::Float64 +end + +function eval_bgt_files(fns,qfactors::quenching_factors,parent,daughter,Qvals;using_strength_funciton_method=true) + data = bgtdata[ ] + for fn in fns + if using_strength_funciton_method + read_bgtstrength_file!(fn,qfactors,parent,daughter,Qvals,data) + else + @error "only the log files using strength function method is supported now" + #read_bgt_file!(fn,qfactors,parent,daughter,Qvals,data) + end + end + return data +end + +""" + +""" +function read_bgtstrength_file!(fn::String,qfactors::quenching_factors,parent::kshell_nuc,daughter::kshell_nuc,Qvals,data) + dZ = parent.nuc.Z + A = parent.nuc.A + R = radius_nuc_for_FermiIntegarl(A) + gAV = - lam_gav + qGT = qfactors.qGT + f = open(fn,"r") + lines = readlines(f) + close(f) + maxit = count = n_eigen = 0 + J2 = -1 + prty = "" + for line in lines + if occursin("MTOT ",line) + J2 = parse(Int,split(split(line)[end],",")[1]) + end + if occursin("parity =",line) + prty = strip(split(line,"parity =")[end]) + end + if occursin("N_EIGEN",line) + n_eigen = parse(Int,split(split(line,"=")[end],",")[1]) + end + if !occursin("strength function ",line); continue; end + tl = split(line) + itnum = parse(Int,tl[3]) + if itnum > maxit; maxit = itnum; end + end + for line in lines + if !occursin("strength function ",line); continue; end + if split(line)[3] != string(maxit); continue; end + tl = split(line) + n = parse(Int,tl[4]) + Energy = parse(Float64,tl[5]) + S = parse(Float64,tl[6]) + BGT = qGT^2 * S + logft = log10( K / (gAV^2 * BGT) ) + Ex = Energy-daughter.Egs + @assert Ex >= 0.0 "Energy $Energy must be higher than daughter Egs $(daughter.Egs)" + f0_expQ = Fermi_integral(Qvals[1]-Ex,dZ,R) + f0_thoQ = Fermi_integral(Qvals[2]-Ex,dZ,R) + hl_expQ = K / (gAV^2 * BGT) / f0_expQ + hl_thoQ = K / (gAV^2 * BGT) / f0_thoQ + push!(data,bgtdata(n,Energy,Ex,J2,prty,S,BGT,logft,f0_expQ,f0_thoQ,hl_expQ,hl_thoQ)) + count += 1 + end + if n_eigen != maxit + @warn "n_eigen $n_eigen != maxit $maxit The bgt file $fn may be not completed, or the number of possible states with the given total J is smaller than the specified n_eigen $n_eigen." + end + return data +end + +################## +## First Forbidden +################## + +mutable struct bFFdata + J2::Int64 + prty::String + Ex::Float64 + Qd_exp::Float64 + Qd_tho::Float64 + M0rs::Float64 + M0sp::Float64 + M0rsd::Float64 + M1r::Float64 + M1rs::Float64 + M1p::Float64 + M1rd::Float64 + M1rsd::Float64 + M2rs::Float64 + f0_expQ::Float64 + f0_thoQ::Float64 + hl_expQ::Float64 + hl_thoQ::Float64 +end + +function eval_bFF_files(fns,qfactors::quenching_factors,parent,daughter,Qvals;verbose=false,nonrela=true) + dZ = daughter.nuc.Z + @assert dZ <= 137 "Z = $dZ > 137 is not assumed in Fermi's beta-decay theory" + A = daughter.nuc.A + dprty = ifelse(parent.states[1].prty==1,"-","+") + lambda_Ce = hc / Me + mu1 = lambda2 = 1.0 + R_in_nu = radius_nuc_for_FermiIntegarl(A) / lambda_Ce + xi = fsalpha*dZ/(2*R_in_nu) + gamma1 = sqrt(1.0-(fsalpha*dZ)^2) + data = Dict{Float64,bFFdata}() + for fn in fns + read_bff_file!(fn,qfactors,parent,daughter,Qvals,data) + end + fis = zeros(Float64,4) + keylist = [ tmp for tmp in keys(data)] + sorted_keys = [ keylist[i] for i in sortperm(keylist) ] + Ecoul = Ecoulomb_SM(parent.nuc.Z,parent.nuc.N) - Ecoulomb_SM(daughter.nuc.Z,daughter.nuc.N) + deltam = (Mn - Mp - Me) + for tkey in sorted_keys + ffobj = data[tkey] + ffobj.prty = dprty + for use_expQ in [true,false] + qval = ifelse(use_expQ,ffobj.Qd_exp,ffobj.Qd_tho) + J2 = ffobj.J2 + if qval < 0.0; continue;end + Egamma = qval - Ecoul - deltam + W0 = qval / Me + 1.0 + fis[1] = Fermi_integral(qval,dZ,R_in_nu,-1) + fis[2] = Fermi_integral(qval,dZ,R_in_nu,0) + fis[3] = Fermi_integral(qval,dZ,R_in_nu,1) + fis[4] = Fermi_integral(qval,dZ,R_in_nu,2) + # Rank 0: + zeta0 = ffobj.M0sp + xi * ffobj.M0rsd + 1/3 * ffobj.M0rs * W0 + K0_0 = zeta0^2 + 1/9 * ffobj.M0rs^2 + K0_m1 = -2/3 * mu1 * gamma1 * zeta0 * ffobj.M0rs + f_0 = K0_m1 * fis[1] + K0_0 * fis[2] + # Rank 1: + x = ffobj.M1r + xd = ffobj.M1rd + u = ffobj.M1rs + ud = ffobj.M1rsd + xidy = ifelse(nonrela,Egamma/Me*x,ffobj.M1p) + Y = xidy - xi * (ud+xd) + zeta1 = Y + 1/3 * (u-x) * W0 + K1_0 = zeta1^2 + 1/9 * (x + u)^2 - 4/9 * mu1*gamma1*u*(x + u) + K1_0 += 1/18 * W0^2 * (2*x + u)^2 - 1/18 * lambda2 * (2*x - u)^2 + K1_1 = -4/3*u*Y - 1/9 * W0 * (4*x^2 + 5*u^2) + K1_m1= 2/3 * mu1 * gamma1 * zeta1 * (x+u) + K1_2 = 1/18 * (8*u^2 + (2*x+u)^2 + lambda2*(2*x-u)^2) + f_1 = K1_m1 * fis[1] + K1_0 * fis[2] + K1_1 * fis[3] + K1_2 * fis[4] + # Rank 2: + z = ffobj.M2rs + K2_0 = 1/12 * z^2 * (W0^2 - lambda2) + K2_1 = -1/6 * z^2 * W0 + K2_2 = 1/12 * z^2 * (1.0 + lambda2) + f_2 = K2_0 * fis[2] + K2_1 * fis[3] + K2_2 * fis[4] + fFF = f_0 + f_1 + f_2 + thalf = K/fFF + logft = log10(fis[2]*thalf) + if false #verbose + println("Energy $tkey Ex.",@sprintf("%8.3f",tkey-daughter.Egs)," J2",@sprintf("%4i",J2),ffobj.prty) + println("M0s,M0t,M0s'", @sprintf("%12.4e", ffobj.M0rs),@sprintf("%12.4e", ffobj.M0sp),@sprintf("%12.4e", ffobj.M0rsd)) + println("x, u, xi'y ", @sprintf("%12.4e", x),@sprintf("%12.4e", u),@sprintf("%12.4e", xidy)) + println("x', u' z ", @sprintf("%12.4e", xd),@sprintf("%12.4e", ud),@sprintf("%12.4e", z) ) + #println("K0_01,K0_0 ",@sprintf("%12.4e", K0_m1),@sprintf("%12.4e",K0_0)) + #println("K2_0,K2_1,K2_2 ",@sprintf("%12.4e", K2_0),@sprintf("%12.4e",K2_1),@sprintf("%12.4e", K2_2) ) + println(" W0 ",@sprintf("%12.4e",W0), " qval $qval Egamma $Egamma Ecoul $Ecoul") + println("f0, f1, f2 ",@sprintf("%12.4e", f_0),@sprintf("%12.4e", f_1),@sprintf("%12.4e", f_2) ) + println("log10(f0t) ", @sprintf("%6.2f",logft) ,@sprintf("%10.4f",logft)) + println("thalf ",@sprintf("%10.4f",thalf)) + println("") + end + if use_expQ + ffobj.f0_expQ = fis[2] + ffobj.hl_expQ = thalf + else + ffobj.f0_thoQ = fis[2] + ffobj.hl_thoQ = thalf + end + end + end + return sorted_keys,data +end + +# """ +# get_wf_if_order(fn,parent,daughter) + +# Since the logfile by KSHELL is given as log_NucA_NucB_sntname_tr_JpiA_JpiB.txt, +# """ +# function get_wf_if_order(fn,parent,daughter) +# pnuc = parent.nuc.cnuc +# dnuc = daughter.nuc.cnuc +# if occursin(pnuc*"_"*dnuc, fn) +# return true +# elseif occursin(dnuc*"_"*pnuc,fn) +# return false +# else +# #@error "filename:$fn does not include $(pnuc)_$(dnuc) nor $(dnuc)_$(pnuc)" +# return nothing +# end +# end + +function read_bff_file!(fn,qfactors::quenching_factors,parent,daughter,Qvals,data) + dZ = daughter.nuc.Z + @assert dZ <= 137 "Z = $dZ > 137 is not assumed in Fermi's beta-decay theory" + A = daughter.nuc.A + dN = A - dZ + lambda_Ce = hc / Me + mass_n_nu = 0.5*(Mp + Mn) / Me + f = open(fn,"r"); lines = readlines(f); close(f) + hit = 0; rank = -1 + FFchannel = "" + tar_text1 = "First Forbidden" + tar_text2 = "First forbidden" + order = nothing + for line in lines + if occursin("FN_LOAD_WAVE_L",line) + nuc_l = strip(split(split(replace(split(line,"=")[end],"\""=>""),"/")[end],"_")[1]) + order = ifelse(nuc_l == parent.nuc.cnuc,true,false) + end + if occursin(tar_text1,line) || occursin(tar_text2,line) + hit += 1 + rank = parse(Int,split(split(line,",")[2])[2]) + FFchannel = split(split(split(line,",")[end],"=")[1])[end] + continue + end + if hit == 0; continue;end + if occursin("E_gam D_Ec",line) || occursin("total elapsed",line);break;end + if !( occursin("(",line) && occursin(")",line)); continue; end + if occursin("B(EM )->",line); continue;end + line = replace(line, "("=>" ") + line = replace(line, ")"=>" ") + tl = split(line) + J2f, NJf, Ef, J2i, NJi, Ei, Ex, Mred, B1, B2, Mom = tl + J2f, NJf, Ef, J2i, NJi, Ei, Ex, Mred, B1, B2, Mom = tl + Edaughter = parse(Float64,ifelse(order,Ei,Ef)) + J2f = parse(Int,J2f) + J2i = parse(Int,J2i) + J2 = ifelse(order,J2i,J2f) + Mred = parse(Float64,Mred) + C_J = 1.0 / sqrt( ifelse(order,J2f,J2i) + 1) + Bval = (C_J * Mred)^2 + Ex_calc = Edaughter - daughter.Egs + if order + B1 = parse(Float64,B1) + @assert abs(B1-Bval) < 1.e-3 "B1 $B1 B(FF) $Bval" + else + B2 = parse(Float64,B2) + @assert abs(B2-Bval) < 1.e-3 "B2 $B2 B(FF) $Bval" + end + Qd_exp = Qvals[1] - Ex_calc + Qd_tho = Qvals[2] - Ex_calc + tf = get(data,Edaughter,nothing) + #println("Qexp $Qd_exp Qtho $Qd_tho Edaughter $Edaughter Ex_calc $Ex_calc order $order") + if tf == nothing + data[Edaughter] = bFFdata(J2,"",Ex_calc,Qd_exp,Qd_tho,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0) + #println("Ef $Ef Ei $Ei Ex $Ex Edgs $(daughter.Egs) Qd $Qd_exp $Qd_tho Ecoul ",Ecoulomb_SM(pZ,pN)-Ecoulomb_SM(pZ+1,pN-1)) + end + ME_FF_func!(FFchannel,qfactors,C_J,Mred,lambda_Ce,mass_n_nu,data[Edaughter]) + end + return nothing +end + +""" + ME_FF_func!(chan,qfactors,C_J,Mred,lambda_Ce,mass_n_nu,dict) + +Function to calc FF matrix elements. +Since M0rs,M1r,M1rs,M2rs (M0sp,M1p) are evaluated in fm (1/fm) in KSHELL, it is needed to multiply 1/lambda_Ce (lambda_Ce) to get transition matrix element in natural unit. +""" +function ME_FF_func!(chan,qfactors,C_J,Mred,lambda_Ce,mass_n_nu,dict) + if chan == "M0rs" #M0rs= + dict.M0rs = lam_gav * sqrt(3.0) * C_J * Mred / lambda_Ce * qfactors.qMS0 + elseif chan == "M0sp" #M0sp= + dict.M0sp = -lam_gav * sqrt(3.0) * C_J / mass_n_nu * Mred * lambda_Ce * qfactors.qMT0 + elseif chan == "M0rsd" # M0rsd= + dict.M0rsd = lam_gav * sqrt(3.0) * C_J * Mred / lambda_Ce * qfactors.qMS0 + elseif chan == "M1r" #xi'y M1r = + dict.M1r = - C_J * Mred / lambda_Ce * qfactors.qx + elseif chan == "M1rs" #u M1rs= + dict.M1rs = lam_gav * sqrt(2.0)* C_J * Mred / lambda_Ce * qfactors.qu + elseif chan == "M1p" # M1p = + dict.M1p = - C_J / mass_n_nu * Mred * lambda_Ce * qfactors.qx + elseif chan == "M1rd" # M1rd = " + dict.M1rd = - C_J * Mred / lambda_Ce * qfactors.qx + elseif chan == "M1rsd" # M1rsd= + dict.M1rsd = lam_gav * sqrt(2.0) * C_J * Mred / lambda_Ce * qfactors.qu + elseif chan == "M2rs" #M2rs= + dict.M2rs = -2.0 * lam_gav * C_J * Mred / lambda_Ce * qfactors.qz + else + @error "FFchannel $chan is not supported" + end +end diff --git a/src/ShellModel/eigenvector_continuation.jl b/src/ShellModel/eigenvector_continuation.jl index 8c25bbf3..90e0c920 100644 --- a/src/ShellModel/eigenvector_continuation.jl +++ b/src/ShellModel/eigenvector_continuation.jl @@ -16,15 +16,15 @@ function myCholesky!(tmpA,ln::Int64,cLL::LowerTriangular{Float64,Array{Float64,2 for j=1:i-1 cLL[i,j] = tmpA[i,j] for k = 1:j-1 - cLL[i,j] += - cLL[i,k]*cLL[j,k] + cLL[i,j] += - cLL[i,k]*cLL[j,k] end - cLL[i,j] = cLL[i,j] / cLL[j,j] + cLL[i,j] = cLL[i,j] / cLL[j,j] end cLL[i,i] = tmpA[i,i] for j=1:i-1 cLL[i,i] += -cLL[i,j]^2 end - cLL[i,i] = sqrt(cLL[i,i]) + cLL[i,i] = sqrt(cLL[i,i]) end nothing end @@ -110,7 +110,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; to = TimerOutput() sntf = Hs[1] Anum = parse(Int64, match(reg,target_nuc).match) - lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsnt(sntf,Anum) + lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(sntf,Anum) hw, bpar = init_ho_by_mass(Anum,1) # mass formula if 16<= Anum <= 40 hw, bpar = init_ho_by_mass(Anum,2) # 2: mass formula for sd-shell @@ -123,10 +123,10 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; target_el = replace.(target_nuc, string(Anum)=>"") Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) - mstates_p,mstates_n,mz_p,mz_n = def_mstates(p_sps,n_sps) - pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,mstates_p,mz_p,vp, - n_sps,mstates_n,mz_n,vn,Mtot) - oPP,oNN,oPNu,oPNd = prep_J(tdims,p_sps,n_sps,mstates_p,mstates_n, + msps_p,msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) + pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,msps_p,mz_p,vp, + n_sps,msps_n,mz_n,vn,Mtot) + oPP,oNN,oPNu,oPNd = prep_J(tdims,p_sps,n_sps,msps_p,msps_n, pbits,nbits) mdim = tdims[end] lblock=length(pbits) @@ -135,18 +135,11 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; for (iter,sntf) in enumerate(Hs) @timeit to "make sample" begin println("sntf: $sntf") - lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsnt(sntf,Anum) - bV1,V1 = HbitT1(p_sps,n_sps,mstates_p,mstates_n,labels,TBMEs) - bVpn,Vpn,delMs = Hbitpn(p_sps,n_sps,mstates_p,mstates_n, - labels[3],TBMEs[3]) - ppinfo = prep_pp(mstates_p,pbits,bV1[1],V1[1]) - nninfo = prep_nn(mstates_n,nbits,bV1[2],V1[2]) - bV1 = nothing - l_pbit = length(mstates_p);l_nbit = length(mstates_n) - bis,bfs,p_NiNfs,n_NiNfs,num_task = prep_pn(lblock,tdims, - l_pbit,l_nbit, - pbits,nbits, - Mps,delMs,bVpn,Vpn) + lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(sntf,Anum) + pp_2bjump,nn_2bjump = prep_Hamil_T1(p_sps,n_sps,msps_p,msps_n,pbits,nbits,labels,TBMEs) + bVpn,Vpn,delMs = prep_Hamil_pn(p_sps,n_sps,msps_p,msps_n,labels[3],TBMEs[3]) + l_pbit = length(msps_p);l_nbit = length(msps_n) + bis,bfs,p_NiNfs,n_NiNfs,num_task = prep_pn(lblock,pbits,nbits,Mps,delMs,bVpn,Vpn) bVpn=nothing block_tasks = make_distribute(num_task) @@ -166,7 +159,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; initialize_wf(vks[1],"rand",tJ,mdim) @timeit to "Lanczos" elit = TRL(vks,uks,Tmat,itmin, pbits,nbits,jocc_p,jocc_n,SPEs, - ppinfo,nninfo,bis,bfs,block_tasks, + pp_2bjump,nn_2bjump,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Mps,delMs,Vpn, eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, tdims,num_ev,num_history,lm,ls,en, @@ -183,8 +176,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; Jv = zeros(Float64,mdim) for (nth,Rv) in enumerate(Rvecs) Jv .= 0.0 - operate_J!(Rv,Jv,pbits,nbits,tdims, - Jidxs,oPP,oNN,oPNu,oPNd) + operate_J!(Rv,Jv,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd) Js[nth] += dot(Rv,Jv) end totJs = J_from_JJ1.(Js) @@ -198,7 +190,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; end if calc_moment @timeit to "moment" tx_mom = eval_moment(Mtot,Rvecs,totJs,p_sps,n_sps, - mstates_p,mstates_n,tdims, + msps_p,msps_n,tdims, jocc_p,jocc_n,pbits,nbits,bpar, gfactors,effcharge) if tx_mom != "";print(tx_mom);end @@ -213,7 +205,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; nothing end #@timeit to "read sample wavs." begin - svecs = [ zeros(Float64,1) ];deleteat!(svecs,1) + svecs = Vector{Float64}[ ] wfinfos = [ ] for fidx = 0:num_ECsample-1 inpf = path_to_samplewav*target_nuc*"_tmp_$fidx"*"_j"*string(tJ)*".wav" @@ -252,13 +244,13 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; zeros(Float64,length(n_sps)) ] for Nij = 1:length(idxs) ] calcOBTD(OBTDs,idxs,p_sps,n_sps, - mstates_p,mstates_n,tdims, + msps_p,msps_n,tdims, jocc_p,jocc_n,pbits,nbits,svecs) end @timeit to "prepTBTD" begin opTBTD1,pjumps,njumps,bif_idxs = prepTBTD(tJ,idxs,p_sps,n_sps, - mstates_p,mstates_n, + msps_p,msps_n, pbits,nbits, labels,TBMEs,svecs, tdims,Mps) @@ -301,8 +293,7 @@ function prepEC(Hs,target_nuc,num_ev,num_ECsample,tJ,mode; close(io) end end - show(to, allocations = true, compact = true) - println("\n\n") + show_TimerOutput_results(to) return nothing end @@ -351,14 +342,14 @@ function solveEC(Hs,target_nuc,tJNs; to = TimerOutput() sntf = Hs[1] Anum = parse(Int64, match(reg,target_nuc).match) - lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsnt(sntf,Anum) + lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(sntf,Anum) hw, bpar = init_ho_by_mass(Anum,1) # mass formula if 16<= Anum <= 40 hw, bpar = init_ho_by_mass(Anum,2) # 2: mass formula for sd-shell end target_el = replace.(target_nuc, string(Anum)=>"") Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) - mstates_p,mstates_n,mz_p,mz_n = def_mstates(p_sps,n_sps) + msps_p,msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) #println("nuc: $target_el") exlines = "" try @@ -375,8 +366,8 @@ function solveEC(Hs,target_nuc,tJNs; for (jidx,tmp) in enumerate(tJNs) tJ,num_ev_target = tmp Mtot = tJ - pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,mstates_p,mz_p,vp, - n_sps,mstates_n,mz_n,vn,Mtot) + pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,msps_p,mz_p,vp, + n_sps,msps_n,mz_n,vn,Mtot) mdim = tdims[end] @timeit to "read TDmat" begin inpf = tdmatpath*target_nuc*"_J"*string(tJ)*".dat" @@ -409,7 +400,7 @@ function solveEC(Hs,target_nuc,tJNs; sntf = Hs[sntidx] tMat .= 0.0 @timeit to "Hmat" begin - lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsnt(sntf,Anum) + lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(sntf,Anum) MEs = [SPEs[1],SPEs[2],oTBMEs] MEs = [(MEs...)...] for (idx,TD) in enumerate(TDs) @@ -419,9 +410,10 @@ function solveEC(Hs,target_nuc,tJNs; end @timeit to "Gen. Eigen" begin mul!(tMat,Linv,Hmat) - mul!(tildH,Linv',tMat) - vals,vecs = real.(Arpack.eigs(tildH,nev=num_ev_target,which=:SR, - tol=1.e-8, maxiter=300)) + mul!(tildH,Linv',tMat) + #vals,vecs = real.(Arpack.eigs(tildH,nev=num_ev_target,which=:SR,tol=1.e-8, maxiter=300)) + vals = real.(eigsolve(tildH,num_ev_target,:SR;tol=1.e-8, maxiter=300)[1])[1:num_ev_target] + println("vals $vals ln $(length(vals)) num_ev_target $num_ev_target") if verbose print_vec("$target_nuc 2J=$tJ En(EC)",vals) end @@ -457,10 +449,7 @@ function solveEC(Hs,target_nuc,tJNs; if length(Hs) > 1 && exact_logf != "" @timeit to "scatter plot" plot_EC_scatter(target_nuc,Hs,sumV,tJNs,Dims,exlines) end - if is_show - show(to, allocations = true, compact = false) - end - #println("") + show_TimerOutput_results(to) return nothing end @@ -487,7 +476,7 @@ function solveEC_UQ(Hs,target_nuc,tJNs,Erefs,errors; end target_el = replace.(target_nuc, string(Anum)=>"") Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) - mstates_p,mstates_n,mz_p,mz_n = def_mstates(p_sps,n_sps) + msps_p,msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) println("nuc: $target_nuc") Dims = Int64[] @@ -573,7 +562,7 @@ function solveEC_UQ(Hs,target_nuc,tJNs,Erefs,errors; ln_int = length(iSPEs[1])+length(V1s[1])+length(V0s[1]) Vint = zeros(Float64,ln_int) - iThetas = [ zeros(Float64,ln_int)];deleteat!(iThetas,1) + iThetas = Vector{Float64}[ ] #AllThetas = [ [ zeros(Float64,ln_int)] for i = 1:num_replica] #for i=1:num_replica; deleteat!(AllThetas[i],1); end nSPEs = deepcopy(iSPEs); nV1s = deepcopy(V1s); nV0s = deepcopy(V0s) @@ -597,7 +586,7 @@ function solveEC_UQ(Hs,target_nuc,tJNs,Erefs,errors; println(tx) #plot_MCMC_PT(iThetas,Ts,llhs,tJNs,Ens,Erefs) write_history(iThetas,Ts,llhs,tJNs,Ens) - show(to, allocations = true, compact = false) + show_TimerOutput_results(to) println("") return nothing end @@ -658,7 +647,7 @@ function plot_from_history(Hs,target_nuc,tJNs,Erefs,Eexact,intf;path="./history/ nr = read(io,Int64) Ns = read(io,Int64) Np = read(io,Int64) - Thetas = [ Float64[1.0] ] ;deleteat!(Thetas,1) + Thetas = Vector{Float64}[ ] for i=1:Ns push!(Thetas,[read(io,Float64) for i=1:Np]) end @@ -668,7 +657,7 @@ function plot_from_history(Hs,target_nuc,tJNs,Erefs,Eexact,intf;path="./history/ nr = read(io,Int64) Ns = read(io,Int64) Ts = [read(io,Float64) for i=1:nr] - llhs = [ Float64[1.0] ];deleteat!(llhs,1) + llhs = Vector{Float64}[ ] for i=1:nr push!(llhs,[read(io,Float64) for i=1:Ns]) end @@ -681,7 +670,7 @@ function plot_from_history(Hs,target_nuc,tJNs,Erefs,Eexact,intf;path="./history/ io = open(inpf,"r") nr = read(io,Int64) Ns = read(io,Int64) - Ens = [ Float64[1.0] ];deleteat!(Ens,1) + Ens = Vector{Float64}[ ] for i=1:num_states push!(Ens,[read(io,Float64) for i = 1:Ns]) end @@ -733,8 +722,9 @@ function intMCMC(itnum_MCMC,burnin,var_M,iThetas,Theta,c_Theta,Vint,Vopt, BLAS.gemm!('N','N',1.0,Linv,Hmat,0.0,tMat) BLAS.gemm!('T','N',1.0,Linv,tMat,0.0,tildH) - @timeit to "Arpack" vals = real.(Arpack.eigs(tildH,nev=num_ev_target,which=:SR, - tol=1.e-8, maxiter=300))[1] + #@timeit to "Arpack" vals = real.(Arpack.eigs(tildH,nev=num_ev_target,which=:SR,tol=1.e-8, maxiter=300))[1] + vals = real.(eigsolve(tildH,num_ev_target,:SR;tol=1.e-8, maxiter=300)[1])[1:num_ev_target] + nllh += L2_llh(vals,Erefs[jidx],errors[jidx]) if itM > burnin @timeit to "push" for i=1:num_ev_target @@ -805,7 +795,7 @@ function intMCMC_PT(itnum_MCMC,burnin,var_M,Ts, en_s = [ [ zeros(Float64,tmp[2]) for i =1:num_history] for tmp in tJNs ] #### - jobs = [ [0,0] ]; deleteat!(jobs,1) + jobs = Vector{Int64}[ ] for jidx = 1:lnJ info = Allinfos[jidx] for idx = 1:length(AllTDs[jidx]) @@ -838,20 +828,11 @@ function intMCMC_PT(itnum_MCMC,burnin,var_M,Ts, Eval = @views Evals[jidx] BLAS.gemm!('N','N',1.0,Linv,Hmat,0.0,tMat) BLAS.gemm!('T','N',1.0,Linv,tMat,0.0,tildH) - - #@timeit to "my_eigval" my_eigvals!(tildH,tMat,Dim,vks,en_s[jidx], - # num_ev_target) - #Evals[jidx] .= en_s[jidx][1] - #println("En my ", Evals[jidx]) - - #@timeit to "Arpack" Evals[jidx] .= real.( - # Arpack.eigs(tildH,nev=num_ev_target, - - @timeit to "Arpack" begin - Eval .= Arpack.eigs(tildH,nev=num_ev_target, - which=:SR,tol=1.e-6,maxiter=150)[1] + + @timeit to "eigsolve" begin + #Eval .= Arpack.eigs(tildH,nev=num_ev_target,which=:SR,tol=1.e-6,maxiter=150)[1] + Eval .= real.(eigsolve(tildH,num_ev_target,:SR)[1])[1:num_ev_target] end - #println("En Arpack ", Evals[jidx], "\n") nllhs[ridx] += L2_llh(Eval,Erefs[jidx],errors[jidx];T=Ts[ridx]) if ridx == 1 if itM > burnin @@ -1187,7 +1168,7 @@ struct Tridx end function calcOBTD(OBTDs,idxs,p_sps,n_sps, - mstates_p,mstates_n, + msps_p,msps_n, tdims, jocc_p,jocc_n, pbits,nbits, @@ -1252,16 +1233,11 @@ struct T0ifc fac::Float64 end -function prepTBTD(tJ,idxs,p_sps,n_sps, - mstates_p::Array{Array{Int64,1},1}, - mstates_n::Array{Array{Int64,1},1}, - pbits,nbits, - labels,TBMEs, - wfs::Array{Array{Float64,1}}, - tdims,Mps) +function prepTBTD(tJ,idxs,p_sps,n_sps,msps_p::Array{Array{Int64,1},1},msps_n::Array{Array{Int64,1},1}, + pbits,nbits,labels,TBMEs,wfs::Array{Array{Float64,1}},tdims,Mps) lblock=length(pbits) - lp = length(mstates_p); ln = length(mstates_n) - mstates = [mstates_p,mstates_n] + lp = length(msps_p); ln = length(msps_n) + mstates = [msps_p,msps_n] sps = [p_sps,n_sps] loffs = [ 0, length(p_sps)] TBTD1 = [ T1ifc[ ] , T1ifc[] ] @@ -1344,7 +1320,7 @@ function prepTBTD(tJ,idxs,p_sps,n_sps, delMs = Int64[] for j = 1:lp for i = 1:lp - push!(delMs,mstates_p[i][5]-mstates_p[j][5]) + push!(delMs,msps_p[i][5]-msps_p[j][5]) end end unique!(delMs);sort!(delMs,rev=true) @@ -1362,7 +1338,7 @@ function prepTBTD(tJ,idxs,p_sps,n_sps, vec_ani_p = [false for i = 1:lp];vec_cre_p = [false for i = 1:lp] vec_ani_n = [false for i = 1:ln];vec_cre_n = [false for i = 1:ln] retM = [0,0,0] - bif_idxs=[ [0,0,0] ];deleteat!(bif_idxs,1) + bif_idxs= Vector{Int64}[ ] for i = 1:lblock for j=i:lblock push!(bif_idxs,[i,j,idx_from_ij(i,j,lblock)]) @@ -1377,10 +1353,10 @@ function prepTBTD(tJ,idxs,p_sps,n_sps, for (nth,ME) in enumerate(TBMEs[vrank]) a,b,c,d,totJ,vidx = labels[vrank][nth] J2 = 2*totJ - ja,ma_s,ma_idxs = possible_mz(p_sps[a],mstates_p) - jc,mc_s,mc_idxs = possible_mz(p_sps[c],mstates_p) - jb,mb_s,mb_idxs = possible_mz(n_sps[b-loff],mstates_n) - jd,md_s,md_idxs = possible_mz(n_sps[d-loff],mstates_n) + ja,ma_s,ma_idxs = possible_mz(p_sps[a],msps_p) + jc,mc_s,mc_idxs = possible_mz(p_sps[c],msps_p) + jb,mb_s,mb_idxs = possible_mz(n_sps[b-loff],msps_n) + jd,md_s,md_idxs = possible_mz(n_sps[d-loff],msps_n) for (ic,mc) in enumerate(mc_s) initialize_tvec!(vec_ani_p); vec_ani_p[mc_idxs[ic]] = true bit_c = bitarr_to_int(vec_ani_p) @@ -1466,8 +1442,7 @@ function calcTBTD(TBTDs, opTBTD1,pjumps,njumps, pbits,nbits,tdims,wfs,idxs,bif_idxs, olabels,oTBMEs,labels,to) - @inbounds @threads for k=1:length(idxs) - #@inbounds for k=1:length(idxs) + @inbounds @threads for k in eachindex(idxs) tmp = idxs[k] i = tmp.i; j=tmp.j; Nij=tmp.Nth w_i=wfs[i]; w_j = wfs[j] @@ -1509,14 +1484,12 @@ function calcTBTD(TBTDs, vrank=3 @inbounds for (nth,label) in enumerate(labels[vrank]) vidx = label[end] - #@inbounds @threads for nth = 1:length(labels[vrank]) - # vidx = labels[vrank][nth][end] pjump = pjumps[nth] njump = njumps[nth] - @inbounds for opidx = 1:length(pjump) + @inbounds for opidx in eachindex(pjump) tmp_pj = pjump[opidx] tmp_nj = njump[opidx] - @inbounds for bidx = 1:length(bif_idxs) + @inbounds for bidx in eachindex(bif_idxs) bi,bf,dummy = bif_idxs[bidx] idim = tdims[bi]; lNi = length(nbits[bi]) fdim = tdims[bf]; lNf = length(nbits[bf]) diff --git a/src/ShellModel/lanczos_methods.jl b/src/ShellModel/lanczos_methods.jl index 68529c9f..b770b692 100644 --- a/src/ShellModel/lanczos_methods.jl +++ b/src/ShellModel/lanczos_methods.jl @@ -1,9 +1,10 @@ function TRL(vks,uks,Tmat,k, pbits,nbits,jocc_p,jocc_n, - SPEs,ppinfo,nninfo,bis,bfs,block_tasks, + SPEs,pp_2bjump,nn_2bjump,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Mps,delMs,Vpn, - eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, - tdims,num_ev,num_history,lm,ls,en,tol,to,doubleLanczos=false) + eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, + tdims,num_ev,num_history,lm,ls,en,tol,to,doubleLanczos=false,checkorth=false) + mdim = tdims[end] TF=[false] @@ -25,32 +26,31 @@ function TRL(vks,uks,Tmat,k, for it = k:lm-1 vk =vks[it]; vkp1 =vks[it+1] @timeit to "operate H" begin - operate_H!(vk,vkp1, + operate_H!(vks[it],vks[it+1], pbits,nbits, jocc_p,jocc_n,SPEs, - ppinfo,nninfo, + pp_2bjump,nn_2bjump, tdims,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Vpn,Mps,delMs,to) end talpha = dot(vk,vkp1) Tmat[it,it] = talpha - diagonalize_T!(it,num_ev,Tmat,en,num_history,TF,tol) + diagonalize_T!(it,num_ev,Tmat,en,num_history,TF,tol) + if it == mdim; TF[1]=true;end if TF[1];elit=it;break;end - svks = @views vks[1:it] + svks = @views vks[1:it] @timeit to "ReORTH" ReORTH(it,vkp1,svks) tbeta = sqrt(dot(vkp1,vkp1)) - tmp = 1.0/tbeta - vkp1 .*= tmp + vkp1 .*= 1.0/tbeta + if checkorth; Check_Orthogonality(it,vks,en); end Tmat[it+1,it] = tbeta; Tmat[it,it+1] = tbeta if doubleLanczos if tbeta < Jtol;TF[1]=true;elit=it;break;end @timeit to "JJ lanczos" begin - for i =2:length(Jvs);Jvs[i] .=0.0;end + for i = 2:length(Jvs);Jvs[i] .=0.0;end Jmat .= 0.0;JTF[1] = false Jvs[1] .= vkp1 - Jlanczos(Jvs,Jmat,TF,JTF,Jtol,Jvret, - pbits,nbits,tdims,eval_jj, - Jidxs,oPP,oNN,oPNu,oPNd,beta_J,to) + Jlanczos(Jvs,Jmat,TF,JTF,Jtol,Jvret,pbits,nbits,tdims,eval_jj,Jidxs,oPP,oNN,oPNu,oPNd,beta_J,to) vkp1 .= Jvs[1] if TF[1];elit=it;break;end end @@ -103,15 +103,11 @@ function Jlanczos(Jvs,Jmat,TF,JTF,Jtol,Jvret, return nothing end -function operate_H!(wf,twf, - pbits,nbits, - jocc_p,jocc_n, - SPEs,ppinfo,nninfo, - tdims,bis,bfs,block_tasks, - p_NiNfs,n_NiNfs,Vpn, - Mps,delMs, - to=nothing) - #lblock = length(pbits) +function get_mscheme_idx()::Int64 + +end + +function operate_H!(wf,twf,pbits,nbits,jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump,tdims,bis,bfs,block_tasks,p_NiNfs,n_NiNfs,Vpn,Mps,delMs,to=nothing) @inbounds @threads for bi in block_tasks if bi==0; continue;end #empty job ret = [0,0,0]; ret2 = [0,0,0] @@ -119,9 +115,8 @@ function operate_H!(wf,twf, l_Np = length(pbits[bi]) l_Nn = length(nbits[bi]) offset = idim -l_Nn - #@timeit to "pn1" begin - @inbounds for (bfidx,bf) in enumerate(bfs[bi]) + for (bfidx,bf) in enumerate(bfs[bi]) bisearch!(delMs,Mps[bf]-Mps[bi],ret) #!! bf = bfs[bi][j] Vs = Vpn[ret[1]] fdim = tdims[bf] @@ -129,23 +124,22 @@ function operate_H!(wf,twf, p_NiNf = p_NiNfs[bi][bfidx] n_NiNf = n_NiNfs[bi][bfidx] off_f = fdim-l_Nn_f - @inbounds for (nth,V) in enumerate(Vs) + for (nth,V) in enumerate(Vs) Npifs = p_NiNf[nth]; Nnifs = n_NiNf[nth] - @inbounds for Npif in Npifs - tMi = offset+ Npif.i .* l_Nn - tMf = off_f + Npif.f .* l_Nn_f + for Npif in Npifs + tMi = offset+ Npif.i * l_Nn + tMf = off_f + Npif.f * l_Nn_f phase_p = Npif.phase - @inbounds for Nnif in Nnifs + for Nnif in Nnifs Mi = tMi + Nnif.i; Mf = tMf + Nnif.f phase_n = Nnif.phase - twf[Mi] += ifelse(phase_p!=phase_n,-V,V) .* wf[Mf] + twf[Mi] += ifelse(phase_p!=phase_n,-V,V) * wf[Mf] end end end end - #end #@timeit to "pn2" begin - @inbounds for j = 1:length(bis[bi])-1 #### tbf = bi !!! + for j = 1:length(bis[bi])-1 #### tbf = bi !!! tbi = bis[bi][j] bisearch!(delMs,Mps[bi]-Mps[tbi],ret) bisearch_ord!(bfs[tbi],bi,ret2) @@ -154,71 +148,63 @@ function operate_H!(wf,twf, p_NiNf = p_NiNfs[tbi][ret2[1]] n_NiNf = n_NiNfs[tbi][ret2[1]] off_f = fdim - l_Nn_i - @inbounds for (nth,V) in enumerate(Vpn[ret[1]]) + for (nth,V) in enumerate(Vpn[ret[1]]) Npifs = p_NiNf[nth] Nnifs = n_NiNf[nth] - @inbounds for Npif in Npifs + for Npif in Npifs tMi = off_f + Npif.i *l_Nn_i #idim <-> fdim tMf = offset + Npif.f*l_Nn phase_p = Npif.phase - @inbounds for Nnif in Nnifs + for Nnif in Nnifs Mi = tMi + Nnif.i; Mf = tMf + Nnif.f phase_n = Nnif.phase - twf[Mf] += ifelse(phase_p!=phase_n,-V,V) .* wf[Mi] + twf[Mf] += ifelse(phase_p!=phase_n,-V,V) * wf[Mi] end end end end - #end #@timeit to "pp/nn" begin ### pp/nn interaction - @inbounds for (Npi,tinfo) in enumerate(ppinfo[bi]) + for (Npi,tinfo) in enumerate(pp_2bjump[bi]) tMi = offset + Npi*l_Nn - @inbounds for (jj,tmp) in enumerate(tinfo) + for (jj,tmp) in enumerate(tinfo) tMf = offset + l_Nn*tmp.f fac = tmp.coef - @inbounds for nidx = 1:l_Nn + for nidx = 1:l_Nn Mi = tMi + nidx; Mf = tMf + nidx - twf[Mf] += fac .* wf[Mi] - twf[Mi] += fac .* wf[Mf] + twf[Mf] += fac * wf[Mi] + twf[Mi] += fac * wf[Mf] end end end - @inbounds for (Nni,tinfo) in enumerate(nninfo[bi]) + for (Nni,tinfo) in enumerate(nn_2bjump[bi]) tMi = offset + Nni - @inbounds for (jj,tmp) in enumerate(tinfo) + for (jj,tmp) in enumerate(tinfo) tMf = offset + tmp.f fac = tmp.coef - @inbounds for pidx = 1:l_Np + for pidx = 1:l_Np Mi = tMi + pidx*l_Nn; Mf = tMf + pidx*l_Nn - twf[Mf] += fac .* wf[Mi] - twf[Mi] += fac .* wf[Mf] + twf[Mf] += fac * wf[Mi] + twf[Mi] += fac * wf[Mf] end end end - #end + #@timeit to "1b" begin ### one-body operator - @inbounds for pidx = 1:l_Np + for pidx = 1:l_Np tMi = offset + pidx*l_Nn - @inbounds for nidx =1:l_Nn + for nidx =1:l_Nn Mi = tMi + nidx twf[Mi] += (dot(SPEs[1],jocc_p[bi][pidx])+ - dot(SPEs[2],jocc_n[bi][nidx])) .* wf[Mi] + dot(SPEs[2],jocc_n[bi][nidx])) * wf[Mi] end end - #end end return nothing end -function diagonalize_T!(k::Int64,num_ev::Int64, - Tmat, - en::Array{Array{Float64,1}}, - num_history::Int64, - TF::Array{Bool,1}, - tol::Float64) where{FA<:Array{Float64,1}, - FA2<:Array{Float64,2}} +function diagonalize_T!(k::Int64,num_ev::Int64,Tmat,en::Array{Array{Float64,1}},num_history::Int64, TF::Array{Bool,1}, tol::Float64) for ith = num_history:-1:2 en[ith] .= en[ith-1] end @@ -229,7 +215,7 @@ function diagonalize_T!(k::Int64,num_ev::Int64, end function TRBL(q,vks,uks,Tmat,Beta_H,pbits,nbits,jocc_p,jocc_n,SPEs, - ppinfo,nninfo,bis,bfs,block_tasks, + pp_2bjump,nn_2bjump,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Mps,delMs,Vpn,tdims, eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, num_ev,num_history,lm,ls_sub,en,tol,to, @@ -254,9 +240,7 @@ function TRBL(q,vks,uks,Tmat,Beta_H,pbits,nbits,jocc_p,jocc_n,SPEs, if doubleLanczos @timeit to "JJ lanczos" begin Jvs[1] .= vks[1] - bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret, - pbits,nbits,tdims,eval_jj, - Jidxs,oPP,oNN,oPNu,oPNd,to,Beta_H,U,Mat) + bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret,pbits,nbits,tdims,eval_jj,Jidxs,oPP,oNN,oPNu,oPNd,to,Beta_H,U,Mat) vks[1] .= Jvs[1];Beta_J .= 0.0;JTF[1]=false for i=1:lnJ;Jvs[i] .= 0.0;end V = vks[1] @@ -269,7 +253,7 @@ function TRBL(q,vks,uks,Tmat,Beta_H,pbits,nbits,jocc_p,jocc_n,SPEs, HV = vks[it+1] @timeit to "bl_operateH" begin bl_operate_H!(q,V,HV,pbits,nbits, - jocc_p,jocc_n,SPEs,ppinfo,nninfo, + jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump, tdims,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Vpn,Mps,delMs,to) end @@ -295,8 +279,7 @@ function TRBL(q,vks,uks,Tmat,Beta_H,pbits,nbits,jocc_p,jocc_n,SPEs, for i=2:lnJ; Jvs[i] .= 0.0; end JTF[1] = false; Jmat .= 0.0;Jvs[1] .= HV Vt .= 0.0; R .= 0.0 - bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret,pbits,nbits, - tdims,eval_jj,Jidxs,oPP,oNN,oPNu,oPNd,to,Beta_H,U,Mat) + bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret,pbits,nbits,tdims,eval_jj,Jidxs,oPP,oNN,oPNu,oPNd,to,Beta_H,U,Mat) HV .= Jvs[1]; Beta_J .=0.0 end end @@ -328,7 +311,7 @@ end # wf:V, twf:HV function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, - SPEs,ppinfo,nninfo,tdims,bis,bfs,block_tasks, + SPEs,pp_2bjump,nn_2bjump,tdims,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Vpn, Mps,delMs,to=nothing) #lblock = length(pbits) @inbounds @threads for bi in block_tasks @@ -350,8 +333,8 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, @inbounds for (nth,V) in enumerate(Vs) Npifs = p_NiNf[nth]; Nnifs = n_NiNf[nth] @inbounds for Npif in Npifs - tMi = offset+ Npif.i .* l_Nn - tMf = off_f + Npif.f .* l_Nn_f + tMi = offset+ Npif.i * l_Nn + tMf = off_f + Npif.f * l_Nn_f phase_p = Npif.phase @inbounds for Nnif in Nnifs Mi = tMi + Nnif.i; Mf = tMf + Nnif.f @@ -360,7 +343,7 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, w_f = @views twf[:,Mi] w_i = @views wf[:,Mf] @inbounds for b=1:q - w_f[b] += coeff .* w_i[b] + w_f[b] += coeff * w_i[b] end end end @@ -391,7 +374,7 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, w_f = @views twf[:,Mf] w_i = @views wf[:,Mi] @inbounds for b=1:q - w_f[b] += coeff .* w_i[b] + w_f[b] += coeff * w_i[b] end end end @@ -400,7 +383,7 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, #end #@timeit to "pp/nn" begin ### pp/nn interaction - @inbounds for (Npi,tinfo) in enumerate(ppinfo[bi]) + @inbounds for (Npi,tinfo) in enumerate(pp_2bjump[bi]) tMi = offset + Npi*l_Nn @inbounds for (jj,tmp) in enumerate(tinfo) tMf = offset + l_Nn*tmp.f @@ -412,13 +395,13 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, w_f2 = @views twf[:,Mi] w_i2 = @views wf[:,Mf] @inbounds for b=1:q - w_f1[b] += fac .* w_i1[b] - w_f2[b] += fac .* w_i2[b] + w_f1[b] += fac * w_i1[b] + w_f2[b] += fac * w_i2[b] end end end end - @inbounds for (Nni,tinfo) in enumerate(nninfo[bi]) + @inbounds for (Nni,tinfo) in enumerate(nn_2bjump[bi]) tMi = offset + Nni @inbounds for (jj,tmp) in enumerate(tinfo) tMf = offset + tmp.f @@ -430,8 +413,8 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, w_f2 = @views twf[:,Mi] w_i2 = @views wf[:,Mf] @inbounds for b=1:q - w_f1[b] += fac .* w_i1[b] - w_f2[b] += fac .* w_i2[b] + w_f1[b] += fac * w_i1[b] + w_f2[b] += fac * w_i2[b] end end end @@ -448,7 +431,7 @@ function bl_operate_H!(q,wf,twf,pbits,nbits,jocc_p,jocc_n, w_f = @views twf[:,Mi] w_i = @views wf[:,Mi] @inbounds for b=1:q - w_f[b] += coeff .* w_i[b] + w_f[b] += coeff * w_i[b] end end @@ -522,7 +505,7 @@ function bl_ThickRestart(q,vks,uks,R,Tmat,inow,ls_sub,mdim,Vt) idx = q*(j-1) +bj fac = vecs[idx,k] @inbounds for m=1:mdim - uk[b,m] += fac .* v[m] + uk[b,m] += fac * v[m] end end end @@ -549,10 +532,8 @@ function bl_ThickRestart(q,vks,uks,R,Tmat,inow,ls_sub,mdim,Vt) return nothing end -function bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret, - pbits,nbits,tdims,eval_jj, - Jidxs,oPP,oNN,oPNu,oPNd,to,bnout, - U,Mat;verbose=false) +function bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret,pbits,nbits,tdims,eval_jj, + Jidxs,oPP,oNN,oPNu,oPNd,to,bnout,U,Mat;verbose=false) mdim = tdims[end] lnJ = length(Jvs) itmin = 1;itmax = lnJ-1; inow = 0 @@ -608,11 +589,7 @@ function bl_JJ_Lanczos(q,Jvs,Jmat,Vt,R,Beta_J,JTF,Jtol,Jvret, return nothing end -function bl_operate_J!(q,Rvec,Jv, - pbits,nbits,tdims, - Jidxs, - oPP,oNN,oPNu,oPNd, - beta_J=1.0) +function bl_operate_J!(q,Rvec,Jv,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd,beta_J=1.0) lblock=length(pbits) @inbounds @threads for bi in Jidxs if bi==0;continue;end @@ -623,7 +600,7 @@ function bl_operate_J!(q,Rvec,Jv, opNN = oNN[bi] offset = idim-lNn @inbounds for tmp in opPP - Npi =tmp.Mi; Npf=tmp.Mf; fac=tmp.fac .* beta_J + Npi =tmp.Mi; Npf=tmp.Mf; fac=tmp.fac * beta_J tMi = offset + Npi*lNn tMf = offset + Npf*lNn @inbounds for nidx = 1:lNn @@ -633,13 +610,13 @@ function bl_operate_J!(q,Rvec,Jv, w_f2 = @views Jv[:,Mi] w_i2 = @views Rvec[:,Mf] @inbounds for b=1:q - w_f1[b] += fac .* w_i1[b] - w_f2[b] += fac .* w_i2[b] + w_f1[b] += fac * w_i1[b] + w_f2[b] += fac * w_i2[b] end end end @inbounds for tmp in opNN #nn - Nni =tmp.Mi; Nnf=tmp.Mf; fac=tmp.fac .* beta_J + Nni =tmp.Mi; Nnf=tmp.Mf; fac=tmp.fac * beta_J tMi = offset + Nni tMf = offset + Nnf @inbounds for pidx = 1:lNp @@ -649,8 +626,8 @@ function bl_operate_J!(q,Rvec,Jv, w_f2 = @views Jv[:,Mi] w_i2 = @views Rvec[:,Mf] @inbounds for b=1:q - w_f1[b] += fac .* w_i1[b] - w_f2[b] += fac .* w_i2[b] + w_f1[b] += fac * w_i1[b] + w_f2[b] += fac * w_i2[b] end end end @@ -665,7 +642,7 @@ function bl_operate_J!(q,Rvec,Jv, @inbounds for top in operator pj = top.pjump nj = top.njump - fac =top.fac .* beta_J + fac =top.fac * beta_J @inbounds for tmp_p in pj phase_p=tmp_p.phase tMi = off_i + tmp_p.i * l_Nn_i @@ -677,7 +654,7 @@ function bl_operate_J!(q,Rvec,Jv, coeff = ifelse(phase_p!=phase_n,-fac,fac) w_f = @views Jv[:,Mf]; w_i = @views Rvec[:,Mi] @inbounds for b=1:q - w_f[b] += coeff .* w_i[b] + w_f[b] += coeff * w_i[b] end end end @@ -693,7 +670,7 @@ function bl_operate_J!(q,Rvec,Jv, @inbounds for top in operator pj = top.pjump nj = top.njump - fac = top.fac .* beta_J + fac = top.fac * beta_J @inbounds for tmp_p in pj phase_p=tmp_p.phase tMi = off_i + tmp_p.i * l_Nn_i @@ -705,7 +682,7 @@ function bl_operate_J!(q,Rvec,Jv, coeff = ifelse(phase_p!=phase_n,-fac,fac) w_f = @views Jv[:,Mf]; w_i = @views Rvec[:,Mi] @inbounds for b=1:q - w_f[b] += coeff .* w_i[b] + w_f[b] += coeff * w_i[b] end end end diff --git a/src/ShellModel/shellmodel_main.jl b/src/ShellModel/shellmodel_main.jl index e6177134..055cc5fe 100644 --- a/src/ShellModel/shellmodel_main.jl +++ b/src/ShellModel/shellmodel_main.jl @@ -1,15 +1,9 @@ -const element = ["H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", - "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", - "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", - "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", - "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", - "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", - "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", - "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", - "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", - "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", - "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", - "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"] +const element = ["H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", + "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", + "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", + "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", + "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", + "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"] const reg = r"[0-9]+" @@ -32,6 +26,13 @@ struct Jpninfo njump::Array{ifph,1} end +""" +Struct to store 2b-jumps (T=1). + +This includes the following information: +`f::Int64` the final index `f` for a given index `i`/ +`coef::Float64` the coefficient of the 2b-jump. +""" struct T1info f::Int64 coef::Float64 @@ -45,8 +46,8 @@ end """ main_sm(sntf,target_nuc,num_ev,target_J; - save_wav=false,q=1,is_block=false,is_show=false,num_history=3,lm=100,ls=20,tol=1.e-6, - in_wf="",mdimmode=false,calc_moment = false,gfactors = [1.0,0.0,5.586,-3.826],effcharge=[1.5,0.5]) + save_wav=false,q=1,is_block=false,is_show=false,num_history=3,lm=100,ls=20,tol=1.e-8, + in_wf="",mdimmode=false,calc_moment=false, visualize_occ=false, gfactors=[1.0,0.0,5.586,-3.826],effcharge=[1.5,0.5]) Digonalize the model-space Hamiltonian @@ -64,72 +65,73 @@ Digonalize the model-space Hamiltonian - `save_wav=false` whether or not to save wavefunction file - `is_show = true` to show elapsed time & allocations - `lm = 100` number of Lanczos vectors to store -- `ls = 15` number of vectors to be used for Thick-Restart +- `ls = 20` number of vectors to be used for Thick-Restart - `tol= 1.e-8` tolerance for convergence check in the Lanczos method - `in_wf=""` path to initial w.f. (for preprocessing) - `mdimmode=false` `true` => calculate only the M-scheme dimension - `calc_moment=false` `true` => calculate mu&Q moments +- `calc_entropy=false` `true` => calculate entropy, which is not optimized yet. +- `visualize_occ=false` `true` => visualize all configurations to be considered - `gfactors=[1.0,0.0,5.586,-3.826]` angular momentum and spin g-factors - `effcgarge=[1.5,0.5]` effective charges +- `truncation_scheme==""` option to specify a truncation scheme, "jocc" and "pn-pair" is supported and you can use multiple schemes by separating them with camma like "jocc,pn-pair". +- `truncated_jocc=Dict{String,Vector{Int64}}()` option to specify the truncation scheme for each orbit, e.g. Dict("p0p1"=>[1],"n0p3"=>[2,3]) means that the occupation number for proton 0p1 is truncated upto 1, and for neutron 0p3 min=2 and max=3" """ -function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, - q=1,is_block=false,is_show=false, - num_history=3,lm=100,ls=20,tol=1.e-8, - in_wf="",mdimmode=false, - calc_moment = false, - gfactors = [1.0,0.0,5.586,-3.826], - effcharge=[1.5,0.5]) +function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false,q=1,is_block=false,is_show=false,num_history=3,lm=100,ls=20,tol=1.e-8, + in_wf="",mdimmode=false, print_evec=false, calc_moment = false, calc_entropy = false, visualize_occ = false, + gfactors = [1.0,0.0,5.586,-3.826], effcharge=[1.5,0.5], truncation_scheme="",truncated_jocc=Dict{String,Vector{Int64}}()) + to = TimerOutput() Anum = parse(Int64, match(reg,target_nuc).match) lp,ln,cp,cn,massop,Aref,pow,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(sntf,Anum) - massformula = 1 - if 16<= Anum <= 40; massformula = 2;end + massformula = ifelse(16<=Anum<= 40,2,1) ## massformula=2: J. Blomqvist and A. Molinari, Nucl. Phys. A106, 545 (1968). ## we use this for the sd-shell nuclei hw, bpar = init_ho_by_mass(Anum,massformula) - if length(target_J) > 1; - println("warn! Multiple J is not supported now.");exit() - end - Mtot = 0;if Anum % 2 != 0; Mtot = 1;end + @assert length(target_J) <= 1 "Invalid `target_J` Multiple J is not supported now." + Mtot = ifelse(Anum%2==0,0,1) tJ = -1; eval_jj = -1.0 if length(target_J) > 0; Mtot = minimum(target_J);tJ=target_J[1] eval_jj = 0.5*tJ*(tJ/2+1) end if Anum % 2 != Mtot % 2; println("invalid targetJ $tJ");exit();end - target_el = replace.(target_nuc, string(Anum)=>"") + target_el = replace(target_nuc, string(Anum)=>"") Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) - mstates_p, mstates_n,mz_p,mz_n = def_mstates(p_sps,n_sps) - pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,mstates_p,mz_p,vp, - n_sps,mstates_n,mz_n,vn,Mtot) + tf_pnpair = ifelse(occursin("pn-pair",truncation_scheme),true,false) + if tf_pnpair + #if Z!=N; @error "Invalid truncation scheme: pn-pair is not supported for Z != N nuclei"; exit();end + if is_block; @error "Block Lanczos method is not supported for pn-pair truncation"; exit();end + end + msps_p,msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) + pbits,nbits,jocc_p,jocc_n,Mps,Mns,tdims = occ(p_sps,msps_p,mz_p,vp,n_sps,msps_n,mz_n,vn,Mtot;truncation_scheme=truncation_scheme,truncated_jocc=truncated_jocc) + lblock=length(pbits) mdim = tdims[end]; if mdim==0;exit();end - + num_ev = min(num_ev,mdim) mdim_print(target_nuc,Z,N,cp,cn,vp,vn,mdim,tJ) if mdimmode; return nothing;end + if visualize_occ; visualize_configurations(msps_p,msps_n,pbits,nbits,mdim); end + if tf_pnpair && mdim > 500 + @warn "pn-pair truncation, constructing H explicitly, is not recommended for large model space." + end - @timeit to "prep. 1bjumps" begin - ## bit representation of Hamiltonian operators - bV1,V1 = HbitT1(p_sps,n_sps,mstates_p,mstates_n,labels,TBMEs) - bVpn,Vpn,delMs = Hbitpn(p_sps,n_sps,mstates_p,mstates_n,labels[3],TBMEs[3]) - + ##Making bit representation of Hamiltonian operators, and storing them + @timeit to "prep. 1b&2b-jumps" begin ## storing two-body jumps for pp/nn 2b interaction - ppinfo = prep_pp(mstates_p,pbits,bV1[1],V1[1]) - nninfo = prep_nn(mstates_n,nbits,bV1[2],V1[2]) - bV1 = nothing + pp_2bjump,nn_2bjump = prep_Hamil_T1(p_sps,n_sps,msps_p,msps_n,pbits,nbits,labels,TBMEs) + bVpn,Vpn,delMs = prep_Hamil_pn(p_sps,n_sps,msps_p,msps_n,labels[3],TBMEs[3]) ## storing one-body jumps for pn 2b interaction - l_pbit = length(mstates_p);l_nbit = length(mstates_n) - bis,bfs,p_NiNfs,n_NiNfs,num_task = prep_pn(lblock,tdims,l_pbit,l_nbit, - pbits,nbits,Mps,delMs,bVpn,Vpn) + bis,bfs,p_NiNfs,n_NiNfs,num_task = prep_pn(lblock,pbits,nbits,Mps,delMs,bVpn,Vpn) bVpn=nothing + #Hamil_util = HamilUtil(bis,bfs,pp_2bjump,nn_2bjump,p_NiNfs,n_NiNfs) + ## distribute task + block_tasks = make_distribute(num_task) end - ## distribute task - block_tasks = make_distribute(num_task) - + @timeit to "Jcalc." begin - oPP,oNN,oPNu,oPNd = prep_J(tdims,p_sps,n_sps,mstates_p,mstates_n, - pbits,nbits) + oPP,oNN,oPNu,oPNd = prep_J(tdims,p_sps,n_sps,msps_p,msps_n,pbits,nbits) Js = [ 0.5*Mtot*(0.5*Mtot+1) for i = 1:num_ev] Jtasks = zeros(Int64,lblock) for i = 1:lblock @@ -142,7 +144,7 @@ function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, en =[ [1.e+4 for j=1:num_ev] for i = 1:num_history] Rvecs = [ zeros(Float64,mdim) for i=1:num_ev] Tmat = zeros(Float64,lm,lm) - vks =[]; uks=[];itmin = 1; elit=1 + vks = Vector{Float64}[]; uks=Vector{Float64}[];itmin = 1; elit=1 doubleLanczos = false if tJ !=-1; doubleLanczos = true;end @@ -166,7 +168,7 @@ function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, bl_QR!(V',Beta_H,mdim,q) end elit = TRBL(q,vks,uks,Tmat,Beta_H,pbits,nbits,jocc_p,jocc_n,SPEs, - ppinfo,nninfo,bis,bfs,block_tasks, + pp_2bjump,nn_2bjump,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Mps,delMs,Vpn,tdims, eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, num_ev,num_history,lm,ls_sub,en,tol,to,doubleLanczos) @@ -180,7 +182,7 @@ function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, end elit = TRL(vks,uks,Tmat,itmin, pbits,nbits,jocc_p,jocc_n,SPEs, - ppinfo,nninfo,bis,bfs,block_tasks, + pp_2bjump,nn_2bjump,bis,bfs,block_tasks, p_NiNfs,n_NiNfs,Mps,delMs,Vpn, eval_jj,oPP,oNN,oPNu,oPNd,Jidxs, tdims,num_ev,num_history,lm,ls,en,tol,to,doubleLanczos) @@ -191,46 +193,43 @@ function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, vals,vecs = eigen(@views Tmat[1:elit*q,1:elit*q]) @inbounds for (nth,Rvec) in enumerate(Rvecs) if is_block == false - @inbounds for k=1:length(vals) + for k=1:length(vals) Rvec .+= vecs[k,nth] .* vks[k] end else - @inbounds for k=1:length(vals) + for k=1:length(vals) it = div(k-1,q) b = k - q*it Rvec .+= @views vecs[k,nth] .* vks[it+1][b,:] end end Rvec .*= 1.0/sqrt(dot(Rvec,Rvec)) - # if false # check - # Hv .= 0.0 - # operate_H!(Rvecs[nth],Hv, - # pbits,nbits, - # jocc_p,jocc_n,SPEs, - # ppinfo,nninfo, - # tdims,bis,bfs,block_tasks, - # p_NiNfs,n_NiNfs,Vpn,Mps,delMs,to) - # if nth == 1; print(" ");end - # print(" ", dot(Rvecs[nth],Hv)) - # if nth==num_ev;println("");end - # end - end - end + end + end + vt = zeros(Float64,mdim) for (nth,Rv) in enumerate(Rvecs) vt .= 0.0 - operate_J!(Rv,vt,pbits,nbits,tdims, - Jidxs,oPP,oNN,oPNu,oPNd) + operate_J!(Rv,vt,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd) Js[nth] += dot(Rv,vt) end + + if print_evec + print("\n") + # for (nth,Rv) in enumerate(Rvecs) + # print_vec("nth = "*@sprintf("%4i",nth),Rv;long=true) + # end + if target_nuc == "Li6" + svd_li6(Rvecs) + end + end + totJs = J_from_JJ1.(Js) #println("totJs $totJs") tx_mom ="" if calc_moment - tx_mom = eval_moment(Mtot,Rvecs,totJs,p_sps,n_sps, - mstates_p,mstates_n,tdims, - jocc_p,jocc_n,pbits,nbits,bpar, - gfactors,effcharge) + tx_mom = eval_moment(Mtot,Rvecs,totJs,p_sps,n_sps,msps_p,msps_n,tdims, + jocc_p,jocc_n,pbits,nbits,bpar,gfactors,effcharge) end if save_wav @timeit to "I/O" begin @@ -240,26 +239,32 @@ function main_sm(sntf,target_nuc,num_ev,target_J;save_wav=false, writeRitzvecs(mdim,Mtot,en[1],totJs,Rvecs,oupf) end end - if is_show - show(to, allocations = true,compact = true);println("") - end #println("sntf: $sntf") if length(target_J) == 0 println("J $totJs") - print("En. ");map(x -> @printf("%9.3f ",x), en[1]) + print("En. ");map(x -> @printf("%10.4f ",x), en[1]) print("\nEx. ") - map(x -> @printf("%9.3f ",x),[en[1][i]-en[1][1] for i=1:num_ev]) + map(x -> @printf("%10.4f ",x),[en[1][i]-en[1][1] for i=1:num_ev]) else tJ = Int(2*totJs[1]) print("2J= $tJ En.") map(x -> @printf("%12.5f ",x), en[1]) - #map(x -> @printf("%9.3f ",x), en[1]) end print("\n") if tx_mom != "" println(tx_mom) end - return true + + if tf_pnpair + main_vmc(Rvecs,vals[1:num_ev],tdims,msps_p,msps_n,pbits,nbits,jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump,bis,bfs,block_tasks,p_NiNfs,n_NiNfs,Mps,delMs,Vpn,Jidxs,oPP,oNN,oPNu,oPNd) + end + + if calc_entropy + entropy(Rvecs,pbits,nbits,tdims,to) + end + + show_TimerOutput_results(to;tf=is_show) + return en[1] end """ @@ -275,7 +280,7 @@ To read interaction file in ".snt" format. function readsmsnt(sntf,Anum) f = open(sntf,"r");tlines = readlines(f);close(f) lines = rm_comment(tlines) - line = lines[1] + line = lines[1] lp,ln,cp,cn = map(x->parse(Int,x),rm_nan(split(line," "))) p_sps = [zeros(Int64,4) for i=1:lp] n_sps = [zeros(Int64,4) for i=1:ln] @@ -290,7 +295,7 @@ function readsmsnt(sntf,Anum) end nsp,zero = map(x->parse(Int,x),rm_nan(split(lines[1+ln+lp+1]," "))[1:2]) SPEs = [ [0.0 for i=1:lp],[0.0 for i=1:ln]] - @inbounds for i = 1:nsp + for i = 1:nsp ttxt = rm_nan(split(lines[1+ln+lp+1+i]," ")) j = parse(Int64,ttxt[1]) idx = ifelse(j<=lp,1,2) @@ -341,22 +346,22 @@ function readsmsnt(sntf,Anum) end """ - def_mstates(p_sps,n_sps) + construct_msps(p_sps,n_sps) -to define the single particle states specified by m_z +Function to define the single particle states specified by `[n,l,j,tz,mz,p(n)idx]`. +The last elements `pidx` and `nidx` to represent original index of `p_sps`/`n_sps`, which is specified by `[n,l,j,tz]``. """ -function def_mstates(p_sps,n_sps) - mstates_p = [[1]]; mstates_n = [[1]]; mz_p = Int64[]; mz_n = Int64[] - deleteat!(mstates_p,1); deleteat!(mstates_n,1) +function construct_msps(p_sps,n_sps) + msps_p = Vector{Int64}[] ; msps_n = Vector{Int64}[]; mz_p = Int64[]; mz_n = Int64[] for (pidx,tsps) in enumerate(p_sps) n,l,j,tz = tsps - for mz = -j:2:j;push!(mstates_p,[n,l,j,tz,mz,pidx]);push!(mz_p,mz);end + for mz = -j:2:j;push!(msps_p,[n,l,j,tz,mz,pidx]);push!(mz_p,mz);end end for (nidx,tsps) in enumerate(n_sps) n,l,j,tz = tsps - for mz = -j:2:j;push!(mstates_n,[n,l,j,tz,mz,nidx]);push!(mz_n,mz);end + for mz = -j:2:j;push!(msps_n,[n,l,j,tz,mz,nidx]);push!(mz_n,mz);end end - return mstates_p, mstates_n,mz_p,mz_n + return msps_p, msps_n,mz_p,mz_n end """ @@ -370,23 +375,20 @@ valence orbits(0p1/2,0p3/2) => -1/2, 1/2, -3/2, -1/2, 1/2, 3/2 configurations are represented like: - proton: 000011, 000101, ..., 110000 +proton: 000011, 000101, ..., 110000 neutron: 000001, 000010, ..., 100000 """ -function all_perm!(ln::Int64,num_valence::Int64, - occs::Array{Array{Bool,1}}) +function all_perm!(ln::Int64, num_valence::Int64, occs::Array{Array{Bool,1}}) for (i,tcomb) in enumerate(collect(combinations(collect(1:ln),num_valence))) - @inbounds for nth in tcomb + for nth in tcomb occs[i][nth] = 1 end end return nothing end -function Mcount!(ln::Int64,mzs::Array{Int64,1}, - occ::Array{Bool,1}, - Mret::Array{Int64,1}) +function Mcount!(ln::Int64,mzs::Array{Int64,1}, occ::Array{Bool,1}, Mret::Array{Int64,1}) Mret[1] = 0 @inbounds for i = 1:ln if occ[i] @@ -396,6 +398,136 @@ function Mcount!(ln::Int64,mzs::Array{Int64,1}, return nothing end +""" +Function to check if the specified configuration `tocc_j` is valid within a given truncation scheme. +""" +function check_jocc_truncation(tz,m_sps,tocc_j,truncated_jocc,truncation_scheme="") + if truncation_scheme == "" + return true + end + if occursin("jocc",truncation_scheme) + if typeof(truncated_jocc) == Dict{String,Vector{Int64}} + if length(keys(truncated_jocc)) == 0 + @error "You should specify `truncated_jocc::Dict{String,Vector{Int64}}`, see the document of `main_sm` (main API of ShellModel) for more details." + exit() + end + return jocc_truncation_dict(tz,m_sps,tocc_j,truncated_jocc) + elseif typeof(truncated_jocc) == Vector{Vector{Int64}} + if length(truncated_jocc) == 0 + @error "Inappropriate specification of `truncated_jocc::Vector{Vector{Int64}`! You must specify it like [ [n,l,j,tz,max_occ],... ] or [ [n,l,j,tz,min_occ,max_occ],... ]." + exit() + end + return jocc_truncation(tz,m_sps,tocc_j,truncated_jocc) + else + @error "Invalid type of truncated_jocc !!! $(typeof(truncated_jocc)) is not supported!!" + exit() + end + elseif occursin("pn-pair",truncation_scheme) # it doesn't care pn-pair for now + return true + else + @error "truncation_scheme $truncation_scheme is not defined now!!" + exit() + end + return false +end + +function jocc_truncation_dict(target_tz,m_sps,tocc_j,truncated_jocc_dict::Dict{String,Vector{Int64}}) + regex = r"(\d+)(\D)(\d+)" + for tkey in keys(truncated_jocc_dict) + if length(tkey) < 4 + @error "KeyError: length(tkey=$tkey) < 4, key must include proton/neutron, n, l, j such as p0p1, p1s1, n0d5" + exit() + end + if string(tkey[1]) !="p" && string(tkey[1]) != "n" + @error "KeyError: ($tkey) key must include proton/neutron, n, l, j such as p0p1, p1s1, n0d5, etc." + exit() + end + tz = ifelse(string(tkey[1])=="p",-1,1) + if tz != target_tz; continue;end + + n = l = j = -1 + tmp = match(regex, tkey) + n = parse(Int64,tmp.captures[1]) + j = parse(Int64,tmp.captures[3]) + lstr = tmp.captures[2] + l = findall(x->x==lstr, chara_l)[1] - 1 + if n == -1 || l == -1 || j == -1 + println("something wrong! key $tkey => n $n l $l j $j") + exit() + end + min_occ = 0; max_occ = truncated_jocc_dict[tkey][end] + if length(truncated_jocc_dict[tkey]) == 2 + min_occ = truncated_jocc_dict[tkey][1] + end + occupation_number = 0 + for (idx, occ_num) in enumerate(tocc_j) + tn, tl, tj, ttz, tjz, idx_orb = m_sps[idx] + if tn != n || tl != l || tj != j || ttz != tz + continue + end + if occ_num #bool + occupation_number += 1 + end + end + if occupation_number < min_occ || occupation_number > max_occ + return false + end + end + return true +end + +function jocc_truncation(target_tz,m_sps,tocc_j,truncated_jocc) + for tkey in truncated_jocc + ln = length(tkey) + if ln < 5 || ln > 6 + @error "KeyError: key must be either [n,l,j,tz,occ_max] or [n,l,j,tz,occ_min,occ_max]" + exit() + end + n = l = j = -1; min_occ = max_occ = 0 + + if ln == 5 + n,l,j,tz,max_occ = tkey + elseif ln == 6 + n,l,j,tz,min_occ,max_occ = tkey + end + if tz != target_tz; continue;end + + occupation_number = 0 + for (idx, occ_bool) in enumerate(tocc_j) + tn, tl, tj, ttz, tjz, idx_orb = m_sps[idx] + if tn != n || tl != l || tj != j || ttz != tz + continue + end + if occ_bool + occupation_number += 1 + end + end + if occupation_number < min_occ || occupation_number > max_occ + return false + end + end + return true +end + +""" +Function to check occupations in proton and neutron are only in time-reversal pairs. +""" +function check_pnpair_truncation(msps_p,msps_n,ovec_p,ovec_n,truncation_scheme="") + if !occursin("pn-pair",truncation_scheme); return true; end + tf = true + for (idx_p,occ_p) in enumerate(ovec_p) + n_p,l_p,j_p,tz_p,mz_p = msps_p[idx_p][1:5] + for (idx_n,occ_n) in enumerate(ovec_n) + n_n,l_n,j_n,tz_n,mz_n = msps_n[idx_n][1:5] + if n_p != n_n || l_p != l_n || j_p != j_n || tz_p != -tz_n || mz_p != -mz_n + continue + end + tf *= ifelse(occ_p == occ_n,true,false) + end + end + return tf +end + function possible_mz(nljtz,mstates) n,l,j,tz = nljtz mzs = Int64[]; midxs=Int64[] @@ -417,23 +549,22 @@ function initialize_tvec!(tvec::Array{Bool,1}) end """ - function HbitT1(p_sps::Array{Array{Int64,1}},n_sps::Array{Array{Int64,1}}, - mstates_p::Array{Array{Int64,1},1},mstates_n::Array{Array{Int64,1},1}, + function prep_Hamil_T1(p_sps::Array{Array{Int64,1}},n_sps::Array{Array{Int64,1}}, + msps_p::Array{Array{Int64,1},1},msps_n::Array{Array{Int64,1},1}, labels::Array{Array{Array{Int64,1},1},1},TBMEs::Array{Array{Float64,1}}) -make bit representation of T=1 (proton-proton&neutron-neutron) interactions for each {m_z} +First, this makes bit representations of T=1 (proton-proton&neutron-neutron) interactions for each {m_z}. + """ -function HbitT1(p_sps::Array{Array{Int64,1}}, - n_sps::Array{Array{Int64,1}}, - mstates_p::Array{Array{Int64,1},1}, - mstates_n::Array{Array{Int64,1},1}, - labels::Array{Array{Array{Int64,1},1},1}, - TBMEs::Array{Array{Float64,1}}) - lp = length(mstates_p) - ln = length(mstates_n) +function prep_Hamil_T1(p_sps::Array{Array{Int64,1}},n_sps::Array{Array{Int64,1}}, + msps_p::Array{Array{Int64,1},1},msps_n::Array{Array{Int64,1},1}, + pbits,nbits, + labels::Array{Array{Array{Int64,1},1},1},TBMEs::Array{Array{Float64,1}}) + lp = length(msps_p) + ln = length(msps_n) bV1 = [ bit2b[] for i=1:2 ] V1 = [ Float64[] for i=1:2] - mstates = [mstates_p,mstates_n] + mstates = [msps_p,msps_n] sps = [p_sps,n_sps] loffs = [ 0, length(p_sps)] @@ -441,7 +572,7 @@ function HbitT1(p_sps::Array{Array{Int64,1}}, loff = loffs[vrank] vecs= [ [ [ false for i = 1:lp] for j=1:2], [ [ false for i = 1:ln] for j=1:2]] - blist = bit2b[] + blist=bit2b[] Vs=Float64[] @inbounds for (i,ME) in enumerate(TBMEs[vrank]) a,b,c,d,totJ,dummy = labels[vrank][i] @@ -450,8 +581,8 @@ function HbitT1(p_sps::Array{Array{Int64,1}}, jb,mb_s,mb_idxs = possible_mz(sps[vrank][b-loff],mstates[vrank]) jc,mc_s,mc_idxs = possible_mz(sps[vrank][c-loff],mstates[vrank]) jd,md_s,md_idxs = possible_mz(sps[vrank][d-loff],mstates[vrank]) - @inbounds for (ic,mc) in enumerate(mc_s) - @inbounds for (id,md) in enumerate(md_s) + for (ic,mc) in enumerate(mc_s) + for (id,md) in enumerate(md_s) if c == d && mc >= md; continue;end if abs(mc + md) > J2; continue;end M_ani = mc + md @@ -459,8 +590,8 @@ function HbitT1(p_sps::Array{Array{Int64,1}}, bit_c = bitarr_to_int(vecs[vrank][1]) initialize_tvec!(vecs[vrank][1]); vecs[vrank][1][md_idxs[id]] = true bit_d = bitarr_to_int(vecs[vrank][1]) - @inbounds for (ia,ma) in enumerate(ma_s) - @inbounds for (ib,mb) in enumerate(mb_s) + for (ia,ma) in enumerate(ma_s) + for (ib,mb) in enumerate(mb_s) if a == b && ma>=mb; continue;end if ma + mb != M_ani;continue;end initialize_tvec!(vecs[vrank][2]);vecs[vrank][2][ma_idxs[ia]] = true @@ -475,7 +606,7 @@ function HbitT1(p_sps::Array{Array{Int64,1}}, push!(Vs, ME * sqrt( (1.0+deltaf(a,b)) *(1.0+deltaf(c,d)) ) * CG1 * CG2) continue end - @inbounds for kk = 1:length(blist) + for kk = 1:length(blist) if blist[kk] == tl Vs[kk] += ME * sqrt( (1.0+deltaf(a,b)) *(1.0+deltaf(c,d)) ) * CG1 * CG2 break @@ -489,29 +620,33 @@ function HbitT1(p_sps::Array{Array{Int64,1}}, bV1[vrank] = blist V1[vrank] = Vs end - return bV1,V1 #bVpp,Vpp,bVnn,Vnn + pp_2bjump = prep_2bjumps(msps_p,pbits,bV1[1],V1[1]) + nn_2bjump = prep_2bjumps(msps_n,nbits,bV1[2],V1[2]) + + + return pp_2bjump,nn_2bjump end """ - Hbitpn(p_sps::Array{Array{Int64,1}},n_sps::Array{Array{Int64,1}}, - mstates_p::Array{Array{Int64,1},1},mstates_n::Array{Array{Int64,1},1}, + prep_Hamil_pn(p_sps::Array{Array{Int64,1}},n_sps::Array{Array{Int64,1}}, + msps_p::Array{Array{Int64,1},1},msps_n::Array{Array{Int64,1},1}, labels::Array{Array{Int64,1}},TBMEs::Array{Float64,1},zeroME=false) make bit representation of T=0 (proton-neutron) interactions for each {m_z} """ -function Hbitpn(p_sps::Array{Array{Int64,1}}, +function prep_Hamil_pn(p_sps::Array{Array{Int64,1}}, n_sps::Array{Array{Int64,1}}, - mstates_p::Array{Array{Int64,1},1}, - mstates_n::Array{Array{Int64,1},1}, + msps_p::Array{Array{Int64,1},1}, + msps_n::Array{Array{Int64,1},1}, labels::Array{Array{Int64,1}}, TBMEs::Array{Float64,1}, zeroME=false) - lp = length(mstates_p); ln = length(mstates_n) + lp = length(msps_p); ln = length(msps_n) loff = length(p_sps) Mzs = Int64[] for j = 1:lp for i = 1:lp - push!(Mzs,mstates_p[i][5]-mstates_p[j][5]) + push!(Mzs,msps_p[i][5]-msps_p[j][5]) end end unique!(Mzs);sort!(Mzs,rev=true) @@ -528,10 +663,10 @@ function Hbitpn(p_sps::Array{Array{Int64,1}}, @inbounds for (i,ME) in enumerate(TBMEs) a,b,c,d,totJ,dummy = labels[i] J2 = 2*totJ - ja,ma_s,ma_idxs = possible_mz(p_sps[a],mstates_p) - jc,mc_s,mc_idxs = possible_mz(p_sps[c],mstates_p) - jb,mb_s,mb_idxs = possible_mz(n_sps[b-loff],mstates_n) - jd,md_s,md_idxs = possible_mz(n_sps[d-loff],mstates_n) + ja,ma_s,ma_idxs = possible_mz(p_sps[a],msps_p) + jc,mc_s,mc_idxs = possible_mz(p_sps[c],msps_p) + jb,mb_s,mb_idxs = possible_mz(n_sps[b-loff],msps_n) + jd,md_s,md_idxs = possible_mz(n_sps[d-loff],msps_n) ja = ja//2; jb=jb//2;jc = jc//2; jd=jd//2 for (ic,mc) in enumerate(mc_s) initialize_tvec!(vec_ani_p); vec_ani_p[mc_idxs[ic]] = true @@ -559,7 +694,7 @@ function Hbitpn(p_sps::Array{Array{Int64,1}}, push!(tV,fac) continue end - @inbounds for kk = 1:length(bV) + for kk = 1:length(bV) if bV[kk] == tl tV[kk] += fac break @@ -596,8 +731,8 @@ function deltaf(i::Int64,j::Int64) end """ - occ(p_sps::Array{Array{Int64,1}},mstates_p::Array{Array{Int64,1}},mzp::Array{Int64,1},num_vp::Int64, - n_sps::Array{Array{Int64,1}},mstates_n::Array{Array{Int64,1}},mzn::Array{Int64,1},num_vn::Int64,Mtot::Int64) + occ(p_sps::Array{Array{Int64,1}},msps_p::Array{Array{Int64,1}},mzp::Array{Int64,1},num_vp::Int64, + n_sps::Array{Array{Int64,1}},msps_n::Array{Array{Int64,1}},mzn::Array{Int64,1},num_vn::Int64,Mtot::Int64;pnpair_truncated=false) prepare bit representations of proton/neutron Slater determinants => pbits/nbits @@ -614,33 +749,42 @@ tdims: array of cumulative number of M-scheme dimensions for "blocks" tdims =[ # of possible configurations of (-3,3), # of possible configurations of (-1,1),...] """ -function occ(p_sps::Array{Array{Int64,1}}, - mstates_p::Array{Array{Int64,1}}, - mzp::Array{Int64,1},num_vp::Int64, - n_sps::Array{Array{Int64,1}}, - mstates_n::Array{Array{Int64,1}}, - mzn::Array{Int64,1},num_vn::Int64, - Mtot::Int64) +function occ(p_sps::Vector{Vector{Int64}}, msps_p::Vector{Vector{Int64}}, mzp::Array{Int64,1}, num_vp::Int64, + n_sps::Vector{Vector{Int64}}, msps_n::Vector{Vector{Int64}}, mzn::Array{Int64,1}, num_vn::Int64, Mtot::Int64; + truncation_scheme="",truncated_jocc=Dict{String,Vector{Int64}}()) lp = length(mzp); ln = length(mzn) - pDim = binomial(lp,num_vp) - occs_p =[ [false for j=1:lp] for i = 1:pDim] - all_perm!(lp,num_vp,occs_p) + all_pDim = binomial(lp,num_vp) + all_occs_p =[ [false for j=1:lp] for i = 1:all_pDim] + all_perm!(lp,num_vp,all_occs_p) - nDim = binomial(ln,num_vn) - occs_n =[ [false for j=1:ln] for i = 1:nDim] - all_perm!(ln,num_vn,occs_n) + all_nDim = binomial(ln,num_vn) + all_occs_n =[ [false for j=1:ln] for i = 1:all_nDim] + all_perm!(ln,num_vn,all_occs_n) + + occs_p = Vector{Bool}[ ] + occs_n = Vector{Bool}[ ] mdim = 0;tdims=Int64[];push!(tdims,0) Mret = Int64[0]; Mps = Int64[]; Mns = Int64[] - for i=1:pDim - Mcount!(lp,mzp,occs_p[i],Mret); push!(Mps, Mret[1]) - end - for i=1:nDim - Mcount!(ln,mzn,occs_n[i],Mret); push!(Mns, Mret[1]) - end + for i=1:all_pDim + tocc = all_occs_p[i] + Mcount!(lp,mzp,tocc,Mret) + if !check_jocc_truncation(-1,msps_p,tocc,truncated_jocc,truncation_scheme); continue; end + push!(occs_p,copy(tocc)) + push!(Mps, Mret[1]) + end + for i=1:all_nDim + tocc = all_occs_n[i] + Mcount!(ln,mzn,tocc,Mret) + if !check_jocc_truncation(1,msps_n,tocc,truncated_jocc,truncation_scheme); continue;end + push!(occs_n,copy(tocc)) + push!(Mns, Mret[1]) + end + pDim = length(occs_p); nDim = length(occs_n) + Mps = unique(Mps); Mns = unique(Mns) sort!(Mps,rev=false); sort!(Mns,rev=true) - possidxs = [] + possidxs = Vector{Int64}[] for i = 1:length(Mps) for j = 1:length(Mns) if Mps[i] + Mns[j] == Mtot @@ -660,33 +804,28 @@ function occ(p_sps::Array{Array{Int64,1}}, for ith = 1:length(possidxs) ni,nj = possidxs[ith] Mp = Mps[ni]; Mn = Mns[nj] - if Mp + Mn != Mtot;println("warn");end + if Mp + Mn != Mtot;@error "something wrong in occ func" ;end for i = 1:pDim Mcount!(lp,mzp,occs_p[i],Mret) if Mp != Mret[1]; continue;end push!(pbits[ith], bitarr_to_int(occs_p[i])) - count_jocc!(p_sps,mstates_p,occs_p[i],tocc_p_j) + count_jocc!(p_sps,msps_p,occs_p[i],tocc_p_j) push!(occ_p_j[ith],copy(tocc_p_j)) for j=1:nDim Mcount!(ln,mzn,occs_n[j],Mret) - if Mret[1] + Mp == Mtot - mdim += 1 - end + if Mp + Mret[1] != Mtot; continue; end + mdim += 1 end end - push!(tdims,mdim) - end - for ith = 1:length(possidxs) - ni,nj = possidxs[ith] - Mp = Mps[ni]; Mn = Mns[nj] for j=1:nDim Mcount!(ln,mzn,occs_n[j],Mret) - if Mret[1] == Mn - push!(nbits[ith], bitarr_to_int(occs_n[j])) - count_jocc!(n_sps,mstates_n,occs_n[j],tocc_n_j) - push!(occ_n_j[ith],copy(tocc_n_j)) - end + if Mn != Mret[1]; continue; end + nbit = bitarr_to_int(occs_n[j]) + push!(nbits[ith], nbit) + count_jocc!(n_sps,msps_n,occs_n[j],tocc_n_j) + push!(occ_n_j[ith],copy(tocc_n_j)) end + push!(tdims,mdim) end return pbits,nbits,occ_p_j,occ_n_j,Mps,Mns,tdims end @@ -710,8 +849,7 @@ function TF_connectable_1(Phi::Int64,a::Int64,c::Int64,TF::Array{Bool,1}) return nothing end -function calc_phase!(Phi::Int64,bVs::bit2b, - ln::Int64,ret::Array{Int64,1}) +function calc_phase!(Phi::Int64,bVs::bit2b,ln::Int64,ret::Array{Int64,1}) ret[1] = 0; ret[2] = -1 # ret=[phase,nPhi] ## anihilation c ret[1] += count_ones(Phi& (~(bVs.c-1))) @@ -770,7 +908,7 @@ function ThickRestart(vks,uks,Tmat,lm,ls) tmp = beta .* vecs[lm-1,k] Tmat[ls+1,k] = tmp; Tmat[k,ls+1] = tmp uk .= 0.0 - @inbounds for j=1:lm-1 + for j=1:lm-1 axpy!(vecs[j,k],vks[j],uk) end end @@ -778,7 +916,7 @@ function ThickRestart(vks,uks,Tmat,lm,ls) vks[k] .= uk .* (1.0 /sqrt(dot(uk,uk))) end vks[ls+1] .= vks[lm] - @inbounds for k = ls+2:lm + for k = ls+2:lm vks[k] .= 0.0 end return nothing @@ -880,19 +1018,31 @@ function ReORTH(it,vtarget,vks) return nothing end +function Check_Orthogonality(it::Int,vks,en) + print_vec("it = $it",en[1]) + svks = @views vks[1:it+1] + for i = 1:it+1 + for j = i:it+1 + tdot = dot(svks[i],svks[j]) + if (abs(tdot) > 1.e-10 && i != j) || (i==j && abs(1-tdot) > 1.e-10) + println("dot(",@sprintf("%3i",i),",",@sprintf("%3i",j),") = ",@sprintf("%15.4e",tdot)) + end + end + end + return nothing +end -function myQR!(Q,R::FA2, - d1::Int64,d2::Int64) where{FA2<:Array{Float64,2}} +function myQR!(Q,R::FA2,d1::Int64,d2::Int64) where{FA2<:Array{Float64,2}} R .= 0.0 @inbounds for j = 1:d2 - @inbounds for i = 1:d1 + for i = 1:d1 R[j,j] += Q[i,j] .* Q[i,j] end R[j,j] = sqrt(R[j,j]) - @inbounds for i = 1:d1 + for i = 1:d1 Q[i,j] /= R[j,j] end - @inbounds for k = j+1:d2 + for k = j+1:d2 for i = 1:d1 R[j,k] += Q[i,j] .* Q[i,k] end @@ -904,15 +1054,14 @@ function myQR!(Q,R::FA2, return nothing end -function bl_QR!(Q,R::FA2, - d1::Int64,d2::Int64) where{FA2<:Array{Float64,2}} +function bl_QR!(Q,R::FA2,d1::Int64,d2::Int64) where{FA2<:Array{Float64,2}} R .= 0.0 @inbounds for j = 1:d2 q = @views Q[:,j] t = sqrt(dot(q,q)) R[j,j] = t q .*= 1.0/t - @inbounds for k = j+1:d2 + for k = j+1:d2 for i = 1:d1 R[j,k] += q[i] .* Q[i,k] end @@ -924,8 +1073,7 @@ function bl_QR!(Q,R::FA2, return nothing end -function bisearch!(v::Array{Int64,1}, target::Int64, - ret::Array{Int64,1}) +function bisearch!(v::Array{Int64,1}, target::Int64,ret::Array{Int64,1}) hi = length(v); lo = 1 ret[2] = 1; ret[3]=length(v) @inbounds while ret[2] <= ret[3] @@ -942,8 +1090,7 @@ function bisearch!(v::Array{Int64,1}, target::Int64, return nothing end -function bisearch_ord!(v::Array{Int64,1}, target::Int64, - ret::Array{Int64,1}) +function bisearch_ord!(v::Array{Int64,1}, target::Int64, ret::Array{Int64,1}) ret[3] = length(v); ret[2] = 1 @inbounds while ret[2] <= ret[3] ret[1] = div(ret[2]+ret[3],2) @@ -964,7 +1111,7 @@ function func_j(j1::I,j2::I,m1::I,m2::I) where{I<:Int64} end function J_from_JJ1(JJ,tol=1.e-6) - for J = 0:100 ## ad hoc J<=50 + for J = 0:100 hJ = 0.5*J if abs(hJ*(hJ+1.0)-JJ) phase,fpbit - bisearch!(pbits[pblock_i],ret[2],ridx)#ridx=Npf - if Npi <= ridx[1] - coef = Vpp[nth]*ret[1]*ifelse(Npi==ridx[1],0.5,1.0) - push!(ppinfo[pblock_i][Npi], T1info(ridx[1],coef)) + calc_phase!(Phi,bVT1[nth],lmsps,ret)#ret=>phase,final p/n bit + bisearch!(bits[block_i],ret[2],ridx)#ridx=Npf + if i_idx_conf <= ridx[1] + coef = VT1[nth]*ret[1]*ifelse(i_idx_conf==ridx[1],0.5,1.0) + push!(twobody_jump[block_i][i_idx_conf], T1info(ridx[1],coef)) end end end end - return ppinfo + return twobody_jump end -function prep_nn(mstates_n::Array{Array{Int64,1},1}, - nbits::Array{Array{Int64,1}}, - bVnn::Array{bit2b,1}, - Vnn::Array{Float64,1}) where {IA<:Array{Int64,1}} - lMn=length(nbits) - lmstates_n = length(mstates_n) - nninfo = [ [ T1info[ ] for j=1:length(nbits[i]) ] for i = 1:lMn] - @inbounds @threads for nblock_i = 1:lMn - TF=[true]; ret=[0,-1];ridx=[-1,-1,-1] - @inbounds for (Nni,Phi) in enumerate(nbits[nblock_i]) - @inbounds for nth = 1:length(Vnn) - if Vnn[nth] == 0.0; continue;end - TF_connectable(Phi,bVnn[nth],TF) - if TF[1]==false; continue;end - calc_phase!(Phi,bVnn[nth],lmstates_n,ret) - bisearch!(nbits[nblock_i],ret[2],ridx) - if Nni <= ridx[1] - coef = Vnn[nth]*ret[1]*ifelse(Nni==ridx[1],0.5,1.0) - push!(nninfo[nblock_i][Nni],T1info(ridx[1],coef)) - end - end - end - end - return nninfo -end -function prep_pn(lblock::Int64,tdims::IA, - l_pbit::Int64,l_nbit::Int64, - pbits::Array{Array{Int64,1}}, - nbits::Array{Array{Int64,1}}, - Mps::IA,delMs::IA, - bVpn::Array{Array{Array{Int64,1},1},1}, - Vpn::Array{Array{Float64,1},1}) where {IA<:Array{Int64,1}} +function prep_pn(lblock::Int64,pbits::Array{Array{Int64,1}},nbits::Array{Array{Int64,1}}, + Mps::IA,delMs::IA,bVpn::Array{Array{Array{Int64,1},1},1},Vpn::Array{Array{Float64,1},1}) where {IA<:Array{Int64,1}} #to = TimerOutput() maxDeltaM = maximum(delMs) bfs = [ Int64[ ] for i = 1:lblock] @@ -1055,32 +1168,22 @@ function prep_pn(lblock::Int64,tdims::IA, deltaM = Mps[bf] - Mps[bi] if (deltaM in delMs) == false;continue;end bisearch!(delMs,deltaM,ret) # Vidx=ret[1] - hits[bi] += calc_1b_jumps!(bi,bf,j,lblock,tdims, - l_pbit,l_nbit,pbits,nbits, - bVpn[ret[1]],Vpn[ret[1]], - p_NiNfs,n_NiNfs) + hits[bi] += calc_1b_jumps!(bi,bf,j,pbits,nbits,bVpn[ret[1]],Vpn[ret[1]],p_NiNfs,n_NiNfs) end end return bis,bfs,p_NiNfs,n_NiNfs, hits end -function calc_1b_jumps!(bi::Int64,bf::Int64,j::Int64, - lblock::Int64,tdims::IA, - l_pbit::Int64,l_nbit::Int64, - pbits::AAI,nbits::AAI, - bVpn::AAI,Vpn::Array{Float64,1}, - p_NiNfs::Aifph, - n_NiNfs::Aifph) where {IA<:Array{Int64,1}, - AAI<:Array{Array{Int64,1},1}, - Aifph<:Array{Array{Array{Array{ifph,1},1},1},1}} +function calc_1b_jumps!(bi::Int64,bf::Int64,j::Int64,pbits::AAI,nbits::AAI,bVpn::AAI,Vpn::Array{Float64,1}, + p_NiNfs::Aifph,n_NiNfs::Aifph) where {AAI<:Array{Array{Int64,1},1},Aifph<:Array{Array{Array{Array{ifph,1},1},1},1}} TF=[true]; ret=[1,-1] # [phase,possible] ridx=[-1,-1,-1] - plist = [ ifph[ ] for i =1:length(Vpn) ] - nlist = [ ifph[ ] for i =1:length(Vpn) ] + plist = [ ifph[ ] for i =1:length(Vpn) ] + nlist = [ ifph[ ] for i =1:length(Vpn) ] hits = [0,0] @inbounds for nth = 1:length(Vpn) a,b,c,d = bVpn[nth]; if Vpn[nth] == 0.0; continue;end - @inbounds for (Npi,pPhi) in enumerate(pbits[bi])# Npi:idx pPhi:bit pSD + for (Npi,pPhi) in enumerate(pbits[bi])# Npi:idx pPhi:bit pSD TF_connectable_1(pPhi,a,c,TF) if TF[1]==false; continue;end calc_phase_1!(pPhi,a,c,ret)# ret<=[phase,bit] @@ -1089,7 +1192,7 @@ function calc_1b_jumps!(bi::Int64,bf::Int64,j::Int64, push!(plist[nth],ifph(Npi,ridx[1],ret[1]==-1)) hits[1] += 1 end - @inbounds for (Nni,nPhi) in enumerate(nbits[bi]) # Nni:idx + for (Nni,nPhi) in enumerate(nbits[bi]) # Nni:idx TF_connectable_1(nPhi,b,d,TF);if TF[1]==false; continue;end calc_phase_1!(nPhi,b,d,ret) bisearch!(nbits[bf],ret[2],ridx) # ridx=[Nnf] @@ -1103,8 +1206,7 @@ function calc_1b_jumps!(bi::Int64,bf::Int64,j::Int64, return hits end -function add_bl_T!(q::Int64,k::Int64, - Tmat::FA2,R::FA2) where{FA2<:Array{Float64,2}} +function add_bl_T!(q::Int64,k::Int64,Tmat::FA2,R::FA2) where{FA2<:Array{Float64,2}} Tmat[q*k+1:q*k+q,q*k-q+1:q*k] .= R Tmat[q*k-q+1:q*k,q*k+1:q*k+q] .= R' return nothing @@ -1165,19 +1267,6 @@ function make_distribute(num_task) imin += n end task_idxs =[(tmp...)...] - # println("idxs $idxs") - # println("tmp $tmp") - # println("task_idxs $task_idxs") - # println("uniq ", unique(task_idxs), " lblock: $lblock") - # am = zeros(Float64,n) - # for i = 1:n - # for j = 1:length(tmp[i]) - # if tmp[i][j] != 0 - # am[i] += tasks[tmp[i][j]] - # end - # end - # end - # println("task amount ", log10.(am)) return task_idxs end @@ -1241,14 +1330,10 @@ function mdim_print(target_nuc,Z,N,cp,cn,vp,vn,mdim,tJ=-1) end -function JT1(bi,oPP,oNN, - p_sps,n_sps, - mstates_p,mstates_n, - pbits,nbits, - tdims) +function JT1(bi,oPP,oNN, p_sps,n_sps, msps_p,msps_n, pbits,nbits, tdims) pMat = zeros(Float64,length(pbits[bi]),length(pbits[bi])) nMat = zeros(Float64,length(nbits[bi]),length(nbits[bi])) - lp = length(mstates_p);ln = length(mstates_n) + lp = length(msps_p);ln = length(msps_n) TF=[true];ridx=[-1,-1,-1] ret_a = [-1,-1];ret_b = [-1,-1] ret_c = [-1,-1];ret_d = [-1,-1] @@ -1260,9 +1345,9 @@ function JT1(bi,oPP,oNN, j2 = p_sps[i2][3] for m2 = -j2:2:j2-2 vec_ani .= false; vec_cre .= false - @inbounds for k = 1:lp-1 - if @views mstates_p[k][1:4] != p_sps[i2];continue;end - if mstates_p[k][5] == m2 + for k = 1:lp-1 + if @views msps_p[k][1:4] != p_sps[i2];continue;end + if msps_p[k][5] == m2 vec_ani[k] = true; vec_cre[k+1] = true break end @@ -1276,9 +1361,9 @@ function JT1(bi,oPP,oNN, j1 = p_sps[i1][3] @inbounds for m1 = -j1+2:2:j1 vec_ani .= false; vec_cre .= false - @inbounds for k = 2:lp - if @views mstates_p[k][1:4] != p_sps[i1];continue;end - if mstates_p[k][5] == m1 + for k = 2:lp + if @views msps_p[k][1:4] != p_sps[i1];continue;end + if msps_p[k][5] == m1 vec_ani[k] = true; vec_cre[k-1] = true break end @@ -1306,9 +1391,9 @@ function JT1(bi,oPP,oNN, j2 = n_sps[i2][3] for m2 = -j2:2:j2-2 vec_ani_2 .= false ; vec_cre_2 .= false - @inbounds for k = 1:ln-1 - if @views mstates_n[k][1:4] != n_sps[i2];continue;end - if mstates_n[k][5] == m2 + for k = 1:ln-1 + if @views msps_n[k][1:4] != n_sps[i2];continue;end + if msps_n[k][5] == m2 vec_ani_2[k] = true; vec_cre_2[k+1] = true;break end end @@ -1317,13 +1402,13 @@ function JT1(bi,oPP,oNN, TF_connectable_1(Phi,ret_c[1],ret_d[1],TF) if TF[1]==false;continue;end APhi = ret_c[1] | ((~ret_d[1]) & Phi) - @inbounds for i1 = 1:length(n_sps) + for i1 = 1:length(n_sps) j1 = n_sps[i1][3] - @inbounds for m1 = -j1+2:2:j1 + for m1 = -j1+2:2:j1 vec_ani .= false; vec_cre .= false - @inbounds for k = 2:ln - if @views mstates_n[k][1:4] != n_sps[i1];continue;end - if mstates_n[k][5] == m1 + for k = 2:ln + if @views msps_n[k][1:4] != n_sps[i1];continue;end + if msps_n[k][5] == m1 vec_ani[k] = true; vec_cre[k-1]=true;break end end @@ -1361,19 +1446,18 @@ function JT1(bi,oPP,oNN, end function prep_J(tdims,p_sps,n_sps, - mstates_p::Array{Array{Int64,1},1}, - mstates_n::Array{Array{Int64,1},1}, + msps_p::Array{Array{Int64,1},1}, + msps_n::Array{Array{Int64,1},1}, pbits::Array{Array{Int64,1},1}, nbits::Array{Array{Int64,1},1}) #to = TimerOutput() - lp=length(mstates_p); ln=length(mstates_n) + lp=length(msps_p); ln=length(msps_n) lblock = length(nbits) oPP = [ MiMf[] for i =1:lblock] oNN = [ MiMf[] for i =1:lblock] #@timeit to "nn//pp" begin @inbounds @threads for bi=1:lblock - JT1(bi,oPP,oNN,p_sps,n_sps, - mstates_p,mstates_n,pbits,nbits,tdims) + JT1(bi,oPP,oNN,p_sps,n_sps,msps_p,msps_n,pbits,nbits,tdims) end oPNu = [ Jpninfo[] for i =1:lblock] oPNd = [ Jpninfo[] for i =1:lblock] @@ -1391,8 +1475,8 @@ function prep_J(tdims,p_sps,n_sps, jn = n_sps[nidx][3] mn_range = [-jn+2:2:jn,-jn:2:jn-2] for ud = 1:2 # up:1 down:2 - @inbounds for mp in mp_range[ud] - @inbounds for mn in mn_range[ud] + for mp in mp_range[ud] + for mn in mn_range[ud] fac = 1.0 if ud == 1 fac = func_j(jn,jp,mn,mp) @@ -1404,42 +1488,42 @@ function prep_J(tdims,p_sps,n_sps, vec_n_ani .= false; vec_n_cre .= false if ud == 2 ### for pn down - @inbounds for k = 2:lp - if mstates_p[k][1] != p_sps[pidx][1];continue;end - if mstates_p[k][2] != p_sps[pidx][2];continue;end - if mstates_p[k][3] != p_sps[pidx][3];continue;end - if mstates_p[k][4] != p_sps[pidx][4];continue;end - if mstates_p[k][5] == mp + for k = 2:lp + if msps_p[k][1] != p_sps[pidx][1];continue;end + if msps_p[k][2] != p_sps[pidx][2];continue;end + if msps_p[k][3] != p_sps[pidx][3];continue;end + if msps_p[k][4] != p_sps[pidx][4];continue;end + if msps_p[k][5] == mp vec_p_ani[k] = true; vec_p_cre[k-1] = true break end end - @inbounds for k = 1:ln-1 - if mstates_n[k][1] != n_sps[nidx][1];continue;end - if mstates_n[k][2] != n_sps[nidx][2];continue;end - if mstates_n[k][3] != n_sps[nidx][3];continue;end - if mstates_n[k][4] != n_sps[nidx][4];continue;end - if mstates_n[k][5] == mn + for k = 1:ln-1 + if msps_n[k][1] != n_sps[nidx][1];continue;end + if msps_n[k][2] != n_sps[nidx][2];continue;end + if msps_n[k][3] != n_sps[nidx][3];continue;end + if msps_n[k][4] != n_sps[nidx][4];continue;end + if msps_n[k][5] == mn vec_n_ani[k] = true; vec_n_cre[k+1] = true break end end else ### for p up n down - @inbounds for k = 1:lp-1 - if mstates_p[k][1] != p_sps[pidx][1];continue;end - if mstates_p[k][2] != p_sps[pidx][2];continue;end - if mstates_p[k][3] != p_sps[pidx][3];continue;end - if mstates_p[k][4] != p_sps[pidx][4];continue;end - if mstates_p[k][5] == mp + for k = 1:lp-1 + if msps_p[k][1] != p_sps[pidx][1];continue;end + if msps_p[k][2] != p_sps[pidx][2];continue;end + if msps_p[k][3] != p_sps[pidx][3];continue;end + if msps_p[k][4] != p_sps[pidx][4];continue;end + if msps_p[k][5] == mp vec_p_ani[k] = true;vec_p_cre[k+1] = true;break end end - @inbounds for k = 2:ln - if mstates_n[k][1] != n_sps[nidx][1];continue;end - if mstates_n[k][2] != n_sps[nidx][2];continue;end - if mstates_n[k][3] != n_sps[nidx][3];continue;end - if mstates_n[k][4] != n_sps[nidx][4];continue;end - if mstates_n[k][5] == mn + for k = 2:ln + if msps_n[k][1] != n_sps[nidx][1];continue;end + if msps_n[k][2] != n_sps[nidx][2];continue;end + if msps_n[k][3] != n_sps[nidx][3];continue;end + if msps_n[k][4] != n_sps[nidx][4];continue;end + if msps_n[k][5] == mn vec_n_ani[k] = true;vec_n_cre[k-1] = true;break end end @@ -1449,7 +1533,7 @@ function prep_J(tdims,p_sps,n_sps, bitarr_to_int!(vec_n_ani,ret_d) bitarr_to_int!(vec_n_cre,ret_b) - @inbounds @threads for bi in birange[ud] + @threads for bi in birange[ud] TF=[true]; ret_p=[0,0];ret_n=[0,0] ridx_p=[-1,-1,-1];ridx_n=[-1,-1,-1] bf = bi + Int64(2*(1.5-ud)) @@ -1485,13 +1569,10 @@ function prep_J(tdims,p_sps,n_sps, end end #end - #show(to, allocations = true,compact = false) - #println("") return oPP,oNN,oPNu,oPNd end -function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs, - oPP,oNN,oPNu,oPNd,beta_J=1.0) +function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd,beta_J=1.0) #to = TimerOutput() lblock=length(pbits) #@timeit to "pp/nn " begin @@ -1503,21 +1584,21 @@ function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs, opPP = oPP[bi] opNN = oNN[bi] offset = idim-lNn - @inbounds for tmp in opPP + for tmp in opPP Npi =tmp.Mi; Npf=tmp.Mf; fac=tmp.fac .* beta_J tMi = offset + Npi*lNn tMf = offset + Npf*lNn - @inbounds for nidx = 1:lNn + for nidx = 1:lNn Mi = tMi+nidx; Mf = tMf+nidx Jv[Mf] += fac .* Rvec[Mi] Jv[Mi] += fac .* Rvec[Mf] end end - @inbounds for tmp in opNN #nn + for tmp in opNN #nn Nni =tmp.Mi; Nnf=tmp.Mf; fac=tmp.fac .* beta_J tMi = offset + Nni tMf = offset + Nnf - @inbounds for pidx = 1:lNp + for pidx = 1:lNp Mi = tMi+pidx*lNn; Mf = tMf+pidx*lNn Jv[Mf] += fac .* Rvec[Mi] Jv[Mi] += fac .* Rvec[Mf] @@ -1533,15 +1614,15 @@ function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs, l_Nn_f = length(nbits[bf]) off_i = tdims[bi] - l_Nn_i off_f = tdims[bf] - l_Nn_f - @inbounds for top in operator + for top in operator pj = top.pjump nj = top.njump fac =top.fac .* beta_J - @inbounds for tmp_p in pj + for tmp_p in pj phase_p=tmp_p.phase tMi = off_i + tmp_p.i * l_Nn_i tMf = off_f + tmp_p.f * l_Nn_f - @inbounds for tmp_n in nj + for tmp_n in nj phase_n=tmp_n.phase Mi = tMi + tmp_n.i Mf = tMf + tmp_n.f @@ -1557,15 +1638,15 @@ function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs, l_Nn_f = length(nbits[bf]) off_i = tdims[bi] - l_Nn_i off_f = tdims[bf] - l_Nn_f - @inbounds for top in operator + for top in operator pj = top.pjump nj = top.njump fac = top.fac .* beta_J - @inbounds for tmp_p in pj + for tmp_p in pj phase_p=tmp_p.phase tMi = off_i + tmp_p.i * l_Nn_i tMf = off_f + tmp_p.f * l_Nn_f - @inbounds for tmp_n in nj + for tmp_n in nj Nni = tmp_n.i; Nnf = tmp_n.f; phase_n=tmp_n.phase Mi = tMi + tmp_n.i Mf = tMf + tmp_n.f @@ -1574,10 +1655,176 @@ function operate_J!(Rvec,Jv,pbits,nbits,tdims,Jidxs, end end end - #end - #show(to, allocations = true,compact = false) - #println("") return nothing end +mutable struct occ_object + pbit::Vector{Bool} + nbit::Vector{Bool} + p_nljs::Vector{Vector{Int64}} + n_nljs::Vector{Vector{Int64}} + width::Int64 +end + +function make_occ_obj(msps_p,msps_n) + pbit = [false for i=1:length(msps_p)] + nbit = [false for i=1:length(msps_n)] + p_nljs=Vector{Int64}[] + n_nljs=Vector{Int64}[] + width = 0 + for (pn,mstates) in enumerate([msps_p,msps_n]) + prev = jmax = 0 + nljs = Vector{Int64}[ ] + for tmp in mstates + n,l,j = tmp[1:3] + if prev != tmp[end] + prev = tmp[end] + push!(nljs,[n,l,j]) + end + jmax = max(jmax,j) + end + width = max(jmax + 1 + 2,width) + if pn == 1 + p_nljs = nljs + else + n_nljs = nljs + end + end + return occ_object(pbit,nbit,p_nljs,n_nljs,width) +end + +function get_bitarry_from_int(bit_int::Int64,numbit::Int64) + return reverse(digits(bit_int, base=2, pad=numbit)) +end + +function update_occ_obj!(occ_obj,pbit_int,nbit_int) + pbit_arr = reverse(digits(pbit_int, base=2, pad=length(occ_obj.pbit))) + nbit_arr = reverse(digits(nbit_int, base=2, pad=length(occ_obj.nbit))) + occ_obj.pbit .= pbit_arr + occ_obj.nbit .= nbit_arr + return nothing +end + +function get_occstring(occ_obj,msps_p,msps_n) + pbit_arr = occ_obj.pbit + nbit_arr = occ_obj.nbit + width = occ_obj.width + for pn = 1:2 + pntext = "" + jtxt = "-" + bitarr = ifelse(pn==1,pbit_arr,nbit_arr) + mstates= ifelse(pn==1,msps_p,msps_n) + for (bitidx,bit) in enumerate(bitarr) + n,l,j,tz,mz,oidx = mstates[bitidx] + mark = ifelse(bit == 1,"x","o") + jtxt *= mark + if mz == j + tmp = jtxt * "-" + while length(tmp) < width + tmp = "-"*tmp*"-" + end + tmp *= " "*ifelse(pn==1,"π","ν")*string(n)*chara_l[l]*string(j)*"/2" + pntext *= tmp * ifelse(bitidx!=length(pbit_arr),"\n","") + jtxt = "-" + end + end + println(pntext) + end + return nothing +end + +""" +visualize all configurations in a given model-space +""" +function visualize_configurations(msps_p,msps_n,pbits,nbits,mdim;mdim_max=100) + if mdim > mdim_max + println("You are trying to execute `visualize_configurations`` for Dim.= $(mdim)!") + println("Are you sure?(y/n, default:n)") + s = readline( ) + if s != "y" + println("skiped!") + return nothing + end + end + println("") + nth = 0 + nblock = length(pbits) + occ_obj = make_occ_obj(msps_p,msps_n) + for block = 1:nblock + t_pbits = pbits[block] + t_nbits = nbits[block] + for pbit in t_pbits + for nbit in t_nbits + nth += 1 + nth_txt = nth + if mdim > mdim_max + println("config: ",nth_txt) + else + println("config: ",@sprintf("%4i",nth)) + end + update_occ_obj!(occ_obj,pbit,nbit) + get_occstring(occ_obj,msps_p,msps_n) + end + end + end + return nothing +end + +function entropy(Rvecs,pbits,nbits,tdims,to) + pdims = [0];for bi=1:length(pbits);push!(pdims,pdims[end]+length(pbits[bi]));end + ndims = [0];for bi=1:length(nbits);push!(ndims,ndims[end]+length(nbits[bi]));end + pdim = pdims[end]; ndim = ndims[end] + if ndim >= 1.e+6 + @warn "`entropy` is function is now very naive and slow. mdim >= 1.e+6 is not recommended and it will not be done..." + end + rho_p = zeros(Float64,pdim,pdim) + for (n,Rvec) in enumerate(Rvecs) + rho_p .= 0.0 + for bi = 1:length(pbits) + idim = tdims[bi] + nbit = nbits[bi] + ln = length(nbit) + pofst = pdims[bi] + for (pid_i,pbit_i) in enumerate(pbits[bi]) + tMi = idim + (pid_i-1)*ln + ri = pofst + pid_i + for (pid_j,pbit_j) in enumerate(pbits[bi]) + if pid_j ".msnt"),"w") + println(io,"!snt:$(fn)\n!") + write_msnt_sps_spe(io,p_sps,n_sps,m_p_sps,msps_n,SPEs,similar_to_prevwork) + write_msnt_tbmes(io,Mtot,p_sps,n_sps,m_p_sps,msps_n,SPEs,olabels,oTBMEs,similar_to_prevwork) + close(io) + return nothing +end + +struct ket_abJ + a::Int64 + b::Int64 + J::Int64 +end + +function write_msnt_tbmes(io,Mtot,p_sps,n_sps,m_p_sps,msps_n,SPEs,olabels,oTBMEs,similar_to_prevwork) + lp = length(p_sps) + lpm = length(m_p_sps) + m_sps = vcat(m_p_sps,msps_n) + allSPEs = vcat(SPEs[1],SPEs[2]) + dict_msps2sps = Dict{Int64,Int64}() + for (idx,tmp) in enumerate(m_p_sps) + dict_msps2sps[idx] = tmp[end] + end + for (idx,tmp) in enumerate(msps_n) + dict_msps2sps[idx+lpm] = tmp[end] + lp + end + + dictTBMEs = Dict{Vector{Int64},Float64}() + for (i,tkey) in enumerate(olabels) + a,b,c,d,J,oidx = tkey + dictTBMEs[[a,b,c,d,J]] = oTBMEs[i] + dictTBMEs[[c,d,a,b,J]] = oTBMEs[i] + end + + kets = [ ket_abJ[ ] for pnrank=1:3] + for pnrank = 1:3 + ctxt = "!Vpp:" + if pnrank==2; ctxt = "!Vpn:";end + if pnrank==3; ctxt = "!Vnn:";end + println(io,ctxt) + msps_a = ifelse(pnrank<=2,m_p_sps,msps_n) + msps_b = ifelse(pnrank>=2,msps_n,m_p_sps) + ofst_a = ifelse(pnrank<=2,0,lpm) + ofst_b = ifelse(pnrank>=2,lpm,0) + for (ia,a) in enumerate(msps_a) + na,la,ja,tza,mza,idx_a = a + ia += ofst_a + for (ib,b) in enumerate(msps_b) + ib += ofst_b + if ia >= ib; continue;end + nb,lb,jb,tzb,mzb,idx_b = b + Tz = tza + tzb + for J = abs(div(ja-jb,2)):div(ja+jb,2) + if pnrank % 2 == 1 && J % 2 == 1; continue; end + push!(kets[pnrank],ket_abJ(ia,ib,J)) + end + end + end + dim = length(kets[pnrank]) + mat = zeros(Float64,dim,dim) + idxs = [ Int64[ ] for J =0:10] + for (idx_bra,bra) in enumerate(kets[pnrank]) + a = bra.a + b = bra.b + qbit_a = a + ifelse(similar_to_prevwork,-1,0) + qbit_b = b + ifelse(similar_to_prevwork,-1,0) + sps_a = dict_msps2sps[a] + sps_b = dict_msps2sps[b] + ja,ma = m_sps[a][3:2:5] + jb,mb = m_sps[b][3:2:5] + Jbra = bra.J + if ma + mb == Mtot; push!(idxs[Jbra+1],idx_bra);end + for (idx_ket,ket) in enumerate(kets[pnrank]) + if idx_bra > idx_ket; continue;end + c = ket.a + d = ket.b + qbit_c = c + ifelse(similar_to_prevwork,-1,0) + qbit_d = d + ifelse(similar_to_prevwork,-1,0) + sps_c = dict_msps2sps[c] + sps_d = dict_msps2sps[d] + jc,mc = m_sps[c][3:2:5] + jd,md = m_sps[d][3:2:5] + Jket = ket.J + if ma + mb - mc - md != 0; continue; end + if Jbra != Jket; continue;end + if abs(ma+mb) > 2*Jket;continue;end + tbme = dictTBMEs[ [sps_a,sps_b,sps_c,sps_d,Jket] ] + CG1 = clebschgordan(Float64,ja//2,ma//2,jb//2,mb//2, Jket, div(ma+mb,2)) + CG2 = clebschgordan(Float64,jc//2,mc//2,jd//2,md//2, Jket, div(mc+md,2)) + tbme_M = tbme * sqrt( (1.0+deltaf(sps_a,sps_b)) *(1.0+deltaf(sps_c,sps_d)) ) * CG1 * CG2 + if abs(tbme_M) < 1.e-9; continue;end + SPE_a = allSPEs[sps_a] + SPE_b = allSPEs[sps_b] + e1b = ifelse(a==c && b==d,SPE_a+SPE_b,0.0) + mat[idx_bra,idx_ket] = mat[idx_ket,idx_bra] = e1b + tbme_M + if a == 7 && b ==8 + println("abcd <$a $b|V|$c $d>J=$Jket =$tbme => tbme_M $tbme_M CG1 $CG1 CG2 $CG2") + end + println(io, @sprintf("%5i",qbit_a),@sprintf("%5i",qbit_b), + @sprintf("%5i",qbit_c),@sprintf("%5i",qbit_d), @sprintf("%5i",Jket), @sprintf("%15.6f",tbme_M)) + end + end + if true && pnrank == 2 # Li6 + #for J = 0:10 + for J = 2:3 + idx = idxs[J+1] + if length(idx) == 0; continue; end + submat = mat[idx,idx] + evals,evecs = eigen(submat) + println("J $J idx $idx") + for nn = 1:length(idx) + ket = kets[pnrank][idx[nn]] + M = m_sps[ket.a][5] + m_sps[ket.b][5] + print("|$(ket.a) $(ket.b);M=$M> ") + end + print("\n") + for nn = 1:length(idx) + print_vec("", submat[nn,:]) + end + for nn = 1:length(evals) + if abs(evals[nn]) < 1.e-12; continue;end + vec = evecs[:,nn] + print_vec(" E "*@sprintf("%15.6f",evals[nn]), vec) + end + end + end + end + return nothing +end + +""" +if `similar_to_prevwork == true`, indices for qbit starts from 0 and protons have tz = 1, which is opposite to the convensiton used in many-body methods in NuclearToolkit.jl. +""" +function main_trans_msnt(fn,target_nuc,target_Js=[];similar_to_prevwork=false) + Anum = parse(Int64, match(reg,target_nuc).match) + Mtot = 0;if Anum % 2 != 0; Mtot = 1;end + if Anum % 2 != Mtot % 2 + @error "invalid target_Js = $target_Js" + end + if length(target_Js) > 0 + Mtot = minimum(target_Js) + tJ=target_Js[1] + eval_jj = 0.5*tJ*(tJ/2+1) + end + lp,ln,cp,cn,massop,Aref,p,p_sps,n_sps,SPEs,olabels,oTBMEs,labels,TBMEs = readsmsnt(fn,Anum) + + target_el = replace.(target_nuc, string(Anum)=>"") + Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) + m_p_sps,msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) + trans_snt_msnt(fn,Anum,Mtot,p_sps,n_sps,m_p_sps,msps_n,SPEs,olabels,oTBMEs,similar_to_prevwork) +end + +function svd_li6(Rvecs) + println("svd_li6 function is called. This is only used for Li6 on the p-shell space.") + dict_sps = Dict(1=>[3,3],2=>[1,1],3=>[1,4],4=>[4,1],5=>[4,4], + 6=>[2,2],7=>[2,5],8=>[5,2],9=>[5,5],10=>[6,6]) + nsps = 6 + Mat = zeros(Float64,nsps,nsps) + for n = 1:length(Rvecs) + Rvec = Rvecs[n] + println("n $n") + for i = 1:length(Rvec) + idxs = dict_sps[i] + Mat[idxs[1],idxs[2]] = Rvec[i] + end + for j = 1:nsps + print_vec("",Mat[j,:];long=true) + end + SVD = LinearAlgebra.svd(Mat) + U = SVD.U; Sig = Diagonal(SVD.S); Vt = SVD.Vt; V = Vt' + println("U") + for j = 1:nsps + print_vec("",U[j,:];long=true) + end + println("Sig") + for j = 1:nsps + print_vec("",Sig[j,:];long=true) + end + println("V") + for j = 1:nsps + print_vec("",V[j,:];long=true) + end + println("") + Mat .= 0.0 + end +end \ No newline at end of file diff --git a/src/ShellModel/transit.jl b/src/ShellModel/transit.jl index 81f3e490..316173bf 100644 --- a/src/ShellModel/transit.jl +++ b/src/ShellModel/transit.jl @@ -40,15 +40,19 @@ function tri_relation(ja,jb,jc) if abs(jc-ja) > jb ; TF=false;end return TF end - -function init_ho_by_mass(A,ihwprm=1) + +""" +Set HO parameter by an empirical formula. + +The default choice is 41A^(-1/3) MeV. For sd-shell nuclei (16<=A<=40), we use 45A^(-1/3)-25A^(-2/3) MeV by J. Blomqvist and A. Molinari, Nucl. Phys. A106, 545 (1968). +""" +function init_ho_by_mass(A,hwprm=1) nmass = [938.27231, 939.56563] amass = (nmass[1]+nmass[2])/2 hc = 197.32696 - if ihwprm == 1 ## 41A^(-1/3) MeV + if hwprm == 1 ## 41A^(-1/3) MeV hw = 41.0 * (A^(-1.0/3.0)) - elseif ihwprm == 2 ## 45A^(-1/3)-25A^(-2/3) MeV - #J. Blomqvist and A. Molinari, Nucl. Phys. A106, 545 (1968). + elseif hwprm == 2 ## hw = 45.0 * (A^(-1.0/3.0)) -25.0 * (A^(-2.0/3.0)) end bpar = hc/sqrt(hw*amass) @@ -75,11 +79,7 @@ function radius_power(k,n1,l1,n2,l2,bpar) return s end -function prep_obtr_diag(p_sps,n_sps, - mstates_p,mstates_n,tdims, - jocc_p,jocc_n, - pbits,nbits,bpar, - gfactors,eff_charge) +function prep_obtr_diag(p_sps,n_sps, msps_p,msps_n,tdims,pbits,nbits,bpar,gfactors,eff_charge) ## Note that mu is in units of muN (= 0.105 efm) lp=length(p_sps); ln=length(n_sps); lblock = length(nbits) ec_p,ec_n = eff_charge @@ -93,8 +93,8 @@ function prep_obtr_diag(p_sps,n_sps, pjumps_Q = op_E2[ ] njumps_Q = op_E2[ ] - vec_p_ani = [ false for i=1:length(mstates_p)] - vec_p_cre = [ false for i=1:length(mstates_p)] + vec_p_ani = [ false for i=1:length(msps_p)] + vec_p_cre = [ false for i=1:length(msps_p)] ex_r2 = 0.0 ; coeff= 0.0 for i=1:lp ni,li,ji,tzi = p_sps[i] @@ -104,8 +104,8 @@ function prep_obtr_diag(p_sps,n_sps, l6j = wigner6j(Float64,lf,li,1, ji//2,jf//2,1//2) s6j = wigner6j(Float64,1//2,1//2,1,ji//2,jf//2,lf) Q3j = wigner3j(Float64,ji//2,2,jf//2,1//2,0,-1//2) - c,mc_s,mc_idxs = possible_mz(p_sps[i],mstates_p) - a,ma_s,ma_idxs = possible_mz(p_sps[f],mstates_p) + c,mc_s,mc_idxs = possible_mz(p_sps[i],msps_p) + a,ma_s,ma_idxs = possible_mz(p_sps[f],msps_p) for mode in ["M1", "E2"] if mode == "M1" # selection rule @@ -164,8 +164,8 @@ function prep_obtr_diag(p_sps,n_sps, end end end - vec_n_ani = [ false for i=1:length(mstates_n)] - vec_n_cre = [ false for i=1:length(mstates_n)] + vec_n_ani = [ false for i=1:length(msps_n)] + vec_n_cre = [ false for i=1:length(msps_n)] for i=1:ln ni,li,ji,tzi = n_sps[i] for f = i:ln @@ -174,8 +174,8 @@ function prep_obtr_diag(p_sps,n_sps, l6j = wigner6j(Float64,lf,li,1,ji//2,jf//2,1//2) s6j = wigner6j(Float64,1//2,1//2,1,ji//2,jf//2,lf) Q3j = wigner3j(Float64,ji//2,2,jf//2,1//2,0,-1//2) - jc,mc_s,mc_idxs = possible_mz(n_sps[i],mstates_n) - ja,ma_s,ma_idxs = possible_mz(n_sps[f],mstates_n) + jc,mc_s,mc_idxs = possible_mz(n_sps[i],msps_n) + ja,ma_s,ma_idxs = possible_mz(n_sps[f],msps_n) for mode in ["M1", "E2"] if mode == "M1" if (ni !=nf || li != lf) @@ -284,7 +284,7 @@ end function prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, - mstates_p,mstates_n, + msps_p,msps_n, jocc_p,jocc_n, tdims_l,pbits_l,nbits_l, tdims_r,pbits_r,nbits_r, @@ -304,8 +304,8 @@ function prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, pjumps_Q = op_E2_nd[ ] njumps_Q = op_E2_nd[ ] - vec_p_ani = [ false for i=1:length(mstates_p)] - vec_p_cre = [ false for i=1:length(mstates_p)] + vec_p_ani = [ false for i=1:length(msps_p)] + vec_p_cre = [ false for i=1:length(msps_p)] ex_r2 = 0.0 ; coeff= 0.0 for i=1:lp ni,li,ji,tzi = p_sps[i] @@ -315,8 +315,8 @@ function prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, l6j = wigner6j(Float64,lf,li,1,ji//2,jf//2,1//2) s6j = wigner6j(Float64,1//2,1//2,1,ji//2,jf//2,lf) Q3j = wigner3j(Float64,ji//2,2,jf//2,1//2,0,-1//2) - c,mc_s,mc_idxs = possible_mz(p_sps[i],mstates_p) - a,ma_s,ma_idxs = possible_mz(p_sps[f],mstates_p) + c,mc_s,mc_idxs = possible_mz(p_sps[i],msps_p) + a,ma_s,ma_idxs = possible_mz(p_sps[f],msps_p) for mode in ["M1", "E2"] if mode == "M1" # slection rule if (ni !=nf || li != lf); continue;end @@ -372,8 +372,8 @@ function prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, end end end - vec_n_ani = [ false for i=1:length(mstates_n)] - vec_n_cre = [ false for i=1:length(mstates_n)] + vec_n_ani = [ false for i=1:length(msps_n)] + vec_n_cre = [ false for i=1:length(msps_n)] for i=1:ln ni,li,ji,tzi = n_sps[i] for f = 1:ln @@ -382,8 +382,8 @@ function prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, l6j = wigner6j(Float64,lf,li,1,ji//2,jf//2,1//2) s6j = wigner6j(Float64,1//2,1//2,1,ji//2,jf//2,lf) Q3j = wigner3j(Float64,ji//2,2,jf//2,1//2,0,-1//2) - jc,mc_s,mc_idxs = possible_mz(n_sps[i],mstates_n) - ja,ma_s,ma_idxs = possible_mz(n_sps[f],mstates_n) + jc,mc_s,mc_idxs = possible_mz(n_sps[i],msps_n) + ja,ma_s,ma_idxs = possible_mz(n_sps[f],msps_n) for mode in ["M1", "E2"] if mode == "M1" if (ni !=nf || li != lf);continue;end @@ -500,7 +500,7 @@ end function calc_bifs(Mps_l,Mns_l,Mtot_l,Mps_r,Mns_r,Mtot_r) # for right wav - blocks_r = [ [0,0] ]; deleteat!(blocks_r,1) + blocks_r = Vector{Int64}[ ] for Mp in Mps_r for Mn in Mns_r if Mp + Mn == Mtot_r @@ -508,7 +508,7 @@ function calc_bifs(Mps_l,Mns_l,Mtot_l,Mps_r,Mns_r,Mtot_r) end end end - blocks_l = [ [0,0] ]; deleteat!(blocks_l,1) + blocks_l = Vector{Int64}[ ] for Mp in Mps_l for Mn in Mns_l if Mp + Mn == Mtot_l @@ -516,8 +516,8 @@ function calc_bifs(Mps_l,Mns_l,Mtot_l,Mps_r,Mns_r,Mtot_r) end end end - p_bifs = [ [0,0] ]; deleteat!(p_bifs,1) - n_bifs = [ [0,0] ]; deleteat!(n_bifs,1) + p_bifs = Vector{Int64}[ ] + n_bifs = Vector{Int64}[ ] for (ir,bl_r) in enumerate(blocks_r) Mpr,Mnr = bl_r @@ -535,11 +535,10 @@ function calc_bifs(Mps_l,Mns_l,Mtot_l,Mps_r,Mns_r,Mtot_r) end """ - transit_main(sntf,target_nuc,jl2,jr2,in_wfs; - num_ev_l=100,num_ev_r=100,q=1,is_block=false,is_show=true, - calc_EM=true,gfactors=[1.0,0.0,5.586,-3.826],eff_charge=[1.5,0.5]) + transit_main(sntf,target_nuc,jl2,jr2,in_wfs;num_ev_l=100,num_ev_r=100,q=1,is_block=false,is_show=true,calc_EM=true,gfactors=[1.0,0.0,5.586,-3.826],eff_charge=[1.5,0.5]) + -Calculate the M1&E2 transitions for two wavefunctions +Function tocalculate the M1&E2 transitions from two given wavefunctions # Arguments - `sntf`:path to the interaction file @@ -559,12 +558,7 @@ Calculate the M1&E2 transitions for two wavefunctions - `q=1`:block size - `is_block=false`:to use Block algorithm """ -function transit_main(sntf,target_nuc,jl2,jr2,in_wfs; - num_ev_l=100,num_ev_r=100, - q=1,is_block=false,is_show=true, - calc_EM=true, - gfactors=[1.0,0.0,5.586,-3.826], - eff_charge=[1.5,0.5]) +function transit_main(sntf,target_nuc,jl2,jr2,in_wfs;num_ev_l=100,num_ev_r=100,q=1,is_block=false,is_show=true,calc_EM=true,gfactors=[1.0,0.0,5.586,-3.826],eff_charge=[1.5,0.5]) if length(in_wfs) == 0;println("input wfs must be specified");exit();end to = TimerOutput() @@ -577,7 +571,7 @@ function transit_main(sntf,target_nuc,jl2,jr2,in_wfs; target_el = replace.(target_nuc, string(Anum)=>"") Z,N,vp,vn = getZNA(target_el,Anum,cp,cn) - mstates_p, mstates_n,mz_p,mz_n = def_mstates(p_sps,n_sps) + msps_p, msps_n,mz_p,mz_n = construct_msps(p_sps,n_sps) widx = [1,2] if jl2 < jr2 @@ -585,12 +579,8 @@ function transit_main(sntf,target_nuc,jl2,jr2,in_wfs; end Mtot_l = jl2; Mtot_r = jr2 - pbits_l,nbits_l,jocc_p,jocc_n,Mps_l,Mns_l,tdims_l = occ(p_sps,mstates_p,mz_p,vp, - n_sps,mstates_n,mz_n,vn, - Mtot_l) - pbits_r,nbits_r,jocc_p,jocc_n,Mps_r,Mns_r,tdims_r = occ(p_sps,mstates_p,mz_p,vp, - n_sps,mstates_n,mz_n,vn, - Mtot_r) + pbits_l,nbits_l,jocc_p,jocc_n,Mps_l,Mns_l,tdims_l = occ(p_sps,msps_p,mz_p,vp,n_sps,msps_n,mz_n,vn,Mtot_l) + pbits_r,nbits_r,jocc_p,jocc_n,Mps_r,Mns_r,tdims_r = occ(p_sps,msps_p,mz_p,vp,n_sps,msps_n,mz_n,vn,Mtot_r) mdim_l = tdims_l[end]; mdim_r = tdims_r[end] println("wfl: ",in_wfs[widx[1]]) if in_wfs[widx[1]] != in_wfs[widx[2]]; println("wfr: ",in_wfs[widx[2]]);end @@ -605,7 +595,7 @@ function transit_main(sntf,target_nuc,jl2,jr2,in_wfs; # operation of EM transition operators O|Phi> @timeit to "prep" begin op_p_mu,op_n_mu,op_p_Q,op_n_Q = prep_obtr_nondiag(jl2,jr2,p_sps,n_sps, - mstates_p,mstates_n, + msps_p,msps_n, jocc_p,jocc_n, tdims_l,pbits_l,nbits_l, tdims_r,pbits_r,nbits_r, @@ -702,30 +692,20 @@ function transit_main(sntf,target_nuc,jl2,jr2,in_wfs; end end end - if is_show - show(to, allocations = true,compact = false) - end - println("") + show_TimerOutput_results(to;tf=is_show) return nothing end -function eval_moment(Mtot,Rvecs,totJs, - p_sps,n_sps, - mstates_p,mstates_n,tdims, - jocc_p,jocc_n,pbits,nbits,bpar, - gfactors,eff_charge) +function eval_moment(Mtot,Rvecs,totJs,p_sps,n_sps,msps_p,msps_n,tdims,jocc_p,jocc_n,pbits,nbits,bpar,gfactors,eff_charge) mdim = tdims[end] c_mom_mu = sqrt(4.0*pi/3.0) c_mom_Q = sqrt(16.0*pi/5.0) - op_p_mu,op_n_mu,op_p_Q,op_n_Q = prep_obtr_diag(p_sps,n_sps, - mstates_p,mstates_n, - tdims,jocc_p,jocc_n, - pbits,nbits,bpar, - gfactors,eff_charge) + op_p_mu,op_n_mu,op_p_Q,op_n_Q = prep_obtr_diag(p_sps,n_sps,msps_p,msps_n,tdims,pbits,nbits,bpar,gfactors,eff_charge) tx_mom = "" twf1 = zeros(Float64,mdim) twf2 = zeros(Float64,mdim) Mi = Mtot//2; Mf = Mtot//2 + if -1 in totJs; println("");@warn "J=-1 states are to be skipped in eval_moment";end for (nth,wf) in enumerate(Rvecs) twf1 .= 0.0 ; twf2 .= 0.0 # for M1 @@ -735,15 +715,17 @@ function eval_moment(Mtot,Rvecs,totJs, p_oprts = op_p_Q; n_oprts = op_n_Q op_obtr_diag(p_oprts,n_oprts,pbits,nbits,tdims,wf,twf2) - Ji = Int(2*totJs[nth]) // 2; + Ji = Int(2*totJs[nth]) // 2 + if Ji < 0;continue;end for np = nth:length(Rvecs) tx = "" wf_l = Rvecs[np] Jf = Int(2*totJs[np])//2 + if Jf < 0;continue;end lam = 1 omu = div(Mf-Mi,2) sel = wigner3j(Float64,Jf,lam,Ji,-Mf,omu,Mi) - if sel != 0 + if sel != 0.0 signmu = (-1)^(Jf-Mf) cg = wigner3j(Float64,Ji,lam,Jf,-Ji,omu,Jf) / sel if np ==nth diff --git a/src/ShellModel/variational_ansatz.jl b/src/ShellModel/variational_ansatz.jl new file mode 100644 index 00000000..f1fcd2cb --- /dev/null +++ b/src/ShellModel/variational_ansatz.jl @@ -0,0 +1,576 @@ +""" +The main API for VMC (w/ pairwise ansatz). +""" +function main_vmc(psi_exact,eigenvals,tdims,msps_p,msps_n, + pbits,nbits,jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump,bis,bfs,block_tasks,p_NiNfs,n_NiNfs,Mps,delMs,Vpn, + Jidxs,oPP,oNN,oPNu,oPNd) + state_idx = 1 + psi_gs = psi_exact[state_idx] + mdim = tdims[end] + @assert mdim <= 300 "vmc function is now valid for mdim <= 300" + + # Make block w.f. for the ground state + psi_block = [ zeros(Float64,length(pbits[bi]),length(nbits[bi])) for bi = 1:length(pbits)] + make_block_wf!(psi_gs,psi_block,pbits,nbits) + #svd_block_wf(psi_block) + + # Flatten Hamiltonian operator to (mdim,mdim) matrix => Hflat + Hflat = calc_Hflat(tdims,pbits,nbits,jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump,bis,bfs,block_tasks,p_NiNfs,n_NiNfs,Mps,delMs,Vpn) + print_vec("eigvals(Hflat)",eigvals(Hflat)) + + ### low-rank approximation of "many-body wavefunction" + + pdim = sum( [size(psi_block[i])[1] for i = 1:length(pbits)] ) + ndim = sum( [size(psi_block[i])[2] for i = 1:length(pbits)] ) + + psi_config = zeros(Float64,pdim,ndim) + p_ofst = n_ofst = 0 + flat_idx = 1 + for bi = 1:length(pbits) + for pidx = 1:length(pbits[bi]) + for nidx = 1:length(nbits[bi]) + psi_config[p_ofst+pidx,n_ofst+nidx] = psi_gs[flat_idx] + flat_idx += 1 + end + end + p_ofst += length(pbits[bi]) + n_ofst += length(nbits[bi]) + end + + # construct product state + dict_idxs = prep_product_state(pbits,nbits,msps_p,msps_n) + + U,S,V = svd(psi_config) + print_vec("S:\n",S) + + pbits_flat = vcat(pbits...) + nbits_flat = vcat(nbits...) + println("n_msps $msps_n") + println("neutron configs. $nbits_flat") + + + for trank in 1:rank(psi_config) + idxs_rank = collect(1:trank) + + # # # for 8Be remove index from Array + # idxs_rank = Int64[ ] + # for i = 1:size(V)[2] + # #println("abs ", abs.(V'[i,[3,4,5,11,12,13]]), " sum(abs)", sum(abs.(V'[i,[3,4,5,11,12,13]]))) + # if sum(abs.(V'[i,[3,4,5,11,12,13]])) > 1.e-8; continue;end + # push!(idxs_rank,i) + # end + # idxs_rank = idxs_rank[1:min(length(idxs_rank),trank)] + # println("idxs_rank $idxs_rank") + + subC = U[:,idxs_rank]*Diagonal(S[idxs_rank])*V'[idxs_rank,:] + + + subpsi = subC + subpsi ./= sqrt(sum(subpsi.^2)) + + #print_mat("U",U) + #print_mat("V^T",V') + + vec_trial = zeros(Float64,mdim) + p_ofst = n_ofst = 0; flat_idx = 1 + for bi = 1:length(pbits) + for pidx = 1:length(pbits[bi]) + for nidx = 1:length(nbits[bi]) + vec_trial[flat_idx] = subpsi[p_ofst+pidx,n_ofst+nidx] + flat_idx += 1 + end + end + p_ofst += length(pbits[bi]) + n_ofst += length(nbits[bi]) + # println("block $bi\n",psi_block[bi]) + # println("pbits $(pbits[bi])") + #println("nbits $(nbits[bi])") + end + Etri = dot(vec_trial,Hflat*vec_trial) + num_non0 = sum(abs.(vec_trial) .> 1.e-12) + println("trank ",@sprintf("%3i",trank)," _trial = ", @sprintf("%10.5f", Etri), "\t # nonzero $num_non0 \t rel. error (%) ", @sprintf("%9.3e", 100*abs((Etri-eigenvals[state_idx])/eigenvals[state_idx]))) + + if trank == rank(psi_config) + print_mat("V^T",V') + print_mat("subpsi",subpsi) + for i = 1:size(V)[2] + println(V'[i,:]) + end + end + + end + return nothing + + psi_svd = zeros(Float64,pdim,ndim) + psi_svd .= subC + psi_svd ./= sqrt(sum(psi_svd.^2)) + + psi_flat_new = zeros(Float64,mdim) + p_ofst = n_ofst = 0 + flat_idx = 1 + for bi = 1:length(pbits) + for pidx = 1:length(pbits[bi]) + for nidx = 1:length(nbits[bi]) + psi_flat_new[flat_idx] = psi_config[p_ofst+pidx,n_ofst+nidx] + flat_idx += 1 + end + end + p_ofst += length(pbits[bi]) + n_ofst += length(nbits[bi]) + end + Egs = dot(psi_flat_new,Hflat*psi_flat_new) + println("trank = $trank, Egs = $Egs error ",abs(Egs-eigenvals[1])) + for i = 1:pdim + print_vec("",psi_svd[i,:]) + end + + + + # SVD of Hflat + #M0idxs = get_M0idxs(pbits,nbits,msps_p,msps_n) + #svd_mat(Hflat,M0idxs) + + + # Check the energies by direct diagonalization of Hflat + num_ev = length(eigenvals) + vals = real.(eigsolve(Hflat,num_ev,:SR)[1])[1:num_ev] + @assert norm(vals-eigenvals, Inf) < 1.e-6 "Hflat not giving the same eigenvalues as H" + + vtmp = zeros(Float64,mdim) + operate_J!(psi_gs,vtmp,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd) + Jexpec = dot(psi_gs,vtmp) + totalJ = J_from_JJ1(Jexpec) + println("_0 = ", dot(psi_gs,Hflat * psi_gs), " _0 = $totalJ") + + # Specifying pairwise truncations for VMC + # mask_idxs, Midxs = truncated_Midxs_pnpair(pbits,nbits,msps_p,msps_n) + # println("pn-pair truncated dim. => $(length(Midxs))") + mask_idxs, Midxs = truncated_Midxs_absM(pbits,nbits,msps_p,msps_n) + println("pn-pair + jpartner truncated dim. => $(length(Midxs))") + # mask_idxs, Midxs = truncated_Midxs_MpMn0(pbits,nbits,msps_p,msps_n) + # println("Mp=Mn=0 configs. dim. => $(length(Midxs))") + + # Make trial wavefunction + psi_trial = copy(psi_gs); psi_trial[mask_idxs] .= 0.0 + + subH = @view Hflat[Midxs,Midxs] + svals, svecs = eigsolve(subH,1,:SR) + psi_trial[Midxs] .= svecs[1] + psi2 = dot(psi_trial,psi_trial) + #println("psi_trial $psi_trial psi2 $psi2") + psi_trial ./= (psi2) + + # check total angular momentum J + vtmp .= 0.0 + operate_J!(psi_trial,vtmp,pbits,nbits,tdims,Jidxs,oPP,oNN,oPNu,oPNd) + Jexpec = dot(psi_trial,vtmp) + totalJ = J_from_JJ1(Jexpec) + println("_tri = ", dot(psi_trial,Hflat * psi_trial), " _tri = $totalJ Jexpec $Jexpec \n") + + return nothing +end + +""" +For each proton or neutron configuration have 'jz-mirror' configurations. They should have the same amplitude. +""" +function prep_product_state(pbits,nbits,msps_p,msps_n) + num_pbit = length(msps_p) + num_nbit = length(msps_n) + pbits_flat = vcat(pbits...) + nbits_flat = vcat(nbits...) + + partner_dict_p = Dict{Int64,Int64}() + for (idx,tmp) in enumerate(msps_p) + n,l,j,tz,m = tmp + #println("idx $idx nljtzm $n $l $j $tz $m") + for (idx_,tmp_) in enumerate(msps_p) + n_,l_,j_,tz_,m_ = tmp_ + if n == n_ && l == l_ && j == j_ && tz == tz_ && m == -m_ + #println("partner => idx_ $idx_ nljtzm $n_ $l_ $j_ $tz_ $m_") + partner_dict_p[idx] = idx_ + end + end + end + + dict_idxs = Dict{Int64,Int64}() + idx = 1 + for (conf_idx_1,pbit_1) in enumerate(pbits_flat) + occ_vec_p = get_bitarry_from_int(pbit_1, num_pbit) + hole_idxs = findall(occ_vec_p .==1) + partner_idxs = [partner_dict_p[hole_idx] for hole_idx in hole_idxs] + for (conf_idx_2,pbit_2) in enumerate(pbits_flat) + occ_vec_p_2 = get_bitarry_from_int(pbit_2, num_pbit) + hole_idxs_2 = findall(occ_vec_p_2 .==1) + if Set(partner_idxs) != Set(hole_idxs_2); continue; end + println("conf_idx $conf_idx_1 $pbit_1 partner => $conf_idx_2 $pbit_2") + dict_idxs[conf_idx_1] = conf_idx_2 + end + end + return dict_idxs +end + +function print_mat(text,mat) + println("$text:") + for i = 1:size(mat)[1] + print_vec("",mat[i,:]) + end + return nothing +end + +function Midxs_random(mdim,num_use) + tmp = randperm(mdim) + Midxs = tmp[1:num_use] + mask_idxs = tmp[num_use+1:end] + return mask_idxs,Midxs +end + +""" +Function to return M-scheme indices for truncated configurations +""" +function truncated_Midxs_pnpair(pbits,nbits,msps_p,msps_n) + Midxs = Int64[ ] + mask_idxs = Int64[ ] + idx = 0 + num_pbit = length(msps_p) + num_nbit = length(msps_n) + for block_i = 1:length(pbits) + l_Np = length(pbits[block_i]) + l_Nn = length(nbits[block_i]) + for pidx = 1:l_Np + pbit = pbits[block_i][pidx] + occ_vec_p = get_bitarry_from_int(pbit, num_pbit) + for nidx = 1:l_Nn + idx += 1 + nbit = nbits[block_i][nidx] + occ_vec_n = get_bitarry_from_int(nbit, num_nbit) + valid = true + for (idx_nbit,occ_n) in enumerate(occ_vec_n) + n_n,l_n,j_n,tz_n,m_n = msps_n[idx_nbit] + if occ_n == 1 + for (idx_pbit,occ_p) in enumerate(occ_vec_p) + n_p,l_p,j_p,tz_p,m_p = msps_p[idx_pbit] + if n_p != n_n || l_p != l_n || j_p != j_n || tz_p == tz_n || m_p != -m_n + continue + end + valid *= ifelse(occ_p==occ_n,true,false) + end + end + end + if valid + push!(Midxs,idx) + else + push!(mask_idxs,idx) + end + end + end + end + return mask_idxs,Midxs +end + +function truncated_Midxs_absM(pbits,nbits,msps_p,msps_n;jpartner=false) + Midxs = Int64[ ] + mask_idxs = Int64[ ] + idx = 0 + num_pbit = length(msps_p) + num_nbit = length(msps_n) + for block_i = 1:length(pbits) + l_Np = length(pbits[block_i]) + l_Nn = length(nbits[block_i]) + for pidx = 1:l_Np + pbit = pbits[block_i][pidx] + occ_vec_p = get_bitarry_from_int(pbit, num_pbit) + for nidx = 1:l_Nn + idx += 1 + nbit = nbits[block_i][nidx] + occ_vec_n = get_bitarry_from_int(nbit, num_nbit) + absMn = absMp = 0 + for (idx_nbit,occ_n) in enumerate(occ_vec_n) + n_n,l_n,j_n,tz_n,m_n = msps_n[idx_nbit] + if occ_n == 1; absMn += abs(m_n);end + end + for (idx_pbit,occ_p) in enumerate(occ_vec_p) + n_p,l_p,j_p,tz_p,m_p = msps_p[idx_pbit] + if occ_p == 1; absMp += abs(m_p);end + end + if absMn==absMp + push!(Midxs,idx) + else + push!(mask_idxs,idx) + end + end + end + end + return mask_idxs,Midxs +end + +function truncated_Midxs_MpMn0(pbits,nbits,msps_p,msps_n) + Midxs = Int64[ ] + mask_idxs = Int64[ ] + idx = 0 + num_pbit = length(msps_p) + num_nbit = length(msps_n) + for block_i = 1:length(pbits) + l_Np = length(pbits[block_i]) + l_Nn = length(nbits[block_i]) + for pidx = 1:l_Np + pbit = pbits[block_i][pidx] + occ_vec_p = get_bitarry_from_int(pbit, num_pbit) + for nidx = 1:l_Nn + idx += 1 + nbit = nbits[block_i][nidx] + occ_vec_n = get_bitarry_from_int(nbit, num_nbit) + Mn = Mp = 0 + for (idx_nbit,occ_n) in enumerate(occ_vec_n) + n_n,l_n,j_n,tz_n,m_n = msps_n[idx_nbit] + if occ_n == 1; Mn += m_n;end + end + for (idx_pbit,occ_p) in enumerate(occ_vec_p) + n_p,l_p,j_p,tz_p,m_p = msps_p[idx_pbit] + if occ_p == 1; Mp += m_p;end + end + if Mp == Mn == 0 + push!(Midxs,idx) + else + push!(mask_idxs,idx) + end + end + end + end + return mask_idxs,Midxs +end + +function calc_Hflat(tdims,pbits,nbits,jocc_p,jocc_n,SPEs,pp_2bjump,nn_2bjump,bis,bfs,block_tasks,p_NiNfs,n_NiNfs,Mps,delMs,Vpn) + mdim = tdims[end] + Hflat = zeros(Float64,mdim,mdim) + for bi in block_tasks + if bi==0; continue;end #empty job + ret = [0,0,0]; ret2 = [0,0,0] + idim = tdims[bi] + l_Np = length(pbits[bi]) + l_Nn = length(nbits[bi]) + offset = idim -l_Nn + + # 1. one-body term + for pidx = 1:l_Np + tMi = offset + pidx*l_Nn + for nidx =1:l_Nn + Mi = tMi + nidx + Hflat[Mi,Mi] += (dot(SPEs[1],jocc_p[bi][pidx])+dot(SPEs[2],jocc_n[bi][nidx])) + end + end + + # 2. two-body term (pp/nn) + for (pidx,tinfo) in enumerate(pp_2bjump[bi]) + tMi = offset + pidx*l_Nn + for (jj,tmp) in enumerate(tinfo) + tMf = offset + l_Nn*tmp.f + fac = tmp.coef + for nidx = 1:l_Nn + Mi = tMi + nidx; Mf = tMf + nidx + @assert Mi <= Mf "Mi > Mf happened in pp2b" + Hflat[Mi,Mf] += fac + Hflat[Mf,Mi] += fac + end + end + end + for (Nni,tinfo) in enumerate(nn_2bjump[bi]) + tMi = offset + Nni + for (jj,tmp) in enumerate(tinfo) + tMf = offset + tmp.f + fac = tmp.coef + for pidx = 1:l_Np + Mi = tMi + pidx*l_Nn; Mf = tMf + pidx*l_Nn + @assert Mi <= Mf "Mi > Mf happened in nn2b" + Hflat[Mi,Mf] += fac + Hflat[Mf,Mi] += fac + end + end + end + + # 3. two-body term (pn) + for (bfidx,bf) in enumerate(bfs[bi]) + bisearch!(delMs,Mps[bf]-Mps[bi],ret) #!! bf = bfs[bi][j] + Vs = Vpn[ret[1]] + fdim = tdims[bf] + l_Nn_f = length(nbits[bf]) + p_NiNf = p_NiNfs[bi][bfidx] + n_NiNf = n_NiNfs[bi][bfidx] + off_f = fdim-l_Nn_f + for (nth,V) in enumerate(Vs) + Npifs = p_NiNf[nth]; Nnifs = n_NiNf[nth] + for Npif in Npifs + tMi = offset+ Npif.i * l_Nn + tMf = off_f + Npif.f * l_Nn_f + phase_p = Npif.phase + for Nnif in Nnifs + Mi = tMi + Nnif.i; Mf = tMf + Nnif.f + phase_n = Nnif.phase + Hflat[Mi,Mf] += ifelse(phase_p!=phase_n,-V,V) + end + end + end + end + + for j = 1:length(bis[bi])-1 #### tbf = bi !!! + tbi = bis[bi][j] + bisearch!(delMs,Mps[bi]-Mps[tbi],ret) + bisearch_ord!(bfs[tbi],bi,ret2) + fdim=tdims[tbi] + l_Nn_i=length(nbits[tbi]) + p_NiNf = p_NiNfs[tbi][ret2[1]] + n_NiNf = n_NiNfs[tbi][ret2[1]] + off_f = fdim - l_Nn_i + for (nth,V) in enumerate(Vpn[ret[1]]) + Npifs = p_NiNf[nth] + Nnifs = n_NiNf[nth] + for Npif in Npifs + tMi = off_f + Npif.i *l_Nn_i #idim <-> fdim + tMf = offset + Npif.f*l_Nn + phase_p = Npif.phase + for Nnif in Nnifs + Mi = tMi + Nnif.i; Mf = tMf + Nnif.f + phase_n = Nnif.phase + @assert Mi <= Mf "Mi > Mf happened in pn2b-2" + Hflat[Mf,Mi] += ifelse(phase_p!=phase_n,-V,V) + end + end + end + end + end + tnorm = norm(Hflat-Hflat',Inf) + @assert tnorm < 1e-10 "Hflat must be symmetric!! norm(,Inf) = $tnorm" + return Hflat +end + +function svd_block_wf(wf) + for block = 1:length(wf) + block_wf = wf[block] + println("block $block") + for i = 1:size(block_wf)[1] + print_vec("",block_wf[i,:]) + end + U,S,V = svd(block_wf) + println("U:") + for i = 1:size(U)[1] + print_vec("",U[i,:]) + end + println("S:") + print_vec("",S) + println("V:") + for i = 1:size(V)[1] + print_vec("",V[i,:]) + end + println("|psi'>=V^T|psi>") + nwf = V'*block_wf + for i = 1:size(nwf)[1] + print_vec("",nwf[i,:]) + end + println("norm(SVD-H,2)",norm(U*Diagonal(S)*V'-block_wf,2)) + end + return nothing +end + +function get_M0idxs(pbits,nbits,msps_p,msps_n) + M0idxs = [Int64[ ],Int64[ ]] + nblock = length(pbits) + idx = 0 + for bi = 1:nblock + t_pbits = pbits[bi] + t_nbits = nbits[bi] + for pidx = 1:length(t_pbits) + pbit = t_pbits[pidx] + Mp = 0 + for (idx_pbit,bit_p) in enumerate(pbit) + n_p, l_p, j_p, tz_p, m_p = msps_p[idx_pbit] + if bit_p == 1 + Mp += m_p + end + end + for nidx = 1:length(t_nbits) + nbit = t_nbits[nidx] + Mn = 0 + for (idx_nbit,bit_n) in enumerate(nbit) + n_n, l_n, j_n, tz_n, m_n = msps_n[idx_nbit] + idx += 1 + if bit_n == 1 + Mn += m_n + end + end + if Mp + Mn == 0 + push!(M0idxs[1],pidx) + push!(M0idxs[2],nidx) + end + end + end + end + println("idx check $idx") + return M0idxs +end + +function svd_mat(Hflat,M0idxs) + U,S,V = svd(Hflat) + print_vec("S:",S) + + # for trank = 1:length(S) + # subH = U[:,1:trank]*Diagonal(S[1:trank])*V[:,1:trank]' + # vals,vecs = eigsolve(subH,1,:SR) + # Egs = real.(vals)[1] + # diffnorm = norm(Hflat-subH,2) + # diffnorm_M0 = norm(Hflat[M0idxs[1],M0idxs[2]]-subH[M0idxs[1],M0idxs[2]],2) + # println("trank = $trank, Egs = $Egs diffnorm $diffnorm diffnorm(M0) $diffnorm_M0 ") + # end + return nothing +end + +function make_block_wf!(psi_flat,psi_block,pbits,nbits) + flat_idx = 1 + for block = 1:length(pbits) + pbits_in_b = pbits[block] + nbits_in_b = nbits[block] + target = psi_block[block] + ln_nbits = length(nbits_in_b) + for pidx = 1:length(pbits_in_b) + for nidx = 1:length(nbits_in_b) + target[pidx,nidx] = psi_flat[flat_idx] + flat_idx += 1 + end + end + end + + mdim = length(psi_flat) + Psi_block = zeros(Float64,mdim,mdim) + p_ofst = n_ofst = 0 + flat_idx = 1 + for block = 1:length(pbits) + pbits_in_b = pbits[block] + nbits_in_b = nbits[block] + #println("block $block pbits $(length(pbits_in_b)) nbits $(length(nbits_in_b))") + for pidx = 1:length(pbits_in_b) + for nidx = 1:length(nbits_in_b) + #println("p_ofst $p_ofst + pidx $pidx, n_ofst $n_ofst + nidx $nidx") + Psi_block[p_ofst+pidx,n_ofst+nidx] = psi_flat[flat_idx] + flat_idx += 1 + end + end + p_ofst += length(pbits_in_b) + n_ofst += length(nbits_in_b) + end + + # U,S,V = svd(Psi_block) + # Snon0 = Float64[ ] + # tol = 1.e-8 + # for tmp in S + # if tmp > tol + # push!(Snon0,tmp) + # end + # end + # print_vec("singular values (#=$(length(Snon0))):",Snon0;ine=true) + # println("size $(size(Psi_block))") + # for trank = 1:length(Snon0) + # subH = U[:,1:trank]*Diagonal(S[1:trank])*V[:,1:trank]' + # Egs = dot(psi_flat,subH*psi_flat) + # println("trank = $trank, Egs = $Egs") + # end + + return nothing +end diff --git a/src/chiEFTint/angmom_algebra.jl b/src/chiEFTint/angmom_algebra.jl index cfa562f0..3ef22c37 100644 --- a/src/chiEFTint/angmom_algebra.jl +++ b/src/chiEFTint/angmom_algebra.jl @@ -1,13 +1,20 @@ """ wigner9j(j1,j2,j3,j4,j5,j6,j7,j8,j9) -calculate Wigner 9j symbols, all j should be given as integer (0,1,...) or halfinteger (3/2, 3//2,...) +calculate Wigner's 9j symbols, all j should be given as integer (0,1,...) or halfinteger (3/2, 3//2,...) """ -function wigner9j(j1,j2,j3,j4,j5,j6,j7,j8,j9) +function wigner9j(j1,j2,j3,j4,j5,j6,j7,j8,j9) s= 0.0 xmin = max(abs(j1-j9),abs(j2-j6),abs(j4-j8)) - xmax = min(abs(j1+j9),abs(j2+j6),abs(j4+j8)) - @inbounds for x =xmin:xmax + xmax = min( j1+j9 , j2+j6 , j4+j8) + sig = j1+j2+j3+j4+j5+j6+j7+j8+j9 + if j1 == j4 && j2 == j5 && j3 == j6 && sig % 2 == 1; return 0.0;end + if j7 == j4 && j8 == j5 && j9 == j6 && sig % 2 == 1; return 0.0;end + if j7 == j1 && j8 == j2 && j9 == j3 && sig % 2 == 1; return 0.0;end + if j1 == j2 && j4 == j5 && j7 == j8 && sig % 2 == 1; return 0.0;end + if j1 == j3 && j4 == j6 && j7 == j9 && sig % 2 == 1; return 0.0;end + if j2 == j3 && j5 == j6 && j8 == j9 && sig % 2 == 1; return 0.0;end + for x =xmin:xmax t = (-1)^(2*x) * (2*x+1) t *= wigner6j(Float64,j1,j4,j7,j8,j9,x) t *= wigner6j(Float64,j2,j5,j8,j4,x,j6) @@ -17,83 +24,43 @@ function wigner9j(j1,j2,j3,j4,j5,j6,j7,j8,j9) return s end -function get_dict6jint_for9j(ja,jb,tJ,jc,jd,tJp,d6j_int) - oja = ja; ojb = jb; oJ = tJ; ojc=jc;ojd=jd; oJp = tJp - j1 = ja; j2 = jb; J = tJ; j3=jc;j4=jd; Jp = tJp - flip_JJp = (tJ>tJp) - if flip_JJp - Jp = tJ; J = tJp - j1 = ja; j2 = jd; j3 = jc; j4 = jb - end - flip_j1j2 = (j1 > j2) - if flip_j1j2 - ja = j1; jb = j2; jc = j3; jd = j4 - j1 = jb; j2 = ja; j3 = jd; j4 = jc - end - nkey = get_nkey_from_key6j(j1,j2,j3,j4,Jp) - r = get(d6j_int[J+1],nkey,0.0) - if r ==0.0; r = wigner6j(Float64,oja,ojb,oJ,ojc,ojd,oJp);end - return r -end - -function wigner9j_from_dict6j(j1,j2,j3,j4,j5,j6,j7,j8,j9,d6j_int) +function wigner9j_d6jint(j1::Int64,j2::Int64,j3::Int64, + j4::Int64,j5::Int64,j6::Int64, + j7::Int64,j8::Int64,j9::Int64,d6j_int) + sig = j1+j2+j3+j4+j5+j6+j7+j8+j9 + if j1 == j4 && j2 == j5 && j3 == j6 && sig % 2 == 1; return 0.0;end + if j7 == j4 && j8 == j5 && j9 == j6 && sig % 2 == 1; return 0.0;end + if j7 == j1 && j8 == j2 && j9 == j3 && sig % 2 == 1; return 0.0;end + if j1 == j2 && j4 == j5 && j7 == j8 && sig % 2 == 1; return 0.0;end + if j1 == j3 && j4 == j6 && j7 == j9 && sig % 2 == 1; return 0.0;end + if j2 == j3 && j5 == j6 && j8 == j9 && sig % 2 == 1; return 0.0;end s= 0.0 xmin = max(abs(j1-j9),abs(j2-j6),abs(j4-j8)) xmax = min(abs(j1+j9),abs(j2+j6),abs(j4+j8)) - @inbounds for x =xmin:xmax - t = (-1)^(2*x) * (2*x+1) - t *= get_dict6jint_for9j(j1,j4,j7,j8,j9,x,d6j_int) - t *= get_dict6jint_for9j(j2,j5,j8,j4,x,j6,d6j_int) - t *= get_dict6jint_for9j(j3,j6,j9,x,j1,j2,d6j_int) + for x =xmin:2:xmax + t = (-1)^(x) * (x+1) + t *= call_d6j(j1,j4,j7,j8,j9,x,d6j_int) + t *= call_d6j(j2,j5,j8,j4,x,j6,d6j_int) + t *= call_d6j(j3,j6,j9,x,j1,j2,d6j_int) s += t end return s end """ - s_wigner9j(j1,j3,j4,j6,j7,j8,j9) + TMtrans(chiEFTobj::ChiralEFTobject,dWS,to;writesnt=true) -to calc. wigner9j for specific cases with j2=j5=1/2 +Function to carry out Talmi-Mochinsky transformation for NN interaction in HO space and to write out an sinput file. """ -function s_wigner9j(j1,j3,j4,j6,j7,j8,j9) - s= 0.0 - xmin = max(abs(j1-j9),abs(Int(1//2-j6)),abs(j4-j8)) - xmax = min(abs(j1+j9),abs(Int(1//2+j6)),abs(j4+j8)) - @inbounds for x =xmin:xmax - t = (-1.0)^(2*x) * (2.0*x+1.0) - t *= wigner6j(Float64,j1,j4,j7,j8,j9,x) - t *= wigner6j(Float64,1//2,1//2,j8,j4,x,j6) - t *= wigner6j(Float64,j3,j6,j9,x,j1,1//2) - s += t - end - return s -end - -""" - TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) - -Function to carry out Talmi-Mochinsky transformation -""" -function TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) +function TMtrans(chiEFTobj::ChiralEFTobject,dWS,to;writesnt=true) V12ab = Vrel(chiEFTobj,to) + V12ab_2n3n = Vrel(chiEFTobj,to;calc_2n3n=true) params = chiEFTobj.params - dLECs = chiEFTobj.LECs.dLECs; xr = chiEFTobj.xr; wr = chiEFTobj.wr; - xrP = chiEFTobj.xrP; wrP = chiEFTobj.wrP; Rnl = chiEFTobj.Rnl; RNL = chiEFTobj.RNL nTBME = chiEFTobj.nTBME; infos = chiEFTobj.infos; izs_ab = chiEFTobj.izs_ab - dict6j = chiEFTobj.dict6j; d6j_nabla = chiEFTobj.d6j_nabla - X9 = chiEFTobj.X9; U6 = chiEFTobj.U6 - emax = chiEFTobj.params.emax; Nrmax = 2*emax - nume = zeros(Int64,Nrmax+1,Nrmax+1) - numknn = [ [ [ zeros(Int64,div(K1,2)+1,div(KK-K1,2)+1) for K1=0:KK] for Lam=0:KK] for KK=0:Nrmax] - Ndim = [ zeros(Int64,i) for i=1:Nrmax+1] - Transbk= Float64[] - - sp_P5_9j = [ wigner9j(1,1,0,1//2,1//2,0,1//2,1//2,0) wigner9j(1,1,0,1//2,1//2,1,1//2,1//2,1); - wigner9j(1,1,2,1//2,1//2,0,1//2,1//2,0) wigner9j(1,1,2,1//2,1//2,1,1//2,1//2,1)] - cg1s = [clebschgordan(Float64,1,0,1,0,0,0),clebschgordan(Float64,1,0,1,0,2,0)] + emax = chiEFTobj.params.emax nofst = 0 - nljsnt = [ [0,0] ]; deleteat!(nljsnt,1) - for temax = 0:emax #2n +l = temax + nljsnt = Vector{Int64}[] + for temax = 0:emax for l = temax%2:2:temax n = div(temax-l,2) jmin = 2*l-1 @@ -104,67 +71,6 @@ function TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) end end end - - f_mb,g_mb,w_mb = def_fgw() - num=0 - for KK=0:Nrmax - for Lam=0:KK - nume[KK+1,Lam+1]=num #nume(KK,Lam)=num - for K1=0:KK - K2=KK-K1 - if K2 < K1; continue;end - for N1=0:div(K1,2) - L1=K1-2*N1 - for N2=0:div(K2,2) - L2=K2-2*N2 - for K3=0:KK - K4=KK-K3 - if K4 < K3;continue;end - for N3=0:div(K3,2)#N3=0,K3/2 - L3=K3-2*N3 - for N4=0:div(K4,2) - L4=K4-2*N4 - if abs(L1-L2) > Lam || (L1+L2) < Lam;continue;end - if 2*N1+L1+2*N2+L2 != KK;continue;end - if abs(L3-L4) > Lam || (L3+L4) < Lam;continue;end - if 2*N3+L3+2*N4+L4 != KK;continue;end - num=num+1 - if KK <= Nrmax - fmosh = gmosh(N1,L1,N2,L2,N3,L3,N4,L4,Lam,1.0,f_mb,g_mb,w_mb) - push!(Transbk,fmosh) - end - end - end - end - end - end - end - end - end - #println("dim. of HO brackets = $num") - for KK=0:Nrmax - tarr = numknn[KK+1] - for Lam=0:KK - num = 0 - tar2 = tarr[Lam+1] - for K1=0:KK - K2=KK-K1 - tar3 = tar2[K1+1] - if K2 < K1; continue;end - for N1=0:div(K1,2) # do N2=0,K2/2 - L1=K1-2*N1 - for N2=0:div(K2,2) - L2=K2-2*N2 - if abs(L1-L2) >Lam || L1+L2 < Lam;continue;end - if 2*N1+L1+2*N2+L2 != KK; continue;end - num=num+1 - tar3[N1+1,N2+1]=num - end - end - end - Ndim[KK+1][Lam+1]=num - end - end nljdict = Dict{Int64,Int64}() if writesnt target_nlj = params.target_nlj @@ -175,7 +81,7 @@ function TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) println(io,"tza, a, tzb, b, tzc, c, tzd, d, J12, , /mhw") elseif tbme_fmt=="snt" if length(target_nlj)!=0 - nljdict = def_sps_snt(params.emax,params.target_nlj)[2] + nljdict = def_sps_snt(params.emax,target_nlj)[2] end write_spes(params,io,nljsnt,nofst,nTBME,nljdict) elseif tbme_fmt=="snt.bin" @@ -187,35 +93,25 @@ function TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) end tbmes = [ Dict{Vector{Int64},Vector{Vector{Float64}}}() for pnrank=1:3] tkeys = [zeros(Int64,4) for i=1:4] - key6j = zeros(Int64,5) - t2vs=[zeros(Int64,2) for i=1:nthreads()] - t5vs=[zeros(Int64,5) for i=1:nthreads()] - @inbounds for ich in eachindex(infos) #1:length(infos) + @inbounds for ich in eachindex(infos) izz,ip,Jtot,ndim=infos[ich] pnrank = Int(div(izz,2))+2 izs = izs_ab[ich] vv = zeros(Float64,ndim,ndim) - @timeit to "vtrans" @inbounds @threads for i = 1:ndim - t2v=t2vs[threadid()] - t5v=t5vs[threadid()] + vv_2n3n = zeros(Float64,ndim,ndim) + @timeit to "vtrans" @inbounds @floop for i = 1:ndim iza,ia,izb,ib = izs[i] @inbounds for j = 1:i izc,ic,izd,id= izs[j] - v12 = vtrans(chiEFTobj,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id, - nljsnt,V12ab,nume,numknn,Ndim,Transbk,t2v,t5v,to) - if chiEFTobj.params.v_chi_order >= 1 - vvs = zeros(Float64,5) - NLOvs(params,dLECs,vvs,xr,wr,xrP,wrP,Rnl,RNL,cg1s,sp_P5_9j,nljsnt,pnrank,ip, - X9,U6,t5v,Jtot,iza,ia,izb,ib,izc,ic,izd,id,to) - for i=1:5; v12 += vvs[i]; end - end - vv[i, j] = v12; vv[j, i] = v12 + v12,v12_2n3n = vtrans(chiEFTobj,dWS,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id,nljsnt,V12ab,V12ab_2n3n,to) + vv[i, j] = vv[j, i] = v12 + vv_2n3n[i, j] = vv_2n3n[j, i] = v12_2n3n end end if writesnt - write_tbme(params,io,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,dict6j,d6j_nabla,key6j;ofst=nofst) + write_tbme(params,io,ndim,izs,Jtot,vv,vv_2n3n,nljsnt,nljdict,dWS,tkeys;ofst=nofst) else - set_tbme(chiEFTobj,tbmes[pnrank],ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,key6j,to;ofst=nofst) + set_tbme(chiEFTobj,tbmes[pnrank],ndim,izs,Jtot,vv,vv_2n3n,nljsnt,nljdict,dWS,tkeys,to;ofst=nofst) end end if writesnt @@ -226,9 +122,7 @@ function TMtrans(chiEFTobj,to;calc_relcm=false,writesnt=true) end end -function set_tbme(chiEFTobj,tbmes,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,key6j,to;ofst=0) - dict6j = chiEFTobj.dict6j - d6j_nabla = chiEFTobj.d6j_nabla +function set_tbme(chiEFTobj::ChiralEFTobject,tbmes,ndim,izs,Jtot,vv,vv_2n3n,nljsnt,nljdict,dWS,tkeys,to;ofst=0) target_nlj = chiEFTobj.params.target_nlj @inbounds for i = 1:ndim iza,ia,izb,ib = izs[i] @@ -236,6 +130,7 @@ function set_tbme(chiEFTobj,tbmes,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,key6j,to nb,lb,jb = nljsnt[ib] for j = 1:i tv = vv[i,j] + tv_2n3n = vv_2n3n[i,j] izc,ic,izd,id= izs[j] nc,lc,jc = nljsnt[ic] nd,ld,jd = nljsnt[id] @@ -275,22 +170,24 @@ function set_tbme(chiEFTobj,tbmes,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,key6j,to owtkey!(tkeys[2],nb,lb,jb,izb) owtkey!(tkeys[3],nc,lc,jc,izc) owtkey!(tkeys[4],nd,ld,jd,izd) - vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dict6j,d6j_nabla,key6j) + vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dWS) owtkey!(tkeys[1],fa,fb,fc,fd) t = get(tbmes,tkeys[1],false) if t == false - tbmes[copy(tkeys[1])] = [ [1.0*Jtot, 0.0, tv, vpp] ] + tbmes[copy(tkeys[1])] = [ [1.0*Jtot, 0.0, tv, tv_2n3n, vpp] ] else - push!(tbmes[tkeys[1]], [1.0*Jtot, 0.0, tv, vpp]) + push!(tbmes[tkeys[1]], [1.0*Jtot, 0.0, tv, tv_2n3n,vpp]) end end end return nothing end +""" + red_nabla_l(n1,l1,n2,l2) +returns ``b \\langle n_1,l_1|| \\nabla ||n_2,l_2 \\rangle`` in ``l``-reduced matrix element. +""" function red_nabla_l(n1,l1,n2,l2) - #""" b* in l-reduced m.e. - #N.B. l1, l2 are not żd """ if n1 == n2 && l1 == l2+1 return -sqrt((l2 + 1.0)*(n2 + l2 + 1.5)) elseif n1 == n2-1 && l1 == l2+1 @@ -304,36 +201,27 @@ function red_nabla_l(n1,l1,n2,l2) end end -function red_nabla_j(nlj1, nlj2) - # b* N.B. l1, l2 are not doubled """ - n1, l1, j1 = nlj1 - n2, l2, j2 = nlj2 - ret = (-1)^((3+2*l1+j2)//2) * sqrt(1.0*(j1+1)*(j2+1)) * - wigner6j(Float64,j1//2, 1, j2//2, l2, 1//2, l1) * red_nabla_l(n1,l1,n2,l2) - return ret -end -function red_nabla_j(nlj1,nlj2,d6j,key6j) - # b* N.B. l1, l2 are not doubled """ - # j1//2 j2//2 1; l2 l1 1//2 - n1, l1, j1 = nlj1 - n2, l2, j2 = nlj2 +""" + red_nabla_j(nlj1,nlj2,d6j,key6j) +returns ``b \\langle j || \\nabla || j_2\\rangle`` +Note that ``l_1,l_2`` in `nlj1`&`nlj2` are not doubled. +""" +function red_nabla_j(nlj1,nlj2,d6j_lj) + n1, l1, j1 = nlj1; n2, l2, j2 = nlj2 if tri_check(j1//2,j2//2,1)==false;return 0.0;end if tri_check(l1,l2,1)==false;return 0.0;end if tri_check(j1//2,1//2,l1)==false;return 0.0;end - key6j[1] = j1; key6j[2] = j2; key6j[3] = l2; key6j[4] = l1; key6j[5]=0 - t6j = d6j[key6j] ret = (-1)^((3+2*l1+j2)//2) * sqrt(1.0*(j1+1)*(j2+1)) * - t6j * red_nabla_l(n1,l1,n2,l2) + call_d6j(j2,j1,2,l1*2,l2*2,1,d6j_lj) * red_nabla_l(n1,l1,n2,l2) return ret end """ kinetic_ob(nlj1, nlj2) -calc. kinetic one-body contribution +calc. kinetic one-body contribution ```\\langle j_1 |T/\\habr\\omega| j_2 \\rangle``` """ function kinetic_ob(nlj1, nlj2) - #""" """ n1, l1, j1 = nlj1 n2, l2, j2 = nlj2 ret = 0.0 @@ -349,12 +237,11 @@ function kinetic_ob(nlj1, nlj2) end """ - kinetic_tb(nljtz1, nljtz2, nljtz3, nljtz4,J, dict6j,d6j_nabla,key6j) + kinetic_tb(nljtz1, nljtz2, nljtz3, nljtz4, J, dWS) -calc. kinetic two-body contribution using preallocated 6j Dict +calc. kinetic two-body contribution ``\\langle j_1j_2|| -p_1 p_2/\\hbar\\omega ||j_3j_4\\rangle_J`` using preallocated 6j-symbols. """ -function kinetic_tb(nljtz1, nljtz2, nljtz3, nljtz4,J, dict6j,d6j_nabla,key6j) - #""" _J """ +function kinetic_tb(nljtz1,nljtz2,nljtz3,nljtz4,J,dWS) n1, l1, j1, tz1 = nljtz1; n2, l2, j2, tz2 = nljtz2 n3, l3, j3, tz3 = nljtz3; n4, l4, j4, tz4 = nljtz4 nlj1 = @view nljtz1[1:3] @@ -364,21 +251,24 @@ function kinetic_tb(nljtz1, nljtz2, nljtz3, nljtz4,J, dict6j,d6j_nabla,key6j) norm = 1.0; ret = 1.0 if nljtz1 == nljtz2; norm *= 1.0/sqrt(2.0);end if nljtz3 == nljtz4; norm *= 1.0/sqrt(2.0);end - nkey = get_nkey_from_key6j(j1,j2,j4,j3,1); t = get(dict6j[J+1],nkey,false) - t6j = 0.0; if t!=false;t6j = dict6j[J+1][nkey]; end - nkey = get_nkey_from_key6j(j1,j2,j3,j4,1); t = get(dict6j[J+1],nkey,false) - t6j_2 = 0.0; if t!=false; t6j_2 = dict6j[J+1][nkey];end - - nabla1324 = red_nabla_j(nlj1,nlj3,d6j_nabla,key6j) * red_nabla_j(nlj2,nlj4,d6j_nabla,key6j) + t6j = t6j_2 = 0.0 + d6j_lj = dWS.d6j_lj + if tri_check(j1/2,j3/2,1) && tri_check(j4/2,j3/2,J) && tri_check(j4/2,j2/2,1) + t6j = call_d6j(j1,j2,J*2,j4,j3,2,d6j_lj) + end + if tri_check(j1/2,j4/2,1) && tri_check(j4/2,j3/2,J) && tri_check(j3/2,j2/2,1) + t6j_2 = call_d6j(j1,j2,J*2,j3,j4,2,d6j_lj) + end + nabla1324 = red_nabla_j(nlj1,nlj3,d6j_lj) * red_nabla_j(nlj2,nlj4,d6j_lj) + if tz1==tz2==tz3==tz4 - nabla1423 = red_nabla_j(nlj1, nlj4,d6j_nabla,key6j) * red_nabla_j(nlj2,nlj3,d6j_nabla,key6j) + nabla1423 = red_nabla_j(nlj1, nlj4,d6j_lj) * red_nabla_j(nlj2,nlj3,d6j_lj) ret = (-1)^((j2+j3)//2+J) * t6j * nabla1324 - (-1)^((j3+j4)//2-J) * (-1)^((j2+j4)//2+J) * t6j_2 * nabla1423 elseif ( tz1==-1 && tz2 ==1 && tz3 == -1 && tz4 ==1) || ( tz1==1 && tz2 ==-1 && tz3 == 1 && tz4 ==-1) ret = (-1)^((j2+j3)//2+J) * t6j * nabla1324 else @error "error in kinetic_tb" - exit() end return norm*ret end @@ -388,52 +278,6 @@ function Nfac_jj(na,la,ja,nb,lb,jb) return s end -""" - HObracket(n1,l1,n2,l2,n,l,N,L,Lam;d=1) - -To calc. harmonic oscillator brackets, ``_d``. -The phase ``(-1)^(N+n+n1+n2)`` is needed to reproduce Tab.1 of [1]. - -## Reference: -[1] B.Buck& A.C.merchant, Nucl.Phys. A600 (1996) 387-402 - -[2] G.P.Kamuntavicius et al., Nucl.Phys. A695 (2001) 191-201 -""" -function HObracket(n1,l1,n2,l2,n,l,N,L,Lam;d=1) - e1 = 2*n1+l1 - e2 = 2*n2+l2 - e = 2*n+l - E = 2*N+L - t1 = d^((e1-e)/2) * (1+d)^(-(e1+e2)/2) - phase = (-1)^(N+n+n1+n2) - sum = 0.0 - for ed = 0:min(e2,e) - ec = e2-ed - ea = E-ec - eb = e1-ea - for la = ea:-2:0 - na = div(ea-la,2) - for lb = eb:-2:0 - nb = div(eb-lb,2) - for lc = ec:-2:0 - nc = div(ec-l,2) - for ld = ed:-2:0 - nd = div(ed-ld,2) - t2 = (-d)^ed * wigner9j(la,lb,l1,lc,ld,l2,L,l,Lam) - if t2 == 0.0;continue;end - t2 *= Ghob(e1,l1,ea,la,eb,lb) * Ghob(e2,l2,ec,lc,ed,ld) - if t2 == 0.0;continue;end - t2 *= Ghob(E,L,ea,la,ec,lc) * Ghob(e,l,eb,lb,ed,ld) - if t2 == 0.0;continue;end - sum += t2 - end - end - end - end - end - return Float64(t1*sum)*phase -end - function mydoublefactorial(n::Integer) if n ==0 || n==1 || n==-1; return 1.0;end if n < 0 @@ -444,39 +288,11 @@ function mydoublefactorial(n::Integer) return Float64(z[]) end -""" - CGm0(l1,l2,l) - -CG coefficients for special case (l1,m1=0,l2,m2=0|l,m=0) -""" -function CGm0(l1,l2,l) - if (l1+l2+l) % 2 == 1;return 0.0;end - g = div(l1+l2+l,2) - r = (-1)^(g-l) - r *= sqrt( (2*l+1) * factorial(big(g))/factorial(big(g-l)) - * mydoublefactorial(2*g-2*l1-1) / factorial(big(g-l1)) - * mydoublefactorial(2*g-2*l2-1) / factorial(big(g-l2)) - * mydoublefactorial(2*g-2*l-1) / doublefactorial(2*g+1) ) - return r -end -function Ghob(e1, l1, ea, la, eb, lb,dtri,dcgm0,keycg;to=nothing) - keycg[3] = l1 - cg = 0.0 - if la <= lb - keycg[1] = la; keycg[2] = lb; cg = dcgm0[keycg] - else - keycg[1] = lb; keycg[2] = la; cg = dcgm0[keycg] *( (-1)^(la+lb-l1)) - end +function Ghob(e1, l1, ea, la, eb, lb,dtri,dcgm0;to=nothing) + cg = call_dcgm0(la,lb,l1,dcgm0) r = cg * sqrt( (2.0*la + 1.0) * (2.0*lb + 1.0) ) - keycg[1]=e1-l1; keycg[2]=ea-la; keycg[3]=eb-lb; r *= sqrt( dtri[keycg] ) - keycg[1]=e1+l1+1; keycg[2]=ea+la+1; keycg[3]=eb+lb+1; r *= sqrt( dtri[keycg] ) - return r -end -function Ghob(e1, l1, ea, la, eb, lb;to=nothing) - cg = CGm0(la,lb,l1) - r = cg * sqrt( (2*la + 1) * (2*lb + 1) - * trinomial(e1-l1, ea-la, eb-lb) - * trinomial(e1+l1+1, ea+la+1, eb+lb+1) ) + r *= sqrt(dtri[get_nkey3(e1-l1,ea-la,eb-lb)]) + r *= sqrt(dtri[get_nkey3(e1+l1+1,ea+la+1,eb+lb+1)]) return r end @@ -485,7 +301,6 @@ function trinomial(n1,na,nb) end function tri_check(ja,jb,jc) - TF= true if ja+jb < jc ; return false;end if jb+jc < ja ; return false;end if jc+ja < jb ; return false;end @@ -495,21 +310,23 @@ function tri_check(ja,jb,jc) return true end -function gmosh2(nl, ll, nr, lr, n1, l1, n2, l2, lm, d::Float64,dWs,tkey9j,dict9j_HOB,to) - # dWS: dWS2n or dWS3n struct - # NN => mainly d=1,3N => d=1/3 - targetdict = dict9j_HOB[lm+1] +""" + HObracket(nl, ll, nr, lr, n1, l1, n2, l2, Lam, d::Float64,dWs,tkey9j,dict9j_HOB,to) +To calc. generalized harmonic oscillator brackets (HOBs), ``<>_d`` from the preallocated 9j dictionary. + +## Reference: +- [1] B.Buck& A.C.merchant, Nucl.Phys. A600 (1996) 387-402 +- [2] G.P.Kamuntavicius et al., Nucl.Phys. A695 (2001) 191-201 +""" +function HObracket_d6j(nl, ll, nr, lr, n1, l1, n2, l2, Lam, d::Float64, dtri, dcgm0, d6j, to) r = 0.0 ee = 2*nl + ll er = 2*nr + lr e1 = 2*n1 + l1 e2 = 2*n2 + l2 if ee + er != e1 + e2; return r;end - if !tri_check(ll, lr, lm);return r;end - if !tri_check(l1, l2, lm);return r;end - keycg = dWs.keycg[threadid()] - dcgm0 = dWs.dcgm0 - dtri = dWs.dtri + if !tri_check(ll, lr, Lam);return r;end + if !tri_check(l1, l2, Lam);return r;end phase = (-1.0)^(n1 + n2 + nr + nl) t = sqrt( ( d^(e1 - er)) / ((1.0 + d)^(e1 + e2))) m = min(er, e2) @@ -525,261 +342,116 @@ function gmosh2(nl, ll, nr, lr, n1, l1, n2, l2, lm, d::Float64,dWs,tkey9j,dict9j for la = ea:-2:0 if !tri_check(la,lb,l1);continue;end if !tri_check(la,ll,lc);continue;end - tkey9j[1] = la;tkey9j[2] = lb;tkey9j[3] = l1 - tkey9j[4] = lc;tkey9j[5] = ld;tkey9j[6] = l2 - tkey9j[7] = ll;tkey9j[8] = lr;tkey9j[9] = lm - intkey9j_12,intkey9j_lr,intkey9j_abcd, flip = flip_needed(tkey9j) - t9j = targetdict[intkey9j_12][intkey9j_lr][intkey9j_abcd] - if flip; t9j *= (-1)^(la+lb+l1+lc+ld+l2+ll+lr+lm);end - tmp = ((-d)^ed) * t + t9j = wigner9j_d6jint(la*2,lb*2,l1*2,lc*2,ld*2,l2*2,ll*2,lr*2,Lam*2,d6j) + tmp = ((-d)^ed) * t tmp *= t9j - tmp *= Ghob(e1, l1, ea, la, eb, lb, dtri, dcgm0, keycg) - tmp *= Ghob(e2, l2, ec, lc, ed, ld, dtri, dcgm0, keycg) - tmp *= Ghob(ee, ll, ea, la, ec, lc, dtri, dcgm0, keycg) - tmp *= Ghob(er, lr, eb, lb, ed, ld, dtri, dcgm0, keycg) + tmp *= Ghob(e1, l1, ea, la, eb, lb, dtri, dcgm0) + tmp *= Ghob(e2, l2, ec, lc, ed, ld, dtri, dcgm0) + tmp *= Ghob(ee, ll, ea, la, ec, lc, dtri, dcgm0) + tmp *= Ghob(er, lr, eb, lb, ed, ld, dtri, dcgm0) r += tmp end end end end end - return r * phase -end - -function flip_needed(tkey9j) - la,lb,l1,lc,ld,l2,ll,lr,lm = tkey9j - nflip = 0 - if l1 > l2 - nflip += 1 - tkey9j[1] = lc; tkey9j[2] = ld; tkey9j[3] = l2 - tkey9j[4] = la; tkey9j[5] = lb; tkey9j[6] = l1 - end - la,lb,l1,lc,ld,l2,ll,lr,lm = tkey9j - if ll > lr - nflip += 1 - tkey9j[1] = lb; tkey9j[2] = la - tkey9j[4] = ld; tkey9j[5] = lc - tkey9j[7] = lr; tkey9j[8] = ll - end - intkey9j_12 = 1000*tkey9j[3] + tkey9j[6] - intkey9j_lr = 1000*tkey9j[7] + tkey9j[8] - intkey9j_abcd = (1000^3)*tkey9j[1] + (1000^2)*tkey9j[2] + (1000^1)*tkey9j[4] + tkey9j[5] - return intkey9j_12,intkey9j_lr,intkey9j_abcd, nflip==1 -end - -# #to prepare Mochinsky brakets -function gmosh(n,l,nc,lc,n1,l1,n2,l2,lr,d,f_mb,g_mb,w_mb) - ret = 0.0 - if n+n+nc+nc+l+lc-n1-n1-n2-n2-l1-l2 != 0 ;return ret;end - if l+lc-lr < 0 || l1+l2-lr < 0 ;return ret;end - if abs(l-lc)-lr > 0 || abs(l1-l2)-lr > 0 ;return ret;end - dl=log(d) - d1l=log(d+1.0) - - bb = f_mb[n1+1]+f_mb[n2+1]+f_mb[n+1]-f_mb[nc+1] - bb += g_mb[n1+l1+1]+g_mb[n2+l2+1]-g_mb[n+l+1]-g_mb[nc+lc+1] - ba = w_mb[l1+1]+w_mb[l2+1]+w_mb[lc+1]+w_mb[l+1] - ba += f_mb[l1+l2-lr+1]+f_mb[l+lc+lr+2]+f_mb[l+lc-lr+1]+f_mb[lc+lr-l+1] - ba += f_mb[lr+l-lc+1]-f_mb[l1+l2+lr+2]-f_mb[l1+lr-l2+1]-f_mb[l2+lr-l1+1]-l*d1l - - ip=lr+n+n1+n2 - p=1+2*(div(ip,2)*2-ip) - - anorm=p*exp(0.5*(bb+ba)) - y=0.0 - j1f=l+1 - - for j1=1:j1f - j2=l+2-j1 - k1i=abs(l1-j1+1)+1 - k1f=l1+j1 - for k1=k1i:2:k1f - m1f=n1-div(j1+k1-l1,2)+2 - if m1f-1 < 0 ;continue;end - k2i=max(abs(l2-j2+1),abs(lc-k1+1))+1 - k2f=min(l2+j2,lc+k1) - if k2i-k2f > 0 ;continue;end - for k2=k2i:2:k2f - m2f=n2-div(j2+k2-l2,2)+2 - if m2f-1 < 0 ;continue;end - ip=j2-1+div(l1+k1+j1+l2+k2+j2,2) - p=1+2*(div(ip,2)*2-ip) - bc = 0.5*((k1+j2-2)*dl-(k1+k2-2)*d1l) - bc += f_mb[k1+l1-j1+1]+f_mb[k1+k2-lc-1]+f_mb[k2+l2-j2+1]-f_mb[k1+l1+j1]-f_mb[k1+k2+lc] - bc += -f_mb[k2+l2+j2]+w_mb[k1]+w_mb[k2]+f_mb[div(k1+l1+j1,2)] - bc += f_mb[div(k1+k2+lc,2)]+f_mb[div(k2+l2+j2,2)] - bc += -f_mb[div(k1+l1-j1,2)+1]-f_mb[div(l1+j1-k1,2)+1] - bc += -f_mb[div(j1+k1-l1,2)]-f_mb[div(k1+k2-lc,2)] - bc += -f_mb[div(k2+lc-k1,2)+1]-f_mb[div(lc+k1-k2,2)+1] - bc += -f_mb[div(k2+l2-j2,2)+1]-f_mb[div(l2+j2-k2,2)+1] - bc += -f_mb[div(j2+k2-l2,2)] - #println("bc $bc") - - cfac=p*exp(bc) - sxy=0.0 - ixf=min(k1+k1,k1+k2-lc)-1 - for ix=1:ixf - iyi=max(1,ix+j1+l2-k1-lr) - iyf=min(l2+l2+1,l1+l2-lr+1,l2+lc+ix-k1-j2+2) - if iyi-iyf > 0;continue;end - for iy=iyi:iyf - ip=ix+iy - p=1+2*(div(ip,2)*2-ip) - bxy = f_mb[k1+k1-ix]+f_mb[l2+l2-iy+2] - bxy += f_mb[k2+lc-k1+ix]+f_mb[l1+lr-l2+iy] - bxy += -f_mb[ix]-f_mb[iy]-f_mb[k1+k2-lc-ix] - bxy += -f_mb[l1+l2-lr-iy+2]-f_mb[k1-l2+lr-j1+iy-ix+1] - bxy += -f_mb[l2-k1+lc-j2+ix-iy+3] - sxy += p*exp(bxy) - end - end - s=cfac*sxy - sm=0.0 - for m1=1:m1f - m2i=max(1,nc-m1-div(k1+k2-lc,2)+3) - if m2i-m2f > 0;continue;end - for m2=m2i:m2f - ip=m1+m2 - p=1+2*(div(ip,2)*2-ip) - bm = (m1-1)*dl-(m1+m2-2)*d1l+g_mb[1] - bm += g_mb[m1+m2+div(k1+k2+lc,2)-2]-g_mb[k1+m1-1] - bm += -g_mb[k2+m2-1]+f_mb[m1+m2+div(k1+k2-lc,2)-2] - bm += -f_mb[m1]-f_mb[m2]-f_mb[n1-m1-div(j1+k1-l1,2)+3] - bm += -f_mb[n2-m2-div(j2+k2-l2,2)+3]-f_mb[m1+m2-nc+div(k1+k2-lc,2)-2] - sm=sm+p*exp(bm) - end - end - y += s*sm - end - end - end - ret = anorm*y - return ret + return r * phase end -function def_fgw(;maxjj=200) - f_mb = zeros(Float64,maxjj) - g_mb = zeros(Float64,maxjj) - w_mb = zeros(Float64,maxjj) - f_mb[1]=0.0 - g_mb[1]=log(0.5) - w_mb[1]=0.0 - for i=2:maxjj - a=i-1 - f_mb[i]=f_mb[i-1]+log(a) - g_mb[i]=g_mb[i-1]+log(a+0.5) - w_mb[i]=log(a+a+1.0) - end - return f_mb,g_mb,w_mb -end +""" + vtrans(chiEFTobj,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id,nljsnt,V12ab,t5v,to) -function vtrans(chiEFTobj,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id, - nljsnt,V12ab,nume,numknn,Ndim,Transbk,t2v,t5v,to) - emax = chiEFTobj.params.emax - X9 = chiEFTobj.X9; U6 = chiEFTobj.U6; arr_pwch = chiEFTobj.arr_pwch - ret = 0.0 +Function to calculate V in pn-formalism: +```math +\\langle ab;JTz|V| cd;JTz \\rangle = N_{ab} N_{cd} \\sum_{\\Lambda S \\Lambda' S'} \\sum_{n\\ell N L}\\sum_{n'\\ell' N' L'} +\\sum_{J_\\mathrm{rel}J'_\\mathrm{rel}} [\\Lambda][\\Lambda'] \\hat{S}\\hat{S'} \\hat{J}_\\mathrm{rel}\\hat{J}'_\\mathrm{rel} +\\hat{j}_a \\hat{j}_b \\hat{j}_c \\hat{j}_d +(-1)^{\\ell + S + J_\\mathrm{rel} + L} (-1)^{\\ell' + S' + J'_\\mathrm{rel} + L'} +\\langle n N [ (\\ell L)\\Lambda S] J| n_a n_b [ (\\ell_a \\ell_b)\\Lambda (\\tfrac{1}{2}\\tfrac{1}{2})S ]J \\rangle_{d=1} +\\langle n' N' [ (\\ell' L')\\Lambda' S'] J| n_c n_d [ (\\ell_c \\ell_d)\\Lambda' (\\tfrac{1}{2}\\tfrac{1}{2})S' ]J \\rangle_{d=1} +\\left\\{ \\begin{matrix} \\ell_a & \\ell_b & \\Lambda \\\\ 1/2 & 1/2 & S \\\\ j_a & j_b & J \\end{matrix} \\right\\} +\\left\\{ \\begin{matrix} \\ell_c & \\ell_d & \\Lambda' \\\\ 1/2 & 1/2 & S' \\\\ j_c & j_d & J \\end{matrix} \\right\\} +\\left\\{ \\begin{matrix} L & \\ell & \\Lambda \\\\ S & J & J_\\mathrm{rel} \\end{matrix} \\right\\} +\\left\\{ \\begin{matrix} L' & \\ell' & \\Lambda' \\\\ S' & J & J'_\\mathrm{rel} \\end{matrix} \\right\\} +\\langle n\\ell S J_\\mathrm{rel} T|V_\\mathrm{NN}|n'\\ell' S' J'_\\mathrm{rel} T\\rangle +``` +""" +function vtrans(chiEFTobj::ChiralEFTobject,dWS,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id,nljsnt,V12ab,V12ab_2n3n,to) + d6j_int = dWS.d6j_int + d9j_lsj = dWS.d9j_lsj + arr_pwch = chiEFTobj.arr_pwch + ret = ret_2n3n = 0.0 na,la,jda = nljsnt[ia]; nb,lb,jdb = nljsnt[ib] nc,lc,jdc = nljsnt[ic]; nd,ld,jdd = nljsnt[id] lrmax = jmax + 1 - Nrmax = 2*emax - mab=2*na+la+2*nb+lb; mcd=2*nc+lc+2*nd+ld + Eab=2*na+la+2*nb+lb; Ecd=2*nc+lc+2*nd+ld TF = false - if izz != iza+izb || izz != izc+izd; TF;end + if izz != iza+izb || izz != izc+izd; TF=true;end if Jtot > div(jda+jdb,2) || Jtot < abs(div(jda-jdb,2)); TF=true;end if Jtot > div(jdc+jdd,2) || Jtot < abs(div(jdc-jdd,2)); TF=true;end if (-1)^(la+lb) != ip || (-1)^(lc+ld) != ip; TF=true;end if (izz==2 || izz==-2) && ia==ib && (-1)^(Jtot)==-1; TF=true;end if (izz==2 || izz==-2) && ic==id && (-1)^(Jtot)==-1; TF=true;end - if TF; return ret;end - U6_j = U6[Jtot+1] + if TF; return ret,ret_2n3n;end for S=0:1 - tX9 = X9[S+1] - U6_s = U6_j[S+1] tarr_pwch = arr_pwch[pnrank][S+1] - lmax1=min(Jtot+S,la+lb) - lmin1=max(abs(Jtot-S),abs(la-lb)) - if lmin1 > lmax1;continue;end - lmax2=min(Jtot+S,lc+ld) - lmin2=max(abs(Jtot-S),abs(lc-ld)) - if lmin2 > lmax2;continue;end + lmax1=min(Jtot+S,la+lb); lmin1=max(abs(Jtot-S),abs(la-lb)); if lmin1 > lmax1;continue;end + lmax2=min(Jtot+S,lc+ld); lmin2=max(abs(Jtot-S),abs(lc-ld)); if lmin2 > lmax2;continue;end @inbounds for Lam=lmin1:lmax1 - Ja = jda-2*la; Jb = jdb-2*lb - t5v[1] = la;t5v[2] = Ja;t5v[3] = lb; - t5v[4] = Jb;t5v[5] = Lam - ttX9 = tX9[Jtot+1] - x1= get(ttX9,t5v,0.0) * (-1)^Lam - U6_lam1 = U6_s[Lam+1] - @inbounds for Lamp=lmin2:lmax2 - Jc = jdc-2*lc; Jd = jdd-2*ld - t5v[1] = lc;t5v[2] = Jc;t5v[3] = ld - t5v[4] = Jd;t5v[5] = Lamp - x2=get(ttX9,t5v,0.0) * (-1)^Lamp - kncu=div(mab,2) - U6_lam2 = U6_s[Lamp+1] - @inbounds for Ncm=0:kncu - klcmax=min((mab-2*Ncm),(mcd-2*Ncm)) - if klcmax < 0;continue;end - @inbounds for Lcm=0:klcmax - klrmi1=abs(Lcm-Lam) - klrma1=min(lrmax,Lcm+Lam) - U6_Lcm1 = U6_lam1[Lcm+1] - U6_Lcm2 = U6_lam2[Lcm+1] - @inbounds for lr1=klrmi1:klrma1 - nx1=mab-2*Ncm-(lr1+Lcm) - nr1=div(nx1,2) - if nr1 < 0 || nx1!=2*nr1;continue;end - y1 = 0.0 - if 2*nr1+lr1+2*Ncm+Lcm <= Nrmax && mab <= Nrmax - KK = 2*nr1+lr1 + 2*Ncm+Lcm - s_numknn = numknn[KK+1][Lam+1] - ndim = Ndim[KK+1][Lam+1] - y1=trbknum(nr1,lr1,Ncm,Lcm, - na,la,nb,lb,Lam, - nume,s_numknn,ndim,Transbk,t2v) - end + x1 = sqrt((jda+1.0)*(jdb+1.0)) * hat(Lam) *hat(S) * (-1)^Lam + x1 *= call_d9j_lsj(la*2,lb*2,Lam*2,1,1,S*2,jda,jdb,Jtot*2,d9j_lsj) + if x1 == 0.0; continue;end + for Lamp=lmin2:lmax2 + x2 = sqrt((jdc+1.0)*(jdd+1.0)) * hat(Lamp) *hat(S) * (-1)^Lamp + x2 *= call_d9j_lsj(lc*2,ld*2,Lamp*2,1,1,S*2,jdc,jdd,Jtot*2,d9j_lsj) + if x2 == 0.0; continue;end + for Ncm=0:div(Eab,2) + Lcm_max =min(Eab-2*Ncm, Ecd-2*Ncm) + if Lcm_max < 0;continue;end + for Lcm=0:Lcm_max + for lr1=abs(Lcm-Lam):min(lrmax,Lcm+Lam) + nx1=Eab-2*Ncm-(lr1+Lcm); nr1=div(nx1,2); if nr1 < 0 || nx1!=2*nr1;continue;end + y1 = get_dictHOB(nr1,lr1,Ncm,Lcm,na,la,nb,lb,Lam,dWS.dictHOB) if abs(y1) < 1.e-10;continue;end - U6_lr1 = U6_Lcm1[lr1+1] - klrmi2=abs(Lcm-Lamp); klrma2=Lcm+Lamp - @inbounds for lr2=klrmi2:klrma2 + for lr2=abs(Lcm-Lamp):Lcm+Lamp if lr1%2 != lr2%2;continue;end if lr2 > lrmax;continue;end - nx2=mcd-2*Ncm-(lr2+Lcm); nr2=div(nx2,2) + nx2=Ecd-2*Ncm-(lr2+Lcm); nr2=div(nx2,2) if nr2 < 0 || (nx2!=2*nr2);continue;end - y2 = 0.0 - if 2*nr2+lr2+2*Ncm+Lcm <= Nrmax && mcd <= Nrmax - KK = 2*nr2+lr2 + 2*Ncm+Lcm - s_numknn = numknn[KK+1][Lamp+1] - ndim = Ndim[KK+1][Lamp+1] - y2=trbknum(nr2,lr2,Ncm,Lcm, - nc,lc,nd,ld,Lamp, - nume,s_numknn,ndim,Transbk,t2v) - end + y2 = get_dictHOB(nr2,lr2,Ncm,Lcm,nc,lc,nd,ld,Lamp,dWS.dictHOB) if abs(y2) < 1.e-10;continue;end + mj1=abs(lr1-S); mj2=abs(lr2-S); mj3=abs(Jtot-Lcm) kjmin=max(mj1,mj2,mj3) kjmax=min(lr1+S,lr2+S,Jtot+Lcm,6) if kjmin > kjmax;continue;end - U6_lr2 = U6_Lcm2[lr2+1] - sumv=0.0 + sumv=sumv_2n3n=0.0 @inbounds for Jrel=kjmin:kjmax - zu1=U6_lr1[Jrel-abs(lr1-S)+1] + zu1 = hat(Lam)*hat(Jrel)*(-1.0)^(lr1+S+Jrel+Lcm) + zu1 *= call_d6j_nond(Lcm,lr1,Lam,S,Jtot,Jrel,d6j_int) if abs(zu1) < 1.e-10;continue;end - zu2=U6_lr2[Jrel-abs(lr2-S)+1] + + zu2 = hat(Lamp)*hat(Jrel)*(-1.0)^(lr2+S+Jrel+Lcm) + zu2 *= call_d6j_nond(Lcm,lr2,Lamp,S,Jtot,Jrel,d6j_int) if abs(zu2) < 1.e-10;continue;end + izfac=0 if izz==-2 || izz==2 izfac=1+(-1)^(lr1+S) end if izz==0;izfac=1;end - rv12=0.0 + rv12=rv12_2n3n=0.0 if izfac!=0 num= tarr_pwch[Jrel+1][lr1-abs(Jrel-S)+1][lr2-abs(Jrel-S)+1] rv12=V12ab[num][nr1+1,nr2+1] + rv12_2n3n=V12ab_2n3n[num][nr1+1,nr2+1] end sumv += zu1*zu2*izfac*rv12 + sumv_2n3n += zu1*zu2*izfac*rv12_2n3n end zxy=x1*x2*y1*y2 ret += sumv*zxy + ret_2n3n += sumv_2n3n*zxy end end end @@ -791,163 +463,476 @@ function vtrans(chiEFTobj,pnrank,izz,ip,Jtot,iza,ia,izb,ib,izc,ic,izd,id, Nab = Nfac_jj(na,la,jda,nb,lb,jdb) Ncd = Nfac_jj(nc,lc,jdc,nd,ld,jdd) ret *= Nab*Ncd + ret_2n3n *= Nab*Ncd end - return ret + return ret,ret_2n3n end """ - prepareX9U6(Nrmax;to=nothing) + prep_wsyms() -return 6j/9j dict: -for 6j => `jj`->`S`->`lam`->`lc`->`lr`, for 9j => `S`->`J`->`key`= [`la`,`nja`,`lb`,`njb`,`lam`] +preparing Clebsch-Gordan coefficients for some special cases: cg1s = (1,0,l,0|l',0), cg2s = (2,0,l,0|l',0) """ -function prepareX9U6(Nrmax;to=nothing) - jrange = max(Nrmax+1,2*jmax+2) - X9 = [ [ Dict( [0,0] => 0.0) for J=0:jrange ] for S=0:1] - for S=0:1;for J=0:jrange; delete!(X9[S+1][J+1], [0,0]);end;end - jrmax = jmax - lrmax = jrmax+1 - hit6 = 0; hit9=0 - U6 = [[[[[ zeros(Float64,lr+iss-abs(lr-iss)+1) for lr=0:lrmax ] for lc=0:Nrmax] for lam=0:Nrmax] for iss=0:1] for jj=0:Nrmax+1] - for lc =0:Nrmax - for lr =0:lrmax - for lam=0:Nrmax - if lam < abs(lc-lr) || lam > lc+lr; continue;end - for iss=0:1 - for jj=abs(lam-iss):lam+iss - for jr=abs(lr-iss):lr+iss - if jr > jrmax;continue;end - if jr < abs(lc-jj) || jr > lc+jj;continue;end - sfac = sqrt((2.0*lam+1.0)*(2.0*jr+1.0))*(-1.0)^(lc+lr+iss+jj) - tmp = sfac * wigner6j(Float64,lc,lr,lam,iss,jj,jr) - U6[jj+1][iss+1][lam+1][lc+1][lr+1][jr-abs(lr-iss)+1] = tmp - hit6 += 1 - end - end +function prep_wsyms(;lmax=7) + dim = lmax+3 + cg1s = zeros(Float64,dim,dim) + cg2s = zeros(Float64,dim,dim) + d6_121 = zeros(Float64,dim,dim,dim) + d6_21 = zeros(Float64,dim,dim,dim,dim) + d6_222 = zeros(Float64,dim,dim,dim) + d9_12 = zeros(Float64,dim,dim,dim,dim) + for li = 0:dim-1 + for lj =0:dim-1 + cg1s[li+1,lj+1] = clebschgordan(Float64,1,0,li,0,lj,0) + cg2s[li+1,lj+1] = clebschgordan(Float64,2,0,li,0,lj,0) + for j = 0:dim-1 + d6_121[li+1,lj+1,j+1] = wigner6j(Float64,1,2,1,li,lj,j) + d6_222[li+1,lj+1,j+1] = wigner6j(Float64,2,li,lj,j,2,2) + for jp = 0:dim-1 + d6_21[li+1,lj+1,j+1,jp+1] = wigner6j(Float64,li,lj,2,j,jp,1) + d9_12[li+1,lj+1,j+1,jp+1] = wigner9j(1,li,lj,1,j,jp,2,2,2) end end end end - for la=0:Nrmax - for lb=0:Nrmax - for nja=-1:2:1 - jda = 2*la + nja - if jda < 0;continue;end - for njb=-1:2:1 - jdb = 2*lb + njb - if jdb < 0;continue;end - for lam=abs(la-lb):la+lb - if lam > Nrmax;continue;end - for iss=0:1 - for jj=abs(lam-iss):lam+iss - sfac = sqrt((jda+1.0)*(jdb+1.0)*(2.0*lam+1.0)*(2.0*iss+1.0)) - X9[iss+1][jj+1][ - [la,nja,lb,njb,lam] - ] = sfac .* s_wigner9j(la,jda//2, - lb,jdb//2, - lam,iss,jj) - hit9 += 1 - end - end - end - end - end + return wsyms_j1_1or2(cg1s,cg2s,d6_121,d6_21,d6_222,d9_12) +end + +# function jj_std(sps,dictsps,dictTBMEs;fname="") +# if fname=="";fname = "monopole"*fname*".dat" +# else;fname = "monopole_"*fname*".dat";end +# ln = length(sps) +# nmax = maximum([sps[i][1] for i=1:ln]) +# nmin = minimum([sps[i][1] for i=1:ln]) +# lmax = maximum([sps[i][2] for i=1:ln]) +# lmin = minimum([sps[i][2] for i=1:ln]) +# jmax = maximum([sps[i][3] for i=1:ln]) +# jmin = minimum([sps[i][3] for i=1:ln]) +# emax = maximum( [ 2*sps[i][1]+sps[i][2] for i=1:length(sps)]) +# emin = minimum( [ 2*sps[i][1]+sps[i][2] for i=1:length(sps)]) +# Jmax = div(2*jmax+1,2) +# Lmin = 0; Lmax = 2*lmax +# monodict = Dict(["",""]=> [[0.0,[0.0]]]);delete!(monodict,["",""]) +# cpnrank=["pp","pn","nn"] + +# keya = [0,0,0,0]; keyb = [0,0,0,0];keyc=[0,0,0,0]; keyd=[0,0,0,0] # nljtz +# key_abcdJ = [0,0,0,0,0] +# tvjj = zeros(Float64,5) +# for pnrank =1:3 +# tdict = dictTBMEs[pnrank] +# for tkey in keys(tdict) +# a,b,c,d,J = tkey +# na,la,ja2,iza = sps[a]; nb,lb,jb2,izb = sps[b] +# nc,lc,jc2,izc = sps[c]; nd,ld,jd2,izd = sps[d] +# keya[1]=na; keya[2]=la; keya[3]=ja2; keya[4]=iza +# keyb[1]=nb; keyb[2]=lb; keyb[3]=jb2; keyb[4]=izb +# keyc[1]=nc; keyc[2]=lc; keyc[3]=jc2; keyc[4]=izc +# keyd[1]=nd; keyd[2]=ld; keyd[3]=jd2; keyd[4]=izd +# v_target = tdict[tkey] +# tvjj .= 0.0 +# hats = (-1)^J * sqrt((ja2+1.0)*(jb2+1.0)*(jc2+1.0)*(jd2+1.0)) +# for L = abs(la-lb):la+lb +# for S=0:1 +# for Lp = abs(lc-ld):lc+ld +# for Sp = 0:1 +# Jfac = wigner9j(la,1//2,ja2//2,lb,1//2,jb2//2,L,S,J) +# Jfac *= wigner9j(lc,1//2,jc2//2,ld,1//2,jd2//2,Lp,Sp,J) +# for jpa2 = 2*la-1:2:2*la+1 +# if jpa2 <=0;continue;end +# for jpb2 = 2*lb-1:2:2*lb+1 +# if jpb2 <=0;continue;end +# for jpc2 = 2*lc-1:2:2*lc+1 +# if jpc2 <=0;continue;end +# for jpd2 = 2*ld-1:2:2*ld+1 +# if jpd2 <=0;continue;end +# hatps = sqrt((jpa2+1.0)*(jpb2+1.0)*(jpc2+1.0)*(jpd2+1.0)) +# LLSS = (2*L+1)*(2*Lp+1)*(2*S+1)*(2*Sp+1) +# for Jp = max(abs(Lp-Sp),abs(L-S)):min(Lp+Sp,L+S) +# d9j_ab = wigner9j(la,1//2,jpa2//2,lb,1//2,jpb2//2,L,S,Jp) +# d9j_cd = wigner9j(lc,1//2,jpc2//2,ld,1//2,jpd2//2,Lp,Sp,Jp) +# keya[3] = jpa2; keyb[3]=jpb2;keyc[3] = jpc2; keyd[3]=jpd2 +# ap = dictsps[keya];bp = dictsps[keyb];cp = dictsps[keyc];dp = dictsps[keyd] +# key_abcdJ[1] = ap;key_abcdJ[2] = bp +# key_abcdJ[3] = cp;key_abcdJ[4] = dp;key_abcdJ[5] = Jp +# ta=ap; tb=bp;tc=cp;td=dp +# phase = 1.0 +# if ap > bp +# ta = bp; tb = ap +# phase *= (-1)^(div(sps[ap][3]+sps[bp][3],2)+Jp+1) +# end +# if cp > dp +# tc = dp; td = cp +# phase *= (-1)^(div(sps[cp][3]+sps[dp][3],2)+Jp+1) +# end +# fa=ta; fb=tb;fc=tc;fd=td +# if fa > fc || (fa==fc && fb > fd) +# fa=tc;fb=td;fc=ta;fd=tb +# end +# key_abcdJ[1] = fa;key_abcdJ[2] = fb +# key_abcdJ[3] = fc;key_abcdJ[4] = fd;key_abcdJ[5] = Jp +# vjj = get(tdict,key_abcdJ,false) +# if vjj==false;continue; end +# #println("abcd' $ap $bp $cp $dp J' $Jp $nvjj $vjj") +# Jpfac = (-1)^Jp * (2*Jp+1) * d9j_ab * d9j_cd +# for k = 0:2 +# tidx = k+1; if S==Sp && k==1;tidx=4;end +# kfac = (2*k+1) * wigner6j(Float64,L,S,J,Sp,Lp,k) * wigner6j(Float64,L,S,Jp,Sp,Lp,k) +# tvjj[tidx] += hats*hatps*kfac*Jfac*Jpfac * LLSS * vjj *phase +# end +# end +# end +# end +# end +# end +# end +# end +# end +# end +# tvjj[5] = sum( @views tvjj[1:4]) +# if abs(v_target-tvjj[5]) > 1.e-9 +# println("Error TBME(in jj) mismatch!: $tkey v ", +# @sprintf("%12.4e",v_target),"; sum ", @sprintf("%12.4e",tvjj[5])) +# end +# if a==c && b==d && ( a <= b ) +# c = cpnrank[pnrank] +# ca = string(na)*chara_l[la+1]*string(ja2) +# cb = string(nb)*chara_l[lb+1]*string(jb2) +# if get(monodict,[c,ca,cb],false) == false +# monodict[[c,ca,cb]] = [ [J*1.0,copy(tvjj)] ] +# else +# push!(monodict[[c,ca,cb]],[J*1.0,copy(tvjj)]) +# end +# end +# end +# monopole(monodict,fname) +# end +# return nothing +# end + +function monopole(monodict,fname) + io = open(fname,"w") + nume = zeros(Float64,5) + deno = 0.0 + for key in keys(monodict) + tarr = monodict[key] + nume .= 0.0 + deno = 0.0 + for tmp in tarr + J, V =tmp + nume .+= (2*J+1.0) .* V + deno += 2*J +1.0 end + vm = nume ./ deno + tx = key[1]*":"*key[2]*"-"*key[3]*@sprintf("%20.12f", vm[1])*@sprintf("%20.12f", vm[2])*@sprintf("%20.12f", vm[3])*@sprintf("%20.12f", vm[4])*@sprintf("%20.12f", vm[5]) + println(io,tx) end - return X9,U6 -end - - -function overwritekeyHOB!(key,N,Lam,n,lam,n1,l1,n2,l2,L) - key[1] =N; key[2] =Lam; key[3] =n; - key[4] =lam; key[5] =n1; key[6] =l1; - key[7] =n2; key[8] =l2; key[9] =L - phase = 1.0 - if (2*N+Lam > 2*n+lam) && (2*n1+l1 > 2*n2+l2) - key[1]=n; key[2]=lam; key[3]=N; key[4]=Lam - key[5]=n2; key[6]=l2; key[7]=n1; key[8]=l1 - phase = (-1)^(Lam+l2) - end - return phase -end + close(io) + return nothing +end + +function nlj_from_str(str) + lstr = match(r"[a-z]",str).match + n,j = split(str,lstr) + l = -1 + for k=1:length(chara_L) + if lstr==chara_l[k];l=k;break;end + end + l = l-1 + n = parse(Int64,n) + j = parse(Int64,j) + return n,l,j +end + +function get_nkey2_arr(tmp;ofst=10^3) + return tmp[1] + tmp[2] * ofst +end +function get_nkey2(i,j;ofst=10^3) + return i + j * ofst +end + +function get_nkey2_u(i,j)::UInt64 + return (UInt64(i) << 10) + UInt64(j) +end + +function get_nkey3(i,j,k;ofst=10^3) + return i + ofst * j + ofst^2 * k +end + +function get_nkey3_u(i,j,k)::UInt64 + return (UInt64(i) << 20) + (UInt64(j) << 10) + UInt64(k) +end + +function get_nkey3_JPT(arr::Vector{Int64})::UInt64 + return (UInt64(arr[1]+2) << 20) + (UInt64(arr[2]+2) << 10) + UInt64(arr[3]) +end +function get_nkey3_JPT(aTz::Int64,P::Int64,J::Int64)::UInt64 + return (UInt64(aTz+2) << 20) + (UInt64(P+2) << 10) + UInt64(J) +end + +function get_nkey3_ketJ(i,j,J)::UInt64 + return (UInt64(i) << 20) + (UInt64(j) << 10) + UInt64(J) +end + +function get_nkey4(i,j,k,l;ofst=10^3) + return i + ofst * j + ofst^2 * k + ofst^3 * l +end + +function get_nkey6(j1::Int64,j2::Int64,j3::Int64,j4::Int64,j5::Int64,j6::Int64)::UInt64 + return (UInt64(j1) << 50) + (UInt64(j2) << 40) +(UInt64(j3) << 30) + (UInt64(j4) << 20) + (UInt64(j5) << 10) + UInt64(j6) +end """ - PreCalcHOB(chiEFTobj,dict6j,to) + get_nkey_from_abcdarr(tkey;ofst=1000) + +To get integer key from an Int array (with length greater than equal 4) +""" +function get_nkey_from_abcdarr(tkey;ofst=1000) + return tkey[1] + tkey[2] * ofst + tkey[3] * ofst^2 + tkey[4] * ofst^3 +end + +function call_dcgm0(l1,l2,l,dcgm0) + l1p = l1 + l2p = l2 + l3p = l + fac = 1.0 + lmin = min(l1p,min(l2p,l3p)) + if l1p != lmin + if l2p == lmin + l1p,l2p = l2p,l1p + fac *= (-1)^(l1+l2-l) + elseif l3p == lmin + fac *= hat(l3p) / hat(l1p) * (-1)^l2p + l1p,l3p = l3p,l1p + end + end + if l2p > l3p + fac *= hat(l3p) / hat(l2p) * (-1)^l1p + l2p,l3p = l3p,l2p + end + return fac * dcgm0[get_nkey3(l1p,l2p,l3p)] +end + +function call_d6j_nond(j1,j2,j3,j4,j5,j6,d6j) + return d6j[get_key6j_sym(j1*2,j2*2,j3*2,j4*2,j5*2,j6*2)] +end + +function get_phase_j3(j1::Int64,j2::Int64,j3::Int64)::Float64 + p = div(j1+j2+j3,2) % 2 + return ifelse(p==1,-1.0,1.0) +end + +function call_d6j(j1::Int64,j2::Int64,j3::Int64,j4::Int64,j5::Int64,j6::Int64,d6j::Dict{UInt64,Float64})::Float64 + if j1 == 0; return delta(j5,j6) * delta(j2,j3) * get_phase_j3(j4,j5,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j2 == 0; return delta(j1,j3) * delta(j4,j6) * get_phase_j3(j5,j1,j6) / sqrt(1.0*(j1+1)*(j4+1)); end + if j3 == 0; return delta(j1,j2) * delta(j4,j5) * get_phase_j3(j2,j4,j6) / sqrt(1.0*(j2+1)*(j5+1)); end + if j4 == 0; return delta(j3,j5) * delta(j2,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j5 == 0; return delta(j3,j4) * delta(j1,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j1+1)*(j4+1)); end + if j6 == 0; return delta(j1,j5) * delta(j2,j4) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j2+1)*(j5+1)); end + return d6j[get_key6j_sym(j1,j2,j3,j4,j5,j6)] +end -calculating `dict9j`, dict of 9j for Pandya transformation and harmonic oscillator brackets (`HOBs`). -see also "struct HarmonicOscillatorBrackets" in hartreefock.jl/def_struct.jl +function call_d6j_defined(j1::Int64,j2::Int64,j3::Int64,j4::Int64,j5::Int64,j6::Int64,d6j::Dict{UInt64,Float64})::Float64 + if j1 == 0; return delta(j5,j6) * delta(j2,j3) * get_phase_j3(j4,j5,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j2 == 0; return delta(j1,j3) * delta(j4,j6) * get_phase_j3(j5,j1,j6) / sqrt(1.0*(j1+1)*(j4+1)); end + if j3 == 0; return delta(j1,j2) * delta(j4,j5) * get_phase_j3(j2,j4,j6) / sqrt(1.0*(j2+1)*(j5+1)); end + if j4 == 0; return delta(j3,j5) * delta(j2,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j5 == 0; return delta(j3,j4) * delta(j1,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j1+1)*(j4+1)); end + if j6 == 0; return delta(j1,j5) * delta(j2,j4) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j2+1)*(j5+1)); end + nkey = get_nkey6(j1,j2,j3,j4,j5,j6) + return d6j[nkey] +end +function call_d6j_defbyrun(j1::Int64,j2::Int64,j3::Int64,j4::Int64,j5::Int64,j6::Int64,d6j::Dict{UInt64,Float64};def_mode=false)::Float64 + if j1 == 0; return delta(j5,j6) * delta(j2,j3) * get_phase_j3(j4,j5,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j2 == 0; return delta(j1,j3) * delta(j4,j6) * get_phase_j3(j5,j1,j6) / sqrt(1.0*(j1+1)*(j4+1)); end + if j3 == 0; return delta(j1,j2) * delta(j4,j5) * get_phase_j3(j2,j4,j6) / sqrt(1.0*(j2+1)*(j5+1)); end + if j4 == 0; return delta(j3,j5) * delta(j2,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j3+1)*(j6+1)); end + if j5 == 0; return delta(j3,j4) * delta(j1,j6) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j1+1)*(j4+1)); end + if j6 == 0; return delta(j1,j5) * delta(j2,j4) * get_phase_j3(j1,j2,j3) / sqrt(1.0*(j2+1)*(j5+1)); end + if def_mode + nkey = get_nkey6(j1,j2,j3,j4,j5,j6) + t6j = wigner6j(Float64,j1//2,j2//2,j3//2,j4//2,j5//2,j6//2) + if !haskey(d6j,nkey) #&& t6j != 0.0 + d6j[nkey] = t6j + return t6j + end + return 0.0 + else + nkey = get_nkey6(j1,j2,j3,j4,j5,j6) + return d6j[nkey] + #return get(d6j,nkey,0.0) + end +end -In the early version, dict9j is defined as -dict9j = [ [ Dict{Vector{Int64},Float64}() for S=0:1 ] for J=0:Jmax] with key~[la,ja,lb,jb,L] -Dict using array as key is slow, so this was fixed to... -dict9j => nested array J=>S=>L=>ja=>la=>jb=>lb -Note that div(j,2)+1 will be used as idx for ja&jb. +function j_col_score(j1::Int64,j2::Int64)::Int64 + 100 * (j1 + j2) + min(j1,j2) +end -The same can be said for HOBs -HOBs => nested array N=>n=>Lam=>lam=>L=>na=>nb=>la (lb is automatically determined) """ -function PreCalcHOB(chiEFTobj,d6j_int,to;io=stdout) - emax = chiEFTobj.emax - Nnmax = chiEFTobj.Nnmax - Nmax = max(2*emax,Nnmax) - if emax >= 10; Nmax = Nnmax + 10;end - Jmax = jmax2 = 2*emax + 1 - Lmax = Jmax + 1 - lmax = emax + 1 - e2max = emax * 2 - - ### trinomial - dtri = Dict{Vector{Int64},Float64}() - for l = 0:2*Nmax - for l1 = 0:2*Nmax - for l2 = 0:2*Nmax - key = [l1,l2,l] - dtri[key] = trinomial(l1,l2,l) - end +Function to get *canonical* order of 6j-symbol arguments: +```math +\\left\\{ \\begin{matrix} j_1 & j_3 & j_5 \\\\ j_2 & j_4 & j_6\\end{matrix} \\right\\} +``` + +The canonical order is defined as follows: +- Since the 6j-symbol is invariant under permutation of any two columns, we can always re-order the columns such that ``j_1+j_2 \\leq j_3+j_4 \\leq j_5+j_6``. +- If sum of two columns are equal, we re-order columns based on `j_col_score`, using the minimum j value of the two columns. +- Since the 6j-symbol is invariant under permutation rows for any two columns, we can always re-order the rows such that ``j_1 \\leq j_2, j_3 \\leq j_4, j_5 \\leq j_6`` if any column have the same j. +- If the elements of any column are different from each other, the relation between upper and lower j will always be either ``\\vee \\vee \\vee \\& \\vee \\land\\land`` or ``\\land\\land\\land \\& \\land \\vee \\vee ``. We can always re-order the rows such that the ``\\land\\land\\land`` or ``\\vee \\vee \\vee`` is satisfied. +""" +function get_canonical_order_6j(j1::Int64,j2::Int64,j3::Int64,j4::Int64,j5::Int64,j6::Int64)::Int64 + o = 0 + cscore_12 = j_col_score(j1,j2) + cscore_34 = j_col_score(j3,j4) + cscore_56 = j_col_score(j5,j6) + if cscore_12 <= cscore_34 #12 is fixed => 312, 132, 123 + if cscore_34 <= cscore_56 + o = 123 + elseif cscore_56 < cscore_12 # col-3 should be the first column + o = 312 + else + o = 132 + end + else # 2 < 1 is fixed + if cscore_56 <= cscore_34 + o = 321 + elseif cscore_12 <= cscore_56 + o = 213 + else + o = 231 end end - ### CG coeff for special case - Nmax2 = Nmax*2 - dcgm0 = Dict{Vector{Int64},Float64}() - hitCG = 0 - for l = 0:Nmax2 - for l1 = 0:Nmax2 - for l2 = abs(l-l1):l+l1 - if !tri_check(l1,l2,l);continue;end - if l1 > l2;continue;end - key = zeros(Int64,3) - key[1] = l1; key[2]=l2; key[3]=l - dcgm0[key] = CGm0(l1,l2,l) - hitCG +=1 - end + return o +end + +function get_key6j_sym(j1::Int64,j3::Int64,j5::Int64,j2::Int64,j4::Int64,j6::Int64)::UInt64 + tj1 = j1; tj3 = j3; tj5 = j5 + tj2 = j2; tj4 = j4; tj6 = j6 + column_order = get_canonical_order_6j(j1,j2,j3,j4,j5,j6) + if column_order == 231 + tj1,tj2,tj3,tj4,tj5,tj6 = tj3,tj4,tj5,tj6,tj1,tj2 + elseif column_order == 132 + tj3,tj4,tj5,tj6 = tj5,tj6,tj3,tj4 + elseif column_order == 213 + tj1,tj2,tj3,tj4 = tj3,tj4,tj1,tj2 + elseif column_order == 312 + tj1,tj2,tj3,tj4,tj5,tj6 = tj5,tj6,tj1,tj2,tj3,tj4 + elseif column_order == 321 + tj1,tj2,tj5,tj6 = tj5,tj6,tj1,tj2 + end + + # if ju = jl in any column, we can change orders to satisfy ju<=jl for all the columns with no additional factor + if (tj1 == tj2 || tj3 == tj4 || tj5 == tj6) + if tj1 > tj2 + tj1,tj2=tj2,tj1 + end + if tj3 > tj4 + tj3,tj4=tj4,tj3 + end + if tj5 > tj6 + tj5,tj6=tj6,tj5 + end + return get_nkey6(tj1,tj3,tj5,tj2,tj4,tj6) + else + tint = ifelse(tj1 tj6 && tint == 2) + #tj1,tj2=tj2,tj1; tj3,tj4=tj4,tj3 + return get_nkey6(tj2,tj4,tj5,tj1,tj3,tj6) + elseif (tj3 < tj4 && tint == 1) || ( tj3 > tj4 && tint == 2) + #tj1,tj2=tj2,tj1;tj5,tj6=tj6,tj5 + return get_nkey6(tj2,tj3,tj6,tj1,tj4,tj5) + elseif (tj1 < tj2 && tint == 1) || (tj1 > tj2 && tint == 2) + #tj3,tj4=tj4,tj3;tj5,tj6=tj6,tj5 + return get_nkey6(tj1,tj4,tj6,tj2,tj3,tj5) + end + end + @error "This never happens." +end + +function call_d9j_int(j1,j2,j3,j4,j5,j6,j7,j8,j9,d9j) + key1 = get_nkey3(j1,j2,j3) + key2 = get_nkey3(j4,j5,j6) + key3 = get_nkey3(j7,j8,j9) + return d9j[key1][key2][key3] +end + +function call_d9j_int_notdoubled(j1,j2,j3,j4,j5,j6,j7,j8,j9,d9j) + key1 = get_nkey3(j1*2,j2*2,j3*2) + key2 = get_nkey3(j4*2,j5*2,j6*2) + key3 = get_nkey3(j7*2,j8*2,j9*2) + return d9j[key1][key2][key3] +end + +function get_key9j_lsj(j1,j2,j3,j4,j5,j6,j7,j8,j9) + key1 = key2 = key3 = -1 + # check columns order + if j1%2==j4%2==j7%2==0 + key1 = get_nkey3(j1,j2,j3) + key2 = get_nkey3(j4,j5,j6) + key3 = get_nkey3(j7,j8,j9) + elseif j2%2==j5%2==j8%2==0 + key1 = get_nkey3(j2,j3,j1) + key2 = get_nkey3(j5,j6,j4) + key3 = get_nkey3(j8,j9,j7) + elseif j3%2==j6%2==j9%2==0 + key1 = get_nkey3(j3,j1,j2) + key2 = get_nkey3(j6,j4,j5) + key3 = get_nkey3(j9,j7,j8) + else + @error "This case must not happen in get_keyt9j_lsj\n {$j1 $j2 $j3\n $j4 $j5 $j6\n $j7 $j8 $j9}" end - keycg = [ zeros(Float64,3) for i=1:nthreads()] - dWS = dWS2n(dtri,dcgm0,keycg) - - #### 9j with {la 1/2 ja; lb 1/2 jb; L S J} structure - num9j = 0 - dict9j = [ [ [ [ [ [ [ 0.0 for L=0:Lmax] for lb=0:lmax] for jb=1:2:jmax2] for la=0:lmax] for ja=1:2:jmax2] for S=0:1] for J=0:Jmax] - for J = 0:Jmax - tJ = dict9j[J+1] - for S = 0:1 - tS = tJ[S+1] - for ja = 1:2:jmax2 - tja = tS[div(ja,2)+1] - for la = div(ja-1,2):div(ja+1,2) - if !tri_check(2*la,1,ja);continue;end - tla = tja[la+1] - for jb = 1:2:jmax2 - if tri_check(ja,jb,J*2)==false;continue;end - tjb = tla[div(jb,2)+1] - for lb = div(jb-1,2):div(jb+1,2) - if !tri_check(2*lb,1,jb);continue;end - tlb = tjb[lb+1] - for L = abs(la-lb):la+lb - if !tri_check(L,S,J);continue;end - t9j = wigner9j(la,1//2,ja//2,lb,1//2,jb//2,L,S,J) - tlb[L+1] = t9j - num9j +=1 + # check rows order + tkey1 = key1; tkey2 = key2; tkey3 = key3 + if (j1%2==j2%2==j3%2==0); key1 = tkey1; key2 = tkey2; key3 = tkey3;end + if (j4%2==j5%2==j6%2==0); key1 = tkey2; key2 = tkey3; key3 = tkey1;end + if (j7%2==j8%2==j9%2==0); key1 = tkey3; key2 = tkey1; key3 = tkey2;end + return key1,key2,key3 +end + +function call_d9j_lsj(j1,j2,j3,j4,j5,j6,j7,j8,j9,d9j) + key1,key2,key3 = get_key9j_lsj(j1,j2,j3,j4,j5,j6,j7,j8,j9) + return d9j[key1][key2][key3] +end + +""" +Function to construct `dWS2n` struct. +""" +function prep_dWS2n(params,to;emax_calc=0) + emax = ifelse(emax_calc!=0,emax_calc,params.emax) + e2max = 2 * emax + Nnmax = params.Nnmax + jmax = 2*emax + 1 + lmax = max(e2max,Nnmax,jmax) * 2 + dtri = prep_dtri(lmax+1) + dcgm0 = prep_dcgm0(lmax) + @timeit to "d6j_int" d6j_int = prep_d6j_int(emax,jmax,to) + @timeit to "d6j_lj" d6j_lj = prep_d6j_lj(jmax) + @timeit to "d9j" d9j_lsj = prep_d9j_lsj(jmax,lmax) + @timeit to "HOB" dictHOB = prep_dictHOB(e2max,dtri,dcgm0,d6j_int,to) + println("size of dWS (jmax $jmax lmax $lmax e2max $e2max Nnmax $Nnmax):\n", + show_size_inMB(" dtri",dtri), show_size_inMB(" dcgm0",dcgm0), + show_size_inMB("d6j_int",d6j_int),show_size_inMB(" d6j_lj",d6j_lj),"\n", + show_size_inMB("d9j_lsj",d9j_lsj),show_size_inMB("dictHOB",dictHOB)) + return dWS2n(dtri,dcgm0,d6j_int,d6j_lj,d9j_lsj,dictHOB) +end + +#{la 1/2 ja;lb 1/2 jb;L S J} +function prep_d9j_lsj(jmax2,Jmax) + d9j_lsj = Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + for J = 0:2:Jmax + for S = 0:2:2 + for L = abs(J-S):2:J+S + for ja = 1:2:jmax2 + for la = abs(ja-1):2:ja+1 + for jb = abs(ja-J):2:ja+J + for lb = abs(jb-1):2:jb+1 + t9j = wigner9j(la/2,1/2,ja/2,lb/2,1/2,jb/2,L/2,S/2,J/2) + key1,key2,key3= get_key9j_lsj(la,lb,L,1,1,S,ja,jb,J) + if !haskey(d9j_lsj,key1); d9j_lsj[key1] =Dict{Int64,Dict{Int64,Float64}}();end + if !haskey(d9j_lsj[key1],key2); d9j_lsj[key1][key2] = Dict{Int64,Float64}();end + d9j_lsj[key1][key2][key3] = t9j end end end @@ -955,524 +940,475 @@ function PreCalcHOB(chiEFTobj,d6j_int,to;io=stdout) end end end + return d9j_lsj +end - ### Calc. HObrackets - # To reduce total number of HOBs stored, 2n_i+l_i > 2n_j+l_j case is not considered - #HOBs = [[[[[[[[ 0.0 for l1 = 0:2*N+Lam+2*n+lam-2*n1-2*n2] for n2 =0:div(2*N+Lam+2*n+lam,2)-n1] for n1=0:div(2*N+Lam+2*n+lam,2)] for L = 0:e2max-2*N-2*n] for lam = 0:e2max-2*N-2*n-Lam] for Lam =0:e2max-2*N-2*n] for n=0:e2max-N] for N=0:e2max] - # used order n_ab,N_ab,lam_ab,Lam_ab,Lab+1,nb+1,na+1,lb+1 or N_ab,n_ab,Lam_ab,lam_ab,Lab+1,na+1,nb+1,la+1 - #new (faster, but more memory greedy) - @timeit to "HOB" begin - HOBs = Dict{Int64, Dict{Int64,Float64}}() - HOBkeys = Vector{Int64}[ ] - hit = 0 - dict9j_HOB = [ Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() for L = 0:e2max] - arr9j = [ zeros(Int64,9) for i=1:nthreads()] - tkey6js = [ zeros(Int64,6) for i=1:nthreads()] - for N=0:e2max - for n = 0:e2max-N - Lam_max = e2max-2*N-2*n - for Lam = 0:Lam_max - lam_max = Lam_max-Lam - for lam = 0:lam_max - e2 = 2*N+Lam + 2*n+lam - nkey1 = get_nkey_from_key6j(N,n,Lam,lam,0) - defined = get(HOBs,nkey1,false) - if defined == false - HOBs[nkey1] = Dict{Int64,Float64}() - end - for L = abs(Lam-lam):Lam+lam - for n1=0:div(e2,2) - for n2 = 0:div(e2,2)-n1 - l1max = e2-2*n1-2*n2 - for l1 = 0:l1max - l2 = e2-2*n1-2*n2-l1 - e_1 = 2*n1 + l1; e_2 = 2*n2 + l2 - if (e_1 > e_2) && (2*N+Lam > 2*n+lam); continue;end - if (l1+l2+lam+Lam)%2 > 0;continue;end - if !tri_check(l1,l2,L);continue;end - nkey2 = get_nkey_from_key6j(L,n1,n2,l1,0) - push!(HOBkeys,[nkey1,nkey2]) - hit += 1 - end +function prep_dictHOB(e2max,dtri,dcgm0,d6j_int,to) + dictHOB = Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + for Lam = 0:e2max + dictHOB[Lam] = Dict{Int64,Dict{Int64,Float64}}() + end + for E = 0:e2max + for e_nl = 0:E + e_NL = E - e_nl + for n = 0:div(e_nl,2) + l = e_nl - 2*n + for N = 0:div(e_NL,2) + L = e_NL - 2*N + for e_nlp = 0:E + e_NLp = E - e_nlp + for np = 0:div(e_nlp,2) + lp = e_nlp - 2*np + for Np = 0:div(e_NLp,2) + Lp = e_NLp - 2*Np + for Lam = max(abs(l-L),abs(lp-Lp)):min(l+L,lp+Lp) + key1, key2 = get_HOB_nlkey(n, l, N, L, np, lp, Np, Lp) + if !haskey(dictHOB[Lam],key1); dictHOB[Lam][key1] = Dict{Int64,Float64}();end + tHOB = HObracket_d6j(n, l, N, L, np, lp, Np, Lp, Lam, 1.0, dtri, dcgm0, d6j_int, to) + dictHOB[Lam][key1][key2] = tHOB * (-1)^(l+Lp) end end - end + end end end end end - @timeit to "prep9jHOB" @threads for L = 0:e2max #abs(Lam-lam):Lam+lam - targetdict = dict9j_HOB[L+1] - tkey9j = arr9j[threadid()] - for N=0:e2max-L - for n = 0:e2max-N - Lam_max = e2max-2*N-2*n - for Lam = 0:Lam_max - lam_max = Lam_max-Lam - for lam = 0:lam_max - e2 = 2*N+Lam + 2*n+lam - for n1=0:div(e2,2) - for n2 = 0:div(e2,2)-n1 - l1max = e2-2*n1-2*n2 - for l1 = 0:l1max - l2 = e2-2*n1-2*n2-l1 - e_1 = 2*n1 + l1; e_2 = 2*n2 + l2 - if l1 > l2;continue;end - #if (e_1 > e_2) && (2*N+Lam > 2*n+lam); continue;end - if (l1+l2+lam+Lam)%2 > 0;continue;end - if !tri_check(l1,l2,L);continue;end - prep9j_HOB(N,Lam,n,lam,n1,l1,n2,l2,L,d6j_int,tkey9j,targetdict) - end - end - end - end + end + + return dictHOB +end +function check0_wigner6j(j1,j2,j3,j4,j5,j6) + if j1*j2*j3*j4*j5*j6 ==0 + if j1 == 0; return delta(j5,j6) * delta(j2,j3) * (-1)^((j4+j5+j3)/2) / sqrt((j3+1)*(j6+1)); end + if j2 == 0; return delta(j1,j3) * delta(j4,j6) * (-1)^((j5+j1+j6)/2) / sqrt((j1+1)*(j4+1)); end + if j3 == 0; return delta(j1,j2) * delta(j4,j5) * (-1)^((j2+j4+j6)/2) / sqrt((j2+1)*(j5+1)); end + if j4 == 0; return delta(j3,j5) * delta(j2,j6) * (-1)^((j1+j2+j3)/2) / sqrt((j3+1)*(j6+1)); end + if j5 == 0; return delta(j3,j4) * delta(j1,j6) * (-1)^((j1+j2+j3)/2) / sqrt((j1+1)*(j4+1)); end + if j6 == 0; return delta(j1,j5) * delta(j2,j4) * (-1)^((j1+j2+j3)/2) / sqrt((j2+1)*(j5+1)); end + else + return wigner6j(Float64,j1/2,j2/2,j3/2,j4/2,j5/2,j6/2) + end +end + +function prep_d6j_int(emax,jmax_in,to) + jmax = jmax_in * 2 + d6j_int = Dict{UInt64,Float64}() + for J12 = 0:2:jmax + for j1 = 0:2:jmax_in + for j2 = abs(J12-j1):2:j1+J12 + for j3 = 0:2:jmax + for J23 = abs(j2-j3):2:j2+j3 + for J = abs(J23-j1):2:J23+j1 + if !tri_check(J/2,J12/2,j3/2); continue;end + if !(j1+j3<=j2+J<=J12+J23); continue;end + #tj1, tj2, tj3, tj4, tj5, tj6 = get_key6j_sym(j1,j2,J12,j3,J,J23) + #d6j_int[get_nkey6(tj1,tj2,tj3,tj4,tj5,tj6)] = wigner6j(Float64,j1/2,j2/2,J12/2,j3/2,J/2,J23/2) + nkey = get_key6j_sym(j1,j2,J12,j3,J,J23) + d6j_int[nkey] = wigner6j(Float64,j1/2,j2/2,J12/2,j3/2,J/2,J23/2) + end end end end end - tkeys = [ zeros(Int64,4) for i=1:nthreads()] - @threads for i = 1:hit - nkey1,nkey2 = HOBkeys[i] - tkey = tkeys[threadid()] - tkey9j = arr9j[threadid()] - get_abcdarr_from_intkey!(nkey1,tkey) - N = tkey[1]; n = tkey[2]; Lam = tkey[3]; lam = tkey[4] - get_abcdarr_from_intkey!(nkey2,tkey) - L = tkey[1]; n1 = tkey[2]; n2 = tkey[3]; l1 = tkey[4] - e2 = 2*N+Lam+2*n+lam; l2 = e2-2*n1-2*n2-l1 - tHOB = gmosh2(N,Lam,n,lam,n1,l1,n2,l2,L,1.0,dWS,tkey9j,dict9j_HOB,to) - HOBs[nkey1][nkey2] = tHOB - end end - println(io,"@emax $emax ","hitCG $hitCG dWS <", @sprintf("%7.2f",Base.summarysize(dWS)/1024/1024)," MB ", - " 9j($num9j) <", @sprintf("%7.2f",Base.summarysize(dict9j)/1024/1024)," MB ", - " HOB ($hit) <",@sprintf("%7.2f",Base.summarysize(HOBs)/1024/1024), " MB") - dWS = nothing; dcgm0 =nothing; dtri=nothing - return dict9j,HOBs + return d6j_int end -function prep9j_HOB(nl, ll, nr, lr, n1, l1, n2, l2, lm,d6j_int,tkey9j,dict9j_HOB) - ee = 2*nl + ll - er = 2*nr + lr - e1 = 2*n1 + l1 - e2 = 2*n2 + l2 - if ee + er != e1 + e2; return nothing;end - if !tri_check(ll, lr, lm);return nothing;end - if !tri_check(l1, l2, lm);return nothing;end - m = min(er, e2) - for ed = 0:m - eb = er - ed - ec = e2 - ed - ea = e1 - er + ed - for ld = ed:-2:0 - for lb = eb:-2:0 - if tri_check(ld,lb,lr)==false;continue;end - for lc = ec:-2:0 - if !tri_check(ld,lc,l2) ;continue;end - for la = ea:-2:0 - if !tri_check(la,lb,l1);continue;end - if !tri_check(la,ll,lc);continue;end - tkey9j[1] = la;tkey9j[2] = lb;tkey9j[3] = l1 - tkey9j[4] = lc;tkey9j[5] = ld;tkey9j[6] = l2 - tkey9j[7] = ll;tkey9j[8] = lr;tkey9j[9] = lm - intkey9j_12,intkey9j_lr,intkey9j_abcd, flip = flip_needed(tkey9j) - t1 = get(dict9j_HOB,intkey9j_12,false) - if t1 == false; dict9j_HOB[intkey9j_12] = Dict{Int64,Dict{Int64,Float64}}();end - t2 = get(dict9j_HOB[intkey9j_12],intkey9j_lr,false) - if t2 == false; dict9j_HOB[intkey9j_12][intkey9j_lr] = Dict{Int64,Float64}();end - t3 = get(dict9j_HOB[intkey9j_12][intkey9j_lr],intkey9j_abcd,false) - if t3 != false; continue;end - # t9j = wigner9j(la,lb,l1,lc,ld,l2,ll,lr,lm) - t9j = wigner9j_from_dict6j(la,lb,l1,lc,ld,l2,ll,lr,lm,d6j_int) - if flip; t9j *= (-1)^(la+lb+l1+lc+ld+l2+ll+lr+lm);end - dict9j_HOB[intkey9j_12][intkey9j_lr][intkey9j_abcd] = t9j +function prep_d6j_lj(jmax2) + d6j_lj = Dict{UInt64,Float64}() + for j1 = 1:2:jmax2 + for j2 = 1:2:jmax2 + for J12 = abs(j1-j2):2:j1+j2 + for j3 = 1:2:jmax2 + for J23 = abs(j2-j3):2:j2+j3 + for J = max(abs(j1-J23),abs(j3-J12)):2:min(j1+J23,j3+J12) + nkey = get_key6j_sym(j1,j2,J12,j3,J,J23) + d6j_lj[nkey] = wigner6j(Float64,j1/2,j2/2,J12/2,j3/2,J/2,J23/2) + end end end end end end - return nothing + # some special case for kinetic_tb + for j2 = 1:2:jmax2 + J12 = 1*2 + J23 = 1 + for j1 = abs(j2-J12):2:j2+J12 + for l1 = abs(j1-1):2:j1+1 + for l2 = abs(j2-1):2:(j2+1) + nkey = get_key6j_sym(j2,j1,J12,l1,l2,J23) + d6j_lj[nkey] = wigner6j(Float64,j2/2,j1/2,J12/2,l1/2,l2/2,J23/2) + end + end + end + end + return d6j_lj end -function trbknum(Nr,Lr,Nc,Lc,Na,La,Nb,Lb,Lam,nume,s_numknn,ndim,Transbk,t2v) - ret = 0.0 - L1=0;L2=0; L3=0;L4=0; N1=0; N2=0;N3=0; N4=0 - phase=0.0 - Kr=2*Nr+Lr - Kc=2*Nc+Lc - Ka=2*Na+La - Kb=2*Nb+Lb - if (Kr+Kc != Ka+Kb) || abs(Lr-Lc) > Lam || Lr+Lc < Lam || abs(La-Lb) > Lam || La+Lb < Lam - return ret - end - if Kr <= Kc && Ka <= Kb - N1=Nr; L1=Lr; N2=Nc;L2=Lc; N3=Na; L3=La; N4=Nb; L4=Lb; phase=1.0 - elseif Kr > Kc && Ka <= Kb - N1=Nc; L1=Lc; N2=Nr;L2=Lr; N3=Na; L3=La; N4=Nb; L4=Lb; phase=(-1.0)^(La+Lam) - elseif Kr <= Kc && Ka > Kb - N1=Nr; L1=Lr; N2=Nc;L2=Lc; N3=Nb; L3=Lb; N4=Na; L4=La; phase=(-1.0)^(Lc+Lam) - elseif Kr > Kc && Ka > Kb - N1=Nc; L1=Lc; N2=Nr;L2=Lr; N3=Nb; L3=Lb; N4=Na; L4=La; phase=(-1.0)^(Lr+La) +function prep_dtri(lmax) + dtri = Dict{Int64,Float64}() + for l1 = 0:lmax + for l2 = 0:lmax + for l = 0:lmax + dtri[get_nkey3(l1,l2,l)] = trinomial(l1,l2,l) + end + end end - K1=2*N1+L1; K3=2*N3+L3; KK=Kr+Kc - numknn_1 = s_numknn[K1+1][N1+1,N2+1] - numknn_2 = s_numknn[K3+1][N3+1,N4+1] - num=nume[KK+1,Lam+1]+ndim*(numknn_1-1) +numknn_2 - ret = Transbk[num]*phase - return ret -end - -const l2l = [ wigner3j(Float64,l,2,l,0,0,0) for l=0:8] -const l2lnd =[[ wigner3j(Float64,l1,2,l2,0,0,0) for l2=0:8] for l1=0:8] - - -struct wsyms_j1_1or2 - cg1s::Matrix{Float64} - cg2s::Matrix{Float64} - d6_121::Array{Float64,3} - d6_21::Array{Float64,4} - d6_222::Array{Float64,3} - d9_12::Array{Float64,4} + return dtri end -""" - prep_wsyms() -preparing Clebsch-Gordan coefficients for some special cases: cg1s = (1,0,l,0|l',0), cg2s = (2,0,l,0|l',0) -""" -function prep_wsyms() - lmax = 7 - dim = lmax+3 - cg1s = zeros(Float64,dim,dim) - cg2s = zeros(Float64,dim,dim) - d6_121 = zeros(Float64,dim,dim,dim) - d6_21 = zeros(Float64,dim,dim,dim,dim) - d6_222 = zeros(Float64,dim,dim,dim) - d9_12 = zeros(Float64,dim,dim,dim,dim) - for li = 0:dim-1 - for lj =0:dim-1 - cg1s[li+1,lj+1] = clebschgordan(Float64,1,0,li,0,lj,0) - cg2s[li+1,lj+1] = clebschgordan(Float64,2,0,li,0,lj,0) - for j = 0:dim-1 - d6_121[li+1,lj+1,j+1] = wigner6j(Float64,1,2,1,li,lj,j) - d6_222[li+1,lj+1,j+1] = wigner6j(Float64,2,li,lj,j,2,2) - for jp = 0:dim-1 - d6_21[li+1,lj+1,j+1,jp+1] = wigner6j(Float64,li,lj,2,j,jp,1) - d9_12[li+1,lj+1,j+1,jp+1] = wigner9j(1,li,lj,1,j,jp,2,2,2) +function prep_dcgm0(lmax) + dcgm0 = Dict{Int64,Float64}() + for l1 = 0:lmax + for l2 = l1:lmax + for l = abs(l1-l2):l1+l2 + if l1 <= l2 <= l + tkey = get_nkey3(l1,l2,l) + tcg = clebschgordan(Float64,l1,0,l2,0,l,0) + dcgm0[tkey] = tcg end end end end - return wsyms_j1_1or2(cg1s,cg2s,d6_121,d6_21,d6_222,d9_12) + return dcgm0 end -""" - readsnt(sntf,Anum;eachA=false,pnfac=1.0) - -to read sntfile. This is slightly different from readsnt() in ShellModel.jl """ -function readsnt(sntf,Anum;eachA=false,pnfac=1.0) - f = open(sntf,"r");tlines = readlines(f);close(f) - lines = rm_comment(tlines) - line = lines[1] - lp,ln,cp,cn = map(x->parse(Int,x),rm_nan(split(line," "))) - p_sps = [[0,0]];deleteat!(p_sps,1) - n_sps = [[0,0]];deleteat!(n_sps,1) - dictsps = Dict([0,0,0,0]=>0);delete!(dictsps,[0,0,0,0]) - nls = [] - nlhit=0 - for i = 1:lp - ith,n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i]," "))[1:5]) - push!(p_sps,[n,l,j,tz]) - if ([n,l,tz] in nls)==false - nlhit +=1 - push!(nls,[n,l,tz]) - end - dictsps[[n,l,j,tz]] = i - end - for i = 1:ln - ith, n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i+ln]," "))[1:5]) - if ([n,l,tz] in nls)==false - nlhit +=1 - push!(nls,[n,l,tz]) +it doesn't work for now +""" +function prep_dWS3N(N3max,J12max,j3max,to;debug=false) + jmax_9j = lmax_6j = 2 * N3max + lmax_9j = jmax_9j + lmax = jmax_9j * 2 + println("N3max $N3max J12max $J12max jmax_9j $jmax_9j ") + @timeit to "trinomial&cgm0" begin + dtri = prep_dtri(lmax) + dcgm0 = prep_dcgm0(lmax) + end + # {j1, j2, j12; j3 J j23} + @timeit to "6j" begin + hit6j_int = hit6j_lj = 0 + @timeit to "const:d6j_int" begin + # {l' l X; j j' s} type + d6j_int = Dict{UInt64,Float64}() + for lp = 0:2:lmax_6j + for l = 0:2:lmax_6j + for s = 0:2:2 + for j = abs(l-s):l+s + for jp = abs(lp-s):lp+s + for X = abs(l-lp):2:l+lp + nkey = get_key6j_sym(lp,l,X,j,jp,s) + d6j_int[nkey] = wigner6j(Float64,lp//2,l//2,X//2,j//2,jp//2,s//2) + hit6j_int += 1 + end + end + end + end + end + end + # {L' K1 X; K2 L K3}-type (L,L',X can be large and K's are at most 2) + for Lp = 0:2:lmax + for L = 0:2:lmax + for K3 = 0:2:4 + if !tri_check(K3/2,L/2,Lp/2);continue;end + for K1 = 0:2:4 + for K2=0:2:4 + if !tri_check(K1/2,K2/2,K3/2); continue;end + for X = max(abs(Lp-K1),abs(L-K2)):min(Lp+K1,L+K2) + nkey = get_key6j_sym(Lp,K1,X,K2,L,K3) + d6j_int[nkey] = wigner6j(Float64,Lp//2,K1//2,X//2,K2//2,L//2,K3//2) + hit6j_int += 1 + end + end + end + end + end + end end - push!(n_sps,[n,l,j,tz]) - dictsps[[n,l,j,tz]] = i + lp - end - sps = vcat(p_sps,n_sps) - nsp,zero = map(x->parse(Int,x),rm_nan(split(lines[1+ln+lp+1]," "))[1:2]) - SPEs = [ [0.0 for i=1:lp],[0.0 for i=1:ln]] - for i = 1:nsp - idx=0; j=i - if i<=lp;idx=1;else;idx=2;j-=lp;end - SPEs[idx][j] =parse(Float64,rm_nan(split(lines[1+ln+lp+1+i]," "))[3]) - end - ntbme = 0; massop = 0; Aref = 0; p=0 - tmp = rm_nan(split(lines[1+ln+lp+1+nsp+1]," ")) - if length(tmp) == 3 - ntbme,massop,hw = tmp - ntbme = parse(Int,ntbme) - massop=parse(Int,massop) - hw = parse(Float64,hw) - else - ntbme,massop,Aref,p = tmp - ntbme = parse(Int,ntbme);massop=parse(Int,massop) - Aref=parse(Int,Aref); p=parse(Float64,p) - end - dictTBMEs=[ Dict([0,0,0,0,0]=>0.0) for pnrank=1:3] - for i=1:3 - delete!(dictTBMEs[i],[0,0,0,0,0]) - end - for ith = 1:ntbme - i,j,k,l,totJ,TBME= rm_nan(split(lines[1+ln+lp+1+nsp+1+ith], " ")) - i = parse(Int,i);j = parse(Int,j);k = parse(Int,k);l = parse(Int,l); - totJ = parse(Int,totJ) - nth = 0 - if i<=lp && j<=lp - nth = 1 - elseif i>lp && j > lp - nth = 3 - elseif i<=lp && j>lp - nth = 2 - else - println("i $i j $j k $k l $l totJ $totJ TBME $TBME") - println("err");exit() + @timeit to "const:6j_lj" begin + d6j_lj = Dict{UInt64,Float64}() + # {1/2 1/2 s;1/2 S123 s}-type + j1 = j2 = j3 = 1 + for s12 = 0:2:2 + for s45 = 0:2:2 + for S = 1:2:3 + nkey = get_key6j_sym(j1,j2,s12,j3,S,s45) + d6j_lj[nkey] = wigner6j(Float64,j1//2,j2//2,s12//2,j3//2,S//2,s45//2) + hit6j_lj += 1 + end + end + end + # {j j' JJ; J3' J3 J123}-type includinig {t t' T;1/2 1/2 1/2}-type + for j = 0:2:2*N3max + for jp = 0:2:2*N3max + for JJ = abs(j-jp):2:j+jp + for dJ123 = 1:2:j3max + for j3p = abs(jp-dJ123):2:jp+dJ123 + for j3 = abs(j-dJ123):2:j+dJ123 + if !tri_check(j3p/2,j3/2,JJ/2);continue;end + nkey = get_key6j_sym(j,jp,JJ,j3p,j3,dJ123) + d6j_lj[nkey] = wigner6j(Float64,j//2,jp//2,JJ//2,j3p//2,j3//2,dJ123//2) + hit6j_lj += 1 + end + end + end + end + end + end end - TBME = parse(Float64,TBME) - if eachA && massop == 1 - TBME *= (Anum/Aref)^p - end - ## snt file must be "ordered"; a<=b & c=d & a<=c - dictTBMEs[nth][[i,j,k,l,totJ]] = TBME *ifelse(nth==2,pnfac,1.0) + println("hit $hit6j_int $hit6j_lj size ",show_size_inMB("d6j_int",d6j_int),show_size_inMB("d6j_lj",d6j_lj)) end - return sps,dictsps,dictTBMEs -end -function jj_std(sps,dictsps,dictTBMEs;fname="") - if fname=="";fname = "monopole"*fname*".dat" - else;fname = "monopole_"*fname*".dat";end - ln = length(sps) - nmax = maximum([sps[i][1] for i=1:ln]) - nmin = minimum([sps[i][1] for i=1:ln]) - lmax = maximum([sps[i][2] for i=1:ln]) - lmin = minimum([sps[i][2] for i=1:ln]) - jmax = maximum([sps[i][3] for i=1:ln]) - jmin = minimum([sps[i][3] for i=1:ln]) - emax = maximum( [ 2*sps[i][1]+sps[i][2] for i=1:length(sps)]) - emin = minimum( [ 2*sps[i][1]+sps[i][2] for i=1:length(sps)]) - Jmax = div(2*jmax+1,2) - Lmin = 0; Lmax = 2*lmax - monodict = Dict(["",""]=> [[0.0,[0.0]]]);delete!(monodict,["",""]) - cpnrank=["pp","pn","nn"] - - keya = [0,0,0,0]; keyb = [0,0,0,0];keyc=[0,0,0,0]; keyd=[0,0,0,0] # nljtz - key_abcdJ = [0,0,0,0,0] - tvjj = zeros(Float64,5) - for pnrank =1:3 - tdict = dictTBMEs[pnrank] - for tkey in keys(tdict) - a,b,c,d,J = tkey - na,la,ja2,iza = sps[a]; nb,lb,jb2,izb = sps[b] - nc,lc,jc2,izc = sps[c]; nd,ld,jd2,izd = sps[d] - keya[1]=na; keya[2]=la; keya[3]=ja2; keya[4]=iza - keyb[1]=nb; keyb[2]=lb; keyb[3]=jb2; keyb[4]=izb - keyc[1]=nc; keyc[2]=lc; keyc[3]=jc2; keyc[4]=izc - keyd[1]=nd; keyd[2]=ld; keyd[3]=jd2; keyd[4]=izd - v_target = tdict[tkey] - tvjj .= 0.0 - hats = (-1)^J * sqrt((ja2+1.0)*(jb2+1.0)*(jc2+1.0)*(jd2+1.0)) - for L = abs(la-lb):la+lb - for S=0:1 - for Lp = abs(lc-ld):lc+ld - for Sp = 0:1 - Jfac = wigner9j(la,1//2,ja2//2,lb,1//2,jb2//2,L,S,J) - Jfac *= wigner9j(lc,1//2,jc2//2,ld,1//2,jd2//2,Lp,Sp,J) - for jpa2 = 2*la-1:2:2*la+1 - if jpa2 <=0;continue;end - for jpb2 = 2*lb-1:2:2*lb+1 - if jpb2 <=0;continue;end - for jpc2 = 2*lc-1:2:2*lc+1 - if jpc2 <=0;continue;end - for jpd2 = 2*ld-1:2:2*ld+1 - if jpd2 <=0;continue;end - hatps = sqrt((jpa2+1.0)*(jpb2+1.0)*(jpc2+1.0)*(jpd2+1.0)) - LLSS = (2*L+1)*(2*Lp+1)*(2*S+1)*(2*Sp+1) - for Jp = max(abs(Lp-Sp),abs(L-S)):min(Lp+Sp,L+S) - d9j_ab = wigner9j(la,1//2,jpa2//2,lb,1//2,jpb2//2,L,S,Jp) - d9j_cd = wigner9j(lc,1//2,jpc2//2,ld,1//2,jpd2//2,Lp,Sp,Jp) - keya[3] = jpa2; keyb[3]=jpb2;keyc[3] = jpc2; keyd[3]=jpd2 - ap = dictsps[keya];bp = dictsps[keyb];cp = dictsps[keyc];dp = dictsps[keyd] - key_abcdJ[1] = ap;key_abcdJ[2] = bp - key_abcdJ[3] = cp;key_abcdJ[4] = dp;key_abcdJ[5] = Jp - ta=ap; tb=bp;tc=cp;td=dp - phase = 1.0 - if ap > bp - ta = bp; tb = ap - phase *= (-1)^(div(sps[ap][3]+sps[bp][3],2)+Jp+1) - end - if cp > dp - tc = dp; td = cp - phase *= (-1)^(div(sps[cp][3]+sps[dp][3],2)+Jp+1) - end - fa=ta; fb=tb;fc=tc;fd=td - if fa > fc || (fa==fc && fb > fd) - fa=tc;fb=td;fc=ta;fd=tb - end - key_abcdJ[1] = fa;key_abcdJ[2] = fb - key_abcdJ[3] = fc;key_abcdJ[4] = fd;key_abcdJ[5] = Jp - vjj = get(tdict,key_abcdJ,false) - if vjj==false;continue; end - #println("abcd' $ap $bp $cp $dp J' $Jp $nvjj $vjj") - Jpfac = (-1)^Jp * (2*Jp+1) * d9j_ab * d9j_cd - for k = 0:2 - tidx = k+1; if S==Sp && k==1;tidx=4;end - kfac = (2*k+1) * wigner6j(Float64,L,S,J,Sp,Lp,k) * wigner6j(Float64,L,S,Jp,Sp,Lp,k) - tvjj[tidx] += hats*hatps*kfac*Jfac*Jpfac * LLSS * vjj *phase - end + ## prep wigner 9j + d9j_int= Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + d9j_lsj= Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + @timeit to "9j" begin + for j4=0:2:lmax_9j + for j7 = 0:2:lmax_9j + for j1 = abs(j7-j4):j7+j4 + if (j1+j4+j7)%2 == 1;continue;end + @timeit to "const:9j_int" begin + for j2 = 0:2:4 + for j3 = abs(j1-j2):j1+j2 + if (j1+j2+j3)%2==1; continue; end + key1 = get_nkey3(j1,j2,j3) + if !haskey(d9j_int,key1); d9j_int[key1] = Dict{Int64,Dict{Int64,Float64}}();end + for j5=0:2:2 + for j6=abs(j4-j5):min(j4+j5,J12max*2) + if (j4+j5+j6)%2 == 1; continue; end + key2 = get_nkey3(j4,j5,j6) + if !haskey(d9j_int[key1],key2); d9j_int[key1][key2] = Dict{Int64,Float64}();end + for j8 = abs(j2-j5):j2+j5 + if (j2+j5+j8)%2 == 1;continue;end + for j9 = max(abs(j3-j6),abs(j7-j8)):min(j3+j6,j7+j8,J12max*2) + if (j3+j6+j9) %2 == 1; continue;end + key3 = get_nkey3(j7,j8,j9) + t9j = wigner9j(j1//2,j2//2,j3//2,j4//2,j5//2,j6//2,j7//2,j8//2,j9//2) + d9j_int[key1][key2][key3] = t9j end end end - end + end + end + end + end + @timeit to "const:9j_lsj" begin + j5 = 1 + for j2 = 0:2 + for j3 = abs(j1-j2):j1+j2 + if (j1+j2+j3)%2==1; continue; end + key1 = get_nkey3(j1,j2,j3) + if !haskey(d9j_lsj,key1); d9j_lsj[key1] = Dict{Int64,Dict{Int64,Float64}}();end + for j6=abs(j4-j5):j4+j5 + if (j4+j5+j6)%2 == 1; continue; end + key2 = get_nkey3(j4,j5,j6) + if !haskey(d9j_lsj[key1],key2); d9j_lsj[key1][key2] = Dict{Int64,Float64}();end + for j8 = abs(j2-j5):j2+j5 + if (j2+j5+j8)%2 == 1;continue;end + for j9 = max(abs(j3-j6),abs(j7-j8)):min(j3+j6,j7+j8) + if (j3+j6+j9) %2 == 1; continue;end + key3 = get_nkey3(j7,j8,j9) + t9j = wigner9j(j1//2,j2//2,j3//2,j4//2,j5//2,j6//2,j7//2,j8//2,j9//2) + d9j_lsj[key1][key2][key3] = t9j + end + end + end + end + end + end + end + end + end + println(show_size_inMB("d9j_int",d9j_int),show_size_inMB("d9j_lsj",d9j_lsj)) + + @timeit to "HOB" dictHOB = const_d9j_HOB_3NF(N3max,J12max,j3max,dtri,dcgm0,to) + end + return dWS3N(dtri,dcgm0,d6j_int,d6j_lj,d9j_int,d9j_lsj,dictHOB) +end + +function const_d9j_HOB_3NF(N3max,J12max,dJ3max,dtri,dcgm0,to;mode="3NF") + dictHOB= Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + if mode == "3NF" + l12max = J12max+2 + l3max = dJ3max+1 + Lammax = N3max #dJ3max + 3 + lmin = max(N3max,min(l12max,l3max)) + lmax = max(l12max,l3max) + @timeit to "indirect 9j" begin + #{j1 j2 j3; j4 j5 j6} + d6j_int = Dict{UInt64,Float64}() + jmax = max(l12max,l3max,Lammax) + num6j = 0 + maxj36 = 0 + @timeit to "6j" for j1 = 0:2:jmax + for j3 = 0:2:jmax*2 + for j2 = abs(j1-j3):2:j1+j3 + for j4 = j1:2:jmax*2 + for j6 = abs(j2-j4):2:jmax*2 + if !tri_check(j6/2,j2/2,j4/2); continue; end + for j5 = abs(j1-j6):2:j1+j6 + if !tri_check(j4/2,j5/2,j3/2); continue; end + if !tri_check(j1/2,j5/2,j6/2); continue; end + if !(j1+j4<=j2+j5<=j3+j6);continue;end + maxj36 = max(maxj36,j3+j6) + nkey = get_key6j_sym(j1,j2,j3,j4,j5,j6) + if !haskey(d6j_int,nkey) + d6j_int[nkey] = wigner6j(Float64,j1/2,j2/2,j3/2,j4/2,j5/2,j6/2) + num6j += 1 + end + end end end end end end - tvjj[5] = sum( @views tvjj[1:4]) - if abs(v_target-tvjj[5]) > 1.e-9 - println("Error TBME(in jj) mismatch!: $tkey v ", - @sprintf("%12.4e",v_target),"; sum ", @sprintf("%12.4e",tvjj[5])) - end - if a==c && b==d && ( a <= b ) - c = cpnrank[pnrank] - ca = string(na)*chara_l[la+1]*string(ja2) - cb = string(nb)*chara_l[lb+1]*string(jb2) - if get(monodict,[c,ca,cb],false) == false - monodict[[c,ca,cb]] = [ [J*1.0,copy(tvjj)] ] - else - push!(monodict[[c,ca,cb]],[J*1.0,copy(tvjj)]) + println("num6j $num6j maxj36 $maxj36 lmin $lmin lmax $lmax jmax $jmax Lammax $Lammax") + hitHOB = 0 + @timeit to "Store HOB" begin + for Lam = 0:Lammax + dictHOB[Lam] = Dict{Int64,Dict{Int64,Float64}}() + end + for E = 0:N3max + for e_nl = 0:E + e_NL = E - e_nl + for n = 0:div(e_nl,2) + l = e_nl - 2*n + for N = 0:div(e_NL,2) + L = e_NL - 2*N + for e_nlp = 0:E + e_NLp = E - e_nlp + for np = 0:div(e_nlp,2) + lp = e_nlp - 2*np + for Np = 0:div(e_NLp,2) + Lp = e_NLp - 2*Np + for Lam = max(abs(l-L),abs(lp-Lp)):min(l+L,lp+Lp) + key1, key2 = get_HOB_nlkey(n, l, N, L, np, lp, Np, Lp) + if !haskey(dictHOB[Lam],key1); dictHOB[Lam][key1] = Dict{Int64,Float64}();end + tHOB = HObracket_d6j(n, l, N, L, np, lp, Np, Lp, Lam, 1.0/3.0, dtri, dcgm0, d6j_int, to) + dictHOB[Lam][key1][key2] = tHOB + hitHOB += 1 + end + end + end + end + end + end + end end end end - monopole(monodict,fname) + elseif mode == "LabTrans" + + else + @error "mode=$mode is not supported!" end - return nothing + + println("HOB # ",hitHOB, " size ",show_size_inMB("HOB",dictHOB)) + return dictHOB end -function monopole(monodict,fname) - io = open(fname,"w") - nume = zeros(Float64,5) - deno = 0.0 - for key in keys(monodict) - tarr = monodict[key] - nume .= 0.0 - deno = 0.0 - for tmp in tarr - J, V =tmp - nume .+= (2*J+1.0) .* V - deno += 2*J +1.0 - end - vm = nume ./ deno - tx = key[1]*":"*key[2]*"-"*key[3]*@sprintf("%20.12f", vm[1])*@sprintf("%20.12f", vm[2])*@sprintf("%20.12f", vm[3])*@sprintf("%20.12f", vm[4])*@sprintf("%20.12f", vm[5]) - println(io,tx) +function show_size_inMB(label,mydict) + tval = Base.summarysize(mydict)/(10^6) + if tval < 0.01 + return " $label "*@sprintf("%7.2f",tval*10^3)*" KB" + elseif tval < 10000 + return " $label "*@sprintf("%7.2f",tval)*" MB" + else + return " $label "*@sprintf("%7.2f",tval/10^3)*" GB" end - close(io) - return nothing end +function zero_9j_check(j1,j2,j3,j4,j5,j6,j7,j8,j9) + j1 = Int(j1); j2 = Int(j2); j3 = Int(j3) + j4 = Int(j4); j5 = Int(j5); j6 = Int(j6) + j7 = Int(j7); j8 = Int(j8); j9 = Int(j9) + tf = false + sig = j1 + j2 + j3 + j4 + j5 + j6 + j7 + j8 + j9 + if j1 == j4 && j2 == j5 && j3 == j6 && sig % 2 == 1; tf = true;end + if j7 == j4 && j8 == j5 && j9 == j6 && sig % 2 == 1; tf = true;end + if j7 == j1 && j8 == j2 && j9 == j3 && sig % 2 == 1; tf = true;end + if j1 == j2 && j4 == j5 && j7 == j8 && sig % 2 == 1; tf = true;end + if j1 == j3 && j4 == j6 && j7 == j9 && sig % 2 == 1; tf = true;end + if j2 == j3 && j5 == j6 && j8 == j9 && sig % 2 == 1; tf = true;end + if tf ; return nothing;end -function nlj_from_str(str) - lstr = match(r"[a-z]",str).match - n,j = split(str,lstr) - l = -1 - for k=1:length(chara_L) - if lstr==chara_l[k];l=k;break;end - end - l = l-1 - n = parse(Int64,n) - j = parse(Int64,j) - return n,l,j + xmin = max(abs(j1-j9),abs(j2-j6),abs(j4-j8)) + xmax = min( j1+j9 , j2+j6 , j4+j8) + println("{$j1 $j2 $j3\n $j4 $j5 $j6\n $j7 $j8 $j9} sig $sig Set ", + Set([j1,j2,j3,j4,j5,j6,j7,j8,j9]), " xmin $xmin xmax $xmax") + s = 0.0 + for x =xmin:xmax + t = (-1)^(2*x) * (2*x+1) + w1 = wigner6j(Float64,j1,j4,j7,j8,j9,x) + w2 = wigner6j(Float64,j2,j5,j8,j4,x,j6) + w3 = wigner6j(Float64,j3,j6,j9,x,j1,j2) + s += t * w1 * w2 * w3 + println("x $x w1 $w1 w2 $w2 w3 $w3 s $s") + end end -""" - PreCalc6j(emax) +function get_HOB_nlkey(n, l, N, L, np, lp, Np, Lp) + key1 = get_nkey4(n,l,N,L) + key2 = get_nkey4(np,lp,Np,Lp) + return key1, key2 +end -preallocate 6j used for HF -```math -\\begin{Bmatrix} -j_a & j_b & J \\\\ -j_c & j_d & J' -\\end{Bmatrix} -``` -``ja,jb,jc,jd`` are half-integer extended for kinetic_tb -```math -\\begin{Bmatrix} -j_1/2& j_2/2& 1 \\\\ - l_2& l_1& 1/2 -\\end{Bmatrix} -``` -are needed to get `dict6j[J][key]` with `key = [ja,jb,jd,jc,Jp]`. -Using array as key is in general slow, so the key is integer for dict6j & d6jint (I know this reduces readability, though) -""" -function PreCalc6j(emax,only_halfinteger=false) - Jmax = 2*emax+1 # = jmax *2 - d6j = [ Dict{Int64,Float64}() for i=0:Jmax] - d6j_int = [ Dict{Int64,Float64}() for J = 0:Jmax] - @threads for totJ = 0:Jmax - tdict = d6j[totJ+1] - for ja = 1:2:Jmax - for jb = 1:2:Jmax - if tri_check(ja,jb,totJ*2)==false;continue;end - for jd =1:2:Jmax - for Jp = 0:Jmax - if tri_check(jb,jd,Jp*2)==false;continue;end - for jc = 1:2:Jmax - if tri_check(jd,totJ*2,jc)==false;continue;end - if tri_check(ja,Jp*2,jc)==false;continue;end - t6j = wigner6j(Float64,ja//2,jb//2,totJ,jd//2,jc//2,Jp) - nkey = get_nkey_from_key6j(ja,jb,jd,jc,Jp) - tdict[nkey] = t6j - end - end - end - end - end - if !only_halfinteger - tdict = d6j_int[totJ+1] - for j1 = 0:jmax - for j2 = j1:jmax - if !tri_check(j1,j2,totJ);continue;end - for Jp = totJ:Jmax - for j3 = 0:jmax - if !tri_check(j2,j3,Jp);continue;end - for j4 = 0:jmax - if !tri_check(j3,j4,totJ);continue;end - if !tri_check(j1,j4,Jp);continue;end - t6j = wigner6j(Float64,j1,j2,totJ,j3,j4,Jp) - nkey = get_nkey_from_key6j(j1,j2,j3,j4,Jp) - tdict[nkey] = t6j - end - end +function get_dictHOB(n12, l12, n3, l3, n45, l45, n6, l6, lambda, dictHOB) + key1,key2 = get_HOB_nlkey(n12,l12,n3,l3,n45,l45,n6,l6) + # try + # return dictHOB[lambda][key1][key2] + # catch + # println("HOB: Lam $lambda nls $n12 $l12 $n3 $l3, $n45 $l45 $n6 $l6") + # println("key1 $key1 key2 $key2") + # end + return dictHOB[lambda][key1][key2] +end + +function HObracket_naiv(nl, ll, nr, lr, n1, l1, n2, l2, Lam, d::Float64, dtri, dcgm0, to) + r = 0.0 + ee = 2*nl + ll + er = 2*nr + lr + e1 = 2*n1 + l1 + e2 = 2*n2 + l2 + if ee + er != e1 + e2; return r;end + if !tri_check(ll, lr, Lam);return r;end + if !tri_check(l1, l2, Lam);return r;end + phase = (-1.0)^(n1 + n2 + nr + nl) + t = sqrt( ( d^(e1 - er)) / ((1.0 + d)^(e1 + e2))) + m = min(er, e2) + for ed = 0:m + eb = er - ed + ec = e2 - ed + ea = e1 - er + ed + for ld = ed:-2:0 + for lb = eb:-2:0 + if tri_check(ld,lb,lr)==false;continue;end + for lc = ec:-2:0 + if !tri_check(ld,lc,l2) ;continue;end + for la = ea:-2:0 + if !tri_check(la,lb,l1);continue;end + if !tri_check(la,ll,lc);continue;end + t9j = wigner9j(la,lb,l1,lc,ld,l2,ll,lr,Lam) + tmp = ((-d)^ed) * t + tmp *= t9j + tmp *= Ghob(e1, l1, ea, la, eb, lb, dtri, dcgm0) + tmp *= Ghob(e2, l2, ec, lc, ed, ld, dtri, dcgm0) + tmp *= Ghob(ee, ll, ea, la, ec, lc, dtri, dcgm0) + tmp *= Ghob(er, lr, eb, lb, ed, ld, dtri, dcgm0) + r += tmp end - end - end - end - end - - d6j_nabla = Dict{Vector{Int64},Float64}() - totJ =1 - for ja = 1:2:Jmax - for jb = 1:2:Jmax - if tri_check(ja,jb,2)==false;continue;end - for l2 =0:emax - if tri_check(jb//2,l2,1//2)==false;continue;end - for l1 = 0:emax - if tri_check(l2,totJ,l1)==false;continue;end - if tri_check(ja//2,1//2,l1)==false;continue;end - d6j_nabla[[ja,jb,l2,l1,0]] = wigner6j(Float64,ja//2,jb//2,1,l2,l1,1//2) end - end + end end end + return r * phase +end - return d6j,d6j_nabla,d6j_int +""" +associated Legendre Polynomials are calculated with AssociatedLegendrePolynomials.jl +""" +function spherical_harmonics(l, m, θ, φ) + Ylm = (-1)^m * sqrt( (2*l+1) * factorial(l-m) / ( 4*pi * factorial(l+m)) ) * Plm(l, m, cos(θ)) * (cos(m*φ)+im*sin(m*φ)) + return Ylm end diff --git a/src/chiEFTint/calibration.jl b/src/chiEFTint/calibration.jl index 267af135..8341f584 100644 --- a/src/chiEFTint/calibration.jl +++ b/src/chiEFTint/calibration.jl @@ -1,11 +1,12 @@ -function caliblating_2n3nLECs_byHFMBPT(itnum,optimizer,MPIcomm,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io;Operators=[""]) +function caliblating_2n3nLECs_byHFMBPT(itnum,optimizer,MPIcomm,chiEFTobj,OPTobj,dWS,nucs,HFdata,to,io;Operators=[""]) @assert optimizer != "" "optimizer should be BayesOpt/LHS/MCMC" if !MPIcomm for it = 1:itnum - add2n3n(chiEFTobj,to,it) - @timeit to "Vtrans" dicts_tbme = TMtrans(chiEFTobj,to;writesnt=false) + #add2n3n(chiEFTobj,to,it) + calc_vmom_3nf(chiEFTobj,1,to) + @timeit to "Vtrans" dicts_tbme = TMtrans(chiEFTobj,dWS,to;writesnt=false) print_vec("it = "*@sprintf("%8i",it),OPTobj.params,io) - @timeit to "HF/HFMBPT" hf_main_mem(chiEFTobj,nucs,dicts_tbme,d9j,HOBs,HFdata,to;Operators=Operators) + @timeit to "HF/HFMBPT" hf_main_mem(chiEFTobj,nucs,dicts_tbme,dWS,HFdata,to;Operators=Operators) if optimizer=="BayesOpt" BO_HFMBPT(it,OPTobj,HFdata,to) elseif optimizer=="LHS" @@ -19,12 +20,12 @@ function caliblating_2n3nLECs_byHFMBPT(itnum,optimizer,MPIcomm,chiEFTobj,OPTobj, updateLECs_in_chiEFTobj!(chiEFTobj,OPTobj.targetLECs,OPTobj.params) end else - mpi_hfmbpt(itnum,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io;Operators=Operators) + mpi_hfmbpt(itnum,chiEFTobj,OPTobj,dWS,nucs,HFdata,to,io;Operators=Operators) + MPI.Finalize() end return nothing end - mutable struct MCMCobject dim::Int64 nstep::Int64 @@ -206,7 +207,7 @@ function prepOPT(strLECs::LECs,opt,to,io;num_cand=500,op="2n3nall",optimizer="MC @assert num_cand > 2 "itnum must be >2" Data = [zeros(Float64,pDim) for i=1:num_cand] gens = 200 - @timeit to "LHS" plan, _ = LHCoptim(num_cand+1,pDim,gens) + @timeit to "LHCoptim" plan, _ = LHCoptim(num_cand+1,pDim,gens) tmp = scaleLHC(plan,pdomains) cand = [ tmp[i,:] for i =1:num_cand+1] history = [zeros(Float64,3) for i=1:num_cand] @@ -246,8 +247,7 @@ function prepOPT(strLECs::LECs,opt,to,io;num_cand=500,op="2n3nall",optimizer="MC end return OPTobj end - end - if optimizer=="MCMC" + elseif optimizer=="MCMC" dim = length(params) nstep = num_cand thining = 1 @@ -285,11 +285,13 @@ function prepOPT(strLECs::LECs,opt,to,io;num_cand=500,op="2n3nall",optimizer="MC end return OPTobj else - sigmas = [0.1, 0.3, 0.3, 0.4, 0.2] + sigmas = [0.1, 0.3, 0.3, 0.4, 0.2] OPTobj = MCMCobject(dim,nstep,burnin,thining,acchit,targetLECs,params,params_ref,sigmas,cand,chain,history) return OPTobj end #println("params_ref ",params_ref) + else + @error "optimizer $optimizer not supported" end end @@ -325,7 +327,7 @@ function propose_MH!(it,OPTobj) OPTobj.chain[:,it] .= OPTobj.chain[:,it-1] OPTobj.history[it] .= OPTobj.history[it-1] end - for n = 1:length(params) + for n in eachindex(params) params[n] += OPTobj.sigmas[n] * randn() end return nothing @@ -367,7 +369,7 @@ function BO_HFMBPT(it,BOobj,HFdata,to;var_proposal=0.2,varE=1.0,varR=0.25,Lam=0. BOobj.Data[it] .= BOobj.params return nothing end -function calcKernel!(it,BOobj;ini=false,eps=1.e-8) +function calcKernel!(it,BOobj;ini=false,myeps=1.e-8) Ktt = @view BOobj.Ktt[1:it,1:it] obs = BOobj.observed cand = BOobj.cand @@ -389,7 +391,7 @@ function calcKernel!(it,BOobj;ini=false,eps=1.e-8) BLAS.gemm!('T','N',1.0,tv,tv2,0.0,rTr) Ktt[i,j] = Ktt[j,i] = exp(-0.5*tau*rTr[1]) end - Ktt[i,i] += eps + Ktt[i,i] += myeps end else i = it @@ -402,7 +404,7 @@ function calcKernel!(it,BOobj;ini=false,eps=1.e-8) BLAS.gemm!('T','N',1.0,tv,tv2,0.0,rTr) Ktt[i,j] = Ktt[j,i] = exp(-0.5*tau*rTr[1]) end - Ktt[i,i] += eps + Ktt[i,i] += myeps end ## Calculate Ktt^{-1} Ktinv = @view BOobj.Ktinv[1:it,1:it] @@ -504,7 +506,6 @@ function fPhi(Z) return 0.5 * erfc(-(Z/sqrt(2.0))) end - """ function used for proposals in Affine invariant MCMC """ @@ -512,7 +513,7 @@ function gz(a=2.0) return (((a-1)*rand() +1)^2) / a end -function mpi_hfmbpt(itnum,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io; +function mpi_hfmbpt(itnum,chiEFTobj,OPTobj,dWS,nucs,HFdata,to,io; Operators=["Rp2"],rank_master=0,writesnt=false,debug=false) LECs = chiEFTobj.LECs.vals; idxLECs = chiEFTobj.LECs.idxs; dLECs = chiEFTobj.LECs.dLECs myrank = MPI.Comm_rank(MPI.COMM_WORLD) @@ -537,9 +538,9 @@ function mpi_hfmbpt(itnum,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io; updateLECs_in_chiEFTobj!(chiEFTobj,OPTobj.targetLECs,OPTobj.params) calc_vmom_3nf(chiEFTobj,it,to) add_V12mom!(chiEFTobj.V12mom,chiEFTobj.V12mom_2n3n) - dicts_tbme = TMtrans(chiEFTobj,to;writesnt=false) + dicts_tbme = TMtrans(chiEFTobj,dWS,to;writesnt=false) if !debug - hf_main_mem(chiEFTobj,nucs,dicts_tbme,d9j,HOBs,HFdata,to;Operators=Operators,io=io) + hf_main_mem(chiEFTobj,nucs,dicts_tbme,dWS,HFdata,to;Operators=Operators,io=io) end eval_HFMBPT(it,OPTobj,HFdata,0.1,1.0;io=io,debug=debug) print_vec("it = "*@sprintf("%8i",it),OPTobj.params,io) @@ -572,9 +573,9 @@ function mpi_hfmbpt(itnum,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io; updateLECs_in_chiEFTobj!(chiEFTobj,OPTobj.targetLECs,candidate) calc_vmom_3nf(chiEFTobj,it,to) add_V12mom!(chiEFTobj.V12mom,chiEFTobj.V12mom_2n3n) - dicts_tbme = TMtrans(chiEFTobj,to;writesnt=false) + dicts_tbme = TMtrans(chiEFTobj,dWS,to;writesnt=false) if !debug - hf_main_mem(chiEFTobj,nucs,dicts_tbme,d9j,HOBs,HFdata,to;Operators=Operators,io=io) + hf_main_mem(chiEFTobj,nucs,dicts_tbme,dWS,HFdata,to;Operators=Operators,io=io) end eval_HFMBPT(it,OPTobj,HFdata,0.1,1.0;io=io,debug=debug) logratio = 1.0 @@ -607,28 +608,29 @@ function mpi_hfmbpt(itnum,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io; MPI.Barrier(comm) end end - MPI.Finalize() return nothing end """ + sample_AffineInvMCMC(numwalkers::Int, x0::Matrix{Float64},nstep::Integer, thinning::Integer,a::Float64=2.) + +Function to carry out a parameter sampling with Affince invariant MCMC method. Reference: Goodman & Weare, "Ensemble samplers with affine invariance", Communications in Applied Mathematics and Computational Science, DOI: 10.2140/camcos.2010.5.65, 2010. """ -function sample_AffineInvMCMC(numwalkers::Int, x0::Matrix{Float64}, - nstep::Integer, thinning::Integer,a::Float64=2.) +function sample_AffineInvMCMC(numwalkers::Int, x0::Matrix{Float64},nstep::Integer, thinning::Integer,a::Float64=2.) @assert length(size(x0)) == 2 ndim = size(x0)[1] chain = zeros(Float64,ndim,numwalkers,nstep) - llhs = zeros(Float64,1,numwalkers,nstep) + lLHS = zeros(Float64,1,numwalkers,nstep) for n =1:ndim tX = @view chain[n,:,1] tX .= x0[n,:] end for walker = 1:numwalkers Xi = @view chain[:,walker,1] - llhs[1,walker,1] = myllh(Xi) + lLHS[1,walker,1] = myllh(Xi) end idx_S0 = collect(1:div(numwalkers,2)) idx_S1 = collect(div(numwalkers,2)+1:numwalkers) @@ -640,7 +642,7 @@ function sample_AffineInvMCMC(numwalkers::Int, x0::Matrix{Float64}, for walker in idxs_target Xi = @view chain[:,walker,t-1] nX = @view chain[:,walker,t] - llh = llhs[1,walker,t-1] + llh = lLHS[1,walker,t-1] walker2 = sample(idxs_complement) Xj = @view chain[:,walker2,t-ifelse(nbatch==1,1,0)] z = (((a-1)*rand() + 1)^2) / a @@ -648,18 +650,18 @@ function sample_AffineInvMCMC(numwalkers::Int, x0::Matrix{Float64}, nllh = myllh(nX) logratio = (ndim-1)*log(z) + nllh - llh if log(rand(rng)) < logratio - llhs[1,walker,t] = nllh + lLHS[1,walker,t] = nllh acchit += 1 else - llhs[1,walker,t] = llh + lLHS[1,walker,t] = llh nX .= Xi end end end end println("Acc. rate: ",@sprintf("%6.2f",100*acchit/((nstep-1)*numwalkers))) - chain,llhs = flatten_mcmcarray(chain,llhs) - return chain, llhs + chain,lLHS = flatten_mcmcarray(chain,lLHS) + return chain, lLHS end function flatten_mcmcarray(chain::Array, llhoodvals::Array,order=true) numdims, numwalkers, numsteps = size(chain) diff --git a/src/chiEFTint/dict_LECs.jl b/src/chiEFTint/dict_LECs.jl index 4b492f08..31932a2b 100644 --- a/src/chiEFTint/dict_LECs.jl +++ b/src/chiEFTint/dict_LECs.jl @@ -1,12 +1,5 @@ -struct LECs - vals::Vector{Float64} - idxs::Dict{String,Int64} - dLECs::Dict{String,Float64} -end - """ prep_valsidxs_dLECs!(vals,idxs,dLECs) - overwrites `vals` and `idxs`, which are to be used in e.g., MCMC algorithms, by dict for LECs `dLECs`. """ function prep_valsidxs_dLECs!(vals,idxs,dLECs) @@ -29,7 +22,7 @@ function dict_em500n3lo() dLECs=Dict{String,Float64}() ## LO con 10^4 GeV^-2 dLECs["C0_1S0"] = -0.147167 - dLECs["C0_3S1"] = -0.11897839697675265 + dLECs["C0_3S1"] = -0.118972496 dLECs["C_CSB"] = 0.00049950 dLECs["C_CIB"] = 0.00069075 ## NLO con 10^4 GeV^-4 @@ -56,25 +49,35 @@ function dict_em500n3lo() dLECs["D_3D2"] = -1.46 dLECs["D_3PF2"] = -0.465 dLECs["D_3D3"] = 5.66 - ## For pion exchange contribution ## NNLO GeV^-1 dLECs["c1_NNLO"] = -0.81 dLECs["c2_NNLO"] = 2.8 dLECs["c3_NNLO"] = -3.2 dLECs["c4_NNLO"] = 5.4 + dLECs["cD"] = 1.000 + dLECs["cE"] = 1.0 ## for density-dependent NN, c1,c3,c4 can be different from genuine NN part dLECs["ct1_NNLO"] = -0.804 dLECs["ct3_NNLO"] = -2.828 dLECs["ct4_NNLO"] = 4.811 - dLECs["cD"] = 0.545 - dLECs["cE"] = -0.044 + + dLECs["ct1_NNLO"] = -0.81 + dLECs["ct3_NNLO"] = -3.2 + dLECs["ct4_NNLO"] = 5.4 + + dLECs["cD"] = 1.264 + dLECs["cE"] = -0.120 + ## N3LO GeV^-2 dLECs["d12"] = 3.06 dLECs["d3"] = -3.27 dLECs["d5"] = 0.45 dLECs["d145"] = -5.65 + ## N4LO (unused) + dLECs["e14"] = 0.0 + dLECs["e17"] = 0.0 ### NLOvs (usually not used) dLECs["c_vs_1"] = 0.19162 dLECs["c_vs_2"] = -0.28374 @@ -91,7 +94,7 @@ end returns vector&dict. for EMN500N3LO: Entem-Machleidt-Nosyk interaction upto N3LO with 500 MeV cutoff """ -function dict_emn500nlo() +function dict_emn500n3lo() vals = Float64[ ] idxs=Dict{String,Int64}() dLECs=Dict{String,Float64}() @@ -124,10 +127,6 @@ function dict_emn500nlo() dLECs["D_3D2"] = -3.200942439 dLECs["D_3PF2"]= 0.010519022 dLECs["D_3D3"] = -1.3336602 - ## N4LO con 10^4 GeV^-8 - dLECs["E_3F2"] = 0.0 - dLECs["E_1F3"] = 0.0 - dLECs["E_3F4"] = 0.0 ## For pion exchange contribution ## NNLO GeV^-1 dLECs["c1_NNLO"] = -1.07 @@ -140,7 +139,7 @@ function dict_emn500nlo() dLECs["ct4_NNLO"] = dLECs["c4_NNLO"] dLECs["cD"] = 0.0 dLECs["cE"] = 0.0 - + ## N3LO GeV^-2 dLECs["d12"] = 1.04 dLECs["d3"] = -0.48 @@ -155,7 +154,6 @@ function dict_emn500nlo() dLECs["c_vs_3"] = 0.0 dLECs["c_vs_4"] = 0.0 dLECs["c_vs_5"] = 0.0 - prep_valsidxs_dLECs!(vals,idxs,dLECs) return LECs(vals,idxs,dLECs) end @@ -193,7 +191,7 @@ function dict_emn500n4lo() dLECs["D_3P2"] = 5.342585336 dLECs["hD_3S1"] = -2.949089421 dLECs["D_3S1"] = -20.793199632 - dLECs["hD_3SD1"] = 1.345478412 + dLECs["hD_3SD1"] = 1.3545478412 dLECs["D_3SD1"] = 2.176852098 dLECs["D_3D1"] = -6.01826561 dLECs["D_1D2"] = -1.545851484 @@ -210,12 +208,25 @@ function dict_emn500n4lo() dLECs["c2_NNLO"] = 3.57 dLECs["c3_NNLO"] = -5.54 dLECs["c4_NNLO"] = 4.17 - ## for density-dependent NN, c1,c3,c4 can be different from genuine NN part + # for density-dependent NN, c1,c3,c4 can be different from genuine NN part + ## EMN effective c's + dLECs["ct1_NNLO"] = -0.73 + dLECs["ct3_NNLO"] = -3.38 + dLECs["ct4_NNLO"] = 1.69 + ## NN sector + dLECs["ct1_NNLO"] = dLECs["c1_NNLO"] + dLECs["ct3_NNLO"] = dLECs["c3_NNLO"] + dLECs["ct4_NNLO"] = dLECs["c4_NNLO"] + + dLECs["cD"] = 0.0 + dLECs["cE"] = 0.0 + + # ## old MAP dLECs["ct1_NNLO"] = -1.10 - dLECs["ct3_NNLO"] = -4.7534 - dLECs["ct4_NNLO"] = 4.0889 - dLECs["cD"] = -0.2766 - dLECs["cE"] = 0.8202 + dLECs["ct3_NNLO"] = -4.453 + dLECs["ct4_NNLO"] = 4.089 + dLECs["cD"] = -0.177 + dLECs["cE"] = 0.820 ## N3LO GeV^-2 dLECs["d12"] = 6.18 @@ -231,7 +242,6 @@ function dict_emn500n4lo() dLECs["c_vs_3"] = 0.0 dLECs["c_vs_4"] = 0.0 dLECs["c_vs_5"] = 0.0 - prep_valsidxs_dLECs!(vals,idxs,dLECs) return LECs(vals,idxs,dLECs) end diff --git a/src/chiEFTint/eff3nf.jl b/src/chiEFTint/eff3nf.jl index a87710b7..4cb20dce 100644 --- a/src/chiEFTint/eff3nf.jl +++ b/src/chiEFTint/eff3nf.jl @@ -1,35 +1,14 @@ -struct QLs - QL0s::Vector{Matrix{Float64}} - QWL2s::Vector{Matrix{Float64}} - QWL1s::Vector{Matrix{Float64}} - QWL0s::Vector{Matrix{Float64}} - QWlss::Vector{Matrix{Float64}} - ndQW1s::Vector{Vector{Matrix{Float64}}} - ndQW2s::Vector{Vector{Matrix{Float64}}} - QLdict::Vector{Dict{Float64,Float64}} -end -struct Fis_2n3n - F0s::Vector{Float64} - F1s::Vector{Float64} - F2s::Vector{Float64} - F3s::Vector{Float64} -end -struct util_2n3n - Fis::Fis_2n3n - QWs::QLs - wsyms::wsyms_j1_1or2 -end - function XF(Anum) return (1.0 + (0.35*pi/1.15)^2 * Anum^(-2/3) )^(-1/3) end function prep_Fis!(chiEFTobj,xr,F0s,F1s,F2s,F3s) + if !chiEFTobj.calc_3N;return nothing;end kF = chiEFTobj.kF n_mesh = chiEFTobj.n_mesh mpi = sum(mpis)/3.0 / hc; mpi2 = mpi^2; mpi4=mpi2^2 kF2 = kF^2; kF4 = kF2^2 fac = 1.0 / (2*pi)^2 - for i = 1:n_mesh + @threads for i = 1:n_mesh k = xr[i] / hc; k2 = k^2; k4=k2^2 F0s[i] = fac * ( kF + (kF2+mpi2-k2)/(4.0*k) *log( ((k+kF)^2 +mpi2)/((k-kF)^2 +mpi2)) @@ -50,7 +29,7 @@ function prep_Fis!(chiEFTobj,xr,F0s,F1s,F2s,F3s) end """ - prep_integrals_for2n3n(chiEFTobj) + prep_integrals_for2n3n(chiEFTobj,xr,ts,ws,to) preparing integrals and Wigner symbols for density-dependent 3NFs: - `Fis::Fis_2n3n` vectors {F0s,F1s,F2s,F3s}, Eqs.(A13)-(A16) in [Kohno2013]. @@ -60,14 +39,12 @@ preparing integrals and Wigner symbols for density-dependent 3NFs: Reference: [Kohno2013] M.Kohno Phys. Rev. C 88, 064005(2013) """ -function prep_integrals_for2n3n(chiEFTobj,xr,ts,ws) +function prep_integrals_for2n3n(chiEFTobj,xr,ts,ws,to) calc_3N = chiEFTobj.calc_3N n_mesh = ifelse(calc_3N,chiEFTobj.n_mesh,3) F0s = zeros(Float64,n_mesh); F1s = zeros(Float64,n_mesh); F2s = zeros(Float64,n_mesh); F3s = zeros(Float64,n_mesh) QWs = prep_QWs(chiEFTobj,xr,ts,ws) - if calc_3N - prep_Fis!(chiEFTobj,xr,F0s,F1s,F2s,F3s) - end + prep_Fis!(chiEFTobj,xr,F0s,F1s,F2s,F3s) wsyms = prep_wsyms() Fis = Fis_2n3n(F0s,F1s,F2s,F3s) return util_2n3n(Fis,QWs,wsyms) @@ -77,7 +54,7 @@ function calc_vmom_3nf(chiEFTobj,it,to;pnm=false) if !chiEFTobj.params.calc_3N; return nothing; end if it > 1; for i in eachindex(chiEFTobj.pw_channels); chiEFTobj.V12mom_2n3n[i] .= 0.0; end;end dLECs = chiEFTobj.LECs.dLECs; xr = chiEFTobj.xr - V12mom = chiEFTobj.V12mom; dict_pwch = chiEFTobj.dict_pwch + V12mom = chiEFTobj.V12mom_2n3n; dict_pwch = chiEFTobj.dict_pwch util_2n3n = chiEFTobj.util_2n3n; lsjs = chiEFTobj.lsjs tmp_llsj = chiEFTobj.tllsj kF = chiEFTobj.params.kF @@ -87,7 +64,6 @@ function calc_vmom_3nf(chiEFTobj,it,to;pnm=false) nreg = 3 mpi = sum(mpis)/3.0/hc; mpi2 = mpi^2 bbf = 2.0/3.0 / (4.0 * pi^2) - r_c1 = dLECs["ct1_NNLO"] *1.e-3 *gA^2 * mpi2 / ((Fpi/hc)^4) *hc^2 r_c3 = dLECs["ct3_NNLO"] *1.e-3 *gA^2 / (2.0*(Fpi/hc)^4) *hc^2 r_c4 = dLECs["ct4_NNLO"] *1.e-3 *gA^2 / (2.0*(Fpi/hc)^4) *hc^2 @@ -100,7 +76,7 @@ function calc_vmom_3nf(chiEFTobj,it,to;pnm=false) for pnrank =1:3 tdict = dict_pwch[pnrank] #MN = Ms[pnrank]#;dwn = 1.0/MN;sq_dwn=dwn^2 - itt = itts[pnrank] + itt = 2 *(pnrank -2) @views tllsj[1:nthreads()][1] .= itt @inbounds for J=0:jmax lsj = lsjs[J+1] @@ -155,8 +131,8 @@ end """ prep_QWs(chiEFTobj,xr,ts,ws) -returns struct `QWs`, second kind Legendre functions, Eqs.(B1)-(B5) in [Kohno2013]. -Note that QWs.QLdict is also used in OPEP to avoid redundant calculations. +returns struct `QLs`, second kind Legendre functions, Eqs.(B1)-(B5) in [Kohno2013]. +Note that QLs.QLdict is also used in OPEP to avoid redundant calculations. Reference: [Kohno2013] M.Kohno Phys. Rev. C 88, 064005(2013) """ function prep_QWs(chiEFTobj,xr,ts,ws) @@ -172,11 +148,10 @@ function prep_QWs(chiEFTobj,xr,ts,ws) ndQW1s = [ [ zeros(Float64,n_mesh,n_mesh) for ellp = 0:dim] for ell=0:dim] ndQW2s = [ [ zeros(Float64,n_mesh,n_mesh) for ellp = 0:dim] for ell=0:dim] QLdict = [ Dict{Float64,Float64}() for ell=0:dim+1] - for i = 1:n_mesh #for (i,x) in enumerate(xr) - x = xr[i] - x_fm = x/hc - for (j,y) in enumerate(xr) - y_fm = y/hc + for i in eachindex(xr) + x = xr[i]; x_fm = x/hc + for j in eachindex(xr) + y = xr[j]; y_fm = y/hc z = (x^2 + y^2 + mpi2*hc^2) / (2.0 * x*y) for ell = 0:lmax+1 QL0s[ell+1][i,j] = QL(z,ell,ts,ws,QLdict) @@ -944,7 +919,7 @@ function QWL(kF,k,kp,ell,ellp,p,ts,ws,mpi2,QLdict;is_xmul=true) deno *= (k*kp)^div(p,2) elseif p==1 if is_xmul - deno *= kp + deno *= kp else deno *= k end diff --git a/src/chiEFTint/main_chiEFTint.jl b/src/chiEFTint/main_chiEFTint.jl index 681ba438..679ddf92 100644 --- a/src/chiEFTint/main_chiEFTint.jl +++ b/src/chiEFTint/main_chiEFTint.jl @@ -1,195 +1,96 @@ """ - make_chiEFTint(;is_show=false,itnum=1,writesnt=true,nucs=[],optimizer="",MPIcomm=false,corenuc="",ref="nucl",Operators=[]) + make_chiEFTint(;is_show=false,itnum=1,writesnt=true,nucs=[],optimizer="",MPIcomm=false,corenuc="",ref="nucl",Operators=[],fn_params="optional_parameters.jl",write_vmom=false,do_svd=false) The interface function in chiEFTint. -This generates NN-potential in momentum space and then transforms it in HO basis. +This generates NN-potential in momentum space and then transforms it in HO basis to give inputs for many-body calculations. The function is exported and can be simply called make_chiEFTint() in your script. # Optional arguments: Note that these are mainly for too specific purposes, so you do not specify these. - `is_show::Bool` to show `TimerOutputs` - `itnum::Int` number of iteration for LECs calibration with HFMBPT -- `writesnt::Bool`, to write out interaction file in snt (KSHELL) format. ```julia writesnt = false``` case can be usefull when you repeat large number of calculations for different LECs. -- `nucs` -- `optimizer::String` method for LECs calibration. "MCMC","LHC","BayesOpt" are available +- `writesnt::Bool`, to write out interaction file in snt (KSHELL) format. ```julia writesnt = false``` case can be usefull when you iteratively calculate with different LECs. +- `nucs` target nuclei used for LECs calibration with HFMBPT +- `optimizer::String` method for LECs calibration. "MCMC","LHS","BayesOpt" are available - `MPIcomm::Bool`, to carry out LECs sampling with HF-MBPT and affine inveriant MCMC - `Operators::Vector{String}` specifies operators you need to use in LECs calibrations +- `fn_params::String` path to file specifying the optional parameters +- `write_vmom::Bool` to write out in vmom partial wave channels """ -function make_chiEFTint(;is_show=false,itnum=1,writesnt=true,nucs=[],optimizer="",MPIcomm=false,corenuc="",ref="nucl",Operators=[]) - to = TimerOutput() - io=stdout - optHFMBPT=false - if (optimizer!="" && nucs != []) || MPIcomm - optHFMBPT=true; writesnt=false - end - if MPIcomm - @assert optimizer == "MCMC" "when using MPI for make_chiEFTint function, optimizer should be \"MCMC\"" - @assert nucs!=[] "nucs must not be empty if you set MPIcomm=true" - if !isdir("mpilog");run(`mkdir mpilog`);end - MPI.Init() - myrank = MPI.Comm_rank(MPI.COMM_WORLD) - io = open("./mpilog/log_rank"*string(myrank)*".dat","w") - else - io = open("logfile.dat","w") - end - - @timeit to "prep." chiEFTobj,OPTobj,d9j,HOBs = construct_chiEFTobj(optHFMBPT,itnum,optimizer,MPIcomm,io,to) +function make_chiEFTint(;is_show=false,itnum=1,writesnt=true,nucs=[],optimizer="",MPIcomm=false,corenuc="",ref="nucl",Operators=[],fn_params="optional_parameters.jl",write_vmom=false,do_svd=false,do2n3ncalib=false) + to = TimerOutput() + if (optimizer!="" && nucs != []) || MPIcomm; do2n3ncalib=true; writesnt=false; end + io = select_io(MPIcomm,optimizer,nucs) + @timeit to "prep." chiEFTobj,OPTobj,dWS = construct_chiEFTobj(do2n3ncalib,itnum,optimizer,MPIcomm,io,to;fn_params) @timeit to "NNcalc" calcualte_NNpot_in_momentumspace(chiEFTobj,to) + @timeit to "deutron" BE_d = Calc_Deuteron(chiEFTobj,to;io=io) @timeit to "renorm." SRG(chiEFTobj,to) - HFdata = prepHFdata(nucs,ref,["E"],corenuc) - if optHFMBPT #calibrate 2n3n LECs by HFMBPT - caliblating_2n3nLECs_byHFMBPT(itnum,optimizer,MPIcomm,chiEFTobj,OPTobj,d9j,HOBs,nucs,HFdata,to,io;Operators=Operators) - else # write out snt/snt.bin file - add2n3n(chiEFTobj,to) - @timeit to "Vtrans" dicts_tbme = TMtrans(chiEFTobj,to;writesnt=writesnt) + HFdata = prepHFdata(nucs,ref,["E"],corenuc) + + if do_svd; target_LSJ = [[0,0,0,0],[0,2,1,1],[1,1,1,0],[2,2,0,2]]; svd_vmom(chiEFTobj,target_LSJ); end + + if write_vmom + target_LSJ = [[0,0,1,1],[1,1,1,0],[1,1,0,1],[1,1,1,1],[0,0,0,0],[0,2,1,1],[3,3,1,3]] + write_onshell_vmom(chiEFTobj,2,target_LSJ;label="pn"); write_onshell_vmom(chiEFTobj,3,target_LSJ;label="nn") end + if do2n3ncalib #calibrate 2n3n LECs by HFMBPT + caliblating_2n3nLECs_byHFMBPT(itnum,optimizer,MPIcomm,chiEFTobj,OPTobj,dWS,nucs,HFdata,to,io;Operators=Operators) + else # write out snt/snt.bin file + calc_vmom_3nf(chiEFTobj,1,to) + if chiEFTobj.params.calc_EperA; calc_nuclearmatter_in_momspace(chiEFTobj,to,io);end + @timeit to "Vtrans" dicts_tbme = TMtrans(chiEFTobj,dWS,to;writesnt=writesnt) + end if io != stdout; close(io);end - if is_show; show(to, allocations = true,compact = false);println("");end + show_TimerOutput_results(to;tf=is_show) return true end - -""" - ChiralEFTobject - -# Fields -- `params::chiEFTparams` -- `xr_fm::Vector{Float64}` momentum mesh points in fm``^{-1}`` (0 to `pmax_fm`) -- `xr::Vector{Float64}` momentum mesh points in MeV (`xr_fm` times ``\\hbar c``) -- `wr::Vector{Float64}` weights vector for Gauss-Legendre quadrature -- `dict6j::Vector{Dict{Int64, Float64}}` dictionary of Wigner-6j symbols, `dict6j[totalJ][integer_key6j]` = -```math -\\begin{Bmatrix} -j_a/2& j_b/2& J \\\\ -j_c/2& j_d/2& J_p -\\end{Bmatrix} -``` -where `integer_key` is from the `get_nkey_from_key6j` function with ``j_a,j_b,j_c,j_d,J_p``. -- `d6j_nabla::Dict{Vector{Int64}, Float64}` dict. for Talmi-Moshinsky transformation `d6j_nabla[[ja,jb,l2,l1,0]]` = -```math -\\begin{Bmatrix} -j_a/2& j_b/2& 1 \\\\ - l_2& l_1& 1/2 -\\end{Bmatrix} -``` -- `d6j_int::Vector{Dict{Int64, Float64}}` dict. of Wigner-6j used for HOBs in HF-MBPT/IMSRG. -- `Rnl::Array{Float64,3}` arrays for radial functions -- `xrP_fm::Vector{Float64}` "valence" counter part of `xr_fm` (usually not used) -- `xrP::Vector{Float64}` "valence" counter part of `xr` (usually not used) -- `wrP::Vector{Float64}` "valence" counter part of `wr` (usually not used) -- `RNL::Array{Float64,3}` "valence" counter part of `Rnl` (usually not used) -- `lsjs::Vector{Vector{Vector{Int64}}}` -- `llpSJ_s::Vector{Vector{Int64}}` -- `tllsj::Vector{Int64}` -- `opfs::Vector{Vector{Float64}}` -- `ts::Vector{Float64}` mesh points for angular integrals in pion-exchange terms -- `ws::Vector{Float64}` weights vectors for angular integrals in pion-exchange terms -- `Numpn::Dict{Vector{Int64},Int64}` -- `infos::Vector{Vector{Int64}}` -- `izs_ab::Vector{Vector{Vector{Int64}}}` -- `nTBME::Int64` # of two-body matrix elements (TBMEs) -- `util_2n3n::util_2n3n` -- `LECs::LECs` -- `X9::Vector{Vector{Dict{Vector{Int64}, Float64}}}` 9j for Vtrans -- `U6::Vector{Vector{Vector{Vector{Vector{Vector{Float64}}}}}}` 6j for Vtrans -- `V12mom::Vector{Matrix{Float64}}` matrix elements of NN int in momentum space for each two-body channnel -- `V12mom_2n3n::Vector{Matrix{Float64}}` matrix elements of 2n3n int in momentum space for each two-body channnel -- `pw_channels::Vector{Vector{Int64}}` list of partial wave two-body channels like {[pnrank,L,L',S,J]} -- `dict_pwch::Vector{Dict{Vector{Int64}, Int64}}` -- `arr_pwch::Vector{Vector{Vector{Vector{Vector{Int64}}}}}` -""" -struct ChiralEFTobject - params::chiEFTparams - xr_fm::Vector{Float64} - xr::Vector{Float64} - wr::Vector{Float64} - dict6j::Vector{Dict{Int64, Float64}} - d6j_nabla::Dict{Vector{Int64}, Float64} - d6j_int::Vector{Dict{Int64, Float64}} - Rnl::Array{Float64,3} - xrP_fm::Vector{Float64} - xrP::Vector{Float64} - wrP::Vector{Float64} - RNL::Array{Float64,3} - lsjs::Vector{Vector{Vector{Int64}}} - llpSJ_s::Vector{Vector{Int64}} - tllsj::Vector{Int64} - opfs::Vector{Vector{Float64}} - ts::Vector{Float64} - ws::Vector{Float64} - Numpn::Dict{Vector{Int64},Int64} - infos::Vector{Vector{Int64}} - izs_ab::Vector{Vector{Vector{Int64}}} - nTBME::Int64 - util_2n3n::util_2n3n - LECs::LECs - X9::Vector{Vector{Dict{Vector{Int64}, Float64}}} - U6::Vector{Vector{Vector{Vector{Vector{Vector{Float64}}}}}} - V12mom::Vector{Matrix{Float64}} - V12mom_2n3n::Vector{Matrix{Float64}} - pw_channels::Vector{Vector{Int64}} - dict_pwch::Vector{Dict{Vector{Int64}, Int64}} - arr_pwch::Vector{Vector{Vector{Vector{Vector{Int64}}}}} -end """ + construct_chiEFTobj(do2n3ncalib,itnum,optimizer,MPIcomm,io,to;fn_params="optional_parameters.jl") It returns - `chiEFTobj::ChiralEFTobject` parameters and arrays to generate NN (+2n3n) potentials. See also struct `ChiralEFoObject`. - `OPTobj` (mutable) struct for LECs calibrations. It can be `LHSobject`/`BOobject`/`MCMCobject`/`MPIMCMCobject` struct. -- `d9j::Vector{Vector{Vector{Vector{Vector{Vector{Vector{Float64}}}}}}}` array of Wigner-9j symbols used for Pandya transformation in HF-MBPT/IMSRG calculations. -- `HOBs::Dict{Int64, Dict{Int64, Float64}}` dictionary for harmonic oscillator brackets. """ -function construct_chiEFTobj(optHFMBPT,itnum,optimizer,MPIcomm,io,to) +function construct_chiEFTobj(do2n3ncalib,itnum,optimizer,MPIcomm,io,to;fn_params="optional_parameters.jl") # specify chiEFT parameters - params = init_chiEFTparams(;io=io) + params = init_chiEFTparams(;io=io,fn_params=fn_params) + @timeit to "prep dWS" dWS = prep_dWS2n(params,to) - #Next, prepare momentum/integral mesh, arrays, etc. - ## Prep WignerSymbols - dict6j,d6j_nabla,d6j_int = PreCalc6j(params.emax,!optHFMBPT) ## prep. momentum mesh xr_fm,wr = Gauss_Legendre(0.0,params.pmax_fm,params.n_mesh); xr = xr_fm .* hc - pw_channels,dict_pwch,arr_pwch = prepare_2b_pw_states(;io=io) + pw_channels,dict_pwch,arr_pwch = prepare_2b_pw_states(;io=io) V12mom = [ zeros(Float64,params.n_mesh,params.n_mesh) for i in eachindex(pw_channels)] - V12mom_2n3n = [ zeros(Float64,params.n_mesh,params.n_mesh) for i in eachindex(pw_channels)] + V12mom_2n3n = [ zeros(Float64,params.n_mesh,params.n_mesh) for i in eachindex(pw_channels)] ## prep. radial functions rmass = Mp*Mn/(Mp+Mn) br = sqrt(hc^2 /(rmass* params.hw)) Rnl = Rnl_all_ab(params,lmax,br,params.n_mesh,xr_fm) ## prep. for valence space oparators (usually not used) - ntmp = ifelse(params.v_chi_order>0,n_mesh,3) + ntmp = ifelse(params.v_chi_order>0,params.n_mesh,3) xrP_fm,wrP = Gauss_Legendre(0.0,params.Pmax_fm,ntmp); xrP = xrP_fm .* hc RNL = Rnl_all_ab(params,lcmax,br,ntmp,xrP_fm) ## prep. for partial-wave decompositon lsjs = [[[J,J,0,J],[J,J,1,J],[J+1,J+1,1,J],[J-1,J-1,1,J],[J+1,J-1,1,J],[J-1,J+1,1,J]] for J = 0:jmax] - llpSJ_s = [[0,0,1,1],[1,1,1,0],[1,1,0,1],[1,1,1,1],[0,0,0,0],[0,2,1,1],[1,1,1,2]] tllsj = zeros(Int64,5) - opfs = [ zeros(Float64,11) for i=1:5]#T,SS,C,LS,SL terms ### why 11 or 8??? + opfs = [ zeros(Float64,11) for i=1:5]#T,SS,C,LS,SL terms f_ss!(opfs[2]);f_c!(opfs[3]) ## prep. Gauss point for integrals - ts, ws = Gauss_Legendre(-1,1,96) + ts, ws = Gauss_Legendre(-1,1,40) ## prep. for TBMEs - Numpn= Dict{Vector{Int64},Int64}() - infos,izs_ab,nTBME = make_sp_state(params,Numpn;io=io) + infos,izs_ab,nTBME = make_sp_state(params;io=io) println(io,"# of channels 2bstate ",length(infos)," #TBME = $nTBME") ## prep. integrals for 2n3n - util_2n3n = prep_integrals_for2n3n(params,xr,ts,ws) + @timeit to "util2n3n" util_2n3n = prep_integrals_for2n3n(params,xr,ts,ws,to) ### specify low-energy constants (LECs) LECs = read_LECs(params.pottype) - ## 9j&6j symbols for 2n (2n3n) interaction - X9,U6 = prepareX9U6(2*params.emax) - chiEFTobj = ChiralEFTobject(params,xr_fm,xr,wr,dict6j,d6j_nabla,d6j_int,Rnl, - xrP_fm,xrP,wrP,RNL,lsjs,llpSJ_s,tllsj,opfs,ts,ws, - Numpn,infos,izs_ab,nTBME,util_2n3n,LECs,X9,U6, - V12mom,V12mom_2n3n,pw_channels,dict_pwch,arr_pwch) - + chiEFTobj = ChiralEFTobject(params,xr_fm,xr,wr,Rnl, + xrP_fm,xrP,wrP,RNL,lsjs,tllsj,opfs,ts,ws, + infos,izs_ab,nTBME,util_2n3n,LECs, + V12mom,V12mom_2n3n,pw_channels,dict_pwch,arr_pwch) # make Opt stuff - OPTobj = prepOPT(LECs,optHFMBPT,to,io;num_cand=itnum,optimizer=optimizer,MPIcomm=MPIcomm) - d9j = Vector{Vector{Vector{Vector{Vector{Vector{Float64}}}}}}[ ] - HOBs = Dict{Int64, Dict{Int64, Float64}}() - if optHFMBPT - d9j,HOBs = PreCalcHOB(params,d6j_int,to;io=io) - end - return chiEFTobj,OPTobj,d9j,HOBs + @timeit to "OPTobj" OPTobj = prepOPT(LECs,do2n3ncalib,to,io;num_cand=itnum,optimizer=optimizer,MPIcomm=MPIcomm) + return chiEFTobj,OPTobj,dWS end function calcualte_NNpot_in_momentumspace(chiEFTobj,to) @@ -210,7 +111,7 @@ function calcualte_NNpot_in_momentumspace(chiEFTobj,to) return nothing end -function updateLECs_in_chiEFTobj!(chiEFTobj::ChiralEFTobject,targetkeys,targets) +function updateLECs_in_chiEFTobj!(chiEFTobj::ChiralEFTobject,targetkeys,targets::Vector{Float64}) for (k,target) in enumerate(targetkeys) idx = chiEFTobj.LECs.idxs[target] chiEFTobj.LECs.vals[idx] = chiEFTobj.LECs.dLECs[target] = targets[k] @@ -218,24 +119,25 @@ function updateLECs_in_chiEFTobj!(chiEFTobj::ChiralEFTobject,targetkeys,targets) return nothing end -function add2n3n(chiEFTobj,to,it=1) - calc_vmom_3nf(chiEFTobj,it,to) +function add2n3n(chiEFTobj::ChiralEFTobject,to,it=1) + calc_vmom_3nf(chiEFTobj,1,to) add_V12mom!(chiEFTobj.V12mom,chiEFTobj.V12mom_2n3n) return nothing end - -function add_V12mom!(V12mom,V12mom_2n3n,a=1.0) +function add_V12mom!(V12mom::VM,V12mom_2n3n::VM,a=1.0) where VM<:Vector{Matrix{Float64}} for i in eachindex(V12mom) V12mom_2n3n[i] .+= V12mom[i] * a end return nothing end - - -function genLaguerre(n,alpha,x) +""" + genLaguerre(n::Int,alpha,x) +returns generalized Laguaerre polynomials, ``L^{\\alpha}_n(x)`` +""" +function genLaguerre(n::Int,alpha,x) if n==0 - return 1 + return 1.0 elseif n==1 return -x + (alpha+1) else @@ -248,6 +150,20 @@ function genLaguerre(n,alpha,x) end end +""" + Legendre(n,x) +function to calculate Legendre polynomial ``P_n(x)`` +""" +function Legendre(n,x) + nmax = Int(ifelse(n%2==0,n//2,(n-1)//2)) + tsum = 0.0 + for k = 0:nmax + tsum += (-1)^k * factorial(big(2*n-2*k)) / factorial(big(k)) / factorial(big(n-k)) / factorial(big(n-2*k)) *x^(n-2*k) + end + ret = tsum / 2^n + return Float64(ret) +end + """ Gauss_Legendre(xmin,xmax,n;eps=3.e-16) @@ -274,54 +190,82 @@ function Gauss_Legendre(xmin,xmax,n;eps=3.e-16) z1 = z z -= p1/pp if abs(z-z1) < eps; break;end - if hit > 100; println("warn! in Gausse_Legendre");exit();end + if hit > 100; println("warn! in Gauss_Legendre");exit();end end x[i]=xm-xl*z x[n+1-i]=xm+xl*z w[i]=2.0*xl/( (1.0-z^2) * pp^2) w[n+1-i]=w[i] end + @assert abs(sum(w) - (xmax-xmin)) < 1.e-8 "GL integral $(sum(w)) not match xmax-xmin $(xmax-xmin)" return x,w end """ QL(z,J::Int64,ts,ws) -To calculate Legendre functions of second kind by Gauss-Legendre quadrature +To calculate Legendre functions of second kind, which are needed for pion-exchange contributions, by Gauss-Legendre quadrature. """ -function QL(z,J::Int64,ts,ws,QLdict) +function QL(z,J::Int64,ts,ws,QLdict;zthreshold=1.0) + if J < 0; return 0.0;end + val = 0.0 + if z > zthreshold + val = QL_numeric_dict(z,J,ts,ws,QLdict) + else + println("z $z J $J recursive read") + val = QL_recursive(z,J) + end + return val +end +function QL_numeric_dict(z,J,ts,ws,QLdict) + ret = get(QLdict[J+1],z,0.0) + if ret == 0.0 + ret = QL_numeric(z,J,ts,ws) + QLdict[J+1][z] = ret + end + return ret +end +function QL_numeric(z,J,ts,ws) + ret = 0.0 + @inbounds for (i,t) in enumerate(ts) + ret += ws[i] * (1.0-t*t)^J / (2*(z-t))^(J+1) + end + return ret +end +function QL_numeric_fac(z,J,ts,ws,factor_vec::Vector{Float64}) + ret = 0.0 + @inbounds for (i,t) in enumerate(ts) + ret += factor_vec[i] * ws[i] * (1.0-t*t)^J / (2*(z-t))^(J+1) + end + return ret +end +function QL_recursive(z,J) s = 0.0 + logpart = log( abs((1.0+z)/(1.0-z)) ) + Q0 = 0.5 * logpart + Q1 = 0.5 * z * logpart -1.0 if J==0 - s = 0.5 * log( abs((1.0+z)/(1.0-z)) ) + s = Q0 elseif J==1 - s = 0.5 *z * log( abs((1.0+z)/(1.0-z)) ) -1.0 - elseif J==2 - s = 0.25 * (3.0*z^2 -1.0) * log( abs((1.0+z)/(1.0-z)) ) - 1.5*z - elseif J==3 - s = 0.25 * (5.0*z^3 -3.0*z) * log( abs((1.0+z)/(1.0-z)) ) - 2.5*z^2 + 2.0/3.0 + s = Q1 else - if J >= 0 - t = get(QLdict[J+1],z,0.0) - if t == 0.0 - @inbounds for (i,t) in enumerate(ts) - s += ws[i] * (1.0-t*t)^J / (z-t)^(J+1) - end - s *= 1.0 / 2.0^(J+1) - QLdict[J+1][z] = s - else - return t - end + QJ = Q1; QJm = Q0; tJ = 1 + while tJ < J + tQ = ((2*tJ+1) * z * QJ - tJ * QJm ) /(tJ+1) + QJm = QJ; QJ = tQ + tJ += 1 end + s = QJ end return s end """ - make_sp_state(chiEFTobj,Numpn;io=stdout) + make_sp_state(chiEFTparams;io=stdout) -Defining the number of single particle states from emax and two-body channels. +Defining the two-body channels or kets. """ -function make_sp_state(chiEFTobj,Numpn;io=stdout) +function make_sp_state(chiEFTobj::chiEFTparams;io=stdout) emax = chiEFTobj.emax jab_max = 4*emax + 2 kh = Dict{Vector{Int64},Int64}() @@ -329,7 +273,7 @@ function make_sp_state(chiEFTobj,Numpn;io=stdout) kl = Dict{Vector{Int64},Int64}() kj = Dict{Vector{Int64},Int64}() maxsps = Int((emax+1) * (emax+2) / 2) - println(io,"# of sp states $maxsps") + println(io,"# of sp states $maxsps") n = 0 for NL=0:emax for L=0:NL @@ -338,13 +282,11 @@ function make_sp_state(chiEFTobj,Numpn;io=stdout) for IS=-1:2:1 jd=2*L+IS if jd < 0; continue;end - n=n+1 + n += 1 kh[[-1,n]]=3; kh[[1,n]]=3 kn[[-1,n]]=Nn; kn[[1,n]]=Nn kl[[-1,n]]=L; kl[[1,n]]=L kj[[-1,n]]=jd; kj[[1,n]]=jd - Numpn[[-1,Nn,L,jd]]=n - Numpn[[ 1,Nn,L,jd]]=n end end end @@ -361,17 +303,17 @@ returns `infos`, `izs_ab`, `nTBME` For example, [-1,1,1,1] corresponds to |p0s1/2 n0s1/2>. - `nTBME::Int` # of TBMEs """ -function get_twobody_channels(emax,kh,kn,kl,kj,maxsps,jab_max) - infos = [ [0,0,0,0] ];deleteat!(infos,1) - izs_ab = [ [[0,0,0,0]] ];deleteat!(izs_ab,1) - ichan = 0 - nTBME = 0 +function get_twobody_channels(emax::Int,kh,kn,kl,kj,maxsps::Int,jab_max::Int) + infos = Vector{Int64}[ ] + izs_ab = Vector{Vector{Int64}}[ ] + ichan = nTBME = 0 + num2b = 0 for izz = -2:2:2 for ipp = -1:2:1 for jjx = 0:2*emax+1 if jjx > div(jab_max,2);continue;end ndim = 0 - tl = [ [0,0,0,0]];deleteat!(tl,1) + tl = Vector{Int64}[ ] for iza = -1:2:1 for izb = iza:2:1 if iza + izb != izz;continue;end @@ -392,7 +334,7 @@ function get_twobody_channels(emax,kh,kn,kl,kj,maxsps,jab_max) end if ndim != 0 ichan += 1 - #println("ichan $ichan ndim $ndim") + num2b +=div(ndim*(ndim+1),2) push!(infos,[izz,ipp,jjx,ndim]) nTBME += Int(ndim*(ndim+1)/2) push!(izs_ab,tl) @@ -400,14 +342,40 @@ function get_twobody_channels(emax,kh,kn,kl,kj,maxsps,jab_max) end end end + # num1b = 0 + # nljs = Vector{Int64}[ ] + # for e = 0:emax + # for n = 0:div(e,2) + # l = e - 2*n + # for j = max(1,2*l-1):2:2*l+1 + # push!(nljs,[n,l,j]) + # end + # end + # end + # for ia = 1:length(nljs) + # oa = nljs[ia] + # for ib = ia+1:length(nljs) + # ob = nljs[ib] + # if oa[2]==ob[2] && oa[3]==ob[3] + # num1b += 1 + # end + # end + # end + # numtot = 2* num1b + num2b + # println("num tot $numtot num1b $num1b num2b $num2b") return infos,izs_ab,nTBME end +""" + def_sps_snt(emax,target_nlj) +Defining dicts for single particle states. +One can truncate sps by specifying `target_nlj`, but it is usually empty so this function is usually not used. +""" function def_sps_snt(emax,target_nlj) - nljsnt = [ [0,0] ]; deleteat!(nljsnt,1) + nljsnt = Vector{Int64}[ ] tzs = [-1,1] - dict = Dict(0=>0); delete!(dict,0) - idx = 0; hit = 0 + dict = Dict{Int64,Int64}() + idx = 0 for pn = 1:2 tz = tzs[pn] for temax = 0:emax @@ -430,7 +398,12 @@ function def_sps_snt(emax,target_nlj) return nljsnt,dict end -function freg(p,pp,n) +""" + freg(p,pp,n;Lambchi=500.0) +the regulator function used for NN or 2n3n contribution, Eq.(4.63) in EM's review: +``f(p,p') = \\exp [ -(p/\\Lambda)^{2n} -(p'/\\Lambda)^{2n} ]`` +""" +function freg(p,pp,n;Lambchi=500.0) if n==0;return 1.0;end if n==-1 # for 3D3 pw in older EM interaction return 0.5 *( exp( - (p/Lambchi)^4 - (pp/Lambchi)^4 ) @@ -452,19 +425,18 @@ function read_LECs(pottype) elseif pottype == "emn500n4lo" return dict_emn500n4lo() else - @error "unknown potype $pottype" - exit() + @error "unknown potype $pottype" end end """ calc_Vmom!(pnrank,V12mom,tdict,xr,LEC,LEC2,l,lp,S,J,pfunc,n_reg,to;is_3nf=false) -calc. nn-potential for momentum mesh points +calc. NN-potential for momentum mesh points """ -function calc_Vmom!(chiEFTparams::chiEFTparams,pnrank,V12mom,tdict,xr,LEC,LEC2,l,lp,S,J,pfunc,n_reg,to;is_3nf=false) - n_mesh = chiEFTparams.n_mesh - itt = itts[pnrank]; MN = Ms[pnrank]; dwn = 1.0/MN +function calc_Vmom!(params::chiEFTparams,pnrank,V12mom,tdict,xr,LEC,LEC2,l,lp,S,J,pfunc,n_reg,to;is_3nf=false) + n_mesh = params.n_mesh + itt = 2 *(pnrank -2); MN = Ms[pnrank]; dwn = 1.0/MN V12idx = get(tdict,[itt,lp,l,S,J],-1) if V12idx == -1;return nothing;end V = V12mom[V12idx] @@ -485,15 +457,14 @@ end Rnl_all_ab(lmax,br,n_mesh,xr_fm) Returns array for radial functions (prop to generalized Laguerre polynomials) HO w.f. in momentum space. -Rnlk(l,n,k)=sqrt(br) * R(n,L,Z) *Z with Z=br*k (k=momentum in fm^-1) +`Rnlk(l,n,k)=sqrt(br) * R(n,L,Z) *Z` with `Z=br*k` (k is momentum in fm``{}^{-1}``) """ function Rnl_all_ab(chiEFTobj,lmax_in,br,n_mesh,xr_fm) Nnmax = chiEFTobj.Nnmax Rnl = zeros(Float64,Nnmax+1,lmax_in+1,n_mesh) for l=0:lmax_in for kidx=1:n_mesh - pb = br * xr_fm[kidx] - pb2 = pb^2 + pb = br * xr_fm[kidx]; pb2 = pb^2 fexp = exp(-0.5*pb2) fpow = pb^(l+1) for n=0:Nnmax @@ -506,68 +477,45 @@ function Rnl_all_ab(chiEFTobj,lmax_in,br,n_mesh,xr_fm) return Rnl end +""" +simply calculate ``R_{nl}(p,b) = \\sqrt{ \\frac{2 n! b^3}{\\Gamma(n+l+3/2)} (pb)^l e^{-p^2b^2/2} L^{l+1/2}_{n}(p^2b^2) }`` +""" +function single_Rnl(p,b,n,l) + pb = p*b + return sqrt(2.0*factorial(n) * b^3 / gamma(n+l+3/2)) * (pb^l) *exp(-0.5*pb^2) * genLaguerre(n,l+1//2,pb^2) +end + """ prepare_2b_pw_states(;io=stdout) -preparing two-body channels in terms of . +preparing two-body partical-wave channels, . For example, [pnrank,L,Lp,S,J] = [0, 0, 2, 1, 1] corresponds to proton-neutron 3S1-3D1 channel. """ function prepare_2b_pw_states(;io=stdout) - #iz,lz1,lz2,isz,jz - pw_channels = [ [0,0,0,0,0] ];deleteat!(pw_channels,1) + pw_channels = Vector{Int64}[ ] dict_pwch = [Dict{Vector{Int64},Int64}() for pnrank=1:3] arr_pwch = [[[[ zeros(Int64,j+iss-abs(j-iss)+1) for ll1=abs(j-iss):j+iss ] for j=0:jmax ] for iss=0:1 ] for pnrank=1:3] num=0 - ## pp iz = -2 - itt = 1 - for iss=0:1 - for j=0:jmax - for ll1=abs(j-iss):j+iss - for ll2=abs(j-iss):j+iss - if (-1)^ll1 != (-1)^ll2;continue;end - if itt != Int( (1+(-1)^(ll1+iss))/2);continue;end - if (-1)^(ll1+iss+itt) != -1;continue;end - num=num+1 - push!(pw_channels,[-2,ll1,ll2,iss,j]) - dict_pwch[1][[-2,ll1,ll2,iss,j]] = num - arr_pwch[1][iss+1][j+1][ll1-abs(j-iss)+1][ll2-abs(j-iss)+1] = num - end - end - end - end - ## nn iz = 2 - pnrank=3 - for iss=0:1 - for j=0:jmax - for ll1=abs(j-iss):j+iss - for ll2=abs(j-iss):j+iss - if (-1)^ll1 != (-1)^ll2;continue;end - if itt != Int( (1+(-1)^(ll1+iss))/2);continue;end - if (-1)^(ll1+iss+itt) != -1;continue;end - num=num+1 - push!(pw_channels,[2,ll1,ll2,iss,j]) - dict_pwch[pnrank][[2,ll1,ll2,iss,j]] = num - arr_pwch[pnrank][iss+1][j+1][ll1-abs(j-iss)+1][ll2-abs(j-iss)+1] = num - end - end - end - end - ## pn iz = 0 - pnrank=2 - for iss=0:1 - for ktt=1:2 - if (iss==0 && ktt==1) || (iss==1 && ktt==2);itt=1;end - if (iss==0 && ktt==2) || (iss==1 && ktt==1);itt=0;end + for pnrank = [1,3,2] + itt = 1 + Tz = 2*pnrank -4 + for S=0:1 for j=0:jmax - for ll1=abs(j-iss):j+iss - for ll2=abs(j-iss):j+iss - if (-1)^ll1 != (-1)^ll2;continue;end - if itt != Int((1+(-1)^(ll1+iss))/2) ;continue;end - if (-1)^(ll1+iss+itt) != -1;continue;end - num=num+1 - push!(pw_channels,[0,ll1,ll2,iss,j]) - dict_pwch[pnrank][[0,ll1,ll2,iss,j]] = num - arr_pwch[pnrank][iss+1][j+1][ll1-abs(j-iss)+1][ll2-abs(j-iss)+1] = num + for ll1=abs(j-S):j+S + for ll2=abs(j-S):j+S + for ktt = 1:ifelse(pnrank==2,2,1) + if pnrank==2 + if (S==0 && ktt==1) || (S==1 && ktt==2);itt=1;end + if (S==0 && ktt==2) || (S==1 && ktt==1);itt=0;end + end + if (-1)^ll1 != (-1)^ll2;continue;end + if itt != Int((1+(-1)^(ll1+S))/2);continue;end + if (-1)^(ll1+S+itt) != -1;continue;end + num=num+1 + push!(pw_channels,[Tz,ll1,ll2,S,j]) + dict_pwch[pnrank][[Tz,ll1,ll2,S,j]] = num + arr_pwch[pnrank][S+1][j+1][ll1-abs(j-S)+1][ll2-abs(j-S)+1] = num + end end end end @@ -577,7 +525,10 @@ function prepare_2b_pw_states(;io=stdout) return pw_channels,dict_pwch,arr_pwch end -function calc_coulomb(chiEFTobj,xs,ws,Vcoulomb,pw_channels,num2bch,Rnl;meshp=100) +""" +calculating coulomb contribution in HO base. Results are overwritten to `Vcoulomb` +""" +function calc_coulomb(chiEFTobj,Vcoulomb,pw_channels,num2bch;meshp=100) hw = chiEFTobj.hw Nnmax = chiEFTobj.Nnmax rmass = 0.5 * Mp @@ -586,8 +537,7 @@ function calc_coulomb(chiEFTobj,xs,ws,Vcoulomb,pw_channels,num2bch,Rnl;meshp=100 r,w = Gauss_Legendre(0.0,rmax,meshp) ra1 = zeros(Float64,meshp);rb1 = zeros(Float64,meshp) ra2 = zeros(Float64,meshp);rb2 = zeros(Float64,meshp) - rnl1 = zeros(Float64,meshp) - rnl2 = zeros(Float64,meshp) + rnl1 = zeros(Float64,meshp);rnl2 = zeros(Float64,meshp) vcl = zeros(Float64,meshp) fmcoul(vcl,r) memo1=[0]; memo2=[0] @@ -622,7 +572,6 @@ function fmcoul(vcl,r) end function howf(num,brange,n,l,r,ra,rb,ret_rnl,meshp,memo) - #BR,N,L,R,RNL,NMESH kmax = l +1 gam = sqrt(pi) for k=1:kmax @@ -680,15 +629,19 @@ function howf(num,brange,n,l,r,ra,rb,ret_rnl,meshp,memo) return nothing end - -function Vrel(chiEFTobj,to) - V12mom = chiEFTobj.V12mom; pw_channels = chiEFTobj.pw_channels; Rnl = chiEFTobj.Rnl +""" + Vrel(chiEFTobj::ChiralEFTobject,to) +To define V in two-particle HO basis. +""" +function Vrel(chiEFTobj::ChiralEFTobject,to;calc_2n3n=false) + V12mom = ifelse(calc_2n3n,chiEFTobj.V12mom_2n3n,chiEFTobj.V12mom) + pw_channels = chiEFTobj.pw_channels; Rnl = chiEFTobj.Rnl xr_fm = chiEFTobj.xr_fm; wr = chiEFTobj.wr; n_mesh = chiEFTobj.params.n_mesh Nnmax= chiEFTobj.params.Nnmax; num2bch = length(pw_channels) V12ab = [zeros(Float64,Nnmax+1,Nnmax+1) for i=1:num2bch] Vcoulomb = [zeros(Float64,Nnmax+1,Nnmax+1) for i=1:num2bch] - if chiEFTobj.params.coulomb - calc_coulomb(chiEFTobj.params,xr_fm,wr,Vcoulomb,pw_channels,num2bch,Rnl) + if chiEFTobj.params.coulomb && !calc_2n3n + calc_coulomb(chiEFTobj.params,Vcoulomb,pw_channels,num2bch) end x = zeros(Float64,Nnmax+1,n_mesh) for num = 1:num2bch @@ -720,13 +673,54 @@ function Vrel(chiEFTobj,to) end phase=(-1.0)^(n1+n2) t_vcoul = vcoul[n1+1,n2+1] - Vab[n1+1,n2+1]= phase * vsum + t_vcoul + Vab[n1+1,n2+1]= phase * vsum + ifelse(!calc_2n3n,t_vcoul,0.0) end - end + end end return V12ab end +""" + Calc_Deuteron(chiEFTobj::ChiralEFTobject,to;io=stdout) +Function to calculate deuteron binding energy. +""" +function Calc_Deuteron(chiEFTobj::ChiralEFTobject,to;io=stdout) + V12mom = chiEFTobj.V12mom; pw_channels = chiEFTobj.pw_channels + xr_fm = chiEFTobj.xr_fm; wr = chiEFTobj.wr; n_mesh = chiEFTobj.params.n_mesh + ndim = 2*n_mesh + H_d = zeros(Float64,ndim,ndim); V_d = zeros(Float64,ndim,ndim); T_d = zeros(Float64,ndim,ndim) + ofst_i = ofst_j = 0 + Rmass = Mp * Mn / (Mp+Mn) + for num in eachindex(V12mom) + iz,l1,l2,isz,jz = pw_channels[num] + if iz != 0 || isz !=1 || jz != 1; continue;end + if l1 == l2 == 0 + ofst_i = ofst_j = 0 + elseif l1 == l2 == 2 + ofst_i = ofst_j = n_mesh + elseif l1 == 0 && l2 == 2 + ofst_i = 0 ; ofst_j = n_mesh + else + continue + end + Vtmp = V12mom[num] + for i = 1:n_mesh + for j = 1:n_mesh + idx_i = i + ofst_i + idx_j = j + ofst_j + v = Vtmp[i,j] * xr_fm[i]*xr_fm[j] * sqrt(wr[i]*wr[j]) + V_d[idx_i,idx_j] = V_d[idx_j,idx_i] = v + end + T_d[i,i] = T_d[i+n_mesh,i+n_mesh] = (xr_fm[i]*hc)^2 / (2*Rmass) + end + end + H_d .= V_d + H_d .+= T_d + evals,evecs = eigen(H_d) + E_d = minimum(evals) + #println(stdout,"Deuteron energy:",@sprintf("%12.6f",E_d)," MeV") + return E_d +end """ hw_formula(A,fnum) @@ -734,7 +728,7 @@ end empirical formula for harmonis oscillator parameter hw by mass number A fnum=2: for sd-shell, Ref. J. Blomqvist and A. Molinari, Nucl. Phys. A106, 545 (1968). """ -function hw_formula(A,fnum) +function hw_formula(A::Int,fnum::Int) hw = 0.0 if fnum == 2 hw = 45.0 * (A^(-1.0/3.0)) -25.0 * (A^(-2.0/3.0)) diff --git a/src/chiEFTint/matter.jl b/src/chiEFTint/matter.jl new file mode 100644 index 00000000..34aed2df --- /dev/null +++ b/src/chiEFTint/matter.jl @@ -0,0 +1,186 @@ +""" +Reference: +""" +function calc_nuclearmatter_in_momspace(chiEFTobj::ChiralEFTobject,to,io) + @assert chiEFTobj.params.n_mesh >= 100 "n_mesh >=100 is recomended for E/A calc." + n_below_kF = get_n_below_kF(chiEFTobj) + kF = chiEFTobj.params.kF + rho = (2 *kF^3 )/ (3*pi^2) + println(io,"kF (fm^-1) $kF rho (fm^-3) $rho n_below_kF $n_below_kF") + TperA = 3*hc^2 *kF^2 /(5*2* (Mp+Mn)/2) + EHF = calc_EperA_HF(chiEFTobj,n_below_kF) + EPT2 = calc_EperA_PT2(chiEFTobj,to) + E = TperA + EHF + EPT2 + println(io,"kinetic ",@sprintf("%10.3f",TperA)," EHF/A ",@sprintf("%10.3f",EHF)," EPT2/A ",@sprintf("%15.8f",EPT2), + " E(1) ", @sprintf("%10.3f",E-EPT2)," E(1+2) ",@sprintf("%10.3f",E)) + return nothing +end + +function calc_EperA_HF(chiEFTobj,n_below_kF;verbose=false) + V12mom = chiEFTobj.V12mom + V12mom_2n3n = chiEFTobj.V12mom_2n3n + pw_channels = chiEFTobj.pw_channels + xr_fm = chiEFTobj.xr_fm + wr = chiEFTobj.wr + nthre = nthreads() + sumarrs = zeros(Float64,nthre) + @threads for chidx in eachindex(V12mom) + tV = V12mom[chidx]; tV_2n3n = V12mom_2n3n[chidx] + Tz,l1,l2,S,J = pw_channels[chidx] + if l1 != l2; continue;end + Jfac = 2*J + 1 + LSTfac = 1 - (-1)^(l1+S+1) + tsum = 0.0 + afac = ifelse(Tz==0,sqrt(2.0),LSTfac/sqrt(2.0)) + for i = 1:n_below_kF + k = xr_fm[i]; k2 = k^2 + w = wr[i] + v2 = tV[i,i]; v2n3n = tV_2n3n[i,i] + tsum += k2 * (1-1.5*(k/kF)+ 0.5 * (k/kF)^3 ) * w * Jfac * afac^2 * (v2 + v2n3n/2) + end + sumarrs[threadid()] += tsum + if verbose && abs(tsum) > 1.0 + println("to HF: L $l1 S $S J $J tsum ",@sprintf("%10.4e",tsum)) + end + end + EHF = sum(sumarrs) +end +function calc_EperA_PT2(chiEFTobj::ChiralEFTobject,to) + kF = chiEFTobj.params.kF + n_mesh = chiEFTobj.params.n_mesh + V12mom = chiEFTobj.V12mom + V12mom_2n3n = chiEFTobj.V12mom_2n3n + pw_channels = chiEFTobj.pw_channels + xr_fm = chiEFTobj.xr_fm + wr = chiEFTobj.wr + nKmesh = 50 + Ks,wKs = Gauss_Legendre(0,2*kF,nKmesh) + EPT2 = 0.0 + for idx1 in eachindex(V12mom) + Tz,tLp,tL,S,J = pw_channels[idx1] + v1Mat = V12mom[idx1]; v1Mat_2n3n = V12mom_2n3n[idx1] + LSfac1 = 1 - (-1)^(tL+S+1) + LSfac2 = 1 - (-1)^(tLp+S+1) + afac1 = ifelse(Tz==0,sqrt(2.0),LSfac1/sqrt(2.0)) + afac2 = ifelse(Tz==0,sqrt(2.0),LSfac2/sqrt(2.0)) + afac = afac1 * afac2 + coeff = (2*J+1) / (16*kF^3) + for iK = 1:nKmesh + K = Ks[iK]; K2 = K^2 + Kfac = K2 * wKs[iK] + Ksq = sqrt(kF^2 - K^2/4) + for i = 1:n_mesh + ki = xr_fm[i]; wi = wr[i] + if ki > Ksq;continue;end + for j = 1:n_mesh + kj = xr_fm[j]; wj = wr[j] + if kj <= Ksq;continue;end + v1 = afac * (v1Mat[i,j] + v1Mat_2n3n[i,j]) + momfac = (ki^2) *(kj^2)* wi *wj + edeno = get_spe_denominator(Tz,ki,kj,K) + EPT2 += coeff * momfac/edeno * v1^2 * Kfac + end + end + end + end + return EPT2 +end + +function get_spe_denominator(Tz,ki,kj,K,Lzero=true) + mN = (Mp+Mn)/2 + mass = mN + if Tz == -2; mass = Mp; end + if Tz == 2; mass = Mn; end + return hc^2 * ((ki+0.5*K)^2 + (-ki+0.5*K)^2 - (kj+0.5*K)^2 - (-kj+0.5*K)^2) / mass +end + +# function calc_EperA_PT2(chiEFTobj::ChiralEFTobject,n_below_kF::Int,dWS,to) +# barLmax = 6 +# kF = chiEFTobj.params.kF +# n_mesh = chiEFTobj.params.n_mesh +# d6j_int = dWS.d6j_int +# V12mom = chiEFTobj.V12mom +# V12mom_2n3n = chiEFTobj.V12mom_2n3n +# pw_channels = chiEFTobj.pw_channels +# xr_fm = chiEFTobj.xr_fm +# wr = chiEFTobj.wr +# numts = 24 +# ts,ws = Gauss_Legendre(-1,1,numts) +# PLs = [ zeros(Float64,numts) for L=0:barLmax] +# for L = 0:barLmax +# for i in eachindex(ts) +# PLs[L+1][i] = Legendre(L,ts[i]) +# end +# end +# nKmesh = 50 +# Ks,wKs = Gauss_Legendre(0,2*kF,nKmesh) +# EPT2 = 0.0 +# nthre = nthreads() +# sumarrs = zeros(Float64,nthre) +# @threads for idx1 in eachindex(V12mom) +# Tz,tLp,tL,S,tJ = pw_channels[idx1] +# v1Mat = V12mom[idx1]; v1Mat_2n3n = V12mom_2n3n[idx1] +# sqfac1 = hat(tL)*hat(tLp) +# LSfac1 = 1 - (-1)^(tL+S+1) +# tid = threadid() +# if LSfac1 == 0;continue;end +# for idx2 in eachindex(V12mom) +# Tz2,Lp,L,S2,J = pw_channels[idx1] +# if S != S2; continue;end +# LSfac2 = 1 - (-1)^(L+S+1) +# if LSfac2 == 0;continue;end +# v2Mat = V12mom[idx2]; v2Mat_2n3n = V12mom_2n3n[idx2] +# sqfac2 = hat(L)*hat(Lp) +# Jfac = (2*J+1) *(2*tJ+1) +# for barL = 0:barLmax +# PL = PLs[barL+1] +# if !tri_check(L,tLp,barL);continue;end +# if !tri_check(Lp,tL,barL);continue;end +# if !tri_check(tJ,barL,J);continue;end +# if !tri_check(L,barL,tLp);continue;end +# if !tri_check(J,barL,tJ);continue;end +# if !tri_check(tL,barL,Lp);continue;end +# ifac = (-1)^(tL+Lp+barL) * (-1)^div(L-Lp+tL-tLp,2) #added +# wsym1 = clebschgordan(Float64,L,0,tLp,0,barL,0) *get_dict6jint_for9j(L,S,J,tJ,barL,tLp,d6j_int) +# wsym2 = clebschgordan(Float64,Lp,0,tL,0,barL,0) *get_dict6jint_for9j(J,S,Lp,tL,barL,tJ,d6j_int) +# coeff = ifac * sqfac1 * sqfac2 *Jfac * LSfac1 * LSfac2 * wsym1 *wsym2 * (4*pi) +# if coeff == 0.0;continue;end +# for iK = 1:nKmesh +# K = Ks[iK]; K2 = K^2 +# Kfac = K2 * wKs[iK] +# Ksq = sqrt(kF^2 - K^2/4) +# for i = 1:n_mesh +# ki = xr_fm[i]; wi = wr[i] +# if ki > Ksq;continue;end +# for j = 1:n_mesh +# kj = xr_fm[j]; wj = wr[j] +# if kj <= Ksq;continue;end +# v1 = v1Mat[j,i] + v1Mat_2n3n[j,i]/2 +# v2 = v2Mat[i,j] + v2Mat_2n3n[i,j]/2 +# momfac = (ki^2) *(kj^2)* wi *wj +# edeno = get_spe_denominator(Tz,ki,kj,K) +# for idx_t in eachindex(ts) # theta_pp' integral +# Pw = PL[idx_t] * ws[idx_t] +# sumarrs[threadid()] += coeff * momfac/edeno * v1 * v2 * Pw *Kfac +# end +# end +# end +# end +# end +# end +# end +# EPT2 = sum(sumarrs) +# rho = (2 *kF^3 )/ (3*pi^2) +# return EPT2 /(4 * pi^5) +# end + +function get_n_below_kF(chiEFTobj;verbose=true) + kF = chiEFTobj.params.kF + xr_fm = chiEFTobj.xr_fm + n_below_kF = 0 + for i = 1:length(xr_fm) + if xr_fm[i] > kF; break; end + n_below_kF = i + end + return n_below_kF +end diff --git a/src/chiEFTint/misc_plt_io.jl b/src/chiEFTint/misc_plt_io.jl deleted file mode 100644 index 0e21b5f4..00000000 --- a/src/chiEFTint/misc_plt_io.jl +++ /dev/null @@ -1,489 +0,0 @@ -const chara_L = ["S","P","D","F","G","H","I","J","K","L","M","N"] -const chara_l = ["s","p","d","f","g","h","i","j","k","l","m","n"] -chara_SLJ(S,L,J) = "{}^"*ifelse(S==0,"1","3")*chara_L[L+1]*"_{"*string(J)*"}" -delta(a,b) = ifelse(a==b,1.0,0.0) -hat(a) = sqrt(2.0*a+1.0) - -const jmax = 6 -const lmax = jmax +1 -const lcmax = jmax + 1 -const Mp = 938.272 -const Mn = 939.5653 -const Mm = (Mp+Mn)/2 -const Ms = [Mp,Mm,Mn] -const Lambchi = 500 # cutoff Lambda -const itts = [-2,0,2] -const hc = 197.327053 -const gA = -1.29 -const Fpi = 92.4 -const hc2 = hc^2 -const hc3 = hc^3 -const hc4 = hc^4 -const gA2 = gA^2 -const gA4 = gA^4 -const mpis = [139.5702,134.9766,139.5702] -const fsalpha = 7.2973525693* 1.e-3 #fine structure const. - -""" - chiEFTparams -mutable struct to specify parameters for chiEFTint -# Fields - -""" -mutable struct chiEFTparams - n_mesh::Int64 - pmax_fm::Float64 - emax::Int64 - Nnmax::Int64 - chi_order::Int64 - calc_NN::Bool - calc_3N::Bool - coulomb::Bool - hw::Float64 - srg::Bool - srg_lambda::Float64 - tbme_fmt::String - fn_tbme::String - pottype::String - LambdaSFR::Float64 - target_nlj::Vector{Vector{Int64}} - v_chi_order::Int64 - n_mesh_P::Int64 - Pmax_fm::Float64 - kF::Float64 - BetaCM::Float64 -end - -""" - init_chiEFTparams(;fn_params="optional_parameters.jl") -constructor of chiEFTparams, see `chiEFTparams` mutable struct for more details. -""" -function init_chiEFTparams(;fn_params="optional_parameters.jl",use_hw_formula = 0,Anum = -1,io=stdout) - n_mesh = 50 - pmax_fm = 5.0 - emax = 4 - Nnmax= 20 - chi_order = 3 #0:LO 1:NLO 2:NNLO 3:N3LO 4:N4LO - calc_NN = true - calc_3N = false #density-dependent 3NF - hw = 20.0 - if use_hw_formula != 0 - hw = hw_formula(Anum,use_hw_formula) - end - ## SRG evolution (srg_lambda is in fm^{-1} - srg = true - srg_lambda = 2.0 - ## file name and format for TBME - tx = "bare";if srg; tx ="srg"*string(srg_lambda);end;if calc_3N; tx="2n3n_"*tx;end - tbme_fmt = "snt.bin" - fn_tbme = "tbme_em500n3lo_"*tx*"hw"*string(round(Int64,hw))*"emax"*string(emax)*"."*tbme_fmt - coulomb = true - pottype = "em500n3lo" - target_nlj=Vector{Int64}[] - ##for valence space operators - v_chi_order = 0 # 0: free-space only 1: vsNLO, 3: vsN3LO (not implemnted) - n_mesh_P = 10 - Pmax_fm = 3.0 - ## Lawson's beta for HCM - BetaCM = 0.0 - ### Fermi momentum for 2n3n - kF = 1.35 - ## cutoff for spectral function regularization (SFR) - LambdaSFR = 0.0 - - params = chiEFTparams(n_mesh,pmax_fm,emax,Nnmax,chi_order,calc_NN,calc_3N,coulomb, - hw,srg,srg_lambda,tbme_fmt,fn_tbme,pottype,LambdaSFR, - target_nlj,v_chi_order,n_mesh_P,Pmax_fm,kF,BetaCM) - if !isfile(fn_params) - println("Since $fn_params is not found, the default parameters will be used.") - else - read_chiEFT_parameter!(fn_params,params;io=io) - tx = "bare";if params.srg; tx ="srg"*string(params.srg_lambda);end;if params.calc_3N; tx="2n3n_"*tx;end - params.fn_tbme = "tbme_"*params.pottype*"_"*tx*"hw"*string(round(Int64,params.hw))*"emax"*string(params.emax)*"."*params.tbme_fmt - end - return params -end - -""" - read_chiEFT_parameter!(fn,params) -Function to overwrite params from the parameter file `fn`. -""" -function read_chiEFT_parameter!(fn,params::chiEFTparams;io=stdout) - include(fn) - if @isdefined(n_mesh); params.n_mesh = n_mesh ; end - if @isdefined(pmax_fm); params.pmax_fm = pmax_fm ; end - if @isdefined(emax); params.emax = emax; end - if @isdefined(Nnmax); params.Nnmax = Nnmax; end - if @isdefined(chi_order); params.chi_order = chi_order; end - if @isdefined(calc_NN); params.calc_NN = calc_NN; end - if @isdefined(calc_3N); params.calc_3N = calc_3N; end - if @isdefined(hw); params.hw = hw; end - if @isdefined(srg); params.srg = srg; end - if @isdefined(srg_lambda); params.srg_lambda = srg_lambda; end - if @isdefined(tbme_fmt); params.tbme_fmt = tbme_fmt; end - if @isdefined(fn_tbme); params.fn_tbme = fn_tbme; end - if @isdefined(pottype); params.pottype = pottype; end - if @isdefined(coulomb); params.coulomb = coulomb; end - if @isdefined(target_nlj); params.target_nlj = target_nlj; end - if @isdefined(v_chi_order); params.v_chi_order = v_chi_order; end - if @isdefined(n_mesh_P); params.n_mesh_P = n_mesh_P; end - if @isdefined(Pmax_fm); params.Pmax_fm = Pmax_fm; end - if @isdefined(kF); params.kF = kF; end - if occursin("emn",params.pottype) - params.LambdaSFR = ifelse(pottype=="emn500n4lo",700.0,650.0) - end - if @isdefined(BetaCM); params.BetaCM = BetaCM; end - println(io,"--- chiEFTparameters used ---") - for fieldname in fieldnames(typeof(params)) - println(io,"$fieldname = ",getfield(params,fieldname)) - end - println(io,"-----------------------------") - return nothing -end - -function delta_arr(a,b) - hit = 0 - for i=1:length(a) - hit += ifelse(a[i]==b[i],1,0) - end - return ifelse(length(a)==hit,1.0,0.0) -end - -function c_orbit(tarr) - n,l,j=tarr - tx = string(n)*lowercase(chara_L[l+1])*string(j) - return tx -end - -function owtkey!(tkey,n,l,j,tz) - tkey[1]=n; tkey[2]=l; tkey[3]=j; tkey[4]=tz - return nothing -end - -""" - write_tbme(chiEFTobj,io,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,dict6j,d6j_nabla,key6j;ofst=0) - -write tbme in myg/snt(snt.bin) format -""" -function write_tbme(chiEFTobj,io,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,dict6j,d6j_nabla,key6j;ofst=0) - tbme_fmt = chiEFTobj.tbme_fmt - target_nlj = chiEFTobj.target_nlj - if tbme_fmt == "myg" - @inbounds for i = 1:ndim - iza,ia,izb,ib = izs[i] - na,la,ja = nljsnt[ia] - nb,lb,jb = nljsnt[ib] - for j = 1:i - izc,ic,izd,id= izs[j] - nc,lc,jc = nljsnt[ic] - nd,ld,jd = nljsnt[id] - owtkey!(tkeys[1],na,la,ja,iza) - owtkey!(tkeys[2],nb,lb,jb,izb) - owtkey!(tkeys[3],nc,lc,jc,izc) - owtkey!(tkeys[4],nd,ld,jd,izd) - vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dict6j,d6j_nabla,key6j) - print(io,@sprintf("%4i", iza), @sprintf("%4i", ia), @sprintf("%4i", izb), @sprintf("%4i", ib)) - print(io,@sprintf("%4i", izc), @sprintf("%4i", ic), @sprintf("%4i", izd), @sprintf("%4i", id)) - print(io,@sprintf("%4i", Jtot),@sprintf("%20.10e", vv[i,j])) - println(io,@sprintf("%20.10e", vpp)) - end - end - elseif tbme_fmt == "snt" || tbme_fmt == "snt.bin" - @inbounds for i = 1:ndim - iza,ia,izb,ib = izs[i] - na,la,ja = nljsnt[ia] - nb,lb,jb = nljsnt[ib] - for j = 1:i - tv = vv[i,j] - izc,ic,izd,id= izs[j] - nc,lc,jc = nljsnt[ic] - nd,ld,jd = nljsnt[id] - a = ifelse(iza==-1,ia,ia+ofst) - b = ifelse(izb==-1,ib,ib+ofst) - c = ifelse(izc==-1,ic,ic+ofst) - d = ifelse(izd==-1,id,id+ofst) - if length(target_nlj) != 0 - if get(nljdict,a,0) == 0; continue;end - if get(nljdict,b,0) == 0; continue;end - if get(nljdict,c,0) == 0; continue;end - if get(nljdict,d,0) == 0; continue;end - end - ra = a; rb = b; rc=c; rd=d - fac = 1.0 - if a > b - ra = b; rb = a - fac *= (-1.0)^(div(nljsnt[a][3]+nljsnt[b][3],2)+Jtot+1) - end - if c > d - ra = d; rd = c - fac *= (-1.0)^(div(nljsnt[c][3]+nljsnt[d][3],2)+Jtot+1) - end - fa = ra; fb =rb; fc=rc; fd=rd - if ra > rc - fa=rc;fb=rd;fc=ra;fd=rb - else - if rb > rd - fa=rc;fb=rd;fc=ra;fd=rb - end - end - if length(target_nlj) != 0 - fa = nljdict[fa]; fb = nljdict[fb] - fc = nljdict[fc]; fd = nljdict[fd] - end - owtkey!(tkeys[1],na,la,ja,iza) - owtkey!(tkeys[2],nb,lb,jb,izb) - owtkey!(tkeys[3],nc,lc,jc,izc) - owtkey!(tkeys[4],nd,ld,jd,izd) - vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dict6j,d6j_nabla,key6j) - if tbme_fmt == "snt" - print(io,@sprintf("%5i", fa),@sprintf("%5i", fb),@sprintf("%5i", fc),@sprintf("%5i", fd)) - print(io,@sprintf("%6i", Jtot),@sprintf("%18.10f", tv)) - println(io,@sprintf("%20.10e", vpp)) - elseif tbme_fmt == "snt.bin" - write(io,Int16(fa));write(io,Int16(fb)) - write(io,Int16(fc));write(io,Int16(fd));write(io, Int16(Jtot)) - write(io,tv); write(io,vpp) - end - end - end - end - return nothing -end - -function write_spes(chiEFTobj,io,nljsnt,lp,nTBME,nljdict;bin=false) - hw = chiEFTobj.hw - target_nlj = chiEFTobj.target_nlj - ## header part - if length(target_nlj)!=0 - ln = length(target_nlj) - if bin - write(io, ln); write(io, ln); write(io, 0);write(io, 0) - else - println(io,@sprintf("%4i", ln),@sprintf("%4i",ln), - @sprintf("%3i", 0),@sprintf("%3i", 0)) - end - else - if bin - write(io, lp); write(io,lp); write(io,0); write(io,0) - else - println(io,@sprintf("%4i", lp),@sprintf("%4i",lp), - @sprintf("%3i", 0),@sprintf("%3i", 0)) - end - end - for tz = -1:2:1 - for i = 1:length(nljsnt) - n,l,j = nljsnt[i] - if target_nlj != [] - ii = ifelse(tz==-1,i,i+lp) - t = get(nljdict,ii,0) - if t==0; continue;end - if bin - write(io,nljdict[ii]) - write(io,n); write(io,l); write(io,j); write(io,tz) - else - println(io,@sprintf("%4i",nljdict[ii]), - @sprintf("%4i", n),@sprintf("%4i", l), - @sprintf("%4i", j), @sprintf("%4i", tz)) - end - else - if bin - write(io,ifelse(tz==-1,i,i+lp)) - write(io,n);write(io,l);write(io,j);write(io,tz) - else - println(io,@sprintf("%4i", ifelse(tz==-1,i,i+lp)), - @sprintf("%4i", n),@sprintf("%4i", l), - @sprintf("%4i", j), @sprintf("%4i", tz)) - end - end - end - end - tx = "" - hit = 0 - for tz = -1:2:1 - for (i,tmp) in enumerate(nljsnt) - n,l,j=tmp - SPE = (2*n+l+3/2) * 0.5 - if target_nlj != [] - ii = ifelse(tz==-1,i,i+lp) - t = get(nljdict,ii,0) - if t==0; continue;end - end - hit += 1 - for (k,tmp2) in enumerate(nljsnt) - if k <= i;continue;end - nn,ll,jj=tmp2 - if nn!=n && ll==l && jj==j - hit +=1 - end - end - end - end - if bin; write(io,hit); write(io,10);write(io,hw); end - for tz = -1:2:1 - for (i,tmp) in enumerate(nljsnt) - n,l,j=tmp - SPE = (2*n+l+3/2) * 0.5 - fi = i - if target_nlj != [] - ii = ifelse(tz==-1,i,i+lp) - t = get(nljdict,ii,0) - if t==0; continue;end - fi = nljdict[ii] - if bin - write(io,fi);write(io,fi);write(io,SPE) - else - tx *= @sprintf("%4i", fi)* @sprintf("%4i", fi)* @sprintf("%16.8f",SPE)*"\n" - end - else - fi = ifelse(tz==-1,i,i+lp) - if bin - write(io,fi);write(io,fi);write(io,SPE) - else - tx *= @sprintf("%4i", fi)* @sprintf("%4i", fi)* @sprintf("%16.8f",SPE)*"\n" - end - end - for (k,tmp2) in enumerate(nljsnt) - if k <= i;continue;end - nn,ll,jj=tmp2 - if nn!=n && ll==l && jj==j - kin = kinetic_ob(tmp,tmp2) - if bin - write(io,ifelse(tz==-1,i,i+lp));write(io,ifelse(tz==-1,k,k+lp));write(io,kin) - else - tx *= @sprintf("%4i", ifelse(tz==-1,i,i+lp))* @sprintf("%4i", ifelse(tz==-1,k,k+lp))* @sprintf("%16.8f",kin)*"\n" - end - end - end - end - end - if bin - write(io,nTBME); write(io,10);write(io,hw) - else - println(io,@sprintf("%5i",hit)*@sprintf("%5i",10)*@sprintf("%8.3f", hw)) - print(io,tx) - println(io,@sprintf("%5i",nTBME)*@sprintf("%5i",10)*@sprintf("%8.3f", hw)) - end - return nothing -end - -""" - write_vmom(xr,V12mom,tdict,pnrank,llpSJ_s;label="") - -""" -function write_vmom(xr,V12mom,tdict,pnrank,llpSJ_s;label="") - tx1d="" - itt = itts[pnrank] - for i= 1:n_mesh - x = xr[i] - for j = 1:n_mesh - y = xr[j] - if y != x; continue;end - tx = @sprintf("%18.8e", x/hc) - for tmp in llpSJ_s - l,lp,S,J = tmp - V12idx = get(tdict,[itt,l,lp,S,J],-1) - if V12idx==-1 - tx *= @sprintf("%18.8e",0.0) - else - v = V12mom[V12idx][i,j] - tx *= @sprintf("%18.8e",v) - end - end - tx *= "\n" - tx1d *= tx - end - end - io = open("vmom_1d_"*label*".dat","w") - println(io,rstrip(tx1d)) - close(io) - return nothing -end - -""" - print_vec(s,v;ine=false) - -function to make println(stdout) more readable. -This is usuful for debug. -""" -function print_vec(s,v,io=stdout;ine=false) - s *= " " - for i = 1:length(v) - if ine - s *= @sprintf "%9.1e" v[i] - else - s *= @sprintf "%10.4f" v[i] - #s *= @sprintf "%25.15f" v[i] - end - end - println(io,s) -end - -""" - momplot(xr,V12mom,tdict,pnrank,llpSJ_s;ctext="",fpath="") - -plot nn potential in partial wave over relative momentum space -""" -function momplot(xr,V12mom,tdict,pnrank,llpSJ_s;ctext="",fpath="") - tfdat = [] - if fpath != ""; xf,yfs = compfdat(fpath); end - itt = itts[pnrank] - tv = zeros(Float64,n_mesh) - for vidx = 1:7 - l,lp,S,J= llpSJ_s[vidx] - V12idx = get(tdict,[itt,l,lp,S,J],-1) - if V12idx==-1;println("V12idx==$V12idx");continue;end - V = V12mom[V12idx] - tx = "" - cS = ifelse(S==0,"1","3") - if l==lp - tx=ctext*cS*chara_L[l+1]*string(J) - else - tx =ctext*cS*chara_L[l+1]*string(J) - tx *= "_"*cS*chara_L[lp+1]*string(J) - end - for i =1:n_mesh; tv[i] = V[i,i]; end - if fpath != ""; tfdat = [xf,yfs[vidx]];end - pw_plt(tx,xr,V,tv,pnrank;fdat=tfdat) - end - return nothing -end - -""" - pw_plt(tx,xr,z,zds,pnrank;fdat=[]) - - fdat: normally no need to specify. optional array to specify text file for cross check -""" -function pw_plt(tx,xr,z,zds,pnrank;fdat=[]) - tls = ["pp","pn","nn"] - cpnrank = tls[pnrank] - xr *= 1.0/hc; yr = copy(xr) - fig = plt.figure(figsize=(10,4)) - axs = [fig.add_subplot(121),fig.add_subplot(122)] - axs[2].set_xlabel(latexstring("p ")*" [fm"*latexstring("^{-1}")*"]") - axs[2].set_ylabel(latexstring("p'")*" [fm"*latexstring("^{-1}")*"]") - CS = axs[2].contourf(xr, yr, z) - fig.colorbar(CS) - axs[1].set_xlabel(latexstring("p=p' ")*" [fm"*latexstring("^{-1}")*"]") - axs[1].set_ylabel(latexstring("V(p,p)")*" [MeV fm"*latexstring("^3")*"]") - axs[1].plot(xr,zds,marker="o",markersize=2) - if fdat != [] - axs[1].plot(fdat[1],fdat[2],marker="x",markersize=2,alpha=0.4,label="Fortran") - axs[1].legend() - end - axs[1].grid(color="gray",linestyle="dotted") - plt.savefig("pic/chiEFT_"*tx*"_"*cpnrank*".pdf",pad_inches=0) - plt.close() -end - -function compfdat(inpf) - f = open(inpf,"r");lines = readlines(f);close(f) - xs = Float64[] - ys = [ Float64[] for i=1:7] - for line in lines - tl = split(line) - tmp = map(x->parse(Float64,x),tl) - push!(xs,tmp[1]) - for i=2:length(tmp); push!(ys[i-1],tmp[i]);end - end - return xs,ys -end diff --git a/src/chiEFTint/nn_sampling.jl b/src/chiEFTint/nn_sampling.jl new file mode 100644 index 00000000..71c0fccc --- /dev/null +++ b/src/chiEFTint/nn_sampling.jl @@ -0,0 +1,46 @@ +function updateLECs!(chiEFTobj,org_dLECs) + LECvals = chiEFTobj.LECs.vals + idxLECs = chiEFTobj.LECs.idxs + dLECs = chiEFTobj.LECs.dLECs + for tkey in keys(dLECs) + idx = idxLECs[tkey] + oLEC = org_dLECs[tkey] + nLEC = oLEC + 0.01 * randn() + dLECs[tkey] = nLEC + LECvals[idx] = nLEC + end + return nothing +end + +function nn_IMSRG_sampling(nucs;is_show=false,itnum=1,corenuc="",ref="nucl",fn_params="ann_sample_params.jl",valencespace="") + to = TimerOutput() + optimizer = "" + MPIcomm = false + io = stdout + chiEFTobj,OPTobj,dWS = construct_chiEFTobj(false,itnum,optimizer,MPIcomm,io,to;fn_params) + org_dLECs = copy(chiEFTobj.LECs.dLECs) + + for it = 1:itnum + calcualte_NNpot_in_momentumspace(chiEFTobj,to) + V12mom = chiEFTobj.V12mom + V12mom_2n3n = chiEFTobj.V12mom_2n3n + SRG(chiEFTobj,to) + calc_vmom_3nf(chiEFTobj,it,to) + TMtrans(chiEFTobj,dWS,to) + sntf = chiEFTobj.params.fn_tbme + hw = chiEFTobj.params.hw + emax = chiEFTobj.params.emax + if valencespace == "" + hf_main(nucs,sntf,hw,emax;is_show=is_show,doIMSRG=true,corenuc="",ref="nuc",fn_params=fn_params,debugmode=2,Hsample=true,Operators=["Rp2"]) + else + hf_main(nucs,sntf,hw,emax;is_show=is_show,doIMSRG=true,valencespace=valencespace,corenuc=corenuc,ref=ref,fn_params=fn_params,debugmode=2,Hsample=true,Operators=["Rp2"]) + end + for ch = 1:length(V12mom) + V12mom[ch] .= 0.0 + V12mom_2n3n[ch] .= 0.0 + end + updateLECs!(chiEFTobj,org_dLECs) + + end + show_TimerOutput_results(to;tf=is_show) +end diff --git a/src/chiEFTint/pionexchange.jl b/src/chiEFTint/pionexchange.jl index 87221eb5..6d2dd677 100644 --- a/src/chiEFTint/pionexchange.jl +++ b/src/chiEFTint/pionexchange.jl @@ -1,58 +1,56 @@ """ - OPEP(ts,ws,xr,V12mom,dict_pwch,to,lsjs,llpSJ_s,tllsj,opfs;pigamma=true) + OPEP(chiEFTobj,to;pigamma=false) calc. One-pion exchange potential in the momentum-space + +Reference: R. Machleidt, Phys. Rev. C 63 024001 (2001). """ -function OPEP(chiEFTobj,to;pigamma=true,debugmode=false) +function OPEP(chiEFTobj,to;pigamma=false) ts = chiEFTobj.ts; ws = chiEFTobj.ws; xr = chiEFTobj.xr; V12mom = chiEFTobj.V12mom dict_pwch = chiEFTobj.dict_pwch; lsjs = chiEFTobj.lsjs; tllsj = chiEFTobj.tllsj opfs = chiEFTobj.opfs; QLdict = chiEFTobj.util_2n3n.QWs.QLdict n_mesh = chiEFTobj.params.n_mesh - hc3 = hc^3 tVs = zeros(Float64,6) opfs = zeros(Float64,8) mpi0 = mpis[2]; mpi02 = mpi0^2 mpipm = mpis[1]; mpipm2 = mpipm^2 for pnrank =1:3 tdict = dict_pwch[pnrank] - MN = Ms[pnrank];dwn = 1.0/MN;sq_dwn=dwn^2 - fff = pi / ((2*pi)^3 * MN^2) - coeff = -(MN*gA/(2*Fpi))^2 - itt = itts[pnrank] + MN = Ms[pnrank];dwn = 1.0/MN + fff = - gA2 * pi / ((2*Fpi)^2 * (2*pi)^3) + itt = 2 *(pnrank -2) tllsj[1] = itt @inbounds for J=0:jmax lsj = lsjs[J+1] f_idx = 6 - if J==0; f_idx = 3;end + if J==0; f_idx = 3;end @inbounds for i= 1:n_mesh x = xr[i];xdwn = x * dwn;sq_xdwn= xdwn^2 ex = sqrt(1.0+sq_xdwn) @inbounds for j = 1:n_mesh y = xr[j]; ydwn = y*dwn;sq_ydwn= ydwn^2 ey = sqrt(1.0+sq_ydwn) - nfac = 1.0/(x* y* sq_dwn) - ree = 1.0/sqrt(ex*ey) * freg(x,y,4) + nfac = 1.0 / (xdwn * ydwn) + ree = 1.0 /sqrt(ex*ey) *freg(x,y,4) f_sq!(opfs,xdwn,ydwn) - if pnrank != 2 ## pp/nn - cib_lsj_opep(opfs,x,y,mpi02,1,J,pnrank,nfac,ts,ws,tVs,QLdict) - else ## pn - cib_lsj_opep(opfs,x,y,mpi02,1,J,pnrank,nfac,ts,ws,tVs,QLdict) - cib_lsj_opep(opfs,x,y,mpipm2,2,J,pnrank,nfac,ts,ws,tVs,QLdict;additive=true) - #if pigamma - # cib_lsj_opep(opfs,x,y,mpipm2,2,J,pnrank,nfac,ts,ws,tVs,pigamma;additive=true) - #end + t_fc = fff * ree *hc3 * nfac + tVs .= 0.0 + cib_lsj_opep(t_fc,opfs,x,y,mpi02,1,J,pnrank,ts,ws,tVs,QLdict) + if pnrank == 2 ## pp/nn + cib_lsj_opep(t_fc,opfs,x,y,mpipm2,2,J,pnrank,ts,ws,tVs,QLdict;additive=true) + if pigamma + t_fc_pig = t_fc + cib_lsj_opep(t_fc,opfs,x,y,mpipm2,2,J,pnrank,ts,ws,tVs,QLdict,pigamma;additive=true,factor_pig=t_fc_pig) + end end - t_fc = hc3 * fff * coeff * ree @inbounds for idx = 1:f_idx @views tllsj[2:5] .= lsj[idx] - tl,tlp,tS,tJ = lsj[idx] - if pnrank%2 == 1 && (tl+tS+1)%2 != 1;continue;end + tl,tlp,S,tJ = lsj[idx] + if pnrank%2 == 1 && (tl+S+1)%2 != 1;continue;end V12idx = get(tdict,tllsj,-1) if V12idx == -1;continue;end - tfac = tVs[idx] * t_fc - V = V12mom[V12idx] - V[i,j] += tfac + V12mom[V12idx][i,j] += tVs[idx] end end end @@ -65,87 +63,77 @@ function fac_pig(beta,c5=0.0) return - (1.0-beta)^2 / (2*beta^2) * log(1+beta) +(1.0+beta)/(2*beta) -2.0*c5 end -function cib_lsj_opep(opfs,x,y,mpi2,nterm,J,pnrank,facin,ts,ws,tVs,QLdict,pigamma=false;additive=false) - x2 = x^2; y2 = y^2 - z = (mpi2+x2+y2) / (2.0*x*y) - QJ = 0.0 - QJm1 = 0.0 - nfac = facin - xdwn = x /Ms[pnrank] +""" +Ref: R. Machleidt, Phys. Rev. C 63, 024001 (2001). +""" +function cib_lsj_opep(fac_in,opfs,x,y,mpi2,nterm,J,pnrank,ts,ws,tVs,QLdict,pigamma=false;additive=false,factor_pig=1.0) + x2 = x^2; y2 = y^2; z = (mpi2+x2+y2) / (2*x*y) + QJ = QJm1 = 0.0 + nfac = fac_in + q2s = Float64[ ] if pigamma - nfac = facin * fsalpha/pi - q2s = zeros(Float64,length(ts)) + q2s = zeros(Float64,length(ts)) + nfac = ifelse(J==0,0.0,factor_pig) for (i,t) in enumerate(ts) q2 = x2 + y2 -2.0*x*y*t - beta = q2/mpi2 - q2s[i] = fac_pig(beta) * t + beta = q2 / mpi2 + q2s[i] = (fsalpha/pi) * fac_pig(beta) end - QJ = QL(z,J,q2s,ws,QLdict) - if J>0;QJm1=QL(z,J-1,q2s,ws,QLdict);end - #println("correction QJ $QJ QJm1 $QJm1") + QJ = QL_numeric_fac(z,J,ts,ws,q2s) + if J>0;QJm1=QL_numeric_fac(z,J-1,ts,ws,q2s);end else QJ = QL(z,J,ts,ws,QLdict) if J>0;QJm1=QL(z,J-1,ts,ws,QLdict);end - #println("normal QJ $QJ QJm1 $QJm1") end IJ0 = nfac * QJ - IJ1 = nfac * (z * QJ -delta(J,0)) - IJ2 = nfac * (J*z* QJ + QJm1) /(J+1) - IJ3 = nfac * sqrt(J/(J+1)) * (z* QJ - QJm1) - v1 = opfs[1] * IJ0 + opfs[2] *IJ1 - v2 = opfs[3] * IJ0 + opfs[4] *IJ2 + IJ1 = nfac * (z * QJ -delta(J,0)) #Eq. (B18) + IJ2 = nfac * (J*z* QJ + QJm1) /(J+1) #Eq. (B19) + IJ3 = nfac * sqrt(J/(J+1)) * (z* QJ - QJm1) #Eq. (B20) + #Eq. (B28) + v1 = opfs[1] * IJ0 + opfs[2] *IJ1 + v2 = opfs[3] * IJ0 + opfs[4] *IJ2 v3 = opfs[5] * IJ0 + opfs[6] *IJ1 v4 = opfs[4] * IJ0 + opfs[3] *IJ2 v5 = opfs[7] * IJ3 - v6 = -v5 + v6 = -v5 if J==0; v2=v4=v5=v6=0.0;end if J%2==1 && pnrank!=2; v1 =0.0;end if J%2==0 && pnrank!=2; v2 =0.0;end if J%2!=0 && pnrank!=2; v3=v4=v5=v6=0.0;end - v34 = -sqrt(J*(J+1)) *(v3-v4) - v56 = sqrt(J*(J+1)) * (v5+v6) + v34 = -sqrt(J*(J+1)) * (v3-v4) + v56 = sqrt(J*(J+1)) * (v5+v6) d2j1 = 1.0/(2*J+1) if nterm == 1 - phase = ifelse(pnrank==2,-1.0,1.0) - if additive - tVs[1] += v1 *phase - tVs[2] += v2 *phase - tVs[3] += d2j1 * ((J+1)* v3 + J*v4-v56)*phase - tVs[4] += d2j1 * ( J*v3 + (J+1)*v4 +v56) *phase - tVs[5] += -d2j1 * (v34-(J+1)*v5+J*v6)*phase - tVs[6] += -d2j1 * (v34+J*v5-(J+1)*v6)*phase - else - tVs[1] = v1 *phase - tVs[2] = v2 *phase - tVs[3] = d2j1 * ((J+1)* v3 + J*v4-v56)*phase - tVs[4] = d2j1 * ( J*v3 + (J+1)*v4 +v56) *phase - tVs[5] = -d2j1 * (v34-(J+1)*v5+J*v6)*phase - tVs[6] = -d2j1 * (v34+J*v5-(J+1)*v6)*phase - end + phase = ifelse(pnrank==2,-1.0,1.0) + tVs[1] = additive_sum(additive,tVs[1],v1 *phase) + tVs[2] = additive_sum(additive,tVs[2],v2 *phase) + tVs[3] = additive_sum(additive,tVs[3],d2j1 * ((J+1)* v3 + J*v4-v56)*phase) + tVs[4] = additive_sum(additive,tVs[4],d2j1 * ( J*v3 + (J+1)*v4 +v56) *phase) + tVs[5] = additive_sum(additive,tVs[5],-d2j1 * (v34-(J+1)*v5+J*v6)*phase) + tVs[6] = additive_sum(additive,tVs[6],-d2j1 * (v34+J*v5-(J+1)*v6)*phase) else is = J%2 + 1 it = is%2 +1 ttis = ifelse(is==2,-2.0,2.0) ttit = ifelse(it==2,-2.0,2.0) - if additive - tVs[1] += ttis * v1 - tVs[2] += ttit * v2 - tVs[3] += d2j1 * ((J+1)* (ttis*v3) + J*(ttis*v4)-(ttis*v56)) - tVs[4] += d2j1 * ( J*(v3*ttis) + (J+1)*(ttis*v4) +(ttis*v56)) - tVs[5] += -d2j1 * ((ttis*v34)-(J+1)*(ttis*v5)+J*(ttis*v6)) - tVs[6] += -d2j1 * ((ttis*v34)+J*(ttis*v5)-(J+1)*(ttis*v6)) - else - tVs[1] = ttis * v1 - tVs[2] = ttit * v2 - tVs[3] = d2j1 * ((J+1)* (ttis*v3) + J*(ttis*v4)-(ttis*v56)) - tVs[4] = d2j1 * ( J*(v3*ttis) + (J+1)*(ttis*v4) +(ttis*v56)) - tVs[5] = -d2j1 * ((ttis*v34)-(J+1)*(ttis*v5)+J*(ttis*v6)) - tVs[6] = -d2j1 * ((ttis*v34)+J*(ttis*v5)-(J+1)*(ttis*v6)) - end + tVs[1] = additive_sum(additive,tVs[1],ttis * v1) + tVs[2] = additive_sum(additive,tVs[2],ttit * v2) + tVs[3] = additive_sum(additive,tVs[3],d2j1 * ((J+1)* (ttis*v3) + J*(ttis*v4)-(ttis*v56))) + tVs[4] = additive_sum(additive,tVs[4],d2j1 * ( J*(v3*ttis) + (J+1)*(ttis*v4) +(ttis*v56))) + tVs[5] = additive_sum(additive,tVs[5],-d2j1 * ((ttis*v34)-(J+1)*(ttis*v5)+J*(ttis*v6))) + tVs[6] = additive_sum(additive,tVs[6],-d2j1 * ((ttis*v34)+J*(ttis*v5)-(J+1)*(ttis*v6))) end return nothing end +function additive_sum(TF::Bool,retv,inv) + if TF + return retv + inv + else + return inv + end +end + ### function-forms for partial waves f1(x,y,c,cdum) = c fx(x,y,c,cdum) = c * x @@ -167,7 +155,6 @@ fp_ddP(p,ell,pp,ellp,P) = P * (delta(ell,1)*delta(ellp,0)*p + delta(ell,0)*delta function set_pjs!(J,pjs,ts) pjs .= 0.0 - #for i=1:length(pjs);pjs[i] .= 0.0;end if J ==0 pjs[:,1] .= 1.0; pjs[:,3] .= 0.0 else @@ -203,7 +190,7 @@ end """ -{9}x{nthreads} matrix to store sum of each tpe channal, C/T/S/LS/SigmaL +`9`x`nthreads` matrix to store sum of each tpe channal, C/T/S/LS/SigmaL """ mutable struct tpe_ch Vc::Vector{Float64} @@ -228,9 +215,9 @@ The ``1/M_N`` correction terms appear at NNLO in EM and at N4LO in EMN. - EM: R. Machleidt and D.R. Entem [Physics Reports 503 (2011) 1–7](https://doi.org/10.1016/j.physrep.2011.02.001) - EMKN: D. R. Entem, N. Kaiser, R. Machleidt, and Y. Nosyk, [Phys. Rev. C 91, 014002 (2015)](https://doi.org/10.1103/PhysRevC.91.014002). """ -function tpe(chiEFTobj,to) #tpe(chiEFTobj,LECs,ts,ws,xr,V12mom,dict_pwch,to,llpSJ_s,lsjs,tllsj,opfs) +function tpe(chiEFTobj,to) LECs = chiEFTobj.LECs.dLECs - ts = chiEFTobj.ts; ws = chiEFTobj.ws; xr = chiEFTobj.xr + ts = chiEFTobj.ts dict_pwch = chiEFTobj.dict_pwch lsjs = chiEFTobj.lsjs; tllsj = chiEFTobj.tllsj; opfs = chiEFTobj.opfs nthre = nthreads() @@ -244,14 +231,13 @@ function tpe(chiEFTobj,to) #tpe(chiEFTobj,LECs,ts,ws,xr,V12mom,dict_pwch,to,llpS tmpLECs = Dict{String,Float64}() tmpLECs["c1"] = tmpLECs["c2"] = tmpLECs["c3"] = tmpLECs["c4"] = 0.0 tmpLECs["r_d12"] = tmpLECs["r_d3"] = tmpLECs["r_d5"] = tmpLECs["r_d145"] = 0.0 - opfs_para = [ deepcopy(opfs) for i=1:nthre] #T,SS,C,LS,SL + opfs_para = [ deepcopy(opfs) for i=1:nthre] gis_para = [ [zeros(Float64,7) for i=1:9] for j=1:nthre] tVs_para = [ zeros(Float64,6) for i=1:nthre] for pnrank =1:3 tdict = dict_pwch[pnrank] - MN = Ms[pnrank];dwn = 1.0/MN - fff = pi / ((2*pi)^3 * MN^2) + MN = Ms[pnrank] nd_mpi = mmpi/MN Fpi2 = (Fpi/MN)^2 c1 = c1_NNLO * MN * 1.e-3 @@ -274,10 +260,10 @@ function tpe(chiEFTobj,to) #tpe(chiEFTobj,LECs,ts,ws,xr,V12mom,dict_pwch,to,llpS tmpLECs["r_d145"] = r_d145 tmpLECs["r_e14"] = r_e14 tmpLECs["r_e17"] = r_e17 - itt = itts[pnrank] + itt = 2 *(pnrank -2) tllsj[1] = itt tllsj_para = [ deepcopy(tllsj) for i=1:nthre] - LamSFR_nd = chiEFTobj.params.LambdaSFR * dwn + LamSFR_nd = chiEFTobj.params.LambdaSFR / MN LoopObjects = precalc_2loop_integrals(chiEFTobj,LamSFR_nd,nd_mpi,Fpi2,c1,c2,c3,c4,r_d12,r_d3,r_d5,r_d145,r_e14,r_e17) @inbounds for J=0:jmax lsj = lsjs[J+1] @@ -286,7 +272,7 @@ function tpe(chiEFTobj,to) #tpe(chiEFTobj,LECs,ts,ws,xr,V12mom,dict_pwch,to,llpS set_pjs!(J,pjs,ts) for i=1:nthre; pjs_para[i] .= pjs;end tpe_for_givenJT(chiEFTobj,LoopObjects,Fpi2,tmpLECs, - J,pnrank,fff,dwn,nd_mpi,pjs_para,gis_para,opfs_para, + J,pnrank,nd_mpi,pjs_para,gis_para,opfs_para, f_idx,tVs_para,lsj,tllsj_para,tdict,tmpsum,to) end end @@ -295,10 +281,9 @@ end function f_sq!(opf,xdwn,ydwn) opf .= 0.0 - opf[1] = -2.0 * (xdwn^2 + ydwn^2) - opf[2] = 4.0 * xdwn * ydwn + opf[1] = opf[6] = -2.0 * (xdwn^2 + ydwn^2) + opf[2] = opf[5] = 4.0 * xdwn * ydwn opf[3] = -opf[1]; opf[4] = -opf[2] - opf[5] = opf[2]; opf[6] = opf[1] opf[7] = 2.0*( xdwn^2 - ydwn^2) opf[8] = -opf[7] return nothing @@ -333,12 +318,17 @@ function f_sl!(opf,xdwn,ydwn) xxyy2 = 2.0 * xdwn^2 * ydwn^2 opf .= 0.0 opf[1] = opf[3] = opf[7] = opf[8] = -xxyy2 - opf[6] = xxyy2 + opf[6] = xxyy2 opf[9] = 2.0 * xxyy2 return nothing end -function calc_LqAq(w,q,nd_mpi,usingSFR,LamSFR,verbose=false) +""" + calc_LqAq(w,q,nd_mpi,usingSFR,LamSFR) +To calculate L(q) and A(q) appear in TPE contributions; L(q)=EM Eq.(4.11), A(q)=EM Eq.(D.28). +If usingSFR, Lq&Aq are replaced by Eqs.(2.24)&(C3) in EKMN paper. +""" +function calc_LqAq(w,q,nd_mpi,usingSFR,LamSFR) if usingSFR s = sqrt(LamSFR^2-4*nd_mpi^2) Lq = w/(2*q) * log((LamSFR^2 * w^2 + q^2 * s^2 + 2*LamSFR*q*w*s)/(4.0*nd_mpi^2 * (LamSFR^2 + q^2) ) ) @@ -373,13 +363,13 @@ function Vt_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN= if chi_order >= 3 tmp_s += (5*nd_mpi^2 + 2* q2) * Aq * f_NNLO_Vt end - else + else it_pi = (nd_mpi + w2 * Aq) ##nd_mpi term is different from EMN tmp_s += (3*tw2Aq +it_pi) * f_NNLO_Vt/2 end end # N3LO - if chi_order >= 3 + if chi_order >= 3 if !EMN ## EM eq.(D.11) f_N3LO_Vt = gA4 / (32.0 * pi^2 * Fpi4) @@ -398,10 +388,36 @@ function Vt_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN= return tmp_s end -function Wt_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=false,calc_TPE_separately=false) +function Wt_OPEP_T1(tz,q2,Fpi2) + Mnuc = ifelse(tz==-2,Mp,Mn) + mpi2 = (mpis[2]/Mnuc)^2 #mpis[2] = mpi0 + return - gA2 / ( 4* Fpi2 * (mpi2 + q2) ) +end +function Wt_OPEP_pn(T,q2,Fpi2;pigamma=true) + mpi02 = (mpis[2]/Mm)^2 ; mpipm2 = (mpis[1]/Mm)^2 + Vmpi0 = - gA2 / ( 4*Fpi2 * (mpi02 + q2) ) + Vmpm2 = - gA2 / ( 4*Fpi2 * (mpipm2 + q2) ) + if false #pigamma + beta = q2/mpipm2 + Vmpm2 += - gA2 / ( 4*Fpi2 * mpipm2) *fac_pig(beta) + end + return - Vmpi0 + 2* Vmpm2 +end + +function Wt_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2,tllsj;EMN=false,calc_TPE_separately=false,calcOPEPhere=false) Fpi4 = Fpi2^2; Fpi6 = Fpi2^3; w2 = w^2; w2Aq = w2 * Aq nd_mpi2 = nd_mpi^2; nd_mpi4 = nd_mpi2^2 tmp_s = 0.0 + if calcOPEPhere + tz,L,Lp,S,J = tllsj + if tz != 0 + tmp_s += Wt_OPEP_T1(tz,q2,Fpi2) + else + T = (Lp+S) % 2 + tmp_s += Wt_OPEP_pn(T,q2,Fpi2) + end + return tmp_s + end if chi_order >=2 #NNLO fac_NNLO = - gA2 / (32.0 * pi * Fpi4) @@ -469,7 +485,9 @@ function Vs_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN= else f_N3LO_Vs = gA4 / (32.0 * pi^2 * Fpi4) f_N3LO_2l_Vs = -gA2 * r_d145 /(32.0*pi^2 *Fpi4) - tmp_s += Lq * (k2 +3.0/8.0 *q2 + nd_mpi4 /w2) *f_N3LO_Vs + # There is type in EM review (D.11) 5/8 -> 3/8. + # See also N. Kaiser, Phys. Rev. C 65 (2002) 017001. + tmp_s += Lq * (k2 + 3.0*q2/8.0 + nd_mpi4 /w2) *f_N3LO_Vs tmp_s += w2 * Lq * f_N3LO_2l_Vs end end @@ -483,7 +501,7 @@ function Vs_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN= end """ - Ws_term(chi_order,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=false,useMachleidt=true) + Ws_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=false,useMachleidt=true,calc_TPE_separately=false) - NNLO: EM Eq.(4.16) & Eq.(4.24) => `it_pi` term - N3LO: EM Eq.(D.2) (``c^2_i`` term), Eq.(D.6) (`c_i/M_N`` term), Eq.(D.12) (`1/M^2_N`` term), Eq.(D.27) (2-loop term) @@ -537,7 +555,7 @@ function Ws_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=false,useMa end """ - Vc_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c1,c2,c3,Fpi2;EMN=false) + Vc_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c1,c2,c3,Fpi2,LoopObjects;EMN=false,usingMachleidt=true,ImVerbose=false,calc_TPE_separately=false) - NNLO: EM NNLO eq.(4.13), EKMN Eq.(C1) + relativistic correction Eq.(D7) - N3LO: - f1term ``c^2_i``: EM Eq.(D.1), EKMN Eq.(D1) @@ -573,7 +591,8 @@ function Vc_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c1,c2,c3,Fpi2,LoopObjects;EMN=f tmp_s += (term1+term2+it_pi) * f_NNLO_Vc end end - if chi_order >= 3 + if chi_order >= 3 + ## EM Eq(D.1) f_N3LO_f1_Vc = 3.0/ (16.0 * pi^2 * Fpi4) brak1 = ((c2*w2)/6.0 + c3*tw2 -4.0*c1*nd_mpi2)^2 + (c2^2 *w2^2)/45.0 tmp_s += Lq * brak1 * f_N3LO_f1_Vc @@ -586,11 +605,11 @@ function Vc_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c1,c2,c3,Fpi2,LoopObjects;EMN=f if EMN obj = LoopObjects.n3lo; ImV = obj.ImVc; tmp_s += Integral_ImV(obj.mudomain,q2,obj,ImV) else - f_N3LO_2l_Vc = 3.0 * gA4 /(1024.0 *pi^2 * Fpi6) ## EM eq.(D.9) Mm2cor = Lq *(2.0*nd_mpi2^4 / w^4 + 8.0*nd_mpi2^3 / w2 -q2^2 -2.0*nd_mpi2^2 ) + nd_mpi2^3 /(2.0 *w2) tmp_s += f_N3LO_f6_Vc *gA2 *Mm2cor ## EM eq.(D.18) + f_N3LO_2l_Vc = 3.0 * gA4 /(1024.0 *pi^2 * Fpi6) tmp_s += f_N3LO_2l_Vc * tw2Aq * ((nd_mpi2 + 2.0 * q2)*(2.0*nd_mpi + tw2Aq) +4.0*gA2 * nd_mpi *tw2) end end @@ -601,11 +620,10 @@ function Vc_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c1,c2,c3,Fpi2,LoopObjects;EMN=f end """ - Wc_term(chi_order,w,tw2,q2,k2,Lq,Aq,nd_mpi,c4,r_d12,r_d3,r_d5,Fpi2;EMN=false,useMachleidt=true) + Wc_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,c4,r_d12,r_d3,r_d5,Fpi2;EMN=false,useMachleidt=true,calc_TPE_separately=false) !!! note EMN Eq.(D8) doesn't match the expression in EM review, Eq.(4.14) nor Eq(4.14)+Eq.(4.22). Since the LECs in EKMN paper are determined through the Eqs.(D8) and these difference gives minor effect, we use EMN eq.(D8). - """ function Wc_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,c4,r_d12,r_d3,r_d5,Fpi2;EMN=false,useMachleidt=true,calc_TPE_separately=false) Fpi4 = Fpi2^2; Fpi6 = Fpi2^3; nd_mpi2 = nd_mpi^2; nd_mpi4 = nd_mpi^4 @@ -641,15 +659,15 @@ function Wc_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,c4,r_d12,r_d3,r_ end end ## N3LO - if chi_order >= 3 + if chi_order >= 3 #a: ci/Mn term, EM eq.(D.5), EMN eq.(2.20) f_N3LO_a_Wc = -c4 / (192.0 * pi^2 * Fpi4) tmp_s += f_N3LO_a_Wc * (gA2 *(8*nd_mpi2+5*q2) +w2) * q2 * Lq if EMN - # 2-loop correction EKMN eq.(D4) + ## 2-loop correction EKMN eq.(D4) obj = LoopObjects.n3lo; tmp_s += Integral_ImV(obj.mudomain,q2,obj,obj.ImWc) else - # #b: 1/Mn^2 term, EM eq.(D.10) + ## b: 1/Mn^2 term, EM eq.(D.10) f_N3LO_b_Wc = -1.0 / (768.0 * pi^2 * Fpi4) brak1 = Lq * ( 8.0*gA2 * (11.0/4.0 *q2^2 +5.0*nd_mpi2*q2 + 3.0*nd_mpi2^2 -6.0*nd_mpi2^3 /w2 @@ -660,7 +678,7 @@ function Wc_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,c4,r_d12,r_d3,r_ +(q2-4.0*k2)*w2) brak2 = 16.0*gA4 *nd_mpi2^3 / w2 tmp_s += (brak1 + brak2) * f_N3LO_b_Wc - # 2l: two-loop correction EM eq.(D.20) + ## 2l: two-loop correction EM eq.(D.20) f_N3LO_2l_Wc= 1.0/(18432.0 * pi^4 * Fpi6) term1 = 192.0* pi^2 *Fpi2*w2*r_d3* (2.0*gA2*tw2 -3.0/5.0 *(gA2-1.0) *w2) brak = 384.0 * pi^2 *Fpi2 * (tw2 * r_d12 + 4.0*nd_mpi2 * r_d5) @@ -692,7 +710,7 @@ function Vls_term(chi_order,w,tw2,q2,Lq,Aq,nd_mpi,c2,Fpi2;EMN=false) tmp_s += tw2Aq * f_NNLO_Vls end end - if chi_order >= 3 + if chi_order >= 3 f_N3LO_a_Vls = c2 *gA2 /(8.0* pi^2 * Fpi4) tmp_s += f_N3LO_a_Vls * w2 * Lq f_N3LO_b_Vls = gA4 /(4.0* pi^2 * Fpi4) @@ -713,7 +731,7 @@ function Wls_term(chi_order,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=false) tmp_s += w2Aq * f_NNLO_Wls end end - if chi_order >= 3 + if chi_order >= 3 f_N3LO_a_Wls = -c4 /(48.0*pi^2 * Fpi4) f_N3LO_b_Wls = 1.0 /(256.0*pi^2 * Fpi4) tmp_s += f_N3LO_a_Wls*Lq * (gA2 *(8.0*nd_mpi2 + 5.0*q2) + w2) @@ -728,7 +746,7 @@ end function Vsl_term(chi_order,Lq,Fpi2;EMN=false) Fpi4 = Fpi2^2 tmp_s = 0.0 - if chi_order >=3 && !EMN + if chi_order >=3 && !EMN f_N3LO = gA4 /(32.0* pi^2 * Fpi4) tmp_s += f_N3LO * Lq end @@ -742,8 +760,10 @@ end Calculating TPE contribution in a given momentum mesh point. """ function tpe_for_givenJT(chiEFTobj,LoopObjects,Fpi2,tmpLECs, - J,pnrank,fff,dwn,nd_mpi,pjs_para,gis_para,opfs_para, + J,pnrank,nd_mpi,pjs_para,gis_para,opfs_para, f_idx,tVs_para,lsj,tllsj_para,tdict,tmpsum,to;calc_TPE_sep=true) + MN = Ms[pnrank];dwn = 1.0/MN + fff = pi / ((2*pi)^3 * MN^2) params = chiEFTobj.params LamSFR_nd = dwn * params.LambdaSFR ts = chiEFTobj.ts; ws = chiEFTobj.ws; xr = chiEFTobj.xr @@ -753,28 +773,25 @@ function tpe_for_givenJT(chiEFTobj,LoopObjects,Fpi2,tmpLECs, r_d12 = tmpLECs["r_d12"]; r_d3 = tmpLECs["r_d3"]; r_d5 = tmpLECs["r_d5"] r_d145 = tmpLECs["r_d145"]; r_e14 = tmpLECs["r_e14"]; r_e17 = tmpLECs["r_e17"] nd_mpi2 = nd_mpi^2 - hc3 = hc^3 n_mesh = length(xr) usingSFR = ifelse(LamSFR_nd!=0.0,true,false) - @inbounds @threads for V_i= 1:n_mesh - x = xr[V_i]; xdwn = x*dwn; xdwn2 = xdwn^2 - ex = sqrt(1.0+xdwn2) + x = xr[V_i]; xdwn = x*dwn; xdwn2 = xdwn^2; ex = sqrt(1.0+xdwn2) tid = threadid() gis = gis_para[tid] - tllsj = tllsj_para[tid]#; tllsj .= org_tllsj + tllsj = tllsj_para[tid]#; tllsj .= org_tllsj target = tmpsum[tid] tVs = tVs_para[tid] f_T,f_SS,f_C,f_LS,f_SL = opfs_para[tid] @inbounds for V_j = 1:n_mesh - y = xr[V_j]; ydwn = y*dwn; ydwn2=ydwn^2 + y = xr[V_j]; ydwn = y*dwn; ydwn2=ydwn^2; ey = sqrt(1.0+ydwn2) f_sq!(f_T,xdwn,ydwn);f_ls!(f_LS,xdwn,ydwn);f_sl!(f_SL,xdwn,ydwn) - ey = sqrt(1.0+ydwn2) + k2=0.5*(xdwn2 + ydwn2) - ree = 1.0/sqrt(ex*ey) - fc = fff * hc3 * freg(x,y,2) * ree - for i=1:length(gis); gis[i] .= 0.0; end #gis [1:7][1:9] - @inbounds for n = 1:length(ts) + ree = 1.0 /sqrt(ex*ey) + fc = fff * hc3 * ree * freg(x,y,2) + for i in eachindex(gis); gis[i] .= 0.0; end #gis [1:7][1:9] + @inbounds for n in eachindex(ts) tpj = @view pjs_para[tid][n,:] t = ts[n]; int_w = ws[n] q2 = xdwn2 + ydwn2 -2.0*xdwn*ydwn*t; q = sqrt(q2) @@ -785,7 +802,7 @@ function tpe_for_givenJT(chiEFTobj,LoopObjects,Fpi2,tmpLECs, tmp_s = Vt_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN=usingSFR,calc_TPE_separately=calc_TPE_sep) axpy!(tmp_s*int_w,tpj,target[1]) ## Tensor term: Wt - tmp_s = Wt_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2;EMN=usingSFR,calc_TPE_separately=calc_TPE_sep) + tmp_s = Wt_term(chi_order,LoopObjects,w,q2,Lq,Aq,nd_mpi,c4,Fpi2,tllsj;EMN=usingSFR,calc_TPE_separately=calc_TPE_sep) axpy!(tmp_s*int_w,tpj,target[2]) ## sigma-sigma term: Vs tmp_s = Vs_term(chi_order,LoopObjects,w,tw2,q2,k2,Lq,Aq,nd_mpi,r_d145,Fpi2;EMN=usingSFR,calc_TPE_separately=calc_TPE_sep) @@ -810,14 +827,12 @@ function tpe_for_givenJT(chiEFTobj,LoopObjects,Fpi2,tmpLECs, axpy!(tmp_s*int_w,tpj,target[9]) if !calc_TPE_sep n4lo_tpe_integral!(LoopObjects,q2,int_w,tpj,target) - end - + end end for ch =1:9 gi = gis[ch] - tid = threadid() - target = tmpsum[tid] + target = tmpsum[threadid()] axpy!(1.0,target[ch],gi) target[ch] .= 0.0 end @@ -848,15 +863,15 @@ function n4lo_tpe_integral!(LoopObjects,q2,int_w,tpj,target) # ImV (Vc/Wc) mu = fac1*t + fac2 ImVc = obj.ImVc[ith]; ImWc = obj.ImWc[ith] - sumVc += fac1 * fac_ImV * ws[ith] * ImVc / (mu^5 *(mu^2 + q2)) - sumWc += fac1 * fac_ImV * ws[ith] * ImWc / (mu^5 *(mu^2 + q2)) + sumVc += fac1 * fac_ImV * ws[ith] * ImVc / (mu^5 *(mu^2 + q2)) + sumWc += fac1 * fac_ImV * ws[ith] * ImWc / (mu^5 *(mu^2 + q2)) # ImVT (Vt/Wt/Vs/Ws) ImVt = obj.ImVt[ith]; ImWt = obj.ImWt[ith] - sumVt += fac1 * fac_ImVT * ws[ith] * ImVt / (mu^3 * (mu^2 + q2)) - sumVs += fac1 * fac_ImVT * ws[ith] * ImVt / (mu^3 * (mu^2 + q2)) - sumWt += fac1 * fac_ImVT * ws[ith] * ImWt / (mu^3 * (mu^2 + q2)) - sumWs += fac1 * fac_ImVT * ws[ith] * ImWt / (mu^3 * (mu^2 + q2)) + sumVt += fac1 * fac_ImVT * ws[ith] * ImVt / (mu^3 * (mu^2 + q2)) + sumVs += fac1 * fac_ImVT * ws[ith] * ImVt / (mu^3 * (mu^2 + q2)) + sumWt += fac1 * fac_ImVT * ws[ith] * ImWt / (mu^3 * (mu^2 + q2)) + sumWs += fac1 * fac_ImVT * ws[ith] * ImWt / (mu^3 * (mu^2 + q2)) ## 3-loop terms mu = fac1_3l * t + fac2_3l @@ -865,7 +880,7 @@ function n4lo_tpe_integral!(LoopObjects,q2,int_w,tpj,target) sumWt += fac1_3l * fac_ImVT * ws[ith] * ImWt3 / (mu^3 * (mu^2 + q2)) sumVs += fac1_3l * fac_ImVT * ws[ith] * ImVs3 / (mu^3 * (mu^2 + q2)) sumWs += fac1_3l * fac_ImVT * ws[ith] * ImWs3 / (mu^3 * (mu^2 + q2)) - sumWc += fac1_3l * fac_ImV * ws[ith] * ImWc3 / (mu^5 *(mu^2 + q2)) + sumWc += fac1_3l * fac_ImV * ws[ith] * ImWc3 / (mu^5 * (mu^2 + q2)) end axpy!(sumVt*int_w,tpj,target[1]) axpy!(sumWt*int_w,tpj,target[2]) @@ -888,11 +903,13 @@ function calc_IJ_V(J,pnrank,gi,opf,fc,f_idx,tVs,lsj,tllsj,tdict,V12mom,V_i,V_j,t V34 = opf[4] * IJ0 + opf[3] *IJ2 V55 = opf[7] * IJ3 V66 = opf[8] * IJ3 - - if addtype == "ls" - IJ4 = gi[4] - IJ5 = (J* gi[4] + gi[5]) /(J+1) - IJ6 = sqrt(J/(J+1)) * (gi[4]-gi[5]) + IJ4 = gi[4] + IJ5 = (J* gi[4] + gi[5]) /(J+1) + IJ6 = sqrt(J/(J+1)) * (gi[4]-gi[5]) + IJ10 = gi[6] + IJ11 = (J * gi[6] + gi[7]) / (J+1) + IJ12 = sqrt(J/(J+1)) * (gi[6]-gi[7]) + if addtype == "ls" V0 += opf[9] * IJ4 V1 += opf[10] * IJ1 + opf[9] * IJ5 V12 += opf[10] * IJ4 @@ -901,16 +918,10 @@ function calc_IJ_V(J,pnrank,gi,opf,fc,f_idx,tVs,lsj,tllsj,tdict,V12mom,V_i,V_j,t V55 += e1 V66 += e1 elseif addtype == "sl" - IJ4 = gi[4] - IJ5 = (J* gi[4] + gi[5]) /(J+1) - IJ6 = sqrt(J/(J+1)) * (gi[4]-gi[5]) - IJ10 = gi[6] - IJ11 = (J * gi[6] + gi[7]) / (J+1) - IJ12 = sqrt(J/(J+1)) * (gi[6]-gi[7]) V0 += opf[6] * IJ4 V1 += opf[1] * IJ4 + opf[9] * IJ5 V12 += opf[1] * IJ10 - V34 += opf[9] * IJ1 +opf[1] * IJ11 + V34 += opf[9] * IJ1 + opf[1] * IJ11 e1 = opf[6] * IJ12 V55 += e1 V66 += e1 @@ -919,9 +930,8 @@ function calc_IJ_V(J,pnrank,gi,opf,fc,f_idx,tVs,lsj,tllsj,tdict,V12mom,V_i,V_j,t @inbounds for idx = 1:f_idx @views tllsj[2:5] .= lsj[idx] V12idx = get(tdict,tllsj,-1) - if V12idx == -1;continue;end - tfac = tVs[idx] * fc - V12mom[V12idx][V_i,V_j] += tfac + if V12idx == -1;continue;end + V12mom[V12idx][V_i,V_j] += tVs[idx] * fc end return nothing end @@ -950,7 +960,6 @@ function transV_into_lsj(J,pnrank,Vs,v1,v2,v3,v4,v5,v6;isodep=false) return nothing end - struct n3lo_2loopObj nmu::Int64 mudomain::Vector{Float64} @@ -1001,8 +1010,7 @@ function def_n4lo_23loopObj(chiEFTobj,nd_mpi,Fpi2,c1,c2,c3,c4,r_e14,r_e17,mudoma TF = chiEFTobj.chi_order>=4 && chiEFTobj.pottype=="emn500n4lo" nmu = ifelse(TF,length(ts),0) ImVc = zeros(Float64,nmu); ImWc = zeros(Float64,nmu); ImVt = zeros(Float64,nmu) - ImWt = zeros(Float64,nmu); - ImWc3 = zeros(Float64,nmu); ImVt3 = zeros(Float64,nmu) + ImWt = zeros(Float64,nmu); ImWc3 = zeros(Float64,nmu); ImVt3 = zeros(Float64,nmu) ImWt3 = zeros(Float64,nmu); ImVs3 = zeros(Float64,nmu); ImWs3 = zeros(Float64,nmu) obj = n4lo_23loopObj(mudomain2,mudomain3,ts,ws,ImVc,ImWc,ImVt,ImWt,ImWc3,ImVt3,ImWt3,ImVs3,ImWs3) if TF @@ -1024,7 +1032,7 @@ function n4lo_ImVW_classAB!(obj,mpi,Fpi2,c1,c2,c3,c4,r_e14,r_e17,ts,ws) facWtA = c4 * gA2 *mpi^5 / (4096 * pi^2 * Fpi6) facVtB = gA4 *mpi^5 *(c3-c4) / (4096 * pi^2 * Fpi6) facWtB = facVcB = gA2 * mpi^5 / (4096* pi^2 * Fpi6) - for ith = 1:length(ts) + for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; u = mu/mpi; u2 = u^2 u2m4 = u2-4.0 Bu = log( (u+sqrt(u2m4))/2) @@ -1056,7 +1064,7 @@ function n4lo_ImVW_classAB!(obj,mpi,Fpi2,c1,c2,c3,c4,r_e14,r_e17,ts,ws) tV += -c3 * mpi^5 / (4096*Fpi6*pi^2) * ( brak1 + brak2) brak1 = 2*sqrt(u2m4)/9 * (30-128/u +80*u -13*u2 -2*u2^2 +gA2*(512/u-114-368*u+169*u2-7*u2^2-192/(u+2))) brak2 = 16/(3*u) * (5-3*u2+gA2*(30*u2-35-6*u2^2))*Bu - tV += -c4 * gA2 *mpi^5 /(4096*Fpi6*pi^2) * (brak1+brak2) + tV += -c4 * gA2 *mpi^5 /(4096*Fpi6*pi^2) * (brak1+brak2) Wc[ith] += tV end return nothing @@ -1065,7 +1073,7 @@ function n4lo_ImVW_3loop!(obj,mpi,Fpi2,c1,c2,c3,c4,ts,ws) Fpi6 = Fpi2^3; mudomain = obj.mudomain3 fac1 = (mudomain[2]-mudomain[1])/2; fac2 = (mudomain[1]+mudomain[2])/2 Wc=obj.ImWc3; Vt=obj.ImVt3; Wt=obj.ImWt3; Vs=obj.ImVs3; Ws=obj.ImWs3 - for ith = 1:length(ts) + for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; u = mu/mpi; u2 = u^2; u3= u2*u; u4=u3*u; u5=u4*u; u6=u5*u; mpi5 = mpi^5 y = sqrt((u-3)*(u+1)); Du = log( (u-1+y)/2) ## ImWc13 EKMN eq.(2.30) @@ -1102,7 +1110,6 @@ function n4lo_ImVW_3loop!(obj,mpi,Fpi2,c1,c2,c3,c4,ts,ws) return nothing end - function def_n3lo_2loopObj(chiEFTobj,nd_mpi,Fpi2,r_d12,r_d3,r_d5,r_d145,mudomain,ts,ws) TF = chiEFTobj.chi_order>=3 && occursin("emn",chiEFTobj.pottype) nmu = ifelse(TF,length(ts),0) @@ -1129,7 +1136,7 @@ function n3lo_ImVc!(V,mpi,Fpi2,mudomain,ts,ws) mpi2 = mpi^2; Fpi6 = Fpi2^3 fac1 = (mudomain[2]-mudomain[1])/2; fac2 = (mudomain[1]+mudomain[2])/2 prefac = 3 * gA4 / (pi*4096*Fpi6) - @threads for ith = 1:length(ts) + @threads for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; mu2 = mu^2 brak = (mpi2-2*mu2) * (2*mpi + (2*mpi2 - mu2)/(2*mu) *log( (mu+2*mpi)/(mu-2*mpi))) brak += 4*gA2*mpi * (2*mpi2-mu2) @@ -1147,7 +1154,7 @@ function n3lo_ImWc!(V,mpi,Fpi2,r_d12,r_d3,r_d5,r_d145,mudomain,ts,ws) mpi2 = mpi^2; Fpi6 = Fpi2^3 fac1 = (mudomain[2]-mudomain[1])/2; fac2 = (mudomain[1]+mudomain[2])/2 factor = 2/(3*512*pi^3 * Fpi6) - @threads for ith = 1:length(ts) + @threads for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; mu2 = mu^2 kappa = sqrt(mu2/4 -mpi2) integ_x = n3lo_integ_x_Wc(ts,ws,mu,kappa,mpi,r_d12,r_d3,r_d5,r_d145,Fpi2) @@ -1157,10 +1164,10 @@ function n3lo_ImWc!(V,mpi,Fpi2,r_d12,r_d3,r_d5,r_d145,mudomain,ts,ws) return nothing end function n3lo_integ_x_Wc(ts,ws,mu,kappa,mpi,r_d12,r_d3,r_d5,r_d145,Fpi2) - fac_quad = 0.5; kappa2 = kappa^2; mpi2 = mpi^2; mu2 = mu^2 + fac_quad = 0.5; mpi2 = mpi^2; mu2 = mu^2 integ_x = 0.0 - for ith = 1:length(ts) - w = ws[ith]; t = ts[ith]; x = 0.5 * t + 0.5; x2 = x^2 + for ith in eachindex(ts) + w = ws[ith]; t = ts[ith]; x = 0.5 * t + 0.5 kx = kappa * x; kx2 = kx^2 brak = gA2 *(mu2-2*mpi2) + 2*(1-gA2)* kx2 term1 = 96* pi^2 * Fpi2 * ( (2*mpi2-mu2)*r_d12 - 2*kx2*r_d3 + 4*mpi2*r_d5) @@ -1183,7 +1190,7 @@ function n3lo_ImVsVt!(Vt,mpi,Fpi2,r_d145,mudomain,ts,ws) mpi2 = mpi^2; Fpi4 = Fpi2^2; Fpi6 = Fpi2^3 fac1 = (mudomain[2]-mudomain[1])/2; fac2 = (mudomain[1]+mudomain[2])/2 fac_integ_x_Vt = 2*(gA2^3)/(512*pi^3 * Fpi6) - @threads for ith = 1:length(ts) + @threads for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; mu2 = mu^2 kappa = sqrt(mu2/4 -mpi2) tV = gA2 *mu * kappa^3 * (-r_d145) / ( 8*pi*Fpi4 ) @@ -1196,7 +1203,7 @@ function n3lo_integ_x_Vt(ts,ws,kappa,mpi) fac_quad = 0.5 kappa2 = kappa^2 integ_x = 0.0 - for ith = 1:length(ts) + for ith in eachindex(ts) w = ws[ith]; t = ts[ith]; x = 0.5 * t + 0.5; x2 = x^2 mkx = mpi^2 /(kappa2*x2) nume = kappa * x + sqrt( mpi^2 + kappa2*x2) @@ -1213,7 +1220,7 @@ The expression can be found in eq.(D6) of EKMN paper. function n3lo_ImWsWt!(Wt,mpi,Fpi2,mudomain,ts,ws) mpi2 = mpi^2; Fpi6 = Fpi2^3 fac1 = (mudomain[2]-mudomain[1])/2; fac2 = (mudomain[1]+mudomain[2])/2 - @threads for ith = 1:length(ts) + @threads for ith in eachindex(ts) t = ts[ith]; mu = fac1*t + fac2; mu2 = mu^2 fac = gA4 * (4*mpi2-mu2) / ( pi* 4096*Fpi6) brak = (mpi2 - mu2/4) * log( (mu+2*mpi)/(mu-2*mpi) ) +(1+2*gA2)*mu*mpi diff --git a/src/chiEFTint/renorm.jl b/src/chiEFTint/renorm.jl index 5463926b..b805306c 100644 --- a/src/chiEFTint/renorm.jl +++ b/src/chiEFTint/renorm.jl @@ -1,9 +1,7 @@ - - """ SRG(xr,wr,V12mom,dict_pwch,to) -main function for Similarity Renormalization Group (SRG) transformation of NN interaction in CM-rel momentum space. +Similarity Renormalization Group (SRG) transformation of NN interaction in CM-rel momentum space. """ function SRG(chiEFTobj,to) if !chiEFTobj.params.srg; return nothing;end @@ -26,8 +24,7 @@ function SRG(chiEFTobj,to) etas = [zeros(Float64,ndim,ndim) for i = 1:nthre] Rs = [zeros(Float64,ndim,ndim) for i = 1:nthre] tkeys = [ zeros(Int64,5) for i=1:nthre] - - sSRG = (1.0/srg_lambda)^4 # s in literature + sSRG = (1.0/srg_lambda)^4 ds = 1.e-4 srange = 0.0:ds:sSRG numit = length(srange) @@ -58,7 +55,7 @@ function SRG(chiEFTobj,to) tkey[1] = 2*iz; tkey[2]=l1; tkey[3]=l2; tkey[4]=S;tkey[5]=J if l1 == l2 V12idx = tdict[tkey]; tv = V12mom[V12idx] - sV = @view V[1:n_mesh,1:n_mesh] + sV = @view V[1:n_mesh,1:n_mesh] sT = @view T[1:n_mesh,1:n_mesh] sH = @view H[1:n_mesh,1:n_mesh] sHt = @view Ht[1:n_mesh,1:n_mesh] @@ -72,8 +69,8 @@ function SRG(chiEFTobj,to) sT[i,i] = (x *hc)^2 / (2*rmass) sH[i,i] += (x *hc)^2 / (2*rmass) end - if norm(sH-sH',Inf) > 1.e-9; println(" norm(sH-sH') ", norm(sH-sH',Inf));end - srg_tr(sH,sT,sHt,sV,seta,tR,sSRG,face,ds,numit,to) + if norm(sH-sH',Inf) > 1.e-6; println("Tz ",@sprintf("%3i",iz)," L $l1 L' $l2 S $S J $J norm(sH-sH') ", norm(sH-sH',Inf));end + srg_RK4(sH,sT,sHt,sV,seta,tR,sSRG,face,ds,numit,to) ## overwrite V12 for (i,x) in enumerate(xr_fm) for (j,y) in enumerate(xr_fm) @@ -97,7 +94,7 @@ function SRG(chiEFTobj,to) T[i,i] = T[n_mesh+i,n_mesh+i] = (x *hc)^2 / (2*rmass) end H .= V;H .+= T - srg_tr(H,T,Ht,V,eta,R,sSRG,face,ds,numit,to) + srg_RK4(H,T,Ht,V,eta,R,sSRG,face,ds,numit,to) H .= V; H .-= T # Veff = H(s) - T # H is reused as Veff for (i,x) in enumerate(xr_fm) for (j,y) in enumerate(xr_fm) @@ -133,8 +130,8 @@ function RKstep(T,Ho,eta,R,faceta,fRK,Ht) BLAS.gemm!('N', 'N', faceta, T, Ho, 0.0, eta) BLAS.gemm!('N', 'N', -faceta, Ho, T, 1.0, eta) # =>eta BLAS.gemm!('N', 'N', 1.0, eta, Ho, 0.0, R) - BLAS.gemm!('N', 'N', -1.0, Ho, eta, 1.0, R) - BLAS.axpy!(fRK,R,Ht) + BLAS.gemm!('N', 'N', -1.0, Ho, eta, 1.0, R) + axpy!(fRK,R,Ht) return nothing end function RKstep_mul(T,Ho,eta,R,faceta,fRK,Ht) @@ -142,17 +139,16 @@ function RKstep_mul(T,Ho,eta,R,faceta,fRK,Ht) mul!(eta,Ho,T,-faceta,1.0) mul!(R,eta,Ho,1.0,0.0) mul!(R,Ho,eta,-1.0,1.0) - BLAS.axpy!(fRK,R,Ht) + axpy!(fRK,R,Ht) return nothing end """ - srg_tr(Ho,T,Ht,Hs,eta,R,sSRG,face,ds,numit,to; r_err=1.e-8,a_err=1.e-8,tol=1.e-6) + srg_RK4(Ho,T,Ht,Hs,eta,R,sSRG,face,ds,numit,to; r_err=1.e-8,a_err=1.e-8,tol=1.e-6) -to carry out SRG transformation +to carry out SRG transformation with RK4 """ -function srg_tr(Ho,T,Ht,Hs,eta,R,sSRG,face,ds,numit,to; - r_err=1.e-8,a_err=1.e-8,tol=1.e-6) +function srg_RK4(Ho,T,Ht,Hs,eta,R,sSRG,face,ds,numit,to;r_err=1.e-8,a_err=1.e-8,tol=1.e-6) Hs .= Ho Ht .= Hs for it = 1:numit @@ -160,13 +156,13 @@ function srg_tr(Ho,T,Ht,Hs,eta,R,sSRG,face,ds,numit,to; Ho .= Hs RKstep(T,Ho,eta,R,face,ds/6.0,Ht) - Ho .= Hs; BLAS.axpy!(0.5*ds,R,Ho) + Ho .= Hs; axpy!(0.5*ds,R,Ho) RKstep(T,Ho,eta,R,face,ds/3.0,Ht) - Ho .= Hs; BLAS.axpy!(0.5*ds,R,Ho) + Ho .= Hs; axpy!(0.5*ds,R,Ho) RKstep(T,Ho,eta,R,face,ds/3.0,Ht) - Ho .= Hs; BLAS.axpy!(ds,R,Ho) + Ho .= Hs; axpy!(ds,R,Ho) RKstep(T,Ho,eta,R,face,ds/6.0,Ht) Hs .= Ht diff --git a/src/chiEFTint/struct_const_io.jl b/src/chiEFTint/struct_const_io.jl new file mode 100644 index 00000000..443df91a --- /dev/null +++ b/src/chiEFTint/struct_const_io.jl @@ -0,0 +1,778 @@ +const chara_L = ["S","P","D","F","G","H","I","J","K","L","M","N"] +const chara_l = ["s","p","d","f","g","h","i","j","k","l","m","n"] +const jmax = 6 +const lmax = jmax +1 +const lcmax = jmax + 1 +const Mp = 938.272088 +const Mn = 939.565420 +const Mm = (Mp+Mn)/2 +const Me = 0.51099895 +const Mred = 2*Mp*Mn/(Mp+Mn) +const Ms = [Mp,Mm,Mn] +const Lambchi = 500.0 +const hc = 197.327053 +const Fpi = 92.4 +const hc2 = hc^2 +const hc3 = hc^3 +const hc4 = hc^4 +const gA = -1.29 +const gA2 = gA^2 +const gA4 = gA^4 +const mpis = [139.5702,134.9766,139.5702] +const fsalpha = 7.2973525693* 1.e-3 #fine structure const. +const l2l = [ wigner3j(Float64,l,2,l,0,0,0) for l=0:8] +const l2lnd =[[ wigner3j(Float64,l1,2,l2,0,0,0) for l2=0:8] for l1=0:8] +const nuclist = [ + "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", + "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", + "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", + "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", + "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", + "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"] + +delta(a::Int64,b::Int64) = ifelse(a==b,1.0,0.0) +delta(a::Float64,b::Float64) = ifelse(a==b,1.0,0.0) +hat(a::Int64) = sqrt(2.0*a+1.0) +hat(a::Float64) = sqrt(2.0*a+1.0) +hahat(a::Int64) = 2.0*a+1.0 + +function chara_SLJ(S,L,Lp,J) + if L==Lp + return string(Int(2*S+1))*chara_L[L+1]*string(J) + else + return string(Int(2*S+1))*chara_L[L+1]*"-"*chara_L[Lp+1]*string(J) + end +end + +""" + QLs +second kind Legendre functions needed for pion exchange contributions +""" +struct QLs + QL0s::Vector{Matrix{Float64}} + QWL2s::Vector{Matrix{Float64}} + QWL1s::Vector{Matrix{Float64}} + QWL0s::Vector{Matrix{Float64}} + QWlss::Vector{Matrix{Float64}} + ndQW1s::Vector{Vector{Matrix{Float64}}} + ndQW2s::Vector{Vector{Matrix{Float64}}} + QLdict::Vector{Dict{Float64,Float64}} +end +""" + Fis_2n3n +Struct to store F-integrals for 2n3n contributions, Eqs.(A13)-(A16) in [Kohno2013]. +""" +struct Fis_2n3n + F0s::Vector{Float64} + F1s::Vector{Float64} + F2s::Vector{Float64} + F3s::Vector{Float64} +end +""" + wsyms_j1_1or2 +Struct to store Wigner symbols with some special cases for 2n3n. +""" +struct wsyms_j1_1or2 + cg1s::Matrix{Float64} + cg2s::Matrix{Float64} + d6_121::Array{Float64,3} + d6_21::Array{Float64,4} + d6_222::Array{Float64,3} + d9_12::Array{Float64,4} +end +""" + util_2n3n +Struct to utilize `Fis_2n3n`,`QLs`,`wsyms_j1_1or2` structs. +""" +struct util_2n3n + Fis::Fis_2n3n + QWs::QLs + wsyms::wsyms_j1_1or2 +end +""" + LECs +Struct to store low energy constants (LECs). +Since the vector-form is usuful for sampling, dictonaries `idxs`&`dLECs` are defined to get idx from string and vice versa. +""" +struct LECs + vals::Vector{Float64} + idxs::Dict{String,Int64} + dLECs::Dict{String,Float64} +end + +""" + chiEFTparams +mutable struct to specify parameters for chiEFTint +# Fields +- `n_mesh::Int64` # of momentum mesh points +- `pmax_fm::Float64` max momentum in fm``{}^{-1}`` +- `emax::Int64` maximum emax (2n+l) for single particle states +- `Nnmax::Int64` Nnmax quanta +- `chi_order::Int64` order of Chiral EFT (0:LO, 1:NLO, 2:NNLO, 3:NNLO, 4:N4LO) +- `calc_NN::Bool` calculate NN potential or not +- `calc_3N::Bool` calculate density-dependent 3NF (called 2n3n in this package) or not +- `coulomb::Bool` calculate coulomb term or not +- `calc_EperA::Bool` calculate E/A with HF(+MBPT) the kF below will be used for density +- `hw::Float64` oscillator parameter in MeV +- `srg::Bool` carrying out SRG or not +- `srg_lambda::Float64` resolution scale for free space SRG in fm``{}^{-1}`` +- `tbme_fmt::String` tbme format (snt, snt.bin) +- `fn_tbme::String` filename of output tbme +- `pottype::String` potential type (em500n3lo, emn500n3lo, emn500n4lo) +- `LambdaSFR::Float64` cutoff for spectral function regularization (SFR) +- `target_nlj::Vector{Vector{Int64}}` option to truncate {nlj} in an output snt +- `v_chi_order::Int64` order of valence chiral interaction (usually not used, i.e. 0) +- `n_mesh_P::Int64` # of momentum mesh for valence interaction +- `Pmax_fm::Float64` momentum mesh for valence interaction +- `kF::Float64` Fermi momentum for 2n3n +- `BetaCM::Float64` Lawson's beta for Hcm +""" +mutable struct chiEFTparams + n_mesh::Int64 + pmax_fm::Float64 + emax::Int64 + Nnmax::Int64 + chi_order::Int64 + calc_NN::Bool + calc_3N::Bool + coulomb::Bool + calc_EperA::Bool + hw::Float64 + srg::Bool + srg_lambda::Float64 + tbme_fmt::String + fn_tbme::String + pottype::String + LambdaSFR::Float64 + target_nlj::Vector{Vector{Int64}} + v_chi_order::Int64 + n_mesh_P::Int64 + Pmax_fm::Float64 + kF::Float64 + BetaCM::Float64 +end + +""" + ChiralEFTobject +# Fields +- `params::chiEFTparams` +- `xr_fm::Vector{Float64}` momentum mesh points in fm``^{-1}`` (0 to `pmax_fm`) +- `xr::Vector{Float64}` momentum mesh points in MeV (`xr_fm` times ``\\hbar c``) +- `wr::Vector{Float64}` weights vector for Gauss-Legendre quadrature +- `Rnl::Array{Float64,3}` arrays for radial functions +- `xrP_fm::Vector{Float64}` "valence" counter part of `xr_fm` (usually not used) +- `xrP::Vector{Float64}` "valence" counter part of `xr` (usually not used) +- `wrP::Vector{Float64}` "valence" counter part of `wr` (usually not used) +- `RNL::Array{Float64,3}` "valence" counter part of `Rnl` (usually not used) +- `lsjs::Vector{Vector{Vector{Int64}}}` +- `tllsj::Vector{Int64}` +- `opfs::Vector{Vector{Float64}}` +- `ts::Vector{Float64}` mesh points for angular integrals in pion-exchange terms +- `ws::Vector{Float64}` weights vectors for angular integrals in pion-exchange terms +- `infos::Vector{Vector{Int64}}` information of two-body channeles: { [``T_z``,parity,J,dim] } +- `izs_ab::Vector{Vector{Vector{Int64}}}` two-body kets: { [iza,ia,izb,ib] } where `iz*` stuff is isospin (-1 or 1) and `i*` stuff is label of sps. For example, [-1,1,1,1] corresponds to |p0s1/2 n0s1/2>. +- `nTBME::Int64` # of two-body matrix elements (TBMEs) +- `util_2n3n::util_2n3n` +- `LECs::LECs` +- `V12mom::Vector{Matrix{Float64}}` matrix elements of NN int in momentum space for each two-body channnel +- `V12mom_2n3n::Vector{Matrix{Float64}}` matrix elements of 2n3n int in momentum space for each two-body channnel +- `pw_channels::Vector{Vector{Int64}}` list of partial wave two-body channels like {[pnrank,L,L',S,J]} +- `dict_pwch::Vector{Dict{Vector{Int64}, Int64}}` +- `arr_pwch::Vector{Vector{Vector{Vector{Vector{Int64}}}}}` +""" +struct ChiralEFTobject + params::chiEFTparams + xr_fm::Vector{Float64} + xr::Vector{Float64} + wr::Vector{Float64} + Rnl::Array{Float64,3} + xrP_fm::Vector{Float64} + xrP::Vector{Float64} + wrP::Vector{Float64} + RNL::Array{Float64,3} + lsjs::Vector{Vector{Vector{Int64}}} + tllsj::Vector{Int64} + opfs::Vector{Vector{Float64}} + ts::Vector{Float64} + ws::Vector{Float64} + infos::Vector{Vector{Int64}} + izs_ab::Vector{Vector{Vector{Int64}}} + nTBME::Int64 + util_2n3n::util_2n3n + LECs::LECs + V12mom::Vector{Matrix{Float64}} + V12mom_2n3n::Vector{Matrix{Float64}} + pw_channels::Vector{Vector{Int64}} + dict_pwch::Vector{Dict{Vector{Int64}, Int64}} + arr_pwch::Vector{Vector{Vector{Vector{Vector{Int64}}}}} +end + + +""" + init_chiEFTparams(;fn_params="optional_parameters.jl") +constructor of chiEFTparams, see `chiEFTparams` mutable struct for more details. +""" +function init_chiEFTparams(;fn_params="optional_parameters.jl",use_hw_formula = 0,Anum = -1,io=stdout) + n_mesh = 50 + pmax_fm = 5.0 + emax = 4 + Nnmax= 20 + chi_order = 3 + calc_NN = true + calc_3N = false + hw = 20.0 + if use_hw_formula != 0; hw = hw_formula(Anum,use_hw_formula); end + srg = true + srg_lambda = 2.0 + calc_EperA = false + tx = "bare";if srg; tx ="srg"*string(srg_lambda);end;if calc_3N; tx="2n3n_"*tx;end + tbme_fmt = "snt.bin" + fn_tbme = "tbme_em500n3lo_"*tx*"hw"*string(round(Int64,hw))*"emax"*string(emax)*"."*tbme_fmt + coulomb = true + pottype = "em500n3lo" + target_nlj=Vector{Int64}[] + v_chi_order = 0 + n_mesh_P = 10 + Pmax_fm = 3.0 + BetaCM = 0.0 + kF = 1.35 + LambdaSFR = 0.0 + params = chiEFTparams(n_mesh,pmax_fm,emax,Nnmax,chi_order,calc_NN,calc_3N,coulomb,calc_EperA, + hw,srg,srg_lambda,tbme_fmt,fn_tbme,pottype,LambdaSFR, + target_nlj,v_chi_order,n_mesh_P,Pmax_fm,kF,BetaCM) + if !isfile(fn_params) + println("Since $fn_params is not found, the default parameters will be used.") + println("You can specify the parameters with optional argument, fn_params like make_chiEFTint(;fn_params=\"PATH_TO_YOUR_FILE\").") + else + read_chiEFT_parameter!(fn_params,params;io=io) + end + return params +end + +""" + read_chiEFT_parameter!(fn,params) +Function to overwrite params from the parameter file `fn`. +""" +function read_chiEFT_parameter!(fn,params::chiEFTparams;io=stdout) + include(fn) + if @isdefined(n_mesh); params.n_mesh = n_mesh ; end + if @isdefined(pmax_fm); params.pmax_fm = pmax_fm ; end + if @isdefined(emax); params.emax = emax; end + if @isdefined(Nnmax); params.Nnmax = Nnmax; end + if @isdefined(chi_order); params.chi_order = chi_order; end + if @isdefined(calc_NN); params.calc_NN = calc_NN; end + if @isdefined(calc_3N); params.calc_3N = calc_3N; end + if @isdefined(hw); params.hw = hw; end + if @isdefined(srg); params.srg = srg; end + if @isdefined(srg_lambda); params.srg_lambda = srg_lambda; end + if @isdefined(tbme_fmt); params.tbme_fmt = tbme_fmt; end + if @isdefined(fn_tbme); params.fn_tbme = fn_tbme; end + if @isdefined(pottype); params.pottype = pottype; end + if @isdefined(coulomb); params.coulomb = coulomb; end + if @isdefined(calc_EperA); params.calc_EperA = calc_EperA; end + if @isdefined(target_nlj); params.target_nlj = target_nlj; end + if @isdefined(v_chi_order); params.v_chi_order = v_chi_order; end + if @isdefined(n_mesh_P); params.n_mesh_P = n_mesh_P; end + if @isdefined(Pmax_fm); params.Pmax_fm = Pmax_fm; end + if @isdefined(kF); params.kF = kF; end + if occursin("emn",params.pottype) + params.LambdaSFR = ifelse(pottype=="emn500n4lo",700.0,650.0) + end + if @isdefined(BetaCM); params.BetaCM = BetaCM; end + if params.pottype =="emn500n4lo" && params.chi_order>4 + params.chi_order=4 + println("chi_order must be <= 4 for pottype=emn500n4lo, chi_order=4 will be used.") + end + if (params.pottype =="emn500n3lo" || params.pottype =="em500n3lo") && params.chi_order > 3 + println("chi_order must be <= 3 for pottype=emn500n3lo or em500n3lo, chi_order=3 will be used") + params.chi_order=3 + end + tx = "bare";if params.srg; tx ="srg"*string(params.srg_lambda);end;if params.calc_3N; tx="2n3n_"*tx;end + params.fn_tbme = "tbme_"*params.pottype*"_"*tx*"hw"*string(round(Int64,params.hw))*"emax"*string(params.emax)*"."*params.tbme_fmt + if io != nothing + println(io,"--- chiEFTparameters used ---") + for fieldname in fieldnames(typeof(params)) + println(io,"$fieldname = ",getfield(params,fieldname)) + end + println(io,"-----------------------------") + end + return nothing +end + +function show_TimerOutput_results(to;io=stdout,tf=true,alloc=true,compact=false) + if tf + show(io,to, allocations = true,compact = false) + println("") + end + return nothing +end + +function delta_arr(a,b) + hit = 0 + for i in eachindex(a) + hit += ifelse(a[i]==b[i],1,0) + end + return ifelse(length(a)==hit,1.0,0.0) +end + +function owtkey!(tkey,n,l,j,tz) + tkey[1]=n; tkey[2]=l; tkey[3]=j; tkey[4]=tz + return nothing +end + +""" + readsnt(sntf,Anum;eachA=false,pnfac=1.0) + +to read a sntfile. This is slightly different from readsnt() in ShellModel.jl +""" +function readsnt(sntf,Anum;eachA=false,pnfac=1.0) + f = open(sntf,"r");tlines = readlines(f);close(f) + lines = rm_comment(tlines) + line = lines[1] + lp,ln,cp,cn = map(x->parse(Int,x),rm_nan(split(line," "))) + p_sps = Vector{Int64}[ ] + n_sps = Vector{Int64}[ ] + dictsps = Dict{Vector{Int64},Int64}() + nls = [] + nlhit=0 + for i = 1:lp + ith,n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i]," "))[1:5]) + push!(p_sps,[n,l,j,tz]) + if ([n,l,tz] in nls)==false + nlhit +=1 + push!(nls,[n,l,tz]) + end + dictsps[[n,l,j,tz]] = i + end + for i = 1:ln + ith, n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i+ln]," "))[1:5]) + if ([n,l,tz] in nls)==false + nlhit +=1 + push!(nls,[n,l,tz]) + end + push!(n_sps,[n,l,j,tz]) + dictsps[[n,l,j,tz]] = i + lp + end + sps = vcat(p_sps,n_sps) + nsp,zero = map(x->parse(Int,x),rm_nan(split(lines[1+ln+lp+1]," "))[1:2]) + SPEs = [ [0.0 for i=1:lp],[0.0 for i=1:ln]] + for i = 1:nsp + idx=0; j=i + if i<=lp;idx=1;else;idx=2;j-=lp;end + SPEs[idx][j] =parse(Float64,rm_nan(split(lines[1+ln+lp+1+i]," "))[3]) + end + ntbme = 0; massop = 0; Aref = 0; p=0 + tmp = rm_nan(split(lines[1+ln+lp+1+nsp+1]," ")) + if length(tmp) == 3 + ntbme,massop,hw = tmp + ntbme = parse(Int,ntbme) + massop=parse(Int,massop) + hw = parse(Float64,hw) + else + ntbme,massop,Aref,p = tmp + ntbme = parse(Int,ntbme);massop=parse(Int,massop) + Aref=parse(Int,Aref); p=parse(Float64,p) + end + dictTBMEs=[ Dict{Vector{Int64},Float64}() for pnrank=1:3] + for ith = 1:ntbme + i,j,k,l,totJ,TBME= rm_nan(split(lines[1+ln+lp+1+nsp+1+ith], " ")) + i = parse(Int,i);j = parse(Int,j);k = parse(Int,k);l = parse(Int,l); + totJ = parse(Int,totJ) + nth = 0 + if i<=lp && j<=lp + nth = 1 + elseif i>lp && j > lp + nth = 3 + elseif i<=lp && j>lp + nth = 2 + else + println("i $i j $j k $k l $l totJ $totJ TBME $TBME") + println("err");exit() + end + TBME = parse(Float64,TBME) + if eachA && massop == 1 + TBME *= (Anum/Aref)^p + end + ## snt file must be "ordered"; a<=b & c=d & a<=c + dictTBMEs[nth][[i,j,k,l,totJ]] = TBME *ifelse(nth==2,pnfac,1.0) + end + return sps,dictsps,dictTBMEs +end + +""" + write_tbme(chiEFTobj,io,ndim,izs,Jtot,vv,nljsnt,nljdict,tkeys,dWS;ofst=0) + +write tbme in myg/snt(snt.bin) format +""" +function write_tbme(params::chiEFTparams,io,ndim,izs,Jtot,vv,vv_2n3n,nljsnt,nljdict,dWS,tkeys;ofst=0) + + tbme_fmt = params.tbme_fmt + target_nlj = params.target_nlj + + @inbounds for i = 1:ndim + iza,ia,izb,ib = izs[i] + na,la,ja = nljsnt[ia] + nb,lb,jb = nljsnt[ib] + for j = 1:i + izc,ic,izd,id= izs[j] + nc,lc,jc = nljsnt[ic] + nd,ld,jd = nljsnt[id] + if tbme_fmt == "myg" + owtkey!(tkeys[1],na,la,ja,iza) + owtkey!(tkeys[2],nb,lb,jb,izb) + owtkey!(tkeys[3],nc,lc,jc,izc) + owtkey!(tkeys[4],nd,ld,jd,izd) + vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dWS) + print(io,@sprintf("%4i", iza), @sprintf("%4i", ia), @sprintf("%4i", izb), @sprintf("%4i", ib)) + print(io,@sprintf("%4i", izc), @sprintf("%4i", ic), @sprintf("%4i", izd), @sprintf("%4i", id)) + print(io,@sprintf("%4i", Jtot),@sprintf("%20.10e", vv[i,j]),@sprintf("%20.10e", vv_2n3n[i,j])) + println(io,@sprintf("%20.10e", vpp)) + elseif tbme_fmt == "snt" || tbme_fmt == "snt.bin" + tv = vv[i,j] + tv2n3n = vv_2n3n[i,j] + a = ifelse(iza==-1,ia,ia+ofst) + b = ifelse(izb==-1,ib,ib+ofst) + c = ifelse(izc==-1,ic,ic+ofst) + d = ifelse(izd==-1,id,id+ofst) + if length(target_nlj) != 0 + if get(nljdict,a,0) == 0; continue;end + if get(nljdict,b,0) == 0; continue;end + if get(nljdict,c,0) == 0; continue;end + if get(nljdict,d,0) == 0; continue;end + end + ra = a; rb = b; rc=c; rd=d + fac = 1.0 + if a > b + ra = b; rb = a + fac *= (-1.0)^(div(nljsnt[a][3]+nljsnt[b][3],2)+Jtot+1) + end + if c > d + ra = d; rd = c + fac *= (-1.0)^(div(nljsnt[c][3]+nljsnt[d][3],2)+Jtot+1) + end + fa = ra; fb =rb; fc=rc; fd=rd + if ra > rc + fa=rc;fb=rd;fc=ra;fd=rb + else + if rb > rd + fa=rc;fb=rd;fc=ra;fd=rb + end + end + if length(target_nlj) != 0 + fa = nljdict[fa]; fb = nljdict[fb] + fc = nljdict[fc]; fd = nljdict[fd] + end + owtkey!(tkeys[1],na,la,ja,iza) + owtkey!(tkeys[2],nb,lb,jb,izb) + owtkey!(tkeys[3],nc,lc,jc,izc) + owtkey!(tkeys[4],nd,ld,jd,izd) + vpp = kinetic_tb(tkeys[1],tkeys[2],tkeys[3],tkeys[4],Jtot,dWS) + if tbme_fmt == "snt" + print(io,@sprintf("%5i", fa),@sprintf("%5i", fb),@sprintf("%5i", fc),@sprintf("%5i", fd)) + print(io,@sprintf("%6i", Jtot),@sprintf("%18.10f", tv),@sprintf("%18.10f", tv2n3n)) + println(io,@sprintf("%20.10e", vpp)) + elseif tbme_fmt == "snt.bin" + write(io,Int16(fa));write(io,Int16(fb)) + write(io,Int16(fc));write(io,Int16(fd));write(io, Int16(Jtot)) + write(io,Float32(tv));write(io,Float32(tv2n3n)); write(io,Float32(vpp)) + elseif tbme_fmt == "snt.bin64" + write(io,Int16(fa));write(io,Int16(fb)) + write(io,Int16(fc));write(io,Int16(fd));write(io, Int16(Jtot)) + write(io,tv); write(io,tv2n3n);write(io,vpp) + end + end + end + end + return nothing +end + +function select_io(MPIcomm::Bool,optimizer::String,nucs;use_stdout=false,fn="") + io = stdout + if MPIcomm + @assert optimizer == "MCMC" "when using MPI for make_chiEFTint function, optimizer should be \"MCMC\"" + @assert nucs!=[] "nucs must not be empty if you set MPIcomm=true" + MPI.Init() + myrank = MPI.Comm_rank(MPI.COMM_WORLD) + io = open("./mpilog_rank$(myrank).dat","w") + elseif fn !="" + io = open(fn,"w") + else + io = open("logfile.dat","w") + end + if use_stdout; io = stdout; end + return io +end + +function write_spes(chiEFTobj::chiEFTparams,io,nljsnt,lp,nTBME,nljdict;bin=false) + hw = chiEFTobj.hw + target_nlj = chiEFTobj.target_nlj + ## header part + if length(target_nlj)!=0 + ln = length(target_nlj) + if bin + write(io, ln); write(io, ln); write(io, 0);write(io, 0) + else + println(io,@sprintf("%4i", ln),@sprintf("%4i",ln), + @sprintf("%3i", 0),@sprintf("%3i", 0)) + end + else + if bin + write(io, lp); write(io,lp); write(io,0); write(io,0) + else + println(io,@sprintf("%4i", lp),@sprintf("%4i",lp), + @sprintf("%3i", 0),@sprintf("%3i", 0)) + end + end + for tz = -1:2:1 + for i in eachindex(nljsnt) + n,l,j = nljsnt[i] + if target_nlj != [] + ii = ifelse(tz==-1,i,i+lp) + t = get(nljdict,ii,0) + if t==0; continue;end + if bin + write(io,nljdict[ii]) + write(io,n); write(io,l); write(io,j); write(io,tz) + else + println(io,@sprintf("%4i",nljdict[ii]), + @sprintf("%4i", n),@sprintf("%4i", l), + @sprintf("%4i", j), @sprintf("%4i", tz)) + end + else + if bin + write(io,ifelse(tz==-1,i,i+lp)) + write(io,n);write(io,l);write(io,j);write(io,tz) + else + println(io,@sprintf("%4i", ifelse(tz==-1,i,i+lp)), + @sprintf("%4i", n),@sprintf("%4i", l), + @sprintf("%4i", j), @sprintf("%4i", tz)) + end + end + end + end + tx = "" + hit = 0 + for tz = -1:2:1 + for (i,tmp) in enumerate(nljsnt) + n,l,j=tmp + SPE = (2*n+l+3/2) * 0.5 + if target_nlj != [] + ii = ifelse(tz==-1,i,i+lp) + t = get(nljdict,ii,0) + if t==0; continue;end + end + hit += 1 + for (k,tmp2) in enumerate(nljsnt) + if k <= i;continue;end + nn,ll,jj=tmp2 + if nn!=n && ll==l && jj==j + hit +=1 + end + end + end + end + if bin; write(io,hit); write(io,10);write(io,hw); end + for tz = -1:2:1 + for (i,tmp) in enumerate(nljsnt) + n,l,j=tmp + SPE = (2*n+l+3/2) * 0.5 + fi = i + if target_nlj != [] + ii = ifelse(tz==-1,i,i+lp) + t = get(nljdict,ii,0) + if t==0; continue;end + fi = nljdict[ii] + if bin + write(io,fi);write(io,fi);write(io,SPE) + else + tx *= @sprintf("%4i", fi)* @sprintf("%4i", fi)* @sprintf("%16.8f",SPE)*"\n" + end + else + fi = ifelse(tz==-1,i,i+lp) + if bin + write(io,fi);write(io,fi);write(io,SPE) + else + tx *= @sprintf("%4i", fi)* @sprintf("%4i", fi)* @sprintf("%16.8f",SPE)*"\n" + end + end + for (k,tmp2) in enumerate(nljsnt) + if k <= i;continue;end + nn,ll,jj=tmp2 + if nn!=n && ll==l && jj==j + kin = kinetic_ob(tmp,tmp2) + if bin + write(io,ifelse(tz==-1,i,i+lp));write(io,ifelse(tz==-1,k,k+lp));write(io,kin) + else + tx *= @sprintf("%4i", ifelse(tz==-1,i,i+lp))* @sprintf("%4i", ifelse(tz==-1,k,k+lp))* @sprintf("%16.8f",kin)*"\n" + end + end + end + end + end + if bin + write(io,nTBME); write(io,10);write(io,hw) + else + println(io,@sprintf("%5i",hit)*@sprintf("%5i",10)*@sprintf("%8.3f", hw)) + print(io,tx) + println(io,@sprintf("%5i",nTBME)*@sprintf("%5i",10)*@sprintf("%8.3f", hw)) + end + return nothing +end + +function svd_vmom(chiEFTobj::ChiralEFTobject,target_LSJ;pnrank=2,verbose=false,truncation_rank=20) + dict_pwch = chiEFTobj.dict_pwch[pnrank] + V12mom = chiEFTobj.V12mom + itt = 2 *(pnrank -2) + for tmp in target_LSJ + L,Lp,S,J = tmp + V12idx = get(dict_pwch,[itt,L,Lp,S,J],-1) + vmat = V12mom[V12idx] + fullrank = rank(vmat) + tx = chara_SLJ(S,L,Lp,J) + SVD = LinearAlgebra.svd(vmat) + U = SVD.U; Sig = SVD.S; Vt = SVD.Vt + Sig[truncation_rank+1:end] .= 0.0 + SV = Diagonal(Sig)* Vt + Vtilde = BLAS.gemm('N','N',1.0,U,SV) + if verbose + println("Tz $itt $tx rank ",fullrank) + for trank = 1:fullrank + println("rank=",@sprintf("%4i",trank), " sval ",Sig[trank]) + end + println("norm V-V' ",norm(vmat-Vtilde,2)) + end + vmat .= Vtilde + end +end + + +""" + write_onshell_vmom(chiEFTobj::ChiralEFTobject,pnrank::Int;label="") + +""" +function write_onshell_vmom(chiEFTobj::ChiralEFTobject,pnrank::Int,target_LSJ;label="") + n_mesh = chiEFTobj.params.n_mesh + dict_pwch = chiEFTobj.dict_pwch[pnrank] + xr = chiEFTobj.xr_fm + V12mom = chiEFTobj.V12mom + tx1d="" + itt = 2 *(pnrank -2) + for i= 1:n_mesh + x = xr[i] + tx = @sprintf("%18.8e", x) + for tmp in target_LSJ + L,Lp,S,J = tmp + V12idx = get(dict_pwch,[itt,L,Lp,S,J],-1) + if V12idx==-1 + tx *= @sprintf("%18.8e",0.0) + else + v = V12mom[V12idx][i,i] + tx *= @sprintf("%18.8e",v) + end + end + tx *= "\n" + tx1d *= tx + end + io = open("vmom_1d_"*label*".dat","w") + print(io," ") + for tmp in target_LSJ + L,Lp,S,J = tmp + ctext = string(2*S+1) * chara_L[L+1] * string(J) + print(io," "*ctext,tmp) + end + println(io,"") + println(io,rstrip(tx1d)) + close(io) + return nothing +end + +""" + print_vec(s,v;ine=false) + +function to print float vectors more readable. This is usuful for debug. +""" +function print_vec(s,v,io=stdout;ine=false,long=false) + s *= " " + for i = 1:length(v) + if ine + s *= @sprintf "%9.1e" v[i] + else + if long + s *= @sprintf "%15.8f" v[i] + else + s *= @sprintf "%10.4f" v[i] + end + end + end + println(io,s) +end + +""" + momplot(xr,V12mom,tdict,pnrank,llpSJ_s;ctext="",fpath="") + +plot nn potential in partial wave over relative momentum space +""" +function momplot(xr,V12mom,tdict,pnrank,llpSJ_s;ctext="",fpath="") + tfdat = [] + if fpath != ""; xf,yfs = compfdat(fpath); end + itt = 2 *(pnrank -2) + tv = zeros(Float64,n_mesh) + for vidx = 1:7 + l,lp,S,J= llpSJ_s[vidx] + V12idx = get(tdict,[itt,l,lp,S,J],-1) + if V12idx==-1;println("V12idx==$V12idx");continue;end + V = V12mom[V12idx] + tx = "" + cS = ifelse(S==0,"1","3") + if l==lp + tx=ctext*cS*chara_L[l+1]*string(J) + else + tx =ctext*cS*chara_L[l+1]*string(J) + tx *= "_"*cS*chara_L[lp+1]*string(J) + end + for i =1:n_mesh; tv[i] = V[i,i]; end + if fpath != ""; tfdat = [xf,yfs[vidx]];end + pw_plt(tx,xr,V,tv,pnrank;fdat=tfdat) + end + return nothing +end + +""" + pw_plt(tx,xr,z,zds,pnrank;fdat=[]) + + fdat: normally no need to specify. optional array to specify text file for cross check +""" +function pw_plt(tx,xr,z,zds,pnrank;fdat=[]) + tls = ["pp","pn","nn"] + cpnrank = tls[pnrank] + xr *= 1.0/hc; yr = copy(xr) + fig = plt.figure(figsize=(10,4)) + axs = [fig.add_subplot(121),fig.add_subplot(122)] + axs[2].set_xlabel(latexstring("p ")*" [fm"*latexstring("^{-1}")*"]") + axs[2].set_ylabel(latexstring("p'")*" [fm"*latexstring("^{-1}")*"]") + CS = axs[2].contourf(xr, yr, z) + fig.colorbar(CS) + axs[1].set_xlabel(latexstring("p=p' ")*" [fm"*latexstring("^{-1}")*"]") + axs[1].set_ylabel(latexstring("V(p,p)")*" [MeV fm"*latexstring("^3")*"]") + axs[1].plot(xr,zds,marker="o",markersize=2) + if fdat != [] + axs[1].plot(fdat[1],fdat[2],marker="x",markersize=2,alpha=0.4,label="Fortran") + axs[1].legend() + end + axs[1].grid(color="gray",linestyle="dotted") + plt.savefig("pic/chiEFT_"*tx*"_"*cpnrank*".pdf",pad_inches=0) + plt.close() +end + +function compfdat(inpf) + f = open(inpf,"r");lines = readlines(f);close(f) + xs = Float64[] + ys = [ Float64[] for i=1:7] + for line in lines + tl = split(line) + tmp = map(x->parse(Float64,x),tl) + push!(xs,tmp[1]) + for i=2:length(tmp); push!(ys[i-1],tmp[i]);end + end + return xs,ys +end diff --git a/src/chiEFTint/threebody_Jacobi.jl b/src/chiEFTint/threebody_Jacobi.jl new file mode 100644 index 00000000..e994a2ca --- /dev/null +++ b/src/chiEFTint/threebody_Jacobi.jl @@ -0,0 +1,148 @@ +function Calc_3NF_in_Jacobi_coordinate(params3N,LECs,to) + Rnls_r,Rnls_p = prep_Rnls(params3N) + @timeit to "prep. ch&Mat" begin + Jacobi_idxs = prep_Jacobi_idxs(params3N) + chan3b = estimate_required(params3N) + vec_freg_nl = ret_fregvec_nonlocal(params3N;npow=2) + ## Calculate 3NF + pqdim = length(params3N.meshpoints.pqs) + Mats_pq = [ zeros(Float64,pqdim,pqdim) for i = 1:nthreads()] + @timeit to "Contact" Jacobi_3NF_Contact(LECs,chan3b,Jacobi_idxs,params3N,Mats_pq,vec_freg_nl) + end +end + +function prep_Jacobi_idxs(params) + pqs = params.meshpoints.pqs + dim = size(pqs)[1] + pq_idxs = Vector{Int64}[] + for idx_ket = 1:dim + for idx_bra = 1:idx_ket + push!(pq_idxs,[idx_bra,idx_ket]) + end + end + return pq_idxs +end + +""" + +calculate |pq;alpha> +This reproduces Table.3 in K.Hebeler Physics Reports 890 (2021) 1–116. +""" +function estimate_required(params;verbose=true) + J12max = params.J12max + Np = length(params.meshpoints.ps) + Nq = length(params.meshpoints.qs) + j3max = params.j3max + chs = channel3b_Jj[] + ich = 0 + for P123 = 1:-2:-1 + for dT123 = 1:2:3 + for dJ123 = 1:2:j3max + @assert abs(P123)==1 "P123 must be +1 or -1" + @assert (dT123 == 1 || dT123 == 3) "dT123 must be 1 or 3" + T12min = ifelse(dT123==3,1,0) + Nalpha = 0 + for J12 = 0:J12max + for S12 = 0:1 + for L12 = abs(J12-S12):J12+S12 + for T12 = T12min:1 + if (-1)^(L12+S12+T12) != -1; continue;end + for dj3 = max(1,abs(dJ123-2*J12)):2:dJ123+2*J12 + for l3 = div(max(0,2*dj3-1),2):div(2*dj3+1,2) + if (-1)^(L12+l3) != P123; continue; end + Nalpha += 1 + ich += 1 + push!(chs,channel3b_Jj(dJ123,dT123,P123,L12,S12,J12,T12,dj3,l3)) + end + end + end + end + end + end + dim = (Nalpha * Np * Nq)^2 + if verbose + println("J12max $(@sprintf("%2i",J12max)): J=$(@sprintf("%2i",dJ123))/2 ", + "T=$(@sprintf("%2i",dT123))/2 P=$(@sprintf("%2i",P123))", + " Nα $(@sprintf("%4i",Nalpha)) Dim.=> ",@sprintf("%6.e",dim)) + end + end + end + end + return chs +end + +function make_pq(ps,wps,qs,wqs) + dim = length(ps) * length(qs) + pqs = zeros(Float64,dim,2) + wpqs = zeros(Float64,dim) + idx = 0 + for (ip,p) in enumerate(ps) + for (iq,q) in enumerate(qs) + idx += 1 + pqs[idx,1] = p + pqs[idx,2] = q + wpqs[idx] = wps[ip] * wqs[iq] + end + end + return pqs,wpqs,dim +end + +function Jacobi_3NF_Contact(LECs,chan3b,ch_idxs,params,Mats_pq,vec_freg_nl) + cE = LECs.dLECs["cE"] + fac_cont = hc * (hc/Fpi)^4 * (hc/params.LambdaChi) / (12.0 *sqrt(3.0) *pi^4) + E = cE * fac_cont + pqs = params.meshpoints.pqs + pqdim = size(pqs)[1] + alphadim = length(ch_idxs) + println("dim. of |pq;alpha>: $(pqdim*alphadim)") + + @threads for idx in eachindex(ch_idxs) + ch_bra,ch_ket = ch_idxs[idx] + tid = threadid() + mat = Mats_pq[tid] + bra = chan3b[ch_bra] + ket = chan3b[ch_ket] + + dT123 = bra.dT123 + L12 = bra.L12 + S12 = bra.S12 + J12 = bra.J12 + T12 = bra.T12 + dj3 = bra.dj3 + l3 = bra.l3 + if L12 != 0; continue; end + if l3 != 0; continue;end + + dT123_k = ket.dT123 + L12_k = ket.L12 + S12_k = ket.S12 + J12_k = ket.J12 + T12_k = ket.T12 + dj3_k = ket.dj3 + l3_k = ket.l3 + + if dT123_k != dT123; continue;end + if L12_k != 0; continue; end + if l3_k != 0; continue;end + if dj3 != dj3_k; continue;end + if S12 != S12_k; continue; end + if J12 != J12_k; continue; end + + tdot,rnav = IsospinDot(T12,T12_k,dT123) + me = tdot * E + if tdot == 0.0;continue;end + + #println("idx $idx ch_bra $ch_bra ch_ket $ch_ket T12 $T12 T12_k $T12_k tdot $tdot rnav $rnav E $E") + + for pqidx_bra = 1:pqdim + p_bra,q_bra = pqs[pqidx_bra,:] + freg_bra = vec_freg_nl[pqidx_bra] + for pqidx_ket = 1:pqdim + p_ket,q_ket = pqs[pqidx_ket,:] + freg_ket = vec_freg_nl[pqidx_ket] + mat[pqidx_bra,pqidx_ket] = freg_bra * me * freg_ket + end + end + end + return nothing +end diff --git a/src/chiEFTint/threebody_JacobiHO.jl b/src/chiEFTint/threebody_JacobiHO.jl new file mode 100644 index 00000000..73b95539 --- /dev/null +++ b/src/chiEFTint/threebody_JacobiHO.jl @@ -0,0 +1,1192 @@ +struct cfps + chs::Vector{Vector{Matrix{Int64}}} + cfpdims::Vector{Vector{Vector{Int64}}} + cfpvals::Vector{Vector{Matrix{Float64}}} +end + +""" +# key structure for integ_D [Ebra,Eket]=>[e1,e1p,e2,e2p]=>[K,K1,X] +""" +struct inner_integ_nonlocal + integ_E::Dict{Int64,Float64} + integ_D::Dict{Int64, Dict{Int64, Dict{Int64, Dict{Int64, Dict{Int64, Float64}}}}} +end +""" +``\\int d\\pi_1 d\\pi_2 `` +""" +function inner_nonlocal(params,to) + N3max = params.N3max + Rnls_r,Rnls_p = prep_Rnls(params) + gKXs = prep_gKX(params) + ps = params.meshpoints.ps + ws = params.meshpoints.wps + inner_E = Dict{Int64,Float64}() + for E = 0:N3max + for n1 = 0:div(E,2) + n2 = div(E - 2*n1,2) + e1 = 2*n1 + e2 = 2*n2 + if E != e1+e2; continue; end + tkey1 = get_nkey3(e1,n1,0) + tkey2 = get_nkey3(e2,n2,0) + R1s = Rnls_p[tkey1] + R2s = Rnls_p[tkey2] + ret = 0.0 + for (imesh1,w1) in enumerate(ws) + p1 = ps[imesh1] + R1 = R1s[imesh1] + for (imesh2,w2) in enumerate(ws) + p2 = ps[imesh2] + R2 = R2s[imesh2] + freg = nonlocal_regulator_3NF(p1,p2,2,params.Lambda3NF;type="Navratil") + tsum = w1 * w2 * p1 * p2 * R1 * R2 * (-1)^(n1+n2) * freg + ret += tsum + end + end + tkey = get_nkey3(E,n1,n2) + inner_E[tkey] = ret + end + end + inner_D = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}}() + for E_bra = 0:N3max + for E_ket = E_bra:N3max + Ekey = get_nkey2(E_bra,E_ket) + inner_D[Ekey] = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}() + target = inner_D[Ekey] + for e1 = 0:2:E_bra + e2 = E_bra - e1 + n = div(e1,2) + l = 0 + tkey1 = get_nkey3(e1,n,l); Rn0s = Rnls_p[tkey1] + for N = 0:div(e2,2) + L = e2 - 2*N + tkey2 = get_nkey3(e2,N,L); RNLs = Rnls_p[tkey2] + for e1p = 0:2:E_ket + e2p = E_ket - e1p + e4key = get_nkey4(e1,e2,e1p,e2p) + tmp = get(target,e4key,nothing) + if tmp == nothing + target[e4key] = Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}() + end + tdict = target[e4key] + np = div(e1p,2) + lp = 0 + tkey1p = get_nkey3(e1p,np,lp); Rn0s_p = Rnls_p[tkey1p] + for Np = 0:div(e2p,2) + Lp = e2p - 2*Np + tkey2p = get_nkey3(e2p,Np,Lp); RNLs_p = Rnls_p[tkey2p] + key_bra = get_nkey4(n,l,N,L) + key_ket = get_nkey4(np,lp,Np,Lp) + tmp = get(tdict,key_bra,nothing) + if tmp == nothing;tdict[key_bra] = Dict{Int64,Dict{Int64,Float64}}();end + if get(tdict[key_bra],key_ket,nothing)==nothing;tdict[key_bra][key_ket] = Dict{Int64,Float64}();end + + ret = tdict[key_bra][key_ket] + for K = 0:2:2 + for K1 = 0:K + Xmin = max(abs(L-K1),abs(Lp-(K-K1))) + Xmax = min(L+K1,Lp+K-K1) + for X = Xmin:Xmax + tkey = get_nkey3(K,K1,X) + ret[tkey] = 0.0 + end + end + end + for K = 0:2:2 + for K1 = 0:K + Xmin = max(abs(L-K1),abs(Lp-(K-K1))) + Xmax = min(L+K1,Lp+K-K1) + for X = Xmin:Xmax + gKXdict = gKXs[get_nkey2(K,X)] + KK1Xkey = get_nkey3(K,K1,X) + for (i_pi1,w1) in enumerate(ws) + pi1 = ps[i_pi1] + Rn0 = Rn0s[i_pi1] * pi1 + for (i_pi2,w2) in enumerate(ws) + pi2 = ps[i_pi2] + RNL = RNLs[i_pi2] * pi2 + Fbra = nonlocal_regulator_3NF(pi1,pi2,2,params.Lambda3NF;type="Navratil") + for (i_pi1p,w1p) in enumerate(ws) + pi1p = ps[i_pi1p] + Rn0p = Rn0s_p[i_pi1] * pi1p + for (i_pi2p,w2p) in enumerate(ws) + pi2p = ps[i_pi2p] + RNLp = RNLs_p[i_pi2p] * pi2 + Fket = nonlocal_regulator_3NF(pi1p,pi2p,2,params.Lambda3NF;type="Navratil") + pi2key = get_nkey2(i_pi2,i_pi2p) + integ = Rn0 * RNL * Fbra * Rn0p * RNLp *Fket * pi2^K1 * pi2p^(K-K1) * gKXdict[pi2key] + integ *= w1 * w2 * w1p * w2p + ret[KK1Xkey] += integ + end + end + end + end + end + end + end + end + end + end + end + end + end + return inner_integ_nonlocal(inner_E,inner_D) +end + +function gKX(K,X,p,pp,us,ws) + Mpi_fm = mean(mpis) / hc + + ret = 0.0 + for (i,u) in enumerate(us) + w = ws[i] + px = Legendre(X,u) + pc2 = (p^2+pp^2-2*p*pp*u) + nume = pc2^(1-K/2) + deno = 2/3 * pc2 + Mpi_fm^2 + ret += w * px * nume / deno + end + return 0.5 * ret +end + +function prep_gKX(params) + Nmax = params.N3max + ps = params.meshpoints.ps + us = params.meshpoints.us + ws = params.meshpoints.wus + gKXs = Dict{Int64,Dict{Int64,Float64}}() + for K = 0:2:2 + for X = 0:Nmax+2 + KXkey = get_nkey2(K,X) + gKXs[KXkey] = Dict{Int64,Float64}() + for (ip,p) in enumerate(ps) + for (ipp,pp) in enumerate(ps) + tkey = get_nkey2(ip,ipp) + gKXs[KXkey][tkey] = gKX(K,X,p,pp,us,ws) + end + end + end + end + return gKXs +end + +struct inner_integ_local + integ_c1::Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}} + integ_c34::Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}} + integ_D::Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}} + integ_E::Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}} +end + +function check_construct_integdict(mydict,Ekey,e4key,key_bra=-1,key_ket=-1;level=1) + @assert 1 <= level <= 2 "Option Error!: level must be 1,2!!" + if level ==1 + tmp = get(mydict[Ekey],e4key,nothing) + if tmp==nothing; mydict[Ekey][e4key] = Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}();end + elseif level == 2 + @assert key_bra != -1 + tmp = get(mydict[Ekey][e4key],key_bra,nothing) + if tmp == nothing + mydict[Ekey][e4key][key_bra] = Dict{Int64,Dict{Int64,Float64}}() + end + @assert key_ket != -1 + tmp = get(mydict[Ekey][e4key][key_bra],key_ket,nothing) + if tmp == nothing + mydict[Ekey][e4key][key_bra][key_ket] = Dict{Int64,Float64}() + end + end + return nothing +end + +""" +function to calculate integrals in local Jacobi HO three-body matrix elements +""" +function inner_local(params,to) + N3max = params.N3max + Rnls_r,Rnls_p = prep_Rnls(params) + ps = params.meshpoints.ps + ws = params.meshpoints.wps + @timeit to "Zs" Z0s,Z0Xs,fKs,fKXs = prep_Z0s_Z0Xs_fKs(params) + Xmax_tpe = params.N3max + 1 + 1 + 2 + 2 + println("Xmax_tpe $Xmax_tpe N3max $N3max L3max $(params.L3max) ") + + integ_E = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}}() + integ_D = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}}() + integ_c1 = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}}() + integ_c34 = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}}() + nch = 0 + chs = zeros(Int64,1,1) + @timeit to "const:integ" for n_thre = 1:4 + target = integ_E + if n_thre == 2; target = integ_D;end + if n_thre == 3; target = integ_c1;end + if n_thre == 4; target = integ_c34;end + for E_bra = 0:N3max + for E_ket = E_bra:N3max + Ekey = get_nkey2(E_bra,E_ket) + target[Ekey] = Dict{Int64,Dict{Int64,Dict{Int64,Dict{Int64,Float64}}}}() + for e1 = 0:E_bra + e2 = E_bra - e1 + for n1 = 0:div(e1,2) + l1 = e1 - 2*n1 + tkey1 = get_nkey3(e1,n1,l1) + R1s = Rnls_r[tkey1] + for n2 = 0:div(e2,2) + l2 = e2 - 2*n2 + tkey2 = get_nkey3(e2,n2,l2) + R2s = Rnls_r[tkey2] + for e1p = 0:E_ket + e2p = E_ket - e1p + e4key = get_nkey4(e1,e2,e1p,e2p) + check_construct_integdict(target,Ekey,e4key) + for n1p = 0:div(e1p,2) + l1p = e1p - 2*n1p + tkey1p = get_nkey3(e1p,n1p,l1p) + for n2p = 0:div(e2p,2) + l2p = e2p - 2*n2p + tkey2p = get_nkey3(e2p,n2p,l2p) + key_bra = get_nkey4(n1,l1,n2,l2) + key_ket = get_nkey4(n1p,l1p,n2p,l2p) + check_construct_integdict(target,Ekey,e4key,key_bra,key_ket;level=2) + nch += 1 + if n_thre == 4 + chs[:,nch] .= [Ekey,e4key,key_bra,key_ket,tkey1,tkey2,tkey1p,tkey2p,l1,l1p,l2,l2p] + end + end + end + end + end + end + end + end + end + if n_thre == 4; println("nch_integ $nch ",show_size_inMB("chs",chs));end + if n_thre == 3; chs = zeros(Int64,12,nch);end + nch = 0 + end + + dimch = size(chs)[2] + @timeit to "eval:integ" @threads for nch = 1:dimch + Ekey,e4key,key_bra,key_ket,tkey1,tkey2,tkey1p,tkey2p,l1,l1p,l2,l2p = @view chs[:,nch] + R1s = Rnls_r[tkey1]; R1ps = Rnls_r[tkey1p] + R2s = Rnls_r[tkey2]; R2ps = Rnls_r[tkey2p] + for n_thre = 1:4 + target = integ_E + if n_thre == 2; target = integ_D;end + if n_thre == 3; target = integ_c1;end + if n_thre == 4; target = integ_c34;end + integ_inner_nnlo(n_thre,target,Ekey,e4key,key_bra,key_ket,l1,l1p,l2,l2p,Xmax_tpe, + ps,ws,R1s,R1ps,R2s,R2ps,Z0s,Z0Xs,fKs,fKXs) + end + end + return inner_integ_local(integ_c1,integ_c34,integ_D,integ_E) +end + +function integ_inner_nnlo(n_thre,target,Ekey,e4key,key_bra,key_ket,l1,l1p,l2,l2p,Xmax_tpe, + ps,ws,R1s,R1ps,R2s,R2ps,Z0s,Z0Xs,fKs,fKXs) + ret = target[Ekey][e4key][key_bra][key_ket] + if n_thre == 1 # Contact + Xmin = max(abs(l1-l1p),abs(l2-l2p)) + Xmax = min(l1+l1p,l2+l2p) + for X = Xmin:Xmax + tsum = 0.0 + for (imesh1,w1) in enumerate(ws) + R1 = R1s[imesh1]; R1p = R1ps[imesh1] + Z0 = Z0s[imesh1] + for (imesh2,w2) in enumerate(ws) + R2 = R2s[imesh2]; R2p = R2ps[imesh2] + Z0X = Z0Xs[get_nkey3(X,imesh1,imesh2)] + tsum += w1 * w2 * R1 * R1p * R2 * R2p * Z0 * Z0X + end + end + ret[X] = tsum + end + elseif n_thre == 2 # OPE + Xmin_D = abs(l2-l2p) + Xmax_D = l2 + l2p + for K = 0:2:2 + for X = Xmin_D:Xmax_D + tsum = 0.0 + for (imesh1,w1) in enumerate(ws) + R1 = R1s[imesh1]; R1p = R1ps[imesh1] + fK = fKs[get_nkey2(K,imesh1)] + for (imesh2,w2) in enumerate(ws) + R2 = R2s[imesh2]; R2p = R2ps[imesh2] + Z0X = Z0Xs[get_nkey3(X,imesh1,imesh2)] + tsum += w1 * w2 * R1 * R1p * R2 * R2p * fK * Z0X + end + end + ret[get_nkey2(K,X)] = tsum + end + end + elseif n_thre == 3 # TPE: c1 term + for K3 = 0:1 + for X = 0:Xmax_tpe + tsum = 0.0 + for (imesh1,w1) in enumerate(ws) + R1 = R1s[imesh1]; R1p = R1ps[imesh1];p1 = ps[imesh1] + f1 = fKs[get_nkey2(1,imesh1)] + for (imesh2,w2) in enumerate(ws) + R2 = R2s[imesh2]; R2p = R2ps[imesh2];p2 = ps[imesh2] + f1X = fKXs[get_nkey4(1,X,imesh1,imesh2)] + tsum += w1 * w2 * R1 * R1p * R2 * R2p * f1 * f1X * (p1/sqrt(2.0))^K3 * (p2*sqrt(3/2))^(1-K3) + end + end + ret[get_nkey2(K3,X)] = tsum + end + end + elseif n_thre == 4 # TPE: c3&c4 term + for X = 0:Xmax_tpe + for K1 = 0:2:2 + for K2 = 0:2:2 + for K3 = 0:K2 + tsum = 0.0 + for (imesh1,w1) in enumerate(ws) + R1 = R1s[imesh1]; R1p = R1ps[imesh1];p1 = ps[imesh1] + fK1 = fKs[get_nkey2(K1,imesh1)] + for (imesh2,w2) in enumerate(ws) + R2 = R2s[imesh2]; R2p = R2ps[imesh2];p2 = ps[imesh2] + fK2X = fKXs[get_nkey4(K2,X,imesh1,imesh2)] + tsum += w1 * w2 * R1 * R1p * R2 * R2p * fK1 * fK2X * (p1/sqrt(2.0))^K3 * (p2*sqrt(3/2))^(K2-K3) + end + end + ret[get_nkey4(K1,K2,K3,X)] = tsum + end + end + end + end + end + return nothing +end + +function prep_inner_integ(params3N,to) + regulator = params3N.regulator + tfunc = ifelse(regulator=="local",inner_local,inner_nonlocal) + return tfunc(params3N,to) +end + +function Calc_3NF_in_JacobiHO_coorrdinate(params3N,LECs,to) + labframe = true + if labframe + #calculation of 3NF in laboratory frame(???) + print("Calculating CFPs") + @timeit to "chJPT" JPTs,cfps = calc_channel_JPT(params3N,to) + println("Calculating inner integrals... ") + @timeit to "prep_inner" inner_integ = prep_inner_integ(params3N,to) + println("Calculating JacobiHO matrix elements") + @timeit to "calc JacobiHO_3NF" dict_JPTN_dim,idx_dict_JPT = JacobiHO_3NF(LECs,params3N,JPTs,cfps,inner_integ) + @timeit to "read JacobiHO_3NF" read_JacobiHO_3NF(params3N,JPTs) + println("Preparing lab kets...") + @timeit to "prepLab" begin + dict_lab_JPT = prep_lab_space(params3N) + const_labHO(params3N,JPTs,dict_lab_JPT,dict_JPTN_dim,idx_dict_JPT) + end + else + #solve three-body system + end + return nothing +end + +""" +calculate three-body channels {J,P,T} +""" +function calc_channel_JPT(params,to;verbose=false) + if !isdir("./A3files"); mkdir("A3files"); end + j3max = params.j3max + JPTs = Vector{Int64}[ ] + n = 0 + for t = 1:2:3 + for j = 1:2:j3max + for parity = 1:-2:-1 + n += 1 + push!(JPTs, [j,parity,t]) + end + end + end + nch = (j3max +1) * 2 + @assert n== nch "warn! n $n must be nch $nch in function calc_channel_JPT" + cfpchs = Vector{Matrix{Int64}}[ ] + cfpdims = [ Vector{Int64}[] for ich = 1:nch] + cfpvals = [ Matrix{Float64}[] for ich = 1:nch] + for ich = 1:nch + cfpdim_ch = cfpdims[ich] + cfpval_ch = cfpvals[ich] + JPT = JPTs[ich] + j,p,t = JPT + if verbose + println("ich ",@sprintf("%4i",ich), " J =",@sprintf("%3i", j), + " P =",@sprintf("%3i", p)," T =",@sprintf("%3i", t)) + end + nlsjts = get_dim_cfp!(cfpdim_ch,cfpval_ch,JPT,params,to) + push!(cfpchs,nlsjts) + if !check_binexists(JPT,params,"cfp") + set_cfps(cfpdim_ch,cfpval_ch,JPT,nlsjts,params,to) + else + read_cfp_bin!(cfpdim_ch,cfpval_ch,JPT,params,to) + end + end + return JPTs,cfps(cfpchs,cfpdims,cfpvals) +end + +function make_binname(JPT,params,bintype;dirname="./A3files/") + j,p,t=JPT + Nmax = params.N3max + fname = dirname*"$(bintype)_j"*string(j)*"p" + fname *= ifelse(p==1,"+","-")*"t"*string(t) + fname *= "_Nmax"*string(Nmax)*".bin" + return fname +end + +function check_binexists(JPT,params,bintype;dirname="./A3files/") + fname = make_binname(JPT,params,bintype;dirname=dirname) + return isfile(fname) +end + +""" +cfp = <[(n12l12s12j12t12,n3j3)JT||NiJT> +""" +function get_dim_cfp!(cfpdim,cfpvals_ch,JPT,params,to) + j,p,t = JPT + nlsjts = Matrix{Int64}[ ] + for N = 0:params.N3max + diag = Float64[] + for ncycle = 1:2 # 1 is to calc nphys,north, 2 is to fill nlsjtNLJ + ndim = 0 + for n12 = 0:div(N,2) + for n3 = 0:div(N-2*n12,2) + for l12 = 0:N-2*n12 -2*n3 + l3 = N- 2*n12 -2*n3 -l12 + if (-1)^(l12+l3) != p;continue;end + for s12 = 0:1 + for j12 = abs(l12-s12):l12+s12 + for t12 = 0:1 + if !tri_check(2*t12,1,t);continue;end + if (-1)^(l12+s12+t12) != -1 ;continue;end + for j3 = abs(2*l3-1):2:2*l3 +1 + if !tri_check(2*j12, j3, j);continue;end + ndim += 1 + @assert N == 2*n12 + l12 + 2*n3 + l3 "N must be 2*n12+l12+2*n3+l3" + if ncycle == 1 + r = anti_op_isospin(params,n12,l12,s12,j12,t12,n3,l3,j3, + n12,l12,s12,j12,t12,n3,l3,j3,j,t,to) + push!(diag,r) + end + if ncycle == 2 + nlsjt = nlsjts[N+1] + nlsjt[1,ndim] = n12; nlsjt[2,ndim] = l12 + nlsjt[3,ndim] = s12; nlsjt[4,ndim] = j12 + nlsjt[5,ndim] = t12; nlsjt[6,ndim] = n3 + nlsjt[7,ndim] = l3; nlsjt[8,ndim] = j3 + end + end + end + end + end + end + end + end + if ncycle == 1 + push!(nlsjts,zeros(Int64,8,ndim)) + north = Int(round(sum(diag))) + push!(cfpdim,[ndim,north]) + push!(cfpvals_ch,zeros(Float64,north,ndim)) + end + end + end + return nlsjts +end + +function set_cfps(cfpdim,cfpvals_ch,JPT,nlsjts,params,to) + fname = make_binname(JPT,params,"cfp") + io = open(fname,"w") + j,p,t= JPT; Nmax=params.N3max + write(io, j);write(io,p);write(io,t);write(io,Nmax) + j,p,t = JPT + for N = 0:params.N3max + nphys, north = cfpdim[N+1] + nlsjt = @views nlsjts[N+1] + if nphys == 0;continue;end + if north == 0;continue;end + A = zeros(Float64,nphys,nphys) + for ib = 1:nphys + n12,l12,s12,j12,t12,n3,l3,j3 = @view nlsjt[:,ib] + for ik = 1:ib + n45,l45,s45,j45,t45,n6,l6,j6= @view nlsjt[:,ik] + @timeit to "anti" anti = anti_op_isospin(params, + n12,l12,s12,j12,t12,n3,l3,j3, + n45,l45,s45,j45,t45,n6,l6,j6,j,t,to) + A[ib,ik] = A[ik,ib] = anti + end + end + @timeit to "eigen" vals,vecs = eigen(A) + write_cfp_bin(io,north,nphys,vals,vecs,JPT,N,params,cfpvals_ch[N+1]) + end + close(io) + return nothing +end + +function write_cfp_bin(io,north,nphys,vals,vecs,JPT,N,params,cfpvals_ch) + write(io, nphys);write(io,north);write(io,N) + cfp = zeros(Float64,north,nphys) + hit = 0 + @assert nphys == length(vals) + for i in eachindex(vals) + val = vals[i] + vec = @view vecs[:,i] + if abs(val - 1.0) < 1.e-5 + hit +=1 + cfp[hit,:] .= vec + cfpvals_ch[hit,:] .= vec + write(io,vec) + elseif abs(val-0.0) < 1.e-5 + nothing + else + @error "warn! something is wrong @JPT $JPT channel : $val" + exit() + end + end + @assert north == hit "warn! something is wrong for north. north $north must be $hit (# of states with eval=1)" + return nothing +end + +function read_cfp_bin!(cfpdim,cfpval_ch,JPT,params,to) + fname = make_binname(JPT,params,"cfp") + io = open(fname,"r") + J = read(io,Int); P = read(io,Int); T = read(io,Int); Nmax = read(io,Int) + for N = 0:Nmax + nphys, north = cfpdim[N+1] + if north == 0; continue;end + tnphys = read(io,Int) + tnorth = read(io,Int) + tN = read(io,Int) + @assert nphys == tnphys "nphys $nphys != tnphys $tnphys" + @assert north == tnorth "north $north != tnorth $tnorth" + @assert N == tN "N $N != tN $tN" + cfpmat = cfpval_ch[N+1] + for i = 1:north + vec_read = [ read(io,Float64) for j=1:nphys] + cfpmat[i,:] .= vec_read + end + end + close(io) + return nothing +end + +function JacobiHO_3NF(LECs,params3NF,JPTs,cfps,inner_integ;verbose=false,debug=true) + N3max = params3NF.N3max + cfpdims = cfps.cfpdims + nallo = nallp = 0 + dict_JPTN_dim = Dict("phys" =>[ Dict{Int64,Vector{Int64}}() for idx = 1:length(JPTs)], + "orth" =>[ Dict{Int64,Vector{Int64}}() for idx = 1:length(JPTs)]) + idx_dict_JPT = Dict{Vector{Int64},Int64}() + for (idx_JPT,JPT) in enumerate(JPTs) + J,P,T = JPT + idx_dict_JPT[[J,P,T]] = idx_JPT + notmp = nptmp = 0 + for N = 0:N3max + nphys,north = cfpdims[idx_JPT][N+1] + dict_JPTN_dim["orth"][idx_JPT][N] = [north,notmp] + dict_JPTN_dim["phys"][idx_JPT][N] = [nphys,nptmp] + notmp += north + nptmp += nphys + end + dict_JPTN_dim["orth"][idx_JPT][N3max+1] = [notmp,notmp] + dict_JPTN_dim["phys"][idx_JPT][N3max+1] = [nptmp,nptmp] + nallp += nptmp + nallo += notmp + if verbose + println("J",@sprintf("%3i",J)," P",@sprintf("%3i",P)," T",@sprintf("%3i",T)," # of ME ",@sprintf("%10i",nptmp)) + end + end + println("# matrix element: |NiJT> ",@sprintf("%12i",nallo)) + println("# matrix element:|(nlsjtNJT)JT> ",@sprintf("%12i",nallp)) + + for (idx_JPT,JPT) in enumerate(JPTs) + if !check_binexists(JPT,params3NF,"JacobiHO") || debug + calc_write_JacobiHO_ME(idx_JPT,N3max,JPT,cfps,dict_JPTN_dim,params3NF,LECs,inner_integ;debug=debug) + end + end + return dict_JPTN_dim,idx_dict_JPT +end + +function read_JacobiHO_3NF(params3NF,JPTs;verbose=false) + ME_JacobiHO = Matrix{Float64}[ ] + for (idx_JPT,JPT) in enumerate(JPTs) + J,P,T = JPT + fn = make_binname(JPT,params3NF,"JacobiHO_"*params3NF.regulator) + io = open(fn,"r") + dim_orth = read(io,Int64) + Vmat = zeros(Float64,dim_orth,dim_orth) + for i = 1:dim_orth + tmp = @view Vmat[i,:] + tmp .= [read(io,Float64) for j = 1:dim_orth] + end + close(io) + push!(ME_JacobiHO,Vmat) + if verbose + tnorm = norm(Vmat,2) + println(" J =",@sprintf("%3i", J)," P =",@sprintf("%3i", P)," T =",@sprintf("%3i", T), + " dim_orth ",@sprintf("%5i",dim_orth)," norm ",@sprintf("%12.4e",tnorm)) + end + end + return ME_JacobiHO +end + +function calc_write_JacobiHO_ME(idx_JPT::Int,N3max::Int64,JPT, + cfps,dict_JPTN_dim,params3NF,LECs,inner_integ;debug=false) + fn = make_binname(JPT,params3NF,"JacobiHO_"*params3NF.regulator) + J,P,T = JPT + chs = cfps.chs + cfpdims = cfps.cfpdims + cfpvals = cfps.cfpvals + dim_phys = dict_JPTN_dim["phys"][idx_JPT][N3max+1][1] + dim_orth = dict_JPTN_dim["orth"][idx_JPT][N3max+1][1] + Vmat = zeros(Float64,dim_phys,dim_phys) + Cmat = zeros(Float64,dim_orth,dim_phys) + tmat = zeros(Float64,dim_orth,dim_phys) + Vret = zeros(Float64,dim_orth,dim_orth) + + @threads for N_bra = 0:N3max + chmat_bra = chs[idx_JPT][N_bra+1] + nphys_bra,north_bra = cfpdims[idx_JPT][N_bra+1] + cfpval_bra = cfpvals[idx_JPT][N_bra+1] + if nphys_bra * north_bra ==0;continue;end + ibra_p_ini = dict_JPTN_dim["phys"][idx_JPT][N_bra][2] + ibra_p_fin = ibra_p_ini + nphys_bra + ibra_o_ini = dict_JPTN_dim["orth"][idx_JPT][N_bra][2] + ibra_o_fin = ibra_o_ini + north_bra + target_C = @view Cmat[ibra_o_ini+1:ibra_o_fin,ibra_p_ini+1:ibra_p_fin] + target_C .= cfpval_bra + for ibra_nlsjt = 1:nphys_bra + b_n12,b_l12,b_s12,b_j12,b_t12,b_n3,b_l3,b_j3 = @view chmat_bra[:,ibra_nlsjt] + bra = get_ket_JacobiHO(b_n12,b_l12,b_s12,b_j12,b_t12,b_n3,b_l3,b_j3,J,T) + idx_bra = ibra_p_ini + ibra_nlsjt + for N_ket = N_bra:N3max + chmat_ket = chs[idx_JPT][N_ket+1] + nphys_ket,north_ket = cfpdims[idx_JPT][N_ket+1] + if nphys_ket * north_ket ==0;continue;end + iket_p_ini = dict_JPTN_dim["phys"][idx_JPT][N_ket][2] + iket_min = ifelse(N_bra==N_ket,ibra_nlsjt,1) + for iket_nlsjt = iket_min:nphys_ket + k_n12,k_l12,k_s12,k_j12,k_t12,k_n3,k_l3,k_j3 = @view chmat_ket[:,iket_nlsjt] + ket = get_ket_JacobiHO(k_n12,k_l12,k_s12,k_j12,k_t12,k_n3,k_l3,k_j3,J,T) + idx_ket = iket_p_ini + iket_nlsjt + v_134 = JacobiHO_3NF_TPE(params3NF,LECs,inner_integ,bra,ket) + v_d = JacobiHO_3NF_OPE(params3NF,LECs,inner_integ,bra,ket) + v_e = JacobiHO_3NF_Contact(params3NF,LECs,inner_integ,bra,ket) + vmat = v_134 + v_d + v_e + + Vmat[idx_bra,idx_ket] = Vmat[idx_ket,idx_bra] = vmat + end + end + end + end + BLAS.gemm!('N','N',3.0,Cmat,Vmat,0.0,tmat) + BLAS.gemm!('N','T',1.0,tmat,Cmat,0.0,Vret) + + norm_C = norm(Cmat,2) + norm_V = norm(3.0 .* Vmat,2) + norm_CVC = norm(Vret,2) + + println(" J =",@sprintf("%3i", J)," P =",@sprintf("%3i", P)," T =",@sprintf("%3i", T), + " dimp",@sprintf("%5i",dim_phys)," dimo",@sprintf("%5i",dim_orth), + " normC ",@sprintf("%12.5f",norm_C)," normV ",@sprintf("%12.5f",norm_V), + " normCVC ",@sprintf("%12.5f",norm_CVC)) + + io = open(fn,"w") + write(io,dim_orth) + for i = 1:dim_orth + write(io,Vret[:,i]) + end + close(io) + + return nothing +end + +function JacobiHO_3NF_TPE(params3NF,LECs,inner_integ,bra,ket) + if params3NF.regulator == "local" + return tpe_JacobiHO_local(params3NF,LECs,inner_integ,bra,ket) + elseif params3NF.regulator == "nonlocal" + @error "tpe_JacobiHO_nonlocal not defined now!!" + #return tpe_JacobiHO_nonlocal(params3NF,LECs,inner_integ,bra,ket) + else + @error "regulator = $(params3NF.regulator) is not supported now" + end +end + +function JacobiHO_3NF_OPE(params3NF,LECs,inner_integ,bra,ket) + cD = LECs.dLECs["cD"] + coeffD = cD * hc * (hc/Fpi)^4 * (hc/params3NF.LambdaChi) + + if params3NF.regulator == "local" + return ope_JacobiHO_local(params3NF,coeffD,inner_integ,bra,ket) + elseif params3NF.regulator == "nonlocal" + return ope_JacobiHO_nonlocal(params3NF,coeffD,inner_integ,bra,ket) + else + @error "regulator = $(params3NF.regulator) is not supported now" + end +end + +function JacobiHO_3NF_Contact(params3NF,LECs,inner_integ,bra,ket) + cE = LECs.dLECs["cE"] + coeffE = cE * hc * (hc/Fpi)^4 * (hc/params3NF.LambdaChi) + if params3NF.regulator == "local" + return contact_JacobiHO_local(params3NF,coeffE,inner_integ,bra,ket) + elseif params3NF.regulator == "nonlocal" + return contact_JacobiHO_nonlocal(params3NF,coeffE,inner_integ,bra,ket) + else + @error "regulator = $(params3NF.regulator) is not supported now" + end + return nothing +end + +""" +Eq.(14) in P.Navratil +""" +function contact_JacobiHO_nonlocal(params3NF,coeffE,inner_integ::inner_integ_nonlocal,bra,ket) + b_n12=bra.n; b_l12=bra.l; b_s12=bra.s; b_j12=bra.j; b_t12=bra.t; b_n3=bra.N; b_l3=bra.L; b_j3 = bra.J + dJ123 = bra.dJ3; dT123 = bra.dT3 + k_n12=ket.n; k_l12=ket.l; k_s12=ket.s; k_j12=ket.j; k_t12=ket.t; k_n3=ket.N; k_l3=ket.L; k_j3 = ket.J + if dJ123 != 1; return 0.0;end + if k_l12 != 0; return 0.0;end + if b_l12 != 0; return 0.0;end + if k_l3 != 0; return 0.0;end + if b_l3 != 0; return 0.0;end + if b_s12 != b_j12; return 0.0;end + if k_s12 != k_j12; return 0.0;end + if b_s12 != k_s12; return 0.0;end + if b_t12 == k_t12 == 0; return 0.0; end + tdot = IsospinDot(b_t12,k_t12,dT123,params3NF.dWS.d6j_lj) + if tdot==0.0; return 0.0; end + e_bra = 2*b_n12 + 2*b_n3; tkey1 = get_nkey3(e_bra,b_n12,b_n3); freg1 = inner_integ.integ_E[tkey1] + e_ket = 2*k_n12 + 2*k_n3; tkey2 = get_nkey3(e_ket,k_n12,k_n3); freg2 = inner_integ.integ_E[tkey2] + v_e = coeffE / (12.0 *sqrt(3.0) *pi^4)* tdot * freg1 * freg2 + return v_e +end + +function prep_Z0s_Z0Xs_fKs(params) + N3max = params.N3max + Xmax = max(params.N3max + 1 + 1 + 2 + 2,2*N3max) # will be truncated + ps = params.meshpoints.ps + ws = params.meshpoints.wps + Z0s = Dict{Int64,Float64}() + Z0Xs = Dict{Int64,Float64}() + fKs = Dict{Int64,Float64}() + fKXs = Dict{Int64,Float64}() + + for (imesh1,w1) in enumerate(ws) + p = ps[imesh1] + xi1 = sqrt(2.0) * p + Z0s[imesh1]= Z0_local_reg(xi1,params.Lambda3NF,ps,ws) + for K = 0:1:2 + fKs[get_nkey2(K,imesh1)] = f_K(K,xi1,params.Lambda3NF,ps,ws) + end + xi1 = p /sqrt(2.0) + for (imesh2,w2) in enumerate(ws) + xi2 = ps[imesh2] * sqrt(3/2) + for X = 0:Xmax + meshkey = get_nkey3(X,imesh1,imesh2) + Z0Xs[meshkey]=Z0X_local_reg(X,xi1,xi2,params.Lambda3NF,ps,ws) + end + for K = 0:1:2 + for X = 0:Xmax+1 + tmp = Float64(f_KX(K,X,xi1,xi2,params)) + fKXs[get_nkey4(K,X,imesh1,imesh2)] = tmp + end + end + end + + end + return Z0s,Z0Xs,fKs,fKXs +end + +""" +``Z_0(r;\\Lambda)=\\frac{1}{2\\pi^2}\\int dq q^2 j_0(qr)F(q^2;\\Lambda)`` Eq.(13) in Few Body Syst. (2007) 41:117-140 +""" +function Z0_local_reg(r,Lambda,qs,ws;npower=2,debug=false) + nmesh = length(qs) + qinteg = 0.0 + for i = 1:nmesh + q = qs[i] + w = ws[i] + F = exp( - (q^(2*npower) / (Lambda/hc)^4 ) ) + qinteg += w * q^2 * sphericalbesselj(0,q*r) * F + if debug + println("i",@sprintf("%5i",i)," w",@sprintf("%12.5f",w), + " q2 ",@sprintf("%12.5f",q^2)," F ",@sprintf("%12.5f",F), + " j0 ",@sprintf("%12.5f",sphericalbesselj(0,q*r))) + end + end + Z = 1.0/(2*pi^2) * qinteg + return Z +end + +""" +``Z_{0,X}(r_1,r_2;\\Lambda) = \\frac{1}{2\\pi^2} \\int dq q^2 j_X(qr_1) j_X(qr_2) F(q^2;\\Lambda) `` +Eq.(16) in Few Body Syst. (2007) 41:117-140. +""" +function Z0X_local_reg(X,r1,r2,Lambda,qs,ws;npower=2,debug=false) + nmesh = length(qs) + qinteg = 0.0 + for i = 1:nmesh + q = qs[i] + w = ws[i] + F = exp( - (q^(2*npower)/(Lambda/hc)^4) ) + qinteg += w * q^2 * sphericalbesselj(X,q*r1) * sphericalbesselj(X,q*r2) * F + sqj = sphericalbesselj(X,q*r1) * sphericalbesselj(X,q*r2) + if debug + println("X $X r1 $r1 r2 $r2 jXsq $sqj F $F") + end + end + Z0X = 1.0/(2*pi^2) * qinteg + if debug + println("Z0X $Z0X") + end + return Z0X +end + +""" +Navratil Eq.(39): + +`` +f_K(r ; \\Lambda)=\\frac{1}{2 \\pi^2} \\int d q q^2 j_K(q r) \\frac{q^2 F\\left(q^2 ; \\Lambda\\right)}{q^2+M_\\pi^2} +`` +""" +function f_K(K,r,Lambda,qs,ws;npower=2,debug=false) + Mpi_fm = mean(mpis) / hc + qinteg = 0.0 + for (i,w) in enumerate(ws) + q = qs[i] + q2= q^2 + F = exp( - (q2^(npower) / (Lambda/hc)^4 ) ) + qinteg += w * q2 * sphericalbesselj(K,q*r) * F * ifelse(K==1,q,q2) / (q2+Mpi_fm^2) + if debug + println("i",@sprintf("%5i",i)," K",@sprintf("%5i",K)," w",@sprintf("%12.5f",w), + " q2 ",@sprintf("%12.5f",q^2)," F ",@sprintf("%12.5f",F), + " jK ",@sprintf("%12.5f",sphericalbesselj(K,q*r))) + end + end + Z = 1.0/(2*pi^2) * qinteg + return Z +end + +function f_KX(K,X,xi1,xi2,params;debug=false) + Lambda = params.Lambda3NF + qs = params.meshpoints.ps + ws = params.meshpoints.wps + us = params.meshpoints.us + wus = params.meshpoints.wus + uinteg = 0.0 + for (i,wu) in enumerate(wus) + u = us[i] + r_in = sqrt(xi1^2+xi2^2-2*xi1*xi2*u) + nume = f_K(K,r_in,Lambda,qs,ws) + deno = r_in^K + uinteg += 0.5 * wu * Legendre(X,u) *nume/deno + if debug + end + end + return uinteg +end + +""" +Eq.(15) in P.Navratil +""" + function contact_JacobiHO_local(params3NF,coeffE,inner_integ::inner_integ_local,bra::ket_JacobiHO,ket::ket_JacobiHO) + b_n12=bra.n; b_l12=bra.l; b_s12=bra.s; b_j12=bra.j; b_t12=bra.t; b_n3=bra.N; b_l3=bra.L; b_j3 = bra.J + dJ123 = bra.dJ3; dT123 = bra.dT3 + k_n12=ket.n; k_l12=ket.l; k_s12=ket.s; k_j12=ket.j; k_t12=ket.t; k_n3=ket.N; k_l3=ket.L; k_j3 = ket.J + if b_s12 != k_s12; return 0.0; end + if b_t12 == k_t12 == 0; return 0.0; end + tdot = IsospinDot(b_t12,k_t12,dT123,params3NF.dWS.d6j_lj) + d6j_int = params3NF.dWS.d6j_int + d6j_lj = params3NF.dWS.d6j_lj + dcgm0 = params3NF.dWS.dcgm0 + hats = hat(b_j12)*hat(k_j12)*hat(b_j3/2)*hat(k_j3/2) + phase = (-1)^(div(dT123-1,2)+div(abs(b_j3-k_j3),2)+b_l12+b_l3+b_s12) + + Xmin = max(max(abs(b_l12-k_l12),abs(b_j12-k_j12)),div(abs(b_j3-k_j3),2)) + Xmax = min(min(b_l12+k_l12,b_j12+k_j12),b_j3+k_j3) + + e1 = bra.e1 ; e2 = bra.e2; ebra = bra.E + e1p= ket.e1 ; e2p= ket.e2; eket = ket.E + + Ekey = get_nkey2(ebra,eket) + e4key = get_nkey4(e1,e2,e1p,e2p) + key_bra = get_nkey4(b_n12,b_l12,b_n3,b_l3) + key_ket = get_nkey4(k_n12,k_l12,k_n3,k_l3) + integ_dict = inner_integ.integ_E[Ekey][e4key][key_bra][key_ket] + + X6js = 0.0 + for X = Xmin:Xmax + if !tri_check(b_l12,k_l12,X);continue;end + if !tri_check(b_j12,k_j12,X);continue;end + if !tri_check(b_j3,k_j3,2*X);continue;end + if !tri_check(b_l3,k_l3,X);continue;end + + x6j_1 = call_d6j_nond(k_l12,b_l12,X,b_j12,k_j12,b_s12,d6j_int) + x6j_2 = call_d6j(b_j12*2,k_j12*2,X*2,k_j3,b_j3,dJ123,d6j_lj) + x6j_3 = call_d6j(b_l3*2,k_l3*2,X*2,k_j3,b_j3,1,d6j_lj) + cgs = call_dcgm0(k_l12,X,b_l12,dcgm0) *call_dcgm0(k_l3,X,b_l3,dcgm0) * hat(k_l12)*hat(k_l3) + + tsum = (-1)^X * hat(X)^2 * x6j_1 * x6j_2* x6j_3 * cgs * integ_dict[X] + X6js += tsum + end + return coeffE * tdot * (hats * phase * X6js) +end + +""" +Navratil Eq.(30) +(-1)^(-t12-t12') is needed to cancel the factor from IsospinDot +""" +function ope_JacobiHO_nonlocal(params3NF,coeffD,inner_integ::inner_integ_nonlocal,bra::ket_JacobiHO,ket::ket_JacobiHO) + b_n12=bra.n; b_l12=bra.l; b_j12=bra.j; b_t12=bra.t; b_n3=bra.N; b_l3=bra.L; b_j3 = bra.J + dJ123 = bra.dJ3; dT123 = bra.dT3 + k_n12=ket.n; k_l12=ket.l; k_j12=ket.j; k_t12=ket.t; k_n3=ket.N; k_l3=ket.L; k_j3 = ket.J + if k_l12 != 0; return 0.0;end + if b_l12 != 0; return 0.0;end + if abs(b_l3-k_l3) > 2; return 0.0; end + if !tri_check(b_j12,k_j12,1); return 0.0;end + tdot = IsospinDot(b_t12,k_t12,dT123,params3NF.dWS.d6j_lj) + if tdot == 0.0; return 0.0; end + + d6j_int = params3NF.dWS.d6j_int + d6j_lj = params3NF.dWS.d6j_lj + d9j_lsj = params3NF.dWS.d9j_lsj + dcgm0 = params3NF.dWS.dcgm0 + + hats = hat(b_j12)*hat(k_j12)*hat(b_j3/2)*hat(k_j3/2) + phase = (-1)^(b_n12+b_n3+k_n12+k_n3 + (dJ123-b_j3+b_l3+k_l3)/2 + b_l3 - b_t12 - k_t12) + + w6js = call_d6j(b_j12*2,k_j12*2,1*2,1,1,1,d6j_lj) + w6js *= call_d6j(b_j12*2,k_j12*2,1*2,k_j3,b_j3,dJ123,d6j_lj) + if w6js == 0.0; println("w6js0");return 0.0;end + + e1 = bra.e1 ; e2 = bra.e2; Ebra = bra.E + e1p= ket.e1 ; e2p= ket.e2; Eket = ket.E + + Ekey = get_nkey2(Ebra,Eket) + e4key = get_nkey4(e1,e2,e1p,e2p) + keybra = get_nkey4(b_n12,b_l12,b_n3,b_l3) + keyket = get_nkey4(k_n12,k_l12,k_n3,k_l3) + dict_integ = inner_integ.integ_D[Ekey][e4key][keybra][keyket] + + ret = 0.0 + for K = 0:2:2 + if !tri_check(b_l3,k_l3,K);continue;end + K9j = call_d9j_lsj(K*2,1*2,1*2,b_l3*2,1,b_j3,k_l3*2,1,k_j3,d9j_lsj) + Kfac = hat(K) * call_dcgm0(1,1,K,dcgm0) * K9j + for K1=0:K + K1fac =hat(K-K1) * sqrt(binomial(2*K+1,2*K1))* (-1)^(b_l3+K1) + Xmin = max(abs(b_l3-K1),abs(k_l3-(K-K1))) + Xmax = min(b_l3+K1,k_l3+K-K1) + for X = Xmin:Xmax + Xfac = hat(X)* hat(k_l3) * call_dcgm0(K1,X,b_l3,dcgm0) * call_dcgm0(k_l3,K-K1,X,dcgm0) # *dcgm0[get_nkey3(K1,X,b_l3)] * dcgm0[get_nkey3(k_l3,K-K1,X)] + Xfac *= call_d6j_nond(k_l3,K-K1,X,K1,b_l3,K,d6j_int) #d6j_int[X+1][key1] + integ = dict_integ[get_nkey3(K,K1,X)] + ret += Kfac * K1fac * Xfac * integ + end + end + end + + v_d = - abs(gA) * coeffD / (12.0 *sqrt(3.0) *pi^4) * tdot * hats * phase *w6js * ret + return v_d +end + +""" +Navratil Eq.(38) +""" +function ope_JacobiHO_local(params3NF,coeffD,inner_integ::inner_integ_local,bra::ket_JacobiHO,ket::ket_JacobiHO) + b_n12=bra.n; b_l12=bra.l; b_s12=bra.s; b_j12=bra.j; b_t12=bra.t; b_n3=bra.N; b_l3=bra.L; b_j3 = bra.J + dJ123 = bra.dJ3; dT123 = bra.dT3 + k_n12=ket.n; k_l12=ket.l; k_s12=ket.s; k_j12=ket.j; k_t12=ket.t; k_n3=ket.N; k_l3=ket.L; k_j3 = ket.J + if b_s12 == k_s12 ==0; return 0.0;end + tdot = IsospinDot(b_t12,k_t12,dT123,params3NF.dWS.d6j_lj) + if tdot == 0.0; return 0.0; end + + d6j_int = params3NF.dWS.d6j_int + d6j_lj = params3NF.dWS.d6j_lj + d9j_int = params3NF.dWS.d9j_int + d9j_lsj = params3NF.dWS.d9j_lsj + dcgm0 = params3NF.dWS.dcgm0 + + hats = hat(b_j12)*hat(k_j12)*hat(b_j3/2)*hat(k_j3/2)*hat(b_s12)*hat(k_s12) * hat(k_l12)*hat(k_l3) + phase6j = (-1)^((dJ123-b_j3)/2 +b_s12+k_j12) * call_d6j(b_s12*2,k_s12*2,2,1,1,1,d6j_lj) #d6j_dot[1][get_nkey2(b_s12,k_s12)] + + e1 = bra.e1 ; e2 = bra.e2; Ebra = bra.E + e1p= ket.e1 ; e2p= ket.e2; Eket = ket.E + + Ekey = get_nkey2(Ebra,Eket) + e4key = get_nkey4(e1,e2,e1p,e2p) + keybra = get_nkey4(b_n12,b_l12,b_n3,b_l3) + keyket = get_nkey4(k_n12,k_l12,k_n3,k_l3) + dict_integ = inner_integ.integ_D[Ekey][e4key][keybra][keyket] + + ret = 0.0 + for K = 0:2:2 + Kfac = hat(K) * (-1)^(K/2) * call_dcgm0(1,1,K,dcgm0) + for V = abs(b_l12-k_l12):b_l12+k_l12 + Vfac = (-1)^(V+k_l12) * hat(b_l12) * call_dcgm0(b_l12,k_l12,V,dcgm0) + + Xmin = max(abs(K-V),abs(b_l3-k_l3)) + Xmax = min(K+V,b_l3+k_l3) + for X = Xmin:Xmax + Xfac = hat(X)^2 * call_dcgm0(X,K,V,dcgm0) * call_dcgm0(X,k_l3,b_l3,dcgm0) + Zmin = max(max(max(abs(X-1),abs(V-1)),abs(b_j12-k_j12)),abs(div(b_j3-k_j3,2))) + Zmax = min(min(min(V+1,X+1),b_j12+k_j12),div(b_j3+k_j3,2)) + integ = dict_integ[get_nkey2(K,X)] + + for Z = Zmin:Zmax + z6j1 = call_d6j(b_j12*2,k_j12*2,Z*2,k_j3,b_j3,dJ123,d6j_lj) + if z6j1 == 0.0;continue;end + + z6j2 = call_d6j_nond(V,1,Z,1,X,K,d6j_int) + if z6j2 ==0.0; continue;end + + z9j2 = call_d9j_lsj(X*2,1*2,Z*2,b_l3*2,1,b_j3,k_l3*2,1,k_j3,d9j_lsj) + z9j1 = call_d9j_int_notdoubled(V,1,Z,b_l12,b_s12,b_j12,k_l12,k_s12,k_j12,d9j_int) + + Zfac = hat(Z)^2 * z6j1 * z6j2 * z9j1 *z9j2 + + ret += Kfac * Vfac * Xfac * Zfac * integ + end + end + end + end + v_d = -abs(gA) * coeffD * 3/2 *tdot *hats * phase6j *ret + return v_d +end + +function tpe_JacobiHO_local(params3NF,LECs,inner_integ::inner_integ_local,bra::ket_JacobiHO,ket::ket_JacobiHO;debug=false) + b_n12=bra.n; b_l12=bra.l; b_s12=bra.s; b_j12=bra.j; b_t12=bra.t; b_n3=bra.N; b_l3=bra.L; b_j3 = bra.J + dJ123 = bra.dJ3; dT123 = bra.dT3 + k_n12=ket.n; k_l12=ket.l; k_s12=ket.s; k_j12=ket.j; k_t12=ket.t; k_n3=ket.N; k_l3=ket.L; k_j3 = ket.J + if b_s12 == k_s12 ==0; return 0.0;end + tdot = IsospinDot(b_t12,k_t12,dT123,params3NF.dWS.d6j_lj) + if tdot == 0.0; return 0.0; end + Mpi_fm = mean(mpis) / hc + + coeff_c1 = - 6 * Mpi_fm^2 * gA2 / (Fpi/hc)^4 * LECs.dLECs["c1_NNLO"] * (hc2 /1000.0) + coeff_c3 = 3* gA2 / (Fpi/hc)^4 * LECs.dLECs["c3_NNLO"] * hc2 / 1000.0 + coeff_c4 = - 216 * gA2 / (4*(Fpi/hc)^4) * LECs.dLECs["c4_NNLO"] * hc2 / 1000.0 + + d6j_int = params3NF.dWS.d6j_int + d6j_lj = params3NF.dWS.d6j_lj + + d9j_lsj = params3NF.dWS.d9j_lsj + d9j_int = params3NF.dWS.d9j_int + dcgm0 = params3NF.dWS.dcgm0 + + hats = hat(b_j12)*hat(k_j12)*hat(b_j3/2)*hat(k_j3/2)*hat(b_s12)*hat(k_s12) * hat(k_l12)*hat(k_l3) + s6j = call_d6j(b_s12*2,k_s12*2,1*2,1,1,1,d6j_lj) + phase6j = (-1)^((dJ123-b_j3)/2 +b_s12+k_j12) + + rac_9j = call_d9j_lsj(2,2,2,k_t12*2,1,1,b_t12*2,1,1,d9j_lsj) + rac_9jc4= rac_9j / call_d6j(b_t12*2,k_t12*2,2,1,1,1,d6j_lj) + + e1 = bra.e1 ; e2 = bra.e2; Ebra = bra.E + e1p= ket.e1 ; e2p= ket.e2; Eket = ket.E + Ekey = get_nkey2(Ebra,Eket) + e4key = get_nkey4(e1,e2,e1p,e2p) + keybra = get_nkey4(b_n12,b_l12,b_n3,b_l3) + keyket = get_nkey4(k_n12,k_l12,k_n3,k_l3) + dict_c1 = inner_integ.integ_c1[Ekey][e4key][keybra][keyket] + dict_c34= inner_integ.integ_c34[Ekey][e4key][keybra][keyket] + ret_c1 = ret_c3 = ret_c4 = 0.0 + for V = abs(b_l12-k_l12):b_l12+k_l12 + Vfac = hat(V) * call_dcgm0(V,k_l12,b_l12,dcgm0) + if Vfac == 0.0; continue;end + for R = abs(b_l3-k_l3):b_l3+k_l3 + Rfac = hat(R) * call_dcgm0(R,k_l3,b_l3,dcgm0) + if Rfac == 0.0; continue;end + ## c1 term + if s6j != 0.0 + Ymin = max(max(abs(V-1),abs(b_j12-k_j12)),div(abs(b_j3-k_j3),2)) + Ymax = min(V+1,min(b_j12+k_j12,div(b_j3+k_j3,2))) + for Y = Ymin:Ymax + if !tri_check(R,1,Y);continue;end + if !tri_check(b_j3/2,k_j3/2,Y);continue;end + V9j = call_d9j_int_notdoubled(V,1,Y,b_l12,b_s12,b_j12,k_l12,k_s12,k_j12,d9j_int) + R9j = call_d9j_lsj(R*2,1*2,Y*2,b_l3*2,1,b_j3,k_l3*2,1,k_j3,d9j_lsj) + y6j = call_d6j(b_j12*2,k_j12*2,Y*2,k_j3,b_j3,dJ123,d6j_lj) + if y6j == 0.0;continue;end + Yfac = (-1)^Y * hat(Y) * call_dcgm0(Y,1,V,dcgm0) * V9j * R9j *y6j + if Yfac == 0.0; continue;end + + for K3 = 0:1 + K3fac = sqrt(binomial(3,2*K3)) * hat(1-K3) + Xmin = max(abs(K3-Y),abs(R+K3-1)) + Xmax = min(K3+Y,R+1-K3) + for X = Xmin:Xmax + Xfac = hat(X)^2 * call_dcgm0(X,K3,Y,dcgm0) * call_dcgm0(X,1-K3,R,dcgm0) + Xfac *= call_d6j_nond(Y,X,K3,1-K3,1,R,d6j_int) + integ = dict_c1[get_nkey2(K3,X)] + tsum = Vfac * Rfac * Yfac * K3fac * Xfac * integ + ret_c1 += tsum + end + end + end + end + ## c3&c4 term + c3fac = s6j + c4fac = (-1)^(-b_t12 + b_j3 - b_s12) * rac_9jc4 + for K1 = 0:2:2 + for K2 = 0:2:2 + # c3 term + Ymin = max(abs(K1-V),abs(K2-R)) + Ymax = min(K1+V,K2+R) + for Y = Ymin:Ymax + if !tri_check(K1,V,Y); continue;end + if !tri_check(K2,R,Y); continue;end + K12fac = (-1)^((K1+K2)/2) * hat(K1) * hat(K2) * call_dcgm0(1,1,K1,dcgm0) * call_dcgm0(1,1,K2,dcgm0) + Yfac = hat(Y) * call_dcgm0(Y,K1,V,dcgm0) + Zmin = max(abs(Y-1),abs(V-1),abs(R-1),abs(b_j12-k_j12),div(abs(b_j3-k_j3),2)) + Zmax = min( Y+1, V+1, R+1, b_j12+k_j12,div(b_j3+k_j3,2)) + for Z = Zmin:Zmax + Zfac = hat(Z)^2 * (-1)^Z + R9j = call_d9j_lsj(R*2,1*2,Z*2,b_l3*2,1,b_j3,k_l3*2,1,k_j3,d9j_lsj) + Z6j_1 = call_d6j(b_j12*2,k_j12*2,Z*2,k_j3,b_j3,dJ123,d6j_lj) + Z6j_2 = call_d6j_nond(Z,1,Y,K2,R,1,d6j_int) + zc3_6j = call_d6j_nond(Z,1,Y,K1,V,1,d6j_int) + zc3_9j = call_d9j_int_notdoubled(V,1,Z,b_l12,b_s12,b_j12,k_l12,k_s12,k_j12,d9j_int) + + Z_c4 = Zfac * R9j * Z6j_1 * Z6j_2 + Z_c3 = Z_c4 * zc3_9j * zc3_6j + if Z_c4 == 0.0;continue;end + + for K3 = 0:K2 + K3fac = sqrt(binomial(2*K2+1,2*K3)) * hat(K2-K3) + + Xmin = max(abs(K3-Y),abs(R-K2+K3)) + Xmax = min(K3+Y,R+K2-K3) + for X = Xmin:Xmax + if !tri_check(X,K3,Y);continue;end + if !tri_check(X,K2-K3,R);continue;end + Xfac = hat(X)^2 * call_dcgm0(X,K3,Y,dcgm0) * call_dcgm0(X,K2-K3,R,dcgm0) + Xfac *= call_d6j_nond(Y,K2,R,K2-K3,X,K3,d6j_int) + if Xfac == 0.0; continue;end + integ = dict_c34[get_nkey4(K1,K2,K3,X)] + ret_c3 += c3fac * K12fac * Vfac * Rfac * Yfac * Z_c3 * K3fac * Xfac * integ + + for K4 = 0:2 + if !tri_check(K4,b_s12,k_s12);continue;end + if !tri_check(K4,V,Z);continue;end + if !tri_check(K4,K1,1);continue;end + K4fac = hat(K4)^2 + K4fac *= call_d9j_int_notdoubled(V,K4,Z,b_l12,b_s12,b_j12,k_l12,k_s12,k_j12,d9j_int) + K4fac *= call_d9j_lsj(K4*2,1*2,1*2,b_s12*2,1,1,k_s12*2,1,1,d9j_lsj) + K4fac *= call_d6j_nond(Z,1,Y,K1,V,K4,d6j_int) + K4fac *= call_d6j_nond(1,1,1,1,K4,K1,d6j_int) + ret_c4 += c4fac * K12fac * Vfac * Rfac * Yfac * Xfac* Z_c4 * K3fac * K4fac* integ + end + end + end + end + end + end + end + end + end + v_c1 = coeff_c1 * tdot *hats * phase6j * s6j * ret_c1 + v_c3 = coeff_c3 * tdot *hats * phase6j * ret_c3 + v_c4 = coeff_c4 * tdot *hats * phase6j * ret_c4 + return v_c1 + v_c3 + v_c4 +end diff --git a/src/chiEFTint/threebody_lab.jl b/src/chiEFTint/threebody_lab.jl new file mode 100644 index 00000000..a48beadc --- /dev/null +++ b/src/chiEFTint/threebody_lab.jl @@ -0,0 +1,175 @@ +struct sps_nljtz + n::Int64 + l::Int64 + j::Int64 + e::Int64 + tz::Int64 + isocc::Bool +end + +struct sps_nlj + n::Int64 + l::Int64 + j::Int64 + e::Int64 +end + +struct ket_labHO + p::sps_nljtz + q::sps_nljtz + r::sps_nljtz + Tz::Int64 + J::Int64 + T::Int64 +end + +function prep_lab_space(params) + e3max = params.e3max + N3max = params.N3max + J3max = params.j3max + J12max = params.J12max + emax = params.e2max + e2max = emax * 2 + println("emax $emax e2max $e2max") + J12max = J3max #ad hoc + + nsps = div(emax*(emax+1),2) + spsISO = sps_nlj[ ] + for e = 0:emax + for l = 0:e + if (e-l)%2 != 0; continue;end + n = div(e-l,2) + for j = abs(2*l-1):2:2*l+1 + push!(spsISO,sps_nlj(n,l,j,e)) + end + end + end + dict_lab_JPT = Dict{Int64,Vector{Int64}}() + for Jtot = 1:2:max(J3max,2*e3max+3) + for Ptot = 1:-2:-1 + for Ttot = 1:2:3 + Ncnt = Dict{Int64,Int64}(); for N = 0:N3max; Ncnt[N] = 0; end + for i1 = 1:nsps + o1 = spsISO[i1]; l1 = o1.l; j1 = o1.j + for i2 = 1:i1 + o2 = spsISO[i2]; l2 = o2.l; j2 = o2.j + for i3 = 1:i2 + o3 = spsISO[i3]; l3 = o3.l; j3 = o3.j + if o1.e+o2.e > e2max || o1.e+o3.e > e2max || o2.e+o3.e > e2max;continue;end + if o1.e+o2.e+o3.e > e3max; continue;end + if (-1)^(l1+l2+l3) != Ptot; continue; end + N = o1.e+o2.e+o3.e + for j12 = div(abs(j1-j2),2):div(j1+j2,2) + if !tri_check(j12,j3/2,Jtot/2);continue;end + for t12 = 0:1 + if !tri_check(t12,1/2,Ttot/2);continue;end + if i1 == i2 && (j12 +t12)%2==0;continue;end + Ncnt[N] += 1 + end + end + end + end + end + for N = 0:N3max + tkey = get_nkey4(Jtot,Ptot,Ttot,N) + dict_lab_JPT[tkey] = [ Ncnt[N],0,0 ] + end + end + end + end + return dict_lab_JPT +end + +function const_labHO(params,JPTs,dict_lab_JPT,dict_JPTN_dim,idx_dict_JPT) + #j12 L12 lam lcm + # Jpq lr l3 Jrel + # J jr sr j3 + for (idx_JPT,JPT) in enumerate(JPTs) + J,P,T = JPT + ch_kets_labHO(params,J,P,T,dict_lab_JPT,dict_JPTN_dim,idx_dict_JPT) + end +end + +function ch_kets_labHO(params,J,P,T,dict_lab_JPT,dict_JPTN_dim,idx_dict_JPT) + e3max = params.e3max + J3max = params.j3max + labHO_mat = zeros(Int64,1,1) + labHO_mat123 = zeros(Int64,1,1) + for loop = 1:2 + ndim = ndim123 = 0 + for n123 = 0:e3max + for E = 0:n123 + ecm = n123 - E + for ncm = 0:div(ecm,2) + lcm = ecm - 2*ncm + for jrel = abs(J-2*lcm):2:min(J3max,2*e3max+3,J+2*lcm) + for prel = -1:2:1 + if P != prel * (-1)^(lcm); continue; end + idx_rel = idx_dict_JPT[[jrel,prel,T]] + no = dict_JPTN_dim["orth"][idx_rel][E][1] + if no == 0; continue; end + if loop == 2 + for j = 1:no + ndim += 1 + tv = @view labHO_mat[:,ndim] + tv[1] = E; tv[2] = prel; tv[3] = jrel + tv[4] = j; tv[5] = ncm; tv[6] = lcm + end + else + ndim += no + end + end + end + end + end + for e12 = 0:n123 + for e3 = 0:n123-e12 + if e12 + e3 > e3max; continue;end + ecm = n123-e12-e3 + for n12 = 0:div(e12,2) + l12 = e12 - 2*n12 + for n3 = 0:div(e3,2) + l3 = e3 - 2*n3 + for ncm = 0:div(ecm,2) + lcm = ecm - 2*ncm + for s12 = 0:1 + for j12 = abs(l12-s12):l12+s12 + for j3 = abs(2*l3-1):2:2*l3+1 + for t12 = 0:1 + if !tri_check(t12,1/2,T/2); continue;end + if (-1)^(l12+s12+t12) != -1;continue;end + if (-1)^(l12+l3+lcm) != P; continue;end + for jrel = abs(2*j12-j3):2:min(2*j12+j3,J3max) + if !tri_check(lcm,jrel/2,J/2);continue;end + ndim123 += 1 + if loop == 2 + tv = @view labHO_mat123[:,ndim123] + tv .= [n12,l12,s12,j12,t12,n3,l3,j3,ncm,lcm,jrel,e12+e3] + end + end + end + end + end + end + end + end + end + end + end + end + if loop == 1 + labHO_mat = zeros(Int64,6,ndim) + labHO_mat123 = zeros(Int64,12,ndim123) + nlab = 0 + for N = 0:params.N3max + tkey = get_nkey4(J,P,T,N) + nlab += dict_lab_JPT[tkey][1] + end + tkey = get_nkey4(J,P,T,params.N3max) + dict_lab_JPT[tkey][2] = ndim + dict_lab_JPT[tkey][3] = ndim123 + println("J",@sprintf("%3i",J)," P",@sprintf("%3i",P)," T ",@sprintf("%3i",T)," nlab $nlab ndim $ndim ndim123 $ndim123") + end + end + return nothing +end diff --git a/src/chiEFTint/threebodyforce.jl b/src/chiEFTint/threebodyforce.jl index 1257d226..afabb426 100644 --- a/src/chiEFTint/threebodyforce.jl +++ b/src/chiEFTint/threebodyforce.jl @@ -1,364 +1,285 @@ -""" -under construction... -""" +struct dWS3N + dtri::Dict{Int64,Float64} + dcgm0::Dict{Int64,Float64} + d6j_int::Dict{UInt64,Float64} + d6j_lj::Dict{UInt64,Float64} + d9j_int::Dict{Int64,Dict{Int64,Dict{Int64,Float64}}} + d9j_lsj::Dict{Int64,Dict{Int64,Dict{Int64,Float64}}} + dictHOB::Dict{Int64,Dict{Int64,Dict{Int64,Float64}}} +end -struct dWS3n - dcgm0::Dict{Vector{Int64},Float64} - d6j::Dict{Vector{Int64},Float64} - d9j::Dict{Vector{Int64},Float64} - dtri::Dict{Vector{Int64},Float64} - keycg::Vector{Int64} - key6j::Vector{Int64} - key9j::Vector{Int64} -end +struct mesh_3NF + ps::Vector{Float64} + wps::Vector{Float64} + qs::Vector{Float64} + wqs::Vector{Float64} + pqs::Matrix{Float64} + wpqs::Vector{Float64} + us::Vector{Float64} + wus::Vector{Float64} +end -struct params3b +struct params3b + e2max::Int64 e3max::Int64 N3max::Int64 L3max::Int64 j3max::Int64 + J12max::Int64 hw::Int64 + chiorder3NF::Int64 + Lambda3NF::Float64 + LambdaChi::Float64 TFrenorm::Bool - meshpoints::Vector{Vector{Float64}} - LECs::Vector{Float64} - dWS::dWS3n + pmax3::Float64 + rmax3::Float64 + meshpoints::mesh_3NF + LECs::LECs + dWS::dWS3N + main_basis::String + regulator::String end -function test3NF(;target_LECs=["c1_NNLO","c3_NNLO","c4_NNLO","cD","cE"]) - to = TimerOutput() - LECs = Float64[ ];idxLECs=Dict{String,Int64}();dLECs=Dict{String,Float64}() - read_LECs!(LECs,idxLECs,dLECs;initialize=true) - for (k,target) in enumerate(target_LECs) - idx = idxLECs[target] - tLEC = LECs[idx] - dLECs[target] = tLEC - end - ### parameters - TFrenorm = false - Np = Nq = 25; pmax3 = 8.0 - e3max = 8 - L3max = 0 # to be 4 - N3max = 8 # to be 40? - j3max = 9 # said to be sufficient, but can be e3max*2 + 3 - gl_p,glw_pq = Gauss_Legendre(0.0,pmax3,Np) - gl_q = copy(gl_p) - meshpoints = [gl_p,gl_q,glw_pq] - @timeit to "precalc 6j&9j" dWS = prep_dWS3n(e3max,N3max) - params = params3b(e3max,N3max,L3max,j3max,hw,TFrenorm,meshpoints,LECs,dWS) +struct channel3b_Jj + dJ123::Int64 + dT123::Int64 + P123::Int64 + L12::Int64 + S12::Int64 + J12::Int64 + T12::Int64 + dj3::Int64 + l3::Int64 +end - labframe = true - if labframe - #calculation of 3NF in laboratory frame - @timeit to "ch" calc_channel_T(params,to) - else - #solve three-body system - end - show(to, allocations = true,compact = false);println("") - #base3NF = params3b(e3max,hw,TFrenorm) +struct state_Jacobi + p::Float64 + q::Float64 + alpha::channel3b_Jj end -function calc_channel_T(params,to) - j3max = params.j3max - JPTs = Vector{Int64}[ ] - n = 0 - for t = 1:2:3 - for j = 1:2:j3max - for parity = 1:-2:-1 - n += 1 - push!(JPTs, [j,parity,t]) - end - end - end - nch = (j3max +1) * 2 - if n!= nch;println("warn!");end - cfpdims = Vector{Vector{Int64}}[] - for ich = 1:nch - JPT = JPTs[ich] - j,p,t = JPT - println("ich ",@sprintf("%4i",ich), - " J =",@sprintf("%3i", j), - " P =",@sprintf("%3i", p), - " T =",@sprintf("%3i", t)) - push!(cfpdims, Vector{Int64}[]) - if !check_binexists(ich,JPT,params) - @timeit to "get" get_dim_cfp!(cfpdims[ich],JPT,params,to) - @timeit to "set" set_cfps(cfpdims[ich],JPT,params,to) - else - #read_cfps() - end - end - return nothing +struct ket_JacobiHO + n::Int64 + l::Int64 + s::Int64 + j::Int64 + t::Int64 + N::Int64 + L::Int64 + J::Int64 + dJ3::Int64 + dT3::Int64 + e1::Int64 + e2::Int64 + E::Int64 end -function make_cfpbinname(JPT,params;dirname="./cfps/") - j,p,t=JPT - Nmax = params.N3max - fname = dirname*"cfp_j"*string(j)*"p" - fname *= ifelse(p==1,"+","-")*"t"*string(t) - fname *= "_Nmax"*string(Nmax)*".bin" - return fname -end +function dev_param3NF() + TFrenorm = false + main_basis="Jacobi" #K.Hebeler + main_basis="JacobiHO" #P.Navratil + regulator = "nonlocal" + regulator = "local" + Np = Nq = 10 #25 + Nangle = 10 #25 + pmax3 = 10.0 + rmax3 = 10.0 + e3max = 4 + N3max = 10 # to be 40? + j3max = 9 # said to be sufficient, but can be e3max*2 + 3 -function check_binexists(ich,JPT,params;dirname="./cfps/") - fname = make_cfpbinname(JPT,params;dirname=dirname) - return isfile(fname) + # for check + N3max = 5 + j3max = 9 + e3max = 3 + + L3max = min(N3max,div(j3max-1,2)) + J12max = 2*j3max + chiorder3b = 2 # NNLO + Lambda3NF = 400 + LambdaChi = 700.0 + return Np,Nq,Nangle,e3max,N3max,L3max,j3max,J12max,hw,chiorder3b,Lambda3NF,LambdaChi,TFrenorm,pmax3,rmax3,main_basis,regulator end +function get_ket_JacobiHO(n,l,s,j,t,N,L,J,dJ3,dT3) + e1 = 2*n+l + e2 = 2*N+L + Eket = e1+e2 + return ket_JacobiHO(n,l,s,j,t,N,L,J,dJ3,dT3,e1,e2,Eket) +end -function get_dim_cfp!(cfpdim,JPT,params,to) - dWS = params.dWS - j,p,t = JPT - for N = 0:params.N3max - ndim = 0 - diag = Float64[] - for n12 = 0:div(N,2) - for n3 = 0:div(N-2*n12,2) - for l12 = 0:N-2*n12 -2*n3 - l3 = N- 2*n12 -2*n3 -l12 - if (-1)^(l12+l3) != p;continue;end - for s12 = 0:1 - for j12 = abs(l12-s12):l12+s12 - for t12 = 0:1 - if !tri_check(2*t12,1,t);continue;end - if (-1)^(l12+s12+t12) != -1 ;continue;end - for j3 = abs(2*l3-1):2:2*l3 +1 - if !tri_check(2*j12, j3, j);continue;end - ndim += 1 - if N==0 && JPT == [1,-1,1] - println(" n12 $n12,l12 $l12, s12 $s12 ,", - " j12 $j12, t12 $t12, n3 $n3, l3 $l3, j3 $j3 ") - end - r = anti_op_isospin(dWS,n12,l12,s12,j12,t12,n3,l3,j3, - n12,l12,s12,j12,t12,n3,l3,j3,j,t, - to) - push!(diag,r) - end - end - end - end - end - end +function test3NF(;param_str="dev",target_LECs=["c1_NNLO","c3_NNLO","c4_NNLO","cD","cE"],fn_params="optional_parameters.jl") + to = TimerOutput() + io = select_io(false,"",[]) + paramsNN = init_chiEFTparams(;io=io,fn_params=fn_params) + LECs = read_LECs(paramsNN.pottype) + params3N = get_params3N(param_str,paramsNN,LECs,to) + if params3N.main_basis == "Jacobi" # K.Hebeler type + Calc_3NF_in_Jacobi_coordinate(params3N,LECs,to) + elseif params3N.main_basis == "JacobiHO" # P.Navratil type + Calc_3NF_in_JacobiHO_coorrdinate(params3N,LECs,to) + else + @error "main_basis=$main_basis is not supported" end - north = Int(round(sum(diag))) - push!(cfpdim,[ndim,north]) - end - return nothing + show(to, allocations = true,compact = false);println("") end -function set_cfps(cfpdim,JPT,params,to) - fname = make_cfpbinname(JPT,params) - io = open(fname,"w") - j,p,t= JPT; Nmax=params.N3max - write(io, j);write(io,p);write(io,t);write(io,Nmax) - dWS = params.dWS - nlsjts = [ zeros(Int64,8,cfpdim[N+1][1]) for N=0:params.N3max] - j,p,t = JPT - for N = 0:params.N3max - nphys, north = cfpdim[N+1] - nlsjt = @views nlsjts[N+1] - i = 0 - for n12 = 0:div(N,2) - for n3 = 0:div(N-2*n12,2) - for l12 = 0:N-2*n12 -2*n3 - l3 = N- 2*n12 -2*n3 -l12 - if (-1)^(l12+l3) != p;continue;end - for s12 = 0:1 - for j12 = abs(l12-s12):l12+s12 - for t12 = 0:1 - if !tri_check(2*t12,1,t);continue;end - if (-1)^(l12+s12+t12) != -1 ;continue;end - for j3 = abs(2*l3-1):2:2*l3 +1 - if !tri_check(2*j12, j3, j);continue;end - i += 1 - #println("i $i nlsjt $nlsjt l12 $l12 l3 $l3 j3 $j3") - nlsjt[1,i] = n12; nlsjt[2,i] = l12 - nlsjt[3,i] = s12; nlsjt[4,i] = j12 - nlsjt[5,i] = t12; nlsjt[6,i] = n3 - nlsjt[7,i] = l3; nlsjt[8,i] = j3 - end - end - end - end - end - end - end - #println("JPT $JPT i $i ndim/north $nphys $north ") - if nphys == 0;continue;end - if north == 0;continue;end - A = zeros(Float64,nphys,nphys) - for ib = 1:nphys # bra - n12,l12,s12,j12,t12,n3,l3,j3 = @view nlsjt[:,ib] - for ik = 1:ib # ket - n45,l45,s45,j45,t45,n6,l6,j6= @view nlsjt[:,ik] - @timeit to "anti" anti = anti_op_isospin(dWS, - n12,l12,s12,j12,t12,n3,l3,j3, - n45,l45,s45,j45,t45,n6,l6,j6,j,t,to) - A[ib,ik] = A[ik,ib] = anti - end - end - @timeit to "eigen" vals,vecs = eigen(A) - - write_cfp_bin(io,north,nphys,vals,vecs,JPT,N,params) - end - close(io) - return nothing +function make_3b_mesh_mats(pmax3,Np,Nq,Nangle) + ps,wps = Gauss_Legendre(0.0,pmax3,Np) + qs,wqs = Gauss_Legendre(0.0,pmax3,Nq) + pqs,wpqs,dim = make_pq(ps,wps,qs,wqs) + us,wus = Gauss_Legendre(-1.0,1.0,Nangle) + return mesh_3NF(ps,wps,qs,wqs,pqs,wpqs,us,wus) end -function write_cfp_bin(io,north,nphys,vals,vecs,JPT,N,params) - write(io, nphys);write(io,north);write(io,N) - cfp = zeros(Float64,north,nphys) - hit = 0 - for i = 1:length(vals) - val = vals[i] - vec = @view vecs[:,i] - if abs(val - 1.0) < 1.e-5 - hit +=1 - cfp[hit,:] .= vec - write(io,vec) - elseif abs(val-0.0) < 1.e-5 - nothing - else - println("warn! something is wrong");exit() +function get_params3N(param_str,paramsNN,LECs,to;io=stdout) + e2max = paramsNN.emax + Np,Nq,Nangle,e3max,N3max,L3max,j3max,J12max,hw,chiorder3b,Lambda3NF,LambdaChi,TFrenorm,pmax3,rmax3,main_basis,regulator = dev_param3NF() + if param_str != "dev" + @error "param_str = $paramstr is not supported now" end - end - if north != hit; println("warn! something is wrong for north");exit();end - return nothing + + dWS = prep_dWS3N(N3max,J12max,j3max,to) + + meshpoints = make_3b_mesh_mats(pmax3,Np,Nq,Nangle) + return params3b(e2max,e3max,N3max,L3max,j3max,J12max,hw,chiorder3b,Lambda3NF,LambdaChi,TFrenorm,pmax3,rmax3,meshpoints,LECs,dWS,main_basis,regulator) end -""" - prep_dWS3n(e3max,N3max) +function overwrite3NFparams(fn,e3max_in,N3max_in,L3max_in,j3max_in,J12max_in,hw_in,chiorder3b_in,Lambda3NF_in,LambdaChi_in,TFrenorm_in,pmax3_in,rmax3_in) + e3max_r = e3max_in + if @isdefined(e3max); e3max_r = e3max; end + N3max_r = N3max_in + if @isdefined(e3max); _r = e3max; end + + L3max_r = L3max_in + j3max_r = j3max_in + J12max_r = J12max_in + hw_r = hw_in + chiorder3b_r = chiorder3b_in + Lambda3NF_r = Lambda3NF_in + LambdaChi_r = LambdaChi_in + TFrenorm_r = TFrenorm_in + pmax3_r = pmax3_in + rmax3_r = rmax3_in + + return e3max_r,N3max_r,L3max_r,j3max_r,J12max_r,hw_r,chiorder3b_r,Lambda3NF_r,LambdaChi_r,TFrenorm_r,pmax3_r,rmax3_r +end - to prepare Wigner symbols (CG/6j/9j) for three body force """ -function prep_dWS3n(e3max,N3max) - dcgm0 = Dict{Vector{Int64},Float64}() - dtri = Dict{Vector{Int64},Float64}() - d6j = Dict{Vector{Int64},Float64}() - d9j = Dict{Vector{Int64},Float64}() - for l = 0:2*N3max - for l1 = 0:2*N3max - for l2 = 0:2*N3max - key = [l1,l2,l] - dtri[key] = trinomial(l1,l2,l) - end - end - end - for l = 0:N3max - for l1 = 0:N3max - for l2 = abs(l-l1):l+l1 - if !tri_check(l1,l2,l);continue;end - key = [l1,l2,l] - dcgm0[key] = clebschgordan(Float64,l1,0,l2,0,l,0) - end - end - end - s3 = 1//2 - for s12=0:1 - for s45=0:1 - smin = max(abs(s12-s3),abs(s45-s3)) - smax = min(s12+s3,s45+s3) - for S = smin:smax - key = [ 2*s12, 2*S,2*s45] - d6j[key] = wigner6j(Float64,1//2,1//2,s12,1//2,S,s45) + anti_op_isospin(params,n12,l12,s12,j12,t12,n3,l3,j3,n45,l45,s45,j45,t45,n6,l6,j6,jtot,ttot,to) + +Function to calc. matrix element of antisymmetrizer. +Detailed derivation can be found in e.g., Eq.(3.119) of Master Thesis by Joachim Langhammer (2010), TUDarmstadt. +""" +function anti_op_isospin(params::params3b, + n12,l12,s12,j12,t12,n3,l3,j3, + n45,l45,s45,j45,t45,n6,l6,j6,jtot,ttot, + to) + if (2 * n12 + l12 + 2 * n3 + l3 != 2 * n45 + l45 + 2 * n6 + l6);return 0.0;end + + ex = 0.0 + d6j = params.dWS.d6j_lj + d9j = params.dWS.d9j_lsj + dictHOB = params.dWS.dictHOB + + s_min = max(abs(2*s12 -1), abs(2*s45 -1)) + s_max = min(2*s12+1, 2*s45+1) + hit = 0 + for stot = s_min:2:s_max #Note: stot is already doubled + lambda_min = max(abs(l12-l3),abs(l45-l6),div(abs(jtot-stot),2)) + lambda_max = min(l12+l3, l45+l6, div(jtot+stot,2)) + for lambda = lambda_min:lambda_max + tmp = sqrt((2*j12+1)*(j3+1)*(2*lambda+1)*(stot+1)) + tmp *= sqrt((2*j45+1)*(j6+1)*(2*lambda+1)*(stot+1)) + tmp *= sqrt((2*s12+1)*(2*s45+1)) + tmp *= call_d9j_lsj(l12*2,s12*2,j12*2,l3*2,1,j3,2*lambda,stot,jtot,d9j) + if tmp == 0.0; continue;end + tmp *= call_d9j_lsj(l45*2,s45*2,j45*2,l6*2,1,j6,2*lambda,stot,jtot,d9j) + t6j = call_d6j(1,1,s12*2,1,stot,s45*2,d6j) + tmp *= t6j + tmp *= get_dictHOB(n12, l12, n3, l3, n45, l45, n6, l6, lambda, dictHOB) + ex += tmp + hit += 1 end - end end - for l12 = 0:N3max - for s12 = 0:1 - for j12 = abs(l12-s12):l12+s12 - for l3 = 0:N3max-l12 - s3 = 1//2 - for j3 = abs(l3-s3):l3+s3 - for Lam = abs(l12-l3):l12+l3 - if !tri_check(Lam,l12,l3);continue;end - for S = abs(s12-s3):s12+s3 - if !tri_check(S,s12,s3);continue;end - for J = abs(j12-j3):j12+j3 - if !tri_check(J,j12,j3);continue;end - key = [l12,2*s12,2*j12, - l3, j3*2, - Lam,2*S,2*J] # s3=1/2 is trivial, so skipped - d9j[key] = wigner9j(l12,s12,j12,l3,s3,j3,Lam,S,J) - end - end - end - end - end - end - end + tmp = (-1.0)^(s12 + t12 + s45 + t45) + tmp *= sqrt((2*t12+1)*(2*t45+1)) + tmp *= call_d6j(1,1,t12*2,1,ttot,t45*2,d6j) + ex *= tmp + anti = - 2.0 * ex / 3.0 + if (n12 == n45 && l12 == l45 && s12 == s45 && j12 == j45 && + t12 == t45 && n3 == n6 && l3 == l6 && j3 == j6) + anti = (1.0 - 2.0 * ex ) / 3.0 + end + return anti +end + +function ret_fregvec_nonlocal(params;npow=2) + Lambda = params.Lambda3NF + pqs = params.meshpoints.pqs + dim = size(pqs)[1] + vec = zeros(Float64,dim) + for pqidx in eachindex(params.meshpoints.wpqs) + p,q = @view pqs[pqidx,:] + vec[pqidx] = nonlocal_regulator_3NF(p,q,npow,Lambda) end - #wigner9j(l12,s12,j12,l3,1//2,j3//2,lambda,stot//2,jtot//2) - #wigner6j(Float64,1//2,1//2,s12,1//2,stot//2,s45) - keycg = zeros(Float64,3); key6j = zeros(Float64,3);key9j = zeros(Float64,8) - return dWS3n(dcgm0,d6j,d9j,dtri,keycg,key6j,key9j) -end + return vec +end """ - overwrite_key6!(s12,S,s45,key) - -overwrite key for 6j symbols +EGM => Eq.(19) in E.Epelbaum et al., PRC 66, 064001(2002). +Navratil => Eq.(11) in P.Navratil Few Body Syst. (2007) 41:117-140 +Lambda in given in MeV """ -function overwrite_key6!(s12,S,s45,key) - key[1]=s12; key[2]=S; key[3]=s45 - return nothing +function nonlocal_regulator_3NF(p,q,npow,Lambda;type="Navratil") + if type == "EGM" + return exp( - ((p^2 + 3/4 * q^2)/((Lambda/hc)^2))^npow) + elseif type=="Navratil" + return exp( - ( 0.5 * (p^2 + q^2)/((Lambda/hc)^2))^2) + else + @error "function nonlocal_regulator_3NF: `type`=$type is not supported!" + end end """ - overwrite_key9!(l12,s12,j12,l3,j3,Lam,stot,jtot,key) - -overwrite key for 9j symbols +<τ2・τ3> = 6 (-1)^(t+t'+T+1/2) *wigner6j(t,t',1,1/2,1/2,1/2) * wigner6j(t,t',1,1/2,1/2,T) """ -function overwrite_key9!(l12,s12,j12,l3,j3,Lam,stot,jtot,key) - key[1]=l12; key[2]=s12; key[3]=j12 - key[4]=l3 ; key[5]=j3; - key[6]=Lam; key[7]=stot; key[8]=jtot - return nothing +function IsospinDot(t_ij::Int,t_kl::Int,dT::Int,d6j) + fac = 6.0 * (-1)^(t_ij + t_kl + div(dT+1,2) ) + if t_ij == t_kl == 0; return 0.0;end + w6j1 = call_d6j(t_ij*2,t_kl*2,2,1,1,1,d6j) + w6j2 = call_d6j(t_ij*2,t_kl*2,2,1,1,dT,d6j) + r = fac * w6j1 * w6j2 * hat(t_ij) * hat(t_kl) + return r end """ - anti_op_isospin(dWS,n12,l12,s12,j12,t12,n3,l3,j3,n45,l45,s45,j45,t45,n6,l6,j6,jtot,ttot,to) - -Function to calc. matrix element of antisymmetrizer. -Detailed derivation can be found in e.g., Eq.(3.119) of Master Thesis by Joachim Langhammer (2010), TUDarmstadt. +prepare R_nl(r) with 2n12+l12 + 2N + L = e12 + e3 = N3 <= N3max +Note that twice of reduced mass is used in this function """ -function anti_op_isospin(dWS, - n12,l12,s12,j12,t12,n3,l3,j3, - n45,l45,s45,j45,t45,n6,l6,j6,jtot,ttot, - to) - ex = 0.0 - if (2 * n12 + l12 + 2 * n3 + l3 != 2 * n45 + l45 + 2 * n6 + l6);return 0.0;end - s_min = max(abs(2*s12 -1), abs(2*s45 -1)) - s_max = min(2*s12+1, 2*s45+1) - X6 = dWS.d6j; key6 = dWS.key6j - X9 = dWS.d9j; key9 = dWS.key9j - for stot = s_min:2:s_max #Note: stot is already doubled - lambda_min = max(abs(l12-l3),abs(l45-l6),div(abs(jtot-stot),2)) - lambda_max = min(l12+l3, l45+l6, div(jtot+stot,2)) - for lambda = lambda_min:lambda_max - tmp = sqrt((2*j12+1)*(j3+1)*(2*lambda+1)*(stot+1)) - tmp *= sqrt((2*j45+1)*(j6+1)*(2*lambda+1)*(stot+1)) - tmp *= sqrt((2*s12+1)*(2*s45+1)) - try - overwrite_key9!(l12,2*s12,2*j12,l3,j3,lambda,stot,jtot,key9); tmp *= X9[key9] - catch - println("key9 $key9 l12 $l12 l3 $l3 j3 $j3") - exit() +function prep_Rnls(params3NF) + N3max = params3NF.N3max + rmass = 2*Mp*Mn/(Mp+Mn) + b = sqrt(hc^2 /(rmass* params3NF.hw)) + ps = params3NF.meshpoints.ps + nmesh = length(ps) + Rnl_r = Dict{Int64,Vector{Float64}}() + Rnl_p = Dict{Int64,Vector{Float64}}() + for E = 0:N3max + for n = 0:div(E,2) + l = E - 2*n + rnl_r = zeros(Float64,nmesh) + rnl_p = zeros(Float64,nmesh) + for (imesh,p) in enumerate(ps) + rnl_p[imesh] = p * single_Rnl(p,b,n,l) + r = p + rnl_r[imesh] = r * single_Rnl(r,1.0/b,n,l) + end + tkey = get_nkey3(E,n,l) + Rnl_p[tkey] = rnl_p + Rnl_r[tkey] = rnl_r end - overwrite_key9!(l45,2*s45,2*j45,l6,j6,lambda,stot,jtot,key9); tmp *= X9[key9] - overwrite_key6!(2*s12,stot,2*s45,key6);tmp *= X6[key6] - tmp *= gmosh2(n12, l12, n3, l3, n45, l45, n6, l6, lambda,1.0/3.0,dWS,to) - ex += tmp - end - end - tmp = (-1.0)^(s12 + t12 + s45 + t45) - tmp *= sqrt((2*t12+1)*(2*t45+1)) - overwrite_key6!(2*t12,ttot,2*t45,key6) - tmp *= X6[key6] - ex *= tmp - anti = - 2.0 * ex / 3.0 - if (n12 == n45 && l12 == l45 && s12 == s45 && j12 == j45 && - t12 == t45 && n3 == n6 && l3 == l6 && j3 == j6) - anti = (1.0 - 2.0 * ex ) / 3.0 - end - return anti -end \ No newline at end of file + end + return Rnl_r,Rnl_p +end + diff --git a/src/chiEFTint/valence.jl b/src/chiEFTint/valence.jl index fabd65ec..13997460 100644 --- a/src/chiEFTint/valence.jl +++ b/src/chiEFTint/valence.jl @@ -164,7 +164,7 @@ function NLOvs(chiEFTobj,dLECs,vs,xr,wr,xrP,wrP,Rnl,RNL, fac34 = 12.0*pi *hat(Jrel) * hat(Jrelp) * hat(Lp) fac34 *= clebschgordan(Float64,Lp,0,1,0,L,0) fac34 *= wigner6j(Float64,Jrel,L,Jtot,Lp,Jrelp,1) - fac34 *= wigner9j(Float64,1,1,1,ell,S,Jrel,ellp,Sp,Jrelp) + fac34 *= wigner9j(1,1,1,ell,S,Jrel,ellp,Sp,Jrelp) fac4 = fac34 fac3 = 2.0*sqrt(2.0) * fac34 fac3 *= (-1)^(L+Jtot+Jrelp+Sp+1) diff --git a/src/genuine3NF.jl b/src/genuine3NF.jl new file mode 100644 index 00000000..9020eb30 --- /dev/null +++ b/src/genuine3NF.jl @@ -0,0 +1,54 @@ +module genuine3NF + +using AssociatedLegendrePolynomials +using Base.Threads +using Combinatorics +using FLoops +using Glob +using LatinHypercubeSampling +using LaTeXStrings +using LinearAlgebra +using MPI +using Printf +using Random +using StatsBase +using Statistics +using SpecialFunctions +using TimerOutputs +using WignerSymbols + +### ChiEFTint.jl chiEFTint/ +include("chiEFTint/struct_const_io.jl") +include("chiEFTint/dict_LECs.jl") +include("chiEFTint/contact.jl") +include("chiEFTint/pionexchange.jl") +include("chiEFTint/angmom_algebra.jl") +include("chiEFTint/eff3nf.jl") +include("chiEFTint/main_chiEFTint.jl") +include("chiEFTint/calibration.jl") +include("chiEFTint/valence.jl") +include("chiEFTint/renorm.jl") +include("chiEFTint/threebodyforce.jl") +include("chiEFTint/threebody_Jacobi.jl") +include("chiEFTint/threebody_JacobiHO.jl") +include("chiEFTint/threebody_lab.jl") +include("chiEFTint/matter.jl") +include("chiEFTint/nn_sampling.jl") +export make_chiEFTint +export test3NF + +### HartreeFock.jl +include("hartreefock.jl/def_struct.jl") +include("hartreefock.jl/io_input.jl") +include("hartreefock.jl/main.jl") +include("hartreefock.jl/hf_mbpt.jl") +include("hartreefock.jl/operator.jl") +export nuclist +export hf_main + +include("IMSRG.jl/imsrg_util.jl") +end + + + + diff --git a/src/hartreefock.jl/def_struct.jl b/src/hartreefock.jl/def_struct.jl index 5ea069e9..3c72ab1a 100644 --- a/src/hartreefock.jl/def_struct.jl +++ b/src/hartreefock.jl/def_struct.jl @@ -72,22 +72,23 @@ struct chan2b Tz::Int64 prty::Int64 J::Int64 - kets::Vector{Vector{Int64}} + kets::Vector{NTuple{2,Int64}} + nkets::Int64 end """ -struct `chan2bD` +struct `Chan2bD` # Fields - `Chan2b::Vector{chan2b}` array of chan2b (ch=1,...,nchan) - `dict_ch_JPT::Dict{Vector{Int64},VdictCh}` dict to get VdictCh by given key `[J,prty,T]` -- `dict_ch_idx_from_ket::Vector{Vector{Dict{Vector{Int64},Vector{Vector{Int64}}}}}` dict to get [ch,idx], having array structure [pnrank(=1/2/3)][J+1], `key`=ket +- `dict_ch_idx_from_ket::Vector{Dict{UInt64,NTuple{2,Int64}}}` dict to get `(ch,idx)`, having array structure [pnrank(=1/2/3)] and key structure [i_ket,j_ket,J]. - `dict_idx_from_chket::Vector{Dict{Vector{Int64},Int64}}` dict to get idx from ket, having array structure [ch] """ -struct Chan2bD +struct chan2bD Chan2b::Vector{chan2b} - dict_ch_JPT::Dict{Vector{Int64},VdictCh} - dict_ch_idx_from_ket::Vector{Vector{Dict{Vector{Int64},Vector{Vector{Int64}}}}} - dict_idx_from_chket::Vector{Dict{Vector{Int64},Int64}} + dict_ch_JPT::Dict{UInt64,VdictCh} + dict_ch_idx_from_ket::Vector{Dict{UInt64,NTuple{2,Int64}}} + dict_idx_from_chket::Vector{Dict{Vector{Int64},Int64}} end """ @@ -105,24 +106,29 @@ end struct `PandyaObject`, used for Pandya transformation (especially in `comm222ph_ss!`) """ struct PandyaObject - numbers::Vector{Vector{Int64}} - numbers_addinv::Vector{Vector{Int64}} + numbers::Vector{NTuple{4,Int64}} + numbers_addinv::Vector{NTuple{4,Int64}} Chan2b::Vector{chan2b} phkets::Vector{Vector{Int64}} - dict_ich_idx_from_ketcc::Vector{Dict{Int64,Int64}} + copy_1bmat::Vector{Matrix{Float64}} + vecs_nab::Vector{Vector{Float64}} + vecs_nab_bar::Vector{Vector{Float64}} + dict_ich_idx_from_ketcc::Vector{Dict{UInt64,Int64}} XYbars::Vector{Vector{Matrix{Float64}}} Zbars::Vector{Matrix{Float64}} PhaseMats::Vector{Matrix{Float64}} tMat::Vector{Matrix{Float64}} - dict_ch2ich::Dict{Int64,Int64} + dict_ch2ich::Vector{Int64} keys6j::Vector{Vector{Int64}} util122::Vector{Vector{single_util122}} Mats_hh::Vector{Matrix{Float64}} Mats_pp::Vector{Matrix{Float64}} Mats_ph::Vector{Matrix{Float64}} + vec_flat::Vector{Float64} + idxdict_nth::Dict{UInt64,Int64} + Pandya3Channels::Vector{NTuple{3,Int64}} end - mutable struct valDictMonopole monopole::Vector{Float64} vals::Vector{Vector{Int64}} @@ -134,7 +140,7 @@ struct `dictTBMEs` contains dictionaries for TBME/monopole - `dictMonopole::Vector{Dict{Vector{Int64},valDictMonopole}}` one can get monopole component of two-body interaction by `dictMonopole[pnrank][key]`, `key` to be ket array like `[1,1]` """ struct dictSnt - dictTBMEs::Vector{Dict{Vector{Int64},Float64}} + dictTBMEs::Vector{Dict{Vector{Int64},Vector{Float64}}} dictMonopole::Vector{Dict{Vector{Int64},valDictMonopole}} end @@ -207,15 +213,15 @@ mutable struct `SingleParticleState` - `v::Bool` whether belongs to "valence" or not - `q::Bool` whether belongs to "q-space" or not """ -mutable struct SingleParticleState +struct SingleParticleState n::Int64 l::Int64 j::Int64 tz::Int64 - occ::Float64 - c::Bool - v::Bool - q::Bool + occ::Vector{Float64} + c::Vector{Bool} + v::Vector{Bool} + q::Vector{Bool} end """ @@ -242,7 +248,7 @@ struct ModelSpace end """ -mutable struct `Operator` +struct `Operator` # Fields - `zerobody::Vector{Float64}` zerobody part of the operator - `onebody::Vector{Matrix{Float64}}` one-body matrix elements ([1]=>proton, [2]=>neutron) @@ -250,12 +256,12 @@ mutable struct `Operator` - `hermite::Bool` whether it is hermitian operator or not - `antihermite::Bool` antihermitian or not """ -mutable struct Operator +struct Operator zerobody::Vector{Float64} onebody::Vector{Matrix{Float64}} twobody::Vector{Matrix{Float64}} - hermite::Bool - antihermite::Bool + hermite::Vector{Bool} + antihermite::Vector{Bool} end """ @@ -291,7 +297,8 @@ mutable struct `IMSRGobject` - `s::Vector{Float}` current ``s`` and ``ds`` - `smax::Float` maximum ``s`` - `dsmax::Float` maximum ``ds`` -- `maxnormOmega::Float` maximum ||Omega|| +- `maxnormOmega::Float` maximum ||Omega|| for spliting +- `magnusmethod::String` "" or "split" => spliting method, "NS" or "no-split" => w/o spliting - `eta::Operator` generator of IMSRG flow (antihermite Operator) - `Omega::Operator` generator of IMSRG flow (antihermite Operator) - `eta_criterion::Float` ||eta|| to check convergence @@ -306,6 +313,7 @@ mutable struct IMSRGobject smax::Float64 dsmax::Float64 maxnormOmega::Float64 + magnusmethod::String eta::Operator Omega::Operator eta_criterion::Float64 @@ -318,28 +326,13 @@ end struct `dWS2n`, Wigner symbols used in PreCalcHOB # Fields - `dtri::Dict{Vector{Int64},Float64}` dict for trinomial -- `dcgm0::Dict{Vector{Int64},Float64}` dict for special CG coefficients -- `keycg::Vector{Vector{Int64}}` array of key for cg +- `dcgm0::Dict{Int64,Float64}` dict for special CG coefficients (l0l'0|L0) """ struct dWS2n - dtri::Dict{Vector{Int64},Float64} - dcgm0::Dict{Vector{Int64},Float64} - keycg::Vector{Vector{Int64}} -end - -""" -struct `HarmonicOscillatorBrackets` - -A hierarchical array of dictionaries reduces readability, but on the other hand a few hierarchical structures. -It may reduce the time taken to traverse the elements... - -# Fields -- `dict::Vector{Vector{Dict{Vector{Int64},Float64}}}` dictionary for HOB [L][e2] #e2=2n+l+2N+L=2n1+l1+2n2+l2 -- `key::Vector{Int64}` -""" -struct HarmonicOscillatorBrackets - dict::Vector{Vector{Dict{Vector{Int64},Float64}}} - key::Vector{Int64} + dtri::Dict{Int64,Float64} + dcgm0::Dict{Int64,Float64} + d6j_int::Dict{UInt64,Float64} + d6j_lj::Dict{UInt64,Float64} + d9j_lsj::Dict{Int64,Dict{Int64,Dict{Int64,Float64}}} + dictHOB::Dict{Int64,Dict{Int64,Dict{Int64,Float64}}} end - - diff --git a/src/hartreefock.jl/hf_mbpt.jl b/src/hartreefock.jl/hf_mbpt.jl index 4da781db..f099c2fc 100644 --- a/src/hartreefock.jl/hf_mbpt.jl +++ b/src/hartreefock.jl/hf_mbpt.jl @@ -17,7 +17,7 @@ E^{(2)} = \\frac{1}{4}\\sum_{abij} \\frac{\\bar{H}^{[2]}_{abij} \\bar{H}^{[2]}_{ \\frac{{}^J\\bar{H}^{[2]}_{\\tilde{a}\\tilde{b}\\tilde{i}\\tilde{j}} {}^J\\bar{H}^{[2]}_{\\tilde{i}\\tilde{j}\\tilde{a}\\tilde{b}}}{\\epsilon^{ab}_{ij}} ``` """ -function HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=false) +function HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=false,io=stdout) p_sps = modelspace.p_sps n_sps = modelspace.n_sps sps = modelspace.sps @@ -50,7 +50,7 @@ function HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=false) for ib = 1:npq α, α_ = kets[ib] oα = sps[α]; oα_= sps[α_] - nafac = oα.occ * oα_.occ + nafac = oα.occ[1] * oα_.occ[1] if nafac == 0.0; continue;end if (oα.tz + oα_.tz != Tz);continue;end iα = div(α,2) + α%2 @@ -59,7 +59,7 @@ function HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=false) e1b_α_ = ifelse(α_%2==1,e1b_p,e1b_n) for ik = 1:npq β, β_ = kets[ik] - if sps[β].occ + sps[β_].occ !=0.0;continue;end + if sps[β].occ[1] + sps[β_].occ[1] !=0.0;continue;end if (sps[β].tz + sps[β_].tz != Tz);continue;end iβ = div(β,2) + β%2 iβ_= div(β_,2) + β_%2 @@ -74,15 +74,15 @@ function HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=false) end end end - if verbose - println("EMP2 ",@sprintf("%9.3f",EMP2)," 1b ",@sprintf("%9.3f",EMP2_1b), + if true # verbose + println(io,"EMP2 ",@sprintf("%12.5f",EMP2)," 1b ",@sprintf("%9.3f",EMP2_1b), " pp ",@sprintf("%9.3f",EMP2_pp)," pn ",@sprintf("%9.3f",EMP2_pn)," nn ",@sprintf("%9.3f",EMP2_nn)) end return EMP2 end """ - HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to) + HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dWS,Gamma,to;io=stdout) Calculate 2nd order correction to HF energy ```math @@ -118,9 +118,8 @@ E^{(3)}= Ref. Many-Body Methods in Chemistry and Physics by Isaiah Shavitt and Rodney J. Bartlett (2009, Cambridge Molecular Science). More details can be found in e.g. Dr. thesis by A.Tichai (2017, TU Darmstadt). """ -function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to;verbose=false) - p_sps = modelspace.p_sps - n_sps = modelspace.n_sps +function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dWS,Gamma,to;verbose=false,io=io) + d6j_lj = dWS.d6j_lj sps = modelspace.sps holes = modelspace.holes particles = modelspace.particles @@ -129,7 +128,7 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to return 0.0 end e1b = Float64[ ] - for i = 1:length(e1b_p) + for i in eachindex(e1b_p) push!(e1b,e1b_p[i]); push!(e1b,e1b_n[i]) end EMP3 = EMP3_pp = EMP3_ph = EMP3_hh = 0.0 @@ -144,15 +143,15 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to npq = length(kets) for i = 1:npq α, α_ = kets[i] - nafac = sps[α].occ * sps[α_].occ + nafac = sps[α].occ[1] * sps[α_].occ[1] if nafac == 0; continue;end for j = 1:npq β, β_ = kets[j] - if sps[β].occ + sps[β_].occ == 0 + if sps[β].occ[1] + sps[β_].occ[1] == 0 v1 = Gam[i,j] for k = 1:npq γ, γ_ = kets[k] - if sps[γ].occ + sps[γ_].occ != 0.0; continue;end + if sps[γ].occ[1] + sps[γ_].occ[1] != 0.0; continue;end v2 = Gam[j,k] v3 = Gam[k,i] nume = v1 * v2 * v3 @@ -160,12 +159,12 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to EMP3_pp += (2*J+1) * nume/deno # * nafac end end - nbfac = sps[β].occ * sps[β_].occ + nbfac = sps[β].occ[1] * sps[β_].occ[1] if nbfac != 0 v1 = Gam[i,j] for k = 1:npq γ, γ_ = kets[k] - if sps[γ].occ + sps[γ_].occ != 0; continue;end + if sps[γ].occ[1] + sps[γ_].occ[1] != 0; continue;end v2 = Gam[j,k] v3 = Gam[k,i] nume = v1 * v2 * v3 @@ -179,16 +178,12 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to allhs = vcat(holes[1],holes[2]) allps = vcat(particles[1],particles[2]) nthre = nthreads() - keys6j = [ zeros(Int64,5) for i=1:nthre] keychs = [ zeros(Int64,3) for i=1:nthre] - keyabs = [ zeros(Int64,2) for i=1:nthre] Ethreads = zeros(Float64,nthre) - @threads for idxa = 1:length(allps) + @threads for idxa in eachindex(allps) a = allps[idxa] threid = threadid() - key6j = keys6j[threid] keych = keychs[threid] - keyab = keyabs[threid] oa = sps[a]; la = oa.l; ja = oa.j; tz_a = oa.tz Etmp = 0.0 for i in allhs @@ -201,7 +196,6 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to for totJ = Jmin:Jmax if tri_check(ja,jj,totJ*2)==false;continue;end Jfac = (2.0*totJ+1.0) - tdict6j = dict6j[totJ+1] ehole = e1b[i]+e1b[j] prty_ij = (-1)^(li+lj) for b in allps @@ -211,7 +205,7 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to if (-1)^(la+lb) != prty_ij;continue;end if tri_check(ji,jb,totJ*2)==false;continue;end keych[1] = tz_a + tz_b; keych[2] = (-1)^(la+lb) - v1 = vPandya(a,b,i,j,ja,jb,ji,jj,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v1 = vPandya(a,b,i,j,ja,jb,ji,jj,totJ,dict_2b_ch,d6j_lj,Gamma,keych) if v1 == 0.0;continue;end v1 = v1 / (ehole - e1b[a] - e1b[b]) for k in allhs @@ -227,10 +221,10 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to jc = oc.j if tri_check(jk,jc,totJ*2)==false;continue;end keych[1] = tz_i + tz_c; keych[2] = prty_kb # prty_ic - v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,d6j_lj,Gamma,keych) if v2==0.0;continue;end keych[1] = tz_k + tz_j; keych[2] = (-1)^(lk+lj) - v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,d6j_lj,Gamma,keych) v3 = v3 / (e1b[k] + e1b[j] -e1b[a] -e1b[c]) Etmp += Jfac * v1 * v2 * v3 end @@ -243,47 +237,45 @@ function HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to end EMP3_ph = sum(Ethreads) EMP3 = EMP3_pp + EMP3_hh + EMP3_ph - if verbose - println("pp ",@sprintf("%9.3f",EMP3_pp)," hh ",@sprintf("%9.3f",EMP3_hh), - " ph ",@sprintf("%9.3f",EMP3_ph)," EMP3 ",@sprintf("%9.3f",EMP3)) + if true # verbose + println(io,"EMP3 ",@sprintf("%12.5f",EMP3), + " pp ",@sprintf("%9.3f",EMP3_pp)," hh ",@sprintf("%9.3f",EMP3_hh)," ph ",@sprintf("%9.3f",EMP3_ph),) end return EMP3 end -function get_intkey_2(a,b;ofst=1000) - return ofst*a + b -end - """ - vPandya(a,b,c,d,ja,jb,jc,jd,totJ,dict_2b_ch,tdict6j,Gamma,keych,key6j,keyab;verbose=false) + vPandya(a,b,c,d,ja,jb,jc,jd,totJ,dict_2b_ch,d6j_lj,Gamma,keych,key6j,keyab;verbose=false) returns generalized Pandya transformed matrix element: ```math \\tilde{V}^J_{ajib} = -\\sum_{J'} [J'] \\begin{Bmatrix} -j_a & j_j & J \\\\ -j_i & j_d & J' +j_a & j_j & J \\\\ j_i & j_d & J' \\end{Bmatrix} V^{J'}_{abij} ``` """ -function vPandya(a,b,c,d,ja,jb,jc,jd,totJ,dict_2b_ch,tdict6j,Gamma,keych;verbose=false) +function vPandya(a,b,c,d,ja,jb,jc,jd,totJ,dict_2b_ch,d6j_lj,Gamma,keych;verbose=false) Jmin = div(max(abs(ja-jb),abs(jc-jd)),2) Jmax = div(min(ja+jb,jc+jd),2) - nkeyab = get_intkey_2(a,b); nkeycd = get_intkey_2(c,d) + nkeyab = get_nkey2(a,b); nkeycd = get_nkey2(c,d) + if a > b # this can happen only when Tz=0 now - nkeyab = get_intkey_2(b,a) + nkeyab = get_nkey2(b,a) end if c > d # this can happen only when Tz=0 now - nkeycd = get_intkey_2(d,c) + nkeycd = get_nkey2(d,c) end v = 0.0 @inbounds for Jp = Jmin:Jmax if Jp % 2 == 1 && (a==b || c==d);continue;end - nkey = get_nkey_from_key6j(ja,jd,jc,jb,Jp); t6j = tdict6j[nkey] + t6j = call_d6j(ja,jd,totJ*2,jc,jb,Jp*2,d6j_lj) if t6j == 0.0; continue;end keych[3] = Jp - vch = dict_2b_ch[keych].Vch; vdict = dict_2b_ch[keych].Vdict + vch = dict_2b_ch[get_nkey3_JPT(keych[1],keych[2],Jp)].Vch + vdict = dict_2b_ch[get_nkey3_JPT(keych[1],keych[2],Jp)].Vdict + norfac = ifelse(a == b,sqrt(2.0),1.0) * ifelse(c == d,sqrt(2.0),1.0) if a > b; norfac *= (-1)^(div(ja+jb,2)+Jp+1); end if c > d; norfac *= (-1)^(div(jc+jd,2)+Jp+1); end diff --git a/src/hartreefock.jl/io_input.jl b/src/hartreefock.jl/io_input.jl index 59868adb..5f57b7a2 100644 --- a/src/hartreefock.jl/io_input.jl +++ b/src/hartreefock.jl/io_input.jl @@ -1,16 +1,8 @@ -const nuclist = [ - "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", - "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", - "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", - "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", - "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", - "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og" ] - """ get_ZNref(ref,Z,N,corenuc) get ``Z`` and ``N`` of the target reference """ -function get_ZNref(ref,Z,N,corenuc) +function get_ZNref(ref::String,Z::Int,N::Int,corenuc::String) Zref = Z; Nref = N cZ = cN = 0 if ref =="core" @@ -27,7 +19,7 @@ end def_nuc(nuc::Vector{Int},ref,corenuc) constructor of `nuclei` strict from given `Z`,`N`,`ref`,`corenuc` """ -function def_nuc(nuc::Vector{Int},ref,corenuc) +function def_nuc(nuc::Vector{Int},ref::String,corenuc::String) Z,N = nuc el = nuclist[Z] A = Z+N @@ -54,8 +46,7 @@ function def_nuc(cnuc::String,ref::String,corenuc::String) Z = tZ;break end end - A = parse(Int64,A); N = A-Z - + A = parse(Int64,A); N = A-Z Zref = Z; Nref = N cZ,cN = cZN_from_corenuc(Zref,Nref,corenuc) if ref == "core" @@ -94,8 +85,8 @@ function rm_comment(lines) nlines = [] for line in lines line = strip(line) - if length(line)>1 - if startswith(line,"!") + if length(line) > 0 + if startswith(line,"!")||startswith(line,"#") continue end end @@ -117,22 +108,28 @@ end Function to read snt file. Note that it is slightly different from `readsnt()` in ShellModel.jl. """ function readsnt(sntf,binfo,to) - Anum=binfo.nuc.Aref;hw=binfo.hw + Anum=binfo.nuc.Aref;hw=binfo.hw;emax_calc = binfo.emax;emax_calc = binfo.emax f = open(sntf,"r");tlines = readlines(f);close(f) lines = rm_comment(tlines) line = lines[1] lp,ln,cp,cn = map(x->parse(Int,x),rm_nan(split(line," "))) - if lp !=ln; println("lp&ln must be the same!");exit();end + @assert lp ==ln "lp&ln must be the same!" p_sps = SingleParticleState[ ]; n_sps = SingleParticleState[ ] @inbounds for i = 1:lp ith,n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i]," "))[1:5]) - push!(p_sps,SingleParticleState(n,l,j,tz,0,false,false,false)) + if (2*n+l <= emax_calc) + push!(p_sps,SingleParticleState(n,l,j,tz,[0.0],[false],[false],[false])) + end end - @inbounds for i = 1:ln + @inbounds for i = 1:lp ith, n,l,j,tz = map(x->parse(Int,x),rm_nan(split(lines[1+i+ln]," "))[1:5]) - push!(n_sps,SingleParticleState(n,l,j,tz,0,false,false,false)) + if (2*n+l <= emax_calc) + push!(n_sps,SingleParticleState(n,l,j,tz,[0.0],[false],[false],[false])) + end end - sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,lp) + lpn_calc = get_lpln_from_emax(emax_calc) + idxofst = ifelse(lp > lpn_calc,lp-lpn_calc,0) + sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,emax_calc) dict_snt2ms = dicts1b.snt2ms nsp,zero = map(x->parse(Int,x),split(lines[1+ln+lp+1])[1:2]) @@ -140,44 +137,55 @@ function readsnt(sntf,binfo,to) dicts=[ Dict{Int64,Vector{Vector{Float64}}}() for pnrank=1:3] ofst = ln+lp+nsp+3 tls = @view lines[ofst+1:end] + ci=cj=ck=cl=cJ="-1" + cVjj=cVjj_2n3n=cVpp="0.0" @inbounds for ith = 1:ntbme tkey = zeros(Int64,4) tl = tls[ith] - ci,cj,ck,cl,cJ,cVjj,cVpp = split(tl) - tkey[1] = dict_snt2ms[parse(Int64,ci)] - tkey[2] = dict_snt2ms[parse(Int64,cj)] - tkey[3] = dict_snt2ms[parse(Int64,ck)] - tkey[4] = dict_snt2ms[parse(Int64,cl)] - totJ = parse(Float64,cJ); Vjj = parse(Float64,cVjj); Vpp = parse(Float64,cVpp) + sptl = split(tl) + nsptl = length(sptl) + if nsptl == 6 + ci,cj,ck,cl,cJ,cVjj = sptl + elseif nsptl == 7 + ci,cj,ck,cl,cJ,cVjj,cVpp=sptl + elseif nsptl == 8 + ci,cj,ck,cl,cJ,cVjj,cVjj_2n3n,cVpp=sptl + end + totJ = parse(Float64,cJ); Vjj = parse(Float64,cVjj); Vjj_2n3n = parse(Float64,cVjj_2n3n); Vpp = parse(Float64,cVpp) + tkey[1] = parse(Int64,ci) + tkey[2] = parse(Int64,cj) + tkey[3] = parse(Int64,ck) + tkey[4] = parse(Int64,cl) + if !check_truncated_abcd(tkey,lp,lpn_calc,idxofst,dict_snt2ms,to); continue;end nth = 2 if tkey[1] % 2 == 1 && tkey[2] % 2 == 1; nth = 1; elseif tkey[3] % 2 == 0 && tkey[4] %2 == 0; nth=3;end - phase = 1.0 - if nth == 2 + phase = 1.0 + #if nth == 2 i,j,k,l = tkey oi = sps[i];oj = sps[j];ok = sps[k];ol = sps[l] - ji = oi.j; jj = oj.j; jk = ok.j; jl = ol.j + ji = oi.j; jj = oj.j; jk = ok.j; jl = ol.j phaseij = (-1)^(div(ji+jj,2)+totJ+1) phasekl = (-1)^(div(jk+jl,2)+totJ+1) flipij = ifelse(i>j,true,false) flipkl = ifelse(k>l,true,false) if flipij; tkey[1] = j; tkey[2] = i; phase *= phaseij;end if flipkl; tkey[3] = l; tkey[4] = k; phase *= phasekl;end - if tkey[1] > tkey[3] + if tkey[1] > tkey[3] || (tkey[1] == tkey[3] && tkey[2] > tkey[4]) a,b,c,d = tkey tkey[1] = c; tkey[2] = d; tkey[3] = a; tkey[4] = b end - end + #end tdict = dicts[nth] - Vjj *= phase; Vpp *= phase - V2b = Vjj + Vpp*hw/Anum + Vjj *= phase; Vjj_2n3n *= phase; Vpp *= phase + V2b = Vjj + Vjj_2n3n + Vpp*hw/Anum nkey = get_nkey_from_abcdarr(tkey) - t = get(tdict,nkey,false) + Vcm = 0.0 - if t == false - tdict[nkey] = [ [totJ,V2b,Vjj,Vpp*hw,Vcm] ] + if !haskey(tdict,nkey) + tdict[nkey] = [ [totJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,Vcm] ] else - push!(tdict[nkey],[totJ,V2b,Vjj,Vpp*hw,Vcm]) + push!(tdict[nkey],[totJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,Vcm]) end end return sps,dicts1b,dicts @@ -192,16 +200,21 @@ returns: - `dict_snt2ms`: from sntidx to msidx - `dict_ms2snt`: from msidx to sntidx """ -function make_sps_and_dict_isnt2ims(p_sps,n_sps,lp) +function make_sps_and_dict_isnt2ims(p_sps,n_sps,emax_calc) + lpn_calc = get_lpln_from_emax(emax_calc) dict_snt2ms = Dict{Int64,Int64}() dict_ms2snt = Dict{Int64,Int64}() sps = SingleParticleState[ ] - hit = 0 - @inbounds for i = 1:lp - push!(sps,deepcopy(p_sps[i])); hit +=1; dict_snt2ms[i] = hit - dict_ms2snt[hit] = i - push!(sps,deepcopy(n_sps[i])); hit +=1; dict_snt2ms[i+lp] = hit - dict_ms2snt[hit] = i+lp + msidx = 0 + @inbounds for i = 1:lpn_calc + msidx +=1 + push!(sps,p_sps[i]) + dict_snt2ms[i] = msidx + dict_ms2snt[msidx] = i + msidx +=1 + push!(sps,n_sps[i]) + dict_snt2ms[i+lpn_calc] = msidx + dict_ms2snt[msidx] = i+lpn_calc end return sps,Dict1b(dict_snt2ms,dict_ms2snt) end @@ -209,9 +222,6 @@ end make_sps_from_pnsps(p_sps,n_sps,Chan1b) construct `sps` from `p_sps` and `n_sps` - -It may be better to unify the rule whther sps to be constructed "referring" or "copying" p_sps/n_sps. -(For now it does not matter.) """ function make_sps_from_pnsps(p_sps,n_sps,Chan1b) dict_snt2ms = Chan1b.snt2ms; dict_ms2snt = Chan1b.ms2snt @@ -219,49 +229,70 @@ function make_sps_from_pnsps(p_sps,n_sps,Chan1b) sps = SingleParticleState[ ] hit = 0 @inbounds for i = 1:lp - push!(sps,p_sps[i]); hit +=1; dict_snt2ms[i] = hit - dict_ms2snt[hit] = i - push!(sps,n_sps[i]); hit +=1; dict_snt2ms[i+lp] = hit - dict_ms2snt[hit] = i+lp + push!(sps,p_sps[i]); hit +=1; dict_snt2ms[i] = hit; dict_ms2snt[hit] = i + push!(sps,n_sps[i]); hit +=1; dict_snt2ms[i+lp] = hit;dict_ms2snt[hit] = i+lp end return sps end +function get_lpln_from_emax(emax) + lpn = 0 + for e = 0:emax + for n = 0:div(e,2) + l = e-2*n + lpn += ifelse(l==0,1,2) + end + end + return lpn +end + """ readsnt(sntf,binfo,to) Function to read snt.bin file. """ -function readsnt_bin(sntf,binfo,to) - Anum=binfo.nuc.Aref;hw=binfo.hw +function readsnt_bin(sntf,binfo,to;use_Float64=false) + Anum=binfo.nuc.Aref;hw=binfo.hw;emax_calc = binfo.emax f = open(sntf,"r") lp = read(f,Int); ln = read(f,Int) if lp != ln; pringln("lp&ln must be the same! err in readsnt_bin");exit();end cp = read(f,Int); cn = read(f,Int) p_sps = SingleParticleState[ ]; n_sps = SingleParticleState[ ] + lpn_calc = get_lpln_from_emax(emax_calc) + idxofst = ifelse(lp > lpn_calc,lp-lpn_calc,0) @inbounds for i = 1:lp ith = read(f,Int); n = read(f,Int); l = read(f,Int) j = read(f,Int); tz = read(f,Int) - push!(p_sps,SingleParticleState(n,l,j,tz,0,false,false,false)) + if 2*n + l <= emax_calc; + #push!(p_sps,SingleParticleState(n,l,j,tz,0.0,false,false,false)) + push!(p_sps,SingleParticleState(n,l,j,tz,[0.0],[false],[false],[false])) + end end @inbounds for i = 1:ln ith = read(f,Int); n = read(f,Int); l = read(f,Int) j = read(f,Int); tz = read(f,Int) - push!(n_sps,SingleParticleState(n,l,j,tz,0,false,false,false)) + if 2*n + l <= emax_calc; + #push!(n_sps,SingleParticleState(n,l,j,tz,0.0,false,false,false)) + push!(n_sps,SingleParticleState(n,l,j,tz,[0.0],[false],[false],[false])) + end end - sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,lp) + sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,emax_calc) dict_snt2ms = dicts1b.snt2ms + nsp = read(f,Int); zero = read(f,Int); thw = read(f,Float64) spes = [ [read(f,Int),read(f,Int),read(f,Float64)] for i=1:nsp] ntbme = read(f,Int); massop = read(f,Int); thw = read(f,Float64) dicts=[ Dict{Int64,Vector{Vector{Float64}}}() for pnrank=1:3] + for n = 1:ntbme - tkey = zeros(Int64,4) - org_ijkl = [read(f,Int16) for k=1:4] - tkey .= org_ijkl - for k=1:4 - tkey[k] = dict_snt2ms[tkey[k]] + tkey = zeros(Int64,4) + org_ijkl = [read(f,Int16) for k=1:4];tkey .= org_ijkl + totJ = read(f,Int16) + if use_Float64 + Vjj = read(f,Float64); Vjj_2n3n = read(f,Float64); Vpp = read(f,Float64) + else + Vjj = Float64(read(f,Float32)); Vjj_2n3n = Float64(read(f,Float32)); Vpp = Float64(read(f,Float32)) end - totJ = read(f,Int16); Vjj = read(f,Float64); Vpp = read(f,Float64) + if !check_truncated_abcd(tkey,lp,lpn_calc,idxofst,dict_snt2ms,to); continue;end nth = 2 if tkey[1] % 2 == 1 && tkey[2] % 2 == 1; nth = 1; elseif tkey[3] % 2 == 0 && tkey[4] %2 == 0; nth=3;end @@ -274,55 +305,69 @@ function readsnt_bin(sntf,binfo,to) phasekl = (-1)^(div(jk+jl,2)+totJ+1); flipkl = ifelse(k>l,true,false) if flipij; tkey[1] = j; tkey[2] = i; phase *= phaseij;end if flipkl; tkey[3] = l; tkey[4] = k; phase *= phasekl;end - if tkey[1] > tkey[3] + if tkey[1] > tkey[3] || (tkey[1]==tkey[3]&&tkey[2]>tkey[4]) a,b,c,d = tkey tkey[1] = c; tkey[2] = d; tkey[3] = a; tkey[4] = b end end tdict = dicts[nth] - Vjj *= phase + Vjj_2n3n *= phase Vpp *= phase - V2b = Vjj + Vpp*hw/Anum + V2b = Vjj + Vjj_2n3n + Vpp*hw/Anum nkey = get_nkey_from_abcdarr(tkey) - t = get(tdict,nkey,false) Vcm= 0.0 - if t == false - tdict[nkey] = [ [totJ,V2b,Vjj,Vpp*hw,Vcm] ] + tJ = totJ * 1.0 + if !haskey(tdict,nkey) + tdict[nkey] = [ [tJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,Vcm] ] else - push!(tdict[nkey],[totJ,V2b,Vjj,Vpp*hw,Vcm]) - end + push!(tdict[nkey],[tJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,Vcm]) + end end close(f) return sps,dicts1b,dicts end -function get_nkey_from_abcdarr(tkey;ofst=1000) - return tkey[1] + tkey[2] * ofst + tkey[3] * ofst^2 + tkey[4] * ofst^3 -end -function get_abcdarr_from_intkey(nkey;ofst=1000) - intkey = nkey - abcdarr = zeros(Int64,4) - q = div(intkey,ofst^3); abcdarr[4] = q;intkey -= q *ofst^3 - q = div(intkey,ofst^2); abcdarr[3] = q;intkey -= q *ofst^2 - q = div(intkey,ofst^1); abcdarr[2] = q;intkey -= q *ofst^1 - abcdarr[1] = intkey - return abcdarr +function check_truncated_abcd(tkey,lp,lpn_calc,idxofst,dict_snt2ms,to) + tf = true + for k in eachindex(tkey) + org_sntidx = tkey[k] + if org_sntidx > lp # neutron sntidx + sntidx = org_sntidx - idxofst + dicget = get(dict_snt2ms,sntidx,0) + if dicget == 0 + return false + end + tkey[k] = dicget + else #proton sntidx + if org_sntidx <= lpn_calc + tkey[k] = dict_snt2ms[tkey[k]] + else + return false + end + end + end + return tf end + +""" + get_abcdarr_from_intkey!(nkey,abcdarr;ofst=1000) + +A destructive function to get original array from integer array. +""" function get_abcdarr_from_intkey!(nkey,abcdarr;ofst=1000) intkey = nkey q = div(intkey,ofst^3); abcdarr[4] = q;intkey -= q *ofst^3 q = div(intkey,ofst^2); abcdarr[3] = q;intkey -= q *ofst^2 q = div(intkey,ofst^1); abcdarr[2] = q;intkey -= q *ofst^1 abcdarr[1] = intkey - #println("nkey $nkey ntkey => key $abcdarr") return nothing end """ store_1b2b(sps,dicts1b,dicts,binfo) """ -function store_1b2b(sps,dicts1b,dicts,binfo) +function store_1b2b(sps,dicts1b::Dict1b,dicts,binfo) Anum = binfo.nuc.Aref; hw = binfo.hw dim1b = div(length(sps),2) ### store one-body part @@ -346,32 +391,31 @@ function store_1b2b(sps,dicts1b,dicts,binfo) v1b[ith,jth] = v1b[jth,ith] = tmp end end - end - - ### store two-body part - dictTBMEs = [ Dict{Vector{Int64},Float64}( ) for pnrank=1:3] + end + ### store two-body part dictMonopole is used in IMSRG + #dictTBMEs = [ Dict{Vector{Int64},Float64}( ) for pnrank=1:3] + dictTBMEs = [ Dict{Vector{Int64},Vector{Float64}}( ) for pnrank=1:3] dictMonopole = [ Dict{Vector{Int64},valDictMonopole}( ) for pnrank=1:3] for pnrank=1:3 tdictl = dicts[pnrank] tdict = dictTBMEs[pnrank] tmdict = dictMonopole[pnrank] for intkey in keys(tdictl) - tkey = zeros(Int64,4) + tkey = zeros(Int64,4) get_abcdarr_from_intkey!(intkey,tkey) ja = sps[tkey[1]].j; jb = sps[tkey[2]].j jc = sps[tkey[3]].j; jd = sps[tkey[4]].j if div(ja+jb,2) != div(jc+jd,2);continue;end ts = tdictl[intkey] sqfac = sqrt( (1+delta(tkey[1],tkey[2])) * (1+delta(tkey[3],tkey[4]))) - vmono = 0.0 - for t in ts - J = t[1] - v = t[3] + t[4] /Anum + t[5] * Anum - vmono += (2*J+1) * v - end - tdict[tkey] = vmono *sqfac + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,Anum,1.0,false) + tdict[tkey] = [0.0,0.0] + tdict[tkey][1] = vmono *sqfac + tdict[tkey][2] = vmono2n3n *sqfac exkey = [tkey[3],tkey[4],tkey[1],tkey[2]] - tdict[exkey] = vmono *sqfac + tdict[exkey] = [0.0,0.0] + tdict[exkey][1] = vmono *sqfac + tdict[exkey][2] = vmono2n3n *sqfac if tkey[1] == tkey[3] && tkey[2] == tkey[4] vmval = vmono * sqfac / ( (ja+1)*(jb+1) ) tmdict[ [tkey[1],tkey[2]]] = valDictMonopole([vmval,0.0],Vector{Int64}[ ]) @@ -382,59 +426,64 @@ function store_1b2b(sps,dicts1b,dicts,binfo) exkey = copy(tkey) exkey[1] = tkey[2]; exkey[2] = tkey[1] ja = sps[tkey[1]].j; jb = sps[tkey[2]].j - vmono = 0.0 - parity = (-1)^(div(ja+jb,2)+1) - for t in ts - J = t[1] - v = t[3] + t[4] /Anum + t[5] * Anum - phase = parity * (-1)^J - vmono += ((2*J+1)*phase) * v - end - tdict[exkey] = vmono *sqfac - tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = vmono *sqfac + phasefac = (-1)^(div(ja+jb,2)+1) + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,Anum,phasefac,true) + tdict[exkey] = [0.0,0.0]; tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = [0.0,0.0] + tdict[exkey][1] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][1] = vmono *sqfac + tdict[exkey][2] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][2] = vmono2n3n *sqfac end if tkey[3] != tkey[4] exkey = copy(tkey) exkey[3] = tkey[4]; exkey[4] = tkey[3] jc = sps[tkey[3]].j; jd = sps[tkey[4]].j - vmono = 0.0 - parity = (-1)^(div(jc+jd,2)+1) - for t in ts - J = t[1] - v = t[3] + t[4] /Anum + t[5] * Anum - phase = parity * (-1)^J - vmono += ((2*J+1)*phase) * v - end - tdict[exkey] = vmono *sqfac - tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = vmono *sqfac + phasefac = (-1)^(div(jc+jd,2)+1) + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,Anum,phasefac,true) + tdict[exkey] = [0.0,0.0] + tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = [0.0,0.0] + tdict[exkey][1] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][1] = vmono *sqfac + tdict[exkey][2] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][2] = vmono2n3n *sqfac end if ((tkey[1] != tkey[2]) && (tkey[3] != tkey[4])) exkey = copy(tkey) exkey[1] = tkey[2]; exkey[2] = tkey[1] - exkey[3] = tkey[4]; exkey[4] = tkey[3] + exkey[3] = tkey[4]; exkey[4] = tkey[3] ja = sps[tkey[1]].j; jb = sps[tkey[2]].j jc = sps[tkey[3]].j; jd = sps[tkey[4]].j - vmono = 0.0 phase = (-1)^(div(jc+jd,2)+div(jc+jd,2)) - for t in ts - J = t[1] - v = t[3] + t[4] /Anum + t[5] * Anum - vmono += ((2*J+1)*phase) * v - end - tdict[exkey] = vmono *sqfac - tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = vmono *sqfac + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,Anum,phase,false) + tdict[exkey] = [0.0,0.0] + tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = [0.0,0.0] + tdict[exkey][1] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][1] = vmono *sqfac + tdict[exkey][2] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][2] = vmono2n3n *sqfac end end end Chan1b = def_chan1b(dim1b,sps,dicts1b) - Chan2bD,Gamma,maxnpq,V2 = def_chan2b(binfo,dicts,sps,Chan1b) + Chan2bD,Gamma,maxnpq,V2 = def_chan2b(binfo,dicts,sps) dictsnt = dictSnt(dictTBMEs,dictMonopole) - Hamil = Operator([0.0],[p1b,n1b],V2,true,false) + Hamil = Operator([0.0],[p1b,n1b],V2,[true],[false]) return Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq end +function calc_vmono_for_given_abcd(ts,Anum,phasefac,phaseJ::Bool;calcT=true,calcCM=true) + vmono = vmono2n3n = 0.0 + for t in ts + J = t[1] + v = 0.0 + if calcT || calcCM + v = t[3] + t[4] + ifelse(calcT,t[5] /Anum,0.0) + ifelse(calcCM,t[6] * Anum,0.0) + else + v = t[3] + t[4] + end + v2n3n = t[4] + vmono += (2*J+1) * v * phasefac * ifelse(phaseJ,(-1)^J,1.0) + vmono2n3n += (2*J+1) * v2n3n * phasefac * ifelse(phaseJ,(-1)^J,1.0) + end + return vmono,vmono2n3n +end + function get_pn_sps(sps) dim1b = div(length(sps),2) p_sps = sps[1:2:2*dim1b-1] @@ -491,17 +540,18 @@ function def_chan1b(dim1b,sps,dicts1b) end """ - def_chan2b(binfo,dicts,sps,Chan1b) + def_chan2b(binfo,dicts,sps) define two-body utils and returns them as `Chan2bD` struct """ -function def_chan2b(binfo,dicts,sps,Chan1b) +function def_chan2b(binfo,dicts,sps) Anum = binfo.nuc.Aref; emax = binfo.emax Jmax = 2*emax+1 dim1b = div(length(sps),2) nchan = 0 Chan2b = chan2b[ ] maxnpq = 0 - dict_2b_ch = Dict{Vector{Int64},VdictCh}() + #dict_2b_ch = Dict{Vector{Int64},VdictCh}() + dict_2b_ch = Dict{UInt64,VdictCh}() Gamma = Matrix{Float64}[ ] V2b = Matrix{Float64}[ ] tkey = zeros(Int64,4); dkey = zeros(Int64,3) @@ -528,7 +578,7 @@ function def_chan2b(binfo,dicts,sps,Chan1b) if a > b;ta=b;tb=a;end if !([ta,tb] in kets) push!(kets,[ta,tb]) - nkey_ab = get_intkey_2(ta,tb) + nkey_ab = get_nkey2(ta,tb) vdict[nkey_ab] = length(kets) end end @@ -536,16 +586,24 @@ function def_chan2b(binfo,dicts,sps,Chan1b) nchan += 1 kets = sort(kets) for (ik,ket) in enumerate(kets) - intkey = get_intkey_2(ket[1],ket[2]) + intkey = get_nkey2(ket[1],ket[2]) vdict[intkey] = ik end - push!(Chan2b, chan2b(Tz,prty,J,kets)) + + tuplekets = [ (ket[1],ket[2]) for ket in kets] + push!(Chan2b, chan2b(Tz,prty,J,tuplekets,length(kets))) dim = length(kets) + + # org + #push!(Chan2b, chan2b(Tz,prty,J,kets,length(kets))) + #dim = length(kets) push!(Gamma,zeros(Float64,dim,dim)) dkey[1] = Tz; dkey[2]=prty; dkey[3]=J maxnpq = ifelse(dim>maxnpq,dim,maxnpq) - dict_2b_ch[copy(dkey)] = VdictCh(nchan,vdict) + #dict_2b_ch[copy(dkey)] = VdictCh(nchan,vdict) + dict_2b_ch[get_nkey3_JPT(copy(dkey))] = VdictCh(nchan,vdict) + vmat = zeros(Float64,dim,dim) for i = 1:dim a,b = kets[i] @@ -559,45 +617,40 @@ function def_chan2b(binfo,dicts,sps,Chan1b) tkey[3]=a; tkey[4]=b end intkey = get_nkey_from_abcdarr(tkey) + #println("tkey $tkey intkey $intkey") for JV in tdict[intkey] tJ = JV[1] - v = JV[3] + JV[4] /Anum + JV[5] * Anum + v = JV[3] + JV[4] + JV[5] /Anum + JV[6] * Anum if Int(tJ) != J;continue;end vmat[i,j] = vmat[j,i] = v end end end - push!(V2b, vmat) + push!(V2b, vmat) end end end nch = length(Chan2b) - #println("nch $nch maxnpq $maxnpq") - dict_ch_idx_from_ket = [ [Dict{Vector{Int64},Vector{Vector{Int64}}}( ) for J=0:Jmax+1] for Tz = -2:2:2 ] - dict_idx_from_chket = [Dict{Vector{Int64},Int64}( ) for ch = 1:nch] + dict_ch_idx_from_ket = [ Dict{UInt64,NTuple{2,Int64}}( ) for Tz = -2:2:2] # Tz vector + dict_idx_from_chket = [Dict{Vector{Int64},Int64}( ) for _ = 1:nch] for ch = 1:nch tbc = Chan2b[ch]; tkets = tbc.kets; Tz = tbc.Tz; J = tbc.J - target = dict_ch_idx_from_ket[1+div(Tz+2,2)][J+1] + target = dict_ch_idx_from_ket[div(Tz+2,2)+1] target2 = dict_idx_from_chket[ch] for (idx,ket) in enumerate(tkets) - tf = get(target,ket,false) - if tf == false - target[ket] = [ [ch,idx] ] - else - push!(target[ket],[ch,idx]) - end - target2[ket] = idx - end + nkey = get_nkey3_ketJ(ket[1],ket[2],J) + target[nkey] = (ch,idx) + target2[[ket[1],ket[2]]] = idx + end end - return Chan2bD(Chan2b,dict_2b_ch,dict_ch_idx_from_ket,dict_idx_from_chket),Gamma,maxnpq,V2b + return chan2bD(Chan2b,dict_2b_ch,dict_ch_idx_from_ket,dict_idx_from_chket),Gamma,maxnpq,V2b end """ update_1b!(binfo,sps,Hamil) Update one-body(1b) part of Hamiltonian for different target nuclei """ -function update_1b!(binfo,sps,Hamil) - #Hamil = Operator([0.0],[p1b,n1b],V2,true,false) +function update_1b!(binfo,sps,Hamil::Operator) p1b = Hamil.onebody[1]; n1b = Hamil.onebody[2] Anum = binfo.nuc.Aref; hw = binfo.hw ### store one-body part @@ -634,7 +687,6 @@ function update_2b!(binfo,sps,Hamil,dictTBMEs,Chan2bD,dicts;Hcm=nothing) emax = binfo.emax; A = binfo.nuc.A V2 = Hamil.twobody Chan2b = Chan2bD.Chan2b - #for ch = 1:length(Chan2b);V2[ch] .= 0.0;end tkey = zeros(Float64,4) for pnrank=1:3 tdictl = dicts[pnrank] @@ -649,41 +701,30 @@ function update_2b!(binfo,sps,Hamil,dictTBMEs,Chan2bD,dicts;Hcm=nothing) if div(ja+jb,2) != div(jc+jd,2);continue;end ts = tdictl[intkey] sqfac = sqrt( (1+delta(tkey[1],tkey[2])) * (1+delta(tkey[3],tkey[4]))) - vmono = 0.0 - for t in ts; vmono += (2*t[1]+1) * t[2]; end - tdict[tkey] = vmono *sqfac - - #exchange term + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,A,1.0,false) + tdict[tkey][1] = sqfac * vmono + tdict[tkey][2] = sqfac * vmono2n3n exkey = [tkey[3],tkey[4],tkey[1],tkey[2]] - tdict[exkey] = vmono *sqfac + tdict[exkey][1] = vmono *sqfac + tdict[exkey][2] = vmono2n3n *sqfac if tkey[1] != tkey[2] exkey = copy(tkey) exkey .= tkey exkey[1] = tkey[2]; exkey[2] = tkey[1] ja = sps[tkey[1]].j ; jb = sps[tkey[2]].j - vmono = 0.0 - parity = (-1)^(div(ja+jb,2)+1) - for t in ts - J,v = t - phase = parity * (-1)^J - vmono += ((2*J+1)*phase) * v - end - tdict[exkey] = vmono *sqfac - tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = vmono *sqfac #/ (Na*Nb) + phasefac = (-1)^(div(ja+jb,2)+1) + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,A,phasefac,true) + tdict[exkey][1] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][1] = vmono *sqfac + tdict[exkey][2] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][2] = vmono2n3n *sqfac end if tkey[3] != tkey[4] exkey = copy(tkey) exkey[3] = tkey[4]; exkey[4] = tkey[3] jc = sps[tkey[3]].j; jd = sps[tkey[4]].j - vmono = 0.0 - parity = (-1)^(div(jc+jd,2)+1) - for t in ts - J,v = t - phase = parity * (-1)^J - vmono += ((2*J+1)*phase) * v - end - tdict[exkey] = vmono *sqfac - tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]] = vmono *sqfac + phasefac = (-1)^(div(jc+jd,2)+1) + vmono,vmono2n3n = calc_vmono_for_given_abcd(ts,A,phasefac,true) + tdict[exkey][1] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][1] = vmono *sqfac + tdict[exkey][2] = tdict[[exkey[3],exkey[4],exkey[1],exkey[2]]][2] = vmono2n3n *sqfac end end end @@ -714,7 +755,7 @@ function update_2b!(binfo,sps,Hamil,dictTBMEs,Chan2bD,dicts;Hcm=nothing) intkey = get_nkey_from_abcdarr(tkey) for JV in tdict[intkey] tJ = JV[1] - v = JV[3] + JV[4] /A + JV[5] * A + v = JV[3] + JV[4] + JV[5] /A + JV[6] * A if Int(tJ) != J;continue;end vmat[i,j] = vmat[j,i] = v end diff --git a/src/hartreefock.jl/main.jl b/src/hartreefock.jl/main.jl index 918d6e57..76475c17 100644 --- a/src/hartreefock.jl/main.jl +++ b/src/hartreefock.jl/main.jl @@ -1,50 +1,51 @@ """ hf_main(nucs,sntf,hw,emax;verbose=false,Operators=String[],is_show=false,doIMSRG=false,valencespace=[],corenuc="",ref="nucl") -main function to carry out HF/HFMBPT calculation from snt file + +Main API to carry out HF/HFMBPT or IMSRG calculation from snt file # Arguments - `nucs::Vector{String}` target nuclei - `sntf` path to input interaction file - `hw` hbar omega -- `emax` emax for HF/IMSRG +- `emax_calc` emax for HF/IMSRG # Optional Arguments - `verbose=false` to see detailed stdout for HF - `Operators=String[]` target observables other than Hamiltonian - `is_show=false` to show TimerOutput log (summary of run time and memory allocation) - `doIMSRG=false` to carry out IMSRG/VSIMSRG calculation -- `valencespace=[]` to spacify the valence space (e.g., ["sd-shell"]), if this is not empty, it tries to do vsimsrg calculations +- `valencespace=[]` to spacify the valence space (e.g., "sd-shell" or ["sd-shell"], [[0,1,1,-1],[0,1,3,-1], [0,1,1,1],[0,1,3,1]]), if this is not empty, it tries to perform VS-IMSRG calculations - `corenuc=""` core nucleus, example=> "He4" - `ref="nucl"` to specify target reference state, "core" or "nucl" is supported """ -function hf_main(nucs,sntf,hw,emax;verbose=false,Operators=String[],is_show=false,doIMSRG=false,valencespace=[],corenuc="",ref="nucl",io=stdout) +function hf_main(nucs,sntf,hw,emax_calc;verbose=false,Operators=String[],is_show=false,doIMSRG=false,valencespace="",corenuc="",ref="nucl",return_obj=false,oupfn="",fn_params="optional_parameters.jl",debugmode=0,Hsample=false,restart_from_files=String[]) + BLAS.set_num_threads(1) + println("BLAS.get_config() ",BLAS.get_config()) + println("BLAS.get_num_threads() $(BLAS.get_num_threads()) nthreads $(Base.Threads.nthreads())") @assert isfile(sntf) "sntf:$sntf is not found!" to = TimerOutput() - chiEFTparams = init_chiEFTparams(;io=io) + io = select_io(false,"",nucs;use_stdout=true,fn=oupfn) + chiEFTparams = init_chiEFTparams(;io=nothing) HFdata = prepHFdata(nucs,ref,["E"],corenuc) - @timeit to "PreCalc 6j" begin - dict6j,d6j_nabla,d6j_int = PreCalc6j(emax) - end - @timeit to "PreCalc 9j&HOBs" d9j,HOBs = PreCalcHOB(chiEFTparams,d6j_int,to) + @timeit to "prep dWS2n" dWS = prep_dWS2n(chiEFTparams,to;emax_calc=emax_calc) @timeit to "read" begin TF = occursin(".bin",sntf) tfunc = ifelse(TF,readsnt_bin,readsnt) nuc = def_nuc(nucs[1],ref,corenuc) - binfo = basedat(nuc,sntf,hw,emax,ref) + binfo = basedat(nuc,sntf,hw,emax_calc,ref) sps,dicts1b,dicts = tfunc(sntf,binfo,to) - Z = nuc.Z; N=nuc.N; A=nuc.A - BetaCM = chiEFTparams.BetaCM + A=nuc.A + BetaCM = chiEFTparams.BetaCM Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq = store_1b2b(sps,dicts1b,dicts,binfo) HCM = InitOp(Chan1b,Chan2bD.Chan2b) TCM = InitOp(Chan1b,Chan2bD.Chan2b) VCM = InitOp(Chan1b,Chan2bD.Chan2b) E0cm = 1.5 * BetaCM * hw if BetaCM !=0.0 - Calculate_RCM(binfo,Chan1b,Chan2bD.Chan2b,sps,VCM,d9j,HOBs,to;non0_ij=false) + Calculate_RCM(binfo,Chan1b,Chan2bD.Chan2b,sps,VCM,dWS,to;non0_ij=false) fac_HCM = 0.5 * BetaCM * Mm * hw^2 / (hc^2) aOp!(VCM,fac_HCM) aOp1_p_bOp2!(VCM,HCM,1.0,0.0) CalculateTCM!(TCM,binfo,Chan1b,Chan2bD.Chan2b,sps) - #aOp1_p_bOp2!(TCM,HCM,1.0/A,1.0) update_dicts_withHCM!(HCM,Chan2bD,dicts) end MatOp = Matrix{Float64}[] @@ -54,41 +55,80 @@ function hf_main(nucs,sntf,hw,emax;verbose=false,Operators=String[],is_show=fals end Aold = A for (i,tnuc) in enumerate(nucs) - nuc = def_nuc(tnuc,ref,corenuc) - Z = nuc.Z; N=nuc.N; A=nuc.A - binfo = basedat(nuc,sntf,hw,emax,ref) - print(io,"target: $tnuc Ref. => Z=$Z N=$N ") + nuc = def_nuc(tnuc,ref,corenuc); A=nuc.A + binfo = basedat(nuc,sntf,hw,emax_calc,ref) + print(io,"target: $tnuc Ref. => Z=$(nuc.Z) N=$(nuc.N) ") if BetaCM !=0.0 && Aold != A difA_RCM(VCM,Aold,A) aOp1_p_bOp2!(VCM,HCM,1.0,0.0) difA_TCM(TCM,Aold,A) - #aOp1_p_bOp2!(TCM,HCM,1.0/A,1.0) update_dicts_withHCM!(HCM,Chan2bD,dicts) end - recalc_v!(A,dicts) - Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq = store_1b2b(sps,dicts1b,dicts,binfo) + Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq = store_1b2b(sps,dicts1b,dicts,binfo) if i > 1 update_1b!(binfo,sps,Hamil) update_2b!(binfo,sps,Hamil,dictsnt.dictTBMEs,Chan2bD,dicts) end addHCM1b!(Hamil,HCM,A) addHCM1b!(Hamil,TCM) - @timeit to "HF" begin - HFobj = hf_iteration(binfo,HFdata[i],sps,Hamil,dictsnt.dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dict6j,to;verbose=verbose,io=io,E0cm=E0cm) + HFobj = hf_iteration(binfo,HFdata[i],sps,Hamil,dictsnt.dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dWS,to;verbose=verbose,io=io,E0cm=E0cm) end if doIMSRG - imsrg_main(binfo,Chan1b,Chan2bD,HFobj,dictsnt,d9j,HOBs,dict6j,valencespace,Operators,MatOp,to) + IMSRGobj = imsrg_main(binfo,Chan1b,Chan2bD,HFobj,dictsnt,dWS,valencespace,Operators,MatOp,to;fn_params=fn_params,debugmode=debugmode,Hsample=Hsample,restart_from_files=restart_from_files) + if return_obj; return IMSRGobj;end else if "Rp2" in Operators - Op_Rp2 = InitOp(Chan1b,Chan2bD.Chan2b) - eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,d9j,HOBs,dict6j,MatOp,to) + @timeit to "Rp2" begin + Op_Rp2 = InitOp(Chan1b,Chan2bD.Chan2b) + eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dWS,MatOp,to;io=io) + end end + if return_obj; return HFobj;end end Aold = A end - if is_show; show(io,to, allocations = true,compact = false);println(""); end + show_TimerOutput_results(to;io=io,tf=is_show) + return true +end + +""" + hf_main_mem(chiEFTobj,nucs,dict_TM,dWS,to;verbose=false,Operators=String[],valencespace="",corenuc="",ref="core") +"without I/O" version of `hf_main` +""" +function hf_main_mem(chiEFTobj::ChiralEFTobject,nucs,dict_TM,dWS,HFdata,to;verbose=false,Operators=String[],valencespace="",corenuc="",ref="core",io=stdout) + emax = chiEFTobj.params.emax + hw = chiEFTobj.params.hw + sntf = chiEFTobj.params.fn_tbme + nuc = def_nuc(nucs[1],ref,corenuc) + Z = nuc.Z; N=nuc.N; A=nuc.A + binfo = basedat(nuc,sntf,hw,emax,ref) + sps,p_sps,n_sps = def_sps(emax) + new_sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,emax) + dicts = make_dicts_formem(nuc,dicts1b,dict_TM,sps,hw) + Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq = store_1b2b(sps,dicts1b,dicts,binfo) + dictTBMEs = dictsnt.dictTBMEs + MatOp = Matrix{Float64}[] + if "Rp2" in Operators + MatOp = [ zeros(Float64,maxnpq,maxnpq) for i=1:2*nthreads()] + end + for (i,tnuc) in enumerate(nucs) + nuc = def_nuc(tnuc,ref,corenuc) + Z = nuc.Z; N=nuc.N; A=nuc.A + binfo = basedat(nuc,sntf,hw,emax,ref) + if i > 1 + recalc_v!(A,dicts) + update_1b!(binfo,sps,Hamil) + update_2b!(binfo,sps,Hamil,dictTBMEs,Chan2bD,dicts) + dictTBMEs = dictsnt.dictTBMEs + end + HFobj = hf_iteration(binfo,HFdata[i],sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dWS,to;verbose=verbose,io=io) + if "Rp2" in Operators + Op_Rp2 = InitOp(Chan1b,Chan2bD.Chan2b) + eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dWS,MatOp,to;io=io) + end + end return true end @@ -120,9 +160,9 @@ function update_dicts_withHCM!(HCM::Operator,Chan2bD,dicts) tket .= ket tHcm = Hcm[i,j] nkey = get_nkey_from_abcdarr(tkey) - for target in dicts[pnrank][nkey] # [ [totJ,V2b,Vjj,Vpp*hw,Hcm] ] + for target in dicts[pnrank][nkey] #[ [totJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,Hcm] ] if J != target[1];continue;end - target[5] = tHcm + target[6] = tHcm end end end @@ -130,48 +170,7 @@ function update_dicts_withHCM!(HCM::Operator,Chan2bD,dicts) return nothing end -""" - hf_main_mem(chiEFTobj,nucs,dict_TM,dict6j,to;verbose=false,Operators=String[],valencespace=[],corenuc="",ref="core") -"without I/O" version of `hf_main` -""" -function hf_main_mem(chiEFTobj::ChiralEFTobject,nucs,dict_TM,d9j,HOBs,HFdata,to;verbose=false,Operators=String[],valencespace=[],corenuc="",ref="core",io=stdout) - dict6j = chiEFTobj.dict6j - emax = chiEFTobj.params.emax - hw = chiEFTobj.params.hw - sntf = chiEFTobj.params.fn_tbme - nuc = def_nuc(nucs[1],ref,corenuc) - Z = nuc.Z; N=nuc.N; A=nuc.A - binfo = basedat(nuc,sntf,hw,emax,ref) - sps,p_sps,n_sps = def_sps(emax) - lp = div(length(sps),2) - new_sps,dicts1b = make_sps_and_dict_isnt2ims(p_sps,n_sps,lp) - dicts = make_dicts_formem(nuc,dicts1b,dict_TM,sps) - Hamil,dictsnt,Chan1b,Chan2bD,Gamma,maxnpq = store_1b2b(sps,dicts1b,dicts,binfo) - dictTBMEs = dictsnt.dictTBMEs - MatOp = Matrix{Float64}[] - if "Rp2" in Operators - MatOp = [ zeros(Float64,maxnpq,maxnpq) for i=1:2*nthreads()] - end - for (i,tnuc) in enumerate(nucs) - nuc = def_nuc(tnuc,ref,corenuc) - Z = nuc.Z; N=nuc.N; A=nuc.A - binfo = basedat(nuc,sntf,hw,emax,ref) - if i > 1 - recalc_v!(A,dicts) - update_1b!(binfo,sps,Hamil) - update_2b!(binfo,sps,Hamil,dictTBMEs,Chan2bD,dicts) - dictTBMEs = dictsnt.dictTBMEs - end - HFobj = hf_iteration(binfo,HFdata[i],sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dict6j,to;verbose=verbose,io=io) - if "Rp2" in Operators - Op_Rp2 = InitOp(Chan1b,Chan2bD.Chan2b) - eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,d9j,HOBs,dict6j,MatOp,to) - end - end - return true -end - -function make_dicts_formem(nuc,dicts1b,dict_TM,sps) +function make_dicts_formem(nuc,dicts1b,dict_TM,sps,hw) dicts=[ Dict{Int64,Vector{Vector{Float64}}}() for pnrank=1:3] dict_snt2ms = dicts1b.snt2ms A = nuc.A @@ -189,7 +188,7 @@ function make_dicts_formem(nuc,dicts1b,dict_TM,sps) key = zeros(Int64,4) for tmp in val key[1] = ta; key[2] = tb; key[3] = tc; key[4] = td - totJ,V2bdum,Vjj,Vpp = tmp + totJ,V2bdum,Vjj,Vjj_2n3n,Vpp = tmp phase_ab = (-1)^(div(ja+jb,2)+totJ+1) phase_cd = (-1)^(div(jc+jd,2)+totJ+1) flip_ab = ifelse(ta>tb,true,false) @@ -202,15 +201,16 @@ function make_dicts_formem(nuc,dicts1b,dict_TM,sps) key[1] = k3; key[2] = k4; key[3] = k1; key[4] = k2 end Vjj *= phase + Vjj_2n3n *= phase Vpp *= phase - V2b = Vjj + Vpp*hw/A + V2b = Vjj + Vjj_2n3n + Vpp*hw/A nkey = get_nkey_from_abcdarr(key) t = get(target_dict,nkey,false) vcm = 0.0 if t==false - target_dict[nkey] = [[totJ,V2b,Vjj,Vpp*hw,vcm]] + target_dict[nkey] = [[totJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,vcm]] else - push!(target_dict[nkey],[totJ,V2b,Vjj,Vpp*hw,vcm]) + push!(target_dict[nkey],[totJ,V2b,Vjj,Vjj_2n3n,Vpp*hw,vcm]) end end end @@ -250,10 +250,10 @@ function def_sps(emax) if n < 0;continue;end if jmin < 1;jmin=jmax;end for j = jmin:2:jmax - push!(p_sps,SingleParticleState(n,l,j,-1,0,false,false,false)) - push!(sps,SingleParticleState(n,l,j,-1,0,false,false,false)) - push!(n_sps,SingleParticleState(n,l,j,1,0,false,false,false)) - push!(sps,SingleParticleState(n,l,j,1,0,false,false,false)) + push!(p_sps,SingleParticleState(n,l,j,-1,[0.0],[false],[false],[false])) + push!(sps,SingleParticleState(n,l,j,-1,[0.0],[false],[false],[false])) + push!(n_sps,SingleParticleState(n,l,j,1,[0.0],[false],[false],[false])) + push!(sps,SingleParticleState(n,l,j,1,[0.0],[false],[false],[false])) end end end @@ -264,16 +264,16 @@ end recalc_v!(A,dicts) Function to calculate two-body interaction from snt file. This is needed because in the readsnt/readsnt_bin function, the interaction part and the kinetic term -are stored separately to avoid multiple reads of the input file when calculating multiple nuclei. +are stored separately to avoid multiple reads of the input file for calculation of multiple nuclei. """ function recalc_v!(A,dicts) - #V2b = Vjj + Vpp*hw/Anum for pnrank = 1:3 tdict = dicts[pnrank] for tkey in keys(tdict) tmp = tdict[tkey] - for i = 1:length(tmp) - tmp[i][2] = tmp[i][3] + tmp[i][4]/A + tmp[i][5] *A + for i in eachindex(tmp) + #V2b = V + V2n3n + Vpp *hw /A + HCM + tmp[i][2] = tmp[i][3] + tmp[i][4] + tmp[i][5]/A + tmp[i][6] *A end end end @@ -287,7 +287,6 @@ calculate naive filling configurations by given sps and proton/neutron number (` For some nuclei, especially for heavier ones, carrying out naive filling is ambiguous (e.g., neutron occupation of 22O can be both 0s1(2),0p1(2),0p3(4),0d5(6) and 0s1(2),0p1(2),0p3(4),1s1(2), 0d3(4)). In this function, "naive filling" means to try fill orbits with lower ``2n+l`` and then "lower" ``j``. -The occupations will be updated when appropriate during HF iterations. """ function naive_filling(sps,n_target,emax,for_ref=false) ln = length(sps) @@ -354,10 +353,10 @@ end initialize occupation number matrices (```occ_p```&```occ_n```) by naive filling configurations ```pconf```&```nconf``` """ function ini_occ!(pconf,occ_p,nconf,occ_n) - for i=1:length(pconf) + for i in eachindex(pconf) occ_p[i,i] = pconf[i] end - for i=1:length(nconf) + for i in eachindex(nconf) occ_n[i,i] = nconf[i] end return nothing @@ -483,7 +482,7 @@ function def_holeparticle(Chan1b,occ_p,occ_n,p_sps,n_sps) for i = 1:ifelse(pn==1,lp,ln) idx_snt = i + lp*(pn-1) msidx = snt2ms[idx_snt] - t_sps[i].occ = occs[i,i] + t_sps[i].occ[1] = occs[i,i] if occs[i,i] == 0.0 push!(particles[pn],msidx) else @@ -591,12 +590,12 @@ function get_space_chs(sps,Chan2b) vv = Dict{Int64,Vector{Int64}}() qv = Dict{Int64,Vector{Int64}}() qq = Dict{Int64,Vector{Int64}}() - for ch = 1:length(Chan2b) + for ch in eachindex(Chan2b) tbc = Chan2b[ch] kets = tbc.kets for (ik,ket) in enumerate(kets) i,j = ket - ni = sps[i].occ; nj = sps[j].occ + ni = sps[i].occ[1]; nj = sps[j].occ[1] if ni + nj == 0.0; add_ch_ket!(ch,ik,pp) else @@ -612,13 +611,13 @@ function get_space_chs(sps,Chan2b) end """ - getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n,e1b_p,e1b_n,Cp,Cn,V2,Chan1b,Chan2b::tChan2b,Gamma,maxnpq,dict_2b_ch,dict6j,to) where{tChan2b <: Vector{chan2b}} + getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n,e1b_p,e1b_n,Cp,Cn,V2,Chan1b,Chan2b::tChan2b,Gamma,maxnpq,dict_2b_ch,dWS,to) where{tChan2b <: Vector{chan2b}} obtain spherical HF solution and calc. MBPT correction (upto 2nd&3rd order) to g.s. energy """ function getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n, e1b_p,e1b_n,Cp,Cn,V2,Chan1b,Chan2b::tChan2b,Gamma,maxnpq, - dict_2b_ch,dict6j,to;io=stdout) where{tChan2b <: Vector{chan2b}} + dict_2b_ch,dWS,to;io=stdout) where{tChan2b <: Vector{chan2b}} ## Calc. f (1-body term) fp = Cp' * (h_p*Cp); fn = Cn' *(h_n*Cn) # equiv to vals_p/n make_symmetric!(fp); make_symmetric!(fn) @@ -629,28 +628,28 @@ function getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n, modelspace = ModelSpace(p_sps,n_sps,sps,occ_p,occ_n,holes,particles,spaces) ## Calc. Gamma (2bchanel matrix element) calc_Gamma!(Gamma,sps,Cp,Cn,V2,Chan2b,maxnpq) - EMP2 = HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;verbose=true) - EMP3 = HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dict6j,Gamma,to) - exists = get(amedata,binfo.nuc.cnuc,false) + EMP2 = HF_MBPT2(binfo,modelspace,fp,fn,e1b_p,e1b_n,Chan2b,Gamma;io=io) + EMP3 = HF_MBPT3(binfo,modelspace,e1b_p,e1b_n,Chan2b,dict_2b_ch,dWS,Gamma,to;io=io) + exists = get(ame2020data,binfo.nuc.cnuc,false) Eexp = 0.0 if exists==false - println(io,"E_HF ", @sprintf("%12.4f",E0), + println(io,"E_HF ", @sprintf("%12.5f",E0), " E_MBPT(3) = ",@sprintf("%12.4f",E0+EMP2+EMP3)," Eexp: Not Available") else - Eexp = - binfo.nuc.A * amedata[binfo.nuc.cnuc][1]/1000.0 - println(io,"E_HF ", @sprintf("%12.4f",E0), - " E_MBPT(3) = ",@sprintf("%12.4f",E0+EMP2+EMP3)," Eexp: "*@sprintf("%12.3f", Eexp)) + Eexp = - binfo.nuc.A * ame2020data[binfo.nuc.cnuc].BE/1000.0 + println(io,"E_HF ", @sprintf("%12.5f",E0), + " E_MBPT(3) = ",@sprintf("%12.4f",E0+EMP2+EMP3)," Eexp: "*@sprintf("%12.3f", Eexp)) end println("") tmp = tHFdata.data E = tmp[1] E[1] = E0+EMP2+EMP3; E[2] = Eexp - H0 = Operator([E0],[fp,fn],Gamma,true,false) + H0 = Operator([E0],[fp,fn],Gamma,[true],[false]) return HamiltonianNormalOrdered(H0,E0,EMP2,EMP3,Cp,Cn,e1b_p,e1b_n,modelspace) end """ - hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dict6j,to;itnum=100,verbose=false,HFtol=1.e-14,inttype="snt") + hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dWS,to;itnum=100,verbose=false,HFtol=1.e-14,inttype="snt") solve HF equation @@ -658,10 +657,9 @@ This function returns object with HamiltonianNormalOrdered (HNO) struct type, wh - `E0,EMP2,EMP3` HF energy and its MBPT corrections - `fp/fn::Matrix{Float64}` one-body int. - `Gamma:: Vector{Matrix{Float64}}` two-body int. - """ -function hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dict6j,to; - itnum=100,verbose=false,HFtol=1.e-9,inttype="snt",io=stdout,E0cm=0.0) +function hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,maxnpq,dWS,to; + itnum=300,verbose=false,HFtol=1.e-9,io=stdout,E0cm=0.0) Chan2b = Chan2bD.Chan2b; dict_2b_ch = Chan2bD.dict_ch_JPT dim1b = div(length(sps),2) mat1b = zeros(Float64,dim1b,dim1b) @@ -687,7 +685,7 @@ function hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,max h_p = copy(mat1b); h_n = copy(mat1b) update_FockMat!(h_p,p1b,p_sps,h_n,n1b,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np) calc_Energy(rho_p,rho_n,p1b,n1b,p_sps,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,EHFs) - if verbose; print_V2b(h_p,p1b,h_n,n1b); print_F(h_p,h_n);end + #if verbose; print_V2b(h_p,p1b,h_n,n1b); print_F(h_p,h_n);end for it = 1:itnum ## diagonalize proton/neutron 1b hamiltonian valsp,vecsp = eigen(h_p); valsn,vecsn = eigen(h_n) @@ -699,10 +697,11 @@ function hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,max ## Re-evaluate tilde(V) and Fock matrix calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,abcd,Chan1b) update_FockMat!(h_p,p1b,p_sps,h_n,n1b,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np) - calc_Energy(rho_p,rho_n,p1b,n1b,p_sps,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,EHFs) + calc_Energy(rho_p,rho_n,p1b,n1b,p_sps,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,EHFs;verbose=verbose) if HF_conv_check(EHFs;tol=HFtol) #print("HF converged @ $it \t") + printEHF(EHFs[1]) valsp,vecsp = eigen(h_p); valsn,vecsn = eigen(h_n) e1b_p .= valsp;e1b_n .= valsn; Cp .= vecsp; Cn .= vecsn ReorderHFSPS!(h_p,h_n,Cp,Cn,e1b_p,e1b_n,Chan1b) @@ -713,7 +712,7 @@ function hf_iteration(binfo,tHFdata,sps,Hamil,dictTBMEs,Chan1b,Chan2bD,Gamma,max end ## HNO: get normal-ordered Hamiltonian E0 = EHFs[1][1] - E0cm - HFobj = getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n,e1b_p,e1b_n,Cp,Cn,V2,Chan1b,Chan2b,Gamma,maxnpq,dict_2b_ch,dict6j,to;io=io) + HFobj = getHNO(binfo,tHFdata,E0,p_sps,n_sps,occ_p,occ_n,h_p,h_n,e1b_p,e1b_n,Cp,Cn,V2,Chan1b,Chan2b,Gamma,maxnpq,dict_2b_ch,dWS,to;io=io) return HFobj end @@ -752,9 +751,6 @@ function calc_Energy(rho_p,rho_n,p1b,n1b,p_sps,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,Es; if rho_p[i,j] == 0.0;continue;end E2bpp += 0.5 * rho_p[i,j] *Vt_pp[i,j] E2bpn += 0.5 * rho_p[i,j] *Vt_pn[i,j] - # if rho_p[i,j] != 0.0 && verbose - # println("i $i j $j \t rho_p ",@sprintf("%15.6f",rho_p[i,j])," p from pp: ",@sprintf("%15.6f",Vt_pp[i,j])," pn ", @sprintf("%15.6f",Vt_pn[i,j])) - # end end end for i = 1:ln @@ -762,9 +758,6 @@ function calc_Energy(rho_p,rho_n,p1b,n1b,p_sps,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,Es; if rho_n[i,j] == 0.0;continue;end E2bnn += 0.5* rho_n[i,j] *Vt_nn[i,j] E2bpn += 0.5* rho_n[i,j] *Vt_np[i,j] - # if rho_n[i,j] != 0.0 && verbose - # println("i ",i+lp," j ",j+lp, " \t rho_n ",@sprintf("%15.6f",rho_n[i,j])," n from nn: ",@sprintf("%15.6f",Vt_nn[i,j])," np ", @sprintf("%15.6f",Vt_np[i,j])) - # end end end E2b = E2bpp + E2bpn + E2bnn @@ -785,6 +778,7 @@ function HF_conv_check(EHFs;tol=1.e-8) return false end end + function update_FockMat!(h_p,p1b,p_sps,h_n,n1b,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np) lp = size(h_p)[1]; ln = size(h_n)[1] h_p .= p1b; h_n .= n1b @@ -806,6 +800,7 @@ function update_FockMat!(h_p,p1b,p_sps,h_n,n1b,n_sps,Vt_pp,Vt_nn,Vt_pn,Vt_np) end function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan1b;verbose=false) + symfac = 1.0/3 dim1b = size(Vt_pp)[1] dict_pp = dictTBMEs[1];dict_pn = dictTBMEs[2];dict_nn = dictTBMEs[3] Vt_pp .= 0.0; Vt_nn .= 0.0; Vt_pn .= 0.0;Vt_np .= 0.0 @@ -825,8 +820,8 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan rho_ab = rho_p[idx_a,idx_b] tkey[1] = i; tkey[3] = j;tkey[2] = a; tkey[4] = b if a < i; tkey[2] = i; tkey[4] = j;tkey[1] = a; tkey[3] = b; end - vmono = dict_pp[tkey] - Vt_pp[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_pp[tkey] + Vt_pp[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n * symfac) # if rho_ab != 0.0; println("pp: i $i j $j a $a b $b rho $rho_ab key $tkey vmono ",vmono/(sps[i].j+1));end if a!=b if a < i @@ -834,8 +829,8 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan else tkey[4] = a; tkey[2] = b end - vmono = dict_pp[tkey] - Vt_pp[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_pp[tkey] + Vt_pp[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n * symfac) # if rho_ab !=0.0; println("pp: i $i j $j a $a b $b rho $rho_ab key $tkey vmono ",vmono/(sps[i].j+1));end end end @@ -848,14 +843,14 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan b = 2*idx_b if !(b in Chan1b_n[a]);continue;end rho_ab = rho_n[idx_a,idx_b] - tkey[1] = i;tkey[3] = j; tkey[2] = a; tkey[4] = b - vmono = dict_pn[tkey] - Vt_pn[idx_i,idx_j] += rho_ab * vmono + tkey[1] = i;tkey[3] = j; tkey[2] = a; tkey[4] = b + vmono,vmono2n3n = dict_pn[tkey] + Vt_pn[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n * symfac) #if rho_ab != 0.0; println("pn: i $i j $j a $a b $b rho $rho_ab key $tkey vmono ",vmono/(sps[i].j+1));end if a!=b tkey[1] = i; tkey[3] = j; tkey[2] = b; tkey[4] = a - vmono = dict_pn[tkey] - Vt_pn[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_pn[tkey] + Vt_pn[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n* symfac) #if rho_ab != 0.0; println("pn: i $i j $j a $a b $b rho $rho_ab key $tkey vmono ",vmono/(sps[i].j+1));end end end @@ -868,7 +863,6 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan for idx_j = idx_i:dim1b j = 2*idx_j if !(j in Chan1b_n[i]);continue;end - #println("nnidx idx_i $idx_i idx_j $idx_j") ## tilde(Vn) from Vnn for idx_a = 1:dim1b a = 2*idx_a @@ -878,16 +872,16 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan rho_ab = rho_n[idx_a,idx_b] tkey[1] = i; tkey[3] = j;tkey[2] = a; tkey[4] = b if a < i; tkey[2] = i; tkey[4] = j;tkey[1] = a; tkey[3] = b; end - vmono = dict_nn[tkey] - Vt_nn[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_nn[tkey] + Vt_nn[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n* symfac) if a!=b if a < i tkey[3] = a; tkey[1] = b else tkey[4] = a; tkey[2] = b end - vmono = dict_nn[tkey] - Vt_nn[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_nn[tkey] + Vt_nn[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n* symfac) end end end @@ -901,13 +895,13 @@ function calc_Vtilde(sps,Vt_pp,Vt_nn,Vt_pn,Vt_np,rho_p,rho_n,dictTBMEs,tkey,Chan rho_ab = rho_p[idx_a,idx_b] tkey[1] = a ; tkey[3] = b tkey[2] = i; tkey[4] = j - vmono = dict_pn[tkey] - Vt_np[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_pn[tkey] + Vt_np[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n*symfac) if a!=b tkey[1] = b; tkey[3] = a tkey[2] = i; tkey[4] = j - vmono = dict_pn[tkey] - Vt_np[idx_i,idx_j] += rho_ab * vmono + vmono,vmono2n3n = dict_pn[tkey] + Vt_np[idx_i,idx_j] += rho_ab * (vmono + vmono2n3n*symfac) end end end diff --git a/src/hartreefock.jl/operator.jl b/src/hartreefock.jl/operator.jl index d3860f0f..45b27463 100644 --- a/src/hartreefock.jl/operator.jl +++ b/src/hartreefock.jl/operator.jl @@ -2,12 +2,12 @@ aOp!(Op::Operator,a::Float64) function to multiply scaler to an operator. """ -function aOp!(Op::Operator,a) - Op.zerobody[1] *= a +function aOp!(Op::Operator,a::Float64) + Op.zerobody .*= a for pn =1:2 lmul!(a,Op.onebody[pn]) end - for ch =1:length(Op.twobody) + for ch in eachindex(Op.twobody) lmul!(a,Op.twobody[ch]) end return nothing @@ -17,24 +17,43 @@ end aOp1_p_bOp2!(Op1::Operator,Op2::Operator,a::Float64,b::Float64) function to overwrite ```Op2``` by ```a*Op1 + b*Op2``` """ -function aOp1_p_bOp2!(Op1::Operator,Op2::Operator,a,b) +function aOp1_p_bOp2!(Op1::Operator,Op2::Operator,a::Float64,b::Float64) aOp!(Op2,b) Op2.zerobody[1] += a * Op1.zerobody[1] for pn = 1:2 axpy!(a,Op1.onebody[pn],Op2.onebody[pn]) end Op2_2b = Op2.twobody - for ch = 1:length(Op2_2b) + for ch in eachindex(Op2_2b) axpy!(a,Op1.twobody[ch],Op2_2b[ch]) end return nothing end +""" + aOp1_p_bOp2(Op1::Operator,Op2::Operator,a,b) +function to return new Operator = aOp1 + bOp2 +""" +function aOp1_p_bOp2(Op1::Operator,Op2::Operator,a::Float64,b::Float64) + ret = deepcopy(Op1); aOp!(ret,0.0) + ret.zerobody[1] = a*Op1.zerobody[1] + b*Op2.zerobody[1] + for pn = 1:2 + axpy!(a,Op1.onebody[pn],ret.onebody[pn]) + axpy!(b,Op2.onebody[pn],ret.onebody[pn]) + end + ret_2b = ret.twobody + for ch in eachindex(ret_2b) + axpy!(a,Op1.twobody[ch],ret_2b[ch]) + axpy!(b,Op2.twobody[ch],ret_2b[ch]) + end + return ret +end + """ aOp1_p_bOp2_Op3!(Op1::Operator,Op2::Operator,Op3::Operator,a,b,c) function to overwrite `Op3` by `c*Op3 + a*Op1 + b*Op2` """ -function aOp1_p_bOp2_Op3!(Op1::Operator,Op2::Operator,Op3::Operator,a,b,c) +function aOp1_p_bOp2_Op3!(Op1::Operator,Op2::Operator,Op3::Operator,a::Float64,b::Float64,c::Float64) aOp!(Op3,c) Op3.zerobody[1] += a * Op1.zerobody[1] + b * Op2.zerobody[1] for pn = 1:2 @@ -42,7 +61,7 @@ function aOp1_p_bOp2_Op3!(Op1::Operator,Op2::Operator,Op3::Operator,a,b,c) axpy!(b,Op2.onebody[pn],Op3.onebody[pn]) end Op3_2b = Op3.twobody - for ch = 1:length(Op3_2b) + for ch in eachindex(Op3_2b) axpy!(a,Op1.twobody[ch],Op3_2b[ch]) axpy!(b,Op2.twobody[ch],Op3_2b[ch]) end @@ -69,11 +88,12 @@ function InitOp(Chan1b,Chan2b) npq = length(tkets) push!(twobody,zeros(Float64,npq,npq)) end - return Operator([0.0],onebody,twobody,true,false) + return Operator([0.0],onebody,twobody,[true],[false]) end """ -function to redefine RCM. Note that `non0_ij` for Calculate_RCM assumed to be `false`. + difA_RCM(Op::Operator,Aold,Anew) +Function to redefine RCM. Note that `non0_ij` for Calculate_RCM assumed to be `false`. """ function difA_RCM(Op::Operator,Aold,Anew) for pn = 1:2 @@ -125,12 +145,12 @@ function CalculateTCM!(Op,binfo,Chan1b,Chan2b,sps) end """ - Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,d9j,HOBs,to;non0_cm=true,non0_ij=true) + Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,dWS,to;non0_cm=true,non0_ij=true) calculate ``R_{CM}`` term Note that rirj term is also included here to avoid redundancy. """ -function Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,d9j,HOBs,to;non0_cm=true,non0_ij=true) +function Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,dWS,to;non0_cm=true,non0_ij=true) b2 = hc2 / (Mm * binfo.hw) A = binfo.nuc.A; Z = binfo.nuc.Z ## one-body part @@ -158,7 +178,7 @@ function Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,d9j,HOBs,to;non0_cm=true,n twobody = Op_Rp2.twobody frirj = - 4/(A*Z) nch = length(Chan2b) - @threads for ch = 1:nch + @timeit to "RCM 2body" @threads for ch in eachindex(Chan2b) tmp = Chan2b[ch] Tz = tmp.Tz; J=tmp.J;kets = tmp.kets factor_rirj = ifelse(Tz==0, 0.5, 1.0) @@ -169,7 +189,7 @@ function Calculate_RCM(binfo,Chan1b,Chan2b,sps,Op_Rp2,d9j,HOBs,to;non0_cm=true,n bra = kets[ib] for ik = ib:npq ket = kets[ik] - r1r2 = calc_single_r1r2(bra,ket,sps,J,d9j,HOBs,b2,to) + r1r2 = calc_single_r1r2(bra,ket,sps,J,dWS,b2,to) ## RCM term if non0_cm tRCM = 2.0 * r1r2/(A^2) @@ -257,7 +277,7 @@ function Calculate_SOterm(binfo,Chan1b,HFobj,Op_Rp2) end """ - Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to;hfmbptlevel=true,verbose=false) + Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dWS,MatOp,to;hfmbptlevel=true,verbose=false) Calculate expectation value of Rp2 and its HFMBPT corrections. @@ -265,7 +285,8 @@ Details about HFMBPT correction can be found in Many-Body Methods in Chemistry and Physics by Isaiah Shavitt and Rodney J. Bartlett (2009, Cambridge Molecular Science) or Appendix in [T. Miyagi et al., Phys. Rev. C 105, 0143022 (2022)](https://doi.org/10.1103/PhysRevC.105.014302). """ -function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to;hfmbptlevel=true,verbose=false) +function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dWS,MatOp,to;hfmbptlevel=true,verbose=false) + d6j_lj = dWS.d6j_lj MS = HFobj.modelspace; sps = MS.sps p_sps = MS.p_sps; Cp = HFobj.Cp; e1b_p = HFobj.e1b_p; occ_p = MS.occ_p n_sps = MS.n_sps; Cn = HFobj.Cn; e1b_n = HFobj.e1b_n; occ_n = MS.occ_n @@ -344,7 +365,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; S1b = ifelse(Tz<=0,Op_Rp2.onebody[1],Op_Rp2.onebody[2]) for ib = 1:nkets α, α_ = kets[ib] - na = sps[α].occ; naa = sps[α_].occ + na = sps[α].occ[1]; naa = sps[α_].occ[1] #if sps[α].occ + sps[α_].occ != 2;continue;end if (na ==0.0) || (naa == 0.0);continue;end tobe = Op2b[ib,ib] * Nocc * na * naa # needed? @@ -358,12 +379,12 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; idx_a = div(a,2)+ a%2 idx_b = div(b,2)+ b%2 #if (sps[a].occ ==1 || sps[b].occ ==1); continue; end - if (sps[a].occ !=0.0 || sps[b].occ !=0.0); continue; end + if (sps[a].occ[1] !=0.0 || sps[b].occ[1] !=0.0); continue; end sqab = ifelse(a==b,sqrt(2.0),1.0) for ik = 1:nkets i,j = kets[ik] #if sps[i].occ == 0 || sps[j].occ ==0; continue; end - if sps[i].occ == 0.0 || sps[j].occ ==0.0; continue; end + if sps[i].occ[1] == 0.0 || sps[j].occ[1] ==0.0; continue; end sqij = ifelse(i==j,sqrt(2.0),1.0) sqfac = sqab * sqij idx_i = div(i,2)+ i%2 @@ -377,7 +398,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; for ii = 1:nkets k,q= kets[ii] #if sps[k].occ + sps[q].occ != 1;continue;end - if (sps[k].occ ==0.0 && sps[q].occ ==0.0) || (sps[k].occ !=0.0 && sps[q].occ !=0.0);continue;end + if (sps[k].occ[1] ==0.0 && sps[q].occ[1] ==0.0) || (sps[k].occ[1] !=0.0 && sps[q].occ[1] !=0.0);continue;end if !( q==b || k==b);continue;end phase = 1.0 if k==b @@ -393,10 +414,10 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; for ii = 1:nkets c,q = kets[ii] #if sps[c].occ + sps[q].occ != 1; continue;end - if (sps[c].occ ==0.0 && sps[q].occ == 0.0) || (sps[c].occ !=0.0 && sps[q].occ !=0.0) ; continue;end + if (sps[c].occ[1] ==0.0 && sps[q].occ[1] == 0.0) || (sps[c].occ[1] !=0.0 && sps[q].occ[1] !=0.0) ; continue;end if !( c==j || q==j);continue;end phase = 1.0 - if sps[c].occ !=0.0 + if sps[c].occ[1] !=0.0 if c != j;println("errS2");exit();end phase *= (-1)^(div(sps[c].j+sps[q].j,2)+J+1) c = q; q = kets[ii][1] @@ -409,7 +430,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S3 term for ii = 1:nkets q,c = kets[ii] - if sps[q].occ + sps[c].occ != 0.0; continue;end + if sps[q].occ[1] + sps[c].occ[1] != 0.0; continue;end if !( c==a || q==a);continue;end phase = 1.0 if q != a && c ==a @@ -424,7 +445,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S4 term for ii = 1:nkets q,k = kets[ii] - if sps[q].occ * sps[k].occ ==0.0; continue;end + if sps[q].occ[1] * sps[k].occ[1] ==0.0; continue;end if !( q==i || k==i);continue;end phase = 1.0 if q != i && k == i @@ -439,7 +460,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S7 term for ii = 1:nkets c,d = kets[ii] - if sps[c].occ + sps[d].occ != 0.0;continue;end + if sps[c].occ[1] + sps[d].occ[1] != 0.0;continue;end nume = 0.125*Nocc * tGam * Gam[ib,ii] * Op2b[ii,ik] deno = (e1b[i]+e1b[j]-e1b[a]-e1b[b]) * (e1b[i]+e1b[j]-e1b[c]-e1b[d]) S7 += nume *sqfac/deno @@ -447,7 +468,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S8 term for ii = 1:nkets k,l = kets[ii] - if sps[k].occ * sps[l].occ ==0.0;continue;end + if sps[k].occ[1] * sps[l].occ[1] ==0.0;continue;end nume = 0.125* Nocc * tGam * Gam[ik,ii] * Op2b[ib,ii] deno = (e1b[i]+e1b[j]-e1b[a]-e1b[b]) * (e1b[k]+e1b[l]-e1b[a]-e1b[b]) S8 += nume *sqfac/deno @@ -455,7 +476,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S10 term for ii = 1:nkets c,d = kets[ii] - if sps[c].occ +sps[d].occ != 0.0;continue;end + if sps[c].occ[1] +sps[d].occ[1] != 0.0;continue;end nume = 0.125*Nocc * tGam * Op2b[ib,ik] * Gam[ii,ik] deno = (e1b[i]+e1b[j]-e1b[a]-e1b[b]) * (e1b[i]+e1b[j]-e1b[c]-e1b[d]) S10 += nume/deno @@ -463,7 +484,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; # S11 term for ii = 1:nkets k,l = kets[ii] - if sps[k].occ * sps[l].occ ==0.0;continue;end + if sps[k].occ[1] * sps[l].occ[1] ==0.0;continue;end nume = 0.125*Nocc * tGam * Op2b[ik,ii] * Gam[ib,ii] deno = (e1b[i]+e1b[j]-e1b[a]-e1b[b]) * (e1b[k]+e1b[l]-e1b[a]-e1b[b]) S11 += nume *sqfac/deno @@ -477,7 +498,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; nthre = nthreads() keychs = [ zeros(Int64,3) for i=1:nthre] S912s = [ zeros(Float64,nthre) for i=1:2] - @inbounds @threads for idx_a =1:length(allps) + @inbounds @threads for idx_a in eachindex(allps) a = allps[idx_a] threid = threadid() keych = keychs[threid] @@ -493,7 +514,6 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; for totJ = Jmin:Jmax if tri_check(ja,jj,totJ*2)==false;continue;end Jfac = (2.0*totJ+1.0) - tdict6j = dict6j[totJ+1] ehole = e1b[i] +e1b[j] prty_ij = (-1)^(li+lj) for b in allps @@ -503,7 +523,7 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; if (-1)^(la+lb) != prty_ij;continue;end if tri_check(ji,jb,totJ*2)==false;continue;end keych[1] = tz_a + tz_b; keych[2] = (-1)^(la+lb) - v1 = vPandya(a,b,i,j,ja,jb,ji,jj,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v1 = vPandya(a,b,i,j,ja,jb,ji,jj,totJ,dict_2b_ch,d6j_lj,Gamma,keych) if v1 == 0.0;continue;end v1 = v1 / (ehole - e1b[a] - e1b[b]) for k in allhs @@ -517,19 +537,19 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; if tri_check(jk,jc,totJ*2)==false;continue;end # S9 term O123 = Gamma/Gamma/Omats keych[1] = tz_i + tz_c; keych[2] = prty_kb # prty_ic - v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,d6j_lj,Gamma,keych) if v2!=0.0 keych[1] = tz_k + tz_j; keych[2] = (-1)^(lk+lj) - v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,tdict6j,Omats,keych) + v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,d6j_lj,Omats,keych) v3 = v3 / (e1b[k] + e1b[j] -e1b[a] -e1b[c]) S9tmp += - Jfac * v1 * v2 * v3 end # S12 term O123 = Gamma/Omats/Gamma keych[1] = tz_i + tz_c; keych[2] = prty_kb # prty_ic - v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,tdict6j,Omats,keych) + v2 = vPandya(i,c,k,b,ji,jc,jk,jb,totJ,dict_2b_ch,d6j_lj,Omats,keych) if v2!=0.0 keych[1] = tz_k + tz_j; keych[2] = (-1)^(lk+lj) - v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,tdict6j,Gamma,keych) + v3 = vPandya(k,j,a,c,jk,jj,ja,jc,totJ,dict_2b_ch,d6j_lj,Gamma,keych) v3 = v3 / (e1b[k] + e1b[j] -e1b[a] -e1b[c]) S12tmp += - Jfac * v1 * v2 * v3 end @@ -557,17 +577,14 @@ function Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to; end """ - calc_single_r1r2(bra,ket,sps,J,dict_9j_2n,HOBs,b2,to) + calc_single_r1r2(bra,ket,sps,J,dWS,b2,to) Calc ```` for a given 2b-channel. - `bra`: c&d: s.p.s. (n,l,j,tz) -- `dictWS`: dict of WignerSymobls -- `d9j`: 9j-symbols (array of J->S and key=[la,ja,lb,jb,L]) """ -function calc_single_r1r2(bra,ket,sps,J,dict_9j_2n,HOBs,b2,to) +function calc_single_r1r2(bra,ket,sps,J,dWS,b2,to) r1r2 = 0.0 - dict9j = dict_9j_2n[J+1] oa = sps[bra[1]]; ob = sps[bra[2]] oc = sps[ket[1]]; od = sps[ket[2]] na = oa.n; la = oa.l; ja = oa.j; tza = oa.tz @@ -576,15 +593,18 @@ function calc_single_r1r2(bra,ket,sps,J,dict_9j_2n,HOBs,b2,to) nd = od.n; ld = od.l; jd = od.j; tzd = od.tz fab = 2*na + la + 2*nb + lb fcd = 2*nc + lc + 2*nd + ld - for Lab = abs(la-lb):la+lb - for Sab = 0:1 + + d9j_lsj = dWS.d9j_lsj + dictHOB = dWS.dictHOB + for Sab = 0:1 + Scd = Sab + for Lab = abs(la-lb):la+lb if !tri_check(Lab,Sab,J);continue;end - tdict9j = dict9j[Sab+1] - njab = tdict9j[div(ja,2)+1][la+1][div(jb,2)+1][lb+1][Lab+1] + njab = call_d9j_lsj(la*2,lb*2,Lab*2,1,1,Sab*2,ja,jb,J*2,d9j_lsj) njab *= sqrt( (2*Lab+1) *(2*Sab+1) * (ja+1) * (jb+1)) if njab == 0.0; continue;end - Scd = Sab; Lcd = Lab - njcd = tdict9j[div(jc,2)+1][lc+1][div(jd,2)+1][ld+1][Lab+1] + Lcd = Lab + njcd = call_d9j_lsj(lc*2,ld*2,Lcd*2,1,1,Scd*2,jc,jd,J*2,d9j_lsj) njcd *= sqrt( (2*Lcd+1) *(2*Scd+1) * (jc+1) * (jd+1) ) if njcd == 0.0; continue; end for N_ab = 0:div(fab,2) @@ -596,35 +616,13 @@ function calc_single_r1r2(bra,ket,sps,J,dict_9j_2n,HOBs,b2,to) if asymm_factor == 0.0; continue;end lam_cd = lam_ab n_ab = div(fab - 2*N_ab-Lam_ab -lam_ab,2) # determined by energy conservation - ##To get HOB(N_ab,Lam_ab,n_ab,lam_ab,na,la,nb,lb,Lab) - mosh_ab = 0.0 - if (2*N_ab+Lam_ab > 2*n_ab+lam_ab) && (2*na+la > 2*nb+lb) - phase = (-1)^(Lam_ab+lb) - nkey1 = get_nkey_from_key6j(n_ab,N_ab,lam_ab,Lam_ab,0) - nkey2 = get_nkey_from_key6j(Lab,nb,na,lb,0) - target = HOBs[nkey1][nkey2] - mosh_ab = target * phase - else - nkey1 = get_nkey_from_key6j(N_ab,n_ab,Lam_ab,lam_ab,0) - nkey2 = get_nkey_from_key6j(Lab,na,nb,la,0) - mosh_ab = HOBs[nkey1][nkey2] - end + mosh_ab = get_dictHOB(N_ab,Lam_ab,n_ab,lam_ab,na,la,nb,lb,Lab,dictHOB) if mosh_ab == 0.0;continue;end + for N_cd = max(0,N_ab-1):N_ab+1 n_cd = div(fcd-2*N_cd-Lam_cd-lam_cd,2) if n_cd < 0 || (n_ab!=n_cd && N_ab !=N_cd); continue;end - mosh_cd = 0.0 - if (2*N_cd+Lam_cd > 2*n_cd+lam_cd) && (2*nc+lc > 2*nd+ld) - phase = (-1)^(Lam_cd+ld) - nkey1 = get_nkey_from_key6j(n_cd,N_cd,lam_cd,Lam_cd,0) - nkey2 = get_nkey_from_key6j(Lcd,nd,nc,ld,0) - target = HOBs[nkey1][nkey2] - mosh_cd = target * phase - else - nkey1 = get_nkey_from_key6j(N_cd,n_cd,Lam_cd,lam_cd,0) - nkey2 = get_nkey_from_key6j(Lcd,nc,nd,lc,0) - mosh_cd = HOBs[nkey1][nkey2] - end + mosh_cd = get_dictHOB(N_cd,Lam_cd,n_cd,lam_cd,nc,lc,nd,ld,Lcd,dictHOB) if mosh_cd == 0.0; continue;end r2cm = 0.0;r2rel = 0.0 if n_ab == n_cd @@ -661,7 +659,7 @@ function calc_single_r1r2(bra,ket,sps,J,dict_9j_2n,HOBs,b2,to) end """ - Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict_2b_ch,dict6j,to;hfmbptlevel=true) + Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dWS,dict_2b_ch,to;hfmbptlevel=true) To calculate squared point proton radius and its MBPT correction. The squared point proton radius is related to the charge radius as follows @@ -672,20 +670,20 @@ R^2_{ch} = R^2_p + \\langle r^2_p \\rangle + \\frac{N}{Z} \\langle r^2_n \\rangl where ``\\langle r^2_p \\rangle = 0.769 \\mathrm{fm}^2``, ``\\langle r^2_n \\rangle = -0.116 \\mathrm{fm}^2``, `` \\frac{3}{4m^2_p c^4} =0.033\\mathrm{fm}^2`` is the so-called Darwin-Foldy term, and the last term is Spin-Orbit correction term. """ -function Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict_2b_ch,dict6j,MatOp,to;hfmbptlevel=true) - Calculate_RCM(binfo,Chan1b,Chan2b,HFobj.modelspace.sps,Op_Rp2,dict_9j_2n,HOBs,to) +function Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dWS,dict_2b_ch,MatOp,to;hfmbptlevel=true) + Calculate_RCM(binfo,Chan1b,Chan2b,HFobj.modelspace.sps,Op_Rp2,dWS,to) Calculate_intR2p(binfo,Chan1b,HFobj,Op_Rp2) Calculate_SOterm(binfo,Chan1b,HFobj,Op_Rp2) - Rp,Rp_PT = Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dict6j,MatOp,to;hfmbptlevel=hfmbptlevel) + Rp,Rp_PT = Calc_Expec(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_2b_ch,dWS,MatOp,to;hfmbptlevel=hfmbptlevel) return Rp,Rp_PT end """ - eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict6j,to) + eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dWS,to) -evaluate charge radii with HFMBPT +function to evaluate charge radii with HFMBPT """ -function eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict6j,MatOp,to) +function eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dWS,MatOp,to;io=stdout) Chan2b = Chan2bD.Chan2b; dict_2b_ch = Chan2bD.dict_ch_JPT tnuc = binfo.nuc N = tnuc.N @@ -693,7 +691,7 @@ function eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict6 DF = 0.033 Rp2 = 0.8775^2 Rn2 = -0.1149 - Rpp,Rp_MP = Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict_2b_ch,dict6j,MatOp,to) + Rpp,Rp_MP = Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dWS,dict_2b_ch,MatOp,to) Rch2 = Rpp + Rp2 + N/Z *Rn2 + DF Rch = NaN try @@ -711,17 +709,17 @@ function eval_rch_hfmbpt(binfo,Chan1b,Chan2bD,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict6 end ctxt = " HF+PT => " * RPT end - println(" HF point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",Rch," ",ctxt) - getNormalOrderedO(binfo,HFobj,Op_Rp2,Chan1b,Chan2bD,dict6j,to) + println(io," HF point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",Rch," ",ctxt) + getNormalOrderedO(HFobj,Op_Rp2,Chan1b,Chan2bD,to) return nothing end """ - eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j_2n,HOBs,dictMono,dict6j,to) + eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dWS,dictMono,to) evaluate charge radii with IMSRG. """ -function eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j_2n,HOBs,dictMono,dict6j,MatOp,to) +function eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dWS,d6j_defbyrun,dictMono,MatOp,restart_from_files,to;debug_mode=false) Chan2b = Chan2bD.Chan2b; dict_2b_ch = Chan2bD.dict_ch_JPT tnuc = binfo.nuc N = tnuc.N @@ -729,8 +727,8 @@ function eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j_2n DF = 0.033; Rp2 = 0.8775^2; Rn2 = -0.1149 Op_Rp2 = InitOp(Chan1b,Chan2b) ## HF level - Rpp,Rp_PT = Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dict_9j_2n,HOBs,dict_2b_ch,dict6j,MatOp,to) - getNormalOrderedO(binfo,HFobj,Op_Rp2,Chan1b,Chan2bD,dict6j,to;firstNO=true) + Rpp,Rp_PT = Calculate_Rp(binfo,Chan1b,Chan2b,HFobj,Op_Rp2,dWS,dict_2b_ch,MatOp,to) + getNormalOrderedO(HFobj,Op_Rp2,Chan1b,Chan2bD,to;firstNO=true) Rpp_HF = Op_Rp2.zerobody[1] Rch2_HF = Rpp_HF + Rp2 + N/Z *Rn2 + DF Rch_HF = sqrt(Rch2_HF) @@ -741,18 +739,64 @@ function eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j_2n ncomm = [0] norms = zeros(Float64,4) Omega = IMSRGobj.Omega - tOmega = deepcopy(Omega); aOp!(tOmega,0.0) - tmpOp = deepcopy(Op_Rp2); aOp!(tmpOp,0.0) - tmpOp2 = deepcopy(Op_Rp2); aOp!(tmpOp2,0.0) - Nested = deepcopy(Op_Rp2); aOp!(Nested,0.0) - nwritten = IMSRGobj.n_written_omega[1] - for i = 1:nwritten - read_omega_bin!(binfo,i,tOmega) - BCH_Transform(tOmega,Op_Rp2,tmpOp,tmpOp2,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dict6j,PandyaObj,to) - aOp1_p_bOp2!(tmpOp,Op_Rp2,1.0,0.0) + tmpOp = deepcopy(Op_Rp2);aOp!(tmpOp,0.0) + tmpOp2 = deepcopy(Op_Rp2);aOp!(tmpOp2,0.0) + Nested = deepcopy(Op_Rp2);aOp!(Nested,0.0) + + if length(restart_from_files) >= 1 # hf5 files by emulator are specified + tOmega = deepcopy(Omega); aOp!(tOmega,0.0) + dict_idx_op_to_flatvec, dict_idx_flatvec_to_op, dict_if_idx_for_hdf5 = get_non0omega_idxs(HFobj,Omega,Chan2b) + for fn in restart_from_files[1] + aOp!(tOmega,0.0) + fvec = read_fvec_hdf5(fn) + s = parse(Float64,split(split(split(fn,"_")[end],"s")[end],".h5")[1]) + aOp!(tmpOp,0.0); aOp!(tmpOp2,0.0); aOp!(Nested,0.0) + update_Op_with_fvec!(fvec,tOmega,dict_idx_flatvec_to_op) + BCH_Transform(tOmega,Op_Rp2,tmpOp,tmpOp2,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_defbyrun,PandyaObj,to) + Rpp = tmpOp.zerobody[1] + Rch2_emu = Rpp + Rp2 + N/Z *Rn2 + DF + Rch_emu = sqrt(Rch2_emu) + println("s="*strip(@sprintf("%10.2f",s))*"(Net): point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",@sprintf("%12.6f", Rch_emu)) + aOp!(tOmega,0.0) + + ## remnant for IMSRG-Net ## + # if s == 20.00 + # aOp!(tmpOp,0.0); aOp!(tmpOp2,0.0); aOp!(Nested,0.0) + # update_Op_with_fvec!(fvec,tOmega,dict_idx_flatvec_to_op) + # BCH_Transform(tOmega,Op_Rp2,tmpOp,tmpOp2,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dWS,PandyaObj,to) + # Rpp = tmpOp.zerobody[1] + # Rch2_20 = Rpp + Rp2 + N/Z *Rn2 + DF + # Rch_20 = sqrt(Rch2_20) + # println("s=20(Net): point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",@sprintf("%12.6f", Rch_20)) + # aOp!(tOmega,0.0) + # target_dir = "../imsrg_data/runlog_e$(binfo.emax)_$(inttype)/" + # target_dir = "../../Desktop/imsrg_data/runlog_e$(binfo.emax)_$(inttype)/" + # fn_20 = glob(target_dir * "omega_vec_*$(binfo.nuc.cnuc)_s20.00.h5")[1] + # fvec = read_fvec_hdf5(fn_20) + # aOp!(tmpOp,0.0); aOp!(tmpOp2,0.0); aOp!(Nested,0.0) + # update_Op_with_fvec!(fvec,tOmega,dict_idx_flatvec_to_op) + # BCH_Transform(tOmega,Op_Rp2,tmpOp,tmpOp2,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,dWS,PandyaObj,to) + # Rpp = tmpOp.zerobody[1] + # Rch2_20 = Rpp + Rp2 + N/Z *Rn2 + DF + # Rch_20 = sqrt(Rch2_20) + # println("s=20(IMSRG): point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",@sprintf("%12.6f", Rch_20)) + # aOp!(tOmega,0.0) + # end + if fn == restart_from_files[1][end] + aOp1_p_bOp2!(tmpOp,Op_Rp2,1.0,0.0) + end + + end + else + tOmega = deepcopy(Omega); aOp!(tOmega,0.0) + nwritten = IMSRGobj.n_written_omega[1] + for i = 1:nwritten + read_omega_bin!(binfo,Chan2b,i,tOmega) + BCH_Transform(tOmega,Op_Rp2,tmpOp,tmpOp2,Nested,ncomm,norms,Chan1b,Chan2bD,HFobj,dictMono,d6j_defbyrun,PandyaObj,to) + aOp1_p_bOp2!(tmpOp,Op_Rp2,1.0,0.0) + end end - - Rpp = tmpOp.zerobody[1] + Rpp = Op_Rp2.zerobody[1] Rch2 = Rpp + Rp2 + N/Z *Rn2 + DF Rch = sqrt(Rch2) println("IMSRG point proton radius ",@sprintf("%12.6f", sqrt(Rpp))," charge radius ",@sprintf("%12.6f", Rch)) @@ -760,11 +804,11 @@ function eval_rch_imsrg(binfo,Chan1b,Chan2bD,HFobj,IMSRGobj,PandyaObj,dict_9j_2n end """ - getNormalOrderedO(binfo,HFobj,targetOp,Chan1b,Chan2bD,dict6j,to;verbose=false,undo=false,OpeqH=false,firstNO=false) + getNormalOrderedO(HFobj,targetOp,Chan1b,Chan2bD,to;verbose=false,undo=false,OpeqH=false,firstNO=false) NormalOrdering for a target Operator. For now, it only supports scaler operators. """ -function getNormalOrderedO(binfo,HFobj,targetOp,Chan1b,Chan2bD,dict6j,to;verbose=false,undo=false,OpeqH=false,firstNO=false) +function getNormalOrderedO(HFobj,targetOp,Chan1b,Chan2bD,to;verbose=false,undo=false,OpeqH=false,firstNO=false) Chan2b = Chan2bD.Chan2b dict_idx_from_chket = Chan2bD.dict_idx_from_chket sps = HFobj.modelspace.sps @@ -772,7 +816,7 @@ function getNormalOrderedO(binfo,HFobj,targetOp,Chan1b,Chan2bD,dict6j,to;verbose Cp = HFobj.Cp; Cn = HFobj.Cn holes = Int64[ ] for (ith,o) in enumerate(HFobj.modelspace.sps) - if o.occ != 0.0 + if o.occ[1] != 0.0 push!(holes,ith) end end @@ -784,7 +828,7 @@ function getNormalOrderedO(binfo,HFobj,targetOp,Chan1b,Chan2bD,dict6j,to;verbose end ## 0-body from One-body for (i,oi) in enumerate(sps) - ni = oi.occ + ni = oi.occ[1] if ni != 0.0 pn = 1 + div(1+oi.tz,2) idx_i = div(i,2) + i%2 @@ -805,15 +849,15 @@ function getNormalOrderedO(binfo,HFobj,targetOp,Chan1b,Chan2bD,dict6j,to;verbose tsum = 0.0 for ib = 1:nket p,q = tkets[ib] - if sps[p].occ * sps[q].occ ==0.0;continue;end - tsum += sps[p].occ * sps[q].occ * O2b[ib,ib] + if sps[p].occ[1] * sps[q].occ[1] ==0.0;continue;end + tsum += sps[p].occ[1] * sps[q].occ[1] * O2b[ib,ib] end targetOp.zerobody[1] += tsum * hatfactor # => NO1B tdict = dict_idx_from_chket[ch] for h in holes - jh = sps[h].j; nh = sps[h].occ + jh = sps[h].j; nh = sps[h].occ[1] for (a,oa) in enumerate(sps) ja = oa.j if !tri_check(jh,ja,2*J);continue;end diff --git a/test/Manifest.toml b/test/Manifest.toml index 25f1e8e3..a0bccd94 100644 --- a/test/Manifest.toml +++ b/test/Manifest.toml @@ -1,32 +1,393 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.7.0" +julia_version = "1.8.5" manifest_format = "2.0" +project_hash = "b6db5bfdddcc76e394ed6ea8876f39e7b0678fcd" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "e7ff6cadf743c098e08fca25c91103ee4303c9bb" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.15.6" + +[[deps.ChangesOfVariables]] +deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +git-tree-sha1 = "38f7a08f19d8810338d4f5085211c7dfa5d5bdd8" +uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" +version = "0.1.4" + +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + +[[deps.Compat]] +deps = ["Dates", "LinearAlgebra", "UUIDs"] +git-tree-sha1 = "00a2cccc7f098ff3b66806862d275ca3db9e6e5a" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.5.0" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.1+0" + +[[deps.DataAPI]] +git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.14.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.13" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.ExprTools]] +git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.8" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.Glob]] +git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.0" + +[[deps.HalfIntegers]] +git-tree-sha1 = "00db638039558e6396b93e2702862d6a884ac50e" +uuid = "f0d1745a-41c9-11e9-1dd9-e5d34d218721" +version = "1.4.3" + +[[deps.IntegerMathUtils]] +git-tree-sha1 = "f366daebdfb079fd1fe4e3d560f99a0c892e15bc" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.0" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.InverseFunctions]] +deps = ["Test"] +git-tree-sha1 = "49510dfcb407e572524ba94aeae2fced1f3feb0f" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.8" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.1.1" + +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.1" + +[[deps.LRUCache]] +git-tree-sha1 = "d862633ef6097461037a00a13f709a62ae4bdfdd" +uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" +version = "1.4.0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.LatinHypercubeSampling]] +deps = ["Random", "StableRNGs", "StatsBase", "Test"] +git-tree-sha1 = "42938ab65e9ed3c3029a8d2c58382ca75bdab243" +uuid = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d" +version = "1.8.0" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "946607f84feb96220f480e0422d3484c49c00239" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.19" + [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.MPI]] +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "3bb087eb4322bd73db110722f97624f3f2edb047" +uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" +version = "0.20.7" + +[[deps.MPICH_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "6d4fa43afab4611d090b11617ecea1a144b21d35" +uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" +version = "4.0.2+5" + +[[deps.MPIPreferences]] +deps = ["Libdl", "Preferences"] +git-tree-sha1 = "71f937129731a29eabe6969db2c90368a4408933" +uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +version = "0.1.7" + +[[deps.MPItrampoline_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "b3f9e42685b4ad614eca0b44bd863cd41b1c86ea" +uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" +version = "5.0.2+1" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.0+0" + +[[deps.MicrosoftMPI_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "a16aa086d335ed7e0170c5265247db29172af2f9" +uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" +version = "10.1.3+2" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.2.1" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.20+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenMPI_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] +git-tree-sha1 = "346d6b357a480300ed7854dbc70e746ac52e10fd" +uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" +version = "4.1.3+3" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.4.1" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.8.0" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.3.0" + +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "311a2aa90a64076ea0fac2ad7492e914e6feeb81" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + [[deps.Random]] deps = ["SHA", "Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +[[deps.RationalRoots]] +git-tree-sha1 = "52315cf3098691c1416a356925027af5ab5bf548" +uuid = "308eb6b3-cc68-5ff3-9e97-c3c4da4fa681" +version = "0.2.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.1.0" + +[[deps.SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "d75bda01f8c31ebb72df80a46c88b25d1c79c56d" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.1.7" + +[[deps.StableRNGs]] +deps = ["Random", "Test"] +git-tree-sha1 = "3be7d49667040add7ee151fefaf1f8c04c8c8276" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.0" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f9af7f195fb13589dd2e2d57fdb401717d2eb1f6" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.5.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.21" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.0" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.1" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TimerOutputs]] +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "f2fd3f288dfc6f507b0c3a2eb3bac009251e548b" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.22" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.WignerSymbols]] +deps = ["HalfIntegers", "LRUCache", "Primes", "RationalRoots"] +git-tree-sha1 = "960e5f708871c1d9a28a7f1dbcaf4e0ee34ee960" +uuid = "9f57e263-0b3d-5e2e-b1be-24f2bb48858b" +version = "2.0.0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.12+3" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.1.1+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" diff --git a/test/Project.toml b/test/Project.toml index 0c363327..adcf6aaf 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,2 +1,15 @@ [deps] +Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +Glob = "c27321d9-0574-5035-807b-f59d2c89b15c" +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +LatinHypercubeSampling = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" +Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +WignerSymbols = "9f57e263-0b3d-5e2e-b1be-24f2bb48858b" diff --git a/test/mpirun_test.jl b/test/mpirun_test.jl new file mode 100644 index 00000000..a5f6553e --- /dev/null +++ b/test/mpirun_test.jl @@ -0,0 +1,8 @@ +using NuclearToolkit +using Test + +@testset "NuclearToolkit.jl" begin + @testset "mpirun" begin + @test make_chiEFTint(;nucs=["He4"],itnum=10,optimizer="MCMC",MPIcomm=true) + end +end diff --git a/test/optional_parameters.jl b/test/optional_parameters.jl index 2f26697c..74013ff0 100644 --- a/test/optional_parameters.jl +++ b/test/optional_parameters.jl @@ -1,13 +1,13 @@ ###--- ChiralEFT --- -n_mesh = 10 +n_mesh = 50 emax = 2 -chi_order = 4 calc_NN = true -calc_3N = false +calc_3N = false hw = 20.0 srg = false tbme_fmt = "snt.bin" -pottype="emn500n4lo" +chi_order = 3; pottype="em500n3lo" + ### --- IMSRG --- smax = 500.0 dsmax = 0.5 diff --git a/test/optional_parameters_snt.jl b/test/optional_parameters_snt.jl new file mode 100644 index 00000000..6252f617 --- /dev/null +++ b/test/optional_parameters_snt.jl @@ -0,0 +1,14 @@ +###--- ChiralEFT --- +n_mesh = 50 +emax = 2 +calc_NN = true +calc_3N = false +hw = 20.0 +srg = false +tbme_fmt = "snt" +chi_order = 3; pottype="em500n3lo" + +### --- IMSRG --- +smax = 500.0 +dsmax = 0.5 +denominatorDelta=0.0 diff --git a/test/runtests.jl b/test/runtests.jl index ccda7f52..45ee4738 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,19 +1,63 @@ using NuclearToolkit using Test -@testset "NuclearToolkit.jl" begin - - ### generate NN potential - @test make_chiEFTint() - ### HFMBPT & VS-IMSRG calculation - hw = 20; emax=2 - nuc = "He4"; core = "He4"; vspace="p-shell" - sntf = "tbme_emn500n4lo_barehw20emax2.snt.bin" - @test hf_main([nuc],sntf,hw,emax;verbose=false,doIMSRG=true,corenuc=core,ref="nuc",valencespace=vspace) +@testset "NuclearToolkit.jl" begin + @testset "generate NN potential" begin + @test make_chiEFTint(;fn_params="optional_parameters.jl") + @test make_chiEFTint(;fn_params="optional_parameters_snt.jl") + end + @testset "HFMBPT & VS-IMSRG calculations" begin + hw = 20; emax=2 + nuc = "He4"; core = "He4"; vspace="p-shell" + nucs = ["He4"] + sntf = "tbme_em500n3lo_barehw20emax2.snt.bin" + ## HF-MBPT from snt/snt.bin + @testset "HFMBPT results under bare EM500,hw20,e2,nmesh50" begin + Eref = [1.47561,-5.80114,0.39324] + HFobj1 = hf_main(nucs,sntf,hw,emax;return_obj=true,verbose=true) + Es1 = [HFobj1.E0, HFobj1.EMP2, HFobj1.EMP3] + println("Eref $Eref") + println("Es1 $Es1") + @testset "HF" begin + @test (Es1[1] - Eref[1])^2 < 1.e-4 + end + @testset "EMP2" begin + @test (Es1[2] - Eref[2])^2 < 1.e-4 + end + @testset "EMP3" begin + @test (Es1[3] - Eref[3])^2 < 1.e-4 + end + @testset "snt & snt.bin must give identical results" begin + tsntf = replace(sntf,".snt.bin" => ".snt") + HFobj2 = hf_main(nucs,tsntf,hw,emax;return_obj=true) + Es2 = [HFobj2.E0, HFobj2.EMP2, HFobj2.EMP3] + @test ((HFobj1.E0-HFobj2.E0)^2 + (HFobj1.EMP2-HFobj2.EMP2)^2 + (HFobj1.EMP3-HFobj2.EMP3)^2) < 1.e-6 + end + end + Eref = -4.06623902 + @testset "IMSRG results under bare EM500,hw20,e2,nmesh50" begin + IMSRGobj = hf_main(nucs,sntf,hw,emax;doIMSRG=true,return_obj=true) + Es = IMSRGobj.H.zerobody[1] + @test abs(Eref-Es[1]) < 1.e-6 + end + @testset "VSIMSRG results under bare EM500,hw20,e2,nmesh50" begin + IMSRGobj = hf_main(nucs,sntf,hw,emax;doIMSRG=true,corenuc=core,ref="nuc",valencespace=vspace,return_obj=true) + Es = IMSRGobj.H.zerobody[1] + @test abs(Eref - Es[1]) < 1.e-6 + end + @testset "shell model calculation" begin + Eref = [ -10.737, -8.426] + vs_sntf = "vsimsrg_p-shell_coreHe4refHe4_He4_hw20e2_Delta0.0.snt"; n_eigen=2;targetJ=[] + Ens = main_sm(vs_sntf,"Be8",n_eigen,targetJ) + @test ((Eref[1]-Ens[1])^2 + (Eref[2] - Ens[2])^2) < 1.e-6 + end + end - ## shell model calculation - vs_sntf = "vsimsrg_p-shell_coreHe4refHe4_He4_hw20e2_Delta0.0.snt"; n_eigen=2;targetJ=[] - @test main_sm(vs_sntf,"Be8",n_eigen,targetJ) - + # @testset "2n3n calibration runnable?" begin + # @test make_chiEFTint(;nucs=["He4"],itnum=5,optimizer="MCMC") + # @test make_chiEFTint(;nucs=["He4"],itnum=5,optimizer="LHS") + # @test make_chiEFTint(;nucs=["He4"],itnum=5,optimizer="BayesOpt") + # @test make_chiEFTint(;nucs=["He4"],itnum=6,optimizer="MCMC",MPIcomm=true) + # end end