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:
+
+ 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).
+
+
- 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