From 391c25ef93c099279272e62cf6aadfbb43360f0a Mon Sep 17 00:00:00 2001 From: "Ryan M. L. McFadden" Date: Mon, 12 Aug 2024 16:24:42 -0700 Subject: [PATCH 1/5] more stopping power coefficient options This patch modularizes the code responsible for selecting the stopping power coefficients. Specifically, it: - moves the data in `elemPars` to seperate JSON files in the `data/` directory. This makes it easier to modify the existing data or add new data sources. Note that this refactoring does not alter the previous functionality - the contents of each file are simply read and deep-merged into an initially empty `elemPars` object. - adds the original Varelas-Biersack parameters from Anderson & Ziegler (1977). - updates the "Other Parameters" tab in the GUI for easy toggling between the different stopping power coefficient data sources. --- TrimSP.html | 16 +- TrimSPlib.js | 916 ++++-------------------------------------- data/az_table.json | 830 ++++++++++++++++++++++++++++++++++++++ data/densities.json | 33 ++ data/elements.json | 560 ++++++++++++++++++++++++++ data/iaea_table.json | 623 ++++++++++++++++++++++++++++ data/icru_table.json | 830 ++++++++++++++++++++++++++++++++++++++ data/projectiles.json | 34 ++ 8 files changed, 3005 insertions(+), 837 deletions(-) create mode 100644 data/az_table.json create mode 100644 data/densities.json create mode 100644 data/elements.json create mode 100644 data/iaea_table.json create mode 100644 data/icru_table.json create mode 100644 data/projectiles.json diff --git a/TrimSP.html b/TrimSP.html index 8ac8611..3f69d7c 100644 --- a/TrimSP.html +++ b/TrimSP.html @@ -310,14 +310,20 @@ - + Stopping Power
Coefficients - Force the TRIM.SP code to use stopping power - parameters from the old ICRU tables. - + Data source for the Varelas-Biersack parameterization of electronic + stopping cross-sections for proton-like projectiles implanted in + elemental targets: +
    +
  1. Table 1 in Anderson & Ziegler (1977).
  2. +
  3. Table 3.1 in ICRU Report 49 (1993).
  4. +
  5. Table II in McFadden et al. (2023) and McFadden et al. (unpublished).
  6. +
+ - Use ICRU parameters + IRL diff --git a/TrimSPlib.js b/TrimSPlib.js index 9170096..cc14552 100644 --- a/TrimSPlib.js +++ b/TrimSPlib.js @@ -1,823 +1,64 @@ +// This file contains function that are generic Javascript for TrimSP + // This is an object that contains all GUI ids and values var All = new Object(); -// This is an object that contains all elements and their parameters -// To replace all other functions -const elemPars = { - muon : { - Z : 1 , - A : 0.1134289259 , - rho : 0 , - Elast : 0 , - ICRU : [] , - IAEA : [] - }, - "Li-8" : { - Z : 3 , - A : 8.02248624 , - rho : 0 , - Elast : 0 , - ICRU : [] , - IAEA : [] - }, - "B-12" : { - Z : 5 , - A : 12.0143526 , - rho : 0 , - Elast : 0 , - ICRU : [] , - IAEA : [] - }, - "Mg-31" : { - Z : 12 , - A : 30.996648 , - rho : 0 , - Elast : 0 , - ICRU : [] , - IAEA : [] - }, - H : { - Z : 1 , - A : 1.008 , - rho : 0.08 , - Elast : 0.1 , - ICRU : [1.25400,1.44000,242.60001,12000.00000,0.11590], - IAEA : [1.21941306,1.39705253,316.72610292,3622.08960714,0.03609996] - }, - He : { - Z : 2 , - A : 4.003 , - rho : 0.12 , - Elast : 0.1 , - ICRU : [1.22900,1.39700,484.50000,5873.00000,0.05225] , - IAEA : [] - }, - Li : { - Z : 3 , - A : 6.939 , - rho : 0.53 , - Elast : 1.63 , - ICRU : [1.41100,1.60000,725.59998,3013.00000,0.04578] , - IAEA : [2.55867734,2.98398784,672.22623329,223.63937274,0.05756479] - }, - Be : { - Z : 4 , - A : 9.012 , - rho : 1.85 , - Elast : 3.32 , - ICRU : [2.24800,2.59000,966.00000,153.80000,0.03475] , - IAEA : [2.13846776,2.43024550,1353.80005691,500.78353377,0.01143076] - }, - B : { - Z : 5 , - A : 10.811 , - rho : 2.34 , - Elast : 5.77 , - ICRU : [2.47400,2.81500,1206.00000,1060.00000,0.02855] , - IAEA : [2.92598306,3.33271910,1523.83401267,574.31712932,0.01671298] - }, - C : { - Z : 6 , - A : 12.011 , - rho : 2.26 , - Elast : 7.37 , - ICRU : [2.60100,2.60100,1701.00000,1279.00000,0.01638] , - IAEA : [2.51057212,2.84874359,1325.63086028,2111.57332043,0.03815981] - }, - N : { - Z : 7 , - A : 14.007 , - rho : 1.03 , - Elast : 4.92 , - ICRU : [2.95400,3.35000,1683.00000,1900.00000,0.02513] , - IAEA : [3.03231463,3.44621744,1287.27189959,3445.25706665,0.06909550] - }, - O : { - Z : 8 , - A : 15.999 , - rho : 2 , - Elast : 2.6 , - ICRU : [2.65200,3.00000,1920.00000,2000.00000,0.02230] , - IAEA : [2.58218404,2.91913321,2066.69556610,1937.28839450,0.01708201] - }, - F : { - Z : 9 , - A : 18.998 , - rho : 1.11 , - Elast : 0.84 , - ICRU : [2.08500,2.35200,2157.00000,2634.00000,0.01816] , - IAEA : [] - }, - Ne : { - Z : 10 , - A : 20.183 , - rho : 1.5 , - Elast : 0.02 , - ICRU : [1.95100,2.19900,2393.00000,2699.00000,0.01568] , - IAEA : [] - }, - Na : { - Z : 11 , - A : 22.99 , - rho : 0.97 , - Elast : 1.11 , - ICRU : [2.54200,2.86900,2628.00000,1854.00000,0.01472] , - IAEA : [] - }, - Mg : { - Z : 12 , - A : 24.312 , - rho : 1.74 , - Elast : 1.51 , - ICRU : [3.79100,4.29300,2862.00000,1009.00000,0.01397] , - IAEA : [4.32219620,4.95332934,2711.05757349,99.32422512,0.01692829] - }, - Al : { - Z : 13 , - A : 26.982 , - rho : 2.7 , - Elast : 3.39 , - ICRU : [4.15400,4.73900,2766.00000,164.50000,0.02023] , - IAEA : [4.16266645,4.73942640,3007.21967155,192.15430476,0.01478852] - }, - Si : { - Z : 14 , - A : 28.086 , - rho : 2.33 , - Elast : 4.63 , - ICRU : [4.91400,5.59800,3193.00000,232.70000,0.01419] , - IAEA : [4.56277193,5.17964542,3812.93366288,249.45105835,0.00951865] - }, - P : { - Z : 15 , - A : 30.974 , - rho : 1 , - Elast : 3.43 , - ICRU : [3.23200,3.64700,3561.00000,1560.00000,0.01267] , - IAEA : [] - }, - S : { - Z : 16 , - A : 32.064 , - rho : 2.07 , - Elast : 2.85 , - ICRU : [3.44700,3.89100,3792.00000,1219.00000,0.01211] , - IAEA : [] - }, - Cl : { - Z : 17 , - A : 35.453 , - rho : 2.03 , - Elast : 1.4 , - ICRU : [5.30100,6.00800,3969.00000,645.09998,0.01183] , - IAEA : [5.18954121,5.87010049,5726.20198003,338.90592713,0.00527894] - }, - Ar : { - Z : 18 , - A : 39.948 , - rho : 1.77 , - Elast : 0.08 , - ICRU : [5.73100,6.50000,4253.00000,530.00000,0.01123] , - IAEA : [] - }, - K : { - Z : 19 , - A : 39.102 , - rho : 0.86 , - Elast : 0.93 , - ICRU : [5.15200,5.83300,4482.00000,545.70001,0.01129] , - IAEA : [] - }, - Ca : { - Z : 20 , - A : 40.08 , - rho : 1.55 , - Elast : 1.84 , - ICRU : [5.52100,6.25200,4710.00000,553.29999,0.01120] , - IAEA : [7.38419020,8.41800474,4257.94547049,311.84732092,0.01482602] - }, - Sc : { - Z : 21 , - A : 44.956 , - rho : 2.99 , - Elast : 3.9 , - ICRU : [5.20100,5.88400,4938.00000,560.90002,0.01000] , - IAEA : [6.27366940,7.11486087,5202.32117316,349.64931132,0.00808596] - }, - Ti : { - Z : 22 , - A : 47.9 , - rho : 4.54 , - Elast : 4.85 , - ICRU : [4.85800,5.48900,5260.00000,651.09998,0.00893] , - IAEA : [4.89215322,5.52996090,4733.05002706,821.54929980,0.01141794] - }, - V : { - Z : 23 , - A : 50.942 , - rho : 6.11 , - Elast : 5.31 , - ICRU : [4.47900,5.05500,5391.00000,952.29999,0.00912] , - IAEA : [4.39418898,4.95984106,5216.28902299,873.00768319,0.00982301] - }, - Cr : { - Z : 24 , - A : 51.996 , - rho : 7.19 , - Elast : 4.1 , - ICRU : [3.98300,4.48900,5616.00000,1336.00000,0.00841] , - IAEA : [4.22355616,4.76724205,4805.40719904,1062.25237873,0.01508696] - }, - Mn : { - Z : 25 , - A : 54.938 , - rho : 7.43 , - Elast : 2.92 , - ICRU : [3.46900,3.90700,5725.00000,1461.00000,0.00883] , - IAEA : [3.45870888,3.89580224,5452.18588822,1778.16054656,0.01057380] - }, - Fe : { - Z : 26 , - A : 55.847 , - rho : 7.87 , - Elast : 4.28 , - ICRU : [3.51900,3.96300,6065.00000,1243.00000,0.00778] , - IAEA : [3.69846643,4.16916938,5392.90710239,1040.38447053,0.01152298] - }, - Co : { - Z : 27 , - A : 58.933 , - rho : 8.9 , - Elast : 4.39 , - ICRU : [3.14000,3.53500,6288.00000,1372.00000,0.00736] , - IAEA : [3.55890909,4.00775461,6796.04145497,933.86447935,0.00558368] - }, - Ni : { - Z : 28 , - A : 58.71 , - rho : 8.9 , - Elast : 4.44 , - ICRU : [3.55300,4.00400,6205.00000,555.09998,0.00876] , - IAEA : [3.42262695,3.86234880,4759.65515188,520.18934465,0.02026669] - }, - Cu : { - Z : 29 , - A : 63.54 , - rho : 8.96 , - Elast : 3.49 , - ICRU : [3.69600,4.19400,4649.00000,81.13000,0.02242] , - IAEA : [3.54912421,4.02142201,4344.22605325,128.32905834,0.02886218] - }, - Zn : { - Z : 30 , - A : 65.37 , - rho : 7.13 , - Elast : 1.35 , - ICRU : [4.21000,4.75000,6953.00000,295.20001,0.00681] , - IAEA : [4.31895518,4.91763977,5346.03925560,46.16548699,0.01518164] - }, - Ga : { - Z : 31 , - A : 69.72 , - rho : 5.91 , - Elast : 2.81 , - ICRU : [5.04100,5.69700,7137.00000,202.60001,0.00673] , - IAEA : [4.11015447,4.63998531,7681.41419449,149.38563152,0.00628772] - }, - Ge : { - Z : 32 , - A : 72.59 , - rho : 5.32 , - Elast : 3.85 , - ICRU : [5.55400,6.30000,6496.00000,110.00000,0.00969] , - IAEA : [5.80984815,6.60667983,6039.04808738,87.19744473,0.01158192] - }, - As : { - Z : 33 , - A : 74.922 , - rho : 5.72 , - Elast : 2.96 , - ICRU : [5.32300,6.01200,7611.00000,292.50000,0.00645] , - IAEA : [] - }, - Se : { - Z : 34 , - A : 78.96 , - rho : 4.79 , - Elast : 2.25 , - ICRU : [5.87400,6.65600,7395.00000,117.50000,0.00768] , - IAEA : [5.58734301,6.31119973,8423.01872583,221.61559131,0.00530434] - }, - Br : { - Z : 35 , - A : 79.909 , - rho : 3.14 , - Elast : 1.22 , - ICRU : [6.65800,7.53600,7694.00000,222.30000,0.00651] , - IAEA : [6.28480648,7.09489448,11732.76411988,150.96205589,0.00281298] - }, - Kr : { - Z : 36 , - A : 83.8 , - rho : 3.1 , - Elast : 0.12 , - ICRU : [6.41300,7.24000,11850.00000,153.70000,0.00288] , - IAEA : [6.47378266,7.31581518,9199.06183849,216.98680923,0.00437111] - }, - Rb : { - Z : 37 , - A : 85.47 , - rho : 1.53 , - Elast : 0.85 , - ICRU : [5.69400,6.42900,8478.00000,292.89999,0.00609] , - IAEA : [8.48759187,9.62951209,7271.11124671,272.67996745,0.00818815] - }, - Sr : { - Z : 38 , - A : 87.62 , - rho : 2.54 , - Elast : 1.72 , - ICRU : [6.33900,7.15900,8693.00000,330.29999,0.00600] , - IAEA : [8.66447838,9.84912713,5979.31960977,334.15705556,0.01184544] - }, - Y : { - Z : 39 , - A : 88.905 , - rho : 4.47 , - Elast : 4.37 , - ICRU : [6.40700,7.23400,8907.00000,367.79999,0.00589] , - IAEA : [7.54854264,8.54789357,6885.34110669,429.53252110,0.00930644] - }, - Zr : { - Z : 40 , - A : 91.22 , - rho : 6.51 , - Elast : 6.25 , - ICRU : [6.73400,7.60300,9120.00000,405.20001,0.00576] , - IAEA : [6.24168401,7.04236496,10674.06252597,269.66181445,0.00339805] - }, - Nb : { - Z : 41 , - A : 92.906 , - rho : 8.57 , - Elast : 7.57 , - ICRU : [6.90100,7.79100,9333.00000,442.70001,0.00559] , - IAEA : [5.96194954,6.72632300,10250.57513827,275.25886405,0.00386599] - }, - Mo : { - Z : 42 , - A : 95.94 , - rho : 10.22 , - Elast : 6.82 , - ICRU : [6.42400,7.24800,9545.00000,480.20001,0.00538] , - IAEA : [5.58867862,6.29983727,9573.16605660,523.57577519,0.00473082] - }, - Tc : { - Z : 43 , - A : 98 , - rho : 11.5 , - Elast : 6.85 , - ICRU : [6.79900,7.67100,9756.00000,517.59998,0.00532] , - IAEA : [] - }, - Ru : { - Z : 44 , - A : 101.07 , - rho : 12.37 , - Elast : 6.74 , - ICRU : [6.10900,6.88700,9966.00000,555.09998,0.00515] , - IAEA : [] - }, - Rh : { - Z : 45 , - A : 102.905 , - rho : 12.41 , - Elast : 5.75 , - ICRU : [5.92400,6.67700,10180.00000,592.50000,0.00492] , - IAEA : [] - }, - Pd : { - Z : 46 , - A : 106.4 , - rho : 12.02 , - Elast : 3.89 , - ICRU : [5.23800,5.90000,10380.00000,630.00000,0.00476] , - IAEA : [4.74762031,5.34871025,8086.17802763,942.05721488,0.00842671] - }, - Ag : { - Z : 47 , - A : 107.87 , - rho : 10.5 , - Elast : 2.95 , - ICRU : [5.34500,6.03800,6790.00000,397.79999,0.01676] , - IAEA : [5.42052240,6.17824432,4642.18214950,90.75350922,0.06061521] - }, - Cd : { - Z : 48 , - A : 112.4 , - rho : 8.65 , - Elast : 1.16 , - ICRU : [5.81400,6.55400,10800.00000,355.50000,0.00463] , - IAEA : [4.89128643,5.50754704,11831.77188508,396.06905848,0.00412049] - }, - In : { - Z : 49 , - A : 114.82 , - rho : 7.31 , - Elast : 2.52 , - ICRU : [6.22900,7.02400,11010.00000,370.89999,0.00454] , - IAEA : [5.98978289,6.77050040,6343.54720062,564.65410792,0.02270520] - }, - Sn : { - Z : 50 , - A : 118.69 , - rho : 7.31 , - Elast : 3.14 , - ICRU : [6.40900,7.22700,11210.00000,386.39999,0.00447] , - IAEA : [6.73191335,7.61854414,6946.18830598,347.19391310,0.01677246] - }, - Sb : { - Z : 51 , - A : 121.75 , - rho : 6.68 , - Elast : 2.75 , - ICRU : [7.50000,8.48000,8608.00000,348.00000,0.00907] , - IAEA : [7.92400389,8.99628409,5736.29881090,403.11722206,0.02973016] - }, - Te : { - Z : 52 , - A : 127.6 , - rho : 6.24 , - Elast : 2.23 , - ICRU : [6.97900,7.87100,11620.00000,392.39999,0.00440] , - IAEA : [] - }, - I : { - Z : 53 , - A : 126.904 , - rho : 4.93 , - Elast : 1.11 , - ICRU : [7.72500,8.71600,11830.00000,394.79999,0.00438] , - IAEA : [] - }, - Xe : { - Z : 54 , - A : 131.3 , - rho : 3.8 , - Elast : 0.16 , - ICRU : [8.33700,9.42500,10510.00000,269.60001,0.00621] , - IAEA : [8.96826400,10.16224223,8543.27304860,283.90067433,0.01019984] - }, - Cs : { - Z : 55 , - A : 132.905 , - rho : 1.9 , - Elast : 0.8 , - ICRU : [7.28700,8.21800,12230.00000,399.70001,0.00445] , - IAEA : [] - }, - Ba : { - Z : 56 , - A : 137.34 , - rho : 3.59 , - Elast : 1.9 , - ICRU : [7.89900,8.91100,12430.00000,402.10001,0.00451] , - IAEA : [] - }, - La : { - Z : 57 , - A : 138.91 , - rho : 6.15 , - Elast : 4.47 , - ICRU : [8.04100,9.07100,12630.00000,404.50000,0.00454] , - IAEA : [8.16949326,9.21144395,13933.96869212,429.99442382,0.00347440] - }, - Ce : { - Z : 58 , - A : 140.12 , - rho : 6.77 , - Elast : 4.32 , - ICRU : [7.48800,8.44400,12830.00000,406.89999,0.00442] , - IAEA : [] - }, - Pr : { - Z : 59 , - A : 140.907 , - rho : 6.77 , - Elast : 3.7 , - ICRU : [7.29100,8.21900,13030.00000,409.29999,0.00430] , - IAEA : [] - }, - Nd : { - Z : 60 , - A : 144.24001 , - rho : 7.01 , - Elast : 3.4 , - ICRU : [7.09800,8.00000,13230.00000,411.79999,0.00418] , - IAEA : [8.60801371,10.26060598,6798.65217629,7.06731816,0.02713704] - }, - Pm : { - Z : 61 , - A : 147 , - rho : 7.22 , - Elast : 0.1 , - ICRU : [6.90900,7.78600,13430.00000,414.20001,0.00406] , - IAEA : [] - }, - Sm : { - Z : 62 , - A : 150.35001 , - rho : 7.52 , - Elast : 2.14 , - ICRU : [6.72800,7.58000,13620.00000,416.60001,0.00398] , - IAEA : [] - }, - Eu : { - Z : 63 , - A : 151.96001 , - rho : 5.24 , - Elast : 1.86 , - ICRU : [6.55100,7.38000,13820.00000,419.00000,0.00388] , - IAEA : [] - }, - Gd : { - Z : 64 , - A : 157.25 , - rho : 7.9 , - Elast : 4.14 , - ICRU : [6.73900,7.59200,14020.00000,421.39999,0.00386] , - IAEA : [8.38379061,9.50012183,10804.38767518,110.71066098,0.00761735] - }, - Tb : { - Z : 65 , - A : 158.924 , - rho : 8.23 , - Elast : 4.05 , - ICRU : [6.21200,6.99600,14210.00000,423.89999,0.00372] , - IAEA : [8.69907359,10.36476708,5985.09307671,7.76175759,0.04237031] - }, - Dy : { - Z : 66 , - A : 162.5 , - rho : 8.55 , - Elast : 3.04 , - ICRU : [5.51700,6.21000,14400.00000,426.29999,0.00363] , - IAEA : [6.69350026,7.81543484,5289.65107666,12.11560717,0.05746489] - }, - Ho : { - Z : 67 , - A : 164.92999 , - rho : 8.8 , - Elast : 3.14 , - ICRU : [5.22000,5.87400,14600.00000,428.70001,0.00350] , - IAEA : [] - }, - Er : { - Z : 68 , - A : 167.25999 , - rho : 9.07 , - Elast : 3.29 , - ICRU : [5.07100,5.70600,14790.00000,433.00000,0.00341] , - IAEA : [4.31497049,4.85346547,12995.54504003,691.00380321,0.00499022] - }, - Tm : { - Z : 69 , - A : 168.93401 , - rho : 9.32 , - Elast : 2.42 , - ICRU : [4.92600,5.54200,14980.00000,433.50000,0.00334] , - IAEA : [] - }, - Yb : { - Z : 70 , - A : 173.03999 , - rho : 6.9 , - Elast : 1.6 , - ICRU : [4.78800,5.38600,15170.00000,435.89999,0.00329] , - IAEA : [6.38304258,7.21491284,12327.74719685,82.30064162,0.00516845] - }, - Lu : { - Z : 71 , - A : 174.97 , - rho : 9.84 , - Elast : 4.43 , - ICRU : [4.89300,5.50500,15360.00000,438.29999,0.00324] , - IAEA : [7.00205766,8.09268611,4589.67801229,31.06321362,0.11142124] - }, - Hf : { - Z : 72 , - A : 178.49001 , - rho : 13.31 , - Elast : 6.44 , - ICRU : [5.02800,5.65700,15550.00000,440.79999,0.00320] , - IAEA : [5.32763157,6.00140558,13853.49562768,206.93150053,0.00411522] - }, - Ta : { - Z : 73 , - A : 180.948 , - rho : 16.65 , - Elast : 8.1 , - ICRU : [4.73800,5.32900,15740.00000,443.20001,0.00319] , - IAEA : [5.15280708,5.80545310,12417.25115167,231.48549646,0.00530723] - }, - W : { - Z : 74 , - A : 183.85001 , - rho : 19.35 , - Elast : 8.9 , - ICRU : [4.58700,5.16000,15410.00000,415.29999,0.00341] , - IAEA : [4.81261962,5.41579909,15245.84079976,286.09077182,0.00344862] - }, - Re : { - Z : 75 , - A : 186.2 , - rho : 21.04 , - Elast : 8.03 , - ICRU : [5.20100,5.85100,16120.00000,441.60001,0.00312] , - IAEA : [4.26021967,4.80273372,3191.05524918,76051.48730893,0.00003161] - }, - Os : { - Z : 76 , - A : 190.2 , - rho : 22.6 , - Elast : 8.17 , - ICRU : [5.07100,5.70400,16300.00000,440.89999,0.00308] , - IAEA : [] - }, - Ir : { - Z : 77 , - A : 192.2 , - rho : 22.4 , - Elast : 6.94 , - ICRU : [4.94600,5.56300,16490.00000,440.10001,0.00296] , - IAEA : [4.16543126,4.68849191,6887.94139926,4263.90641919,0.00000004] - }, - Pt : { - Z : 78 , - A : 195.09 , - rho : 21.45 , - Elast : 5.84 , - ICRU : [4.47700,5.03400,16670.00000,439.29999,0.00287] , - IAEA : [4.62228847,5.20033612,16308.49878855,266.02263275,0.00309560] - }, - Au : { - Z : 79 , - A : 196.967 , - rho : 19.32 , - Elast : 3.81 , - ICRU : [4.84400,5.45800,7852.00000,975.79999,0.02077] , - IAEA : [4.84253074,5.44769072,15602.21662947,412.25485588,0.00331383] - }, - Hg : { - Z : 80 , - A : 200.59 , - rho : 13.55 , - Elast : 0.67 , - ICRU : [4.30700,4.84300,17040.00000,487.79999,0.00288] , - IAEA : [] - }, - Tl : { - Z : 81 , - A : 204.37 , - rho : 11.85 , - Elast : 1.88 , - ICRU : [4.72300,5.31100,17220.00000,537.00000,0.00291] , - IAEA : [] - }, - Pb : { - Z : 82 , - A : 207.19 , - rho : 11.35 , - Elast : 2.03 , - ICRU : [5.31900,5.98200,17400.00000,586.29999,0.00287] , - IAEA : [9.42473604,17.46235676,11946.86905435,0.00000001,0.00652912] - }, - Bi : { - Z : 83 , - A : 208.98 , - rho : 9.75 , - Elast : 2.18 , - ICRU : [5.95600,6.70000,17800.00000,677.00000,0.00266] , - IAEA : [10.25823796,12.26670424,7765.05387481,7.37274504,0.02310050] - }, - Po : { - Z : 84 , - A : 210 , - rho : 9.3 , - Elast : 1.5 , - ICRU : [6.15800,6.92800,17770.00000,586.29999,0.00281] , - IAEA : [] - }, - At : { - Z : 85 , - A : 210 , - rho : 0 , - Elast : 0.1 , - ICRU : [6.20300,6.97900,17950.00000,586.29999,0.00278] , - IAEA : [] - }, - Rn : { - Z : 86 , - A : 222 , - rho : 0 , - Elast : 0.2 , - ICRU : [6.18100,6.95400,18120.00000,586.29999,0.00275] , - IAEA : [] - }, - Fr : { - Z : 87 , - A : 223 , - rho : 0 , - Elast : 0.1 , - ICRU : [6.94900,7.82000,18300.00000,586.29999,0.00274] , - IAEA : [] - }, - Ra : { - Z : 88 , - A : 226 , - rho : 0 , - Elast : 1.66 , - ICRU : [7.50600,8.44800,18480.00000,586.29999,0.00273] , - IAEA : [] - }, - Ac : { - Z : 89 , - A : 227 , - rho : 0 , - Elast : 4.25 , - ICRU : [7.64800,8.60900,18660.00000,586.29999,0.00270] , - IAEA : [] - }, - Th : { - Z : 90 , - A : 232.03799 , - rho : 11.72 , - Elast : 6.2 , - ICRU : [7.71100,8.67900,18830.00000,586.29999,0.00264] , - IAEA : [] - }, - Pa : { - Z : 91 , - A : 231 , - rho : 15.4 , - Elast : 0.1 , - ICRU : [7.40700,8.33600,19010.00000,586.29999,0.00260] , - IAEA : [] - }, - U : { - Z : 92 , - A : 238.03 , - rho : 18.95 , - Elast : 5.55 , - ICRU : [7.29000,8.20400,19180.00000,586.29999,0.00267] , - IAEA : [] - }, - "" : { - Z : 0 , - A : 0.0 , - rho : 0 , - Elast : 0 , - ICRU : [0,0,0,0,0] , - IAEA : [] - } -}; -// Extra densities -var rhos = { - "NbN":8.47, - "Bi2Se3":7.51, - "La2CuO4": 7.08, - "La1.84Sr0.16CuO4": 6.94, - "N2":1.145, - "ZnO":5.61, - "ZnSe":5.26, - "ZnS":4.09, - "ZrO":6.0, - "Gd3Ga5O12":7.08, - "MgAl2O4":3.60, - "NdGaO3":7.57, - "YAlO3":4.88, - "Y3Al5O12":4.55, - "LiF":2.60, - "CaF2":3.18, - "BaFe":4.83, - "MgF2":3.18, - "SiO2":2.65, - "TiO2":4.26, - "KTaO3":6.967, - "LaAlO3":6.70, - "Al2O3":3.98, - "SrTiO3":5.12, - "SrLaGaO4":6.389, - "SrLaAlO4":5.924, - "NbSe2":6.30, - "MgO":3.58, - "YBa2Cu3O7":6.54, - "GaAs":5.32, - "C60":1.65 +function isObject(item) { + // simple object check + // https://stackoverflow.com/a/34749873 + return (item && typeof item === 'object' && !Array.isArray(item)); } -// This file contains function that are generic Javascript for TrimSP + +function mergeDeep(target, ...sources) { + // function for deep-merging objects + // https://stackoverflow.com/a/34749873 + + if (!sources.length) { + return target; + } + + const source = sources.shift(); + + if (isObject(target) && isObject(source)) { + for (const key in source) { + if (isObject(source[key])) { + if (!target[key]) Object.assign(target, { [key]: {} }); + mergeDeep(target[key], source[key]); + } else { + Object.assign(target, { [key]: source[key] }); + } + } + } + + return mergeDeep(target, ...sources); +} + + +// list of json files containing all projectile/target element data +const dataFiles = [ + "./data/elements.json", + "./data/projectiles.json", + "./data/az_table.json", + "./data/icru_table.json", + "./data/iaea_table.json" +]; + +// empty "main" object - to be filled with *all* projectile/target data +const elemPars = {} + +// loop over each json file +for (const df of dataFiles) { + // read its contents... + const data = require(df) + // ...and deep-merge them to the "main" object + mergeDeep(elemPars, data); +}; + +// Extra densities (i.e., for chemical compounds) +var rhos = require("./data/densities.json") + function parse_formula (mf) { // This function takes a chemical formula and returns @@ -861,25 +102,36 @@ function parse_formula (mf) { return mol; } -function StoppingCoefficients(Element,flag) +function StoppingCoefficients(Element, flag) { - // flag = 1 prefer ICRU otherwise prefer IAEA + // Select which tabulation to use for the Varelas-Biersack parameterization + // of electronic stopping cross sections for proton-like projectiles + // implanted in elemental targets. - // Updated Anderson-Ziegler table values for hydrogen projectiles using - // up-to-date stopping data from the IAEA database (https://www-nds.iaea.org/stopping/). - // For further details on their determination, see e.g.: - // R. M. L. McFadden at al., arXiv:2212.11081 [cond-mat.supr-con] - // https://doi.org/10.48550/arXiv.2212.11081 + // flag = 1: use coefficients from Anderson & Ziegler (1977). + if (flag == 1) { + return elemPars[Element].AZ; + } - if (flag || elemPars[Element].IAEA.length < 5) { - // Using stopping coefficients derived from ICRU Report 49 - //return StoppingCoefficientsICRU[Element]; - return elemPars[Element].ICRU; + // flag = 2: use coefficients from ICRU Report 49 (1973). + if (flag == 2) { + return elemPars[Element].ICRU; + } + + // flag = 3: use coefficients from McFadden et al. (2023) and McFadden et al. (unpublished). + // + // NOTE: these values were derived from up-to-date stopping data found inthe + // IAEA's database of electronic stopping cross sections + // (https://www-nds.iaea.org/stopping/). + // For further details on their determination, see, e.g.: + // Appendix A in McFadden at al., Phys. Rev. Applied 19, 044018 (2023). + // https://doi.org/10.1103/PhysRevApplied.19.044018 + if (flag == 3 && elemPars[Element].IAEA.length == 5) { + return elemPars[Element].IAEA; + // in the event that updated coefficients are unavailable for given element + // fall back to using values from ICRU Report 49 } else { - // Using stopping coefficients derived from data in the IAEA database; - // however, if they are unavailable, return those from ICRU Report 49 - //return (Element in StoppingCoefficientsIAEA) ? StoppingCoefficientsIAEA[Element] : StoppingCoefficientsICRU[Element]; - return elemPars[Element].IAEA; + return elemPars[Element].ICRU; } } @@ -1112,8 +364,8 @@ function prep_cfg(toggle) { All[key]= document.getElementById(key).value; } - // Check ICRU flag, if checked use it - All["flagICRU"] = document.getElementById("flagICRU").checked; + // Get the stopping power coefficient (SPC) flag + All["flagSPC"] = document.getElementById("flagSPC").value; // Construct full content of cfg file TrimSPcfg = FilesSec + LayersSec + ProjSec + ScanSec; @@ -1248,7 +500,7 @@ function CreateInpFile() { newLayer[0] += Comp + " " + d + " " + rho + " 1 " + nEl; for (var j=0;j Date: Mon, 12 Aug 2024 16:46:53 -0700 Subject: [PATCH 2/5] clarify the default behaviour in the tooltip text --- TrimSP.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TrimSP.html b/TrimSP.html index 3f69d7c..35665ee 100644 --- a/TrimSP.html +++ b/TrimSP.html @@ -319,6 +319,9 @@
  • Table 1 in Anderson & Ziegler (1977).
  • Table 3.1 in ICRU Report 49 (1993).
  • Table II in McFadden et al. (2023) and McFadden et al. (unpublished).
  • + Note: While option 3 contains the most up-to-date values, it currently + does not contain entries for every target element. For elements with + missing data, values from option 2 are taken instead. From b3685ec6e447417dab314761803b34eabc99baf3 Mon Sep 17 00:00:00 2001 From: "Ryan M. L. McFadden" Date: Mon, 12 Aug 2024 16:52:05 -0700 Subject: [PATCH 3/5] move text outside of ordered list --- TrimSP.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TrimSP.html b/TrimSP.html index 35665ee..8a343af 100644 --- a/TrimSP.html +++ b/TrimSP.html @@ -319,10 +319,10 @@
  • Table 1 in Anderson & Ziegler (1977).
  • Table 3.1 in ICRU Report 49 (1993).
  • Table II in McFadden et al. (2023) and McFadden et al. (unpublished).
  • + Note: While option 3 contains the most up-to-date values, it currently does not contain entries for every target element. For elements with missing data, values from option 2 are taken instead. - From fc754e2a31efa87f23d31808869fd14c9c2ce9cd Mon Sep 17 00:00:00 2001 From: "Ryan M. L. McFadden" Date: Mon, 12 Aug 2024 16:58:33 -0700 Subject: [PATCH 4/5] update the revised stopping power coefficients for O, Si, and Nb - the revised values use data from version 2023-03 of the IAEA's stopping power database, which includes error estimates that were absent from earlier versions (i.e., versions 2021-12 and earlier). --- data/iaea_table.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/data/iaea_table.json b/data/iaea_table.json index b6b9e73..5b330e0 100644 --- a/data/iaea_table.json +++ b/data/iaea_table.json @@ -58,11 +58,11 @@ }, "O": { "IAEA": [ - 2.58218404, - 2.91913321, - 2066.6955661, - 1937.2883945, - 0.01708201 + 2.64525591541112, + 2.99207340296791, + 1983.59086293942, + 1899.40582231425, + 0.0194714278702055 ] }, "F": { @@ -94,11 +94,11 @@ }, "Si": { "IAEA": [ - 4.56277193, - 5.17964542, - 3812.93366288, - 249.45105835, - 0.00951865 + 4.92174725194867, + 5.61439738985486, + 2614.54841139624, + 369.526489722846, + 0.0253413402253883 ] }, "P": { @@ -307,11 +307,11 @@ }, "Nb": { "IAEA": [ - 5.96194954, - 6.726323, - 10250.57513827, - 275.25886405, - 0.00386599 + 5.83800567770461, + 6.58179495443619, + 12601.224783492, + 206.20626866439, + 0.00270151372920993 ] }, "Mo": { @@ -620,4 +620,4 @@ "": { "IAEA": [] } -} \ No newline at end of file +} From 65c13b36970eb0f528139a47c8f9e720a3b018f8 Mon Sep 17 00:00:00 2001 From: "Ryan M. L. McFadden" Date: Tue, 28 Jan 2025 11:29:58 -0800 Subject: [PATCH 5/5] move the data tables back into the "library" file modularizing the data/code complicates the web implementation --- TrimSPlib.js | 2954 ++++++++++++++++++++++++++++++++++++++++- data/az_table.json | 830 ------------ data/densities.json | 33 - data/elements.json | 560 -------- data/iaea_table.json | 623 --------- data/icru_table.json | 830 ------------ data/projectiles.json | 34 - 7 files changed, 2941 insertions(+), 2923 deletions(-) delete mode 100644 data/az_table.json delete mode 100644 data/densities.json delete mode 100644 data/elements.json delete mode 100644 data/iaea_table.json delete mode 100644 data/icru_table.json delete mode 100644 data/projectiles.json diff --git a/TrimSPlib.js b/TrimSPlib.js index cc14552..9dfb54e 100644 --- a/TrimSPlib.js +++ b/TrimSPlib.js @@ -36,28 +36,2956 @@ function mergeDeep(target, ...sources) { } -// list of json files containing all projectile/target element data -const dataFiles = [ - "./data/elements.json", - "./data/projectiles.json", - "./data/az_table.json", - "./data/icru_table.json", - "./data/iaea_table.json" +// element data +const elements = { + "H": { + "Z": 1, + "A": 1.008, + "rho": 0.08, + "Elast": 0.1 + }, + "He": { + "Z": 2, + "A": 4.003, + "rho": 0.12, + "Elast": 0.1 + }, + "Li": { + "Z": 3, + "A": 6.939, + "rho": 0.53, + "Elast": 1.63 + }, + "Be": { + "Z": 4, + "A": 9.012, + "rho": 1.85, + "Elast": 3.32 + }, + "B": { + "Z": 5, + "A": 10.811, + "rho": 2.34, + "Elast": 5.77 + }, + "C": { + "Z": 6, + "A": 12.011, + "rho": 2.26, + "Elast": 7.37 + }, + "N": { + "Z": 7, + "A": 14.007, + "rho": 1.03, + "Elast": 4.92 + }, + "O": { + "Z": 8, + "A": 15.999, + "rho": 2, + "Elast": 2.6 + }, + "F": { + "Z": 9, + "A": 18.998, + "rho": 1.11, + "Elast": 0.84 + }, + "Ne": { + "Z": 10, + "A": 20.183, + "rho": 1.5, + "Elast": 0.02 + }, + "Na": { + "Z": 11, + "A": 22.99, + "rho": 0.97, + "Elast": 1.11 + }, + "Mg": { + "Z": 12, + "A": 24.312, + "rho": 1.74, + "Elast": 1.51 + }, + "Al": { + "Z": 13, + "A": 26.982, + "rho": 2.7, + "Elast": 3.39 + }, + "Si": { + "Z": 14, + "A": 28.086, + "rho": 2.33, + "Elast": 4.63 + }, + "P": { + "Z": 15, + "A": 30.974, + "rho": 1, + "Elast": 3.43 + }, + "S": { + "Z": 16, + "A": 32.064, + "rho": 2.07, + "Elast": 2.85 + }, + "Cl": { + "Z": 17, + "A": 35.453, + "rho": 2.03, + "Elast": 1.4 + }, + "Ar": { + "Z": 18, + "A": 39.948, + "rho": 1.77, + "Elast": 0.08 + }, + "K": { + "Z": 19, + "A": 39.102, + "rho": 0.86, + "Elast": 0.93 + }, + "Ca": { + "Z": 20, + "A": 40.08, + "rho": 1.55, + "Elast": 1.84 + }, + "Sc": { + "Z": 21, + "A": 44.956, + "rho": 2.99, + "Elast": 3.9 + }, + "Ti": { + "Z": 22, + "A": 47.9, + "rho": 4.54, + "Elast": 4.85 + }, + "V": { + "Z": 23, + "A": 50.942, + "rho": 6.11, + "Elast": 5.31 + }, + "Cr": { + "Z": 24, + "A": 51.996, + "rho": 7.19, + "Elast": 4.1 + }, + "Mn": { + "Z": 25, + "A": 54.938, + "rho": 7.43, + "Elast": 2.92 + }, + "Fe": { + "Z": 26, + "A": 55.847, + "rho": 7.87, + "Elast": 4.28 + }, + "Co": { + "Z": 27, + "A": 58.933, + "rho": 8.9, + "Elast": 4.39 + }, + "Ni": { + "Z": 28, + "A": 58.71, + "rho": 8.9, + "Elast": 4.44 + }, + "Cu": { + "Z": 29, + "A": 63.54, + "rho": 8.96, + "Elast": 3.49 + }, + "Zn": { + "Z": 30, + "A": 65.37, + "rho": 7.13, + "Elast": 1.35 + }, + "Ga": { + "Z": 31, + "A": 69.72, + "rho": 5.91, + "Elast": 2.81 + }, + "Ge": { + "Z": 32, + "A": 72.59, + "rho": 5.32, + "Elast": 3.85 + }, + "As": { + "Z": 33, + "A": 74.922, + "rho": 5.72, + "Elast": 2.96 + }, + "Se": { + "Z": 34, + "A": 78.96, + "rho": 4.79, + "Elast": 2.25 + }, + "Br": { + "Z": 35, + "A": 79.909, + "rho": 3.14, + "Elast": 1.22 + }, + "Kr": { + "Z": 36, + "A": 83.8, + "rho": 3.1, + "Elast": 0.12 + }, + "Rb": { + "Z": 37, + "A": 85.47, + "rho": 1.53, + "Elast": 0.85 + }, + "Sr": { + "Z": 38, + "A": 87.62, + "rho": 2.54, + "Elast": 1.72 + }, + "Y": { + "Z": 39, + "A": 88.905, + "rho": 4.47, + "Elast": 4.37 + }, + "Zr": { + "Z": 40, + "A": 91.22, + "rho": 6.51, + "Elast": 6.25 + }, + "Nb": { + "Z": 41, + "A": 92.906, + "rho": 8.57, + "Elast": 7.57 + }, + "Mo": { + "Z": 42, + "A": 95.94, + "rho": 10.22, + "Elast": 6.82 + }, + "Tc": { + "Z": 43, + "A": 98, + "rho": 11.5, + "Elast": 6.85 + }, + "Ru": { + "Z": 44, + "A": 101.07, + "rho": 12.37, + "Elast": 6.74 + }, + "Rh": { + "Z": 45, + "A": 102.905, + "rho": 12.41, + "Elast": 5.75 + }, + "Pd": { + "Z": 46, + "A": 106.4, + "rho": 12.02, + "Elast": 3.89 + }, + "Ag": { + "Z": 47, + "A": 107.87, + "rho": 10.5, + "Elast": 2.95 + }, + "Cd": { + "Z": 48, + "A": 112.4, + "rho": 8.65, + "Elast": 1.16 + }, + "In": { + "Z": 49, + "A": 114.82, + "rho": 7.31, + "Elast": 2.52 + }, + "Sn": { + "Z": 50, + "A": 118.69, + "rho": 7.31, + "Elast": 3.14 + }, + "Sb": { + "Z": 51, + "A": 121.75, + "rho": 6.68, + "Elast": 2.75 + }, + "Te": { + "Z": 52, + "A": 127.6, + "rho": 6.24, + "Elast": 2.23 + }, + "I": { + "Z": 53, + "A": 126.904, + "rho": 4.93, + "Elast": 1.11 + }, + "Xe": { + "Z": 54, + "A": 131.3, + "rho": 3.8, + "Elast": 0.16 + }, + "Cs": { + "Z": 55, + "A": 132.905, + "rho": 1.9, + "Elast": 0.8 + }, + "Ba": { + "Z": 56, + "A": 137.34, + "rho": 3.59, + "Elast": 1.9 + }, + "La": { + "Z": 57, + "A": 138.91, + "rho": 6.15, + "Elast": 4.47 + }, + "Ce": { + "Z": 58, + "A": 140.12, + "rho": 6.77, + "Elast": 4.32 + }, + "Pr": { + "Z": 59, + "A": 140.907, + "rho": 6.77, + "Elast": 3.7 + }, + "Nd": { + "Z": 60, + "A": 144.24001, + "rho": 7.01, + "Elast": 3.4 + }, + "Pm": { + "Z": 61, + "A": 147, + "rho": 7.22, + "Elast": 0.1 + }, + "Sm": { + "Z": 62, + "A": 150.35001, + "rho": 7.52, + "Elast": 2.14 + }, + "Eu": { + "Z": 63, + "A": 151.96001, + "rho": 5.24, + "Elast": 1.86 + }, + "Gd": { + "Z": 64, + "A": 157.25, + "rho": 7.9, + "Elast": 4.14 + }, + "Tb": { + "Z": 65, + "A": 158.924, + "rho": 8.23, + "Elast": 4.05 + }, + "Dy": { + "Z": 66, + "A": 162.5, + "rho": 8.55, + "Elast": 3.04 + }, + "Ho": { + "Z": 67, + "A": 164.92999, + "rho": 8.8, + "Elast": 3.14 + }, + "Er": { + "Z": 68, + "A": 167.25999, + "rho": 9.07, + "Elast": 3.29 + }, + "Tm": { + "Z": 69, + "A": 168.93401, + "rho": 9.32, + "Elast": 2.42 + }, + "Yb": { + "Z": 70, + "A": 173.03999, + "rho": 6.9, + "Elast": 1.6 + }, + "Lu": { + "Z": 71, + "A": 174.97, + "rho": 9.84, + "Elast": 4.43 + }, + "Hf": { + "Z": 72, + "A": 178.49001, + "rho": 13.31, + "Elast": 6.44 + }, + "Ta": { + "Z": 73, + "A": 180.948, + "rho": 16.65, + "Elast": 8.1 + }, + "W": { + "Z": 74, + "A": 183.85001, + "rho": 19.35, + "Elast": 8.9 + }, + "Re": { + "Z": 75, + "A": 186.2, + "rho": 21.04, + "Elast": 8.03 + }, + "Os": { + "Z": 76, + "A": 190.2, + "rho": 22.6, + "Elast": 8.17 + }, + "Ir": { + "Z": 77, + "A": 192.2, + "rho": 22.4, + "Elast": 6.94 + }, + "Pt": { + "Z": 78, + "A": 195.09, + "rho": 21.45, + "Elast": 5.84 + }, + "Au": { + "Z": 79, + "A": 196.967, + "rho": 19.32, + "Elast": 3.81 + }, + "Hg": { + "Z": 80, + "A": 200.59, + "rho": 13.55, + "Elast": 0.67 + }, + "Tl": { + "Z": 81, + "A": 204.37, + "rho": 11.85, + "Elast": 1.88 + }, + "Pb": { + "Z": 82, + "A": 207.19, + "rho": 11.35, + "Elast": 2.03 + }, + "Bi": { + "Z": 83, + "A": 208.98, + "rho": 9.75, + "Elast": 2.18 + }, + "Po": { + "Z": 84, + "A": 210, + "rho": 9.3, + "Elast": 1.5 + }, + "At": { + "Z": 85, + "A": 210, + "rho": 0, + "Elast": 0.1 + }, + "Rn": { + "Z": 86, + "A": 222, + "rho": 0, + "Elast": 0.2 + }, + "Fr": { + "Z": 87, + "A": 223, + "rho": 0, + "Elast": 0.1 + }, + "Ra": { + "Z": 88, + "A": 226, + "rho": 0, + "Elast": 1.66 + }, + "Ac": { + "Z": 89, + "A": 227, + "rho": 0, + "Elast": 4.25 + }, + "Th": { + "Z": 90, + "A": 232.03799, + "rho": 11.72, + "Elast": 6.2 + }, + "Pa": { + "Z": 91, + "A": 231, + "rho": 15.4, + "Elast": 0.1 + }, + "U": { + "Z": 92, + "A": 238.03, + "rho": 18.95, + "Elast": 5.55 + }, + "": { + "Z": 0, + "A": 0, + "rho": 0, + "Elast": 0 + } +} + + +// projectile data +const projectiles = { + "muon": { + "Z": 1, + "A": 0.1134289259, + "rho": 0, + "Elast": 0, + "ICRU": [], + "IAEA": [] + }, + "Li-8": { + "Z": 3, + "A": 8.02248624, + "rho": 0, + "Elast": 0, + "ICRU": [], + "IAEA": [] + }, + "B-12": { + "Z": 5, + "A": 12.0143526, + "rho": 0, + "Elast": 0, + "ICRU": [], + "IAEA": [] + }, + "Mg-31": { + "Z": 12, + "A": 30.996648, + "rho": 0, + "Elast": 0, + "ICRU": [], + "IAEA": [] + } +} + + +// electronic stopping coefficients from Anderson & Zeigler (1977). +const az_table = { + "H": { + "AZ": [ + 1.262, + 1.44, + 242.6, + 12000.0, + 0.1159 + ] + }, + "He": { + "AZ": [ + 1.229, + 1.397, + 484.5, + 5873.0, + 0.05225 + ] + }, + "Li": { + "AZ": [ + 1.411, + 1.6, + 725.6, + 3013.0, + 0.04578 + ] + }, + "Be": { + "AZ": [ + 2.248, + 2.59, + 966.0, + 153.8, + 0.03475 + ] + }, + "B": { + "AZ": [ + 2.474, + 2.815, + 1206.0, + 1060.0, + 0.02855 + ] + }, + "C": { + "AZ": [ + 2.631, + 2.989, + 1445.0, + 957.2, + 0.02819 + ] + }, + "N": { + "AZ": [ + 2.954, + 3.35, + 1683.0, + 1900.0, + 0.02513 + ] + }, + "O": { + "AZ": [ + 2.652, + 3.0, + 1920.0, + 2000.0, + 0.0223 + ] + }, + "F": { + "AZ": [ + 2.085, + 2.352, + 2157.0, + 2634.0, + 0.01816 + ] + }, + "Ne": { + "AZ": [ + 1.951, + 2.199, + 2393.0, + 2699.0, + 0.01568 + ] + }, + "Na": { + "AZ": [ + 2.542, + 2.869, + 2628.0, + 1854.0, + 0.01472 + ] + }, + "Mg": { + "AZ": [ + 3.792, + 4.293, + 2862.0, + 1009.0, + 0.01397 + ] + }, + "Al": { + "AZ": [ + 4.154, + 4.739, + 2766.0, + 164.5, + 0.01397 + ] + }, + "Si": { + "AZ": [ + 4.15, + 4.7, + 3329.0, + 550.0, + 0.01321 + ] + }, + "P": { + "AZ": [ + 3.232, + 3.647, + 3561.0, + 1560.0, + 0.01267 + ] + }, + "S": { + "AZ": [ + 3.447, + 3.891, + 3792.0, + 1219.0, + 0.01211 + ] + }, + "Cl": { + "AZ": [ + 5.047, + 5.714, + 4023.0, + 878.6, + 0.01178 + ] + }, + "Ar": { + "AZ": [ + 5.731, + 6.5, + 4253.0, + 530.0, + 0.01123 + ] + }, + "K": { + "AZ": [ + 5.151, + 5.833, + 4482.0, + 545.7, + 0.01129 + ] + }, + "Ca": { + "AZ": [ + 5.521, + 6.252, + 4710.0, + 553.3, + 0.01112 + ] + }, + "Sc": { + "AZ": [ + 5.201, + 5.884, + 4938.0, + 560.9, + 0.009995 + ] + }, + "Ti": { + "AZ": [ + 4.862, + 5.496, + 5165.0, + 568.5, + 0.009474 + ] + }, + "V": { + "AZ": [ + 4.48, + 5.055, + 5391.0, + 952.3, + 0.009117 + ] + }, + "Cr": { + "AZ": [ + 3.983, + 4.489, + 5616.0, + 1336.0, + 0.008413 + ] + }, + "Mn": { + "AZ": [ + 3.469, + 3.907, + 5725.0, + 1461.0, + 0.008829 + ] + }, + "Fe": { + "AZ": [ + 3.519, + 3.963, + 6065.0, + 1243.0, + 0.007782 + ] + }, + "Co": { + "AZ": [ + 3.14, + 3.535, + 6288.0, + 1372.0, + 0.007361 + ] + }, + "Ni": { + "AZ": [ + 3.553, + 4.004, + 6205.0, + 555.1, + 0.008763 + ] + }, + "Cu": { + "AZ": [ + 3.696, + 4.175, + 4673.0, + 387.8, + 0.02188 + ] + }, + "Zn": { + "AZ": [ + 4.21, + 4.75, + 6953.0, + 295.2, + 0.006809 + ] + }, + "Ga": { + "AZ": [ + 5.041, + 5.697, + 7173.0, + 202.6, + 0.006725 + ] + }, + "Ge": { + "AZ": [ + 5.554, + 6.3, + 6496.0, + 110.0, + 0.009689 + ] + }, + "As": { + "AZ": [ + 5.323, + 6.012, + 7611.0, + 292.5, + 0.006447 + ] + }, + "Se": { + "AZ": [ + 5.874, + 6.656, + 7395.0, + 117.5, + 0.007684 + ] + }, + "Br": { + "AZ": [ + 5.611, + 6.335, + 8046.0, + 365.2, + 0.006244 + ] + }, + "Kr": { + "AZ": [ + 6.411, + 7.25, + 8262.0, + 220.0, + 0.006087 + ] + }, + "Rb": { + "AZ": [ + 5.694, + 6.429, + 8478.0, + 292.9, + 0.006087 + ] + }, + "Sr": { + "AZ": [ + 6.339, + 7.159, + 8693.0, + 330.3, + 0.006003 + ] + }, + "Y": { + "AZ": [ + 6.407, + 7.234, + 8907.0, + 367.8, + 0.005889 + ] + }, + "Zr": { + "AZ": [ + 6.734, + 7.603, + 9120.0, + 405.2, + 0.005765 + ] + }, + "Nb": { + "AZ": [ + 6.902, + 7.791, + 9333.0, + 442.7, + 0.005587 + ] + }, + "Mo": { + "AZ": [ + 6.425, + 7.248, + 9545.0, + 480.2, + 0.005367 + ] + }, + "Tc": { + "AZ": [ + 6.799, + 7.671, + 9756.0, + 517.6, + 0.005315 + ] + }, + "Ru": { + "AZ": [ + 6.108, + 6.887, + 9966.0, + 555.1, + 0.005151 + ] + }, + "Rh": { + "AZ": [ + 5.924, + 6.677, + 10180.0, + 592.5, + 0.004919 + ] + }, + "Pd": { + "AZ": [ + 5.238, + 5.9, + 10380.0, + 630.0, + 0.004758 + ] + }, + "Ag": { + "AZ": [ + 5.623, + 6.354, + 7160.0, + 337.6, + 0.01394 + ] + }, + "Cd": { + "AZ": [ + 5.814, + 6.554, + 10800.0, + 355.5, + 0.004626 + ] + }, + "In": { + "AZ": [ + 6.23, + 7.024, + 11010.0, + 370.9, + 0.00454 + ] + }, + "Sn": { + "AZ": [ + 6.41, + 7.227, + 11210.0, + 386.4, + 0.004474 + ] + }, + "Sb": { + "AZ": [ + 7.5, + 8.48, + 8608.0, + 348.0, + 0.009074 + ] + }, + "Te": { + "AZ": [ + 6.979, + 7.871, + 11620.0, + 392.4, + 0.004402 + ] + }, + "I": { + "AZ": [ + 7.725, + 8.716, + 11830.0, + 394.8, + 0.004376 + ] + }, + "Xe": { + "AZ": [ + 8.231, + 9.289, + 12030.0, + 397.3, + 0.004384 + ] + }, + "Cs": { + "AZ": [ + 7.287, + 8.218, + 12230.0, + 399.7, + 0.004447 + ] + }, + "Ba": { + "AZ": [ + 7.899, + 8.911, + 12430.0, + 402.1, + 0.004511 + ] + }, + "La": { + "AZ": [ + 8.041, + 9.071, + 12630.0, + 404.5, + 0.00454 + ] + }, + "Ce": { + "AZ": [ + 7.489, + 8.444, + 12830.0, + 406.9, + 0.00442 + ] + }, + "Pr": { + "AZ": [ + 7.291, + 8.219, + 13030.0, + 409.3, + 0.004298 + ] + }, + "Nd": { + "AZ": [ + 7.098, + 8.0, + 13230.0, + 411.8, + 0.004182 + ] + }, + "Pm": { + "AZ": [ + 6.91, + 7.786, + 13430.0, + 414.2, + 0.004058 + ] + }, + "Sm": { + "AZ": [ + 6.728, + 7.58, + 13620.0, + 416.6, + 0.003976 + ] + }, + "Eu": { + "AZ": [ + 6.551, + 7.38, + 13820.0, + 419.0, + 0.003877 + ] + }, + "Gd": { + "AZ": [ + 6.739, + 7.592, + 14020.0, + 421.4, + 0.003863 + ] + }, + "Tb": { + "AZ": [ + 6.212, + 6.996, + 14210.0, + 423.9, + 0.003725 + ] + }, + "Dy": { + "AZ": [ + 5.517, + 6.21, + 14400.0, + 426.3, + 0.003632 + ] + }, + "Ho": { + "AZ": [ + 5.219, + 5.874, + 14600.0, + 428.7, + 0.003498 + ] + }, + "Er": { + "AZ": [ + 5.071, + 5.706, + 14790.0, + 433.0, + 0.003405 + ] + }, + "Tm": { + "AZ": [ + 4.926, + 5.542, + 14980.0, + 433.5, + 0.003342 + ] + }, + "Yb": { + "AZ": [ + 4.787, + 5.386, + 15170.0, + 435.9, + 0.003292 + ] + }, + "Lu": { + "AZ": [ + 4.893, + 5.505, + 15360.0, + 438.4, + 0.003243 + ] + }, + "Hf": { + "AZ": [ + 5.028, + 5.657, + 15550.0, + 440.8, + 0.003195 + ] + }, + "Ta": { + "AZ": [ + 4.738, + 5.329, + 15740.0, + 443.2, + 0.003186 + ] + }, + "W": { + "AZ": [ + 4.574, + 5.144, + 15930.0, + 442.4, + 0.003144 + ] + }, + "Re": { + "AZ": [ + 5.2, + 5.851, + 16120.0, + 441.6, + 0.003122 + ] + }, + "Os": { + "AZ": [ + 5.07, + 5.704, + 16300.0, + 440.9, + 0.003082 + ] + }, + "Ir": { + "AZ": [ + 4.945, + 5.563, + 16490.0, + 440.1, + 0.002965 + ] + }, + "Pt": { + "AZ": [ + 4.476, + 5.034, + 16670.0, + 439.3, + 0.002871 + ] + }, + "Au": { + "AZ": [ + 4.856, + 5.46, + 18320.0, + 438.5, + 0.002542 + ] + }, + "Hg": { + "AZ": [ + 4.308, + 4.843, + 17040.0, + 487.8, + 0.002882 + ] + }, + "Tl": { + "AZ": [ + 4.723, + 5.311, + 17220.0, + 537.0, + 0.002913 + ] + }, + "Pb": { + "AZ": [ + 5.319, + 5.982, + 17400.0, + 586.3, + 0.002871 + ] + }, + "Bi": { + "AZ": [ + 5.956, + 6.7, + 17800.0, + 677.0, + 0.00266 + ] + }, + "Po": { + "AZ": [ + 6.158, + 6.928, + 17770.0, + 586.3, + 0.002812 + ] + }, + "At": { + "AZ": [ + 6.204, + 6.979, + 17950.0, + 586.3, + 0.002776 + ] + }, + "Rn": { + "AZ": [ + 6.181, + 6.954, + 18120.0, + 586.3, + 0.002748 + ] + }, + "Fr": { + "AZ": [ + 6.949, + 7.82, + 18300.0, + 586.3, + 0.002737 + ] + }, + "Ra": { + "AZ": [ + 7.506, + 8.448, + 18480.0, + 586.3, + 0.002727 + ] + }, + "Ac": { + "AZ": [ + 7.649, + 8.609, + 18660.0, + 586.3, + 0.002697 + ] + }, + "Th": { + "AZ": [ + 7.71, + 8.679, + 18830.0, + 586.3, + 0.002641 + ] + }, + "Pa": { + "AZ": [ + 7.407, + 8.336, + 19010.0, + 586.3, + 0.002603 + ] + }, + "U": { + "AZ": [ + 7.29, + 8.204, + 19180.0, + 586.3, + 0.002573 + ] + } +} + + +// electronic stopping coefficients from Berger et al. (1991) +const icru_table = { + "H": { + "ICRU": [ + 1.254, + 1.44, + 242.6, + 12000.0, + 0.1159 + ] + }, + "He": { + "ICRU": [ + 1.229, + 1.397, + 484.5, + 5873.0, + 0.05225 + ] + }, + "Li": { + "ICRU": [ + 1.411, + 1.6, + 725.6, + 3013.0, + 0.04578 + ] + }, + "Be": { + "ICRU": [ + 2.248, + 2.59, + 966.0, + 153.8, + 0.03475 + ] + }, + "B": { + "ICRU": [ + 2.474, + 2.815, + 1206.0, + 1060.0, + 0.02855 + ] + }, + "C": { + "ICRU": [ + 2.2977695717982596, + 2.601, + 1701.0, + 1279.0, + 0.01638 + ] + }, + "N": { + "ICRU": [ + 2.954, + 3.35, + 1683.0, + 1900.0, + 0.02513 + ] + }, + "O": { + "ICRU": [ + 2.652, + 3.0, + 1920.0, + 2000.0, + 0.0223 + ] + }, + "F": { + "ICRU": [ + 2.085, + 2.352, + 2157.0, + 2634.0, + 0.01816 + ] + }, + "Ne": { + "ICRU": [ + 1.951, + 2.199, + 2393.0, + 2699.0, + 0.01568 + ] + }, + "Na": { + "ICRU": [ + 2.542, + 2.869, + 2628.0, + 1854.0, + 0.01472 + ] + }, + "Mg": { + "ICRU": [ + 3.791, + 4.293, + 2862.0, + 1009.0, + 0.01397 + ] + }, + "Al": { + "ICRU": [ + 4.154, + 4.739, + 2766.0, + 164.5, + 0.02023 + ] + }, + "Si": { + "ICRU": [ + 4.914, + 5.598, + 3193.0, + 232.7, + 0.01419 + ] + }, + "P": { + "ICRU": [ + 3.232, + 3.647, + 3561.0, + 1560.0, + 0.01267 + ] + }, + "S": { + "ICRU": [ + 3.447, + 3.891, + 3792.0, + 1219.0, + 0.01211 + ] + }, + "Cl": { + "ICRU": [ + 5.301, + 6.008, + 3969.0, + 645.1, + 0.01183 + ] + }, + "Ar": { + "ICRU": [ + 5.731, + 6.5, + 4253.0, + 530.0, + 0.01123 + ] + }, + "K": { + "ICRU": [ + 5.152, + 5.833, + 4482.0, + 545.7, + 0.01129 + ] + }, + "Ca": { + "ICRU": [ + 5.521, + 6.252, + 4710.0, + 553.3, + 0.01112 + ] + }, + "Sc": { + "ICRU": [ + 5.201, + 5.884, + 4938.0, + 560.9, + 0.009995 + ] + }, + "Ti": { + "ICRU": [ + 4.858, + 5.489, + 5260.0, + 651.1, + 0.00893 + ] + }, + "V": { + "ICRU": [ + 4.479, + 5.055, + 5391.0, + 952.3, + 0.009117 + ] + }, + "Cr": { + "ICRU": [ + 3.983, + 4.489, + 5616.0, + 1336.0, + 0.008413 + ] + }, + "Mn": { + "ICRU": [ + 3.469, + 3.907, + 5725.0, + 1461.0, + 0.008829 + ] + }, + "Fe": { + "ICRU": [ + 3.519, + 3.963, + 6065.0, + 1243.0, + 0.007782 + ] + }, + "Co": { + "ICRU": [ + 3.14, + 3.535, + 6288.0, + 1372.0, + 0.007361 + ] + }, + "Ni": { + "ICRU": [ + 3.553, + 4.004, + 6205.0, + 555.1, + 0.008763 + ] + }, + "Cu": { + "ICRU": [ + 3.696, + 4.194, + 4649.0, + 81.13, + 0.02242 + ] + }, + "Zn": { + "ICRU": [ + 4.21, + 4.75, + 6953.0, + 295.2, + 0.006809 + ] + }, + "Ga": { + "ICRU": [ + 5.041, + 5.697, + 7173.0, + 202.6, + 0.006725 + ] + }, + "Ge": { + "ICRU": [ + 5.554, + 6.3, + 6496.0, + 110.0, + 0.009689 + ] + }, + "As": { + "ICRU": [ + 5.323, + 6.012, + 7611.0, + 292.5, + 0.006447 + ] + }, + "Se": { + "ICRU": [ + 5.874, + 6.656, + 7395.0, + 117.5, + 0.007684 + ] + }, + "Br": { + "ICRU": [ + 6.658, + 7.536, + 7694.0, + 222.3, + 0.006509 + ] + }, + "Kr": { + "ICRU": [ + 6.413, + 7.24, + 11850.0, + 153.7, + 0.00288 + ] + }, + "Rb": { + "ICRU": [ + 5.694, + 6.429, + 8478.0, + 292.9, + 0.006087 + ] + }, + "Sr": { + "ICRU": [ + 6.339, + 7.159, + 8693.0, + 330.3, + 0.006003 + ] + }, + "Y": { + "ICRU": [ + 6.407, + 7.234, + 8907.0, + 367.8, + 0.005889 + ] + }, + "Zr": { + "ICRU": [ + 6.734, + 7.603, + 9120.0, + 405.2, + 0.005765 + ] + }, + "Nb": { + "ICRU": [ + 6.901, + 7.791, + 9333.0, + 442.7, + 0.005587 + ] + }, + "Mo": { + "ICRU": [ + 6.424, + 7.248, + 9545.0, + 480.2, + 0.005376 + ] + }, + "Tc": { + "ICRU": [ + 6.799, + 7.671, + 9756.0, + 517.6, + 0.005315 + ] + }, + "Ru": { + "ICRU": [ + 6.109, + 6.887, + 9966.0, + 555.1, + 0.005151 + ] + }, + "Rh": { + "ICRU": [ + 5.924, + 6.677, + 10180.0, + 592.5, + 0.004919 + ] + }, + "Pd": { + "ICRU": [ + 5.238, + 5.9, + 10380.0, + 630.0, + 0.004758 + ] + }, + "Ag": { + "ICRU": [ + 5.345, + 6.038, + 6790.0, + 397.8, + 0.01676 + ] + }, + "Cd": { + "ICRU": [ + 5.814, + 6.554, + 10800.0, + 355.5, + 0.004626 + ] + }, + "In": { + "ICRU": [ + 6.229, + 7.024, + 11010.0, + 370.9, + 0.00454 + ] + }, + "Sn": { + "ICRU": [ + 6.409, + 7.227, + 11210.0, + 386.4, + 0.004474 + ] + }, + "Sb": { + "ICRU": [ + 7.5, + 8.48, + 8608.0, + 348.0, + 0.009074 + ] + }, + "Te": { + "ICRU": [ + 6.979, + 7.871, + 11620.0, + 392.4, + 0.004402 + ] + }, + "I": { + "ICRU": [ + 7.725, + 8.716, + 11830.0, + 394.8, + 0.004376 + ] + }, + "Xe": { + "ICRU": [ + 8.337, + 9.425, + 10510.0, + 269.6, + 0.006206 + ] + }, + "Cs": { + "ICRU": [ + 7.287, + 8.218, + 12230.0, + 399.7, + 0.004447 + ] + }, + "Ba": { + "ICRU": [ + 7.899, + 8.911, + 12430.0, + 402.1, + 0.004511 + ] + }, + "La": { + "ICRU": [ + 8.041, + 9.071, + 12630.0, + 404.5, + 0.00454 + ] + }, + "Ce": { + "ICRU": [ + 7.488, + 8.444, + 12830.0, + 406.9, + 0.00442 + ] + }, + "Pr": { + "ICRU": [ + 7.291, + 8.219, + 13030.0, + 409.3, + 0.004298 + ] + }, + "Nd": { + "ICRU": [ + 7.098, + 8.0, + 13230.0, + 411.8, + 0.004182 + ] + }, + "Pm": { + "ICRU": [ + 6.909, + 7.786, + 13430.0, + 414.2, + 0.004058 + ] + }, + "Sm": { + "ICRU": [ + 6.728, + 7.58, + 13620.0, + 416.6, + 0.003976 + ] + }, + "Eu": { + "ICRU": [ + 6.551, + 7.38, + 13820.0, + 419.0, + 0.003877 + ] + }, + "Gd": { + "ICRU": [ + 6.739, + 7.592, + 14020.0, + 421.4, + 0.003863 + ] + }, + "Tb": { + "ICRU": [ + 6.212, + 6.996, + 14210.0, + 423.9, + 0.003725 + ] + }, + "Dy": { + "ICRU": [ + 5.517, + 6.21, + 14400.0, + 426.3, + 0.003632 + ] + }, + "Ho": { + "ICRU": [ + 5.22, + 5.874, + 14600.0, + 428.7, + 0.003498 + ] + }, + "Er": { + "ICRU": [ + 5.071, + 5.706, + 14790.0, + 433.0, + 0.003405 + ] + }, + "Tm": { + "ICRU": [ + 4.926, + 5.542, + 14980.0, + 433.5, + 0.003342 + ] + }, + "Yb": { + "ICRU": [ + 4.788, + 5.386, + 15170.0, + 435.9, + 0.003292 + ] + }, + "Lu": { + "ICRU": [ + 4.893, + 5.505, + 15360.0, + 438.4, + 0.003243 + ] + }, + "Hf": { + "ICRU": [ + 5.028, + 5.657, + 15550.0, + 440.8, + 0.003195 + ] + }, + "Ta": { + "ICRU": [ + 4.738, + 5.329, + 15740.0, + 443.2, + 0.003186 + ] + }, + "W": { + "ICRU": [ + 4.587, + 5.16, + 15410.0, + 415.3, + 0.003406 + ] + }, + "Re": { + "ICRU": [ + 5.201, + 5.851, + 16120.0, + 441.6, + 0.003122 + ] + }, + "Os": { + "ICRU": [ + 5.071, + 5.704, + 16300.0, + 440.9, + 0.003082 + ] + }, + "Ir": { + "ICRU": [ + 4.946, + 5.563, + 16490.0, + 440.1, + 0.002965 + ] + }, + "Pt": { + "ICRU": [ + 4.477, + 5.034, + 16670.0, + 439.3, + 0.002871 + ] + }, + "Au": { + "ICRU": [ + 4.844, + 5.458, + 7852.0, + 975.8, + 0.02077 + ] + }, + "Hg": { + "ICRU": [ + 4.307, + 4.843, + 17040.0, + 487.8, + 0.002882 + ] + }, + "Tl": { + "ICRU": [ + 4.723, + 5.311, + 17220.0, + 537.0, + 0.002913 + ] + }, + "Pb": { + "ICRU": [ + 5.319, + 5.982, + 17400.0, + 586.3, + 0.002871 + ] + }, + "Bi": { + "ICRU": [ + 5.956, + 6.7, + 17800.0, + 677.0, + 0.00266 + ] + }, + "Po": { + "ICRU": [ + 6.158, + 6.928, + 17770.0, + 586.3, + 0.002812 + ] + }, + "At": { + "ICRU": [ + 6.203, + 6.979, + 17950.0, + 586.3, + 0.002776 + ] + }, + "Rn": { + "ICRU": [ + 6.181, + 6.954, + 18120.0, + 586.3, + 0.002748 + ] + }, + "Fr": { + "ICRU": [ + 6.949, + 7.82, + 18300.0, + 586.3, + 0.002737 + ] + }, + "Ra": { + "ICRU": [ + 7.506, + 8.448, + 18480.0, + 586.3, + 0.002727 + ] + }, + "Ac": { + "ICRU": [ + 7.648, + 8.609, + 18660.0, + 586.3, + 0.002697 + ] + }, + "Th": { + "ICRU": [ + 7.711, + 8.679, + 18830.0, + 586.3, + 0.002641 + ] + }, + "Pa": { + "ICRU": [ + 7.407, + 8.336, + 19010.0, + 586.3, + 0.002603 + ] + }, + "U": { + "ICRU": [ + 7.29, + 8.204, + 19180.0, + 586.3, + 0.002673 + ] + } +} + + +// Electronic stopping coefficients derived from analyzing the IAEA database +// https://www-nds.iaea.org/stopping/ +//