From 89e5ad0da8c768306bfbb3eee83de837f723b227 Mon Sep 17 00:00:00 2001 From: Baptiste Mouginot <mouginot.baptiste@gmail.com> Date: Fri, 13 Jun 2014 14:51:07 +0000 Subject: [PATCH] Branched from "svn+ssh://mouginot@svn.in2p3.fr/class/source/trunk". git-svn-id: svn+ssh://svn.in2p3.fr/class@260 0e7d625b-0364-4367-a6be-d5be4a48d228 --- source/branches/CLASSV3/data/Mass.dat | 3178 ++++++++++++++ source/branches/CLASSV3/data/chart.JEF3T | 3834 +++++++++++++++++ source/branches/CLASSV3/include/CLASS.hxx | 279 ++ .../branches/CLASSV3/include/CLASSBackEnd.hxx | 98 + .../CLASSV3/include/CLASSFacility.hxx | 135 + .../branches/CLASSV3/include/CLASSHeaders.hxx | 30 + .../branches/CLASSV3/include/CLASSObject.hxx | 58 + source/branches/CLASSV3/include/DataBank.hxx | 364 ++ .../CLASSV3/include/DecayDataBank.hxx | 179 + .../CLASSV3/include/DynamicalSystem.hxx | 127 + .../CLASSV3/include/EvolutionData.hxx | 249 ++ .../CLASSV3/include/FabricationPlant.hxx | 196 + .../branches/CLASSV3/include/FuelDataBank.hxx | 361 ++ .../CLASSV3/include/IsotopicVector.hxx | 155 + source/branches/CLASSV3/include/LogFile.hxx | 71 + .../include/PWR_THPU_FabricationPlant.hxx | 45 + .../include/PWR_THU_FabricationPlant.hxx | 46 + source/branches/CLASSV3/include/Pool.hxx | 185 + source/branches/CLASSV3/include/Reactor.hxx | 272 ++ source/branches/CLASSV3/include/Storage.hxx | 162 + .../branches/CLASSV3/include/StringLine.hxx | 275 ++ source/branches/CLASSV3/include/ZAI.hxx | 94 + source/branches/CLASSV3/include/ZAIMass.hxx | 44 + source/branches/CLASSV3/src/CLASS.cxx | 968 +++++ source/branches/CLASSV3/src/CLASSBackEnd.cxx | 69 + .../branches/CLASSV3/src/CLASSBackEndDict.cxx | 1052 +++++ source/branches/CLASSV3/src/CLASSFacility.cxx | 26 + .../CLASSV3/src/CLASSFacilityDict.cxx | 1080 +++++ source/branches/CLASSV3/src/CLASSObject.cxx | 23 + .../branches/CLASSV3/src/CLASSObjectDict.cxx | 668 +++ source/branches/CLASSV3/src/DataBank.cxx | 1944 +++++++++ source/branches/CLASSV3/src/DecayDataBank.cxx | 143 + .../branches/CLASSV3/src/DynamicalSystem.cxx | 214 + source/branches/CLASSV3/src/EvolutionData.cxx | 1185 +++++ .../branches/CLASSV3/src/FabricationPlant.cxx | 575 +++ source/branches/CLASSV3/src/FuelDataBank.cxx | 1786 ++++++++ .../branches/CLASSV3/src/IsotopicVector.cxx | 592 +++ source/branches/CLASSV3/src/LogFile.cxx | 40 + source/branches/CLASSV3/src/Makefile | 102 + .../CLASSV3/src/PWR_THPU_FabricationPlant.cxx | 307 ++ .../CLASSV3/src/PWR_THU_FabricationPlant.cxx | 303 ++ source/branches/CLASSV3/src/Pool.cxx | 285 ++ source/branches/CLASSV3/src/Reactor.cxx | 595 +++ source/branches/CLASSV3/src/Storage.cxx | 185 + source/branches/CLASSV3/src/ZAI.cxx | 59 + source/branches/CLASSV3/src/ZAIMass.cxx | 44 + 46 files changed, 22682 insertions(+) create mode 100755 source/branches/CLASSV3/data/Mass.dat create mode 100755 source/branches/CLASSV3/data/chart.JEF3T create mode 100755 source/branches/CLASSV3/include/CLASS.hxx create mode 100644 source/branches/CLASSV3/include/CLASSBackEnd.hxx create mode 100644 source/branches/CLASSV3/include/CLASSFacility.hxx create mode 100755 source/branches/CLASSV3/include/CLASSHeaders.hxx create mode 100644 source/branches/CLASSV3/include/CLASSObject.hxx create mode 100755 source/branches/CLASSV3/include/DataBank.hxx create mode 100644 source/branches/CLASSV3/include/DecayDataBank.hxx create mode 100755 source/branches/CLASSV3/include/DynamicalSystem.hxx create mode 100755 source/branches/CLASSV3/include/EvolutionData.hxx create mode 100644 source/branches/CLASSV3/include/FabricationPlant.hxx create mode 100644 source/branches/CLASSV3/include/FuelDataBank.hxx create mode 100755 source/branches/CLASSV3/include/IsotopicVector.hxx create mode 100755 source/branches/CLASSV3/include/LogFile.hxx create mode 100644 source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx create mode 100644 source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx create mode 100755 source/branches/CLASSV3/include/Pool.hxx create mode 100755 source/branches/CLASSV3/include/Reactor.hxx create mode 100644 source/branches/CLASSV3/include/Storage.hxx create mode 100755 source/branches/CLASSV3/include/StringLine.hxx create mode 100755 source/branches/CLASSV3/include/ZAI.hxx create mode 100644 source/branches/CLASSV3/include/ZAIMass.hxx create mode 100755 source/branches/CLASSV3/src/CLASS.cxx create mode 100644 source/branches/CLASSV3/src/CLASSBackEnd.cxx create mode 100644 source/branches/CLASSV3/src/CLASSBackEndDict.cxx create mode 100644 source/branches/CLASSV3/src/CLASSFacility.cxx create mode 100644 source/branches/CLASSV3/src/CLASSFacilityDict.cxx create mode 100644 source/branches/CLASSV3/src/CLASSObject.cxx create mode 100644 source/branches/CLASSV3/src/CLASSObjectDict.cxx create mode 100755 source/branches/CLASSV3/src/DataBank.cxx create mode 100644 source/branches/CLASSV3/src/DecayDataBank.cxx create mode 100644 source/branches/CLASSV3/src/DynamicalSystem.cxx create mode 100755 source/branches/CLASSV3/src/EvolutionData.cxx create mode 100644 source/branches/CLASSV3/src/FabricationPlant.cxx create mode 100644 source/branches/CLASSV3/src/FuelDataBank.cxx create mode 100755 source/branches/CLASSV3/src/IsotopicVector.cxx create mode 100755 source/branches/CLASSV3/src/LogFile.cxx create mode 100755 source/branches/CLASSV3/src/Makefile create mode 100644 source/branches/CLASSV3/src/PWR_THPU_FabricationPlant.cxx create mode 100644 source/branches/CLASSV3/src/PWR_THU_FabricationPlant.cxx create mode 100755 source/branches/CLASSV3/src/Pool.cxx create mode 100755 source/branches/CLASSV3/src/Reactor.cxx create mode 100644 source/branches/CLASSV3/src/Storage.cxx create mode 100755 source/branches/CLASSV3/src/ZAI.cxx create mode 100644 source/branches/CLASSV3/src/ZAIMass.cxx diff --git a/source/branches/CLASSV3/data/Mass.dat b/source/branches/CLASSV3/data/Mass.dat new file mode 100755 index 000000000..89ee6d9e9 --- /dev/null +++ b/source/branches/CLASSV3/data/Mass.dat @@ -0,0 +1,3178 @@ + 1 1 H 1 007825.03207 0.00010 + 1 2 H 2 014101.77785 0.00036 + 1 3 H 3 016049.27767 0.00247 + 2 3 He 3 016029.31914 0.00260 + 3 3 Li 3 030775 2147 + 1 4 H 4 027806.424 110.881 + 2 4 He 4 002603.25415 0.00006 + 3 4 Li 4 027185.558 227.733 + 1 5 H 5 035311.488 107.354 + 2 5 He 5 012223.624 53.677 + 3 5 Li 5 012537.800 53.677 + 4 5 Be 5 040790 4290 + 1 6 H 6 044942.594 284.388 + 2 6 He 6 018889.124 0.810 + 3 6 Li 6 015122.794 0.016 + 4 6 Be 6 019726.317 5.848 + 5 6 B 6 046810 750 + 1 7 H 7 052749 1079 + 2 7 He 7 028020.618 17.883 + 3 7 Li 7 016004.548 0.084 + 4 7 Be 7 016929.828 0.113 + 5 7 B 7 029917.901 75.912 + 2 8 He 8 033921.897 7.373 + 3 8 Li 8 022487.362 0.101 + 4 8 Be 8 005305.103 0.037 + 5 8 B 8 024607.233 1.073 + 6 8 C 8 037675.025 24.764 + 2 9 He 9 043950.286 31.581 + 3 9 Li 9 026789.505 2.077 + 4 9 Be 9 012182.201 0.426 + 5 9 B 9 013328.782 1.055 + 6 9 C 9 031036.689 2.295 + 2 10 He 10 052398.837 75.149 + 3 10 Li 10 035481.259 16.236 + 4 10 Be 10 013533.818 0.430 + 5 10 B 10 012936.992 0.413 + 6 10 C 10 016853.228 0.432 + 7 10 N 10 041653.674 429.417 + 3 11 Li 11 043797.715 20.713 + 4 11 Be 11 021657.749 6.823 + 5 11 B 11 009305.406 0.448 + 6 11 C 11 011433.613 1.020 + 7 11 N 11 026090.956 49.550 + 3 12 Li 12 053780 1070 + 4 12 Be 12 026920.737 16.108 + 5 12 B 12 014352.104 1.502 + 6 12 C 12 000000.0 0.0 + 7 12 N 12 018613.197 1.073 + 8 12 O 12 034404.895 19.824 + 4 13 Be 13 035693.007 76.855 + 5 13 B 13 017780.217 1.163 + 6 13 C 13 003354.83778 0.00098 + 7 13 N 13 005738.609 0.289 + 8 13 O 13 024812.213 10.226 + 4 14 Be 14 042892.920 141.970 + 5 14 B 14 025404.009 22.773 + 6 14 C 14 003241.98870 0.00408 + 7 14 N 14 003074.00478 0.00062 + 8 14 O 14 008596.250 0.116 + 9 14 F 14 035060 430 + 4 15 Be 15 053460 540 + 5 15 B 15 031103.021 24.014 + 6 15 C 15 010599.256 0.858 + 7 15 N 15 000108.89823 0.00075 + 8 15 O 15 003065.617 0.526 + 9 15 F 15 018009.103 143.632 + 4 16 Be 16 061920 540 + 5 16 B 16 039808.829 64.412 + 6 16 C 16 014701.252 3.840 + 7 16 N 16 006101.658 2.815 + 8 16 O 15 994914.61956 0.00016 + 9 16 F 16 011465.724 8.932 + 10 16 Ne 16 025761.262 21.986 + 5 17 B 17 046989.906 183.440 + 6 17 C 17 022586.116 18.653 + 7 17 N 17 008450.261 16.116 + 8 17 O 16 999131.703 0.118 + 9 17 F 17 002095.237 0.266 + 10 17 Ne 17 017671.504 28.934 + 5 18 B 18 056170 860 + 6 18 C 18 026759.354 32.213 + 7 18 N 18 014078.959 19.946 + 8 18 O 17 999161.001 0.666 + 9 18 F 18 000937.956 0.573 + 10 18 Ne 18 005708.213 0.300 + 11 18 Na 18 025969.000 54.000 + 5 19 B 19 063730 430 + 6 19 C 19 034805.018 105.627 + 7 19 N 19 017028.697 17.622 + 8 19 O 19 003580.130 3.032 + 9 19 F 18 998403.224 0.074 + 10 19 Ne 19 001880.248 0.307 + 11 19 Na 19 013877.499 12.882 + 12 19 Mg 19 035470.000 270.000 + 6 20 C 20 040319.754 256.749 + 7 20 N 20 023365.807 59.678 + 8 20 O 20 004076.742 1.160 + 9 20 F 19 999981.315 0.081 + 10 20 Ne 19 992440.17542 0.00192 + 11 20 Na 20 007351.328 7.151 + 12 20 Mg 20 018862.545 28.985 + 6 21 C 21 049340 540 + 7 21 N 21 027108.240 102.035 + 8 21 O 21 008655.886 12.899 + 9 21 F 20 999948.951 1.933 + 10 21 Ne 20 993846.684 0.041 + 11 21 Na 20 997655.206 0.751 + 12 21 Mg 21 011712.910 17.621 + 13 21 Al 21 028040 320 + 6 22 C 22 057200 970 + 7 22 N 22 034394.934 206.349 + 8 22 O 22 009966.947 61.110 + 9 22 F 22 002998.815 13.310 + 10 22 Ne 21 991385.113 0.018 + 11 22 Na 21 994436.425 0.445 + 12 22 Mg 21 999573.843 1.440 + 13 22 Al 22 019520 100 + 14 22 Si 22 034530 215 + 7 23 N 23 041220 320 + 8 23 O 23 015687.659 130.829 + 9 23 F 23 003574.631 85.390 + 10 23 Ne 22 994466.904 0.112 + 11 23 Na 22 989769.28087 0.00293 + 12 23 Mg 22 994123.669 1.380 + 13 23 Al 23 007267.432 20.019 + 14 23 Si 23 025520 210 + 7 24 N 24 051040 430 + 8 24 O 24 020472.917 253.616 + 9 24 F 24 008115.485 77.598 + 10 24 Ne 23 993610.779 0.420 + 11 24 Na 23 990962.782 0.082 + 12 24 Mg 23 985041.699 0.013 + 13 24 Al 23 999938.865 2.986 + 14 24 Si 24 011545.616 20.904 + 15 24 P 24 034350 540 + 7 25 N 25 060660 540 + 8 25 O 25 029460 275 + 9 25 F 25 012101.747 105.462 + 10 25 Ne 24 997736.888 27.529 + 11 25 Na 24 989953.968 1.288 + 12 25 Mg 24 985836.917 0.034 + 13 25 Al 24 990428.095 0.510 + 14 25 Si 25 004105.574 10.735 + 15 25 P 25 020260 210 + 8 26 O 26 038340 275 + 9 26 F 26 019615.555 178.835 + 10 26 Ne 26 000461.206 28.743 + 11 26 Na 25 992633.000 6.260 + 12 26 Mg 25 982592.929 0.029 + 13 26 Al 25 986891.692 0.064 + 14 26 Si 25 992329.921 3.220 + 15 26 P 26 011780 210 + 16 26 S 26 027880 320 + 8 27 O 27 048260 540 + 9 27 F 27 026760.086 404.391 + 10 27 Ne 27 007589.903 118.501 + 11 27 Na 26 994076.788 3.760 + 12 27 Mg 26 984340.585 0.052 + 13 27 Al 26 981538.627 0.124 + 14 27 Si 26 986704.905 0.162 + 15 27 P 26 999230.236 28.277 + 16 27 S 27 018833 217 + 8 28 O 28 057810 640 + 9 28 F 28 035670 550 + 10 28 Ne 28 012071.575 157.465 + 11 28 Na 27 998938.000 14.000 + 12 28 Mg 27 983876.825 2.151 + 13 28 Al 27 981910.306 0.140 + 14 28 Si 27 976926.53246 0.00194 + 15 28 P 27 992314.761 3.564 + 16 28 S 28 004372.763 171.767 + 17 28 Cl 28 028510 540 + 9 29 F 29 043260 620 + 10 29 Ne 29 019385.933 288.429 + 11 29 Na 29 002861.000 14.000 + 12 29 Mg 28 988600.000 15.000 + 13 29 Al 28 980445.046 1.294 + 14 29 Si 28 976494.700 0.022 + 15 29 P 28 981800.606 0.644 + 16 29 S 28 996608.049 53.677 + 17 29 Cl 29 014110 210 + 9 30 F 30 052500 640 + 10 30 Ne 30 024801.045 612.708 + 11 30 Na 30 008976.000 27.000 + 12 30 Mg 29 990434.000 9.000 + 13 30 Al 29 982960.256 15.077 + 14 30 Si 29 973770.171 0.032 + 15 30 P 29 978313.789 0.336 + 16 30 S 29 984903.249 3.224 + 17 30 Cl 30 004770 210 + 18 30 Ar 30 021560 320 + 9 31 F 31 060429 641 + 10 31 Ne 31 033110 970 + 11 31 Na 31 013585.452 226.862 + 12 31 Mg 30 996546.000 13.000 + 13 31 Al 30 983946.619 21.839 + 14 31 Si 30 975363.227 0.042 + 15 31 P 30 973761.629 0.196 + 16 31 S 30 979554.728 1.617 + 17 31 Cl 30 992413.086 53.677 + 18 31 Ar 31 012123 221 + 10 32 Ne 32 040020 860 + 11 32 Na 32 020466.560 382.372 + 12 32 Mg 31 998975.000 19.000 + 13 32 Al 31 988124.489 92.270 + 14 32 Si 31 974148.082 0.053 + 15 32 P 31 973907.274 0.200 + 16 32 S 31 972070.999 0.148 + 17 32 Cl 31 985689.901 7.077 + 18 32 Ar 31 997637.984 1.910 + 19 32 K 32 021920 540 + 10 33 Ne 33 049380 860 + 11 33 Na 33 026719.756 939.350 + 12 33 Mg 33 005254.000 21.000 + 13 33 Al 32 990843.336 78.095 + 14 33 Si 32 978000.220 16.951 + 15 33 P 32 971725.543 1.179 + 16 33 S 32 971458.759 0.146 + 17 33 Cl 32 977451.887 0.492 + 18 33 Ar 32 989925.709 0.476 + 19 33 K 33 007260 210 + 10 34 Ne 34 057028 867 + 11 34 Na 34 035170 964 + 12 34 Mg 34 009456.424 248.414 + 13 34 Al 33 996851.837 121.351 + 14 34 Si 33 978575.524 15.155 + 15 34 P 33 973636.257 5.371 + 16 34 S 33 967866.902 0.115 + 17 34 Cl 33 973762.819 0.192 + 18 34 Ar 33 980271.244 0.413 + 19 34 K 33 998410 320 + 20 34 Ca 34 014120 320 + 11 35 Na 35 042493 1016 + 12 35 Mg 35 017340 430 + 13 35 Al 34 999860.235 187.984 + 14 35 Si 34 984583.575 41.236 + 15 35 P 34 973314.117 2.003 + 16 35 S 34 969032.161 0.107 + 17 35 Cl 34 968852.682 0.040 + 18 35 Ar 34 975257.585 0.801 + 19 35 K 34 988009.692 21.472 + 20 35 Ca 35 004940 210 + 11 36 Na 36 051480 1022 + 12 36 Mg 36 023000 540 + 13 36 Al 36 006207.204 230.475 + 14 36 Si 35 986599.477 132.534 + 15 36 P 35 978259.680 14.078 + 16 36 S 35 967080.760 0.202 + 17 36 Cl 35 968306.981 0.076 + 18 36 Ar 35 967545.105 0.028 + 19 36 K 35 981292.235 8.352 + 20 36 Ca 35 993087.063 42.942 + 21 36 Sc 36 014920 540 + 11 37 Na 37 059340 1029 + 12 37 Mg 37 031400 970 + 13 37 Al 37 010677.820 355.307 + 14 37 Si 36 992936.080 181.062 + 15 37 P 36 979608.946 40.738 + 16 37 S 36 971125.567 0.213 + 17 37 Cl 36 965902.591 0.050 + 18 37 Ar 36 966776.320 0.220 + 19 37 K 36 973375.889 0.100 + 20 37 Ca 36 985870.269 24.006 + 21 37 Sc 37 003050 320 + 12 38 Mg 38 037570 540 + 13 38 Al 38 017231.021 784.242 + 14 38 Si 37 995633.601 147.579 + 15 38 P 37 984156.827 110.988 + 16 38 S 37 971163.317 7.699 + 17 38 Cl 37 968010.425 0.102 + 18 38 Ar 37 962732.394 0.362 + 19 38 K 37 969081.184 0.479 + 20 38 Ca 37 976318.452 4.891 + 21 38 Sc 37 994700 320 + 22 38 Ti 38 009770 270 + 12 39 Mg 39 046772 551 + 13 39 Al 39 022970.000 1580.000 + 14 39 Si 39 002070.013 362.874 + 15 39 P 38 986179.475 111.017 + 16 39 S 38 975134.306 53.677 + 17 39 Cl 38 968008.164 1.859 + 18 39 Ar 38 964313.231 5.371 + 19 39 K 38 963706.679 0.204 + 20 39 Ca 38 970719.725 1.998 + 21 39 Sc 38 984790.002 25.766 + 22 39 Ti 39 001610 220 + 12 40 Mg 40 053930 970 + 13 40 Al 40 031450 750 + 14 40 Si 40 005869.121 596.927 + 15 40 P 39 991296.951 149.330 + 16 40 S 39 975451.728 151.685 + 17 40 Cl 39 970415.472 34.423 + 18 40 Ar 39 962383.12251 0.00286 + 19 40 K 39 963998.475 0.206 + 20 40 Ca 39 962590.983 0.224 + 21 40 Sc 39 977967.407 3.044 + 22 40 Ti 39 990498.838 171.767 + 23 40 V 40 011090 540 + 13 41 Al 41 038330 860 + 14 41 Si 41 014560.000 1980.000 + 15 41 P 40 994335.435 232.132 + 16 41 S 40 979582.149 126.970 + 17 41 Cl 40 970684.525 73.777 + 18 41 Ar 40 964500.611 0.356 + 19 41 K 40 961825.762 0.208 + 20 41 Ca 40 962278.062 0.260 + 21 41 Sc 40 969251.125 0.241 + 22 41 Ti 40 983145 107 + 23 41 V 40 999780 220 + 13 42 Al 42 046890 970 + 14 42 Si 42 019790 540 + 15 42 P 42 001007.913 479.701 + 16 42 S 41 981022.419 133.350 + 17 42 Cl 41 973254.804 154.332 + 18 42 Ar 41 963045.736 6.200 + 19 42 K 41 962402.810 0.237 + 20 42 Ca 41 958618.014 0.267 + 21 42 Sc 41 965516.429 0.289 + 22 42 Ti 41 973030.902 5.852 + 23 42 V 41 991230 210 + 24 42 Cr 42 006430 320 + 14 43 Si 43 028660 750 + 15 43 P 43 006190.000 1040.000 + 16 43 S 42 987154.790 216.805 + 17 43 Cl 42 974054.403 168.951 + 18 43 Ar 42 965636.056 5.700 + 19 43 K 42 960715.540 9.607 + 20 43 Ca 42 958766.628 0.323 + 21 43 Sc 42 961150.658 2.011 + 22 43 Ti 42 968522.499 7.410 + 23 43 V 42 980650 250 + 24 43 Cr 42 997710 235 + 14 44 Si 44 035260 860 + 15 44 P 44 012990 750 + 16 44 S 43 990213.390 423.557 + 17 44 Cl 43 978281.071 115.973 + 18 44 Ar 43 964924.033 1.712 + 19 44 K 43 961556.804 38.410 + 20 44 Ca 43 955481.754 0.403 + 21 44 Sc 43 959402.752 1.896 + 22 44 Ti 43 959690.069 0.784 + 23 44 V 43 974110.000 130.000 + 24 44 Cr 43 985549 54 + 25 44 Mn 44 006870 540 + 15 45 P 45 019220 860 + 16 45 S 44 996508.112 1870.519 + 17 45 Cl 44 980286.886 132.857 + 18 45 Ar 44 968039.956 0.586 + 19 45 K 44 960699.493 11.009 + 20 45 Ca 44 956186.566 0.442 + 21 45 Sc 44 955911.909 0.898 + 22 45 Ti 44 958125.616 1.051 + 23 45 V 44 965775.808 18.281 + 24 45 Cr 44 979640.000 540.000 + 25 45 Mn 44 994510 320 + 26 45 Fe 45 014578 238 + 15 46 P 46 027380 970 + 16 46 S 46 000750 750 + 17 46 Cl 45 984210.040 770.095 + 18 46 Ar 45 968094.129 43.898 + 19 46 K 45 961976.864 16.688 + 20 46 Ca 45 953692.587 2.443 + 21 46 Sc 45 955171.890 0.905 + 22 46 Ti 45 952631.555 0.894 + 23 46 V 45 960200.481 1.102 + 24 46 Cr 45 968358.635 21.465 + 25 46 Mn 45 986720 120 + 26 46 Fe 46 000810 380 + 16 47 S 47 008590 860 + 17 47 Cl 46 988710 640 + 18 47 Ar 46 972186.792 107.443 + 19 47 K 46 961678.473 8.549 + 20 47 Ca 46 954546.006 2.429 + 21 47 Sc 46 952407.508 2.178 + 22 47 Ti 46 951763.088 0.882 + 23 47 V 46 954908.940 0.897 + 24 47 Cr 46 962900.046 15.067 + 25 47 Mn 46 976100 170 + 26 47 Fe 46 992890 280 + 27 47 Co 47 011490 540 + 16 48 S 48 014170 970 + 17 48 Cl 47 994950 750 + 18 48 Ar 47 974540 320 + 19 48 K 47 965513.535 25.878 + 20 48 Ca 47 952534.177 4.382 + 21 48 Sc 47 952231.468 5.797 + 22 48 Ti 47 947946.281 0.882 + 23 48 V 47 952253.707 2.738 + 24 48 Cr 47 954031.716 7.921 + 25 48 Mn 47 968520.000 120.000 + 26 48 Fe 47 980504 75 + 27 48 Co 48 001760 430 + 28 48 Ni 48 019750 540 + 16 49 S 49 023619 1022 + 17 49 Cl 49 000320 860 + 18 49 Ar 48 980520 540 + 19 49 K 48 967450.928 75.276 + 20 49 Ca 48 955674.148 4.386 + 21 49 Sc 48 950023.975 4.291 + 22 49 Ti 48 947869.982 0.882 + 23 49 V 48 948516.101 1.246 + 24 49 Cr 48 951335.721 2.594 + 25 49 Mn 48 959618.005 25.775 + 26 49 Fe 48 973610 160 + 27 49 Co 48 989720 280 + 28 49 Ni 49 009660 430 + 17 50 Cl 50 007840 970 + 18 50 Ar 49 984430 750 + 19 50 K 49 972783.355 298.916 + 20 50 Ca 49 957518.962 9.949 + 21 50 Sc 49 952187.685 16.688 + 22 50 Ti 49 944791.194 0.883 + 23 50 V 49 947158.485 1.078 + 24 50 Cr 49 946044.205 1.074 + 25 50 Mn 49 954238.230 1.101 + 26 50 Fe 49 962988.982 64.416 + 27 50 Co 49 981540 180 + 28 50 Ni 49 995930 280 + 17 51 Cl 51 014490 1070 + 18 51 Ar 50 991630 750 + 19 51 K 50 976380 540 + 20 51 Ca 50 961499.214 100.691 + 21 51 Sc 50 953603.368 21.913 + 22 51 Ti 50 946614.955 1.027 + 23 51 V 50 943959.507 1.075 + 24 51 Cr 50 944767.431 1.075 + 25 51 Mn 50 948210.787 1.071 + 26 51 Fe 50 956819.538 16.120 + 27 51 Co 50 970720 160 + 28 51 Ni 50 987720 280 + 18 52 Ar 51 996780 970 + 19 52 K 51 982610 750 + 20 52 Ca 51 965100.000 750.000 + 21 52 Sc 51 956675.468 207.485 + 22 52 Ti 51 946897.311 7.642 + 23 52 V 51 944775.479 1.083 + 24 52 Cr 51 940507.472 0.835 + 25 52 Mn 51 945565.464 2.104 + 26 52 Fe 51 948113.875 7.028 + 27 52 Co 51 963590 70 + 28 52 Ni 51 975680 90 + 29 52 Cu 51 997180 280 + 18 53 Ar 53 004940 1070 + 19 53 K 52 987120 750 + 20 53 Ca 52 970050 540 + 21 53 Sc 52 959610 320 + 22 53 Ti 52 949727.171 107.409 + 23 53 V 52 944337.979 3.427 + 24 53 Cr 52 940649.386 0.828 + 25 53 Mn 52 941290.117 0.876 + 26 53 Fe 52 945307.942 1.903 + 27 53 Co 52 954218.896 19.334 + 28 53 Ni 52 968470 170 + 29 53 Cu 52 985550 280 + 19 54 K 53 994200 970 + 20 54 Ca 53 974350 750 + 21 54 Sc 53 963264.561 397.359 + 22 54 Ti 53 951052.401 133.889 + 23 54 V 53 946439.854 16.124 + 24 54 Cr 53 938880.395 0.821 + 25 54 Mn 53 940358.854 1.355 + 26 54 Fe 53 939610.501 0.740 + 27 54 Co 53 948459.635 0.770 + 28 54 Ni 53 957905.495 53.681 + 29 54 Cu 53 976710 230 + 30 54 Zn 53 992950 430 + 19 55 K 54 999710 1070 + 20 55 Ca 54 980550 750 + 21 55 Sc 54 968243.949 790.106 + 22 55 Ti 54 955265.056 163.288 + 23 55 V 54 947233.701 107.357 + 24 55 Cr 54 940839.672 0.845 + 25 55 Mn 54 938045.141 0.729 + 26 55 Fe 54 938293.357 0.735 + 27 55 Co 54 941999.029 0.783 + 28 55 Ni 54 951330.251 11.827 + 29 55 Cu 54 966050 320 + 30 55 Zn 54 983980 270 + 20 56 Ca 55 985570 970 + 21 56 Sc 55 972870 750 + 22 56 Ti 55 958199.639 210.361 + 23 56 V 55 950530.966 219.281 + 24 56 Cr 55 940653.139 2.000 + 25 56 Mn 55 938904.910 0.737 + 26 56 Fe 55 934937.475 0.735 + 27 56 Co 55 939839.278 2.269 + 28 56 Ni 55 942132.022 11.886 + 29 56 Cu 55 958560 150 + 30 56 Zn 55 972380 280 + 31 56 Ga 55 994910 280 + 20 57 Ca 56 992356 1074 + 21 57 Sc 56 977790 750 + 22 57 Ti 56 963989.137 488.917 + 23 57 V 56 952561.432 250.113 + 24 57 Cr 56 943613.013 2.000 + 25 57 Mn 56 938285.378 1.985 + 26 57 Fe 56 935393.969 0.736 + 27 57 Co 56 936291.373 0.765 + 28 57 Ni 56 939793.526 1.947 + 29 57 Cu 56 949211.078 16.808 + 30 57 Zn 56 964788 110 + 31 57 Ga 56 982930 280 + 21 58 Sc 57 983710 860 + 22 58 Ti 57 966970 750 + 23 58 V 57 956834.136 266.164 + 24 58 Cr 57 944353.129 217.840 + 25 58 Mn 57 939981.549 32.215 + 26 58 Fe 57 933275.558 0.755 + 27 58 Co 57 935752.814 1.341 + 28 58 Ni 57 935342.907 0.653 + 29 58 Cu 57 944538.499 1.677 + 30 58 Zn 57 954591.555 53.681 + 31 58 Ga 57 974250 230 + 32 58 Ge 57 991010 340 + 21 59 Sc 58 989220 970 + 22 59 Ti 58 972930 750 + 23 59 V 58 960207.407 329.983 + 24 59 Cr 58 948586.367 262.302 + 25 59 Mn 58 940440.237 32.212 + 26 59 Fe 58 934875.464 0.764 + 27 59 Co 58 933195.048 0.669 + 28 59 Ni 58 934346.705 0.652 + 29 59 Cu 58 939498.028 0.845 + 30 59 Zn 58 949263.764 39.879 + 31 59 Ga 58 963370 180 + 32 59 Ge 58 981750 300 + 21 60 Sc 59 995710 970 + 22 60 Ti 59 976760 860 + 23 60 V 59 965026.862 509.624 + 24 60 Cr 59 950076.033 229.090 + 25 60 Mn 59 942911.246 92.399 + 26 60 Fe 59 934071.683 3.718 + 27 60 Co 59 933817.059 0.674 + 28 60 Ni 59 930786.372 0.651 + 29 60 Cu 59 937365.030 1.810 + 30 60 Zn 59 941827.035 11.332 + 31 60 Ga 59 957060 120 + 32 60 Ge 59 970190 250 + 33 60 As 59 993130 640 + 22 61 Ti 60 983200 970 + 23 61 V 60 968480 430 + 24 61 Cr 60 954717.204 273.332 + 25 61 Mn 60 944652.638 244.676 + 26 61 Fe 60 936745.281 21.480 + 27 61 Co 60 932475.763 0.996 + 28 61 Ni 60 931056.033 0.651 + 29 61 Cu 60 933457.821 1.050 + 30 61 Zn 60 939510.635 17.474 + 31 61 Ga 60 949446.287 56.450 + 32 61 Ge 60 963790 320 + 33 61 As 60 980620 640 + 22 62 Ti 61 987490 970 + 23 62 V 61 973780 540 + 24 62 Cr 61 956613.190 361.776 + 25 62 Mn 61 948428.220 239.494 + 26 62 Fe 61 936767.442 15.554 + 27 62 Co 61 934050.563 21.480 + 28 62 Ni 61 928345.115 0.641 + 29 62 Cu 61 932583.745 4.403 + 30 62 Zn 61 934329.764 10.760 + 31 62 Ga 61 944175.238 29.914 + 32 62 Ge 61 954650 150 + 33 62 As 61 973200 320 + 22 63 Ti 62 994420 1070 + 23 63 V 62 977550 640 + 24 63 Cr 62 961860 320 + 25 63 Mn 62 950239.990 277.341 + 26 63 Fe 62 940369.091 180.497 + 27 63 Co 62 933611.611 21.480 + 28 63 Ni 62 929669.374 0.641 + 29 63 Cu 62 929597.474 0.641 + 30 63 Zn 62 933211.566 1.699 + 31 63 Ga 62 939294.196 1.400 + 32 63 Ge 62 949640 210 + 33 63 As 62 963690 540 + 23 64 V 63 983470 750 + 24 64 Cr 63 964410 430 + 25 64 Mn 63 954249.090 286.363 + 26 64 Fe 63 941201.265 296.902 + 27 64 Co 63 935809.908 21.480 + 28 64 Ni 63 927965.959 0.654 + 29 64 Cu 63 929764.183 0.644 + 30 64 Zn 63 929142.222 0.733 + 31 64 Ga 63 936838.747 2.168 + 32 64 Ge 63 941653.000 34.000 + 33 64 As 63 957572 384 + 23 65 V 64 987920 860 + 24 65 Cr 64 970160 540 + 25 65 Mn 64 956336.065 576.165 + 26 65 Fe 64 945380.270 261.148 + 27 65 Co 64 936478.460 14.112 + 28 65 Ni 64 930084.304 0.668 + 29 65 Cu 64 927789.485 0.728 + 30 65 Zn 64 929240.984 0.734 + 31 65 Ga 64 932734.754 0.894 + 32 65 Ge 64 939436.406 107.356 + 33 65 As 64 949564 324 + 34 65 Se 64 964660 640 + 24 66 Cr 65 973380 640 + 25 66 Mn 65 961080 430 + 26 66 Fe 65 946780.638 324.897 + 27 66 Co 65 939762.004 270.642 + 28 66 Ni 65 929139.334 1.500 + 29 66 Cu 65 928868.813 0.733 + 30 66 Zn 65 926033.419 0.987 + 31 66 Ga 65 931589.010 3.368 + 32 66 Ge 65 933843.453 32.382 + 33 66 As 65 944710.000 730.000 + 34 66 Se 65 955210 320 + 24 67 Cr 66 979550 750 + 25 67 Mn 66 964140 540 + 26 67 Fe 66 950947.244 446.132 + 27 67 Co 66 940889.529 341.665 + 28 67 Ni 66 931569.414 3.100 + 29 67 Cu 66 927730.314 1.300 + 30 67 Zn 66 927127.345 1.005 + 31 67 Ga 66 928201.703 1.364 + 32 67 Ge 66 932734.070 5.008 + 33 67 As 66 939186.071 107.471 + 34 67 Se 66 950090 210 + 35 67 Br 66 964790 540 + 25 68 Mn 67 969300 640 + 26 68 Fe 67 953700.000 750.000 + 27 68 Co 67 944873.058 341.665 + 28 68 Ni 67 931868.789 3.200 + 29 68 Cu 67 929610.889 1.700 + 30 68 Zn 67 924844.154 1.025 + 31 68 Ga 67 927980.084 1.646 + 32 68 Ge 67 928094.240 6.684 + 33 68 As 67 936769.069 46.555 + 34 68 Se 67 941798.000 35.000 + 35 68 Br 67 958516 384 + 25 69 Mn 68 972840 860 + 26 69 Fe 68 958780 540 + 27 69 Co 68 946320.000 360.000 + 28 69 Ni 68 935610.269 4.000 + 29 69 Cu 68 929429.269 1.500 + 30 69 Zn 68 926550.281 1.039 + 31 69 Ga 68 925573.587 1.292 + 32 69 Ge 68 927964.533 1.421 + 33 69 As 68 932273.675 33.511 + 34 69 Se 68 939557.817 36.975 + 35 69 Br 68 950106 113 + 36 69 Kr 68 965180 430 + 26 70 Fe 69 961460 640 + 27 70 Co 69 951000.000 900.000 + 28 70 Ni 69 936500.000 371.231 + 29 70 Cu 69 932392.343 1.700 + 30 70 Zn 69 925319.274 2.095 + 31 70 Ga 69 926021.972 1.296 + 32 70 Ge 69 924247.381 1.102 + 33 70 As 69 930924.826 53.688 + 34 70 Se 69 933390.644 66.111 + 35 70 Br 69 944792 329 + 36 70 Kr 69 955259 413 + 26 71 Fe 70 966720 860 + 27 71 Co 70 952900.000 900.000 + 28 71 Ni 70 940736.283 395.102 + 29 71 Cu 70 932676.833 1.600 + 30 71 Zn 70 927721.599 10.938 + 31 71 Ga 70 924701.349 1.092 + 32 71 Ge 70 924950.954 1.100 + 33 71 As 70 927112.428 4.518 + 34 71 Se 70 932241.822 33.909 + 35 71 Br 70 938740.000 610.000 + 36 71 Kr 70 949625.738 700.082 + 37 71 Rb 70 965320 540 + 26 72 Fe 71 969620 860 + 27 72 Co 71 957810 640 + 28 72 Ni 71 942092.682 468.521 + 29 72 Cu 71 935820.307 1.500 + 30 72 Zn 71 926857.951 6.533 + 31 72 Ga 71 926366.268 1.091 + 32 72 Ge 71 922075.815 1.755 + 33 72 As 71 926752.283 4.721 + 34 72 Se 71 927112.352 12.943 + 35 72 Br 71 936644.572 63.994 + 36 72 Kr 71 942092.038 8.580 + 37 72 Rb 71 959080 540 + 27 73 Co 72 960240 750 + 28 73 Ni 72 946470 320 + 29 73 Cu 72 936675.282 4.200 + 30 73 Zn 72 929779.104 42.978 + 31 73 Ga 72 925174.682 1.800 + 32 73 Ge 72 923458.945 1.755 + 33 73 As 72 923824.844 4.216 + 34 73 Se 72 926765.345 11.475 + 35 73 Br 72 931691.524 54.525 + 36 73 Kr 72 939289.195 7.061 + 37 73 Rb 72 950561 161 + 38 73 Sr 72 965970 640 + 27 74 Co 73 965380 860 + 28 74 Ni 73 948070 430 + 29 74 Cu 73 939874.862 6.600 + 30 74 Zn 73 929458.609 50.604 + 31 74 Ga 73 926945.762 4.000 + 32 74 Ge 73 921177.767 1.754 + 33 74 As 73 923928.692 2.521 + 34 74 Se 73 922476.436 1.798 + 35 74 Br 73 929891.034 16.203 + 36 74 Kr 73 933084.369 2.189 + 37 74 Rb 73 944264.751 3.945 + 38 74 Sr 73 956310 540 + 27 75 Co 74 968330 860 + 28 75 Ni 74 952870 430 + 29 75 Cu 74 941900.000 1050.000 + 30 75 Zn 74 932936.741 75.824 + 31 75 Ga 74 926500.246 2.600 + 32 75 Ge 74 922858.948 1.756 + 33 75 As 74 921596.478 1.951 + 34 75 Se 74 922523.368 1.797 + 35 75 Br 74 925776.207 15.288 + 36 75 Kr 74 930945.746 8.700 + 37 75 Rb 74 938570.000 8.000 + 38 75 Sr 74 949949.568 236.315 + 28 76 Ni 75 955330 970 + 29 76 Cu 75 945275.026 7.200 + 30 76 Zn 75 933293.570 85.909 + 31 76 Ga 75 928827.626 2.100 + 32 76 Ge 75 921402.557 1.772 + 33 76 As 75 922394.021 1.953 + 34 76 Se 75 919213.597 1.772 + 35 76 Br 75 924541.469 10.163 + 36 76 Kr 75 925910.078 4.328 + 37 76 Rb 75 935072.226 2.000 + 38 76 Sr 75 941766.782 40.000 + 39 76 Y 75 958450 540 + 28 77 Ni 76 960550 540 + 29 77 Cu 76 947850 430 + 30 77 Zn 76 936958.967 128.851 + 31 77 Ga 76 929154.300 2.600 + 32 77 Ge 76 923548.591 1.824 + 33 77 As 76 920647.286 2.473 + 34 77 Se 76 919914.038 1.773 + 35 77 Br 76 921379.082 3.499 + 36 77 Kr 76 924670.000 2.100 + 37 77 Rb 76 930408.000 8.000 + 38 77 Sr 76 937944.782 10.000 + 39 77 Y 76 949645 67 + 28 78 Ni 77 963180 1180 + 29 78 Cu 77 951960 430 + 30 78 Zn 77 938440.216 96.653 + 31 78 Ga 77 931608.180 2.600 + 32 78 Ge 77 922852.739 4.189 + 33 78 As 77 921827.281 10.665 + 34 78 Se 77 917309.090 1.776 + 35 78 Br 77 921145.706 4.229 + 36 78 Kr 77 920364.783 1.153 + 37 78 Rb 77 928141.000 8.000 + 38 78 Sr 77 932180.000 8.000 + 39 78 Y 77 943610 430 + 40 78 Zr 77 955230 540 + 29 79 Cu 78 954560 540 + 30 79 Zn 78 942652 278 + 31 79 Ga 78 932893.260 105.357 + 32 79 Ge 78 925400.995 96.209 + 33 79 As 78 920947.934 6.023 + 34 79 Se 78 918499.098 1.782 + 35 79 Br 78 918337.087 2.165 + 36 79 Kr 78 920082.431 4.182 + 37 79 Rb 78 923989.460 6.427 + 38 79 Sr 78 929708.000 9.000 + 39 79 Y 78 937351.634 483.178 + 40 79 Zr 78 949160 430 + 29 80 Cu 79 960870 640 + 30 80 Zn 79 944342.348 184.704 + 31 80 Ga 79 936515.781 132.362 + 32 80 Ge 79 925372.392 30.394 + 33 80 As 79 922533.816 25.047 + 34 80 Se 79 916521.271 2.135 + 35 80 Br 79 918529.296 2.161 + 36 80 Kr 79 916378.965 1.577 + 37 80 Rb 79 922519.250 7.487 + 38 80 Sr 79 924521.013 7.058 + 39 80 Y 79 934280.000 190.000 + 40 80 Zr 79 940400.000 1600.000 + 30 81 Zn 80 950480 320 + 31 81 Ga 80 937752.355 206.306 + 32 81 Ge 80 928820.467 128.961 + 33 81 As 80 922132.287 5.933 + 34 81 Se 80 917992.474 2.168 + 35 81 Br 80 916290.563 2.095 + 36 81 Kr 80 916592.015 2.133 + 37 81 Rb 80 918995.913 6.439 + 38 81 Sr 80 923211.846 6.656 + 39 81 Y 80 929127.468 66.725 + 40 81 Zr 80 937210.026 178.787 + 41 81 Nb 80 949030 1608 + 30 82 Zn 81 954420 540 + 31 82 Ga 81 942990 320 + 32 82 Ge 81 929549.725 262.094 + 33 82 As 81 924504.067 214.719 + 34 82 Se 81 916699.401 2.168 + 35 82 Br 81 916804.119 2.093 + 36 82 Kr 81 913483.600 1.910 + 37 82 Rb 81 918208.598 2.960 + 38 82 Sr 81 918401.639 5.979 + 39 82 Y 81 926792.451 110.122 + 40 82 Zr 81 931087 241 + 41 82 Nb 81 943130 320 + 30 83 Zn 82 961030 540 + 31 83 Ga 82 946980 320 + 32 83 Ge 82 934620 210 + 33 83 As 82 924980.024 236.211 + 34 83 Se 82 919118.473 3.882 + 35 83 Br 82 915180.421 4.531 + 36 83 Kr 82 914136.099 3.019 + 37 83 Rb 82 915109.701 6.450 + 38 83 Sr 82 917556.701 11.073 + 39 83 Y 82 922354.243 47.572 + 40 83 Zr 82 928653.801 102.907 + 41 83 Nb 82 936705.382 338.104 + 42 83 Mo 82 948740 540 + 31 84 Ga 83 952650 430 + 32 84 Ge 83 937470 320 + 33 84 As 83 929058 322 + 34 84 Se 83 918462.354 15.610 + 35 84 Br 83 916478.974 15.728 + 36 84 Kr 83 911506.687 3.010 + 37 84 Rb 83 914384.821 3.011 + 38 84 Sr 83 913425.275 3.437 + 39 84 Y 83 920388.264 98.099 + 40 84 Zr 83 923250 210 + 41 84 Nb 83 933570 320 + 42 84 Mo 83 940090 430 + 31 85 Ga 84 957000 540 + 32 85 Ge 84 943030 430 + 33 85 As 84 932020 210 + 34 85 Se 84 922245.053 32.095 + 35 85 Br 84 915608.403 20.504 + 36 85 Kr 84 912527.331 2.090 + 37 85 Rb 84 911789.737 0.012 + 38 85 Sr 84 912932.803 3.045 + 39 85 Y 84 916433.039 20.360 + 40 85 Zr 84 921471.182 108.213 + 41 85 Nb 84 927912.447 240.437 + 42 85 Mo 84 936550 300 + 43 85 Tc 84 948830 430 + 31 86 Ga 85 963120 860 + 32 86 Ge 85 946490 540 + 33 86 As 85 936500 320 + 34 86 Se 85 924271.579 16.700 + 35 86 Br 85 918797.577 11.809 + 36 86 Kr 85 910610.729 0.110 + 37 86 Rb 85 911167.419 0.214 + 38 86 Sr 85 909260.204 1.152 + 39 86 Y 85 914885.576 15.225 + 40 86 Zr 85 916473.591 32.306 + 41 86 Nb 85 925038.326 91.758 + 42 86 Mo 85 930695.904 470.655 + 43 86 Tc 85 942880 320 + 32 87 Ge 86 952510 540 + 33 87 As 86 939900 320 + 34 87 Se 86 928521.358 42.095 + 35 87 Br 86 920711.324 18.979 + 36 87 Kr 86 913354.862 0.286 + 37 87 Rb 86 909180.526 0.012 + 38 87 Sr 86 908877.124 1.152 + 39 87 Y 86 910875.730 1.671 + 40 87 Zr 86 914816.252 8.956 + 41 87 Nb 86 920361.108 65.032 + 42 87 Mo 86 927326.502 239.700 + 43 87 Tc 86 936530 320 + 44 87 Ru 86 949180 640 + 32 88 Ge 87 956910 750 + 33 88 As 87 944940 540 + 34 88 Se 87 931423.998 52.996 + 35 88 Br 87 924065.926 41.244 + 36 88 Kr 87 914446.969 14.403 + 37 88 Rb 87 911315.588 0.172 + 38 88 Sr 87 905612.124 1.163 + 39 88 Y 87 909501.146 1.986 + 40 88 Zr 87 910226.904 11.032 + 41 88 Nb 87 918332.163 107.919 + 42 88 Mo 87 921953.241 21.855 + 43 88 Tc 87 932678 216 + 44 88 Ru 87 940260 430 + 32 89 Ge 88 963830 970 + 33 89 As 88 949390 540 + 34 89 Se 88 936450 320 + 35 89 Br 88 926385.334 64.205 + 36 89 Kr 88 917630.581 55.543 + 37 89 Rb 88 912278.016 5.863 + 38 89 Sr 88 907450.675 1.166 + 39 89 Y 88 905848.295 2.739 + 40 89 Zr 88 908889.500 3.970 + 41 89 Nb 88 913418.245 28.771 + 42 89 Mo 88 919480.009 16.612 + 43 89 Tc 88 927167 215 + 44 89 Ru 88 936110 540 + 45 89 Rh 88 948837 481 + 33 90 As 89 955500 860 + 34 90 Se 89 939960 430 + 35 90 Br 89 930627.737 82.930 + 36 90 Kr 89 919516.555 19.866 + 37 90 Rb 89 914801.694 7.014 + 38 90 Sr 89 907737.888 3.099 + 39 90 Y 89 907151.886 2.739 + 40 90 Zr 89 904704.416 2.542 + 41 90 Nb 89 911264.845 4.990 + 42 90 Mo 89 913936.896 6.583 + 43 90 Tc 89 923556.564 259.998 + 44 90 Ru 89 929890 320 + 45 90 Rh 89 942870 540 + 33 91 As 90 960430 970 + 34 91 Se 90 945960 540 + 35 91 Br 90 933968.095 77.895 + 36 91 Kr 90 923445.215 61.341 + 37 91 Rb 90 916536.958 8.647 + 38 91 Sr 90 910203.095 4.856 + 39 91 Y 90 907304.791 3.099 + 40 91 Zr 90 905645.767 2.518 + 41 91 Nb 90 906996.243 4.053 + 42 91 Mo 90 911750.194 12.003 + 43 91 Tc 90 918427.639 215.044 + 44 91 Ru 90 926292 626 + 45 91 Rh 90 936550 430 + 46 91 Pd 90 949110 608 + 33 92 As 91 966800 970 + 34 92 Se 91 949920 640 + 35 92 Br 91 939258.714 53.242 + 36 92 Kr 91 926156.210 12.576 + 37 92 Rb 91 919728.900 6.550 + 38 92 Sr 91 911037.858 3.653 + 39 92 Y 91 908949.143 9.945 + 40 92 Zr 91 905040.847 2.517 + 41 92 Nb 91 907193.888 3.036 + 42 92 Mo 91 906810.991 4.083 + 43 92 Tc 91 915260.166 27.916 + 44 92 Ru 91 920120 320 + 45 92 Rh 91 931980 430 + 46 92 Pd 91 940420 540 + 34 93 Se 92 956290 860 + 35 93 Br 92 943050 320 + 36 93 Kr 92 931274.357 107.662 + 37 93 Rb 92 922041.876 8.136 + 38 93 Sr 92 914025.634 8.085 + 39 93 Y 92 909582.713 11.414 + 40 93 Zr 92 906476.006 2.512 + 41 93 Nb 92 906378.058 2.607 + 42 93 Mo 92 906812.610 4.083 + 43 93 Tc 92 910248.984 4.222 + 44 93 Ru 92 917052.034 91.348 + 45 93 Rh 92 925740 430 + 46 93 Pd 92 935910 430 + 47 93 Ag 92 949780 640 + 34 94 Se 93 960490 860 + 35 94 Br 93 948680 430 + 36 94 Kr 93 934360 322 + 37 94 Rb 93 926404.946 8.971 + 38 94 Sr 93 915361.312 7.711 + 39 94 Y 93 911595.245 7.693 + 40 94 Zr 93 906315.192 2.598 + 41 94 Nb 93 907283.888 2.607 + 42 94 Mo 93 905088.269 2.058 + 43 94 Tc 93 909657.002 4.828 + 44 94 Ru 93 911359.711 13.669 + 45 94 Rh 93 921698 480 + 46 94 Pd 93 928770 430 + 47 94 Ag 93 942780 540 + 35 95 Br 94 952870 540 + 36 95 Kr 94 939840 430 + 37 95 Rb 94 929302.889 22.665 + 38 95 Sr 94 919358.766 8.031 + 39 95 Y 94 912820.621 7.752 + 40 95 Zr 94 908042.600 2.575 + 41 95 Nb 94 906835.792 2.112 + 42 95 Mo 94 905842.129 2.057 + 43 95 Tc 94 907657.084 5.815 + 44 95 Ru 94 910412.929 12.747 + 45 95 Rh 94 915898.740 161.535 + 46 95 Pd 94 924690 430 + 47 95 Ag 94 935480 430 + 48 95 Cd 94 949870 640 + 35 96 Br 95 958530 750 + 36 96 Kr 95 943070 540 + 37 96 Rb 95 934272.637 31.598 + 38 96 Sr 95 921696.802 29.393 + 39 96 Y 95 915891.343 25.165 + 40 96 Zr 95 908273.386 2.993 + 41 96 Nb 95 908100.647 4.004 + 42 96 Mo 95 904679.477 2.057 + 43 96 Tc 95 907871.383 5.893 + 44 96 Ru 95 907597.835 8.461 + 45 96 Rh 95 914460.631 13.669 + 46 96 Pd 95 918164.359 161.610 + 47 96 Ag 95 930680 430 + 48 96 Cd 95 939770 540 + 35 97 Br 96 962800 860 + 36 97 Kr 96 948560 540 + 37 97 Rb 96 937351.916 32.756 + 38 97 Sr 96 926152.923 20.600 + 39 97 Y 96 918133.995 12.524 + 40 97 Zr 96 910953.109 2.990 + 41 97 Nb 96 908098.556 2.739 + 42 97 Mo 96 906021.465 2.053 + 43 97 Tc 96 906365.358 4.872 + 44 97 Ru 96 907554.700 8.964 + 45 97 Rh 96 911336.797 38.999 + 46 97 Pd 96 916479.073 324.415 + 47 97 Ag 96 923972.412 345.240 + 48 97 Cd 96 934940 430 + 49 97 In 96 949540 640 + 36 98 Kr 97 951910 640 + 37 98 Rb 97 941790.668 53.942 + 38 98 Sr 97 928452.934 28.287 + 39 98 Y 97 922203.020 26.354 + 40 98 Zr 97 912734.892 21.412 + 41 98 Nb 97 910328.412 6.145 + 42 98 Mo 97 905408.169 2.054 + 43 98 Tc 97 907215.966 4.097 + 44 98 Ru 97 905287.132 6.732 + 45 98 Rh 97 910708.158 12.671 + 46 98 Pd 97 912720.902 23.078 + 47 98 Ag 97 921566.201 71.902 + 48 98 Cd 97 927395.546 83.749 + 49 98 In 97 942140 210 + 36 99 Kr 98 957600 640 + 37 99 Rb 98 945379.283 134.912 + 38 99 Sr 98 933240.926 85.882 + 39 99 Y 98 924636.204 26.185 + 40 99 Zr 98 916512.106 21.506 + 41 99 Nb 98 911618.375 14.319 + 42 99 Mo 98 907711.870 2.056 + 43 99 Tc 98 906254.747 2.124 + 44 99 Ru 98 905939.302 2.158 + 45 99 Rh 98 908132.104 7.661 + 46 99 Pd 98 911767.833 16.296 + 47 99 Ag 98 917597.178 161.854 + 48 99 Cd 98 925010 220 + 49 99 In 98 934220 430 + 50 99 Sn 98 949330 640 + 36 100 Kr 99 961140 540 + 37 100 Rb 99 949870 320 + 38 100 Sr 99 935351.911 136.573 + 39 100 Y 99 927756.586 84.423 + 40 100 Zr 99 917761.889 38.472 + 41 100 Nb 99 914181.619 27.564 + 42 100 Mo 99 907477.336 6.285 + 43 100 Tc 99 907657.780 2.380 + 44 100 Ru 99 904219.476 2.158 + 45 100 Rh 99 908121.550 19.536 + 46 100 Pd 99 908505.886 12.083 + 47 100 Ag 99 916104.255 82.797 + 48 100 Cd 99 920289.525 102.275 + 49 100 In 99 931110.851 267.259 + 50 100 Sn 99 939044.343 757.268 + 37 101 Rb 100 953196.445 178.296 + 38 101 Sr 100 940517.888 133.583 + 39 101 Y 100 930313.850 102.315 + 40 101 Zr 100 921140.415 33.663 + 41 101 Nb 100 915252.025 20.320 + 42 101 Mo 100 910347.001 6.286 + 43 101 Tc 100 907314.659 25.855 + 44 101 Ru 100 905582.087 2.161 + 45 101 Rh 100 906163.625 18.497 + 46 101 Pd 100 908289.242 18.989 + 47 101 Ag 100 912802.233 112.087 + 48 101 Cd 100 918681.538 162.036 + 49 101 In 100 926340 320 + 50 101 Sn 100 936060 320 + 37 102 Rb 101 958870 540 + 38 102 Sr 101 943018.987 119.348 + 39 102 Y 101 933555.695 92.718 + 40 102 Zr 101 922981.285 54.309 + 41 102 Nb 101 918037.614 43.730 + 42 102 Mo 101 910297.360 22.372 + 43 102 Tc 101 909215.019 10.083 + 44 102 Ru 101 904349.312 2.162 + 45 102 Rh 101 906843.196 5.304 + 46 102 Pd 101 905608.544 3.207 + 47 102 Ag 101 911685.000 30.000 + 48 102 Cd 101 914462.258 31.205 + 49 102 In 101 924090.238 119.913 + 50 102 Sn 101 930295.324 141.515 + 38 103 Sr 102 948950 540 + 39 103 Y 102 936730 320 + 40 103 Zr 102 926599.606 116.739 + 41 103 Nb 102 919143.842 72.810 + 42 103 Mo 102 913207.142 65.299 + 43 103 Tc 102 909181.351 10.726 + 44 103 Ru 102 906323.847 2.166 + 45 103 Rh 102 905504.292 3.012 + 46 103 Pd 102 906087.307 3.115 + 47 103 Ag 102 908972.720 17.908 + 48 103 Cd 102 913419.246 16.500 + 49 103 In 102 919914.188 27.078 + 50 103 Sn 102 928100 320 + 51 103 Sb 102 939690 320 + 38 104 Sr 103 952330 750 + 39 104 Y 103 941050 430 + 40 104 Zr 103 928780 430 + 41 104 Nb 103 922464.701 112.518 + 42 104 Mo 103 913763.625 57.663 + 43 104 Tc 103 911447.454 49.021 + 44 104 Ru 103 905432.701 3.367 + 45 104 Rh 103 906655.518 3.013 + 46 104 Pd 103 904035.834 4.436 + 47 104 Ag 103 908629.157 6.174 + 48 104 Cd 103 909849.475 10.161 + 49 104 In 103 918296.171 90.964 + 50 104 Sn 103 923143.223 111.461 + 51 104 Sb 103 936472 389 + 38 105 Sr 104 958580 750 + 39 105 Y 104 944870 540 + 40 105 Zr 104 933050 430 + 41 105 Nb 104 923936.545 107.138 + 42 105 Mo 104 916974.610 76.363 + 43 105 Tc 104 911660.566 59.140 + 44 105 Ru 104 907752.866 3.368 + 45 105 Rh 104 905693.821 4.323 + 46 105 Pd 104 905084.920 4.372 + 47 105 Ag 104 906528.661 11.789 + 48 105 Cd 104 909467.905 12.398 + 49 105 In 104 914673.540 18.623 + 50 105 Sn 104 921349.437 86.513 + 51 105 Sb 104 931486.348 112.618 + 52 105 Te 104 943640 540 + 39 106 Y 105 949790 750 + 40 106 Zr 105 935910 540 + 41 106 Nb 105 927970 210 + 42 106 Mo 105 918136.802 19.267 + 43 106 Tc 105 914357.927 14.308 + 44 106 Ru 105 907329.433 8.078 + 45 106 Rh 105 907287.135 8.075 + 46 106 Pd 105 903485.715 4.372 + 47 106 Ag 105 906668.921 5.274 + 48 106 Cd 105 906459.410 6.367 + 49 106 In 105 913465.411 13.240 + 50 106 Sn 105 916880.620 53.986 + 51 106 Sb 105 928791 336 + 52 106 Te 105 937504.237 141.870 + 39 107 Y 106 954140 540 + 40 107 Zr 106 940750 320 + 41 107 Nb 106 930310 430 + 42 107 Mo 106 921692.604 173.513 + 43 107 Tc 106 915079.572 161.114 + 44 107 Ru 106 909905.089 132.782 + 45 107 Rh 106 906748.423 12.805 + 46 107 Pd 106 905133.481 4.383 + 47 107 Ag 106 905096.820 4.584 + 48 107 Cd 106 906617.928 6.197 + 49 107 In 106 910295.100 12.228 + 50 107 Sn 106 915644.329 89.570 + 51 107 Sb 106 924150 320 + 52 107 Te 106 935006 320 + 39 108 Y 107 959480 860 + 40 108 Zr 107 943960 640 + 41 108 Nb 107 934840 320 + 42 108 Mo 107 923453 211 + 43 108 Tc 107 918461.226 135.767 + 44 108 Ru 107 910173.465 124.706 + 45 108 Rh 107 908728.018 112.782 + 46 108 Pd 107 903891.701 3.695 + 47 108 Ag 107 905955.556 4.588 + 48 108 Cd 107 904183.683 5.974 + 49 108 In 107 909698.180 10.466 + 50 108 Sn 107 911925.378 21.314 + 51 108 Sb 107 922160 220 + 52 108 Te 107 929444.597 111.550 + 53 108 I 107 943475 385 + 40 109 Zr 108 949240 540 + 41 109 Nb 108 937630 540 + 42 109 Mo 108 927810 320 + 43 109 Tc 108 919982.665 103.351 + 44 109 Ru 108 913203.233 70.953 + 45 109 Rh 108 908737.289 12.847 + 46 109 Pd 108 905950.451 3.692 + 47 109 Ag 108 904752.292 3.113 + 48 109 Cd 108 904982.293 4.182 + 49 109 In 108 907150.507 6.256 + 50 109 Sn 108 911283.214 10.700 + 51 109 Sb 108 918132.426 20.236 + 52 109 Te 108 927415.515 67.847 + 53 109 I 108 938149.417 111.568 + 40 110 Zr 109 952870 860 + 41 110 Nb 109 942440 540 + 42 110 Mo 109 929730 430 + 43 110 Tc 109 923820.483 82.179 + 44 110 Ru 109 914136.041 57.159 + 45 110 Rh 109 911136.411 54.155 + 46 110 Pd 109 905153.254 11.672 + 47 110 Ag 109 906107.231 3.112 + 48 110 Cd 109 903002.070 2.860 + 49 110 In 109 907165.274 12.722 + 50 110 Sn 109 907842.791 14.790 + 51 110 Sb 109 916753 215 + 52 110 Te 109 922407.316 56.513 + 53 110 I 109 935242 332 + 54 110 Xe 109 944278.068 142.656 + 41 111 Nb 110 945650 540 + 42 111 Mo 110 934410 430 + 43 111 Tc 110 925692.830 116.691 + 44 111 Ru 110 917696.000 79.000 + 45 111 Rh 110 911585.913 31.791 + 46 111 Pd 110 907670.734 11.680 + 47 111 Ag 110 905291.157 3.236 + 48 111 Cd 110 904178.107 2.858 + 49 111 In 110 905103.278 5.183 + 50 111 Sn 110 907734.460 7.339 + 51 111 Sb 110 913163.000 30.000 + 52 111 Te 110 921110.692 76.589 + 53 111 I 110 930276 324 + 54 111 Xe 110 941602 325 + 41 112 Nb 111 950830 750 + 42 112 Mo 111 936840 640 + 43 112 Tc 111 929146.493 133.289 + 44 112 Ru 111 918965.000 79.000 + 45 112 Rh 111 914394.159 55.404 + 46 112 Pd 111 907314.058 19.267 + 47 112 Ag 111 907004.814 18.125 + 48 112 Cd 111 902757.809 2.854 + 49 112 In 111 905532.331 5.502 + 50 112 Sn 111 904818.207 4.598 + 51 112 Sb 111 912398.009 19.140 + 52 112 Te 111 917013.672 182.799 + 53 112 I 111 927970 226 + 54 112 Xe 111 935623.112 111.753 + 55 112 Cs 111 950301 325 + 41 113 Nb 112 954700 860 + 42 113 Mo 112 941880 640 + 43 113 Tc 112 931590 320 + 44 113 Ru 112 922487.194 75.145 + 45 113 Rh 112 915530.627 52.588 + 46 113 Pd 112 910152.908 38.423 + 47 113 Ag 112 906566.579 17.834 + 48 113 Cd 112 904401.662 2.869 + 49 113 In 112 904057.761 3.448 + 50 113 Sn 112 905170.577 4.312 + 51 113 Sb 112 909371.672 18.878 + 52 113 Te 112 915891.000 30.000 + 53 113 I 112 923640.583 57.365 + 54 113 Xe 112 933341.174 86.513 + 55 113 Cs 112 944493.274 111.786 + 42 114 Mo 113 944920 750 + 43 114 Tc 113 935880 640 + 44 114 Ru 113 924281 246 + 45 114 Rh 113 918806.000 121.000 + 46 114 Pd 113 910362.638 25.372 + 47 114 Ag 113 908803.704 26.649 + 48 114 Cd 113 903358.540 2.870 + 49 114 In 113 904913.876 3.440 + 50 114 Sn 113 902778.869 3.405 + 51 114 Sb 113 909269.000 30.000 + 52 114 Te 113 912089.000 30.000 + 53 114 I 113 921850 320 + 54 114 Xe 113 927980.306 12.000 + 55 114 Cs 113 941450 327 + 56 114 Ba 113 950675.405 149.437 + 42 115 Mo 114 950290 860 + 43 115 Tc 114 938690 750 + 44 115 Ru 114 928686.173 138.180 + 45 115 Rh 114 920334.000 87.000 + 46 115 Pd 114 913683.824 65.473 + 47 115 Ag 114 908762.698 37.490 + 48 115 Cd 114 905430.969 2.923 + 49 115 In 114 903878.484 4.791 + 50 115 Sn 114 903342.397 3.160 + 51 115 Sb 114 906598.000 17.203 + 52 115 Te 114 911902.000 30.000 + 53 115 I 114 918048.000 31.000 + 54 115 Xe 114 926293.920 13.000 + 55 115 Cs 114 935910 320 + 56 115 Ba 114 947370 640 + 43 116 Tc 115 943370 750 + 44 116 Ru 115 930810 750 + 45 116 Rh 115 924062.000 148.000 + 46 116 Pd 115 914158.662 59.654 + 47 116 Ag 115 911359.933 50.213 + 48 116 Cd 115 904755.809 3.381 + 49 116 In 115 905259.703 4.797 + 50 116 Sn 115 901740.530 3.159 + 51 116 Sb 115 906793.629 6.269 + 52 116 Te 115 908460.000 30.000 + 53 116 I 115 916808.633 103.695 + 54 116 Xe 115 921581.087 14.000 + 55 116 Cs 115 933367 108 + 56 116 Ba 115 941380 430 + 43 117 Tc 116 946480 750 + 44 117 Ru 116 935580 750 + 45 117 Rh 116 925980 540 + 46 117 Pd 116 917841.338 63.827 + 47 117 Ag 116 911684.562 53.794 + 48 117 Cd 116 907218.618 3.548 + 49 117 In 116 904513.564 6.085 + 50 117 Sn 116 902951.656 3.136 + 51 117 Sb 116 904835.941 10.104 + 52 117 Te 116 908644.719 14.398 + 53 117 I 116 913650.000 30.000 + 54 117 Xe 116 920358.735 11.141 + 55 117 Cs 116 928670.701 67.000 + 56 117 Ba 116 938499 322 + 57 117 La 116 950068 430 + 43 118 Tc 117 951480 970 + 44 118 Ru 117 937820 860 + 45 118 Rh 117 930070 540 + 46 118 Pd 117 918984.300 225.370 + 47 118 Ag 117 914582.768 68.498 + 48 118 Cd 117 906914.530 21.735 + 49 118 In 117 906354.367 8.856 + 50 118 Sn 117 901603.167 3.100 + 51 118 Sb 117 905528.731 4.450 + 52 118 Te 117 905827.581 15.856 + 53 118 I 117 913074.000 21.213 + 54 118 Xe 117 916178.655 11.141 + 55 118 Cs 117 926559.494 13.690 + 56 118 Ba 117 933040 210 + 57 118 La 117 946730 320 + 44 119 Ru 118 942840 750 + 45 119 Rh 118 932110 640 + 46 119 Pd 118 923110 320 + 47 119 Ag 118 915665.059 96.377 + 48 119 Cd 118 909921.597 86.281 + 49 119 In 118 905845.350 8.280 + 50 119 Sn 118 903307.630 3.083 + 51 119 Sb 118 903942.009 8.803 + 52 119 Te 118 906403.645 9.061 + 53 119 I 118 910074.000 30.000 + 54 119 Xe 118 915410.688 11.141 + 55 119 Cs 118 922377.304 14.965 + 56 119 Ba 118 930659.661 214.997 + 57 119 La 118 940990 430 + 58 119 Ce 118 952760 640 + 44 120 Ru 119 945310 860 + 45 120 Rh 119 936410 640 + 46 120 Pd 119 924691.878 133.020 + 47 120 Ag 119 918787.384 78.546 + 48 120 Cd 119 909850.129 20.174 + 49 120 In 119 907959.608 43.025 + 50 120 Sn 119 902194.676 2.687 + 51 120 Sb 119 905072.427 8.122 + 52 120 Te 119 904020.222 10.409 + 53 120 I 119 910048.173 19.174 + 54 120 Xe 119 911784.244 12.686 + 55 120 Cs 119 920677.253 10.702 + 56 120 Ba 119 926044.974 322.241 + 57 120 La 119 938070 540 + 58 120 Ce 119 946640 750 + 45 121 Rh 120 938720 970 + 46 121 Pd 120 928870 540 + 47 121 Ag 120 919848.046 157.607 + 48 121 Cd 120 912977.363 90.796 + 49 121 In 120 907845.822 29.462 + 50 121 Sn 120 904235.480 2.678 + 51 121 Sb 120 903815.686 2.359 + 52 121 Te 120 904936.424 27.837 + 53 121 I 120 907366.811 11.122 + 54 121 Xe 120 911461.829 11.928 + 55 121 Cs 120 917229.209 14.832 + 56 121 Ba 120 924054.499 152.283 + 57 121 La 120 933010 540 + 58 121 Ce 120 943420 540 + 59 121 Pr 120 955364 752 + 45 122 Rh 121 943210 750 + 46 122 Pd 121 930550 430 + 47 122 Ag 121 923530 220 + 48 122 Cd 121 913332.432 46.186 + 49 122 In 121 910276.010 53.756 + 50 122 Sn 121 903439.046 2.915 + 51 122 Sb 121 905173.651 2.358 + 52 122 Te 121 903043.898 1.599 + 53 122 I 121 907589.284 5.601 + 54 122 Xe 121 908367.632 11.928 + 55 122 Cs 121 916113.434 34.303 + 56 122 Ba 121 919904.000 30.000 + 57 122 La 121 930710 320 + 58 122 Ce 121 937910 430 + 59 122 Pr 121 951810 540 + 46 123 Pd 122 934930 640 + 47 123 Ag 122 924900 220 + 48 123 Cd 122 917002.999 43.881 + 49 123 In 122 910438.276 25.894 + 50 123 Sn 122 905720.838 2.904 + 51 123 Sb 122 904213.970 2.223 + 52 123 Te 122 904270.029 1.592 + 53 123 I 122 905588.965 4.008 + 54 123 Xe 122 908481.910 10.238 + 55 123 Cs 122 912996.036 13.000 + 56 123 Ba 122 918781.036 13.000 + 57 123 La 122 926240 210 + 58 123 Ce 122 935400 320 + 59 123 Pr 122 945960 640 + 46 124 Pd 123 936880 540 + 47 124 Ag 123 928640 210 + 48 124 Cd 123 917647.616 67.248 + 49 124 In 123 913175.231 52.624 + 50 124 Sn 123 905273.946 1.496 + 51 124 Sb 123 905935.743 2.222 + 52 124 Te 123 902817.896 1.583 + 53 124 I 123 906209.852 2.547 + 54 124 Xe 123 905893.003 1.961 + 55 124 Cs 123 912257.798 8.914 + 56 124 Ba 123 915093.603 13.416 + 57 124 La 123 924574.275 60.836 + 58 124 Ce 123 930410 320 + 59 124 Pr 123 942960 640 + 60 124 Nd 123 952230 640 + 47 125 Ag 124 930430 320 + 48 125 Cd 124 921246.370 73.959 + 49 125 In 124 913600.588 32.246 + 50 125 Sn 124 907784.125 1.611 + 51 125 Sb 124 905253.818 2.773 + 52 125 Te 124 904430.731 1.583 + 53 125 I 124 904630.164 1.585 + 54 125 Xe 124 906395.464 2.006 + 55 125 Cs 124 909728.270 8.314 + 56 125 Ba 124 914472.912 11.928 + 57 125 La 124 920816.034 27.854 + 58 125 Ce 124 928440 210 + 59 125 Pr 124 937830 430 + 60 125 Nd 124 948880 430 + 47 126 Ag 125 934500 320 + 48 126 Cd 125 922353.321 58.124 + 49 126 In 125 916463.857 43.414 + 50 126 Sn 125 907653.280 11.484 + 51 126 Sb 125 907247.480 34.192 + 52 126 Te 125 903311.696 1.585 + 53 126 I 125 905624.153 4.018 + 54 126 Xe 125 904273.634 6.705 + 55 126 Cs 125 909451.977 13.000 + 56 126 Ba 125 911250.177 13.416 + 57 126 La 125 919512.667 97.163 + 58 126 Ce 125 923971.000 30.000 + 59 126 Pr 125 935310 210 + 60 126 Nd 125 943220 430 + 61 126 Pm 125 957520 540 + 47 127 Ag 126 936770 320 + 48 127 Cd 126 926443.864 79.857 + 49 127 In 126 917353.091 42.460 + 50 127 Sn 126 910360.024 26.369 + 51 127 Sb 126 906923.609 5.612 + 52 127 Te 126 905226.336 1.640 + 53 127 I 126 904472.681 3.791 + 54 127 Xe 126 905183.723 4.307 + 55 127 Cs 126 907417.525 5.985 + 56 127 Ba 126 911093.797 12.332 + 57 127 La 126 916375.448 27.854 + 58 127 Ce 126 922731.000 62.000 + 59 127 Pr 126 930830 210 + 60 127 Nd 126 940500 430 + 61 127 Pm 126 951630 640 + 47 128 Ag 127 941170 320 + 48 128 Cd 127 927762.285 315.667 + 49 128 In 127 920172.328 52.162 + 50 128 Sn 127 910536.624 29.220 + 51 128 Sb 127 909169.001 26.904 + 52 128 Te 127 904463.056 1.878 + 53 128 I 127 905809.443 3.791 + 54 128 Xe 127 903531.275 1.532 + 55 128 Cs 127 907748.866 5.901 + 56 128 Ba 127 908317.698 10.837 + 57 128 La 127 915585.177 58.452 + 58 128 Ce 127 918911.000 30.000 + 59 128 Pr 127 928791.000 32.000 + 60 128 Nd 127 935390 210 + 61 128 Pm 127 948420 430 + 62 128 Sm 127 958080 540 + 47 129 Ag 128 943690 430 + 48 129 Cd 128 932150 320 + 49 129 In 128 921696.980 46.272 + 50 129 Sn 128 913479.000 31.000 + 51 129 Sb 128 909148.442 22.850 + 52 129 Te 128 906598.238 1.879 + 53 129 I 128 904987.722 3.395 + 54 129 Xe 128 904779.435 0.793 + 55 129 Cs 128 906064.426 4.941 + 56 129 Ba 128 908679.439 11.756 + 57 129 La 128 912692.815 22.459 + 58 129 Ce 128 918102.000 30.000 + 59 129 Pr 128 925095.000 32.000 + 60 129 Nd 128 933188 217 + 61 129 Pm 128 943160 430 + 62 129 Sm 128 954640 540 + 47 130 Ag 129 950448 358 + 48 130 Cd 129 933901.937 303.564 + 49 130 In 129 924970.049 42.376 + 50 130 Sn 129 913967.295 11.470 + 51 130 Sb 129 911656.324 18.345 + 52 130 Te 129 906224.399 2.067 + 53 130 I 129 906674.247 3.395 + 54 130 Xe 129 903508.007 0.805 + 55 130 Cs 129 906708.552 8.980 + 56 130 Ba 129 906320.811 2.995 + 57 130 La 129 912368.724 27.854 + 58 130 Ce 129 914736.000 30.000 + 59 130 Pr 129 923590.000 69.000 + 60 130 Nd 129 928506.000 30.000 + 61 130 Pm 129 940450 320 + 62 130 Sm 129 948920 430 + 63 130 Eu 129 963569 540 + 48 131 Cd 130 940670 320 + 49 131 In 130 926851.767 30.051 + 50 131 Sn 130 916999.769 22.735 + 51 131 Sb 130 911982.275 22.133 + 52 131 Te 130 908523.864 2.068 + 53 131 I 130 906124.609 1.218 + 54 131 Xe 130 905082.362 1.030 + 55 131 Cs 130 905463.926 5.386 + 56 131 Ba 130 906941.118 3.009 + 57 131 La 130 910070.000 30.000 + 58 131 Ce 130 914422.000 36.000 + 59 131 Pr 130 920259.000 56.000 + 60 131 Nd 130 927247.000 30.000 + 61 131 Pm 130 935870 210 + 62 131 Sm 130 946110 320 + 63 131 Eu 130 957753 430 + 48 132 Cd 131 945550 540 + 49 132 In 131 932990.260 66.057 + 50 132 Sn 131 917815.713 14.647 + 51 132 Sb 131 914466.896 15.430 + 52 132 Te 131 908553.160 7.433 + 53 132 I 131 907997.381 6.222 + 54 132 Xe 131 904153.457 1.043 + 55 132 Cs 131 906434.260 2.039 + 56 132 Ba 131 905061.288 1.134 + 57 132 La 131 910101.145 42.044 + 58 132 Ce 131 911460.487 22.086 + 59 132 Pr 131 919255.000 61.000 + 60 132 Nd 131 923321.237 25.985 + 61 132 Pm 131 933750 210 + 62 132 Sm 131 940690 320 + 63 132 Eu 131 954370 430 + 49 133 In 132 937810 320 + 50 133 Sn 132 923829.249 38.284 + 51 133 Sb 132 915251.630 27.301 + 52 133 Te 132 910955.306 26.247 + 53 133 I 132 907796.939 5.007 + 54 133 Xe 132 905910.722 2.576 + 55 133 Cs 132 905451.932 0.023 + 56 133 Ba 132 906007.490 1.068 + 57 133 La 132 908218.000 30.000 + 58 133 Ce 132 911515.020 17.557 + 59 133 Pr 132 916330.532 13.416 + 60 133 Nd 132 922348.000 50.000 + 61 133 Pm 132 929782.000 54.000 + 62 133 Sm 132 938670 210 + 63 133 Eu 132 949240 320 + 49 134 In 133 944150 430 + 50 134 Sn 133 928291.765 107.295 + 51 134 Sb 133 920379.744 46.659 + 52 134 Te 133 911368.737 11.447 + 53 134 I 133 909744.465 8.635 + 54 134 Xe 133 905394.464 0.901 + 55 134 Cs 133 906718.475 0.028 + 56 134 Ba 133 904508.383 0.428 + 57 134 La 133 908514.011 21.395 + 58 134 Ce 133 908924.821 21.886 + 59 134 Pr 133 915711.737 38.078 + 60 134 Nd 133 918790.181 12.686 + 61 134 Pm 133 928353.000 62.000 + 62 134 Sm 133 933970 210 + 63 134 Eu 133 946510 210 + 64 134 Gd 133 955370 430 + 49 135 In 134 949330 540 + 50 135 Sn 134 934730 430 + 51 135 Sb 134 925165.771 110.285 + 52 135 Te 134 916448.592 96.341 + 53 135 I 134 910048.121 7.858 + 54 135 Xe 134 907227.495 4.865 + 55 135 Cs 134 905977.008 1.073 + 56 135 Ba 134 905688.591 0.442 + 57 135 La 134 906976.844 10.744 + 58 135 Ce 134 909151.396 11.855 + 59 135 Pr 134 913111.745 12.686 + 60 135 Nd 134 918181.160 20.714 + 61 135 Pm 134 924876.000 63.000 + 62 135 Sm 134 932520.000 166.000 + 63 135 Eu 134 941820 320 + 64 135 Gd 134 952570 540 + 50 136 Sn 135 939340 540 + 51 136 Sb 135 930350 320 + 52 136 Te 135 920101.246 48.557 + 53 136 I 135 914653.993 53.352 + 54 136 Xe 135 907218.794 7.558 + 55 136 Cs 135 907311.576 2.042 + 56 136 Ba 135 904575.945 0.444 + 57 136 La 135 907635.536 56.805 + 58 136 Ce 135 907172.422 14.286 + 59 136 Pr 135 912691.611 13.159 + 60 136 Nd 135 914976.035 12.686 + 61 136 Pm 135 923565.829 83.802 + 62 136 Sm 135 928275.527 13.416 + 63 136 Eu 135 939600 210 + 64 136 Gd 135 947340 430 + 65 136 Tb 135 961380 640 + 50 137 Sn 136 945990 640 + 51 137 Sb 136 935310 430 + 52 137 Te 136 925322.954 131.472 + 53 137 I 136 917870.840 29.781 + 54 137 Xe 136 911562.125 7.559 + 55 137 Cs 136 907089.473 0.487 + 56 137 Ba 136 905827.384 0.451 + 57 137 La 136 906493.598 14.389 + 58 137 Ce 136 907805.577 14.286 + 59 137 Pr 136 910705.455 12.653 + 60 137 Nd 136 914567.137 12.326 + 61 137 Pm 136 920479.493 14.000 + 62 137 Sm 136 926971.746 45.508 + 63 137 Eu 136 935570 210 + 64 137 Gd 136 945020 430 + 65 137 Tb 136 955980 640 + 51 138 Sb 137 940790 320 + 52 138 Te 137 929220 220 + 53 138 I 137 922349.591 88.407 + 54 138 Xe 137 913954.475 46.568 + 55 138 Cs 137 911016.704 9.833 + 56 138 Ba 137 905247.237 0.453 + 57 138 La 137 907111.930 3.787 + 58 138 Ce 137 905991.321 10.902 + 59 138 Pr 137 910754.636 15.300 + 60 138 Nd 137 911949.961 12.686 + 61 138 Pm 137 919548.281 29.516 + 62 138 Sm 137 923243.961 12.686 + 63 138 Eu 137 933709.000 30.000 + 64 138 Gd 137 940120 210 + 65 138 Tb 137 953160 430 + 66 138 Dy 137 962490 640 + 51 139 Sb 138 945980 540 + 52 139 Te 138 934730 430 + 53 139 I 138 926099.478 33.359 + 54 139 Xe 138 918792.936 22.431 + 55 139 Cs 138 913363.999 3.384 + 56 139 Ba 138 908841.341 0.455 + 57 139 La 138 906353.267 2.592 + 58 139 Ce 138 906652.651 7.886 + 59 139 Pr 138 908938.399 8.498 + 60 139 Nd 138 911978.288 27.745 + 61 139 Pm 138 916804.082 14.472 + 62 139 Sm 138 922296.605 11.684 + 63 139 Eu 138 929792.280 14.117 + 64 139 Gd 138 938240 210 + 65 139 Tb 138 948290 320 + 66 139 Dy 138 959540 540 + 52 140 Te 139 938850 320 + 53 140 I 139 931000 210 + 54 140 Xe 139 921640.943 65.011 + 55 140 Cs 139 917282.354 8.805 + 56 140 Ba 139 910604.505 8.544 + 57 140 La 139 909477.645 2.592 + 58 140 Ce 139 905438.706 2.642 + 59 140 Pr 139 909075.874 6.962 + 60 140 Nd 139 909552.000 30.000 + 61 140 Pm 139 916041.789 39.545 + 62 140 Sm 139 918994.687 13.416 + 63 140 Eu 139 928087.607 55.328 + 64 140 Gd 139 933674.000 30.000 + 65 140 Tb 139 945805.049 859.359 + 66 140 Dy 139 954010 540 + 67 140 Ho 139 968539 540 + 52 141 Te 140 944650 430 + 53 141 I 140 935030 210 + 54 141 Xe 140 926648.049 97.277 + 55 141 Cs 140 920045.752 11.299 + 56 141 Ba 140 914411.009 8.704 + 57 141 La 140 910962.152 4.913 + 58 141 Ce 140 908276.270 2.643 + 59 141 Pr 140 907652.769 2.649 + 60 141 Nd 140 909609.854 4.014 + 61 141 Pm 140 913555.054 15.000 + 62 141 Sm 140 918476.488 9.261 + 63 141 Eu 140 924930.720 13.570 + 64 141 Gd 140 932126.000 21.213 + 65 141 Tb 140 941448.000 113.000 + 66 141 Dy 140 951350 320 + 67 141 Ho 140 963098 540 + 52 142 Te 141 949080 640 + 53 142 I 141 940180 430 + 54 142 Xe 141 929709.590 107.955 + 55 142 Cs 141 924298.927 11.379 + 56 142 Ba 141 916453.410 6.635 + 57 142 La 141 914079.130 6.079 + 58 142 Ce 141 909244.205 3.213 + 59 142 Pr 141 910044.806 2.649 + 60 142 Nd 141 907723.297 2.498 + 61 142 Pm 141 912874.471 26.904 + 62 142 Sm 141 915197.641 6.092 + 63 142 Eu 141 923434.945 32.777 + 64 142 Gd 141 928116.000 30.000 + 65 142 Tb 141 938744 323 + 66 142 Dy 141 946366 388 + 67 142 Ho 141 959770 540 + 53 143 I 142 944560 430 + 54 143 Xe 142 935110 210 + 55 143 Cs 142 927351.750 25.427 + 56 143 Ba 142 920626.719 14.222 + 57 143 La 142 916062.720 16.559 + 58 143 Ce 142 912385.910 3.212 + 59 143 Pr 142 910816.926 2.827 + 60 143 Nd 142 909814.290 2.498 + 61 143 Pm 142 910932.616 3.551 + 62 143 Sm 142 914628.338 3.897 + 63 143 Eu 142 920297.509 11.793 + 64 143 Gd 142 926749.510 215.032 + 65 143 Tb 142 935121.000 64.000 + 66 143 Dy 142 943830 210 + 67 143 Ho 142 954610 430 + 68 143 Er 142 966340 640 + 53 144 I 143 949990 540 + 54 144 Xe 143 938510 320 + 55 144 Cs 143 932076.914 28.182 + 56 144 Ba 143 922952.853 14.331 + 57 144 La 143 919599.647 52.405 + 58 144 Ce 143 913647.336 3.696 + 59 144 Pr 143 913305.245 3.587 + 60 144 Nd 143 910087.274 2.498 + 61 144 Pm 143 912590.843 3.424 + 62 144 Sm 143 911999.478 3.013 + 63 144 Eu 143 918816.823 11.623 + 64 144 Gd 143 922963.000 30.000 + 65 144 Tb 143 933045.000 30.000 + 66 144 Dy 143 939254.000 33.000 + 67 144 Ho 143 951480 320 + 68 144 Er 143 960380 430 + 54 145 Xe 144 944070 320 + 55 145 Cs 144 935526.170 11.639 + 56 145 Ba 144 927627.032 76.044 + 57 145 La 144 921645.401 96.750 + 58 145 Ce 144 917233.135 44.550 + 59 145 Pr 144 914511.700 7.993 + 60 145 Nd 144 912573.636 2.505 + 61 145 Pm 144 912749.023 3.367 + 62 145 Sm 144 913410.353 3.020 + 63 145 Eu 144 916265.237 4.125 + 64 145 Gd 144 921709.252 20.135 + 65 145 Tb 144 929274.000 61.000 + 66 145 Dy 144 937425.000 49.000 + 67 145 Ho 144 947200 320 + 68 145 Er 144 957390 430 + 69 145 Tm 144 970073 430 + 54 146 Xe 145 947750 430 + 55 146 Cs 145 940289.423 76.512 + 56 146 Ba 145 930219.572 77.619 + 57 146 La 145 925793.460 76.638 + 58 146 Ce 145 918759.009 71.328 + 59 146 Pr 145 917644.336 66.249 + 60 146 Nd 145 913116.939 2.505 + 61 146 Pm 145 914696.305 5.031 + 62 146 Sm 145 913040.900 3.866 + 63 146 Eu 145 917205.817 6.691 + 64 146 Gd 145 918310.608 5.052 + 65 146 Tb 145 927246.584 48.535 + 66 146 Dy 145 932845.369 29.106 + 67 146 Ho 145 944640 210 + 68 146 Er 145 952000 320 + 69 146 Tm 145 966425 430 + 54 147 Xe 146 953560 430 + 55 147 Cs 146 944155.008 56.957 + 56 147 Ba 146 934945 221 + 57 147 La 146 928235.284 51.607 + 58 147 Ce 146 922673.954 32.767 + 59 147 Pr 146 918995.992 24.752 + 60 147 Nd 146 916100.441 2.506 + 61 147 Pm 146 915138.545 2.586 + 62 147 Sm 146 914897.923 2.589 + 63 147 Eu 146 916746.111 3.465 + 64 147 Gd 146 919094.420 3.252 + 65 147 Tb 146 924044.585 12.791 + 66 147 Dy 146 931091.500 21.213 + 67 147 Ho 146 940056.000 30.000 + 68 147 Er 146 949490 320 + 69 147 Tm 146 960961 320 + 55 148 Cs 147 949218.153 618.065 + 56 148 Ba 147 937720.047 90.371 + 57 148 La 147 932228.868 63.387 + 58 148 Ce 147 924432.410 31.588 + 59 148 Pr 147 922135.026 27.784 + 60 148 Nd 147 916893.288 3.045 + 61 148 Pm 147 917474.618 6.530 + 62 148 Sm 147 914822.674 2.594 + 63 148 Eu 147 918085.895 10.958 + 64 148 Gd 147 918114.524 3.013 + 65 148 Tb 147 924271.701 14.929 + 66 148 Dy 147 927149.831 11.360 + 67 148 Ho 147 937718.000 139.000 + 68 148 Er 147 944550 210 + 69 148 Tm 147 957840 430 + 70 148 Yb 147 967420 640 + 55 149 Cs 148 952930 210 + 56 149 Ba 148 942580 210 + 57 149 La 148 934734 338 + 58 149 Ce 148 928399.883 104.034 + 59 149 Pr 148 923717.651 88.161 + 60 149 Nd 148 920148.842 3.046 + 61 149 Pm 148 918334.155 4.464 + 62 149 Sm 148 917184.735 2.622 + 63 149 Eu 148 917931.238 4.667 + 64 149 Gd 148 919340.915 4.240 + 65 149 Tb 148 923245.909 4.598 + 66 149 Dy 148 927304.787 9.408 + 67 149 Ho 148 933774.771 19.757 + 68 149 Er 148 942306.000 30.000 + 69 149 Tm 148 952720 320 + 70 149 Yb 148 964040 540 + 55 150 Cs 149 958170 320 + 56 150 Ba 149 945680 430 + 57 150 La 149 938770 430 + 58 150 Ce 149 930408.931 51.330 + 59 150 Pr 149 926672.997 28.120 + 60 150 Nd 149 920890.888 3.418 + 61 150 Pm 149 920983.561 21.629 + 62 150 Sm 149 917275.539 2.611 + 63 150 Eu 149 919701.819 6.975 + 64 150 Gd 149 918658.876 6.781 + 65 150 Tb 149 923659.686 8.111 + 66 150 Dy 149 925585.184 5.271 + 67 150 Ho 149 933496.182 15.225 + 68 150 Er 149 937913.839 18.466 + 69 150 Tm 149 949960 210 + 70 150 Yb 149 958420 430 + 71 150 Lu 149 973228 540 + 55 151 Cs 150 962190 540 + 56 151 Ba 150 950810 430 + 57 151 La 150 941720 430 + 58 151 Ce 150 933976.196 110.176 + 59 151 Pr 150 928318.618 24.776 + 60 151 Nd 150 923828.929 3.420 + 61 151 Pm 150 921206.973 5.732 + 62 151 Sm 150 919932.409 2.612 + 63 151 Eu 150 919850.161 2.635 + 64 151 Gd 150 920348.482 3.944 + 65 151 Tb 150 923102.543 4.918 + 66 151 Dy 150 926184.601 4.315 + 67 151 Ho 150 931688.142 12.939 + 68 151 Er 150 937448.903 17.681 + 69 151 Tm 150 945483.490 21.741 + 70 151 Yb 150 955400.769 322.592 + 71 151 Lu 150 967577 430 + 56 152 Ba 151 954270 540 + 57 152 La 151 946250 430 + 58 152 Ce 151 936540 210 + 59 152 Pr 151 931499.225 131.506 + 60 152 Nd 151 924682.219 26.419 + 61 152 Pm 151 923496.795 27.929 + 62 152 Sm 151 919732.425 2.652 + 63 152 Eu 151 921744.534 2.636 + 64 152 Gd 151 919790.996 2.697 + 65 152 Tb 151 924074.438 43.026 + 66 152 Dy 151 924718.300 5.561 + 67 152 Ho 151 931713.714 14.998 + 68 152 Er 151 935050.389 11.493 + 69 152 Tm 151 944422.000 79.000 + 70 152 Yb 151 950288.919 223.751 + 71 152 Lu 151 964120 210 + 56 153 Ba 152 959610 860 + 57 153 La 152 949620 640 + 58 153 Ce 152 940580 430 + 59 153 Pr 152 933838.905 111.297 + 60 153 Nd 152 927698.232 29.363 + 61 153 Pm 152 924116.889 11.913 + 62 153 Sm 152 922097.356 2.656 + 63 153 Eu 152 921230.339 2.637 + 64 153 Gd 152 921749.543 2.693 + 65 153 Tb 152 923434.588 4.821 + 66 153 Dy 152 925764.670 4.868 + 67 153 Ho 152 930198.789 5.962 + 68 153 Er 152 935063.492 9.476 + 69 153 Tm 152 942012.112 19.819 + 70 153 Yb 152 949480 210 + 71 153 Lu 152 958767.331 224.004 + 72 153 Hf 152 970690 540 + 57 154 La 153 954500 640 + 58 154 Ce 153 943420 540 + 59 154 Pr 153 937518.153 162.803 + 60 154 Nd 153 929477.307 122.393 + 61 154 Pm 153 926463.943 48.088 + 62 154 Sm 153 922209.273 2.735 + 63 154 Eu 153 922979.237 2.643 + 64 154 Gd 153 920865.598 2.688 + 65 154 Tb 153 924678.019 48.704 + 66 154 Dy 153 924424.457 8.194 + 67 154 Ho 153 930601.579 8.999 + 68 154 Er 153 932783.081 5.871 + 69 154 Tm 153 941567.808 15.486 + 70 154 Yb 153 946393.928 18.559 + 71 154 Lu 153 957522 217 + 72 154 Hf 153 964860 540 + 57 155 La 154 958350 860 + 58 155 Ce 154 948040 640 + 59 155 Pr 154 940120 320 + 60 155 Nd 154 932932 164 + 61 155 Pm 154 928101.267 32.323 + 62 155 Sm 154 924640.161 2.750 + 63 155 Eu 154 922893.260 2.672 + 64 155 Gd 154 922622.022 2.688 + 65 155 Tb 154 923505.236 13.016 + 66 155 Dy 154 925753.775 12.856 + 67 155 Ho 154 929103.491 19.205 + 68 155 Er 154 933208.949 6.999 + 69 155 Tm 154 939199.459 14.195 + 70 155 Yb 154 945782.332 17.847 + 71 155 Lu 154 954316.216 21.566 + 72 155 Hf 154 963390 430 + 73 155 Ta 154 974592 540 + 58 156 Ce 155 951260 640 + 59 156 Pr 155 944270 430 + 60 156 Nd 155 935018.114 217.858 + 61 156 Pm 155 931056.736 36.910 + 62 156 Sm 155 925527.887 10.228 + 63 156 Eu 155 924752.249 6.239 + 64 156 Gd 155 922122.743 2.688 + 65 156 Tb 155 924747.213 4.736 + 66 156 Dy 155 924283.110 7.073 + 67 156 Ho 155 929839.000 48.000 + 68 156 Er 155 931064.698 26.224 + 69 156 Tm 155 938979.933 16.901 + 70 156 Yb 155 942818.215 12.116 + 71 156 Lu 155 953032.523 79.074 + 72 156 Hf 155 959364.025 223.788 + 73 156 Ta 155 972303 430 + 58 157 Ce 156 956340 750 + 59 157 Pr 156 947430 430 + 60 157 Nd 156 939030 210 + 61 157 Pm 156 933039.369 120.161 + 62 157 Sm 156 928358.717 53.980 + 63 157 Eu 156 925423.647 5.710 + 64 157 Gd 156 923960.135 2.689 + 65 157 Tb 156 924024.604 2.706 + 66 157 Dy 156 925466.095 7.162 + 67 157 Ho 156 928256.188 26.224 + 68 157 Er 156 931916.000 30.000 + 69 157 Tm 156 936973.000 30.000 + 70 157 Yb 156 942627.848 10.883 + 71 157 Lu 156 950098.300 20.056 + 72 157 Hf 156 958396 210 + 73 157 Ta 156 968192.445 224.031 + 59 158 Pr 157 951980 640 + 60 158 Nd 157 941600 430 + 61 158 Pm 157 936561.407 136.356 + 62 158 Sm 157 929991.317 84.072 + 63 158 Eu 157 927845.302 82.515 + 64 158 Gd 157 924103.912 2.689 + 65 158 Tb 157 925413.137 2.810 + 66 158 Dy 157 924409.487 3.647 + 67 158 Ho 157 928941.007 29.219 + 68 158 Er 157 929893.474 27.074 + 69 158 Tm 157 936979.525 27.074 + 70 158 Yb 157 939865.617 8.806 + 71 158 Lu 157 949313.283 16.251 + 72 158 Hf 157 954799.366 18.787 + 73 158 Ta 157 966699 217 + 74 158 W 157 974562 540 + 59 159 Pr 158 955500 750 + 60 159 Nd 158 946090 540 + 61 159 Pm 158 938970 210 + 62 159 Sm 158 933211.271 107.641 + 63 159 Eu 158 929088.861 7.859 + 64 159 Gd 158 926388.658 2.692 + 65 159 Tb 158 925346.757 2.739 + 66 159 Dy 158 925739.214 2.931 + 67 159 Ho 158 927711.959 4.110 + 68 159 Er 158 930684.066 4.637 + 69 159 Tm 158 934975.000 30.000 + 70 159 Yb 158 940050.099 19.706 + 71 159 Lu 158 946628.776 40.433 + 72 159 Hf 158 953994.870 18.076 + 73 159 Ta 158 963018.173 22.022 + 74 159 W 158 972918 430 + 60 160 Nd 159 949090 640 + 61 160 Pm 159 942990 320 + 62 160 Sm 159 935140 210 + 63 160 Eu 159 931971 215 + 64 160 Gd 159 927054.146 2.744 + 65 160 Tb 159 927167.606 2.742 + 66 160 Dy 159 925197.517 2.721 + 67 160 Ho 159 928729.478 16.331 + 68 160 Er 159 929083.292 26.224 + 69 160 Tm 159 935262.801 36.794 + 70 160 Yb 159 937552.344 17.721 + 71 160 Lu 159 946033.000 61.000 + 72 160 Hf 159 950684.379 12.434 + 73 160 Ta 159 961486.056 95.572 + 74 160 W 159 968478.805 223.843 + 75 160 Re 159 982115 430 + 60 161 Nd 160 953880 750 + 61 161 Pm 160 945860 540 + 62 161 Sm 160 938830 320 + 63 161 Eu 160 933680 320 + 64 161 Gd 160 929669.211 2.946 + 65 161 Tb 160 927569.919 2.795 + 66 161 Dy 160 926933.364 2.721 + 67 161 Ho 160 927854.776 3.458 + 68 161 Er 160 929995.309 10.095 + 69 161 Tm 160 933549.000 30.000 + 70 161 Yb 160 937901.678 17.168 + 71 161 Lu 160 943572.000 30.000 + 72 161 Hf 160 950274.844 24.193 + 73 161 Ta 160 958417 59 + 74 161 W 160 967357 210 + 75 161 Re 160 977589.119 223.915 + 61 162 Pm 161 950290 750 + 62 162 Sm 161 941220 540 + 63 162 Eu 161 937040 320 + 64 162 Gd 161 930984.751 4.916 + 65 162 Tb 161 929488.234 39.132 + 66 162 Dy 161 926798.447 2.721 + 67 162 Ho 161 929095.504 4.209 + 68 162 Er 161 928778.264 3.721 + 69 162 Tm 161 933994.682 28.209 + 70 162 Yb 161 935768.210 17.168 + 71 162 Lu 161 943277.288 80.554 + 72 162 Hf 161 947210.498 10.304 + 73 162 Ta 161 957291.859 56.083 + 74 162 W 161 963497.417 19.012 + 75 162 Re 161 976002 217 + 76 162 Os 161 984431 540 + 61 163 Pm 162 953680 860 + 62 163 Sm 162 945360 750 + 63 163 Eu 162 939210 540 + 64 163 Gd 162 933990 320 + 65 163 Tb 162 930647.536 5.083 + 66 163 Dy 162 928731.159 2.720 + 67 163 Ho 162 928733.903 2.720 + 68 163 Er 162 930032.749 5.628 + 69 163 Tm 162 932651.124 6.484 + 70 163 Yb 162 936334.305 17.168 + 71 163 Lu 162 941179.000 30.000 + 72 163 Hf 162 947089.000 30.000 + 73 163 Ta 162 954330.271 40.860 + 74 163 W 162 962523.542 56.639 + 75 163 Re 162 972080.535 21.413 + 76 163 Os 162 982690 433 + 62 164 Sm 163 948280 860 + 63 164 Eu 163 942990 640 + 64 164 Gd 163 935860 430 + 65 164 Tb 163 933350.838 107.388 + 66 164 Dy 163 929174.751 2.720 + 67 164 Ho 163 930233.507 2.977 + 68 164 Er 163 929200.229 3.295 + 69 164 Tm 163 933560.000 30.000 + 70 164 Yb 163 934489.416 17.168 + 71 164 Lu 163 941339.000 30.000 + 72 164 Hf 163 944367.284 21.903 + 73 164 Ta 163 953534.000 30.000 + 74 164 W 163 958954.382 12.621 + 75 164 Re 163 970323 171 + 76 164 Os 163 978035.649 223.931 + 77 164 Ir 163 992201 443 + 62 165 Sm 164 952980 970 + 63 165 Eu 164 945720 750 + 64 165 Gd 164 939380 540 + 65 165 Tb 164 934880 210 + 66 165 Dy 164 931703.333 2.721 + 67 165 Ho 164 930322.070 2.710 + 68 165 Er 164 930726.003 3.307 + 69 165 Tm 164 932435.492 3.562 + 70 165 Yb 164 935279.000 30.000 + 71 165 Lu 164 939406.724 28.491 + 72 165 Hf 164 944567.000 30.000 + 73 165 Ta 164 950772.514 18.648 + 74 165 W 164 958279.949 26.813 + 75 165 Re 164 967088.557 29.742 + 76 165 Os 164 976762 217 + 77 165 Ir 164 987520 230 + 63 166 Eu 165 949970 860 + 64 166 Gd 165 941600 640 + 65 166 Tb 165 937991.959 107.389 + 66 166 Dy 165 932806.741 2.755 + 67 166 Ho 165 932284.162 2.710 + 68 166 Er 165 930293.061 2.698 + 69 166 Tm 165 933554.131 12.686 + 70 166 Yb 165 933882.042 8.870 + 71 166 Lu 165 939859.000 32.000 + 72 166 Hf 165 942180.000 30.000 + 73 166 Ta 165 950512.000 30.000 + 74 166 W 165 955027.253 11.163 + 75 166 Re 165 965808 94 + 76 166 Os 165 972690.753 19.577 + 77 166 Ir 165 985824 217 + 78 166 Pt 165 994855 540 + 63 167 Eu 166 953210 860 + 64 167 Gd 166 945570 640 + 65 167 Tb 166 940050 430 + 66 167 Dy 166 935655.462 64.703 + 67 167 Ho 166 933132.633 6.128 + 68 167 Er 166 932048.159 2.696 + 69 167 Tm 166 932851.622 2.870 + 70 167 Yb 166 934949.605 4.968 + 71 167 Lu 166 938270.000 34.000 + 72 167 Hf 166 942600.000 30.000 + 73 167 Ta 166 948093.000 30.000 + 74 167 W 166 954816.014 20.680 + 75 167 Re 166 962601 56 + 76 167 Os 166 971547.969 78.033 + 77 167 Ir 166 981665.156 20.341 + 78 167 Pt 166 992979 437 + 64 168 Gd 167 948360 750 + 65 168 Tb 167 943640 540 + 66 168 Dy 167 937128.769 150.325 + 67 168 Ho 167 935515.708 32.319 + 68 168 Er 167 932370.224 2.697 + 69 168 Tm 167 934172.776 3.109 + 70 168 Yb 167 933896.895 4.713 + 71 168 Lu 167 938739.111 50.403 + 72 168 Hf 167 940568.000 30.000 + 73 168 Ta 167 948047.000 30.000 + 74 168 W 167 951808.394 17.481 + 75 168 Re 167 961572.608 33.087 + 76 168 Os 167 967803.678 12.993 + 77 168 Ir 167 979881 163 + 78 168 Pt 167 988150.742 224.147 + 64 169 Gd 168 952870 860 + 65 169 Tb 168 946220 640 + 66 169 Dy 168 940307.614 322.791 + 67 169 Ho 168 936872.273 21.673 + 68 169 Er 168 934590.364 2.701 + 69 169 Tm 168 934213.250 2.658 + 70 169 Yb 168 935189.802 4.713 + 71 169 Lu 168 937651.439 5.708 + 72 169 Hf 168 941259.000 30.000 + 73 169 Ta 168 946011.000 30.000 + 74 169 W 168 951778.790 16.571 + 75 169 Re 168 958791.096 30.168 + 76 169 Os 168 967019.270 27.050 + 77 169 Ir 168 976294.942 28.411 + 78 169 Pt 168 986715 217 + 79 169 Au 168 998080 320 + 65 170 Tb 169 950250 750 + 66 170 Dy 169 942390 210 + 67 170 Ho 169 939618.929 53.758 + 68 170 Er 169 935464.312 2.957 + 69 170 Tm 169 935801.397 2.658 + 70 170 Yb 169 934761.837 2.628 + 71 170 Lu 169 938474.968 18.271 + 72 170 Hf 169 939609.000 30.000 + 73 170 Ta 169 946175.000 30.000 + 74 170 W 169 949228.482 16.239 + 75 170 Re 169 958220.071 27.692 + 76 170 Os 169 963577.028 11.701 + 77 170 Ir 169 974965 109 + 78 170 Pt 169 982495.289 20.034 + 79 170 Au 169 996122 218 + 65 171 Tb 170 953300 860 + 66 171 Dy 170 946200 320 + 67 171 Ho 170 941465.150 644.133 + 68 171 Er 170 938029.808 2.966 + 69 171 Tm 170 936429.440 2.774 + 70 171 Yb 170 936325.799 2.576 + 71 171 Lu 170 937913.136 2.970 + 72 171 Hf 170 940492.000 31.000 + 73 171 Ta 170 944476.000 30.000 + 74 171 W 170 949451.000 30.000 + 75 171 Re 170 955716.000 30.000 + 76 171 Os 170 963184.819 20.123 + 77 171 Ir 170 971626.042 42.425 + 78 171 Pt 170 981244.542 94.712 + 79 171 Au 170 991878.881 27.529 + 80 171 Hg 171 003760 320 + 66 172 Dy 171 948760 430 + 67 172 Ho 171 944820 430 + 68 172 Er 171 939356.113 4.957 + 69 172 Tm 171 938400.044 6.409 + 70 172 Yb 171 936381.469 2.574 + 71 172 Lu 171 939085.669 3.197 + 72 172 Hf 171 939448.301 26.224 + 73 172 Ta 171 944895.000 30.000 + 74 172 W 171 947292.000 30.000 + 75 172 Re 171 955422.961 57.948 + 76 172 Os 171 960023.303 15.658 + 77 172 Ir 171 970456 112 + 78 172 Pt 171 977347.128 13.717 + 79 172 Au 171 990035 171 + 80 172 Hg 171 998832.686 224.535 + 66 173 Dy 172 953000 540 + 67 173 Ho 172 947290 430 + 68 173 Er 172 942400 210 + 69 173 Tm 172 939603.607 5.470 + 70 173 Yb 172 938210.787 2.563 + 71 173 Lu 172 938930.602 2.598 + 72 173 Hf 172 940513.000 30.000 + 73 173 Ta 172 943750.000 30.000 + 74 173 W 172 947689.000 30.000 + 75 173 Re 172 953243.000 30.000 + 76 173 Os 172 959808.409 16.059 + 77 173 Ir 172 967501.739 14.700 + 78 173 Pt 172 976444.754 60.108 + 79 173 Au 172 986237.380 27.917 + 80 173 Hg 172 997242 224 + 67 174 Ho 173 951150 540 + 68 174 Er 173 944230 320 + 69 174 Tm 173 942168.605 48.078 + 70 174 Yb 173 938862.089 2.563 + 71 174 Lu 173 940337.480 2.581 + 72 174 Hf 173 940046.178 3.012 + 73 174 Ta 173 944454.000 30.000 + 74 174 W 173 946079.000 30.000 + 75 174 Re 173 953115.000 30.000 + 76 174 Os 173 957062.202 11.957 + 77 174 Ir 173 966861.045 29.700 + 78 174 Pt 173 972818.767 12.691 + 79 174 Au 173 984761 109 + 80 174 Hg 173 992863.695 21.047 + 67 175 Ho 174 954050 640 + 68 175 Er 174 947770 430 + 69 175 Tm 174 943836.853 53.738 + 70 175 Yb 174 941276.450 2.563 + 71 175 Lu 174 940771.819 2.347 + 72 175 Hf 174 941509.181 3.032 + 73 175 Ta 174 943737.000 30.000 + 74 175 W 174 946717.000 30.000 + 75 175 Re 174 951381.000 30.000 + 76 175 Os 174 956945.835 14.509 + 77 175 Ir 174 964112.895 21.209 + 78 175 Pt 174 972420.552 20.274 + 79 175 Au 174 981274.107 45.513 + 80 175 Hg 174 991423.270 108.865 + 68 176 Er 175 950080 430 + 69 176 Tm 175 946994.685 107.389 + 70 176 Yb 175 942571.683 2.760 + 71 176 Lu 175 942686.310 2.344 + 72 176 Hf 175 941408.631 2.379 + 73 176 Ta 175 944857.000 33.000 + 74 176 W 175 945634.000 30.000 + 75 176 Re 175 951623.000 30.000 + 76 176 Os 175 954806.000 30.000 + 77 176 Ir 175 963648.688 21.836 + 78 176 Pt 175 968944.622 15.489 + 79 176 Au 175 980099 113 + 80 176 Hg 175 987354.580 15.218 + 81 176 Tl 176 000590 210 + 68 177 Er 176 954050 540 + 69 177 Tm 176 949040 320 + 70 177 Yb 176 945260.822 2.770 + 71 177 Lu 176 943758.055 2.345 + 72 177 Hf 176 943220.651 2.304 + 73 177 Ta 176 944472.403 3.960 + 74 177 W 176 946643.000 30.000 + 75 177 Re 176 950328.000 30.000 + 76 177 Os 176 954965.324 16.873 + 77 177 Ir 176 961301.500 21.213 + 78 177 Pt 176 968469.481 16.090 + 79 177 Au 176 976864.908 13.814 + 80 177 Hg 176 986279.158 80.586 + 81 177 Tl 176 996427.286 26.837 + 69 178 Tm 177 952640 430 + 70 178 Yb 177 946646.680 11.084 + 71 178 Lu 177 945954.559 3.101 + 72 178 Hf 177 943698.766 2.301 + 73 178 Ta 177 945778.221 16.266 + 74 178 W 177 945876.236 16.407 + 75 178 Re 177 950989.000 30.000 + 76 178 Os 177 953251.241 17.644 + 77 178 Ir 177 961082.000 21.213 + 78 178 Pt 177 965648.724 11.619 + 79 178 Au 177 976031.920 61.346 + 80 178 Hg 177 982483.143 13.825 + 81 178 Tl 177 994897 122 + 82 178 Pb 178 003830.191 26.065 + 69 179 Tm 178 955340 540 + 70 179 Yb 178 950170 320 + 71 179 Lu 178 947327.443 5.859 + 72 179 Hf 178 945816.145 2.301 + 73 179 Ta 178 945929.535 2.332 + 74 179 W 178 947070.447 16.646 + 75 179 Re 178 949987.641 26.224 + 76 179 Os 178 953816.017 19.405 + 77 179 Ir 178 959122.266 11.700 + 78 179 Pt 178 965363.404 9.760 + 79 179 Au 178 973212.812 17.766 + 80 179 Hg 178 981833.861 29.315 + 81 179 Tl 178 991089.082 46.355 + 82 179 Pb 179 002150 210 + 70 180 Yb 179 952330 430 + 71 180 Lu 179 949881.160 75.946 + 72 180 Hf 179 946549.953 2.304 + 73 180 Ta 179 947464.831 2.379 + 74 180 W 179 946704.459 4.219 + 75 180 Re 179 950789.084 22.965 + 76 180 Os 179 952378.803 21.794 + 77 180 Ir 179 959229.446 23.302 + 78 180 Pt 179 963031.477 11.784 + 79 180 Au 179 972521.124 22.554 + 80 180 Hg 179 978266.394 14.994 + 81 180 Tl 179 989906 125 + 82 180 Pb 179 997918.173 22.424 + 70 181 Yb 180 956150 430 + 71 181 Lu 180 951970 320 + 72 181 Hf 180 949101.246 2.305 + 73 181 Ta 180 947995.763 1.924 + 74 181 W 180 948197.248 5.082 + 75 181 Re 180 950067.916 13.503 + 76 181 Os 180 953244.000 34.000 + 77 181 Ir 180 957625.297 27.512 + 78 181 Pt 180 963097.285 15.956 + 79 181 Au 180 970079.048 21.445 + 80 181 Hg 180 977819.311 16.513 + 81 181 Tl 180 986257.447 10.045 + 82 181 Pb 180 996623.958 96.826 + 71 182 Lu 181 955040 210 + 72 182 Hf 181 950554.096 6.841 + 73 182 Ta 181 950151.849 1.925 + 74 182 W 181 948204.156 0.889 + 75 182 Re 181 951210.080 109.484 + 76 182 Os 181 952110.186 23.344 + 77 182 Ir 181 958076.296 22.509 + 78 182 Pt 181 961170.656 16.769 + 79 182 Au 181 969617.874 21.749 + 80 182 Hg 181 974689.964 10.428 + 81 182 Tl 181 985667.104 81.514 + 82 182 Pb 181 992671.842 15.037 + 71 183 Lu 182 957570 320 + 72 183 Hf 182 953530.439 32.264 + 73 183 Ta 182 951372.616 1.937 + 74 183 W 182 950222.951 0.884 + 75 183 Re 182 950819.841 8.633 + 76 183 Os 182 953126.102 53.459 + 77 183 Ir 182 956846.458 26.962 + 78 183 Pt 182 961596.703 16.739 + 79 183 Au 182 967593.034 11.263 + 80 183 Hg 182 974449.841 8.803 + 81 183 Tl 182 982192.802 10.466 + 82 183 Pb 182 991874.629 30.263 + 71 184 Lu 183 960910 430 + 72 184 Hf 183 955446.515 42.628 + 73 184 Ta 183 954007.966 27.927 + 74 184 W 183 950931.188 0.922 + 75 184 Re 183 952520.756 4.650 + 76 184 Os 183 952489.071 1.399 + 77 184 Ir 183 957476.000 30.000 + 78 184 Pt 183 959922.251 19.459 + 79 184 Au 183 967451.524 23.912 + 80 184 Hg 183 971713.051 10.805 + 81 184 Tl 183 981873.122 52.944 + 82 184 Pb 183 988142.339 15.347 + 83 184 Bi 184 001124 136 + 72 185 Hf 184 958820 210 + 73 185 Ta 184 955559.375 15.213 + 74 185 W 184 953419.264 0.970 + 75 185 Re 184 952954.982 1.280 + 76 185 Os 184 954042.265 1.367 + 77 185 Ir 184 956698.000 30.000 + 78 185 Pt 184 960619.000 44.000 + 79 185 Au 184 965789.411 27.942 + 80 185 Hg 184 971899.086 16.678 + 81 185 Tl 184 978791.305 57.842 + 82 185 Pb 184 987609.944 17.364 + 83 185 Bi 184 997625 57 + 72 186 Hf 185 960890 320 + 73 186 Ta 185 958552.023 64.440 + 74 186 W 185 954364.127 1.877 + 75 186 Re 185 954986.084 1.290 + 76 186 Os 185 953838.158 1.481 + 77 186 Ir 185 957946.104 17.740 + 78 186 Pt 185 959350.813 23.344 + 79 186 Au 185 965952.703 22.509 + 80 186 Hg 185 969361.790 12.074 + 81 186 Tl 185 978325.000 198.000 + 82 186 Pb 185 984238.945 12.129 + 83 186 Bi 185 996597.625 82.526 + 72 187 Hf 186 964590 430 + 73 187 Ta 186 960530 210 + 74 187 W 186 957160.466 1.876 + 75 187 Re 186 955753.109 1.513 + 76 187 Os 186 955750.458 1.513 + 77 187 Ir 186 957363.361 6.616 + 78 187 Pt 186 960587.000 30.000 + 79 187 Au 186 964567.541 26.962 + 80 187 Hg 186 969814.236 14.947 + 81 187 Tl 186 975905.897 8.702 + 82 187 Pb 186 983918.370 8.895 + 83 187 Bi 186 993157.835 16.483 + 72 188 Hf 187 966850 540 + 73 188 Ta 187 963700 210 + 74 188 W 187 958489.105 3.560 + 75 188 Re 187 958114.438 1.518 + 76 188 Os 187 955838.228 1.518 + 77 188 Ir 187 958853.121 7.508 + 78 188 Pt 187 959395.391 5.780 + 79 188 Au 187 965323.661 21.886 + 80 188 Hg 187 967577.049 12.379 + 81 188 Tl 187 976009.782 35.007 + 82 188 Pb 187 980874.338 11.407 + 83 188 Bi 187 992265.154 53.474 + 84 188 Po 187 999422.048 20.847 + 73 189 Ta 188 965830 320 + 74 189 W 188 961912.868 214.893 + 75 189 Re 188 959229.007 8.906 + 76 189 Os 188 958147.470 1.572 + 77 189 Ir 188 958718.935 13.680 + 78 189 Pt 188 960833.686 11.997 + 79 189 Au 188 963948.286 21.558 + 80 189 Hg 188 968190.034 35.869 + 81 189 Tl 188 973588.428 11.692 + 82 189 Pb 188 980807.000 37.000 + 83 189 Bi 188 989199.012 57.921 + 84 189 Po 188 998480.562 23.681 + 73 190 Ta 189 969230 430 + 74 190 W 189 963181.378 176.971 + 75 190 Re 189 961817.977 160.224 + 76 190 Os 189 958447.048 1.580 + 77 190 Ir 189 960545.968 1.841 + 78 190 Pt 189 959931.655 6.124 + 79 190 Au 189 964700.339 17.228 + 80 190 Hg 189 966322.449 17.089 + 81 190 Tl 189 973877.149 53.072 + 82 190 Pb 189 978081.517 13.032 + 83 190 Bi 189 988295.129 198.072 + 84 190 Po 189 995101.185 14.396 + 74 191 W 190 966600 210 + 75 191 Re 190 963125.242 11.080 + 76 191 Os 190 960929.718 1.582 + 77 191 Ir 190 960594.046 1.790 + 78 191 Pt 190 961676.661 4.688 + 79 191 Au 190 963704.225 39.755 + 80 191 Hg 190 967157.105 24.251 + 81 191 Tl 190 971786.154 8.126 + 82 191 Pb 190 978265.000 42.000 + 83 191 Bi 190 985786.119 7.976 + 84 191 Po 190 994574.485 11.813 + 74 192 W 191 968170 640 + 75 192 Re 191 965960 210 + 76 192 Os 191 961480.690 2.743 + 77 192 Ir 191 962605.012 1.791 + 78 192 Pt 191 961038.005 2.651 + 79 192 Au 191 964812.953 16.974 + 80 192 Hg 191 965634.327 16.694 + 81 192 Tl 191 972225.000 34.000 + 82 192 Pb 191 975785.171 13.539 + 83 192 Bi 191 985457.954 35.416 + 84 192 Po 191 991335.149 12.786 + 75 193 Re 192 967470 210 + 76 193 Os 192 964151.563 2.749 + 77 193 Ir 192 962926.430 1.795 + 78 193 Pt 192 962987.401 1.804 + 79 193 Au 192 964149.715 11.431 + 80 193 Hg 192 966665.421 16.508 + 81 193 Tl 192 970672.000 119.000 + 82 193 Pb 192 976173.234 53.222 + 83 193 Bi 192 982959.771 10.327 + 84 193 Po 192 991025.275 37.238 + 85 193 At 192 999843.112 58.278 + 75 194 Re 193 970420 320 + 76 194 Os 193 965182.083 2.801 + 77 194 Ir 193 965078.378 1.799 + 78 194 Pt 193 962680.253 0.948 + 79 194 Au 193 965365.250 10.953 + 80 194 Hg 193 965439.409 13.457 + 81 194 Tl 193 971200.000 145.000 + 82 194 Pb 193 974012.070 18.750 + 83 194 Bi 193 982833.960 52.800 + 84 194 Po 193 988185.606 13.493 + 85 194 At 193 998725.085 199.282 + 76 195 Os 194 968126.661 536.775 + 77 195 Ir 194 965979.573 1.800 + 78 195 Pt 194 964791.134 0.940 + 79 195 Au 194 965034.640 1.427 + 80 195 Hg 194 966720.113 24.847 + 81 195 Tl 194 969774.335 14.810 + 82 195 Pb 194 974542.050 25.085 + 83 195 Bi 194 980650.737 6.000 + 84 195 Po 194 988110.728 42.167 + 85 195 At 194 996268.098 9.721 + 86 195 Rn 195 005437.696 54.961 + 76 196 Os 195 969639.333 43.071 + 77 196 Ir 195 968396.542 41.246 + 78 196 Pt 195 964951.521 0.931 + 79 196 Au 195 966569.813 3.191 + 80 196 Hg 195 965832.649 3.158 + 81 196 Tl 195 970481.151 13.000 + 82 196 Pb 195 972774.109 15.328 + 83 196 Bi 195 980666.509 26.224 + 84 196 Po 195 985534.580 13.932 + 85 196 At 195 995788.077 64.308 + 86 196 Rn 196 002115.223 16.148 + 77 197 Ir 196 969653.285 21.729 + 78 197 Pt 196 967340.182 0.891 + 79 197 Au 196 966568.662 0.646 + 80 197 Hg 196 967212.908 3.438 + 81 197 Tl 196 969574.511 17.503 + 82 197 Pb 196 973431.124 6.001 + 83 197 Bi 196 978864.454 9.060 + 84 197 Po 196 985659.630 53.403 + 85 197 At 196 993189.215 54.661 + 86 197 Rn 197 001584.351 65.329 + 77 198 Ir 197 972280 210 + 78 198 Pt 197 967892.790 3.341 + 79 198 Au 197 968242.303 0.639 + 80 198 Hg 197 966769.032 0.362 + 81 198 Tl 197 970483.495 85.884 + 82 198 Pb 197 972033.959 15.650 + 83 198 Bi 197 979206.000 30.000 + 84 198 Po 197 983388.616 18.723 + 85 198 At 197 992837.202 52.854 + 86 198 Rn 197 998678.663 14.053 + 77 199 Ir 198 973804.583 44.141 + 78 199 Pt 198 970593.094 3.384 + 79 199 Au 198 968765.193 0.648 + 80 199 Hg 198 968279.932 0.392 + 81 199 Tl 198 969877.000 30.000 + 82 199 Pb 198 972916.650 28.366 + 83 199 Bi 198 977671.961 12.717 + 84 199 Po 198 983666.063 25.180 + 85 199 At 198 990532.254 54.011 + 86 199 Rn 198 998370.297 68.259 + 87 199 Fr 199 007258.147 44.889 + 78 200 Pt 199 971440.677 21.729 + 79 200 Au 199 970725.647 53.406 + 80 200 Hg 199 968326.004 0.406 + 81 200 Tl 199 970962.672 6.169 + 82 200 Pb 199 971826.675 11.742 + 83 200 Bi 199 978131.829 25.794 + 84 200 Po 199 981798.604 15.477 + 85 200 At 199 990351.264 26.267 + 86 200 Rn 199 995699.300 14.198 + 87 200 Fr 200 006572.490 83.766 + 78 201 Pt 200 974512.868 53.786 + 79 201 Au 200 971657.240 3.428 + 80 201 Hg 200 970302.268 0.638 + 81 201 Tl 200 970818.891 16.160 + 82 201 Pb 200 972884.511 23.998 + 83 201 Bi 200 977009.036 16.275 + 84 201 Po 200 982259.764 6.278 + 85 201 At 200 988416.999 8.893 + 86 201 Rn 200 995628.335 75.717 + 87 201 Fr 201 003860.867 76.610 + 78 202 Pt 201 975740 320 + 79 202 Au 201 973805.838 178.649 + 80 202 Hg 201 970643.011 0.634 + 81 202 Tl 201 972105.808 15.839 + 82 202 Pb 201 972159.133 8.779 + 83 202 Bi 201 977742.324 21.886 + 84 202 Po 201 980757.541 15.756 + 85 202 At 201 988630.236 30.036 + 86 202 Rn 201 993263.492 18.832 + 87 202 Fr 202 003372.847 53.130 + 88 202 Ra 202 009890.686 67.201 + 79 203 Au 202 975154.542 3.283 + 80 203 Hg 202 972872.484 1.812 + 81 203 Tl 202 972344.220 1.365 + 82 203 Pb 202 973390.521 7.007 + 83 203 Bi 202 976876.001 23.224 + 84 203 Po 202 981420.103 27.854 + 85 203 At 202 986941.984 12.685 + 86 203 Rn 202 993386.687 25.299 + 87 203 Fr 203 000924.647 17.000 + 88 203 Ra 203 009271.619 86.836 + 79 204 Au 203 977724 215 + 80 204 Hg 203 973493.933 0.364 + 81 204 Tl 203 973863.522 1.343 + 82 204 Pb 203 973043.589 1.335 + 83 204 Bi 203 977812.736 27.861 + 84 204 Po 203 980318.121 11.833 + 85 204 At 203 987251.326 25.742 + 86 204 Rn 203 991428.740 15.609 + 87 204 Fr 204 000653.204 26.401 + 88 204 Ra 204 006499.668 16.503 + 79 205 Au 204 979870 320 + 80 205 Hg 204 976073.386 3.912 + 81 205 Tl 204 974427.541 1.422 + 82 205 Pb 204 974481.755 1.332 + 83 205 Bi 204 977389.366 7.706 + 84 205 Po 204 981203.322 21.355 + 85 205 At 204 986074.483 16.170 + 86 205 Rn 204 991718.799 54.043 + 87 205 Fr 204 998593.960 8.399 + 88 205 Ra 205 006268.570 92.813 + 80 206 Hg 205 977514.066 21.949 + 81 206 Tl 205 976110.320 1.470 + 82 206 Pb 205 974465.278 1.331 + 83 206 Bi 205 978499.130 8.353 + 84 206 Po 205 980481.099 8.889 + 85 206 At 205 986667.036 21.976 + 86 206 Rn 205 990214.104 15.855 + 87 206 Fr 205 998666.066 30.270 + 88 206 Ra 206 003827.270 19.355 + 89 206 Ac 206 014504.980 75.525 + 80 207 Hg 206 982588.545 161.139 + 81 207 Tl 206 977419.429 5.901 + 82 207 Pb 206 975896.887 1.334 + 83 207 Bi 206 978470.679 2.624 + 84 207 Po 206 981593.173 7.126 + 85 207 At 206 985783.502 23.076 + 86 207 Rn 206 990734.225 27.910 + 87 207 Fr 206 996949.414 54.435 + 88 207 Ra 207 003798.105 59.340 + 89 207 Ac 207 011949.748 56.304 + 80 208 Hg 207 985940 320 + 81 208 Tl 207 982018.700 2.136 + 82 208 Pb 207 976652.071 1.335 + 83 208 Bi 207 979742.196 2.527 + 84 208 Po 207 981245.702 1.934 + 85 208 At 207 986589.977 27.764 + 86 208 Rn 207 989642.470 11.968 + 87 208 Fr 207 997138.783 49.957 + 88 208 Ra 208 001839.940 16.541 + 89 208 Ac 208 011551.551 59.818 + 80 209 Hg 208 991040 210 + 81 209 Tl 208 985358.952 8.481 + 82 209 Pb 208 981090.120 1.946 + 83 209 Bi 208 980398.734 1.554 + 84 209 Po 208 982430.435 1.977 + 85 209 At 208 986173.143 8.011 + 86 209 Rn 208 990414.742 21.458 + 87 209 Fr 208 995953.555 15.700 + 88 209 Ra 209 001991.373 54.178 + 89 209 Ac 209 009494.863 54.330 + 90 209 Th 209 017715.682 107.217 + 80 210 Hg 209 994510 320 + 81 210 Tl 209 990073.689 12.493 + 82 210 Pb 209 984188.527 1.639 + 83 210 Bi 209 984120.371 1.552 + 84 210 Po 209 982873.673 1.333 + 85 210 At 209 987147.710 8.420 + 86 210 Rn 209 989696.216 9.187 + 87 210 Fr 209 996407.738 23.866 + 88 210 Ra 210 000494.978 16.311 + 89 210 Ac 210 009435.986 61.624 + 90 210 Th 210 015075.342 26.847 + 81 211 Tl 210 993477 215 + 82 211 Pb 210 988736.964 2.856 + 83 211 Bi 210 987269.460 5.904 + 84 211 Po 210 986653.154 1.442 + 85 211 At 210 987496.271 2.974 + 86 211 Rn 210 990600.523 7.292 + 87 211 Fr 210 995536.544 22.652 + 88 211 Ra 211 000897.987 28.172 + 89 211 Ac 211 007734.835 76.449 + 90 211 Th 211 014928.413 80.016 + 81 212 Tl 211 998228 322 + 82 212 Pb 211 991897.543 2.371 + 83 212 Bi 211 991285.724 2.136 + 84 212 Po 211 988867.969 1.340 + 85 212 At 211 990744.771 7.744 + 86 212 Rn 211 990703.529 3.415 + 87 212 Fr 211 996202.244 27.700 + 88 212 Ra 211 999794.499 12.102 + 89 212 Ac 212 007813.822 73.328 + 90 212 Th 212 012980.288 19.833 + 91 212 Pa 212 023204.138 80.371 + 82 213 Pb 212 996581.499 8.368 + 83 213 Bi 212 994384.666 5.370 + 84 213 Po 212 992857.280 3.319 + 85 213 At 212 992936.646 5.283 + 86 213 Rn 212 993882.668 6.095 + 87 213 Fr 212 996189.081 8.234 + 88 213 Ra 213 000383.959 21.791 + 89 213 Ac 213 006607.643 55.926 + 90 213 Th 213 013010.140 76.266 + 91 213 Pa 213 021109.340 76.374 + 82 214 Pb 213 999805.408 2.555 + 83 214 Bi 213 998711.539 12.054 + 84 214 Po 213 995201.350 1.640 + 85 214 At 213 996371.733 4.643 + 86 214 Rn 213 995362.554 9.875 + 87 214 Fr 213 998971.145 9.410 + 88 214 Ra 214 000107.894 9.882 + 89 214 Ac 214 006901.798 24.143 + 90 214 Th 214 011499.770 18.053 + 91 214 Pa 214 020918.417 81.723 + 82 215 Pb 215 004807 441 + 83 215 Bi 215 001769.776 16.000 + 84 215 Po 214 999419.988 2.734 + 85 215 At 214 998652.570 7.349 + 86 215 Rn 214 998745.483 8.252 + 87 215 Fr 215 000341.497 7.602 + 88 215 Ra 215 002719.834 8.153 + 89 215 Ac 215 006453.625 22.980 + 90 215 Th 215 011730.330 28.866 + 91 215 Pa 215 019185.865 93.411 + 83 216 Bi 216 006305.943 12.000 + 84 216 Po 216 001915.035 2.365 + 85 216 At 216 002423.257 3.915 + 86 216 Rn 216 000274.370 7.849 + 87 216 Fr 216 003197.990 15.240 + 88 216 Ra 216 003533.035 9.393 + 89 216 Ac 216 008720.075 28.531 + 90 216 Th 216 011062.115 13.873 + 91 216 Pa 216 019109.564 75.075 + 83 217 Bi 217 009470 210 + 84 217 Po 217 006334.796 7.134 + 85 217 At 217 004718.822 5.278 + 86 217 Rn 217 003927.675 4.537 + 87 217 Fr 217 004631.951 7.030 + 88 217 Ra 217 006320.327 9.156 + 89 217 Ac 217 009346.914 13.690 + 90 217 Th 217 013114.328 22.317 + 91 217 Pa 217 018323.986 56.133 + 92 217 U 217 024368.791 93.262 + 83 218 Bi 218 014316 385 + 84 218 Po 218 008973.037 2.554 + 85 218 At 218 008694.336 12.477 + 86 218 Rn 218 005601.256 2.547 + 87 218 Fr 218 007578.322 5.132 + 88 218 Ra 218 007140.230 12.008 + 89 218 Ac 218 011641.453 54.495 + 90 218 Th 218 013284.499 13.904 + 91 218 Pa 218 020041.889 26.423 + 92 218 U 218 023535.671 32.763 + 84 219 Po 219 013744 385 + 85 219 At 219 011161.691 4.168 + 86 219 Rn 219 009480.204 2.716 + 87 219 Fr 219 009252.149 7.605 + 88 219 Ra 219 010085.078 8.880 + 89 219 Ac 219 012420.389 54.212 + 90 219 Th 219 015536.895 54.292 + 91 219 Pa 219 019883.143 58.389 + 92 219 U 219 024919.160 60.946 + 84 220 Po 220 016602 385 + 85 220 At 220 015407.682 55.002 + 86 220 Rn 220 011393.981 2.365 + 87 220 Fr 220 012327.405 4.393 + 88 220 Ra 220 011028.384 9.920 + 89 220 Ac 220 014762.979 15.983 + 90 220 Th 220 015747.762 23.801 + 91 220 Pa 220 021875.303 60.788 + 92 220 U 220 024723 215 + 85 221 At 221 018050 210 + 86 221 Rn 221 015536.782 6.335 + 87 221 Fr 221 014254.762 5.148 + 88 221 Ra 221 013917.338 4.998 + 89 221 Ac 221 015591.248 54.135 + 90 221 Th 221 018183.674 10.045 + 91 221 Pa 221 021877.983 55.395 + 92 221 U 221 026399 110 + 85 222 At 222 022330 320 + 86 222 Rn 222 017577.738 2.533 + 87 222 Fr 222 017551.730 22.783 + 88 222 Ra 222 015374.530 4.907 + 89 222 Ac 222 017843.851 5.579 + 90 222 Th 222 018468.121 13.192 + 91 222 Pa 222 023742 78 + 92 222 U 222 026086 108 + 85 223 At 223 025190 430 + 86 223 Rn 223 021790 320 + 87 223 Fr 223 019735.857 2.573 + 88 223 Ra 223 018502.171 2.708 + 89 223 Ac 223 019137.468 7.680 + 90 223 Th 223 020811.448 9.903 + 91 223 Pa 223 023962.273 76.290 + 92 223 U 223 027738.600 76.347 + 86 224 Rn 224 024090 320 + 87 224 Fr 224 023249.951 53.729 + 88 224 Ra 224 020211.821 2.364 + 89 224 Ac 224 021722.866 4.457 + 90 224 Th 224 021466.895 11.757 + 91 224 Pa 224 025625.738 16.689 + 92 224 U 224 027604.778 27.176 + 86 225 Rn 225 028440 320 + 87 225 Fr 225 025565.414 32.365 + 88 225 Ra 225 023611.564 3.205 + 89 225 Ac 225 023229.585 5.002 + 90 225 Th 225 023951.021 5.492 + 91 225 Pa 225 026130.678 76.235 + 92 225 U 225 029390.717 12.428 + 93 225 Np 225 033913.933 77.135 + 86 226 Rn 226 030890 430 + 87 226 Fr 226 029386.231 107.383 + 88 226 Ra 226 025409.823 2.518 + 89 226 Ac 226 026098.089 3.578 + 90 226 Th 226 024903.069 5.053 + 91 226 Pa 226 027947.753 12.270 + 92 226 U 226 029338.702 13.999 + 93 226 Np 226 035145 95 + 86 227 Rn 227 035407 454 + 87 227 Fr 227 031835.938 107.384 + 88 227 Ra 227 029177.842 2.535 + 89 227 Ac 227 027752.127 2.569 + 90 227 Th 227 027704.070 2.706 + 91 227 Pa 227 028805.072 8.011 + 92 227 U 227 031156.367 18.104 + 93 227 Np 227 034956.789 77.840 + 86 228 Rn 228 037986 440 + 87 228 Fr 228 035729 215 + 88 228 Ra 228 031070.292 2.612 + 89 228 Ac 228 031021.112 2.709 + 90 228 Th 228 028741.127 2.363 + 91 228 Pa 228 031051.376 4.723 + 92 228 U 228 031374.006 16.051 + 93 228 Np 228 036180 210 + 94 228 Pu 228 038742.328 34.873 + 87 229 Fr 229 038450.228 40.000 + 88 229 Ra 229 034957.577 20.085 + 89 229 Ac 229 033015.243 35.723 + 90 229 Th 229 031762.430 3.028 + 91 229 Pa 229 032096.793 2.951 + 92 229 U 229 033505.939 6.396 + 93 229 Np 229 036263.808 93.237 + 94 229 Pu 229 040150.212 55.097 + 87 230 Fr 230 042510 481 + 88 230 Ra 230 037056.394 13.000 + 89 230 Ac 230 036294.178 322.325 + 90 230 Th 230 033133.843 1.924 + 91 230 Pa 230 034540.754 3.518 + 92 230 U 230 033939.784 5.110 + 93 230 Np 230 037827.597 55.061 + 94 230 Pu 230 039649.886 16.206 + 87 231 Fr 231 045440 502 + 88 231 Ra 231 041220 320 + 89 231 Ac 231 038558.786 107.371 + 90 231 Th 231 036304.343 1.932 + 91 231 Pa 231 035883.990 2.422 + 92 231 U 231 036293.704 3.242 + 93 231 Np 231 038245.085 54.271 + 94 231 Pu 231 041101.107 28.375 + 95 231 Am 231 045560 320 + 87 232 Fr 232 049772 686 + 88 232 Ra 232 043638 300 + 89 232 Ac 232 042027.438 107.375 + 90 232 Th 232 038055.325 2.137 + 91 232 Pa 232 038591.592 8.317 + 92 232 U 232 037156.152 2.365 + 93 232 Np 232 040108 107 + 94 232 Pu 232 041187.097 19.415 + 95 232 Am 232 046590 320 + 88 233 Ra 233 048060 502 + 89 233 Ac 233 044550 320 + 90 233 Th 233 041581.843 2.139 + 91 233 Pa 233 040247.277 2.319 + 92 233 U 233 039635.207 2.904 + 93 233 Np 233 040740.546 54.695 + 94 233 Pu 233 042997.375 54.056 + 95 233 Am 233 046348 109 + 96 233 Cm 233 050771.232 76.921 + 88 234 Ra 234 050704 526 + 89 234 Ac 234 048420 430 + 90 234 Th 234 043601.230 3.756 + 91 234 Pa 234 043308.058 5.070 + 92 234 U 234 040952.088 1.960 + 93 234 Np 234 042895.038 9.145 + 94 234 Pu 234 043317.076 7.479 + 95 234 Am 234 047809 223 + 96 234 Cm 234 050159.841 19.543 + 89 235 Ac 235 051232 384 + 90 235 Th 235 047510.074 53.716 + 91 235 Pa 235 045443.615 53.712 + 92 235 U 235 043929.918 1.957 + 93 235 Np 235 044063.267 2.140 + 94 235 Pu 235 045286.050 22.082 + 95 235 Am 235 047946 129 + 96 235 Cm 235 051434 217 + 97 235 Bk 235 056580 430 + 89 236 Ac 236 055296 536 + 90 236 Th 236 049870 210 + 91 236 Pa 236 048681.284 214.717 + 92 236 U 236 045568.006 1.960 + 93 236 Np 236 046569.600 54.146 + 94 236 Pu 236 046057.964 2.366 + 95 236 Am 236 049579 107 + 96 236 Cm 236 051413 216 + 97 236 Bk 236 057330 430 + 90 237 Th 237 053894 385 + 91 237 Pa 237 051145.659 107.373 + 92 237 U 237 048730.184 2.019 + 93 237 Np 237 048173.444 1.967 + 94 237 Pu 237 048409.658 2.400 + 95 237 Am 237 049996 64 + 96 237 Cm 237 052901 221 + 97 237 Bk 237 057003 241 + 98 237 Cf 237 062070 540 + 90 238 Th 238 056496 304 + 91 238 Pa 238 054502.710 64.445 + 92 238 U 238 050788.247 2.044 + 93 238 Np 238 050946.405 1.979 + 94 238 Pu 238 049559.894 1.968 + 95 238 Am 238 051984.324 54.450 + 96 238 Cm 238 053028.697 39.322 + 97 238 Bk 238 058281 309 + 98 238 Cf 238 061410 430 + 91 239 Pa 239 057260 210 + 92 239 U 239 054293.299 2.052 + 93 239 Np 239 052939.025 2.229 + 94 239 Pu 239 052163.381 1.961 + 95 239 Am 239 053024.479 2.624 + 96 239 Cm 239 054957 107 + 97 239 Bk 239 058279 251 + 98 239 Cf 239 062422 225 + 91 240 Pa 240 060980 320 + 92 240 U 240 056591.988 5.533 + 93 240 Np 240 056162.182 16.252 + 94 240 Pu 240 053813.545 1.958 + 95 240 Am 240 055300.179 14.930 + 96 240 Cm 240 055529.539 2.452 + 97 240 Bk 240 059759 161 + 98 240 Cf 240 062302 216 + 99 240 Es 240 068920 430 + 92 241 U 241 060330 320 + 93 241 Np 241 058252.431 75.936 + 94 241 Pu 241 056851.456 1.959 + 95 241 Am 241 056829.144 1.963 + 96 241 Cm 241 057653.001 2.329 + 97 241 Bk 241 060230 215 + 98 241 Cf 241 063726 274 + 99 241 Es 241 068538 244 + 92 242 U 242 062931 215 + 93 242 Np 242 061641.180 214.718 + 94 242 Pu 242 058742.611 1.996 + 95 242 Am 242 059549.159 1.966 + 96 242 Cm 242 058835.824 1.970 + 97 242 Bk 242 061981 215 + 98 242 Cf 242 063701.552 39.564 + 99 242 Es 242 069745 349 +100 242 Fm 242 073430 430 + 93 243 Np 243 064279 34 + 94 243 Pu 243 062003.092 3.422 + 95 243 Am 243 061381.080 2.461 + 96 243 Cm 243 061389.114 2.235 + 97 243 Bk 243 063007.572 5.094 + 98 243 Cf 243 065427 152 + 99 243 Es 243 069548 251 +100 243 Fm 243 074353 231 + 93 244 Np 244 067850 320 + 94 244 Pu 244 064203.907 5.424 + 95 244 Am 244 064284.847 2.234 + 96 244 Cm 244 062752.578 1.959 + 97 244 Bk 244 065180.774 15.536 + 98 244 Cf 244 066000.689 3.135 + 99 244 Es 244 070883 195 +100 244 Fm 244 074084 304 + 94 245 Pu 245 067747.154 15.477 + 95 245 Am 245 066452.114 3.721 + 96 245 Cm 245 065491.249 2.233 + 97 245 Bk 245 066361.616 2.475 + 98 245 Cf 245 068048.612 3.065 + 99 245 Es 245 071324 215 +100 245 Fm 245 075385 295 +101 245 Md 245 080829 346 + 94 246 Pu 246 070204.627 16.377 + 95 246 Am 246 069774.619 19.512 + 96 246 Cm 246 067223.662 2.212 + 97 246 Bk 246 068672.947 64.450 + 98 246 Cf 246 068805.309 2.243 + 99 246 Es 246 072896 240 +100 246 Fm 246 075299.023 41.522 +101 246 Md 246 081886 354 + 94 247 Pu 247 074070 320 + 95 247 Am 247 072093 107 + 96 247 Cm 247 070353.540 4.684 + 97 247 Bk 247 070307.080 5.905 + 98 247 Cf 247 071000.589 8.738 + 99 247 Es 247 073656 33 +100 247 Fm 247 076847 153 +101 247 Md 247 081635 348 + 95 248 Am 248 075752 215 + 96 248 Cm 248 072348.508 5.426 + 97 248 Bk 248 073086 76 + 98 248 Cf 248 072184.861 5.714 + 99 248 Es 248 075471 56 +100 248 Fm 248 077194.714 12.555 +101 248 Md 248 082823 255 +102 248 No 248 086596 323 + 95 249 Am 249 078480 320 + 96 249 Cm 249 075953.413 5.433 + 97 249 Bk 249 074986.657 2.803 + 98 249 Cf 249 074853.537 2.356 + 99 249 Es 249 076411 32 +100 249 Fm 249 079034 109 +101 249 Md 249 083013 241 +102 249 No 249 087833 365 + 96 250 Cm 250 078356.959 12.029 + 97 250 Bk 250 078316.520 4.260 + 98 250 Cf 250 076406.066 2.222 + 99 250 Es 250 078612 107 +100 250 Fm 250 079521.264 12.810 +101 250 Md 250 084420 323 +102 250 No 250 087510 219 + 96 251 Cm 251 082284.605 24.481 + 97 251 Bk 251 080760.172 11.762 + 98 251 Cf 251 079586.788 4.806 + 99 251 Es 251 079992.142 6.519 +100 251 Fm 251 081575.017 8.998 +101 251 Md 251 084839 218 +102 251 No 251 089012 188 +103 251 Lr 251 094360 320 + 96 252 Cm 252 084870 320 + 97 252 Bk 252 084310 215 + 98 252 Cf 252 081625.846 5.426 + 99 252 Es 252 082978.512 53.950 +100 252 Fm 252 082466.855 6.104 +101 252 Md 252 086560 210 +102 252 No 252 088976.521 13.948 +103 252 Lr 252 095371 267 + 97 253 Bk 253 086880 385 + 98 253 Cf 253 085133.145 6.627 + 99 253 Es 253 084824.697 2.804 +100 253 Fm 253 085185.236 3.990 +101 253 Md 253 087280 220 +102 253 No 253 090678 109 +103 253 Lr 253 095210 241 +104 253 Rf 253 100689 487 + 97 254 Bk 254 090600 320 + 98 254 Cf 254 087322.909 13.207 + 99 254 Es 254 088022.021 4.554 +100 254 Fm 254 086854.220 2.988 +101 254 Md 254 089656 107 +102 254 No 254 090955.253 18.941 +103 254 Lr 254 096454 361 +104 254 Rf 254 100184 306 + 98 255 Cf 255 091046 215 + 99 255 Es 255 090273.122 11.850 +100 255 Fm 255 089962.202 5.175 +101 255 Md 255 091082.705 7.112 +102 255 No 255 093241.131 11.066 +103 255 Lr 255 096681 221 +104 255 Rf 255 101340 188 +105 255 Db 255 107398 454 + 98 256 Cf 256 093440 320 + 99 256 Es 256 093598 108 +100 256 Fm 256 091773.117 7.693 +101 256 Md 256 094059.025 56.702 +102 256 No 256 094282.666 8.456 +103 256 Lr 256 098629 236 +104 256 Rf 256 101166.194 25.890 +105 256 Db 256 108127 312 + 99 257 Es 257 095979 441 +100 257 Fm 257 095104.724 6.799 +101 257 Md 257 095541.368 3.002 +102 257 No 257 096877.190 23.295 +103 257 Lr 257 099555 223 +104 257 Rf 257 102990 110 +105 257 Db 257 107722 241 + 99 258 Es 258 099520 320 +100 258 Fm 258 097076 215 +101 258 Md 258 098431.319 4.971 +102 258 No 258 098207 215 +103 258 Lr 258 101814 110 +104 258 Rf 258 103489 216 +105 258 Db 258 109231 369 +106 258 Sg 258 113168 445 +100 259 Fm 259 100595 304 +101 259 Md 259 100509 215 +102 259 No 259 101031 108 +103 259 Lr 259 102901 76 +104 259 Rf 259 105637 77 +105 259 Db 259 109610 228 +106 259 Sg 259 114500 191 +100 260 Fm 260 102678 536 +101 260 Md 260 103652 340 +102 260 No 260 102643 215 +103 260 Lr 260 105504 123 +104 260 Rf 260 106440 215 +105 260 Db 260 111300 248 +106 260 Sg 260 114422.071 41.716 +107 260 Bh 260 121970 621 +101 261 Md 261 105721 695 +102 261 No 261 105749 322 +103 261 Lr 261 106883 215 +104 261 Rf 261 108766.556 30.864 +105 261 Db 261 112056 248 +106 261 Sg 261 116117 135 +107 261 Bh 261 121664 247 +101 262 Md 262 108865 625 +102 262 No 262 107301 480 +103 262 Lr 262 109634 215 +104 262 Rf 262 109925 304 +105 262 Db 262 114084 195 +106 262 Sg 262 116398 304 +107 262 Bh 262 122892 370 +102 263 No 263 110552 526 +103 263 Lr 263 111293 387 +104 263 Rf 263 112547 196 +105 263 Db 263 114988 181 +106 263 Sg 263 118322 133 +107 263 Bh 263 123035 394 +108 263 Hs 263 128558 374 +102 264 No 264 112345 686 +103 264 Lr 264 114038 468 +104 264 Rf 264 113985 480 +105 264 Db 264 117404 248 +106 264 Sg 264 118931 304 +107 264 Bh 264 124604 297 +108 264 Hs 264 128394.885 47.070 +103 265 Lr 265 115839 766 +104 265 Rf 265 116704 456 +105 265 Db 265 118601 304 +106 265 Sg 265 121114.693 61.917 +107 265 Bh 265 125147 407 +108 265 Hs 265 130085 145 +109 265 Mt 265 136151 495 +103 266 Lr 266 119305 703 +104 266 Rf 266 117956 578 +105 266 Db 266 121029 387 +106 266 Sg 266 122065 306 +107 266 Bh 266 126942 216 +108 266 Hs 266 130097 305 +109 266 Mt 266 137299 371 +104 267 Rf 267 121529 617 +105 267 Db 267 122377 504 +106 267 Sg 267 124425 291 +107 267 Bh 267 127650 282 +108 267 Hs 267 131789 111 +109 267 Mt 267 137307 583 +110 267 Ea 267 144341 393 +104 268 Rf 268 123644 758 +105 268 Db 268 125445 568 +106 268 Sg 268 125606 578 +107 268 Bh 268 129755 406 +108 268 Hs 268 132162 443 +109 268 Mt 268 138728 338 +110 268 Ea 268 143795 539 +105 269 Db 269 127460 831 +106 269 Sg 269 128755 704 +107 269 Bh 269 130694 443 +108 269 Hs 269 134056 125 +109 269 Mt 269 139055 591 +110 269 Ea 269 145124 147 +105 270 Db 270 130712 773 +106 270 Sg 270 130329 662 +107 270 Bh 270 133616 504 +108 270 Hs 270 134650 307 +109 270 Mt 270 140657 579 +110 270 Ea 270 144720 310 +106 271 Sg 271 133472 696 +107 271 Bh 271 135179 598 +108 271 Hs 271 137657 361 +109 271 Mt 271 141139 606 +110 271 Ea 271 146062 113 +106 272 Sg 272 135158 824 +107 272 Bh 272 138032 653 +108 272 Hs 272 139052 617 +109 272 Mt 272 143738 518 +110 272 Ea 272 146317 696 +111 272 Eb 272 153615 355 +106 273 Sg 273 138220 710 +107 273 Bh 273 139618 891 +108 273 Hs 273 141986 885 +109 273 Mt 273 144913 547 +110 273 Ea 273 148863 136 +111 273 Eb 273 153682 649 +107 274 Bh 274 142440 838 +108 274 Hs 274 143131 696 +109 274 Mt 274 147492 598 +110 274 Ea 274 149492 528 +111 274 Eb 274 155713 662 +107 275 Bh 275 144250 700 +108 275 Hs 275 145952 767 +109 275 Mt 275 148647 635 +110 275 Ea 275 152176 484 +111 275 Eb 275 156142 743 +108 276 Hs 276 147208 885 +109 276 Mt 276 151156 728 +110 276 Ea 276 153034 653 +111 276 Eb 276 158493 673 +108 277 Hs 277 149841 780 +109 277 Mt 277 152420 947 +110 277 Ea 277 155647 1035 +111 277 Eb 277 159519 664 +112 277 Ec 277 163943 140 +109 278 Mt 278 154812 897 +110 278 Ea 278 156469 728 +111 278 Eb 278 161604 679 +112 278 Ec 278 164312 570 +109 279 Mt 279 156193 771 +110 279 Ea 279 158861 796 +111 279 Eb 279 162468 712 +112 279 Ec 279 166546 530 +110 280 Ea 280 159795 910 +111 280 Eb 280 164473 796 +112 280 Ec 280 167039 687 +110 281 Ea 281 162061 781 +111 281 Eb 281 165372 1001 +112 281 Ec 281 169286 1057 +111 282 Eb 282 167486 953 +112 282 Ec 282 169765 759 +111 283 Eb 283 168415 835 +112 283 Ec 283 171792 825 +113 283 Ed 283 176451 782 +112 284 Ec 284 172384 912 +113 284 Ed 284 178080 859 +112 285 Ec 285 174105 783 +113 285 Ed 285 178732 1051 +114 285 Ee 285 183698 1105 +113 286 Ed 286 180481 1006 +114 286 Ee 286 183855 825 +113 287 Ed 287 181045 895 +114 287 Ee 287 185599 826 +115 287 Ef 287 191186 845 +114 288 Ee 288 185689 913 +115 288 Ef 288 192492 917 +114 289 Ee 289 187279 785 +115 289 Ef 289 192715 1099 +116 289 Eg 289 198862 1167 +115 290 Ef 290 194141 1057 +116 290 Eg 290 198590 906 +115 291 Ef 291 194384 951 +116 291 Eg 291 200011 908 +117 291 Eh 291 206564 948 +116 292 Eg 292 199786 915 +117 292 Eh 292 207549 1013 +118 293 Ei 293 214670 1285 diff --git a/source/branches/CLASSV3/data/chart.JEF3T b/source/branches/CLASSV3/data/chart.JEF3T new file mode 100755 index 000000000..c2182d0ba --- /dev/null +++ b/source/branches/CLASSV3/data/chart.JEF3T @@ -0,0 +1,3834 @@ + 1 0 ** gs 0 6.146000e+02 b-:1.000000e+02 + 1 1 H gs 0 0.000000e+00 s + 2 1 H gs 0 0.000000e+00 s + 3 1 H gs 0 3.891050e+08 b-:1.000000e+02 + 4 1 H gs 0 1.000000e-22 n:1.000000e+02 + 5 1 H gs 0 8.000000e-23 n:1.000000e+02 + 6 1 H gs 0 3.200000e-22 nn:1.000000e+02 + 3 2 He gs 0 0.000000e+00 s + 4 2 He gs 0 0.000000e+00 s + 5 2 He gs 0 7.600000e-22 n:1.000000e+02 + 6 2 He gs 0 8.081000e-01 b-:1.000000e+02 + 7 2 He gs 0 2.900000e-21 n:1.000000e+02 + 8 2 He gs 0 1.220000e-01 b-:8.800000e+01,b-n:1.200000e+01 + 9 2 He gs 0 7.000000e-21 n:1.000000e+02 + 10 2 He gs 0 2.700000e-21 nn:1.000000e+02 + 4 3 Li gs 0 9.100000e-23 p:1.000000e+02 + 5 3 Li gs 0 3.000000e-22 p:1.000000e+02 + 6 3 Li gs 0 0.000000e+00 s + 7 3 Li gs 0 0.000000e+00 s + 8 3 Li gs 0 8.380000e-01 b-a:1.000000e+02 + 9 3 Li gs 0 1.783000e-01 b-:5.050000e+01,b-n:4.950000e+01 + 10 3 Li gs 0 2.000000e-21 n:1.000000e+02 + 11 3 Li gs 0 8.590000e-03 b-:9.100000e+00,b-n:8.490000e+01,b-n:4.100000e+00,b-n:1.900000e+00 + 12 3 Li gs 0 1.000000e-08 n:1.000000e+02 + 5 4 Be gs 0 1.000000e-09 p:1.000000e+02 + 6 4 Be gs 0 5.000000e-21 pp:1.000000e+02 + 7 4 Be gs 0 4.599940e+06 ce:1.000000e+02 + 8 4 Be gs 0 7.000000e-17 a:1.000000e+02 + 9 4 Be gs 0 0.000000e+00 s + 10 4 Be gs 0 5.049220e+13 b-:1.000000e+02 + 11 4 Be gs 0 1.381000e+01 b-:9.700000e+01,b-a:3.000000e+00 + 12 4 Be gs 0 2.130000e-02 b-:9.948000e+01,b-n:5.200000e-01 + 13 4 Be gs 0 2.700000e-21 n:1.000000e+02 + 14 4 Be gs 0 4.350000e-03 b-:1.400000e+01,b-n:8.100000e+01,b-n:5.000000e+00 + 6 5 B gs 0 1.000000e-09 p:1.000000e+02 + 7 5 B gs 0 3.500000e-22 p:1.000000e+02 + 8 5 B gs 0 7.700000e-01 cen:1.000000e+02 + 9 5 B gs 0 8.000000e-19 p:1.000000e+02 + 10 5 B gs 0 0.000000e+00 s + 11 5 B gs 0 0.000000e+00 s + 12 5 B gs 0 2.020000e-02 b-:9.842000e+01,b-a:1.580000e+00 + 13 5 B gs 0 1.733000e-02 b-:9.972393e+01,b-n:2.760662e-01 + 14 5 B gs 0 1.230000e-02 b-:9.396000e+01,b-n:6.040000e+00 + 15 5 B gs 0 9.870000e-03 b-:6.000000e+00,b-n:9.360000e+01,b-n:4.000000e-01 + 16 5 B gs 0 1.900000e-10 n:1.000000e+02 + 17 5 B gs 0 5.080000e-03 b-:2.250000e+01,b-n:6.300000e+01,b-n:1.100000e+01,b-n:3.500000e+00 + 18 5 B gs 0 2.600000e-08 n:1.000000e+02 + 19 5 B gs 0 4.500000e-03 b-:1.000000e+02 + 8 6 C gs 0 2.000000e-21 pp:1.000000e+02 + 9 6 C gs 0 1.265000e-01 ce:6.000000e+01,cep:2.300000e+01,cen:1.700000e+01 + 10 6 C gs 0 1.929000e+01 ce:1.000000e+02 + 11 6 C gs 0 1.223400e+03 ce:1.000000e+02 + 12 6 C gs 0 0.000000e+00 s + 13 6 C gs 0 0.000000e+00 s + 14 6 C gs 0 1.808250e+11 b-:1.000000e+02 + 15 6 C gs 0 2.449000e+00 b-:1.000000e+02 + 16 6 C gs 0 7.470000e-01 b-:2.100000e+00,b-n:9.790000e+01 + 17 6 C gs 0 1.930000e-01 b-:7.160000e+01,b-n:2.840000e+01 + 18 6 C gs 0 9.200000e-02 b-:6.850000e+01,b-n:3.150000e+01 + 19 6 C gs 0 4.620000e-02 b-:4.600000e+01,b-n:4.700000e+01,b-n:7.000000e+00 + 20 6 C gs 0 1.600000e-02 b-:2.800000e+01,b-n:7.200000e+01 + 21 6 C gs 0 3.000000e-08 n:1.000000e+02 + 22 6 C gs 0 9.000000e-03 b-:1.000000e+02 + 10 7 N gs 0 1.000000e-09 p:1.000000e+02 + 11 7 N gs 0 5.000000e-22 p:1.000000e+02 + 12 7 N gs 0 1.100000e-02 ce:9.650000e+01,cen:3.500000e+00 + 13 7 N gs 0 5.979000e+02 ce:1.000000e+02 + 14 7 N gs 0 0.000000e+00 s + 15 7 N gs 0 0.000000e+00 s + 16 7 N gs 0 7.130000e+00 b-:1.000000e+02,b-a:1.200000e-03 + 17 7 N gs 0 4.170000e+00 b-:5.000000e+00,b-n:9.500000e+01,b-a:2.500000e-03 + 18 7 N gs 0 6.220000e-01 b-:7.690000e+01,b-n:1.090000e+01,b-a:1.220000e+01 + 19 7 N gs 0 2.710000e-01 b-:4.540000e+01,b-n:5.460000e+01 + 20 7 N gs 0 1.300000e-01 b-:4.300000e+01,b-n:5.700000e+01 + 21 7 N gs 0 8.700000e-02 b-:2.000000e+01,b-n:8.000000e+01 + 22 7 N gs 0 1.800000e-02 b-:6.500000e+01,b-n:3.500000e+01 + 23 7 N gs 0 1.450000e-02 b-:1.000000e+02 + 24 7 N gs 0 5.200000e-08 n:1.000000e+02 + 25 7 N gs 0 2.600000e-07 n:1.000000e+02 + 12 8 O gs 0 5.800000e-22 pp:6.000000e+01,ce:4.000000e+01 + 13 8 O gs 0 8.580000e-03 ce:8.910000e+01,cep:1.090000e+01 + 14 8 O gs 0 7.060600e+01 ce:1.000000e+02 + 15 8 O gs 0 1.222400e+02 ce:1.000000e+02 + 16 8 O gs 0 0.000000e+00 s + 17 8 O gs 0 0.000000e+00 s + 18 8 O gs 0 0.000000e+00 s + 19 8 O gs 0 2.691000e+01 b-:1.000000e+02 + 20 8 O gs 0 1.351000e+01 b-:1.000000e+02 + 21 8 O gs 0 3.420000e+00 b-:1.000000e+02 + 22 8 O gs 0 2.250000e+00 b-:7.800000e+01,b-n:2.200000e+01 + 23 8 O gs 0 9.000000e-02 b-:6.900000e+01,b-n:3.100000e+01 + 24 8 O gs 0 6.500000e-02 b-:8.200000e+01,b-n:1.800000e+01 + 25 8 O gs 0 5.000000e-08 n:1.000000e+02 + 26 8 O gs 0 1.000000e-09 nn:1.000000e+02 + 27 8 O gs 0 2.600000e-07 n:1.000000e+02 + 28 8 O gs 0 1.000000e-07 nn:1.000000e+02 + 14 9 F gs 0 1.000000e-09 p:1.000000e+02 + 15 9 F gs 0 4.600000e-22 p:1.000000e+02 + 16 9 F gs 0 1.100000e-20 p:1.000000e+02 + 17 9 F gs 0 6.449000e+01 ce:1.000000e+02 + 18 9 F gs 0 6.582000e+03 ce:1.000000e+02 + 19 9 F gs 0 0.000000e+00 s + 20 9 F gs 0 1.103000e+01 b-:1.000000e+02 + 21 9 F gs 0 4.158000e+00 b-:1.000000e+02 + 22 9 F gs 0 4.230000e+00 b-:8.900000e+01,b-n:1.100000e+01 + 23 9 F gs 0 2.230000e+00 b-:8.600000e+01,b-n:1.400000e+01 + 24 9 F gs 0 4.000000e-01 b-:9.410000e+01,b-n:5.900000e+00 + 25 9 F gs 0 5.000000e-02 b-:8.600000e+01,b-n:1.400000e+01 + 26 9 F gs 0 9.700000e-03 b-:8.900000e+01,b-n:1.100000e+01 + 27 9 F gs 0 5.800000e-03 b-:2.300000e+01,b-n:7.700000e+01 + 28 9 F gs 0 4.000000e-08 n:1.000000e+02 + 29 9 F gs 0 2.400000e-03 b-:1.000000e+02 + 30 9 F gs 0 2.600000e-07 n:1.000000e+02 + 31 9 F gs 0 1.000000e-03 b-:1.000000e+02 + 15 10 Ne gs 0 1.000000e-09 pp:1.000000e+02 + 16 10 Ne gs 0 9.000000e-21 pp:1.000000e+02 + 17 10 Ne gs 0 1.092000e-01 ce:1.300000e+00,cep:9.600000e+01,cen:2.700000e+00 + 18 10 Ne gs 0 1.672000e+00 ce:1.000000e+02 + 19 10 Ne gs 0 1.729600e+01 ce:1.000000e+02 + 20 10 Ne gs 0 0.000000e+00 s + 21 10 Ne gs 0 0.000000e+00 s + 22 10 Ne gs 0 0.000000e+00 s + 23 10 Ne gs 0 3.720000e+01 b-:1.000000e+02 + 24 10 Ne gs 0 2.028000e+02 b-:0.000000e+00,b-/1:1.000000e+02 + 25 10 Ne gs 0 6.020000e-01 b-:1.000000e+02 + 26 10 Ne gs 0 1.970000e-01 b-:9.987000e+01,b-n:1.300000e-01 + 27 10 Ne gs 0 3.200000e-02 b-:9.800000e+01,b-n:2.000000e+00 + 28 10 Ne gs 0 1.200000e-02 b-:7.800000e+01,b-n:2.200000e+01 + 29 10 Ne gs 0 1.500000e-02 b-:7.300000e+01,b-n:2.700000e+01 + 30 10 Ne gs 0 7.000000e-03 b-:1.000000e+02 + 31 10 Ne gs 0 5.000000e-03 b-:1.000000e+02 + 32 10 Ne gs 0 2.000000e-03 b-:1.000000e+02 + 33 10 Ne gs 0 1.000000e-03 n:1.000000e+02 + 17 11 Na gs 0 1.000000e-09 p:1.000000e+02 + 18 11 Na gs 0 1.000000e-09 p:5.000000e+01,ce:5.000000e+01 + 19 11 Na gs 0 4.000000e-08 p:1.000000e+02 + 20 11 Na gs 0 4.479000e-01 ce:7.500000e+01,cen:2.500000e+01 + 21 11 Na gs 0 2.249000e+01 ce:1.000000e+02 + 22 11 Na gs 0 8.214440e+07 ce:1.000000e+02 + 23 11 Na gs 0 0.000000e+00 s + 24 11 Na gs 0 5.387560e+04 b-:1.000000e+02 + 24 11 Na m 0 2.020000e-02 b-:5.000000e-01,it:9.950000e+01 + 25 11 Na gs 0 5.960000e+01 b-:1.000000e+02 + 26 11 Na gs 0 1.080000e+00 b-:1.000000e+02 + 27 11 Na gs 0 3.010000e-01 b-:9.987000e+01,b-n:1.300000e-01 + 28 11 Na gs 0 3.050000e-02 b-:9.942000e+01,b-n:5.800000e-01 + 29 11 Na gs 0 4.490000e-02 b-:7.410000e+01,b-n:2.590000e+01 + 30 11 Na gs 0 4.800000e-02 b-:6.882990e+01,b-n:3.000000e+01,b-n:1.170000e+00,b-a:5.500000e-05 + 31 11 Na gs 0 1.700000e-02 b-:6.205000e+01,b-n:3.700000e+01,b-n:9.000000e-01,b-n:5.000000e-02 + 32 11 Na gs 0 1.320000e-02 b-:6.800000e+01,b-n:2.400000e+01,b-n:8.000000e+00 + 33 11 Na gs 0 8.200000e-03 b-:3.600000e+01,b-n:5.200000e+01,b-n:1.200000e+01 + 34 11 Na gs 0 5.500000e-03 b-:3.500000e+01,b-n:5.000000e+01,b-n:1.500000e+01 + 35 11 Na gs 0 1.500000e-03 b-:1.000000e+02 + 19 12 Mg gs 0 1.000000e-09 pp:1.000000e+02 + 20 12 Mg gs 0 9.000000e-02 ce:6.960000e+01,cep:3.040000e+01 + 21 12 Mg gs 0 1.220000e-01 ce:6.690000e+01,cep:3.260000e+01,cen:5.000000e-01 + 22 12 Mg gs 0 3.857000e+00 ce:1.000000e+02 + 23 12 Mg gs 0 1.131700e+01 ce:1.000000e+02 + 24 12 Mg gs 0 0.000000e+00 s + 25 12 Mg gs 0 0.000000e+00 s + 26 12 Mg gs 0 0.000000e+00 s + 27 12 Mg gs 0 5.674800e+02 b-:1.000000e+02 + 28 12 Mg gs 0 7.524000e+04 b-:1.000000e+02 + 29 12 Mg gs 0 1.300000e+00 b-:1.000000e+02 + 30 12 Mg gs 0 3.350000e-01 b-:9.994000e+01,b-n:6.000000e-02 + 31 12 Mg gs 0 2.300000e-01 b-:9.830000e+01,b-n:1.700000e+00 + 32 12 Mg gs 0 9.500000e-02 b-:9.760000e+01,b-n:2.400000e+00 + 33 12 Mg gs 0 9.000000e-02 b-:8.300000e+01,b-n:1.700000e+01 + 34 12 Mg gs 0 2.000000e-02 b-:1.000000e+02 + 35 12 Mg gs 0 7.000000e-02 b-:4.800000e+01,b-n:5.200000e+01 + 36 12 Mg gs 0 5.000000e-03 b-:1.000000e+02 + 37 12 Mg gs 0 4.000000e-02 b-:1.000000e+02 + 38 12 Mg gs 0 1.000000e-03 b-:1.000000e+02 + 21 13 Al gs 0 3.500000e-08 p:1.000000e+02 + 22 13 Al gs 0 5.900000e-02 ce:5.479000e+01,cep:4.400000e+01,cep:9.000000e-01,cen:3.100000e-01 + 23 13 Al gs 0 4.700000e-01 ce:9.200000e+01,cep:8.000000e+00 + 24 13 Al gs 0 2.053000e+00 ce:9.996340e+01,cen:3.500000e-02,cep:1.600000e-03 + 24 13 Al m 0 1.313000e-01 it:8.200000e+01,ce:1.797200e+01,cen:2.800000e-02 + 25 13 Al gs 0 7.183000e+00 ce:1.000000e+02 + 26 13 Al gs 0 2.272150e+13 ce:1.000000e+02 + 26 13 Al m 0 6.345000e+00 ce:1.000000e+02 + 27 13 Al gs 0 0.000000e+00 s + 28 13 Al gs 0 1.344600e+02 b-:1.000000e+02 + 29 13 Al gs 0 3.936000e+02 b-:1.000000e+02 + 30 13 Al gs 0 3.650000e+00 b-:1.000000e+02 + 31 13 Al gs 0 6.440000e-01 b-:9.840000e+01,b-n:1.600000e+00 + 32 13 Al gs 0 3.170000e-02 b-:9.930000e+01,b-n:7.000000e-01 + 33 13 Al gs 0 4.100000e-02 b-:9.150000e+01,b-n:8.500000e+00 + 34 13 Al gs 0 4.200000e-02 b-:8.750000e+01,b-n:1.250000e+01 + 35 13 Al gs 0 3.000000e-02 b-:7.400000e+01,b-n:2.600000e+01 + 36 13 Al gs 0 9.000000e-02 b-:6.900000e+01,b-n:3.100000e+01 + 37 13 Al gs 0 2.000000e-02 b-:1.000000e+02 + 38 13 Al gs 0 4.000000e-02 b-:1.000000e+02 + 39 13 Al gs 0 1.000000e-02 b-:1.000000e+02 + 40 13 Al gs 0 1.000000e-02 b-:1.000000e+02 + 41 13 Al gs 0 2.000000e-03 b-:1.000000e+02 + 22 14 Si gs 0 2.900000e-02 ce:6.800000e+01,cep:3.200000e+01 + 23 14 Si gs 0 4.230000e-08 ce:8.400000e+00,cep:8.800000e+01,cep:3.600000e+00 + 24 14 Si gs 0 1.400000e-01 ce:0.000000e+00,ce/1:6.200000e+01,cep:3.800000e+01 + 25 14 Si gs 0 2.200000e-01 ce:6.319000e+01,cep:3.681000e+01 + 26 14 Si gs 0 2.234000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 27 14 Si gs 0 4.160000e+00 ce:1.000000e+02 + 28 14 Si gs 0 0.000000e+00 s + 29 14 Si gs 0 0.000000e+00 s + 30 14 Si gs 0 0.000000e+00 s + 31 14 Si gs 0 9.432000e+03 b-:1.000000e+02 + 32 14 Si gs 0 1.041400e+10 b-:1.000000e+02 + 33 14 Si gs 0 6.180000e+00 b-:1.000000e+02 + 34 14 Si gs 0 2.770000e+00 b-:1.000000e+02 + 35 14 Si gs 0 7.800000e-01 b-:9.474000e+01,b-n:5.260000e+00 + 36 14 Si gs 0 4.500000e-01 b-:8.800000e+01,b-n:1.200000e+01 + 37 14 Si gs 0 9.000000e-02 b-:8.300000e+01,b-n:1.700000e+01 + 38 14 Si gs 0 9.000000e-02 b-:1.000000e+02 + 39 14 Si gs 0 9.000000e-02 b-:1.000000e+02 + 40 14 Si gs 0 2.000000e-02 b-:1.000000e+02 + 41 14 Si gs 0 3.000000e-02 b-:1.000000e+02 + 42 14 Si gs 0 5.000000e-03 b-:1.000000e+02 + 43 14 Si gs 0 1.500000e-02 b-:1.000000e+02 + 24 15 P gs 0 1.000000e-09 p:5.000000e+01,ce:5.000000e+01 + 25 15 P gs 0 3.000000e-08 p:1.000000e+02 + 26 15 P gs 0 3.000000e-02 ce:9.810000e+01,cep:1.000000e-00,cep:9.000000e-01 + 27 15 P gs 0 2.600000e-01 ce:9.993000e+01,cep:0.000000e+00,cep/1:7.000000e-02 + 28 15 P gs 0 2.703000e-01 ce:9.999780e+01,cep:1.300000e-03,cen:8.600000e-04 + 29 15 P gs 0 4.142000e+00 ce:1.000000e+02 + 30 15 P gs 0 1.498800e+02 ce:1.000000e+02 + 31 15 P gs 0 0.000000e+00 s + 32 15 P gs 0 1.232930e+06 b-:1.000000e+02 + 33 15 P gs 0 2.194560e+06 b-:1.000000e+02 + 34 15 P gs 0 1.240000e+01 b-:1.000000e+02 + 35 15 P gs 0 4.730000e+01 b-:1.000000e+02 + 36 15 P gs 0 5.600000e+00 b-:1.000000e+02 + 37 15 P gs 0 2.310000e+00 b-:1.000000e+02 + 38 15 P gs 0 6.400000e-01 b-:8.800000e+01,b-n:1.200000e+01 + 39 15 P gs 0 1.900000e-01 b-:7.400000e+01,b-n:2.600000e+01 + 40 15 P gs 0 2.900000e-01 b-:7.000000e+01,b-n:3.000000e+01 + 41 15 P gs 0 1.200000e-01 b-:7.000000e+01,b-n:3.000000e+01 + 42 15 P gs 0 1.200000e-01 b-:5.000000e+01,b-n:5.000000e+01 + 43 15 P gs 0 3.300000e-02 b-n:1.000000e+02 + 44 15 P gs 0 3.000000e-02 b-:1.000000e+02 + 45 15 P gs 0 8.000000e-03 b-:1.000000e+02 + 46 15 P gs 0 4.000000e-03 b-:1.000000e+02 + 26 16 S gs 0 1.000000e-02 pp:1.000000e+02 + 27 16 S gs 0 2.100000e-02 ce:9.800000e+01,cep:2.000000e+00 + 28 16 S gs 0 1.250000e-01 ce:7.930000e+01,cep:2.070000e+01 + 29 16 S gs 0 1.870000e-01 ce:5.360000e+01,cep:4.640000e+01 + 30 16 S gs 0 1.178000e+00 ce:1.000000e+02 + 31 16 S gs 0 2.572000e+00 ce:1.000000e+02 + 32 16 S gs 0 0.000000e+00 s + 33 16 S gs 0 0.000000e+00 s + 34 16 S gs 0 0.000000e+00 s + 35 16 S gs 0 7.560000e+06 b-:1.000000e+02 + 36 16 S gs 0 0.000000e+00 s + 37 16 S gs 0 2.994000e+02 b-:1.000000e+02 + 38 16 S gs 0 1.021800e+04 b-:1.000000e+02,b-/1:0.000000e+00 + 39 16 S gs 0 1.150000e+01 b-:1.000000e+02 + 40 16 S gs 0 8.800000e+00 b-:1.000000e+02 + 41 16 S gs 0 2.600000e+00 b-:1.000000e+02 + 42 16 S gs 0 1.013000e-03 b-:9.600000e+01,b-n:4.000000e+00 + 43 16 S gs 0 2.400000e-01 b-:6.000000e+01,b-n:4.000000e+01 + 44 16 S gs 0 1.230000e-01 b-:8.200000e+01,b-n:1.800000e+01 + 45 16 S gs 0 8.200000e-02 b-:4.600000e+01,b-n:5.400000e+01 + 46 16 S gs 0 3.000000e-02 b-:1.000000e+02 + 47 16 S gs 0 2.000000e-02 b-:1.000000e+02 + 48 16 S gs 0 1.000000e-02 b-:1.000000e+02 + 49 16 S gs 0 2.000000e-07 n:1.000000e+02 + 28 17 Cl gs 0 1.000000e-09 p:1.000000e+02 + 29 17 Cl gs 0 2.000000e-08 p:1.000000e+02 + 30 17 Cl gs 0 3.000000e-08 p:1.000000e+02 + 31 17 Cl gs 0 1.500000e-01 ce:9.930000e+01,cep:7.000000e-01 + 32 17 Cl gs 0 2.980000e-01 ce:9.992000e+01,cen:5.400000e-02,cep:2.600000e-02 + 33 17 Cl gs 0 2.511000e+00 ce:1.000000e+02 + 34 17 Cl gs 0 1.526000e+00 ce:1.000000e+02 + 34 17 Cl m 0 1.926000e+03 ce:5.200000e+01,it:4.800000e+01 + 35 17 Cl gs 0 0.000000e+00 s + 36 17 Cl gs 0 9.530400e+12 b-:9.810000e+01,ce:1.900000e+00 + 37 17 Cl gs 0 0.000000e+00 s + 38 17 Cl gs 0 2.232000e+03 b-:1.000000e+02 + 38 17 Cl m 0 7.150000e-01 it:1.000000e+02 + 39 17 Cl gs 0 3.336000e+03 b-:1.000000e+02 + 40 17 Cl gs 0 8.100000e+01 b-:1.000000e+02 + 41 17 Cl gs 0 3.840000e+01 b-:1.000000e+02 + 42 17 Cl gs 0 6.800000e+00 b-:1.000000e+02 + 43 17 Cl gs 0 3.300000e+00 b-:1.000000e+02 + 44 17 Cl gs 0 5.600000e-01 b-:9.200000e+01,b-n:8.000000e+00 + 45 17 Cl gs 0 4.000000e-01 b-:7.600000e+01,b-n:2.400000e+01 + 46 17 Cl gs 0 2.200000e-01 b-:4.000000e+01,b-n:6.000000e+01 + 47 17 Cl gs 0 2.000000e-01 b-:9.700000e+01,b-n:3.000000e+00 + 48 17 Cl gs 0 1.000000e-01 b-:1.000000e+02 + 49 17 Cl gs 0 5.000000e-02 b-:1.000000e+02 + 50 17 Cl gs 0 2.000000e-02 b-:1.000000e+02 + 51 17 Cl gs 0 2.000000e-03 b-:1.000000e+02 + 30 18 Ar gs 0 2.000000e-08 pp:1.000000e+02 + 31 18 Ar gs 0 1.440000e-02 ce:4.042000e+01,cep:5.500000e+01,cep:2.480000e+00,cep:2.100000e+00 + 32 18 Ar gs 0 9.800000e-02 ce:5.700000e+01,cep:4.300000e+01 + 33 18 Ar gs 0 1.730000e-01 ce:6.130000e+01,cep:3.870000e+01 + 34 18 Ar gs 0 8.450000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 35 18 Ar gs 0 1.775000e+00 ce:1.000000e+02 + 36 18 Ar gs 0 0.000000e+00 s + 37 18 Ar gs 0 3.027460e+06 ce:1.000000e+02 + 38 18 Ar gs 0 0.000000e+00 s + 39 18 Ar gs 0 8.488990e+09 b-:1.000000e+02 + 40 18 Ar gs 0 0.000000e+00 s + 41 18 Ar gs 0 6.576000e+03 b-:1.000000e+02 + 42 18 Ar gs 0 1.041400e+09 b-:1.000000e+02 + 43 18 Ar gs 0 3.222000e+02 b-:1.000000e+02 + 44 18 Ar gs 0 7.122000e+02 b-:1.000000e+02 + 45 18 Ar gs 0 2.148000e+01 b-:1.000000e+02 + 46 18 Ar gs 0 8.400000e+00 b-:1.000000e+02 + 47 18 Ar gs 0 5.800000e-01 b-:9.900000e+01,b-n:1.000000e-00 + 48 18 Ar gs 0 5.000000e-01 b-:1.000000e+02 + 49 18 Ar gs 0 2.000000e-01 b-:1.000000e+02 + 50 18 Ar gs 0 1.500000e-01 b-:1.000000e+02 + 51 18 Ar gs 0 6.000000e-02 b-:1.000000e+02 + 52 18 Ar gs 0 1.000000e-02 b-:1.000000e+02 + 53 18 Ar gs 0 3.000000e-03 b-:1.000000e+02 + 32 19 K gs 0 1.000000e-09 p:1.000000e+02 + 33 19 K gs 0 2.500000e-08 p:1.000000e+02 + 34 19 K gs 0 4.000000e-08 p:1.000000e+02 + 35 19 K gs 0 1.900000e-01 ce:9.963000e+01,cep:1.850000e-01,cep/1:1.850000e-01 + 36 19 K gs 0 3.420000e-01 ce:9.994860e+01,cep:4.800000e-02,cen:3.400000e-03 + 37 19 K gs 0 1.226000e+00 ce:1.000000e+02 + 38 19 K gs 0 4.566000e+02 ce:1.000000e+02 + 38 19 K m 0 9.240000e-01 ce:1.000000e+02 + 39 19 K gs 0 0.000000e+00 s + 40 19 K gs 0 4.039370e+16 b-:8.930000e+01,ce:1.070000e+01 + 41 19 K gs 0 0.000000e+00 s + 42 19 K gs 0 4.453200e+04 b-:1.000000e+02 + 43 19 K gs 0 7.992000e+04 b-:1.000000e+02 + 44 19 K gs 0 1.327800e+03 b-:1.000000e+02 + 45 19 K gs 0 1.038000e+03 b-:1.000000e+02 + 46 19 K gs 0 1.050000e+02 b-:1.000000e+02 + 47 19 K gs 0 1.750000e+01 b-:1.000000e+02 + 48 19 K gs 0 6.800000e+00 b-:9.886000e+01,b-n:1.140000e+00 + 49 19 K gs 0 1.260000e+00 b-:1.400000e+01,b-n:8.600000e+01 + 50 19 K gs 0 4.720000e-01 b-:7.100000e+01,b-n:2.900000e+01 + 51 19 K gs 0 3.650000e-01 b-:5.300000e+01,b-n:4.700000e+01 + 52 19 K gs 0 1.050000e-01 b-:1.500000e+01,b-n:6.400000e+01,b-n:2.100000e+01 + 53 19 K gs 0 3.000000e-02 b-:1.600000e+01,b-n:6.700000e+01,b-n:1.700000e+01 + 54 19 K gs 0 1.000000e-02 b-:1.000000e+02 + 55 19 K gs 0 3.000000e-03 b-:1.000000e+02 + 34 20 Ca gs 0 3.500000e-08 pp:1.000000e+02 + 35 20 Ca gs 0 2.570000e-02 ce:1.000000e+02 + 36 20 Ca gs 0 1.020000e-01 ce:4.320000e+01,cep:5.680000e+01 + 37 20 Ca gs 0 1.811000e-01 ce:2.550000e+01,cep:7.450000e+01 + 38 20 Ca gs 0 4.400000e-01 ce:0.000000e+00,ce/1:1.000000e+02 + 39 20 Ca gs 0 8.596000e-01 ce:1.000000e+02 + 40 20 Ca gs 0 0.000000e+00 s + 41 20 Ca gs 0 3.250430e+12 ce:1.000000e+02 + 42 20 Ca gs 0 0.000000e+00 s + 43 20 Ca gs 0 0.000000e+00 s + 44 20 Ca gs 0 0.000000e+00 s + 45 20 Ca gs 0 1.405730e+07 b-:1.000000e+02 + 46 20 Ca gs 0 0.000000e+00 s + 47 20 Ca gs 0 3.920830e+05 b-:1.000000e+02 + 48 20 Ca gs 0 1.609440e+27 db-:5.000000e+01,b-:5.000000e+01 + 49 20 Ca gs 0 5.232000e+02 b-:1.000000e+02 + 50 20 Ca gs 0 1.390000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 51 20 Ca gs 0 1.000000e+01 b-:1.000000e+02 + 52 20 Ca gs 0 4.600000e+00 b-:9.800000e+01,b-n:2.000000e+00 + 53 20 Ca gs 0 9.000000e-02 b-:7.000000e+01,b-n:3.000000e+01 + 54 20 Ca gs 0 5.000000e-02 b-:1.000000e+02 + 55 20 Ca gs 0 3.000000e-02 b-:1.000000e+02 + 56 20 Ca gs 0 1.000000e-02 b-:1.000000e+02 + 57 20 Ca gs 0 5.000000e-03 b-:1.000000e+02 + 36 21 Sc gs 0 1.000000e-09 p:1.000000e+02 + 37 21 Sc gs 0 1.000000e-09 p:1.000000e+02 + 38 21 Sc gs 0 3.000000e-07 p:1.000000e+02 + 39 21 Sc gs 0 3.000000e-07 p:1.000000e+02 + 40 21 Sc gs 0 1.823000e-01 ce:9.954300e+01,cep:4.400000e-01,cen:1.700000e-02 + 41 21 Sc gs 0 5.963000e-01 ce:1.000000e+02 + 42 21 Sc gs 0 6.813000e-01 ce:1.000000e+02 + 42 21 Sc m 0 6.170000e+01 ce:1.000000e+02 + 43 21 Sc gs 0 1.400760e+04 ce:1.000000e+02 + 44 21 Sc gs 0 1.413720e+04 ce:1.000000e+02 + 44 21 Sc m 0 2.109600e+05 ce:1.230000e+00,it:9.877000e+01 + 45 21 Sc gs 0 0.000000e+00 s + 45 21 Sc m 0 3.180000e-01 it:1.000000e+02 + 46 21 Sc gs 0 7.239460e+06 b-:1.000000e+02 + 46 21 Sc m 0 1.870000e+01 it:1.000000e+02 + 47 21 Sc gs 0 2.890940e+05 b-:1.000000e+02 + 48 21 Sc gs 0 1.572120e+05 b-:1.000000e+02 + 49 21 Sc gs 0 3.432000e+03 b-:1.000000e+02 + 50 21 Sc gs 0 1.025000e+02 b-:1.000000e+02 + 50 21 Sc m 0 3.500000e-01 b-:1.250000e+00,it:9.875000e+01 + 51 21 Sc gs 0 1.240000e+01 b-:1.000000e+02 + 52 21 Sc gs 0 8.200000e+00 b-:1.000000e+02 + 53 21 Sc gs 0 9.000000e-01 b-:1.000000e+02 + 54 21 Sc gs 0 2.300000e-01 b-:1.000000e+02 + 55 21 Sc gs 0 1.300000e-01 b-:1.000000e+02 + 56 21 Sc gs 0 8.000000e-02 b-:1.000000e+02 + 57 21 Sc gs 0 3.000000e-02 b-:6.700000e+01,b-n:3.300000e+01 + 58 21 Sc gs 0 1.000000e-02 b-:1.000000e+02 + 59 21 Sc gs 0 1.000000e-02 b-:1.000000e+02 + 38 22 Ti gs 0 1.200000e-07 pp:1.000000e+02 + 39 22 Ti gs 0 3.100000e-02 ce:1.500000e+01,cep:8.500000e+01 + 40 22 Ti gs 0 5.170000e-02 ce:1.200000e+00,cep:9.880000e+01 + 41 22 Ti gs 0 8.010000e-02 cep:1.000000e+02 + 42 22 Ti gs 0 1.990000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 43 22 Ti gs 0 5.090000e-01 ce:1.000000e+02 + 44 22 Ti gs 0 1.893460e+09 ce:1.000000e+02 + 45 22 Ti gs 0 1.108800e+04 ce:1.000000e+02 + 46 22 Ti gs 0 0.000000e+00 s + 47 22 Ti gs 0 0.000000e+00 s + 48 22 Ti gs 0 0.000000e+00 s + 49 22 Ti gs 0 0.000000e+00 s + 50 22 Ti gs 0 0.000000e+00 s + 51 22 Ti gs 0 3.480000e+02 b-:1.000000e+02 + 52 22 Ti gs 0 1.020000e+02 b-:1.000000e+02 + 53 22 Ti gs 0 3.270000e+01 b-:1.000000e+02 + 54 22 Ti gs 0 1.500000e+00 b-:1.000000e+02 + 55 22 Ti gs 0 4.600000e-01 b-:1.000000e+02 + 56 22 Ti gs 0 1.640000e-01 b-:1.000000e+02 + 57 22 Ti gs 0 6.000000e-02 b-:9.970000e+01,b-n:3.000000e-01 + 58 22 Ti gs 0 4.700000e-02 b-:1.000000e+02 + 59 22 Ti gs 0 5.800000e-02 b-:1.000000e+02 + 60 22 Ti gs 0 3.000000e-02 b-:1.000000e+02 + 61 22 Ti gs 0 1.000000e-02 b-:1.000000e+02 + 40 23 V gs 0 1.000000e-09 p:1.000000e+02 + 41 23 V gs 0 1.000000e-09 p:1.000000e+02 + 42 23 V gs 0 5.500000e-08 p:1.000000e+02 + 43 23 V gs 0 8.000000e-02 ce:1.000000e+02 + 44 23 V gs 0 1.110000e-01 ce:1.000000e+02 + 44 23 V m 0 1.500000e-01 ce:1.000000e+02 + 45 23 V gs 0 5.470000e-01 ce:1.000000e+02 + 46 23 V gs 0 4.225000e-01 ce:1.000000e+02 + 46 23 V m 0 1.020000e-03 it:1.000000e+02 + 47 23 V gs 0 1.956000e+03 ce:1.000000e+02 + 48 23 V gs 0 1.380150e+06 ce:1.000000e+02 + 49 23 V gs 0 2.851200e+07 ce:1.000000e+02 + 50 23 V gs 0 4.733640e+24 ce:8.300000e+01,b-:1.700000e+01 + 51 23 V gs 0 0.000000e+00 s + 52 23 V gs 0 2.247000e+02 b-:1.000000e+02 + 53 23 V gs 0 9.720000e+01 b-:1.000000e+02 + 54 23 V gs 0 4.980000e+01 b-:1.000000e+02 + 55 23 V gs 0 6.540000e+00 b-:1.000000e+02 + 56 23 V gs 0 2.330000e-01 b-:1.000000e+02 + 57 23 V gs 0 3.200000e-01 b-:9.960000e+01,b-n:4.000000e-01 + 58 23 V gs 0 2.030000e-01 b-:2.000000e+01,b-n:8.000000e+01 + 59 23 V gs 0 7.500000e-02 b-:1.000000e+02 + 60 23 V gs 0 1.220000e-01 b-:1.000000e+02 + 61 23 V gs 0 4.300000e-02 b-:1.000000e+02 + 62 23 V gs 0 7.000000e-02 b-:1.000000e+02 + 63 23 V gs 0 3.000000e-02 b-:1.000000e+02 + 64 23 V gs 0 1.000000e-02 b-:1.000000e+02 + 42 24 Cr gs 0 1.400000e-02 ce:5.000000e+01,pp:5.000000e+01 + 43 24 Cr gs 0 2.160000e-02 ce:7.100000e+01,cep:2.300000e+01,cep:6.000000e+00 + 44 24 Cr gs 0 5.400000e-02 ce:9.300000e+01,ce/1:0.000000e+00,cep:7.000000e+00 + 45 24 Cr gs 0 5.000000e-02 ce:7.300000e+01,cep:2.700000e+01 + 45 24 Cr m 0 1.000000e-03 it:5.000000e+01,ce:5.000000e+01 + 46 24 Cr gs 0 2.600000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 47 24 Cr gs 0 5.000000e-01 ce:1.000000e+02 + 48 24 Cr gs 0 7.761600e+04 ce:1.000000e+02 + 49 24 Cr gs 0 2.514000e+03 ce:1.000000e+02 + 50 24 Cr gs 0 5.680370e+24 db+:1.000000e+02 + 51 24 Cr gs 0 2.393800e+06 ce:1.000000e+02 + 52 24 Cr gs 0 0.000000e+00 s + 53 24 Cr gs 0 0.000000e+00 s + 54 24 Cr gs 0 0.000000e+00 s + 55 24 Cr gs 0 2.124000e+02 b-:1.000000e+02 + 56 24 Cr gs 0 3.564000e+02 b-:1.000000e+02 + 57 24 Cr gs 0 2.110000e+01 b-:1.000000e+02 + 58 24 Cr gs 0 7.000000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 59 24 Cr gs 0 4.600000e-01 b-:1.000000e+02 + 60 24 Cr gs 0 4.900000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 61 24 Cr gs 0 2.610000e-01 b-:1.000000e+02 + 62 24 Cr gs 0 1.880000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 63 24 Cr gs 0 1.130000e-01 b-:1.000000e+02 + 64 24 Cr gs 0 4.400000e-02 b-:1.000000e+02 + 65 24 Cr gs 0 5.000000e-02 b-:1.000000e+02 + 66 24 Cr gs 0 3.000000e-02 b-:1.000000e+02 + 67 24 Cr gs 0 1.000000e-02 b-:1.000000e+02 + 44 25 Mn gs 0 1.050000e-07 p:1.000000e+02 + 45 25 Mn gs 0 7.000000e-08 p:1.000000e+02 + 46 25 Mn gs 0 4.200000e-02 ce:7.800000e+01,cep:2.200000e+01 + 46 25 Mn m 0 1.000000e-03 ce:1.000000e+02 + 47 25 Mn gs 0 1.000000e-01 ce:9.660000e+01,cep:1.700000e+00,cep/1:1.700000e+00 + 48 25 Mn gs 0 1.581000e-01 ce:9.971940e+01,cep:2.800000e-01,cen:6.000000e-04 + 49 25 Mn gs 0 3.820000e-01 ce:1.000000e+02 + 50 25 Mn gs 0 2.839000e-01 ce:1.000000e+02 + 50 25 Mn m 0 1.050000e+02 ce:1.000000e+02 + 51 25 Mn gs 0 2.772000e+03 ce:1.000000e+02 + 52 25 Mn gs 0 4.830620e+05 ce:1.000000e+02 + 52 25 Mn m 0 1.266000e+03 ce:9.825000e+01,it:1.750000e+00 + 53 25 Mn gs 0 1.161320e+14 ce:1.000000e+02 + 54 25 Mn gs 0 2.698270e+07 ce:1.000000e+02 + 55 25 Mn gs 0 0.000000e+00 s + 56 25 Mn gs 0 9.284400e+03 b-:1.000000e+02 + 57 25 Mn gs 0 8.540000e+01 b-:1.000000e+02 + 58 25 Mn gs 0 6.520000e+01 b-:1.000000e+02 + 58 25 Mn m 0 2.700000e+00 b-:1.000000e+02 + 59 25 Mn gs 0 4.600000e+00 b-:1.000000e+02 + 60 25 Mn gs 0 5.100000e+01 b-:1.000000e+02 + 60 25 Mn m 0 1.770000e+00 b-:8.850000e+01,it:1.150000e+01 + 61 25 Mn gs 0 6.700000e-01 b-:1.000000e+02 + 62 25 Mn gs 0 8.800000e-01 b-:1.000000e+02 + 62 25 Mn m 0 9.200000e-02 b-:1.000000e+02 + 63 25 Mn gs 0 2.750000e-01 b-:1.000000e+02 + 64 25 Mn gs 0 8.700000e-02 b-:1.000000e+02 + 65 25 Mn gs 0 9.000000e-02 b-:1.000000e+02 + 66 25 Mn gs 0 6.600000e-02 b-:1.000000e+02 + 67 25 Mn gs 0 1.000000e-01 b-:1.000000e+02 + 68 25 Mn gs 0 7.000000e-02 b-:1.000000e+02 + 69 25 Mn gs 0 1.400000e-02 b-:7.600000e+01,b-n:2.400000e+01 + 45 26 Fe gs 0 1.500000e-02 pp:1.000000e+02 + 46 26 Fe gs 0 2.800000e-02 ce:0.000000e+00,ce/1:1.000000e+02 + 47 26 Fe gs 0 2.180000e-02 ce:1.000000e+02 + 48 26 Fe gs 0 4.400000e-02 ce:9.640000e+01,cep:3.600000e+00 + 49 26 Fe gs 0 7.000000e-02 ce:4.800000e+01,cep:5.200000e+01 + 50 26 Fe gs 0 1.550000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 51 26 Fe gs 0 3.050000e-01 ce:1.000000e+02 + 52 26 Fe gs 0 2.979000e+04 ce:0.000000e+00,ce/1:1.000000e+02 + 52 26 Fe m 0 4.590000e+01 ce:9.999600e+01,ce/1:0.000000e+00,it:3.999840e-03 + 53 26 Fe gs 0 5.106000e+02 ce:1.000000e+02 + 53 26 Fe m 0 1.548000e+02 it:1.000000e+02 + 54 26 Fe gs 0 0.000000e+00 s + 55 26 Fe gs 0 8.631360e+07 ce:1.000000e+02 + 56 26 Fe gs 0 0.000000e+00 s + 57 26 Fe gs 0 0.000000e+00 s + 58 26 Fe gs 0 0.000000e+00 s + 59 26 Fe gs 0 3.844970e+06 b-:1.000000e+02 + 60 26 Fe gs 0 4.733640e+13 b-/1:1.000000e+02 + 61 26 Fe gs 0 3.588000e+02 b-:1.000000e+02 + 62 26 Fe gs 0 6.800000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 63 26 Fe gs 0 6.100000e+00 b-:1.000000e+02 + 64 26 Fe gs 0 2.000000e+00 b-:1.000000e+02 + 65 26 Fe gs 0 1.300000e+00 b-:1.000000e+02 + 66 26 Fe gs 0 4.400000e-01 b-:1.000000e+02 + 67 26 Fe gs 0 4.800000e-01 b-:1.000000e+02 + 68 26 Fe gs 0 1.300000e-01 b-:0.000000e+00,b-/1:1.000000e+02 + 69 26 Fe gs 0 1.700000e-01 b-:9.300000e+01,b-n:0.000000e+00,b-n/1:7.000000e+00 + 70 26 Fe gs 0 5.000000e-02 b-:0.000000e+00,b-/1:1.000000e+02 + 71 26 Fe gs 0 3.000000e-02 b-:1.000000e+02 + 72 26 Fe gs 0 1.000000e-02 b-:1.000000e+02 + 47 27 Co gs 0 1.000000e-09 p:1.000000e+02 + 48 27 Co gs 0 1.000000e-09 p:1.000000e+02 + 49 27 Co gs 0 3.500000e-08 p:1.000000e+02 + 50 27 Co gs 0 4.400000e-02 ce:4.600000e+01,cep:5.400000e+01 + 51 27 Co gs 0 6.000000e-02 ce:1.000000e+02 + 52 27 Co gs 0 1.150000e-01 ce:5.000000e+01,ce/1:5.000000e+01 + 52 27 Co m 0 1.040000e-01 ce:5.000000e+01,ce/1:0.000000e+00,it:5.000000e+01 + 53 27 Co gs 0 2.400000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 53 27 Co m 0 2.470000e-01 ce:0.000000e+00,ce/1:9.850000e+01,p:1.500000e+00 + 54 27 Co gs 0 1.932300e-01 ce:1.000000e+02 + 54 27 Co m 0 8.880000e+01 ce:1.000000e+02 + 55 27 Co gs 0 6.310800e+04 ce:1.000000e+02 + 56 27 Co gs 0 6.675260e+06 ce:1.000000e+02 + 57 27 Co gs 0 2.348270e+07 ce:1.000000e+02 + 58 27 Co gs 0 6.122300e+06 ce:1.000000e+02 + 58 27 Co m 0 3.218400e+04 it:1.000000e+02 + 59 27 Co gs 0 0.000000e+00 s + 60 27 Co gs 0 1.663630e+08 b-:1.000000e+02 + 60 27 Co m 0 6.282000e+02 b-:2.500000e-01,it:9.975000e+01 + 61 27 Co gs 0 5.940000e+03 b-:1.000000e+02 + 62 27 Co gs 0 9.000000e+01 b-:1.000000e+02 + 62 27 Co m 0 8.346000e+02 b-:9.900000e+01,it:1.000000e-00 + 63 27 Co gs 0 2.690000e+01 b-:1.000000e+02 + 64 27 Co gs 0 3.000000e-01 b-:1.000000e+02 + 65 27 Co gs 0 1.200000e+00 b-:1.000000e+02 + 66 27 Co gs 0 1.940000e-01 b-:1.000000e+02 + 67 27 Co gs 0 4.250000e-01 b-:1.000000e+02 + 68 27 Co gs 0 2.000000e-01 b-:1.000000e+02 + 68 27 Co m 0 1.600000e+00 b-:5.000000e+01,it:5.000000e+01 + 69 27 Co gs 0 2.200000e-01 b-:9.900000e+01,b-/1:0.000000e+00,b-n:1.000000e-00 + 70 27 Co gs 0 1.260000e-01 b-:1.000000e+02 + 70 27 Co m 0 5.000000e-01 b-:1.000000e+02 + 71 27 Co gs 0 2.100000e-01 b-:1.000000e+02 + 72 27 Co gs 0 9.000000e-02 b-:1.000000e+02 + 73 27 Co gs 0 8.000000e-02 b-:1.000000e+02 + 74 27 Co gs 0 5.000000e-02 b-:1.000000e+02 + 75 27 Co gs 0 4.000000e-02 b-:1.000000e+02 + 48 28 Ni gs 0 1.000000e-09 pp:1.000000e+02 + 49 28 Ni gs 0 1.300000e-02 ce:5.000000e+01,pp:5.000000e+01 + 50 28 Ni gs 0 2.000000e-02 ce:1.000000e+02 + 51 28 Ni gs 0 3.000000e-02 ce:1.000000e+02 + 52 28 Ni gs 0 3.800000e-02 ce:0.000000e+00,ce/1:8.300000e+01,cep:1.700000e+01 + 53 28 Ni gs 0 4.500000e-02 ce:5.500000e+01,ce/1:0.000000e+00,cep:2.250000e+01,cep/1:2.250000e+01 + 54 28 Ni gs 0 1.430000e-01 ce:1.000000e+02,ce/1:0.000000e+00 + 55 28 Ni gs 0 2.070000e-01 ce:1.000000e+02 + 56 28 Ni gs 0 5.248800e+05 ce:1.000000e+02 + 57 28 Ni gs 0 1.285200e+05 ce:1.000000e+02 + 58 28 Ni gs 0 2.209030e+28 db+:1.000000e+02 + 59 28 Ni gs 0 2.398380e+12 ce:1.000000e+02 + 60 28 Ni gs 0 0.000000e+00 s + 61 28 Ni gs 0 0.000000e+00 s + 62 28 Ni gs 0 0.000000e+00 s + 63 28 Ni gs 0 3.124200e+09 b-:1.000000e+02 + 64 28 Ni gs 0 0.000000e+00 s + 65 28 Ni gs 0 9.072000e+03 b-:1.000000e+02 + 66 28 Ni gs 0 1.958400e+05 b-:1.000000e+02 + 67 28 Ni gs 0 2.100000e+01 b-:1.000000e+02 + 68 28 Ni gs 0 1.700000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 69 28 Ni gs 0 1.140000e+01 b-:1.000000e+02 + 69 28 Ni m 0 3.400000e+00 b-:5.000000e+01,it:5.000000e+01 + 70 28 Ni gs 0 5.000000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 71 28 Ni gs 0 1.900000e+00 b-:1.000000e+02 + 72 28 Ni gs 0 1.300000e+00 b-:1.000000e+02 + 73 28 Ni gs 0 6.000000e-01 b-:1.000000e+02 + 74 28 Ni gs 0 5.400000e-01 b-:1.000000e+02 + 75 28 Ni gs 0 6.000000e-01 b-:9.840000e+01,b-n:1.600000e+00 + 76 28 Ni gs 0 4.700000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 77 28 Ni gs 0 3.000000e-01 b-:1.000000e+02 + 78 28 Ni gs 0 2.000000e-01 b-:1.000000e+02 + 52 29 Cu gs 0 1.000000e-09 p:1.000000e+02 + 53 29 Cu gs 0 3.000000e-07 p:5.000000e+01,ce:5.000000e+01 + 54 29 Cu gs 0 7.500000e-08 p:1.000000e+02 + 55 29 Cu gs 0 4.000000e-02 ce:5.000000e+01,p:5.000000e+01 + 56 29 Cu gs 0 1.300000e-01 ce:1.000000e+02 + 57 29 Cu gs 0 1.963000e-01 ce:1.000000e+02 + 58 29 Cu gs 0 3.204000e+00 ce:1.000000e+02 + 59 29 Cu gs 0 8.150000e+01 ce:1.000000e+02 + 60 29 Cu gs 0 1.422000e+03 ce:1.000000e+02 + 61 29 Cu gs 0 1.199880e+04 ce:1.000000e+02 + 62 29 Cu gs 0 5.850000e+02 ce:1.000000e+02 + 63 29 Cu gs 0 0.000000e+00 s + 64 29 Cu gs 0 4.572720e+04 b-:3.886000e+01,ce:6.114000e+01 + 65 29 Cu gs 0 0.000000e+00 s + 66 29 Cu gs 0 3.060000e+02 b-:1.000000e+02 + 67 29 Cu gs 0 2.228400e+05 b-:1.000000e+02 + 68 29 Cu gs 0 3.110000e+01 b-:1.000000e+02 + 68 29 Cu m 0 2.250000e+02 it:8.400000e+01,b-:1.600000e+01 + 69 29 Cu gs 0 1.710000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 70 29 Cu gs 0 4.500000e+00 b-:1.000000e+02 + 70 29 Cu m 0 4.700000e+01 b-:1.000000e+02 + 71 29 Cu gs 0 1.950000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 72 29 Cu gs 0 6.600000e+00 b-:1.000000e+02 + 73 29 Cu gs 0 3.900000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 74 29 Cu gs 0 1.594000e+00 b-:1.000000e+02 + 75 29 Cu gs 0 1.224000e+00 b-:9.650000e+01,b-n:3.500000e+00 + 76 29 Cu gs 0 6.410000e-01 b-:9.700000e+01,b-n:3.000000e+00 + 76 29 Cu m 0 1.270000e+00 b-:1.000000e+02 + 77 29 Cu gs 0 4.690000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 78 29 Cu gs 0 3.420000e-01 b-:1.000000e+02 + 79 29 Cu gs 0 1.880000e-01 b-:4.500000e+01,b-n:5.500000e+01 + 80 29 Cu gs 0 1.000000e-01 b-:1.000000e+02 + 54 30 Zn gs 0 1.000000e-09 pp:1.000000e+02 + 55 30 Zn gs 0 2.000000e-02 ce:1.000000e+02 + 56 30 Zn gs 0 3.600000e-02 ce:1.000000e+02 + 57 30 Zn gs 0 4.000000e-02 ce:3.500000e+01,cep:6.500000e+01 + 58 30 Zn gs 0 8.600000e-02 ce:4.000000e+01,cep:6.000000e+01 + 59 30 Zn gs 0 1.820000e-01 ce:9.990000e+01,cep:1.000000e-01 + 60 30 Zn gs 0 1.428000e+02 ce:1.000000e+02 + 61 30 Zn gs 0 8.910000e+01 ce:1.000000e+02 + 61 30 Zn m 0 4.300000e-01 it:1.000000e+02 + 61 30 Zn m2 0 1.400000e-01 it:1.000000e+02,it/1:0.000000e+00 + 61 30 Zn m3 0 1.300000e-01 it:1.000000e+02,it/1:0.000000e+00,it/2:0.000000e+00 + 62 30 Zn gs 0 3.306960e+04 ce:1.000000e+02 + 63 30 Zn gs 0 2.304000e+03 ce:1.000000e+02 + 64 30 Zn gs 0 7.258250e+25 db+:1.000000e+02 + 65 30 Zn gs 0 2.110410e+07 ce:1.000000e+02 + 66 30 Zn gs 0 0.000000e+00 s + 67 30 Zn gs 0 0.000000e+00 s + 68 30 Zn gs 0 0.000000e+00 s + 69 30 Zn gs 0 3.384000e+03 b-:1.000000e+02 + 69 30 Zn m 0 4.953600e+04 it:9.996700e+01,b-:3.300000e-02 + 70 30 Zn gs 0 0.000000e+00 s + 71 30 Zn gs 0 1.470000e+02 b-:1.000000e+02 + 71 30 Zn m 0 1.425600e+04 b-:9.995000e+01,it:5.000000e-02 + 72 30 Zn gs 0 1.674000e+05 b-:0.000000e+00,b-/1:1.000000e+02 + 73 30 Zn gs 0 2.350000e+01 b-:1.000000e+02 + 73 30 Zn m 0 5.800000e+00 it:5.000000e+01,b-:5.000000e+01 + 74 30 Zn gs 0 9.560000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 75 30 Zn gs 0 1.020000e+01 b-:1.000000e+02 + 76 30 Zn gs 0 5.700000e+00 b-:1.000000e+02 + 77 30 Zn gs 0 2.080000e+00 b-:1.000000e+02 + 77 30 Zn m 0 1.050000e+00 it:5.000000e+01,b-:5.000000e+01 + 78 30 Zn gs 0 1.470000e+00 b-:1.000000e+02 + 79 30 Zn gs 0 9.950000e-01 b-:9.870000e+01,b-n:1.300000e+00 + 80 30 Zn gs 0 5.450000e-01 b-:9.900000e+01,b-n:1.000000e-00 + 81 30 Zn gs 0 2.900000e-01 b-:9.250000e+01,b-n:7.500000e+00 + 82 30 Zn gs 0 1.000000e-01 b-:1.000000e+02 + 83 30 Zn gs 0 8.000000e-02 b-:1.000000e+02 + 56 31 Ga gs 0 1.000000e-09 p:1.000000e+02 + 57 31 Ga gs 0 1.000000e-09 p:1.000000e+02 + 58 31 Ga gs 0 1.000000e-09 p:1.000000e+02 + 58 31 Ga m 0 1.000000e-09 p:1.000000e+02 + 59 31 Ga gs 0 1.000000e-09 p:1.000000e+02 + 60 31 Ga gs 0 1.000000e-01 ce:1.000000e+02 + 61 31 Ga gs 0 1.500000e-01 ce:8.580000e+01,ce/1:9.000000e+00,ce/2:6.000000e-01,ce/3:4.600000e+00 + 62 31 Ga gs 0 1.161200e-01 ce:1.000000e+02 + 63 31 Ga gs 0 3.240000e+01 ce:1.000000e+02 + 64 31 Ga gs 0 1.576200e+02 ce:1.000000e+02 + 65 31 Ga gs 0 9.120000e+02 ce:1.000000e+02 + 66 31 Ga gs 0 3.416400e+04 ce:1.000000e+02 + 67 31 Ga gs 0 2.817680e+05 ce:1.000000e+02 + 68 31 Ga gs 0 4.056600e+03 ce:1.000000e+02 + 69 31 Ga gs 0 0.000000e+00 s + 70 31 Ga gs 0 1.268400e+03 b-:9.959000e+01,ce:4.100000e-01 + 71 31 Ga gs 0 0.000000e+00 s + 72 31 Ga gs 0 5.076000e+04 b-:1.000000e+02 + 72 31 Ga m 0 3.968000e-02 it:1.000000e+02 + 73 31 Ga gs 0 1.749600e+04 b-:1.430000e+00,b-/1:9.857000e+01 + 74 31 Ga gs 0 4.872000e+02 b-:1.000000e+02 + 74 31 Ga m 0 9.500000e+00 it:7.500000e+01,b-:2.500000e+01 + 75 31 Ga gs 0 1.260000e+02 b-:9.600000e+01,b-/1:4.000000e+00 + 76 31 Ga gs 0 3.260000e+01 b-:1.000000e+02 + 77 31 Ga gs 0 1.300000e+01 b-/1:1.000000e+02 + 78 31 Ga gs 0 5.090000e+00 b-:1.000000e+02 + 79 31 Ga gs 0 2.847000e+00 b-:9.976110e+01,b-/1:1.498670e-01,b-n:8.900000e-02 + 80 31 Ga gs 0 1.697000e+00 b-:9.911000e+01,b-n:4.450000e-01,b-n/1:4.450000e-01 + 81 31 Ga gs 0 1.217000e+00 b-:4.652560e+01,b-/1:4.157440e+01,b-n:1.190000e+01 + 82 31 Ga gs 0 5.990000e-01 b-:7.850000e+01,b-n:1.075000e+01,b-n/1:1.075000e+01 + 83 31 Ga gs 0 3.080000e-01 b-:6.000000e+01,b-n:4.000000e+01 + 84 31 Ga gs 0 8.500000e-02 b-:3.000000e+01,b-n:7.000000e+01 + 85 31 Ga gs 0 5.000000e-02 b-:1.000000e+02 + 86 31 Ga gs 0 3.000000e-02 b-:1.000000e+02 + 58 32 Ge gs 0 1.000000e-09 pp:1.000000e+02 + 59 32 Ge gs 0 1.000000e-09 pp:1.000000e+02 + 60 32 Ge gs 0 3.000000e-02 ce:1.000000e+02 + 61 32 Ge gs 0 4.000000e-02 ce:2.000000e+01,cep:8.000000e+01 + 62 32 Ge gs 0 7.000000e-02 ce:1.000000e+02 + 63 32 Ge gs 0 9.700000e-02 ce:1.000000e+02 + 64 32 Ge gs 0 6.370000e+01 ce:1.000000e+02 + 65 32 Ge gs 0 3.090000e+01 ce:9.998900e+01,cep:1.100000e-02 + 66 32 Ge gs 0 8.136000e+03 ce:1.000000e+02 + 67 32 Ge gs 0 1.134000e+03 ce:1.000000e+02 + 68 32 Ge gs 0 2.339710e+07 ce:1.000000e+02 + 69 32 Ge gs 0 1.405800e+05 ce:1.000000e+02 + 70 32 Ge gs 0 0.000000e+00 s + 71 32 Ge gs 0 9.875520e+05 ce:1.000000e+02 + 71 32 Ge m 0 2.040000e-02 it:1.000000e+02 + 72 32 Ge gs 0 0.000000e+00 s + 73 32 Ge gs 0 0.000000e+00 s + 73 32 Ge m 0 4.990000e-01 it:1.000000e+02 + 74 32 Ge gs 0 0.000000e+00 s + 75 32 Ge gs 0 4.966800e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 75 32 Ge m 0 4.770000e+01 it:9.997000e+01,b-:0.000000e+00,b-/1:3.000000e-02 + 76 32 Ge gs 0 3.439780e+28 db-:1.000000e+02 + 77 32 Ge gs 0 4.068000e+04 b-:1.000000e+02 + 77 32 Ge m 0 5.290000e+01 b-:8.100000e+01,it:1.900000e+01 + 78 32 Ge gs 0 5.280000e+03 b-:1.000000e+02 + 79 32 Ge gs 0 1.898000e+01 b-:1.000000e+02 + 79 32 Ge m 0 3.900000e+01 b-:9.600000e+01,it:4.000000e+00 + 80 32 Ge gs 0 2.950000e+01 b-:1.000000e+02 + 81 32 Ge gs 0 8.000000e+00 b-:1.000000e+02 + 81 32 Ge m 0 7.600000e+00 b-:0.999900e+02,it:0.000010e+00 + 82 32 Ge gs 0 4.550000e+00 b-:1.000000e+02 + 83 32 Ge gs 0 1.850000e+00 b-:1.000000e+02 + 84 32 Ge gs 0 9.540000e-01 b-:4.460000e+01,b-/1:4.460000e+01,b-n:1.080000e+01 + 85 32 Ge gs 0 5.400000e-01 b-:8.600000e+01,b-n:7.000000e+00,b-n/1:7.000000e+00 + 86 32 Ge gs 0 3.000000e-01 b-:1.000000e+02 + 87 32 Ge gs 0 1.500000e-01 b-:1.000000e+02 + 88 32 Ge gs 0 8.000000e-02 b-:1.000000e+02 + 89 32 Ge gs 0 5.000000e-02 b-:1.000000e+02 + 60 33 As gs 0 1.000000e-09 p:1.000000e+02 + 60 33 As m 0 1.000000e-09 p:1.000000e+02 + 61 33 As gs 0 1.000000e-09 p:1.000000e+02 + 62 33 As gs 0 1.000000e-09 p:1.000000e+02 + 63 33 As gs 0 1.000000e-09 p:1.000000e+02 + 64 33 As gs 0 1.000000e-01 ce:1.000000e+02 + 65 33 As gs 0 1.900000e-01 ce:1.000000e+02 + 66 33 As gs 0 9.577000e-02 ce:1.000000e+02 + 67 33 As gs 0 4.250000e+01 ce:1.000000e+02 + 68 33 As gs 0 1.516000e+02 ce:1.000000e+02 + 69 33 As gs 0 9.120000e+02 ce:1.000000e+02 + 70 33 As gs 0 3.156000e+03 ce:1.000000e+02 + 71 33 As gs 0 2.350080e+05 ce:9.605000e+01,ce/1:3.950000e+00 + 72 33 As gs 0 9.360000e+04 ce:1.000000e+02 + 73 33 As gs 0 6.937920e+06 ce:0.000000e+00,ce/1:1.000000e+02 + 74 33 As gs 0 1.536190e+06 b-:3.400000e+01,ce:6.600000e+01 + 75 33 As gs 0 0.000000e+00 s + 75 33 As m 0 1.762000e-02 it:1.000000e+02 + 76 33 As gs 0 9.312190e+04 b-:9.998000e+01,ce:2.000000e-02 + 77 33 As gs 0 1.397880e+05 b-:9.968000e+01,b-/1:3.200000e-01 + 78 33 As gs 0 5.442000e+03 b-:1.000000e+02 + 79 33 As gs 0 5.406000e+02 b-:2.368620e+00,b-/1:9.763140e+01 + 80 33 As gs 0 1.520000e+01 b-:1.000000e+02 + 81 33 As gs 0 3.330000e+01 b-:9.641010e+01,b-/1:3.589860e+00 + 82 33 As gs 0 2.000000e+01 b-:1.000000e+02 + 82 33 As m 0 1.360000e+01 b-:1.000000e+02 + 83 33 As gs 0 1.340000e+01 b-:3.600000e+01,b-/1:6.400000e+01 + 84 33 As gs 0 4.020000e+00 b-:9.972000e+01,b-n:1.400000e-01,b-n/1:1.400000e-01 + 84 33 As m 0 6.500000e-01 b-:1.000000e+02 + 85 33 As gs 0 2.040000e+00 b-:7.800000e+01,b-n:2.200000e+01 + 86 33 As gs 0 9.450000e-01 b-:6.700000e+01,b-n:3.300000e+01 + 87 33 As gs 0 5.600000e-01 b-:8.460000e+01,b-n:1.540000e+01 + 88 33 As gs 0 3.000000e-01 b-:1.000000e+02 + 89 33 As gs 0 2.000000e-01 b-:1.000000e+02 + 90 33 As gs 0 8.000000e-02 b-:1.000000e+02 + 91 33 As gs 0 5.000000e-02 b-:1.000000e+02 + 92 33 As gs 0 3.000000e-02 b-:1.000000e+02 + 64 34 Se gs 0 1.000000e-09 ce:1.000000e+02 + 65 34 Se gs 0 5.000000e-02 ce:1.000000e+02 + 66 34 Se gs 0 5.000000e-02 ce:1.000000e+02 + 67 34 Se gs 0 6.900000e-02 ce:9.950000e+01,cep:5.000000e-01 + 68 34 Se gs 0 3.550000e+01 ce:1.000000e+02 + 69 34 Se gs 0 2.740000e+01 ce:9.995500e+01,cep:4.500000e-02 + 70 34 Se gs 0 2.466000e+03 ce:1.000000e+02 + 71 34 Se gs 0 2.844000e+02 ce:1.000000e+02 + 72 34 Se gs 0 7.257600e+05 ce:1.000000e+02 + 73 34 Se gs 0 2.574000e+04 ce:1.000000e+02 + 73 34 Se m 0 2.388000e+03 it:7.260000e+01,ce:2.740000e+01 + 74 34 Se gs 0 0.000000e+00 s + 75 34 Se gs 0 1.033690e+07 ce:1.000000e+02 + 76 34 Se gs 0 0.000000e+00 s + 77 34 Se gs 0 0.000000e+00 s + 77 34 Se m 0 1.736000e+01 it:1.000000e+02 + 78 34 Se gs 0 0.000000e+00 s + 79 34 Se gs 0 1.893460e+13 b-:1.000000e+02 + 79 34 Se m 0 2.340000e+02 it:9.994400e+01,b-:5.600000e-02 + 80 34 Se gs 0 0.000000e+00 s + 81 34 Se gs 0 1.107000e+03 b-:1.000000e+02 + 81 34 Se m 0 3.436800e+03 b-:5.200000e-02,it:9.994800e+01 + 82 34 Se gs 0 3.818470e+27 db-:1.000000e+02 + 83 34 Se gs 0 1.338000e+03 b-:1.000000e+02 + 83 34 Se m 0 7.010000e+01 b-:1.000000e+02 + 84 34 Se gs 0 1.860000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 85 34 Se gs 0 3.170000e+01 b-:1.000000e+02 + 86 34 Se gs 0 1.530000e+01 b-:1.000000e+02 + 87 34 Se gs 0 5.290000e+00 b-:1.000000e+02 + 88 34 Se gs 0 1.530000e+00 b-:9.901000e+01,b-n:9.900000e-01 + 89 34 Se gs 0 4.100000e-01 b-:9.220000e+01,b-n:7.800000e+00 + 90 34 Se gs 0 3.000000e-01 b-:1.000000e+02 + 91 34 Se gs 0 2.700000e-01 b-:7.900000e+01,b-n:2.100000e+01 + 92 34 Se gs 0 1.000000e-01 b-:1.000000e+02 + 93 34 Se gs 0 5.000000e-02 b-:1.000000e+02 + 94 34 Se gs 0 2.000000e-02 b-:1.000000e+02 + 67 35 Br gs 0 1.000000e-09 p:1.000000e+02 + 68 35 Br gs 0 1.500000e-06 p:1.000000e+02 + 69 35 Br gs 0 2.400000e-08 p:1.000000e+02 + 70 35 Br gs 0 7.910000e-02 ce:1.000000e+02 + 70 35 Br m 0 2.200000e+00 ce:5.000000e+01,it:5.000000e+01 + 71 35 Br gs 0 2.140000e+01 ce:1.000000e+02 + 72 35 Br gs 0 7.860000e+01 ce:1.000000e+02 + 72 35 Br m 0 1.060000e+01 it:1.000000e+02 + 73 35 Br gs 0 2.040000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 74 35 Br gs 0 1.524000e+03 ce:1.000000e+02 + 74 35 Br m 0 2.760000e+03 ce:1.000000e+02 + 75 35 Br gs 0 5.802000e+03 ce:1.000000e+02 + 76 35 Br gs 0 5.832000e+04 ce:1.000000e+02 + 76 35 Br m 0 1.310000e+00 it:9.940000e+01,ce:6.000000e-01 + 77 35 Br gs 0 2.053300e+05 ce:1.000000e+02,ce/1:0.000000e+00 + 77 35 Br m 0 2.568000e+02 it:1.000000e+02 + 78 35 Br gs 0 3.876000e+02 ce:9.999000e+01,b-:1.000000e-02 + 79 35 Br gs 0 0.000000e+00 s + 79 35 Br m 0 4.880000e+00 it:1.000000e+02 + 80 35 Br gs 0 1.056000e+03 b-:9.170000e+01,ce:8.300000e+00 + 80 35 Br m 0 1.587600e+04 it:1.000000e+02 + 81 35 Br gs 0 0.000000e+00 s + 82 35 Br gs 0 1.271520e+05 b-:1.000000e+02 + 82 35 Br m 0 3.654000e+02 b-:2.400000e+00,it:9.760000e+01 + 83 35 Br gs 0 8.640000e+03 b-:8.894660e-02,b-/1:9.991110e+01 + 84 35 Br gs 0 1.908000e+03 b-:1.000000e+02 + 84 35 Br m 0 3.600000e+02 b-:1.000000e+02 + 85 35 Br gs 0 1.740000e+02 b-:1.626210e-01,b-/1:9.983740e+01 + 86 35 Br gs 0 5.500000e+01 b-:1.000000e+02 + 87 35 Br gs 0 5.570000e+01 b-:9.749000e+01,b-n:2.510000e+00 + 88 35 Br gs 0 1.650000e+01 b-:9.330000e+01,b-n:6.700000e+00 + 89 35 Br gs 0 4.370000e+00 b-:8.590000e+01,b-n:1.410000e+01 + 90 35 Br gs 0 1.900000e+00 b-:7.540000e+01,b-n:2.460000e+01 + 91 35 Br gs 0 5.380000e-01 b-:8.000000e+01,b-n:2.000000e+01 + 92 35 Br gs 0 3.430000e-01 b-:6.690000e+01,b-n:3.310000e+01 + 93 35 Br gs 0 1.020000e-01 b-:8.900000e+01,b-n:1.100000e+01 + 94 35 Br gs 0 7.000000e-02 b-:7.000000e+01,b-n:3.000000e+01 + 95 35 Br gs 0 5.000000e-02 b-:1.000000e+02 + 96 35 Br gs 0 2.000000e-02 b-:1.000000e+02 + 97 35 Br gs 0 1.000000e-02 b-:1.000000e+02 + 69 36 Kr gs 0 3.200000e-02 ce:1.000000e+02 + 70 36 Kr gs 0 5.000000e-02 ce:0.000000e+00,ce/1:1.000000e+02 + 71 36 Kr gs 0 8.100000e-02 ce:9.480000e+01,cep:5.200000e+00 + 72 36 Kr gs 0 1.720000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 73 36 Kr gs 0 2.700000e+01 ce:9.932000e+01,cep:6.800000e-01 + 74 36 Kr gs 0 6.900000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 75 36 Kr gs 0 2.574000e+02 ce:1.000000e+02 + 76 36 Kr gs 0 5.328000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 77 36 Kr gs 0 4.464000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 78 36 Kr gs 0 3.471340e+27 db+:1.000000e+02 + 79 36 Kr gs 0 1.261440e+05 ce:1.000000e+02 + 79 36 Kr m 0 5.000000e+01 it:1.000000e+02 + 80 36 Kr gs 0 0.000000e+00 s + 81 36 Kr gs 0 6.627100e+12 ce:1.000000e+02 + 81 36 Kr m 0 1.320000e+01 ce:2.500000e-03,it:9.999750e+01 + 82 36 Kr gs 0 0.000000e+00 s + 83 36 Kr gs 0 0.000000e+00 s + 83 36 Kr m 0 6.588000e+03 it:1.000000e+02 + 84 36 Kr gs 0 0.000000e+00 s + 85 36 Kr gs 0 3.386020e+08 b-:1.000000e+02 + 85 36 Kr m 0 1.612800e+04 b-:7.890000e+01,it:2.110000e+01 + 86 36 Kr gs 0 0.000000e+00 s + 87 36 Kr gs 0 4.578000e+03 b-:1.000000e+02 + 88 36 Kr gs 0 1.022400e+04 b-:1.000000e+02 + 89 36 Kr gs 0 1.890000e+02 b-:1.000000e+02 + 90 36 Kr gs 0 3.232000e+01 b-:8.692000e+01,b-/1:1.308000e+01 + 91 36 Kr gs 0 8.570000e+00 b-:1.000000e+02 + 92 36 Kr gs 0 1.840000e+00 b-:1.000000e+02 + 93 36 Kr gs 0 1.286000e+00 b-:1.000000e+02 + 94 36 Kr gs 0 2.000000e-01 b-:9.430000e+01,b-n:5.700000e+00 + 95 36 Kr gs 0 7.800000e-01 b-:1.000000e+02 + 96 36 Kr gs 0 1.000000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 97 36 Kr gs 0 1.000000e-01 b-:1.000000e+02 + 98 36 Kr gs 0 5.000000e-02 b-:0.000000e+00,b-/1:1.000000e+02 + 99 36 Kr gs 0 2.000000e-02 b-:1.000000e+02 + 100 36 Kr gs 0 1.000000e-02 b-:1.000000e+02 + 71 37 Rb gs 0 1.000000e-09 p:1.000000e+02 + 72 37 Rb gs 0 1.500000e-06 p:1.000000e+02 + 73 37 Rb gs 0 3.000000e-08 p:1.000000e+02 + 74 37 Rb gs 0 6.490000e-02 ce:1.000000e+02 + 75 37 Rb gs 0 1.900000e+01 ce:1.000000e+02 + 76 37 Rb gs 0 3.650000e+01 ce:1.000000e+02,cen:3.800000e-07 + 77 37 Rb gs 0 2.262000e+02 ce:1.000000e+02 + 78 37 Rb gs 0 1.059600e+03 ce:1.000000e+02 + 78 37 Rb m 0 3.444000e+02 ce:9.000000e+01,it:1.000000e+01 + 79 37 Rb gs 0 1.374000e+03 ce:5.000000e+01,ce/1:5.000000e+01 + 80 37 Rb gs 0 3.340000e+01 ce:1.000000e+02 + 81 37 Rb gs 0 1.647360e+04 ce:4.520000e+00,ce/1:9.548000e+01 + 81 37 Rb m 0 1.830000e+03 it:9.760000e+01,ce:2.380080e+00,ce/1:1.992000e-02 + 82 37 Rb gs 0 7.638000e+01 ce:1.000000e+02 + 82 37 Rb m 0 2.329920e+04 ce:9.967000e+01,it:3.300000e-01 + 83 37 Rb gs 0 7.447680e+06 ce:2.500000e+01,ce/1:7.500000e+01 + 83 37 Rb m 0 7.800000e-03 it:1.000000e+02 + 84 37 Rb gs 0 2.894400e+06 b-:3.200000e+00,ce:9.680000e+01 + 84 37 Rb m 0 1.224000e+03 it:1.000000e+02 + 85 37 Rb gs 0 0.000000e+00 s + 86 37 Rb gs 0 1.609630e+06 b-:9.999480e+01,ce:5.200000e-03 + 86 37 Rb m 0 6.100000e+01 it:1.000000e+02 + 87 37 Rb gs 0 1.498990e+18 b-:1.000000e+02 + 88 37 Rb gs 0 1.066800e+03 b-:1.000000e+02 + 89 37 Rb gs 0 9.090000e+02 b-:1.000000e+02 + 90 37 Rb gs 0 1.580000e+02 b-:1.000000e+02 + 90 37 Rb m 0 2.580000e+02 it:2.600000e+00,b-:9.740000e+01 + 91 37 Rb gs 0 5.840000e+01 b-:1.000000e+02 + 92 37 Rb gs 0 4.492000e+00 b-:1.000000e+02 + 93 37 Rb gs 0 5.800000e+00 b-:9.860000e+01,b-n:1.400000e+00 + 94 37 Rb gs 0 2.702000e+00 b-:8.990000e+01,b-n:1.010000e+01 + 95 37 Rb gs 0 3.810000e-01 b-:9.140000e+01,b-n:8.600000e+00 + 96 37 Rb gs 0 1.990000e-01 b-:8.660000e+01,b-n:1.340000e+01 + 96 37 Rb m 0 2.000000e-01 b-:5.000000e+01,it:5.000000e+01 + 97 37 Rb gs 0 1.699000e-01 b-:7.490000e+01,b-n:2.510000e+01 + 98 37 Rb gs 0 1.140000e-01 b-:8.614900e+01,b-n:1.380000e+01,b-n:5.100000e-02 + 98 37 Rb m 0 9.600000e-02 b-:1.000000e+02 + 99 37 Rb gs 0 5.030000e-02 b-:8.410000e+01,b-n:1.590000e+01 + 100 37 Rb gs 0 5.100000e-02 b-:9.425000e+01,b-n:5.600000e+00,b-n:1.500000e-01 + 101 37 Rb gs 0 3.200000e-02 b-:7.200000e+01,b-n:2.800000e+01 + 102 37 Rb gs 0 3.700000e-02 b-:8.200000e+01,b-n:1.800000e+01 + 73 38 Sr gs 0 2.500000e-02 ce:1.000000e+02 + 74 38 Sr gs 0 5.000000e-02 ce:1.000000e+02 + 75 38 Sr gs 0 1.000000e-01 ce:9.350000e+01,cep:6.500000e+00 + 76 38 Sr gs 0 8.900000e+00 ce:1.000000e+02 + 77 38 Sr gs 0 9.000000e+00 ce:9.975000e+01,cep:2.500000e-01 + 78 38 Sr gs 0 1.590000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 79 38 Sr gs 0 1.350000e+02 ce:1.000000e+02 + 80 38 Sr gs 0 6.378000e+03 ce:1.000000e+02 + 81 38 Sr gs 0 1.338000e+03 ce:9.990000e+01,ce/1:1.000000e-01 + 82 38 Sr gs 0 2.207520e+06 ce:1.000000e+02,ce/1:0.000000e+00 + 83 38 Sr gs 0 1.166760e+05 ce:1.000000e+02 + 83 38 Sr m 0 4.950000e+00 it:1.000000e+02 + 84 38 Sr gs 0 0.000000e+00 s + 85 38 Sr gs 0 5.602950e+06 ce:1.000000e+02 + 85 38 Sr m 0 4.056600e+03 ce:1.340000e+01,it:8.660000e+01 + 86 38 Sr gs 0 0.000000e+00 s + 87 38 Sr gs 0 0.000000e+00 s + 87 38 Sr m 0 1.010880e+04 it:9.970000e+01,ce:3.000000e-01 + 88 38 Sr gs 0 0.000000e+00 s + 89 38 Sr gs 0 4.364930e+06 b-:9.999040e+01,b-/1:9.640000e-03 + 90 38 Sr gs 0 9.110020e+08 b-:1.000000e+02 + 91 38 Sr gs 0 3.466800e+04 b-:4.116470e+01,b-/1:5.883530e+01 + 92 38 Sr gs 0 9.756000e+03 b-:1.000000e+02 + 93 38 Sr gs 0 4.453800e+02 b-:6.466000e+01,b-/1:3.534000e+01 + 94 38 Sr gs 0 7.520000e+01 b-:1.000000e+02 + 95 38 Sr gs 0 2.390000e+01 b-:1.000000e+02 + 96 38 Sr gs 0 1.060000e+00 b-:1.000000e+02 + 97 38 Sr gs 0 4.290000e-01 b-:8.507740e+01,b-/1:1.487260e+01,b-/2:0.000000e+00,b-n:2.500000e-02,b-n/1:2.500000e-02 + 98 38 Sr gs 0 6.530000e-01 b-:9.955050e+01,b-/1:1.995000e-01,b-n:1.250000e-01,b-n/1:1.250000e-01 + 99 38 Sr gs 0 2.700000e-01 b-:1.000000e+02 + 100 38 Sr gs 0 2.020000e-01 b-:9.922000e+01,b-/1:0.000000e+00,b-n:7.800000e-01 + 101 38 Sr gs 0 1.180000e-01 b-:9.763000e+01,b-n:1.185000e+00,b-n/1:1.185000e+00 + 102 38 Sr gs 0 6.900000e-02 b-:4.725000e+01,b-/1:4.725000e+01,b-n:5.500000e+00 + 103 38 Sr gs 0 5.000000e-02 b-:1.000000e+02 + 104 38 Sr gs 0 3.000000e-02 b-:1.000000e+02 + 105 38 Sr gs 0 2.000000e-02 b-:1.000000e+02 + 77 39 Y gs 0 1.000000e-06 p:5.000000e+01,ce:5.000000e+01 + 78 39 Y gs 0 5.500000e-02 ce:1.000000e+02 + 79 39 Y gs 0 1.480000e+01 ce:1.000000e+02 + 80 39 Y gs 0 3.500000e+01 ce:1.000000e+02 + 81 39 Y gs 0 7.040000e+01 ce:1.000000e+02 + 82 39 Y gs 0 9.500000e+00 ce:1.000000e+02 + 83 39 Y gs 0 4.248000e+02 ce:9.778000e+01,ce/1:2.220000e+00 + 83 39 Y m 0 1.710000e+02 ce:0.000000e+00,ce/1:6.000000e+01,it:4.000000e+01 + 84 39 Y gs 0 4.600000e+00 ce:1.000000e+02 + 84 39 Y m 0 2.370000e+03 ce:1.000000e+02 + 85 39 Y gs 0 9.648000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 85 39 Y m 0 1.749600e+04 ce:8.881820e+01,ce/1:1.117980e+01,it:2.000000e-03 + 86 39 Y gs 0 5.306400e+04 ce:1.000000e+02 + 86 39 Y m 0 2.880000e+03 it:9.931000e+01,ce:6.900000e-01 + 87 39 Y gs 0 2.872800e+05 ce:0.000000e+00,ce/1:1.000000e+02 + 87 39 Y m 0 4.813200e+04 it:9.843000e+01,ce:1.570000e+00,ce/1:0.000000e+00 + 88 39 Y gs 0 9.212830e+06 ce:1.000000e+02 + 88 39 Y m 0 1.390000e-02 it:1.000000e+02 + 89 39 Y gs 0 0.000000e+00 s + 89 39 Y m 0 1.605000e+01 it:1.000000e+02 + 90 39 Y gs 0 2.307960e+05 b-:1.000000e+02 + 90 39 Y m 0 1.148400e+04 it:1.000000e+02 + 91 39 Y gs 0 5.071680e+06 b-:1.000000e+02 + 91 39 Y m 0 2.983200e+03 it:1.000000e+02 + 92 39 Y gs 0 1.274400e+04 b-:1.000000e+02 + 93 39 Y gs 0 3.664800e+04 b-:1.000000e+02 + 93 39 Y m 0 8.200000e-01 it:1.000000e+02 + 94 39 Y gs 0 1.122000e+03 b-:1.000000e+02 + 95 39 Y gs 0 6.180000e+02 b-:1.000000e+02 + 96 39 Y gs 0 5.370000e+00 b-:1.000000e+02 + 96 39 Y m 0 9.620000e+00 b-:1.000000e+02 + 97 39 Y gs 0 3.750000e+00 b-:1.000000e+02 + 97 39 Y m 0 1.170000e+00 b-:9.922000e+01,it:7.000000e-01,b-n:8.000000e-02 + 97 39 Y m2 0 1.420000e-01 it:0.000000e+00,it/1:8.000000e+01,b-:2.000000e+01 + 98 39 Y gs 0 5.900000e-01 b-:9.973000e+01,b-n:2.700000e-01 + 98 39 Y m 0 2.000000e+00 b-:9.656000e+01,b-n:3.440000e+00 + 99 39 Y gs 0 1.477000e+00 b-:9.830000e+01,b-n:1.700000e+00 + 100 39 Y gs 0 7.350000e-01 b-:9.908000e+01,b-n:9.200000e-01 + 100 39 Y m 0 9.400000e-01 b-:1.000000e+02 + 101 39 Y gs 0 4.500000e-01 b-:1.000000e+02 + 102 39 Y gs 0 3.000000e-01 b-:9.510000e+01,b-n:4.900000e+00 + 102 39 Y m 0 3.600000e-01 b-:9.510000e+01,b-n:4.900000e+00 + 103 39 Y gs 0 2.240000e-01 b-:9.170000e+01,b-n:8.300000e+00 + 104 39 Y gs 0 1.300000e-01 b-:9.122300e+01,b-n:8.776900e+00 + 105 39 Y gs 0 1.500000e-01 b-:8.024700e+01,b-n:1.975300e+01 + 106 39 Y gs 0 5.000000e-02 b-:1.000000e+02 + 107 39 Y gs 0 3.000000e-02 b-:1.000000e+02 + 108 39 Y gs 0 2.000000e-02 b-:1.000000e+02 + 79 40 Zr gs 0 1.000000e-01 ce:1.000000e+02 + 80 40 Zr gs 0 4.200000e+00 ce:1.000000e+02 + 81 40 Zr gs 0 5.500000e+00 ce:9.988000e+01,cep:1.200000e-01 + 82 40 Zr gs 0 3.200000e+01 ce:1.000000e+02 + 83 40 Zr gs 0 4.400000e+01 ce:3.880000e+00,ce/1:9.612000e+01 + 84 40 Zr gs 0 1.554000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 85 40 Zr gs 0 4.716000e+02 ce:3.410000e+00,ce/1:9.659000e+01 + 85 40 Zr m 0 1.090000e+01 it:9.200000e+01,ce:8.000000e+00,ce/1:0.000000e+00 + 86 40 Zr gs 0 5.940000e+04 ce:5.000000e+01,ce/1:5.000000e+01 + 87 40 Zr gs 0 6.048000e+03 ce:1.000000e-01,ce/1:9.990000e+01 + 87 40 Zr m 0 1.400000e+01 it:1.000000e+02 + 88 40 Zr gs 0 7.205760e+06 ce:1.000000e+02 + 89 40 Zr gs 0 2.822400e+05 ce:1.300000e-01,ce/1:9.987000e+01 + 89 40 Zr m 0 2.508000e+02 ce:6.660000e+00,it:9.334000e+01 + 90 40 Zr gs 0 0.000000e+00 s + 90 40 Zr m 0 8.092000e-01 it:1.000000e+02 + 91 40 Zr gs 0 0.000000e+00 s + 92 40 Zr gs 0 0.000000e+00 s + 93 40 Zr gs 0 4.828310e+13 b-:2.500000e+00,b-/1:9.750000e+01 + 94 40 Zr gs 0 1.893460e+23 db-:1.000000e+02 + 95 40 Zr gs 0 5.532190e+06 b-:9.890000e+01,b-/1:1.100000e+00 + 96 40 Zr gs 0 1.230750e+27 db-:1.000000e+02 + 97 40 Zr gs 0 6.027840e+04 b-:4.952120e+00,b-/1:9.504790e+01 + 98 40 Zr gs 0 3.070000e+01 b-:1.000000e+02 + 99 40 Zr gs 0 2.100000e+00 b-:7.120000e+01,b-/1:2.880000e+01 + 100 40 Zr gs 0 7.100000e+00 b-:1.000000e+02 + 101 40 Zr gs 0 2.300000e+00 b-:1.000000e+02 + 102 40 Zr gs 0 2.900000e+00 b-:1.000000e+02 + 103 40 Zr gs 0 1.300000e+00 b-:1.000000e+02 + 104 40 Zr gs 0 1.200000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 105 40 Zr gs 0 6.000000e-01 b-:9.860000e+01,b-n:1.400000e+00 + 106 40 Zr gs 0 9.000000e-01 b-:9.847600e+01,b-n:1.524200e+00 + 107 40 Zr gs 0 2.400000e-01 b-:9.628700e+01,b-n:3.712700e+00 + 108 40 Zr gs 0 8.000000e-02 b-:1.000000e+02 + 109 40 Zr gs 0 6.000000e-02 b-:1.000000e+02 + 110 40 Zr gs 0 3.000000e-02 b-:1.000000e+02 + 81 41 Nb gs 0 1.000000e-01 p:5.000000e+01,ce:5.000000e+01 + 82 41 Nb gs 0 5.000000e-02 ce:1.000000e+02 + 83 41 Nb gs 0 4.100000e+00 ce:1.000000e+02 + 84 41 Nb gs 0 1.200000e+01 ce:1.000000e+02 + 85 41 Nb gs 0 2.090000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 86 41 Nb gs 0 8.800000e+01 ce:1.000000e+02 + 86 41 Nb m 0 5.600000e+01 ce:1.000000e+02 + 87 41 Nb gs 0 2.220000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 87 41 Nb m 0 1.560000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 88 41 Nb gs 0 8.700000e+02 ce:1.000000e+02 + 88 41 Nb m 0 4.680000e+02 ce:1.000000e+02 + 89 41 Nb gs 0 7.308000e+03 ce:9.842000e+01,ce/1:1.580000e+00 + 89 41 Nb m 0 3.960000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 90 41 Nb gs 0 5.256000e+04 ce:1.810000e+00,ce/1:9.819000e+01 + 90 41 Nb m 0 1.881000e+01 it:1.000000e+02 + 90 41 Nb m2 0 6.190000e-03 it:0.000000e+00,it/1:1.000000e+02 + 91 41 Nb gs 0 2.145920e+10 ce:1.000000e+02 + 91 41 Nb m 0 5.261760e+06 it:9.760000e+01,ce:2.400000e+00 + 92 41 Nb gs 0 1.104520e+15 ce:1.000000e+02 + 92 41 Nb m 0 8.769600e+05 ce:1.000000e+02 + 93 41 Nb gs 0 0.000000e+00 s + 93 41 Nb m 0 5.088960e+08 it:1.000000e+02 + 94 41 Nb gs 0 6.307200e+11 b-:1.000000e+02 + 94 41 Nb m 0 3.756000e+02 b-:5.000000e-01,it:9.950000e+01 + 95 41 Nb gs 0 3.021840e+06 b-:1.000000e+02 + 95 41 Nb m 0 3.117600e+05 b-:3.400000e+00,it:9.660000e+01 + 96 41 Nb gs 0 8.406000e+04 b-:1.000000e+02 + 97 41 Nb gs 0 4.326000e+03 b-:1.000000e+02 + 97 41 Nb m 0 5.270000e+01 it:1.000000e+02 + 98 41 Nb gs 0 2.860000e+00 b-:1.000000e+02 + 98 41 Nb m 0 3.078000e+03 b-:1.000000e+02 + 99 41 Nb gs 0 1.500000e+01 b-:1.000000e+02 + 99 41 Nb m 0 1.560000e+02 b-:9.626719e+01,it:3.732809e+00 + 100 41 Nb gs 0 1.400000e+00 b-:1.000000e+02 + 100 41 Nb m 0 2.900000e+00 b-:1.000000e+02 + 101 41 Nb gs 0 7.100000e+00 b-:1.000000e+02 + 102 41 Nb gs 0 1.300000e+00 b-:1.000000e+02 + 102 41 Nb m 0 4.300000e+00 b-:1.000000e+02 + 103 41 Nb gs 0 1.500000e+00 b-:1.000000e+02 + 104 41 Nb gs 0 4.900000e+00 b-:9.994000e+01,b-n:6.000000e-02 + 104 41 Nb m 0 9.400000e-01 b-:9.995000e+01,b-n:5.000000e-02 + 105 41 Nb gs 0 2.950000e+00 b-:9.830000e+01,b-n:1.700000e+00 + 106 41 Nb gs 0 9.200000e-01 b-:9.550000e+01,b-n:4.500000e+00 + 107 41 Nb gs 0 3.000000e-01 b-:9.400000e+01,b-n:6.000000e+00 + 108 41 Nb gs 0 1.930000e-01 b-:9.380000e+01,b-n:6.200000e+00 + 109 41 Nb gs 0 1.900000e-01 b-:8.734700e+01,b-n:1.265300e+01 + 110 41 Nb gs 0 1.700000e-01 b-:6.000000e+01,b-n:4.000000e+01 + 111 41 Nb gs 0 8.000000e-02 b-:1.000000e+02 + 112 41 Nb gs 0 6.000000e-02 b-:1.000000e+02 + 113 41 Nb gs 0 3.000000e-02 b-:1.000000e+02 + 83 42 Mo gs 0 1.000000e-01 ce:1.000000e+02 + 84 42 Mo gs 0 3.000000e-01 ce:1.000000e+02 + 85 42 Mo gs 0 3.200000e+00 ce:1.000000e+02 + 86 42 Mo gs 0 1.960000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 87 42 Mo gs 0 1.340000e+01 ce:4.250000e+01,ce/1:4.250000e+01,cep:1.500000e+01 + 88 42 Mo gs 0 4.800000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 89 42 Mo gs 0 1.266000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 89 42 Mo m 0 1.900000e-01 it:1.000000e+02 + 90 42 Mo gs 0 2.001600e+04 ce:6.700000e+00,ce/1:0.000000e+00,ce/2:9.330000e+01 + 91 42 Mo gs 0 9.294000e+02 ce:9.996600e+01,ce/1:3.400000e-02 + 91 42 Mo m 0 6.460000e+01 it:5.000000e+01,ce:0.000000e+00,ce/1:5.000000e+01 + 92 42 Mo gs 0 5.995940e+27 db+:1.000000e+02 + 93 42 Mo gs 0 9.504000e+10 ce:1.500000e+01,ce/1:8.500000e+01 + 93 42 Mo m 0 2.466000e+04 ce:1.200000e-01,it:9.988000e+01 + 94 42 Mo gs 0 0.000000e+00 s + 95 42 Mo gs 0 0.000000e+00 s + 96 42 Mo gs 0 0.000000e+00 s + 97 42 Mo gs 0 0.000000e+00 s + 98 42 Mo gs 0 3.155760e+21 db-:1.000000e+02 + 99 42 Mo gs 0 2.374200e+05 b-:1.190000e+01,b-/1:8.810000e+01 + 100 42 Mo gs 0 3.124200e+26 db-:1.000000e+02 + 101 42 Mo gs 0 8.766000e+02 b-:1.000000e+02 + 102 42 Mo gs 0 6.780000e+02 b-:1.000000e+02 + 103 42 Mo gs 0 6.750000e+01 b-:1.000000e+02 + 104 42 Mo gs 0 6.000000e+01 b-:1.000000e+02 + 105 42 Mo gs 0 3.560000e+01 b-:1.000000e+02 + 106 42 Mo gs 0 8.730000e+00 b-:1.000000e+02 + 107 42 Mo gs 0 3.500000e+00 b-:1.000000e+02 + 108 42 Mo gs 0 1.090000e+00 b-:1.000000e+02 + 109 42 Mo gs 0 5.000000e-01 b-:9.947000e+01,b-n:5.300000e-01 + 110 42 Mo gs 0 3.000000e-01 b-:1.000000e+02 + 111 42 Mo gs 0 5.000000e-01 b-:9.897000e+01,b-n:1.030300e+00 + 112 42 Mo gs 0 1.000000e+00 b-:9.792100e+01,b-n:2.078800e+00 + 113 42 Mo gs 0 1.000000e-01 b-:1.000000e+02 + 114 42 Mo gs 0 8.000000e-02 b-:1.000000e+02 + 115 42 Mo gs 0 6.000000e-02 b-:1.000000e+02 + 85 43 Tc gs 0 1.000000e-01 p:5.000000e+01,ce:5.000000e+01 + 86 43 Tc gs 0 4.700000e-02 ce:1.000000e+02 + 87 43 Tc gs 0 5.000000e-01 ce:1.000000e+02 + 88 43 Tc gs 0 5.800000e+00 ce:1.000000e+02 + 88 43 Tc m 0 6.400000e+00 ce:1.000000e+02 + 89 43 Tc gs 0 1.280000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 89 43 Tc m 0 1.290000e+01 ce:4.999500e+01,ce/1:4.999500e+01,it:9.999000e-03 + 90 43 Tc gs 0 8.700000e+00 ce:1.000000e+02 + 90 43 Tc m 0 4.920000e+01 ce:1.000000e+02 + 91 43 Tc gs 0 1.884000e+02 ce:9.932000e+01,ce/1:6.800000e-01 + 91 43 Tc m 0 1.980000e+02 ce:2.455200e+00,ce/1:9.654480e+01,it:1.000000e-00 + 92 43 Tc gs 0 2.550000e+02 ce:1.000000e+02 + 93 43 Tc gs 0 9.900000e+03 ce:5.000000e+01,ce/1:5.000000e+01 + 93 43 Tc m 0 2.610000e+03 it:7.660000e+01,ce:1.170000e+01,ce/1:1.170000e+01 + 94 43 Tc gs 0 1.758000e+04 ce:1.000000e+02 + 94 43 Tc m 0 3.120000e+03 ce:9.990000e+01,it:1.000000e-01 + 95 43 Tc gs 0 7.200000e+04 ce:1.000000e+02 + 95 43 Tc m 0 5.270400e+06 ce:9.612000e+01,it:3.880000e+00 + 96 43 Tc gs 0 3.697920e+05 ce:1.000000e+02 + 96 43 Tc m 0 3.090000e+03 it:9.800000e+01,ce:2.000000e+00 + 97 43 Tc gs 0 8.204980e+13 ce:1.000000e+02 + 97 43 Tc m 0 7.793280e+06 it:1.000000e+02 + 98 43 Tc gs 0 1.325420e+14 b-:1.000000e+02 + 99 43 Tc gs 0 6.668120e+12 b-:1.000000e+02 + 99 43 Tc m 0 2.163600e+04 b-:3.700000e-03,it:9.999630e+01 + 100 43 Tc gs 0 1.580000e+01 b-:9.999820e+01,ce:1.800000e-03 + 101 43 Tc gs 0 8.520000e+02 b-:1.000000e+02 + 102 43 Tc gs 0 5.280000e+00 b-:1.000000e+02 + 102 43 Tc m 0 2.610000e+02 b-:1.000000e+02 + 103 43 Tc gs 0 5.420000e+01 b-:1.000000e+02 + 104 43 Tc gs 0 1.098000e+03 b-:1.000000e+02 + 105 43 Tc gs 0 4.560000e+02 b-:1.000000e+02 + 106 43 Tc gs 0 3.600000e+01 b-:1.000000e+02 + 107 43 Tc gs 0 2.120000e+01 b-:1.000000e+02 + 108 43 Tc gs 0 5.170000e+00 b-:1.000000e+02 + 109 43 Tc gs 0 8.600000e-01 b-:9.992000e+01,b-n:8.000000e-02 + 110 43 Tc gs 0 9.200000e-01 b-:9.996000e+01,b-n:4.000000e-02 + 111 43 Tc gs 0 2.900000e-01 b-:9.915000e+01,b-n:8.500000e-01 + 112 43 Tc gs 0 2.900000e-01 b-:9.850000e+01,b-n:1.500000e+00 + 113 43 Tc gs 0 1.300000e-01 b-:9.281400e+01,b-n:7.186400e+00 + 114 43 Tc gs 0 2.000000e-01 b-:9.346400e+01,b-n:6.535800e+00 + 115 43 Tc gs 0 2.700000e-01 b-:8.566300e+01,b-n:1.433700e+01 + 116 43 Tc gs 0 1.200000e-01 b-:8.777700e+01,b-n:1.222300e+01 + 117 43 Tc gs 0 4.000000e-02 b-:1.000000e+02 + 118 43 Tc gs 0 3.000000e-02 b-:1.000000e+02 + 87 44 Ru gs 0 5.000000e-02 ce:1.000000e+02 + 88 44 Ru gs 0 3.000000e-01 ce:5.000000e+01,ce/1:5.000000e+01 + 89 44 Ru gs 0 1.000000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 90 44 Ru gs 0 1.100000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 91 44 Ru gs 0 9.000000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 91 44 Ru m 0 7.600000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 92 44 Ru gs 0 2.190000e+02 ce:1.000000e+02 + 93 44 Ru gs 0 5.970000e+01 ce:9.958000e+01,ce/1:4.200000e-01 + 93 44 Ru m 0 1.080000e+01 ce:0.000000e+00,ce/1:7.797300e+01,it:2.200000e+01,cep:2.700000e-02 + 94 44 Ru gs 0 3.108000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 95 44 Ru gs 0 5.914800e+03 ce:9.725000e+01,ce/1:2.750000e+00 + 96 44 Ru gs 0 2.114360e+24 db+:1.000000e+02 + 97 44 Ru gs 0 2.505600e+05 ce:9.996000e+01,ce/1:4.000000e-02 + 98 44 Ru gs 0 0.000000e+00 s + 99 44 Ru gs 0 0.000000e+00 s + 100 44 Ru gs 0 0.000000e+00 s + 101 44 Ru gs 0 0.000000e+00 s + 102 44 Ru gs 0 0.000000e+00 s + 103 44 Ru gs 0 3.392060e+06 b-:1.150000e+00,b-/1:9.885000e+01 + 103 44 Ru m 0 1.690000e-03 it:1.000000e+02 + 104 44 Ru gs 0 0.000000e+00 s + 105 44 Ru gs 0 1.598400e+04 b-:7.161230e+01,b-/1:2.838770e+01 + 106 44 Ru gs 0 3.227820e+07 b-:1.000000e+02 + 107 44 Ru gs 0 2.250000e+02 b-:1.000000e+02 + 108 44 Ru gs 0 2.730000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 109 44 Ru gs 0 3.450000e+01 b-:1.000000e+02 + 110 44 Ru gs 0 1.160000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 111 44 Ru gs 0 2.120000e+00 b-:1.000000e+02 + 112 44 Ru gs 0 1.750000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 113 44 Ru gs 0 8.000000e-01 b-:1.000000e+02 + 114 44 Ru gs 0 5.300000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 115 44 Ru gs 0 7.000000e-01 b-:9.977200e+01,b-n:2.276000e-01 + 116 44 Ru gs 0 1.700000e+00 b-:9.891900e+01,b-n:1.081100e+00 + 117 44 Ru gs 0 3.400000e-01 b-:9.794900e+01,b-n:2.050900e+00 + 118 44 Ru gs 0 7.000000e-01 b-:9.589100e+01,b-n:4.109200e+00 + 119 44 Ru gs 0 1.900000e-01 b-/1:9.564200e+01,b-n:4.358000e+00 + 120 44 Ru gs 0 8.000000e-02 b-:1.000000e+02 + 89 45 Rh gs 0 1.000000e-02 ce:1.000000e+02 + 90 45 Rh gs 0 2.000000e-01 ce:1.000000e+02 + 91 45 Rh gs 0 2.000000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 92 45 Rh gs 0 3.300000e+00 ce:1.000000e+02 + 93 45 Rh gs 0 1.000000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 94 45 Rh gs 0 7.060000e+01 ce:9.820000e+01,cep:9.000000e-01,cep/1:9.000000e-01 + 94 45 Rh m 0 2.580000e+01 ce:1.000000e+02 + 95 45 Rh gs 0 3.012000e+02 ce:1.000000e+02 + 95 45 Rh m 0 1.176000e+02 it:8.800000e+01,ce:1.200000e+01 + 96 45 Rh gs 0 5.940000e+02 ce:1.000000e+02 + 96 45 Rh m 0 9.060000e+01 it:6.000000e+01,ce:4.000000e+01 + 97 45 Rh gs 0 1.842000e+03 ce:1.000000e+02 + 97 45 Rh m 0 2.772000e+03 ce:9.440000e+01,it:5.600000e+00 + 98 45 Rh gs 0 5.220000e+02 ce:1.000000e+02 + 98 45 Rh m 0 2.100000e+02 ce:5.000000e+01,it:5.000000e+01 + 99 45 Rh gs 0 1.391040e+06 ce:1.000000e+02 + 99 45 Rh m 0 1.692000e+04 ce:9.984000e+01,it:1.600000e-01 + 100 45 Rh gs 0 7.488000e+04 ce:1.000000e+02 + 100 45 Rh m 0 2.760000e+02 it:9.830000e+01,ce:1.700000e+00 + 101 45 Rh gs 0 1.041400e+08 ce:1.000000e+02 + 101 45 Rh m 0 3.749760e+05 ce:9.360000e+01,it:6.400000e+00 + 102 45 Rh gs 0 9.158400e+07 ce:1.000000e+02 + 102 45 Rh m 0 1.797120e+07 b-:2.000000e+01,ce:7.500000e+01,it:5.000000e+00 + 103 45 Rh gs 0 0.000000e+00 s + 103 45 Rh m 0 3.366900e+03 it:1.000000e+02 + 104 45 Rh gs 0 4.230000e+01 b-:9.955000e+01,ce:4.500000e-01 + 104 45 Rh m 0 2.604000e+02 b-:1.300000e-01,it:9.987000e+01 + 105 45 Rh gs 0 1.273680e+05 b-:1.000000e+02 + 105 45 Rh m 0 4.000000e+01 it:1.000000e+02 + 106 45 Rh gs 0 3.010000e+01 b-:1.000000e+02 + 106 45 Rh m 0 7.920000e+03 b-:1.000000e+02 + 107 45 Rh gs 0 1.302000e+03 b-:1.000000e+02 + 108 45 Rh gs 0 1.680000e+01 b-:1.000000e+02 + 108 45 Rh m 0 3.600000e+02 b-:1.000000e+02 + 109 45 Rh gs 0 8.000000e+01 b-:5.000000e+01,b-/1:5.000000e+01 + 110 45 Rh gs 0 3.200000e+00 b-:1.000000e+02 + 110 45 Rh m 0 2.850000e+01 b-:1.000000e+02 + 111 45 Rh gs 0 1.100000e+01 b-:9.960000e+01,b-/1:4.000000e-01 + 112 45 Rh gs 0 2.100000e+00 b-:1.000000e+02 + 112 45 Rh m 0 6.800000e+00 b-:1.000000e+02 + 113 45 Rh gs 0 2.800000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 114 45 Rh gs 0 1.850000e+00 b-:1.000000e+02 + 114 45 Rh m 0 1.850000e+00 b-:1.000000e+02 + 115 45 Rh gs 0 9.900000e-01 b-:8.548000e+01,b-/1:1.452000e+01 + 116 45 Rh gs 0 6.800000e-01 b-:1.000000e+02 + 116 45 Rh m 0 9.000000e-01 b-:1.000000e+02 + 117 45 Rh gs 0 4.400000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 118 45 Rh gs 0 3.200000e-01 b-:9.708300e+01,b-n:2.916700e+00 + 119 45 Rh gs 0 3.000000e-01 b-:1.000000e+02 + 120 45 Rh gs 0 1.700000e-01 b-:9.407200e+01,b-n:5.928200e+00 + 121 45 Rh gs 0 2.500000e-01 b-:8.643200e+01,b-n:1.356800e+01 + 122 45 Rh gs 0 5.000000e-02 b-:1.000000e+02 + 91 46 Pd gs 0 1.000000e-02 ce:1.000000e+02 + 92 46 Pd gs 0 8.000000e-01 ce:1.000000e+02 + 93 46 Pd gs 0 2.000000e+00 ce:1.000000e+02 + 94 46 Pd gs 0 9.000000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 95 46 Pd gs 0 1.000000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 95 46 Pd m 0 1.330000e+01 ce:9.410000e+01,ce/1:0.000000e+00,it:5.000000e+00,cep:9.000000e-01 + 96 46 Pd gs 0 1.220000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 97 46 Pd gs 0 1.860000e+02 ce:9.835000e+01,ce/1:1.650000e+00 + 98 46 Pd gs 0 1.062000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 99 46 Pd gs 0 1.284000e+03 ce:2.960000e+00,ce/1:9.704000e+01 + 100 46 Pd gs 0 3.136320e+05 ce:1.000000e+02,ce/1:0.000000e+00 + 101 46 Pd gs 0 3.049200e+04 ce:4.600000e-01,ce/1:9.954000e+01 + 102 46 Pd gs 0 0.000000e+00 s + 103 46 Pd gs 0 1.467070e+06 ce:2.600000e-02,ce/1:9.997400e+01 + 104 46 Pd gs 0 0.000000e+00 s + 105 46 Pd gs 0 0.000000e+00 s + 106 46 Pd gs 0 0.000000e+00 s + 107 46 Pd gs 0 2.051240e+14 b-:1.000000e+02 + 107 46 Pd m 0 2.130000e+01 it:1.000000e+02 + 108 46 Pd gs 0 0.000000e+00 s + 109 46 Pd gs 0 4.845600e+04 b-:4.600000e-02,b-/1:9.995400e+01 + 109 46 Pd m 0 2.826000e+02 it:1.000000e+02 + 110 46 Pd gs 0 1.893460e+25 db-:1.000000e+02 + 111 46 Pd gs 0 1.404000e+03 b-:7.041650e-01,b-/1:9.929580e+01 + 111 46 Pd m 0 1.980000e+04 it:7.300000e+01,b-:7.813800e+00,b-/1:1.918620e+01 + 112 46 Pd gs 0 7.308000e+04 b-:1.000000e+02 + 113 46 Pd gs 0 9.300000e+01 b-:4.242390e+00,b-/1:9.575760e+01 + 113 46 Pd m 0 3.000000e-01 it:1.000000e+02 + 114 46 Pd gs 0 1.452000e+02 b-:1.000000e+02 + 115 46 Pd gs 0 2.500000e+01 b-:7.300000e+01,b-/1:2.700000e+01 + 115 46 Pd m 0 5.000000e+01 b-:0.000000e+00,b-/1:9.200000e+01,it:8.000000e+00 + 116 46 Pd gs 0 1.180000e+01 b-:1.000000e+02 + 117 46 Pd gs 0 4.300000e+00 b-:5.000000e+01,b-/1:5.000000e+01 + 117 46 Pd m 0 1.910000e-02 it:1.000000e+02 + 118 46 Pd gs 0 1.900000e+00 b-:8.570420e+01,b-/1:1.429580e+01 + 119 46 Pd gs 0 9.200000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 120 46 Pd gs 0 5.000000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 121 46 Pd gs 0 6.000000e-01 b-:9.972800e+01,b-n:2.722000e-01 + 122 46 Pd gs 0 3.000000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 123 46 Pd gs 0 2.000000e-01 b-:1.000000e+02 + 124 46 Pd gs 0 1.000000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 93 47 Ag gs 0 5.000000e-03 p:5.000000e+01,ce:5.000000e+01 + 94 47 Ag gs 0 5.000000e-01 ce:1.000000e+02 + 94 47 Ag m 0 4.200000e-01 ce:1.000000e+02 + 95 47 Ag gs 0 1.740000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 96 47 Ag gs 0 4.500000e+00 ce:9.030000e+01,cep:4.850000e+00,cep/1:4.850000e+00 + 97 47 Ag gs 0 2.530000e+01 ce:1.000000e+02 + 98 47 Ag gs 0 4.670000e+01 ce:9.999880e+01,cep:6.000000e-04,cep/1:6.000000e-04 + 99 47 Ag gs 0 1.240000e+02 ce:1.000000e+02 + 99 47 Ag m 0 1.050000e+01 it:1.000000e+02 + 100 47 Ag gs 0 1.206000e+02 ce:1.000000e+02 + 100 47 Ag m 0 1.344000e+02 ce:5.000000e+01,it:5.000000e+01 + 101 47 Ag gs 0 6.660000e+02 ce:1.000000e+02 + 101 47 Ag m 0 3.100000e+00 it:1.000000e+02 + 102 47 Ag gs 0 7.740000e+02 ce:1.000000e+02 + 102 47 Ag m 0 4.620000e+02 ce:5.100000e+01,it:4.900000e+01 + 103 47 Ag gs 0 3.942000e+03 ce:1.000000e+02 + 103 47 Ag m 0 5.700000e+00 it:1.000000e+02 + 104 47 Ag gs 0 4.152000e+03 ce:1.000000e+02 + 104 47 Ag m 0 2.010000e+03 ce:9.993000e+01,it:7.000000e-02 + 105 47 Ag gs 0 3.568320e+06 ce:1.000000e+02 + 105 47 Ag m 0 4.338000e+02 ce:3.400000e-01,it:9.966000e+01 + 106 47 Ag gs 0 1.440000e+03 b-:5.000000e-01,ce:9.950000e+01 + 106 47 Ag m 0 7.309440e+05 ce:1.000000e+02 + 107 47 Ag gs 0 0.000000e+00 s + 107 47 Ag m 0 4.410000e+01 it:1.000000e+02 + 108 47 Ag gs 0 1.440000e+02 b-:9.715000e+01,ce:2.850000e+00 + 108 47 Ag m 0 1.319110e+10 ce:9.130000e+01,it:8.700000e+00 + 109 47 Ag gs 0 0.000000e+00 s + 109 47 Ag m 0 3.980000e+01 it:1.000000e+02 + 110 47 Ag gs 0 2.470000e+01 b-:9.970000e+01,ce:3.000000e-01 + 110 47 Ag m 0 2.158190e+07 b-:9.873000e+01,it:1.270000e+00 + 111 47 Ag gs 0 6.436800e+05 b-:1.000000e+02 + 111 47 Ag m 0 6.480000e+01 b-:5.000000e-01,it:9.950000e+01 + 112 47 Ag gs 0 1.126800e+04 b-:1.000000e+02 + 113 47 Ag gs 0 1.933200e+04 b-:9.827110e+01,b-/1:1.728890e+00 + 113 47 Ag m 0 6.870000e+01 it:6.400000e+01,b-:3.600000e+01 + 114 47 Ag gs 0 4.700000e+00 b-:1.000000e+02 + 114 47 Ag m 0 1.500000e-03 it:1.000000e+02 + 115 47 Ag gs 0 1.230000e+03 b-:8.800000e+01,b-/1:1.200000e+01 + 115 47 Ag m 0 1.860000e+01 b-:7.670000e+01,b-/1:2.300000e+00,it:2.100000e+01 + 116 47 Ag gs 0 1.608000e+02 b-:1.000000e+02 + 116 47 Ag m 0 8.600000e+00 b-:9.400000e+01,it:6.000000e+00 + 117 47 Ag gs 0 7.360000e+01 b-:8.307000e+01,b-/1:1.693000e+01 + 117 47 Ag m 0 5.340000e+00 b-:7.071620e+01,b-/1:2.328380e+01,it:6.000000e+00 + 118 47 Ag gs 0 3.760000e+00 b-:1.000000e+02 + 118 47 Ag m 0 2.000000e+00 b-:5.900000e+01,it:4.100000e+01 + 119 47 Ag gs 0 6.000000e+00 b-:5.000000e+01,b-/1:5.000000e+01 + 119 47 Ag m 0 2.100000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 120 47 Ag gs 0 1.230000e+00 b-:9.999700e+01,b-n:1.500000e-03,b-n/1:1.500000e-03 + 120 47 Ag m 0 3.200000e-01 b-:6.300000e+01,it:3.700000e+01 + 121 47 Ag gs 0 7.800000e-01 b-:8.955140e+01,b-/1:1.044860e+01 + 122 47 Ag gs 0 4.800000e-01 b-:1.000000e+02 + 122 47 Ag m 0 1.500000e+00 b-:1.000000e+02 + 123 47 Ag gs 0 2.960000e-01 b-:8.066390e+01,b-/1:1.878610e+01,b-n:5.500000e-01 + 124 47 Ag gs 0 1.720000e-01 b-:9.990000e+01,b-n:5.000000e-02,b-n/1:5.000000e-02 + 124 47 Ag m 0 2.000000e-01 b-:5.000000e+01,it:5.000000e+01 + 125 47 Ag gs 0 1.660000e-01 b-:5.000000e+01,b-/1:5.000000e+01 + 126 47 Ag gs 0 1.070000e-01 b-:1.000000e+02 + 127 47 Ag gs 0 7.900000e-02 b-:1.000000e+02 + 128 47 Ag gs 0 5.800000e-02 b-:1.000000e+02 + 129 47 Ag gs 0 4.400000e-02 b-:1.000000e+02 + 95 48 Cd gs 0 5.000000e-03 ce:1.000000e+02 + 96 48 Cd gs 0 1.000000e+00 ce:1.000000e+02 + 97 48 Cd gs 0 2.800000e+00 ce:1.000000e+02 + 98 48 Cd gs 0 9.200000e+00 ce:9.997500e+01,cep:2.500000e-02 + 99 48 Cd gs 0 1.600000e+01 ce:4.989500e+01,ce/1:4.989500e+01,cep:2.100000e-01,cen:5.000000e-05,cen/1:5.000000e-05 + 100 48 Cd gs 0 4.910000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 101 48 Cd gs 0 8.160000e+01 ce:8.609000e+01,ce/1:1.391000e+01 + 102 48 Cd gs 0 3.300000e+02 ce:3.970000e+00,ce/1:9.603000e+01 + 103 48 Cd gs 0 4.380000e+02 ce:8.131000e+01,ce/1:1.869000e+01 + 104 48 Cd gs 0 3.462000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 105 48 Cd gs 0 3.330000e+03 ce:1.779000e+01,ce/1:8.221000e+01 + 106 48 Cd gs 0 2.082800e+26 db+:1.000000e+02 + 107 48 Cd gs 0 2.347200e+04 ce:6.400000e-02,ce/1:9.993600e+01 + 108 48 Cd gs 0 1.293860e+25 db+:1.000000e+02 + 109 48 Cd gs 0 3.996860e+07 ce/1:1.000000e+02 + 110 48 Cd gs 0 0.000000e+00 s + 111 48 Cd gs 0 0.000000e+00 s + 111 48 Cd m 0 2.912400e+03 it:1.000000e+02 + 112 48 Cd gs 0 0.000000e+00 s + 113 48 Cd gs 0 2.934860e+23 b-:1.000000e+02 + 113 48 Cd m 0 4.323390e+08 b-:9.988000e+01,it:1.200000e-01 + 114 48 Cd gs 0 1.893460e+25 db-:1.000000e+02 + 115 48 Cd gs 0 1.922400e+05 b-:7.000000e-05,b-/1:9.999990e+01 + 115 48 Cd m 0 3.853440e+06 b-:9.999300e+01,b-/1:7.000000e-03 + 116 48 Cd gs 0 1.072960e+27 db-:1.000000e+02 + 117 48 Cd gs 0 8.964000e+03 b-:8.357890e+00,b-/1:9.164210e+01 + 117 48 Cd m 0 1.209600e+04 b-:9.847600e+01,b-/1:1.523980e+00 + 118 48 Cd gs 0 3.018000e+03 b-:1.000000e+02 + 119 48 Cd gs 0 1.614000e+02 b-:9.720660e+00,b-/1:9.027930e+01 + 119 48 Cd m 0 1.320000e+02 b-:9.978490e+01,b-/1:2.151320e-01 + 120 48 Cd gs 0 5.080000e+01 b-:1.000000e+02 + 121 48 Cd gs 0 1.350000e+01 b-:3.367970e+01,b-/1:6.632030e+01 + 121 48 Cd m 0 8.300000e+00 b-:1.000000e+02 + 122 48 Cd gs 0 5.240000e+00 b-:1.000000e+02 + 123 48 Cd gs 0 1.820000e+00 b-:9.877980e+01,b-/1:1.220220e+00 + 123 48 Cd m 0 1.820000e+00 b-:4.977500e+01,b-/1:2.250000e-01,it:5.000000e+01 + 124 48 Cd gs 0 1.250000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 125 48 Cd gs 0 6.500000e-01 b-:4.786360e+01,b-/1:5.213640e+01 + 125 48 Cd m 0 4.800000e-01 b-:1.000000e+02 + 126 48 Cd gs 0 5.060000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 127 48 Cd gs 0 3.700000e-01 b-:0.000000e+00,b-/1:1.000000e+02 + 128 48 Cd gs 0 3.400000e-01 b-:1.000000e+02,b-/1:0.000000e+00 + 129 48 Cd gs 0 2.700000e-01 b-:0.000000e+00,b-/1:1.000000e+02 + 130 48 Cd gs 0 2.000000e-01 b-:9.600000e+01,b-/1:0.000000e+00,b-/2:0.000000e+00,b-n:2.000000e+00,b-n/1:2.000000e+00 + 131 48 Cd gs 0 6.800000e-02 b-:9.650000e+01,b-/1:0.000000e+00,b-/2:0.000000e+00,b-n:3.500000e+00,b-n/1:0.000000e+00,b-n/2:0.000000e+00 + 132 48 Cd gs 0 9.700000e-02 b-:4.000000e+01,b-n:0.000000e+00,b-n/1:6.000000e+01,b-n/2:0.000000e+00 + 97 49 In gs 0 5.000000e-03 p:5.000000e+01,ce:5.000000e+01 + 98 49 In gs 0 1.000000e+00 ce:1.000000e+02 + 99 49 In gs 0 2.000000e+00 ce:1.000000e+02 + 99 49 In m 0 1.000000e+00 ce:5.000000e+01,it:5.000000e+01 + 100 49 In gs 0 6.200000e+00 ce:9.610000e+01,cep:1.950000e+00,cep/1:1.950000e+00 + 101 49 In gs 0 1.510000e+01 ce:1.000000e+02 + 101 49 In m 0 1.000000e+01 ce:9.500000e+01,it:5.000000e+00 + 102 49 In gs 0 2.200000e+01 ce:9.999070e+01,cep:4.650000e-03,cep/1:4.650000e-03 + 103 49 In gs 0 6.000000e+01 ce:1.000000e+02 + 103 49 In m 0 3.400000e+01 ce:6.700000e+01,it:3.300000e+01 + 104 49 In gs 0 1.080000e+02 ce:1.000000e+02 + 104 49 In m 0 1.570000e+01 it:8.000000e+01,ce:2.000000e+01 + 105 49 In gs 0 3.042000e+02 ce:1.000000e+02 + 105 49 In m 0 4.800000e+01 it:7.500000e+01,ce:2.500000e+01 + 106 49 In gs 0 3.720000e+02 ce:1.000000e+02 + 106 49 In m 0 3.120000e+02 ce:1.000000e+02 + 107 49 In gs 0 1.944000e+03 ce:1.000000e+02 + 107 49 In m 0 5.040000e+01 it:1.000000e+02 + 108 49 In gs 0 3.480000e+03 ce:1.000000e+02 + 108 49 In m 0 2.376000e+03 ce:1.000000e+02 + 109 49 In gs 0 1.512000e+04 ce:1.000000e+02 + 109 49 In m 0 8.040000e+01 it:1.000000e+02 + 109 49 In m2 0 2.090000e-01 it:1.000000e+02,it/1:0.000000e+00 + 110 49 In gs 0 1.764000e+04 ce:1.000000e+02 + 110 49 In m 0 4.146000e+03 ce:1.000000e+02 + 111 49 In gs 0 2.423260e+05 ce:9.999140e+01,ce/1:8.600000e-03 + 111 49 In m 0 4.740000e+02 it:1.000000e+02 + 112 49 In gs 0 8.820000e+02 b-:4.400000e+01,ce:5.600000e+01 + 112 49 In m 0 1.242000e+03 it:1.000000e+02 + 113 49 In gs 0 0.000000e+00 s + 113 49 In m 0 5.968800e+03 it:1.000000e+02 + 114 49 In gs 0 7.190000e+01 b-:9.950000e+01,ce:5.000000e-01 + 114 49 In m 0 4.320000e+06 ce:3.500000e+00,it:9.650000e+01 + 114 49 In m2 0 4.300000e-02 it/1:1.000000e+02 + 115 49 In gs 0 1.391690e+22 b-:1.000000e+02 + 115 49 In m 0 1.614960e+04 b-:5.050000e+00,it:9.495000e+01 + 116 49 In gs 0 1.420000e+01 b-:1.000000e+02 + 116 49 In m 0 3.276000e+03 b-:1.000000e+02 + 116 49 In m2 0 2.170000e+00 it/1:1.000000e+02 + 117 49 In gs 0 2.592000e+03 b-:9.965930e+01,b-/1:3.407100e-01 + 117 49 In m 0 6.972000e+03 it:4.710000e+01,b-:5.290000e+01 + 118 49 In gs 0 5.000000e+00 b-:1.000000e+02 + 118 49 In m 0 2.670000e+02 b-:1.000000e+02 + 118 49 In m2 0 8.500000e+00 b-:1.429571e+00,it/1:9.857043e+01 + 119 49 In gs 0 1.440000e+02 b-:9.660000e+00,b-/1:9.034000e+01 + 119 49 In m 0 1.080000e+03 b-:9.440000e+01,b-/1:0.000000e+00,it:5.600000e+00 + 120 49 In gs 0 3.080000e+00 b-:1.000000e+02 + 120 49 In m 0 4.620000e+01 b-:1.000000e+02 + 120 49 In m2 0 4.730000e+01 b-:1.000000e+02 + 121 49 In gs 0 2.310000e+01 b-:8.867160e+01,b-/1:1.132840e+01 + 121 49 In m 0 2.328000e+02 it:1.200000e+00,b-:9.880000e+01 + 122 49 In gs 0 1.500000e+00 b-:1.000000e+02 + 122 49 In m 0 1.030000e+01 b-:1.000000e+02 + 122 49 In m2 0 1.080000e+01 b-:1.000000e+02 + 123 49 In gs 0 5.980000e+00 b-:7.624170e+00,b-/1:9.237580e+01 + 123 49 In m 0 4.780000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 124 49 In gs 0 3.110000e+00 b-:1.000000e+02 + 124 49 In m 0 3.700000e+00 b-:1.000000e+02 + 125 49 In gs 0 2.360000e+00 b-:1.689200e+01,b-/1:8.310800e+01 + 125 49 In m 0 1.220000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 126 49 In gs 0 1.600000e+00 b-:1.000000e+02 + 126 49 In m 0 1.640000e+00 b-:1.000000e+02 + 127 49 In gs 0 1.090000e+00 b-:3.897760e+01,b-/1:6.102240e+01 + 127 49 In m 0 3.670000e+00 b-:0.000000e+00,b-/1:9.931000e+01,b-n:6.900000e-01 + 128 49 In gs 0 7.760000e-01 b-:9.996200e+01,b-/1:0.000000e+00,b-n:1.900000e-02,b-n/1:1.900000e-02 + 128 49 In m 0 7.760000e-01 b-:0.000000e+00,b-/1:1.000000e+02 + 129 49 In gs 0 6.100000e-01 b-:8.935410e+01,b-/1:1.064590e+01 + 129 49 In m 0 1.230000e+00 b-:9.970000e+01,b-n:3.000000e-01 + 130 49 In gs 0 2.780000e-01 b-:7.190630e+01,b-/1:2.708370e+01,b-n:5.050000e-01,b-n/1:5.050000e-01 + 130 49 In m 0 5.500000e-01 b-:0.000000e+00,b-/1:1.000000e+02 + 130 49 In m2 0 5.500000e-01 b-:8.679840e+01,b-/1:1.320160e+01 + 131 49 In gs 0 2.800000e-01 b-:9.469280e+01,b-/1:5.307210e+00 + 131 49 In m 0 3.500000e-01 b-:9.798200e+01,b-/1:0.000000e+00,b-n:1.000000e-00,b-n/1:1.000000e-00,it:1.800000e-02 + 131 49 In m2 0 3.200000e-01 b-:0.000000e+00,b-/1:9.897200e+01,b-n:1.400000e-02,b-n/1:1.400000e-02,it:1.000000e-00,it/1:0.000000e+00 + 132 49 In gs 0 2.010000e-01 b-:1.000000e+02 + 133 49 In gs 0 1.800000e-01 b-:1.500000e+01,b-n:8.500000e+01 + 133 49 In m 0 1.800000e-01 it:1.000000e+02 + 134 49 In gs 0 1.380000e-01 b-:7.900000e+01,b-n:1.700000e+01,b-n:4.000000e+00 + 135 49 In gs 0 1.000000e-01 b-:1.000000e+02 + 99 50 Sn gs 0 5.000000e-03 ce:1.000000e+02,ce/1:0.000000e+00 + 100 50 Sn gs 0 1.100000e+00 ce:8.300000e+01,cep:1.700000e+01 + 101 50 Sn gs 0 3.000000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 102 50 Sn gs 0 4.600000e+00 ce:1.000000e+02 + 103 50 Sn gs 0 7.000000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 104 50 Sn gs 0 2.080000e+01 ce:7.010000e+00,ce/1:9.299000e+01 + 105 50 Sn gs 0 3.400000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 106 50 Sn gs 0 1.152000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 107 50 Sn gs 0 1.740000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 108 50 Sn gs 0 6.180000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 109 50 Sn gs 0 1.080000e+03 ce:6.915000e+01,ce/1:3.085000e+01,ce/2:0.000000e+00 + 110 50 Sn gs 0 1.476000e+04 ce/1:1.000000e+02 + 111 50 Sn gs 0 2.118000e+03 ce:9.980000e+01,ce/1:2.000000e-01 + 112 50 Sn gs 0 0.000000e+00 s + 113 50 Sn gs 0 9.943780e+06 ce:1.000000e-02,ce/1:9.999000e+01 + 113 50 Sn m 0 1.254000e+03 ce:8.900000e+00,it:9.110000e+01 + 114 50 Sn gs 0 0.000000e+00 s + 115 50 Sn gs 0 0.000000e+00 s + 116 50 Sn gs 0 0.000000e+00 s + 117 50 Sn gs 0 0.000000e+00 s + 117 50 Sn m 0 1.175040e+06 it:1.000000e+02 + 118 50 Sn gs 0 0.000000e+00 s + 119 50 Sn gs 0 0.000000e+00 s + 119 50 Sn m 0 2.531520e+07 it:1.000000e+02 + 120 50 Sn gs 0 0.000000e+00 s + 121 50 Sn gs 0 9.684000e+04 b-:1.000000e+02 + 121 50 Sn m 0 1.735670e+09 b-:2.240000e+01,it:7.760000e+01 + 122 50 Sn gs 0 0.000000e+00 s + 123 50 Sn gs 0 1.116290e+07 b-:1.000000e+02 + 123 50 Sn m 0 2.406000e+03 b-:1.000000e+02 + 124 50 Sn gs 0 3.155760e+24 db-:1.000000e+02 + 125 50 Sn gs 0 8.328960e+05 b-:1.000000e+02 + 125 50 Sn m 0 5.712000e+02 b-:1.000000e+02 + 126 50 Sn gs 0 6.532420e+12 b-/1:3.080000e+01,b-/2:6.920000e+01 + 127 50 Sn gs 0 7.560000e+03 b-:1.000000e+02 + 127 50 Sn m 0 2.478000e+02 b-:1.000000e+02 + 128 50 Sn gs 0 3.546000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 128 50 Sn m 0 6.500000e+00 it:1.000000e+02 + 129 50 Sn gs 0 1.338000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 129 50 Sn m 0 4.140000e+02 b-:4.999900e+01,b-/1:4.999900e+01,it:2.000000e-03 + 130 50 Sn gs 0 2.232000e+02 b-:1.000000e+02 + 130 50 Sn m 0 1.020000e+02 b-:5.000000e+01,b-/1:5.000000e+01 + 131 50 Sn gs 0 5.600000e+01 b-:1.000000e+02 + 131 50 Sn m 0 5.840000e+01 b-:9.999960e+01,it:4.009980e-04 + 132 50 Sn gs 0 3.970000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 133 50 Sn gs 0 1.450000e+00 b-:1.000000e+02 + 134 50 Sn gs 0 1.120000e+00 b-:8.300000e+01,b-/1:0.000000e+00,b-n:1.700000e+01 + 135 50 Sn gs 0 8.000000e-01 b-:1.000000e+02 + 136 50 Sn gs 0 6.000000e-01 b-:1.000000e+02 + 137 50 Sn gs 0 4.000000e-01 b-:1.000000e+02 + 103 51 Sb gs 0 1.000000e-01 ce:1.000000e+02 + 104 51 Sb gs 0 4.700000e-01 ce:8.600000e+01,cep:3.500000e+00,cep/1:3.500000e+00,p:7.000000e+00 + 105 51 Sb gs 0 1.120000e+00 ce:9.900000e+01,p:1.000000e-00 + 106 51 Sb gs 0 6.000000e-01 ce:1.000000e+02 + 107 51 Sb gs 0 4.600000e+00 ce:1.000000e+02 + 108 51 Sb gs 0 7.400000e+00 ce:1.000000e+02 + 109 51 Sb gs 0 1.700000e+01 ce:1.000000e+02 + 110 51 Sb gs 0 2.300000e+01 ce:1.000000e+02 + 111 51 Sb gs 0 7.500000e+01 ce:1.000000e+02 + 112 51 Sb gs 0 5.140000e+01 ce:1.000000e+02 + 113 51 Sb gs 0 4.002000e+02 ce:8.020000e+01,ce/1:1.980000e+01 + 114 51 Sb gs 0 2.094000e+02 ce:1.000000e+02 + 115 51 Sb gs 0 1.926000e+03 ce:1.000000e+02 + 116 51 Sb gs 0 9.480000e+02 ce:1.000000e+02 + 116 51 Sb m 0 3.618000e+03 ce:1.000000e+02 + 117 51 Sb gs 0 1.008000e+04 ce:5.000000e+01,ce/1:5.000000e+01 + 118 51 Sb gs 0 2.160000e+02 ce:1.000000e+02 + 118 51 Sb m 0 1.800000e+04 ce:1.000000e+02 + 119 51 Sb gs 0 1.378800e+05 ce:1.000000e+02 + 119 51 Sb m 0 8.500000e-01 it:1.000000e+02 + 120 51 Sb gs 0 9.540000e+02 ce:1.000000e+02 + 120 51 Sb m 0 4.976640e+05 ce:1.000000e+02 + 121 51 Sb gs 0 0.000000e+00 s + 122 51 Sb gs 0 2.329200e+05 b-:9.763000e+01,ce:2.370000e+00 + 122 51 Sb m 0 2.514000e+02 it:1.000000e+02 + 123 51 Sb gs 0 0.000000e+00 s + 124 51 Sb gs 0 5.204740e+06 b-:1.000000e+02 + 124 51 Sb m 0 9.300000e+01 b-:2.500000e+01,it:7.500000e+01 + 124 51 Sb m2 0 1.212000e+03 it/1:1.000000e+02 + 125 51 Sb gs 0 8.706530e+07 b-:7.640000e+01,b-/1:2.360000e+01 + 126 51 Sb gs 0 1.072220e+06 b-:1.000000e+02 + 126 51 Sb m 0 1.146000e+03 it:1.400000e+01,b-:8.600000e+01 + 126 51 Sb m2 0 1.100000e+01 it/1:1.000000e+02 + 127 51 Sb gs 0 3.317760e+05 b-:8.320000e+01,b-/1:1.680000e+01 + 128 51 Sb gs 0 3.243600e+04 b-:1.000000e+02 + 128 51 Sb m 0 6.240000e+02 b-:9.640000e+01,it:3.600000e+00 + 129 51 Sb gs 0 1.569600e+04 b-:8.340000e+01,b-/1:1.660000e+01 + 129 51 Sb m 0 1.062000e+03 b-:2.000000e+00,b-/1:8.300000e+01,it:1.500000e+01 + 130 51 Sb gs 0 2.370000e+03 b-:1.000000e+02 + 130 51 Sb m 0 3.780000e+02 b-:1.000000e+02 + 131 51 Sb gs 0 1.381800e+03 b-:9.255000e+01,b-/1:7.450000e+00 + 132 51 Sb gs 0 1.674000e+02 b-:1.000000e+02 + 132 51 Sb m 0 2.460000e+02 b-:1.000000e+02 + 133 51 Sb gs 0 1.500000e+02 b-:8.271130e+01,b-/1:1.728870e+01 + 134 51 Sb gs 0 7.800000e-01 b-:1.000000e+02 + 134 51 Sb m 0 1.022000e+01 b-:9.990900e+01,b-n:4.550000e-02,b-n/1:4.550000e-02 + 135 51 Sb gs 0 1.740000e+00 b-:8.430000e+01,b-n:1.570000e+01 + 136 51 Sb gs 0 9.230000e-01 b-:8.300000e+01,b-n:1.700000e+01 + 137 51 Sb gs 0 7.000000e-01 b-:1.000000e+02 + 138 51 Sb gs 0 5.000000e-01 b-:1.000000e+02 + 139 51 Sb gs 0 3.000000e-01 b-:1.000000e+02 + 141 51 Sb gs 0 3.000000e-01 b-:8.690000e+01,b-n:1.310000e+01 + 105 52 Te gs 0 1.000000e-06 a:5.000000e+01,ce:5.000000e+01 + 106 52 Te gs 0 7.000000e-05 a:1.000000e+02 + 107 52 Te gs 0 3.100000e-03 a:7.000000e+01,ce:3.000000e+01 + 108 52 Te gs 0 2.100000e+00 ce:4.853500e+01,a:4.900000e+01,cep:2.400000e+00,cen:6.500000e-02 + 109 52 Te gs 0 4.600000e+00 ce:8.669500e+01,a:3.900000e+00,cep:9.400000e+00,cen:2.500000e-03,cen/1:2.500000e-03 + 110 52 Te gs 0 1.860000e+01 ce:9.999700e+01,a:3.000000e-03 + 111 52 Te gs 0 1.930000e+01 ce:1.000000e+02 + 112 52 Te gs 0 1.200000e+02 ce:1.000000e+02 + 113 52 Te gs 0 1.020000e+02 ce:1.000000e+02 + 114 52 Te gs 0 9.120000e+02 ce:1.000000e+02 + 115 52 Te gs 0 3.480000e+02 ce:1.000000e+02 + 115 52 Te m 0 4.020000e+02 ce:9.994000e+01,it:6.000000e-02 + 116 52 Te gs 0 8.964000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 117 52 Te gs 0 3.720000e+03 ce:1.000000e+02 + 117 52 Te m 0 1.030000e-01 it:1.000000e+02 + 118 52 Te gs 0 5.184000e+05 ce:1.000000e+02,ce/1:0.000000e+00 + 119 52 Te gs 0 5.778000e+04 ce:1.000000e+02 + 119 52 Te m 0 4.060800e+05 ce:9.999200e+01,it:8.000000e-03 + 120 52 Te gs 0 0.000000e+00 s + 121 52 Te gs 0 1.655420e+06 ce:1.000000e+02 + 121 52 Te m 0 1.330560e+07 it:8.860000e+01,ce:1.140000e+01 + 122 52 Te gs 0 0.000000e+00 s + 123 52 Te gs 0 1.893460e+22 ce:1.000000e+02 + 123 52 Te m 0 1.030320e+07 it:1.000000e+02 + 124 52 Te gs 0 0.000000e+00 s + 125 52 Te gs 0 0.000000e+00 s + 125 52 Te m 0 5.011200e+06 it:1.000000e+02 + 126 52 Te gs 0 0.000000e+00 s + 127 52 Te gs 0 3.366000e+04 b-:1.000000e+02 + 127 52 Te m 0 9.417600e+06 it:9.760000e+01,b-:2.400000e+00 + 128 52 Te gs 0 6.942670e+31 db-:1.000000e+02 + 129 52 Te gs 0 4.176000e+03 b-:1.000000e+02 + 129 52 Te m 0 2.920320e+06 b-:3.100000e+01,it:6.900000e+01 + 130 52 Te gs 0 2.493050e+31 db-:1.000000e+02 + 131 52 Te gs 0 1.500000e+03 b-:1.000000e+02 + 131 52 Te m 0 1.080000e+05 it:2.220000e+01,b-:7.780000e+01 + 132 52 Te gs 0 2.790720e+05 b-:1.000000e+02 + 133 52 Te gs 0 7.500000e+02 b-:1.000000e+02 + 133 52 Te m 0 3.324000e+03 b-:8.250000e+01,it:1.750000e+01 + 134 52 Te gs 0 2.508000e+03 b-:1.000000e+02 + 135 52 Te gs 0 1.900000e+01 b-:1.000000e+02 + 136 52 Te gs 0 1.750000e+01 b-:1.000000e+02 + 137 52 Te gs 0 2.490000e+00 b-:9.701000e+01,b-n:1.495000e+00,b-n/1:1.495000e+00 + 138 52 Te gs 0 1.400000e+00 b-:9.370000e+01,b-n:6.300000e+00 + 139 52 Te gs 0 5.000000e-01 b-:1.000000e+02 + 140 52 Te gs 0 3.000000e-01 b-:1.000000e+02 + 141 52 Te gs 0 1.000000e-01 b-:1.000000e+02 + 142 52 Te gs 0 5.000000e-02 b-:1.000000e+02 + 108 53 I gs 0 3.600000e-02 a:9.000000e+01,ce:9.000000e+00,p:1.000000e-00 + 109 53 I gs 0 1.000000e-04 p:9.950000e+01,a:5.000000e-01 + 110 53 I gs 0 6.500000e-01 ce:7.090000e+01,a:1.700000e+01,cep:1.100000e+01,cen:1.100000e+00 + 111 53 I gs 0 2.500000e+00 ce:9.991200e+01,a:8.800000e-02 + 112 53 I gs 0 3.420000e+00 ce:9.901880e+01,a:1.200000e-03,cep:8.800000e-01,cen:1.000000e-01 + 113 53 I gs 0 6.600000e+00 ce:1.000000e+02,a:3.310000e-07 + 114 53 I gs 0 2.100000e+00 ce:1.000000e+02 + 114 53 I m 0 6.200000e+00 ce:9.100000e+01,it:9.000000e+00 + 115 53 I gs 0 7.800000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 116 53 I gs 0 2.910000e+00 ce:1.000000e+02 + 117 53 I gs 0 1.332000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 118 53 I gs 0 8.220000e+02 ce:1.000000e+02 + 118 53 I m 0 5.100000e+02 ce:1.000000e+02 + 119 53 I gs 0 1.146000e+03 ce:9.904000e+01,ce/1:9.600000e-01 + 120 53 I gs 0 4.860000e+03 ce:1.000000e+02 + 120 53 I m 0 3.180000e+03 ce:1.000000e+02 + 121 53 I gs 0 7.632000e+03 ce:5.000000e+01,ce/1:5.000000e+01 + 122 53 I gs 0 2.178000e+02 ce:1.000000e+02 + 123 53 I gs 0 4.777200e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 124 53 I gs 0 3.608060e+05 ce:1.000000e+02 + 125 53 I gs 0 5.134750e+06 ce:1.000000e+02 + 126 53 I gs 0 1.121470e+06 b-:4.370000e+01,ce:5.630000e+01 + 127 53 I gs 0 0.000000e+00 s + 128 53 I gs 0 1.499400e+03 b-:9.310000e+01,ce:6.900000e+00 + 129 53 I gs 0 4.954540e+14 b-:1.000000e+02 + 130 53 I gs 0 4.449600e+04 b-:1.000000e+02 + 130 53 I m 0 5.400000e+02 it:8.400000e+01,b-:1.600000e+01 + 131 53 I gs 0 6.929880e+05 b-:9.882840e+01,b-/1:1.171600e+00 + 132 53 I gs 0 8.218800e+03 b-:1.000000e+02 + 132 53 I m 0 4.980000e+03 it:8.600000e+01,b-:1.400000e+01 + 133 53 I gs 0 7.488000e+04 b-:9.715360e+01,b-/1:2.846380e+00 + 133 53 I m 0 9.000000e+00 it:1.000000e+02 + 134 53 I gs 0 3.150000e+03 b-:1.000000e+02 + 134 53 I m 0 2.160000e+02 it:9.770000e+01,b-:0.000000e+00,b-/1:2.300000e+00 + 135 53 I gs 0 2.365200e+04 b-:8.349140e+01,b-/1:1.650860e+01 + 136 53 I gs 0 8.340000e+01 b-:1.000000e+02 + 136 53 I m 0 4.690000e+01 b-:1.000000e+02 + 137 53 I gs 0 2.451000e+01 b-:9.350000e+01,b-n:6.500000e+00 + 138 53 I gs 0 6.460000e+00 b-:9.470000e+01,b-n:5.300000e+00 + 139 53 I gs 0 2.300000e+00 b-:9.020000e+01,b-n:9.800000e+00 + 140 53 I gs 0 8.600000e-01 b-:9.070000e+01,b-n:9.300000e+00 + 141 53 I gs 0 4.300000e-01 b-:7.900000e+01,b-n:2.100000e+01 + 142 53 I gs 0 2.000000e-01 b-:7.500000e+01,b-n:2.500000e+01 + 143 53 I gs 0 1.000000e-01 b-:1.000000e+02 + 144 53 I gs 0 5.000000e-02 b-:1.000000e+02 + 110 54 Xe gs 0 6.000000e-01 a:5.000000e+01,ce:5.000000e+01 + 111 54 Xe gs 0 7.400000e-01 ce:9.000000e+01,a:1.000000e+01 + 112 54 Xe gs 0 2.700000e+00 ce:9.910000e+01,a:9.000000e-01 + 113 54 Xe gs 0 2.740000e+00 ce:9.298200e+01,a:1.100000e-02,cep:7.000000e+00,cen:7.000000e-03 + 114 54 Xe gs 0 1.000000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 115 54 Xe gs 0 1.800000e+01 ce:9.965970e+01,cep:3.400000e-01,cen:3.000000e-04 + 116 54 Xe gs 0 5.900000e+01 ce:1.000000e+02 + 117 54 Xe gs 0 6.100000e+01 ce:9.999710e+01,cep:2.900000e-03 + 118 54 Xe gs 0 2.280000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 119 54 Xe gs 0 3.480000e+02 ce:1.000000e+02 + 120 54 Xe gs 0 2.400000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 121 54 Xe gs 0 2.406000e+03 ce:1.000000e+02 + 122 54 Xe gs 0 7.236000e+04 ce:1.000000e+02 + 123 54 Xe gs 0 7.488000e+03 ce:1.000000e+02 + 124 54 Xe gs 0 6.311520e+21 db+:1.000000e+02 + 125 54 Xe gs 0 6.084000e+04 ce:1.000000e+02 + 125 54 Xe m 0 5.600000e+01 it:1.000000e+02 + 126 54 Xe gs 0 0.000000e+00 s + 127 54 Xe gs 0 3.148420e+06 ce:1.000000e+02 + 127 54 Xe m 0 6.960000e+01 it:1.000000e+02 + 128 54 Xe gs 0 0.000000e+00 s + 129 54 Xe gs 0 0.000000e+00 s + 129 54 Xe m 0 7.663680e+05 it:1.000000e+02 + 130 54 Xe gs 0 0.000000e+00 s + 131 54 Xe gs 0 0.000000e+00 s + 131 54 Xe m 0 1.025570e+06 it:1.000000e+02 + 132 54 Xe gs 0 0.000000e+00 s + 132 54 Xe m 0 8.390000e-03 it:1.000000e+02 + 133 54 Xe gs 0 4.529950e+05 b-:1.000000e+02 + 133 54 Xe m 0 1.892160e+05 it:1.000000e+02 + 134 54 Xe gs 0 3.471340e+23 db-:1.000000e+02 + 134 54 Xe m 0 2.900000e-01 it:1.000000e+02 + 135 54 Xe gs 0 3.290400e+04 b-:1.000000e+02 + 135 54 Xe m 0 9.174000e+02 b-:6.000000e-01,it:9.940000e+01 + 136 54 Xe gs 0 6.627100e+27 db-:1.000000e+02 + 137 54 Xe gs 0 2.290800e+02 b-:1.000000e+02 + 138 54 Xe gs 0 8.448000e+02 b-:1.000000e+02 + 139 54 Xe gs 0 3.968000e+01 b-:1.000000e+02 + 140 54 Xe gs 0 1.360000e+01 b-:1.000000e+02 + 141 54 Xe gs 0 1.730000e+00 b-:9.995600e+01,b-n:4.400000e-02 + 142 54 Xe gs 0 1.220000e+00 b-:9.959000e+01,b-n:4.100000e-01 + 143 54 Xe gs 0 3.000000e-01 b-:1.000000e+02 + 144 54 Xe gs 0 1.150000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 145 54 Xe gs 0 9.000000e-01 b-:1.000000e+02 + 146 54 Xe gs 0 1.000000e-01 b-:1.000000e+02 + 147 54 Xe gs 0 5.000000e-02 b-:1.000000e+02 + 112 55 Cs gs 0 5.000000e-04 p:5.000000e+01,a:5.000000e+01 + 113 55 Cs gs 0 1.700000e-05 p:9.997000e+01,ce:3.000000e-02 + 114 55 Cs gs 0 5.700000e-01 ce:9.079200e+01,cep:9.000000e+00,cen:1.900000e-01,a:1.800000e-02 + 115 55 Cs gs 0 1.400000e+00 ce:9.993000e+01,cep:3.500000e-02,cep/1:3.500000e-02 + 116 55 Cs gs 0 7.000000e-01 ce:9.967100e+01,cep:2.800000e-01,cen:4.900000e-02 + 116 55 Cs m 0 3.850000e+00 ce:9.948200e+01,cep:5.100000e-01,cen:8.000000e-03 + 117 55 Cs gs 0 8.400000e+00 ce:1.000000e+02 + 117 55 Cs m 0 6.500000e+00 ce:1.000000e+02 + 118 55 Cs gs 0 1.400000e+01 ce:9.997780e+01,cep:2.100000e-02,cen:1.200000e-03 + 118 55 Cs m 0 1.700000e+01 ce:9.997780e+01,cep:2.100000e-02,cen:1.200000e-03 + 119 55 Cs gs 0 4.300000e+01 ce:1.000000e+02,cen:1.000000e-06,cen/1:1.000000e-06 + 119 55 Cs m 0 3.040000e+01 ce:1.000000e+02 + 120 55 Cs gs 0 6.120000e+01 ce:1.000000e+02,cen:2.000000e-05,cep:7.000000e-06 + 120 55 Cs m 0 5.700000e+01 ce:1.000000e+02,cen:2.000000e-05,cep:7.000000e-06 + 121 55 Cs gs 0 1.550000e+02 ce:1.000000e+02 + 121 55 Cs m 0 1.220000e+02 ce:8.300000e+01,it:1.700000e+01 + 122 55 Cs gs 0 2.118000e+01 ce:1.000000e+02,cen:2.000000e-07 + 122 55 Cs m 0 2.220000e+02 ce:1.000000e+02 + 122 55 Cs m2 0 3.600000e-01 it:5.000000e+01,it/1:5.000000e+01 + 123 55 Cs gs 0 3.522000e+02 ce:1.000000e+02 + 123 55 Cs m 0 1.640000e+00 it:1.000000e+02 + 124 55 Cs gs 0 3.090000e+01 ce:1.000000e+02 + 124 55 Cs m 0 6.300000e+00 it:1.000000e+02 + 125 55 Cs gs 0 2.700000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 125 55 Cs m 0 9.000000e-01 it:1.000000e+02 + 126 55 Cs gs 0 9.840000e+01 ce:1.000000e+02 + 127 55 Cs gs 0 2.250000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 128 55 Cs gs 0 2.184000e+02 ce:1.000000e+02 + 129 55 Cs gs 0 1.159200e+05 ce:1.000000e+02 + 130 55 Cs gs 0 1.752600e+03 ce:9.840000e+01,b-:1.600000e+00 + 130 55 Cs m 0 2.076000e+02 it:9.984000e+01,ce:1.600000e-01 + 131 55 Cs gs 0 8.372160e+05 ce:1.000000e+02 + 132 55 Cs gs 0 5.641920e+05 b-:1.800000e+00,ce:9.820000e+01 + 133 55 Cs gs 0 0.000000e+00 s + 134 55 Cs gs 0 6.516980e+07 b-:9.999970e+01,ce:3.000000e-04 + 134 55 Cs m 0 1.046880e+04 it:1.000000e+02 + 135 55 Cs gs 0 7.573820e+13 b-:1.000000e+02 + 135 55 Cs m 0 3.180000e+03 it:1.000000e+02 + 136 55 Cs gs 0 1.125790e+06 b-:1.000000e+02 + 136 55 Cs m 0 1.900000e+01 b-:5.000000e+01,it:5.000000e+01 + 137 55 Cs gs 0 9.521280e+08 b-:5.400000e+00,b-/1:9.460000e+01 + 138 55 Cs gs 0 2.004600e+03 b-:1.000000e+02 + 138 55 Cs m 0 1.746000e+02 it:8.100000e+01,b-:1.900000e+01 + 139 55 Cs gs 0 5.562000e+02 b-:1.000000e+02 + 140 55 Cs gs 0 6.370000e+01 b-:1.000000e+02 + 141 55 Cs gs 0 2.494000e+01 b-:1.000000e+02 + 142 55 Cs gs 0 1.700000e+00 b-:1.000000e+02 + 143 55 Cs gs 0 1.791000e+00 b-:9.838000e+01,b-n:1.620000e+00 + 144 55 Cs gs 0 9.930000e-01 b-:9.680000e+01,b-n:3.200000e+00 + 144 55 Cs m 0 1.000000e+00 b-:5.000000e+01,it:5.000000e+01 + 145 55 Cs gs 0 5.940000e-01 b-:8.570000e+01,b-n:1.430000e+01 + 146 55 Cs gs 0 3.230000e-01 b-:8.580000e+01,b-n:1.420000e+01 + 147 55 Cs gs 0 2.250000e-01 b-:7.150000e+01,b-n:2.850000e+01 + 148 55 Cs gs 0 1.460000e-01 b-:7.490000e+01,b-n:2.510000e+01 + 149 55 Cs gs 0 1.500000e-01 b-:1.000000e+02 + 150 55 Cs gs 0 1.000000e-01 b-:1.000000e+02 + 151 55 Cs gs 0 6.000000e-02 b-:1.000000e+02 + 114 56 Ba gs 0 5.000000e-01 ce:9.963000e+01,a:3.700000e-01 + 115 56 Ba gs 0 4.500000e-01 ce:1.000000e+02 + 116 56 Ba gs 0 1.350000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 117 56 Ba gs 0 1.750000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 118 56 Ba gs 0 5.200000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 119 56 Ba gs 0 5.400000e+00 ce:3.750000e+01,ce/1:3.750000e+01,cep:2.500000e+01 + 120 56 Ba gs 0 2.400000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 121 56 Ba gs 0 2.970000e+01 ce:4.999000e+01,ce/1:4.999000e+01,cep:2.000000e-02 + 122 56 Ba gs 0 1.170000e+02 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00 + 123 56 Ba gs 0 1.620000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 124 56 Ba gs 0 6.600000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 125 56 Ba gs 0 2.100000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 126 56 Ba gs 0 6.000000e+03 ce:1.000000e+02 + 127 56 Ba gs 0 7.620000e+02 ce:1.000000e+02 + 127 56 Ba m 0 1.900000e+00 it:1.000000e+02 + 128 56 Ba gs 0 2.099520e+05 ce:1.000000e+02 + 129 56 Ba gs 0 8.568000e+03 ce:1.000000e+02 + 129 56 Ba m 0 7.704000e+03 ce:1.000000e+02 + 130 56 Ba gs 0 0.000000e+00 s + 130 56 Ba m 0 8.800000e-03 it:1.000000e+02 + 131 56 Ba gs 0 9.979200e+05 ce:1.000000e+02 + 131 56 Ba m 0 8.760000e+02 it:1.000000e+02 + 132 56 Ba gs 0 0.000000e+00 s + 133 56 Ba gs 0 3.336770e+08 ce:1.000000e+02 + 133 56 Ba m 0 1.375200e+05 ce:1.010000e-02,it:9.998990e+01 + 134 56 Ba gs 0 0.000000e+00 s + 135 56 Ba gs 0 0.000000e+00 s + 135 56 Ba m 0 1.033200e+05 it:1.000000e+02 + 136 56 Ba gs 0 0.000000e+00 s + 136 56 Ba m 0 3.084000e-01 it:1.000000e+02 + 137 56 Ba gs 0 0.000000e+00 s + 137 56 Ba m 0 1.531800e+02 it:1.000000e+02 + 138 56 Ba gs 0 0.000000e+00 s + 139 56 Ba gs 0 4.983600e+03 b-:1.000000e+02 + 140 56 Ba gs 0 1.101770e+06 b-:1.000000e+02 + 141 56 Ba gs 0 1.096200e+03 b-:1.000000e+02 + 142 56 Ba gs 0 6.360000e+02 b-:1.000000e+02 + 143 56 Ba gs 0 1.433000e+01 b-:1.000000e+02 + 144 56 Ba gs 0 1.150000e+01 b-:1.000000e+02 + 145 56 Ba gs 0 4.310000e+00 b-:1.000000e+02 + 146 56 Ba gs 0 2.220000e+00 b-:1.000000e+02,b-/1:0.000000e+00 + 147 56 Ba gs 0 8.930000e-01 b-:1.000000e+02 + 148 56 Ba gs 0 6.120000e-01 b-:9.960000e+01,b-n:4.000000e-01 + 149 56 Ba gs 0 3.440000e-01 b-:9.957000e+01,b-n:4.300000e-01 + 150 56 Ba gs 0 3.000000e-01 b-:1.000000e+02 + 151 56 Ba gs 0 2.000000e-01 b-:1.000000e+02 + 152 56 Ba gs 0 1.000000e-01 b-:1.000000e+02 + 153 56 Ba gs 0 8.000000e-02 b-:1.000000e+02 + 117 57 La gs 0 5.000000e-01 ce:5.000000e+01,p:5.000000e+01 + 118 57 La gs 0 1.000000e+00 ce:1.000000e+02 + 119 57 La gs 0 2.000000e+00 ce:1.000000e+02 + 120 57 La gs 0 2.800000e+00 ce:1.000000e+02 + 121 57 La gs 0 5.300000e+00 ce:1.000000e+02 + 122 57 La gs 0 8.700000e+00 ce:1.000000e+02 + 123 57 La gs 0 1.700000e+01 ce:1.000000e+02 + 124 57 La gs 0 2.900000e+01 ce:1.000000e+02 + 124 57 La m 0 1.000000e+00 ce:1.000000e+02 + 125 57 La gs 0 6.480000e+01 ce:1.000000e+02 + 125 57 La m 0 4.000000e-01 it:1.000000e+02 + 126 57 La gs 0 5.400000e+01 ce:1.000000e+02 + 127 57 La gs 0 3.060000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 127 57 La m 0 2.220000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 128 57 La gs 0 3.138000e+02 ce:1.000000e+02 + 128 57 La m 0 1.200000e+02 it:1.000000e+02 + 129 57 La gs 0 6.960000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 129 57 La m 0 5.600000e-01 it:1.000000e+02 + 130 57 La gs 0 5.220000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 131 57 La gs 0 3.540000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 132 57 La gs 0 1.728000e+04 ce:1.000000e+02 + 132 57 La m 0 1.458000e+03 it:7.600000e+01,ce:2.400000e+01 + 133 57 La gs 0 1.408320e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 134 57 La gs 0 3.870000e+02 ce:1.000000e+02 + 135 57 La gs 0 7.020000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 136 57 La gs 0 5.922000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 136 57 La m 0 1.140000e-01 it:1.000000e+02 + 137 57 La gs 0 1.893460e+12 ce:1.000000e+02 + 138 57 La gs 0 3.313550e+18 ce:6.640000e+01,b-:3.360000e+01 + 139 57 La gs 0 0.000000e+00 s + 140 57 La gs 0 1.450260e+05 b-:1.000000e+02 + 141 57 La gs 0 1.411200e+04 b-:1.000000e+02 + 142 57 La gs 0 5.466000e+03 b-:1.000000e+02 + 143 57 La gs 0 8.484000e+02 b-:1.000000e+02 + 144 57 La gs 0 4.080000e+01 b-:1.000000e+02 + 145 57 La gs 0 2.480000e+01 b-:1.000000e+02 + 146 57 La gs 0 6.270000e+00 b-:1.000000e+02 + 146 57 La m 0 1.000000e+01 b-:1.000000e+02 + 147 57 La gs 0 4.015000e+00 b-:1.000000e+02 + 148 57 La gs 0 1.428000e+00 b-:1.000000e+02 + 149 57 La gs 0 1.050000e+00 b-:9.860000e+01,b-n:1.400000e+00 + 150 57 La gs 0 5.100000e-01 b-:9.730000e+01,b-n:2.700000e+00 + 151 57 La gs 0 3.000000e-01 b-:1.000000e+02 + 152 57 La gs 0 2.800000e-01 b-:9.396100e+01,b-n:6.039300e+00 + 153 57 La gs 0 1.500000e-01 b-:1.000000e+02 + 154 57 La gs 0 1.000000e-01 b-:1.000000e+02 + 155 57 La gs 0 6.000000e-02 b-:1.000000e+02 + 119 58 Ce gs 0 2.000000e-01 ce:1.000000e+02 + 120 58 Ce gs 0 2.500000e-01 ce:1.000000e+02 + 121 58 Ce gs 0 1.100000e+00 ce:9.900000e+01,cep:1.000000e-00 + 122 58 Ce gs 0 2.000000e+00 ce:1.000000e+02 + 123 58 Ce gs 0 3.800000e+00 ce:1.000000e+02 + 124 58 Ce gs 0 6.000000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 125 58 Ce gs 0 1.020000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 126 58 Ce gs 0 5.000000e+01 ce:1.000000e+02 + 127 58 Ce gs 0 2.900000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 127 58 Ce m 0 3.400000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 128 58 Ce gs 0 2.460000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 129 58 Ce gs 0 2.100000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 130 58 Ce gs 0 1.374000e+03 ce:1.000000e+02 + 131 58 Ce gs 0 6.120000e+02 ce:1.000000e+02 + 131 58 Ce m 0 3.000000e+02 ce:1.000000e+02 + 132 58 Ce gs 0 1.263600e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 132 58 Ce m 0 1.300000e-02 it:1.000000e+02 + 133 58 Ce gs 0 5.820000e+03 ce:1.000000e+02 + 133 58 Ce m 0 1.764000e+04 ce:1.000000e+02 + 134 58 Ce gs 0 2.730240e+05 ce:1.000000e+02 + 135 58 Ce gs 0 6.372000e+04 ce:1.000000e+02 + 135 58 Ce m 0 2.000000e+01 it:1.000000e+02 + 136 58 Ce gs 0 0.000000e+00 s + 137 58 Ce gs 0 3.240000e+04 ce:1.000000e+02 + 137 58 Ce m 0 1.238400e+05 it:9.922000e+01,ce:7.800000e-01 + 138 58 Ce gs 0 0.000000e+00 s + 138 58 Ce m 0 8.650000e-03 it:1.000000e+02 + 139 58 Ce gs 0 1.189300e+07 ce:1.000000e+02 + 139 58 Ce m 0 5.610000e+01 it:1.000000e+02 + 140 58 Ce gs 0 0.000000e+00 s + 141 58 Ce gs 0 2.808000e+06 b-:1.000000e+02 + 142 58 Ce gs 0 1.577880e+24 db-:1.000000e+02 + 143 58 Ce gs 0 1.191600e+05 b-:1.000000e+02 + 144 58 Ce gs 0 2.461540e+07 b-:9.906240e+01,b-/1:9.376110e-01 + 145 58 Ce gs 0 1.806000e+02 b-:1.000000e+02 + 146 58 Ce gs 0 8.112000e+02 b-:1.000000e+02 + 147 58 Ce gs 0 5.700000e+01 b-:1.000000e+02 + 148 58 Ce gs 0 5.600000e+01 b-:1.000000e+02 + 149 58 Ce gs 0 5.300000e+00 b-:1.000000e+02 + 150 58 Ce gs 0 4.000000e+00 b-:1.000000e+02 + 151 58 Ce gs 0 1.020000e+00 b-:1.000000e+02 + 152 58 Ce gs 0 1.100000e+00 b-:1.000000e+02 + 153 58 Ce gs 0 1.500000e+00 b-:9.937800e+01,b-n:6.219000e-01 + 154 58 Ce gs 0 2.000000e+00 b-:9.936300e+01,b-n:6.373000e-01 + 155 58 Ce gs 0 2.000000e-01 b-:1.000000e+02 + 156 58 Ce gs 0 1.500000e-01 b-:1.000000e+02 + 157 58 Ce gs 0 5.000000e-02 b-:1.000000e+02 + 158 58 Ce gs 0 1.000000e+00 b-:9.945000e+01,b-n:5.500000e-01 + 121 59 Pr gs 0 6.000000e-01 p:5.000000e+01,ce:5.000000e+01 + 122 59 Pr gs 0 5.000000e-01 ce:1.000000e+02 + 123 59 Pr gs 0 8.000000e-01 ce:1.000000e+02 + 124 59 Pr gs 0 1.200000e+00 ce:1.000000e+02 + 125 59 Pr gs 0 3.300000e+00 ce:1.000000e+02 + 126 59 Pr gs 0 3.120000e+00 ce:1.000000e+02 + 127 59 Pr gs 0 4.200000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 127 59 Pr m 0 5.000000e-02 ce:2.500000e+01,ce/1:2.500000e+01,it:5.000000e+01 + 128 59 Pr gs 0 3.100000e+00 ce:1.000000e+02 + 129 59 Pr gs 0 3.000000e+01 ce:1.000000e+02 + 129 59 Pr m 0 1.000000e-03 it:1.000000e+02 + 130 59 Pr gs 0 4.000000e+01 ce:1.000000e+02 + 131 59 Pr gs 0 9.000000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 131 59 Pr m 0 5.700000e+00 it:9.640000e+01,ce:3.600000e+00,ce/1:0.000000e+00 + 132 59 Pr gs 0 8.940000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 132 59 Pr m 0 2.000000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 133 59 Pr gs 0 3.900000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 134 59 Pr gs 0 1.020000e+03 ce:1.000000e+02 + 134 59 Pr m 0 6.600000e+02 ce:1.000000e+02 + 135 59 Pr gs 0 1.440000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 136 59 Pr gs 0 7.860000e+02 ce:1.000000e+02 + 137 59 Pr gs 0 4.608000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 138 59 Pr gs 0 8.700000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 138 59 Pr m 0 7.632000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 139 59 Pr gs 0 1.587600e+04 ce:9.998000e+01,ce/1:2.000000e-02 + 140 59 Pr gs 0 2.034000e+02 ce:1.000000e+02 + 141 59 Pr gs 0 0.000000e+00 s + 142 59 Pr gs 0 6.883200e+04 b-:9.998360e+01,ce:1.640000e-02 + 142 59 Pr m 0 8.760000e+02 it:1.000000e+02 + 143 59 Pr gs 0 1.171580e+06 b-:1.000000e+02 + 144 59 Pr gs 0 1.036800e+03 b-:1.000000e+02 + 144 59 Pr m 0 4.140000e+02 it:9.993000e+01,b-:7.000000e-02 + 145 59 Pr gs 0 2.154240e+04 b-:1.000000e+02 + 146 59 Pr gs 0 1.449000e+03 b-:1.000000e+02 + 147 59 Pr gs 0 8.040000e+02 b-:1.000000e+02 + 148 59 Pr gs 0 1.374000e+02 b-:1.000000e+02 + 148 59 Pr m 0 1.212000e+02 b-:1.000000e+02 + 149 59 Pr gs 0 1.356000e+02 b-:1.000000e+02 + 150 59 Pr gs 0 6.100000e+00 b-:1.000000e+02 + 151 59 Pr gs 0 1.890000e+01 b-:1.000000e+02 + 152 59 Pr gs 0 3.630000e+00 b-:1.000000e+02 + 153 59 Pr gs 0 4.280000e+00 b-:1.000000e+02 + 154 59 Pr gs 0 2.300000e+00 b-:1.000000e+02 + 155 59 Pr gs 0 1.000000e+00 b-:1.000000e+02 + 156 59 Pr gs 0 5.000000e-01 b-:9.728300e+01,b-n:2.717000e+00 + 157 59 Pr gs 0 3.000000e-01 b-:9.361300e+01,b-n:6.387400e+00 + 158 59 Pr gs 0 2.000000e-01 b-:1.000000e+02 + 159 59 Pr gs 0 1.000000e-01 b-:1.000000e+02 + 125 60 Nd gs 0 6.000000e-01 ce:1.000000e+02 + 126 60 Nd gs 0 1.000000e+00 ce:1.000000e+02 + 127 60 Nd gs 0 1.800000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 128 60 Nd gs 0 5.000000e+00 ce:1.000000e+02 + 129 60 Nd gs 0 4.900000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 130 60 Nd gs 0 2.800000e+01 ce:1.000000e+02 + 131 60 Nd gs 0 3.300000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 132 60 Nd gs 0 9.360000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 133 60 Nd gs 0 7.000000e+01 ce:1.000000e+02 + 133 60 Nd m 0 7.000000e+01 ce:1.000000e+02 + 134 60 Nd gs 0 5.100000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 135 60 Nd gs 0 7.440000e+02 ce:1.000000e+02 + 135 60 Nd m 0 3.300000e+02 ce:9.997000e+01,it:3.000000e-02 + 136 60 Nd gs 0 3.042000e+03 ce:1.000000e+02 + 137 60 Nd gs 0 2.310000e+03 ce:1.000000e+02 + 137 60 Nd m 0 1.600000e+00 it:1.000000e+02 + 138 60 Nd gs 0 1.814400e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 139 60 Nd gs 0 1.782000e+03 ce:1.000000e+02 + 139 60 Nd m 0 1.980000e+04 ce:8.820000e+01,it:1.180000e+01 + 140 60 Nd gs 0 2.911680e+05 ce:1.000000e+02 + 141 60 Nd gs 0 8.964000e+03 ce:1.000000e+02 + 141 60 Nd m 0 6.200000e+01 it:9.995000e+01,ce:5.000000e-02 + 142 60 Nd gs 0 0.000000e+00 s + 143 60 Nd gs 0 0.000000e+00 s + 144 60 Nd gs 0 7.226690e+22 a:1.000000e+02 + 145 60 Nd gs 0 0.000000e+00 s + 146 60 Nd gs 0 0.000000e+00 s + 147 60 Nd gs 0 9.521280e+05 b-:1.000000e+02 + 148 60 Nd gs 0 8.520550e+25 db-:1.000000e+02 + 149 60 Nd gs 0 6.220800e+03 b-:1.000000e+02 + 150 60 Nd gs 0 6.627100e+26 db-:1.000000e+02 + 151 60 Nd gs 0 7.464000e+02 b-:1.000000e+02 + 152 60 Nd gs 0 6.840000e+02 b-:1.000000e+02,b-/1:0.000000e+00,b-/2:0.000000e+00 + 153 60 Nd gs 0 3.160000e+01 b-:1.000000e+02 + 154 60 Nd gs 0 2.590000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 155 60 Nd gs 0 8.900000e+00 b-:1.000000e+02 + 156 60 Nd gs 0 5.490000e+00 b-:1.000000e+02 + 157 60 Nd gs 0 2.500000e+00 b-:1.000000e+02 + 158 60 Nd gs 0 7.000000e-01 b-:9.999500e+01,b-n:5.300000e-03 + 159 60 Nd gs 0 5.000000e-01 b-:9.976400e+01,b-n:2.361000e-01 + 160 60 Nd gs 0 3.000000e-01 b-:9.905300e+01,b-n:9.469000e-01 + 161 60 Nd gs 0 2.000000e-01 b-:1.000000e+02 + 127 61 Pm gs 0 5.000000e-01 ce:5.000000e+01,p:5.000000e+01 + 128 61 Pm gs 0 1.000000e+00 ce:1.000000e+02 + 129 61 Pm gs 0 1.000000e+00 ce:1.000000e+02 + 130 61 Pm gs 0 2.300000e+00 ce:1.000000e+02 + 131 61 Pm gs 0 4.000000e+00 ce:1.000000e+02 + 132 61 Pm gs 0 6.300000e+00 ce:1.000000e+02,cep:2.500000e-05,cep/1:2.500000e-05 + 133 61 Pm gs 0 1.500000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 133 61 Pm m 0 1.000000e+01 ce:5.000000e+01,ce/1:0.000000e+00,it:5.000000e+01 + 134 61 Pm gs 0 2.200000e+01 ce:1.000000e+02 + 134 61 Pm m 0 5.000000e+00 ce:1.000000e+02 + 135 61 Pm gs 0 4.900000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 135 61 Pm m 0 4.000000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 136 61 Pm gs 0 1.070000e+02 ce:1.000000e+02 + 136 61 Pm m 0 4.700000e+01 ce:1.000000e+02 + 137 61 Pm gs 0 1.200000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 137 61 Pm m 0 1.440000e+02 ce:3.742000e+01,ce/1:6.258000e+01 + 138 61 Pm gs 0 1.000000e+01 ce:1.000000e+02 + 138 61 Pm m 0 1.944000e+02 ce:1.000000e+02 + 139 61 Pm gs 0 2.490000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 139 61 Pm m 0 1.800000e-01 it:9.984000e+01,ce:0.000000e+00,ce/1:1.600000e-01 + 140 61 Pm gs 0 9.200000e+00 ce:1.000000e+02 + 140 61 Pm m 0 3.570000e+02 ce:1.000000e+02 + 141 61 Pm gs 0 1.254000e+03 ce:9.990000e+01,ce/1:1.000000e-01 + 142 61 Pm gs 0 4.050000e+01 ce:1.000000e+02 + 142 61 Pm m 0 2.000000e-03 it:1.000000e+02 + 143 61 Pm gs 0 2.298240e+07 ce:1.000000e+02 + 144 61 Pm gs 0 3.136320e+07 ce:1.000000e+02 + 145 61 Pm gs 0 5.585700e+08 ce:1.000000e+02,a:2.800000e-07 + 146 61 Pm gs 0 1.745280e+08 b-:3.400000e+01,ce:6.600000e+01 + 147 61 Pm gs 0 8.274400e+07 b-:1.000000e+02 + 148 61 Pm gs 0 4.637950e+05 b-:1.000000e+02 + 148 61 Pm m 0 3.546720e+06 b-:9.500000e+01,it:5.000000e+00 + 149 61 Pm gs 0 1.910880e+05 b-:1.000000e+02 + 150 61 Pm gs 0 9.648000e+03 b-:1.000000e+02 + 151 61 Pm gs 0 1.011600e+05 b-:1.000000e+02 + 152 61 Pm gs 0 2.472000e+02 b-:1.000000e+02 + 152 61 Pm m 0 4.500000e+02 b-:1.000000e+02 + 152 61 Pm m2 0 8.640000e+02 b-:1.000000e+02 + 153 61 Pm gs 0 3.150000e+02 b-:1.000000e+02 + 154 61 Pm gs 0 1.038000e+02 b-:1.000000e+02 + 154 61 Pm m 0 1.608000e+02 b-:1.000000e+02 + 155 61 Pm gs 0 4.150000e+01 b-:1.000000e+02 + 156 61 Pm gs 0 2.670000e+01 b-:1.000000e+02 + 157 61 Pm gs 0 1.056000e+01 b-:1.000000e+02 + 158 61 Pm gs 0 4.800000e+00 b-:1.000000e+02 + 159 61 Pm gs 0 3.000000e+00 b-:9.998200e+01,b-n:1.850000e-02 + 160 61 Pm gs 0 2.000000e+00 b-:9.973200e+01,b-n:2.676000e-01 + 161 61 Pm gs 0 7.000000e-01 b-:1.000000e+02 + 162 61 Pm gs 0 5.000000e-01 b-:1.000000e+02 + 163 61 Pm gs 0 2.000000e-01 b-:1.000000e+02 + 129 62 Sm gs 0 5.500000e-01 ce:1.000000e+02 + 130 62 Sm gs 0 5.000000e-01 ce:1.000000e+02 + 131 62 Sm gs 0 1.200000e+00 ce:1.000000e+02 + 132 62 Sm gs 0 4.000000e+00 ce:1.000000e+02 + 133 62 Sm gs 0 3.700000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 134 62 Sm gs 0 1.000000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 135 62 Sm gs 0 1.030000e+01 ce:4.999000e+01,ce/1:4.999000e+01,cep:2.000000e-02 + 135 62 Sm m 0 2.400000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 136 62 Sm gs 0 4.700000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 137 62 Sm gs 0 4.500000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 137 62 Sm m 0 2.000000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 138 62 Sm gs 0 1.860000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 139 62 Sm gs 0 1.542000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 139 62 Sm m 0 1.070000e+01 it:9.370000e+01,ce:0.000000e+00,ce/1:6.300000e+00 + 140 62 Sm gs 0 8.892000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 141 62 Sm gs 0 6.120000e+02 ce:1.000000e+02 + 141 62 Sm m 0 1.356000e+03 ce:9.969000e+01,it:3.100000e-01 + 142 62 Sm gs 0 4.349400e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 143 62 Sm gs 0 5.298000e+02 ce:1.000000e+02 + 143 62 Sm m 0 6.600000e+01 it:9.976000e+01,ce:2.400000e-01 + 143 62 Sm m2 0 3.000000e-02 it:0.000000e+00,it/1:1.000000e+02 + 144 62 Sm gs 0 0.000000e+00 s + 145 62 Sm gs 0 2.937600e+07 ce:1.000000e+02 + 146 62 Sm gs 0 3.155760e+15 a:1.000000e+02 + 147 62 Sm gs 0 3.345110e+18 a:1.000000e+02 + 148 62 Sm gs 0 2.524610e+23 a:1.000000e+02 + 149 62 Sm gs 0 6.311520e+22 a:1.000000e+02 + 150 62 Sm gs 0 0.000000e+00 s + 151 62 Sm gs 0 2.840180e+09 b-:1.000000e+02 + 152 62 Sm gs 0 0.000000e+00 s + 153 62 Sm gs 0 1.666800e+05 b-:1.000000e+02 + 153 62 Sm m 0 1.060000e-02 it:1.000000e+02 + 154 62 Sm gs 0 0.000000e+00 s + 155 62 Sm gs 0 1.338000e+03 b-:1.000000e+02 + 156 62 Sm gs 0 3.384000e+04 b-:1.000000e+02 + 157 62 Sm gs 0 4.818000e+02 b-:1.000000e+02 + 158 62 Sm gs 0 3.180000e+02 b-:1.000000e+02 + 159 62 Sm gs 0 1.137000e+01 b-:1.000000e+02 + 160 62 Sm gs 0 9.600000e+00 b-:1.000000e+02 + 161 62 Sm gs 0 4.800000e+00 b-:1.000000e+02 + 162 62 Sm gs 0 2.000000e+00 b-:1.000000e+02 + 163 62 Sm gs 0 1.000000e+00 b-:1.000000e+02 + 164 62 Sm gs 0 5.000000e-01 b-:1.000000e+02 + 165 62 Sm gs 0 2.000000e-01 b-:1.000000e+02 + 131 63 Eu gs 0 2.600000e-02 p:9.950000e+01,ce:5.000000e-01 + 132 63 Eu gs 0 4.000000e-01 ce:1.000000e+02 + 133 63 Eu gs 0 1.000000e+00 ce:1.000000e+02 + 134 63 Eu gs 0 5.000000e-01 ce:1.000000e+02 + 135 63 Eu gs 0 1.500000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 136 63 Eu gs 0 3.300000e+00 ce:9.991000e+01,cep:4.500000e-02,cep/1:4.500000e-02 + 136 63 Eu m 0 3.700000e+00 ce:9.991000e+01,cep:4.500000e-02,cep/1:4.500000e-02 + 137 63 Eu gs 0 8.400000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 138 63 Eu gs 0 1.210000e+01 ce:1.000000e+02 + 139 63 Eu gs 0 1.790000e+01 ce:3.130000e+01,ce/1:6.870000e+01 + 140 63 Eu gs 0 1.510000e+00 ce:1.000000e+02 + 140 63 Eu m 0 1.250000e-01 it:9.900000e+01,ce:1.000000e-00 + 141 63 Eu gs 0 4.070000e+01 ce:9.824000e+01,ce/1:1.760000e+00 + 141 63 Eu m 0 2.700000e+00 it:8.600000e+01,ce:1.050000e-01,ce/1:1.389500e+01 + 142 63 Eu gs 0 2.360000e+00 ce:1.000000e+02 + 142 63 Eu m 0 7.338000e+01 ce:1.000000e+02 + 143 63 Eu gs 0 1.554000e+02 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00 + 144 63 Eu gs 0 1.020000e+01 ce:1.000000e+02 + 145 63 Eu gs 0 5.123520e+05 ce:1.000000e+02 + 146 63 Eu gs 0 3.983040e+05 ce:1.000000e+02 + 147 63 Eu gs 0 2.082240e+06 ce:9.999780e+01,a:2.200000e-03 + 148 63 Eu gs 0 4.708800e+06 ce:1.000000e+02,a:9.400000e-07 + 149 63 Eu gs 0 8.043840e+06 ce:1.000000e+02 + 150 63 Eu gs 0 1.147390e+09 ce:1.000000e+02 + 150 63 Eu m 0 4.608000e+04 b-:8.800000e+01,ce:1.200000e+01 + 151 63 Eu gs 0 0.000000e+00 s + 152 63 Eu gs 0 4.267300e+08 b-:2.800000e+01,ce:7.200000e+01 + 152 63 Eu m 0 3.339000e+04 b-:7.200000e+01,ce:2.800000e+01 + 152 63 Eu m2 0 5.760000e+03 it:1.000000e+02 + 153 63 Eu gs 0 0.000000e+00 s + 154 63 Eu gs 0 2.711660e+08 b-:9.998000e+01,ce:2.000000e-02 + 154 63 Eu m 0 2.784000e+03 it:1.000000e+02 + 155 63 Eu gs 0 1.529280e+08 b-:1.000000e+02 + 156 63 Eu gs 0 1.313280e+06 b-:1.000000e+02 + 157 63 Eu gs 0 5.464800e+04 b-:1.000000e+02 + 158 63 Eu gs 0 2.754000e+03 b-:1.000000e+02 + 159 63 Eu gs 0 1.086000e+03 b-:1.000000e+02 + 160 63 Eu gs 0 3.800000e+01 b-:1.000000e+02 + 161 63 Eu gs 0 2.600000e+01 b-:1.000000e+02 + 162 63 Eu gs 0 1.060000e+01 b-:1.000000e+02 + 163 63 Eu gs 0 6.000000e+00 b-:1.000000e+02 + 164 63 Eu gs 0 2.000000e+00 b-:1.000000e+02 + 165 63 Eu gs 0 1.000000e+00 b-:1.000000e+02 + 166 63 Eu gs 0 4.000000e-01 b-:1.000000e+02 + 167 63 Eu gs 0 2.000000e-01 b-:1.000000e+02 + 134 64 Gd gs 0 4.000000e-01 ce:1.000000e+02 + 135 64 Gd gs 0 1.100000e+00 ce:9.800000e+01,cep:2.000000e+00 + 136 64 Gd gs 0 1.000000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 137 64 Gd gs 0 2.200000e+00 ce:1.000000e+02 + 138 64 Gd gs 0 4.700000e+00 ce:1.000000e+02 + 139 64 Gd gs 0 5.700000e+00 ce:1.000000e+02 + 139 64 Gd m 0 4.800000e+00 ce:1.000000e+02 + 140 64 Gd gs 0 1.580000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 141 64 Gd gs 0 1.400000e+01 ce:9.997000e+01,ce/1:0.000000e+00,cep:3.000000e-02 + 141 64 Gd m 0 2.450000e+01 ce:0.000000e+00,ce/1:8.900000e+01,it:1.100000e+01 + 142 64 Gd gs 0 7.020000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 143 64 Gd gs 0 3.900000e+01 ce:1.000000e+02 + 143 64 Gd m 0 1.120000e+02 ce:1.000000e+02 + 144 64 Gd gs 0 2.700000e+02 ce:1.000000e+02 + 145 64 Gd gs 0 1.380000e+03 ce:1.000000e+02 + 145 64 Gd m 0 8.500000e+01 it:9.430000e+01,ce:5.700000e+00 + 146 64 Gd gs 0 4.170530e+06 ce:1.000000e+02 + 147 64 Gd gs 0 1.370160e+05 ce:1.000000e+02 + 148 64 Gd gs 0 2.354200e+09 a:1.000000e+02 + 149 64 Gd gs 0 8.017920e+05 ce:9.999960e+01,a:4.299980e-04 + 150 64 Gd gs 0 5.743480e+13 a:1.000000e+02 + 151 64 Gd gs 0 1.071360e+07 ce:1.000000e+02,a:1.000000e-06 + 152 64 Gd gs 0 3.408220e+21 a:1.000000e+02 + 153 64 Gd gs 0 2.077920e+07 ce:1.000000e+02 + 154 64 Gd gs 0 0.000000e+00 s + 155 64 Gd gs 0 0.000000e+00 s + 155 64 Gd m 0 3.200000e-02 it:1.000000e+02 + 156 64 Gd gs 0 0.000000e+00 s + 157 64 Gd gs 0 0.000000e+00 s + 158 64 Gd gs 0 0.000000e+00 s + 159 64 Gd gs 0 6.652440e+04 b-:1.000000e+02 + 160 64 Gd gs 0 4.102490e+24 db-:1.000000e+02 + 161 64 Gd gs 0 2.187600e+02 b-:1.000000e+02 + 162 64 Gd gs 0 5.040000e+02 b-:1.000000e+02 + 163 64 Gd gs 0 6.800000e+01 b-:1.000000e+02 + 164 64 Gd gs 0 4.500000e+01 b-:1.000000e+02 + 165 64 Gd gs 0 1.030000e+01 b-:1.000000e+02 + 166 64 Gd gs 0 7.000000e+00 b-:1.000000e+02 + 167 64 Gd gs 0 3.000000e+00 b-:1.000000e+02 + 168 64 Gd gs 0 3.000000e-01 b-:1.000000e+02 + 169 64 Gd gs 0 1.000000e+00 b-:1.000000e+02 + 136 65 Tb gs 0 1.000000e-09 ce:1.000000e+02 + 137 65 Tb gs 0 1.500000e-01 p:5.000000e+01,ce:5.000000e+01 + 138 65 Tb gs 0 4.000000e-01 ce:1.000000e+02 + 139 65 Tb gs 0 1.600000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 140 65 Tb gs 0 2.400000e+00 ce:9.974000e+01,cep:2.600000e-01 + 141 65 Tb gs 0 3.500000e+00 ce:5.000000e+01,ce/1:5.000000e+01 + 141 65 Tb m 0 7.900000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 142 65 Tb gs 0 5.970000e-01 ce:9.999780e+01,cep:1.100000e-03,cep/1:1.100000e-03 + 142 65 Tb m 0 3.030000e-01 it:9.950000e+01,ce:5.000000e-01 + 143 65 Tb gs 0 1.200000e+01 ce:0.000000e+00,ce/1:1.000000e+02 + 143 65 Tb m 0 2.100000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 144 65 Tb gs 0 1.000000e+00 ce:1.000000e+02 + 144 65 Tb m 0 4.250000e+00 it:6.600000e+01,ce:3.400000e+01 + 145 65 Tb gs 0 1.200000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 145 65 Tb m 0 3.090000e+01 ce:5.034000e+01,ce/1:4.966000e+01 + 146 65 Tb gs 0 8.000000e+00 ce:1.000000e+02 + 146 65 Tb m 0 2.410000e+01 ce:1.000000e+02 + 146 65 Tb m2 0 1.180000e-03 it:0.000000e+00,it/1:1.000000e+02 + 147 65 Tb gs 0 5.904000e+03 ce:1.000000e+02 + 147 65 Tb m 0 1.122000e+02 ce:1.000000e+02 + 148 65 Tb gs 0 3.600000e+03 ce:1.000000e+02 + 148 65 Tb m 0 1.320000e+02 ce:1.000000e+02 + 149 65 Tb gs 0 1.482480e+04 ce:8.330000e+01,a:1.670000e+01 + 149 65 Tb m 0 2.496000e+02 ce:9.997800e+01,a:2.200000e-02 + 150 65 Tb gs 0 1.252800e+04 ce:9.995000e+01,a:5.000000e-02 + 150 65 Tb m 0 3.480000e+02 ce:1.000000e+02 + 151 65 Tb gs 0 6.339240e+04 ce:9.999050e+01,a:9.500000e-03 + 151 65 Tb m 0 2.500000e+01 it:9.380000e+01,ce:6.200000e+00 + 152 65 Tb gs 0 6.300000e+04 ce:1.000000e+02,a:7.000000e-07 + 152 65 Tb m 0 2.520000e+02 it:7.880000e+01,ce:2.120000e+01 + 153 65 Tb gs 0 2.021760e+05 ce:1.000000e+02 + 154 65 Tb gs 0 7.740000e+04 ce:9.990000e+01,b-:1.000000e-01 + 154 65 Tb m 0 3.384000e+04 ce:7.812190e+01,it:2.177820e+01,b-:9.990010e-02 + 154 65 Tb m2 0 8.172000e+04 ce:9.820000e+01,it:0.000000e+00,it/1:1.800000e+00 + 155 65 Tb gs 0 4.596480e+05 ce:1.000000e+02,ce/1:0.000000e+00 + 156 65 Tb gs 0 4.466880e+05 ce:1.000000e+02 + 156 65 Tb m 0 8.784000e+04 it:1.000000e+02 + 156 65 Tb m2 0 1.836000e+04 ce:1.900000e-01,it:9.981000e+01 + 157 65 Tb gs 0 3.124200e+09 ce:1.000000e+02 + 158 65 Tb gs 0 5.680370e+09 ce:8.340000e+01,b-:1.660000e+01 + 158 65 Tb m 0 1.070000e+01 it:9.939000e+01,b-:6.000000e-01,ce:1.000000e-02 + 159 65 Tb gs 0 0.000000e+00 s + 160 65 Tb gs 0 6.246720e+06 b-:1.000000e+02 + 161 65 Tb gs 0 5.952960e+05 b-:1.000000e+02 + 162 65 Tb gs 0 4.560000e+02 b-:1.000000e+02 + 163 65 Tb gs 0 1.170000e+03 b-:1.000000e+02 + 164 65 Tb gs 0 1.800000e+02 b-:1.000000e+02 + 165 65 Tb gs 0 1.266000e+02 b-:0.000000e+00,b-/1:1.000000e+02 + 166 65 Tb gs 0 2.100000e+01 b-:1.000000e+02 + 167 65 Tb gs 0 1.900000e+01 b-:1.000000e+02 + 168 65 Tb gs 0 8.200000e+00 b-:1.000000e+02 + 169 65 Tb gs 0 2.000000e+00 b-:1.000000e+02 + 170 65 Tb gs 0 3.000000e+00 b-:1.000000e+02 + 171 65 Tb gs 0 5.000000e-01 b-:1.000000e+02 + 139 66 Dy gs 0 6.000000e-01 ce:1.000000e+02 + 140 66 Dy gs 0 7.000000e-01 ce:1.000000e+02 + 141 66 Dy gs 0 9.000000e-01 ce:5.000000e+01,ce/1:5.000000e+01 + 142 66 Dy gs 0 2.300000e+00 ce:9.994000e+01,ce/1:0.000000e+00,cep:3.000000e-02,cep/1:3.000000e-02 + 143 66 Dy gs 0 3.200000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 144 66 Dy gs 0 9.100000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 145 66 Dy gs 0 9.500000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 145 66 Dy m 0 1.410000e+01 ce:3.540000e+01,ce/1:6.460000e+01 + 146 66 Dy gs 0 3.320000e+01 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00 + 146 66 Dy m 0 1.500000e-01 it:1.000000e+02 + 147 66 Dy gs 0 4.000000e+01 ce:9.995000e+01,ce/1:0.000000e+00,cep:5.000000e-02 + 147 66 Dy m 0 5.500000e+01 ce:0.000000e+00,ce/1:6.500000e+01,it:3.500000e+01 + 148 66 Dy gs 0 1.980000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 149 66 Dy gs 0 2.520000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 149 66 Dy m 0 4.900000e-01 it:9.930000e+01,ce:0.000000e+00,ce/1:7.000000e-01 + 150 66 Dy gs 0 4.302000e+02 ce:6.400000e+01,ce/1:0.000000e+00,a:3.600000e+01 + 151 66 Dy gs 0 1.074000e+03 ce:6.456960e+01,ce/1:2.983040e+01,a:5.600000e+00 + 152 66 Dy gs 0 8.568000e+03 ce:9.990000e+01,ce/1:0.000000e+00,a:1.000000e-01 + 153 66 Dy gs 0 2.304000e+04 ce:9.999060e+01,a:9.400000e-03 + 154 66 Dy gs 0 9.467280e+13 a:1.000000e+02 + 155 66 Dy gs 0 3.564000e+04 ce:1.000000e+02 + 156 66 Dy gs 0 3.155760e+25 a:5.000000e+01,db+:5.000000e+01 + 157 66 Dy gs 0 2.930400e+04 ce:1.000000e+02 + 157 66 Dy m 0 2.160000e-02 it:1.000000e+02 + 158 66 Dy gs 0 0.000000e+00 s + 159 66 Dy gs 0 1.247620e+07 ce:1.000000e+02 + 160 66 Dy gs 0 0.000000e+00 s + 161 66 Dy gs 0 0.000000e+00 s + 162 66 Dy gs 0 0.000000e+00 s + 163 66 Dy gs 0 0.000000e+00 s + 164 66 Dy gs 0 0.000000e+00 s + 165 66 Dy gs 0 8.402400e+03 b-:1.000000e+02 + 165 66 Dy m 0 7.542000e+01 it:9.776000e+01,b-:2.240000e+00 + 166 66 Dy gs 0 2.937600e+05 b-:1.000000e+02,b-/1:0.000000e+00 + 167 66 Dy gs 0 3.720000e+02 b-:1.000000e+02 + 168 66 Dy gs 0 5.220000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 169 66 Dy gs 0 3.900000e+01 b-:1.000000e+02 + 170 66 Dy gs 0 3.000000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 171 66 Dy gs 0 6.000000e+00 b-:1.000000e+02 + 172 66 Dy gs 0 3.000000e+00 b-:1.000000e+02 + 173 66 Dy gs 0 2.000000e+00 b-:1.000000e+02 + 140 67 Ho gs 0 6.000000e-03 p:1.000000e+02 + 141 67 Ho gs 0 4.100000e-03 p:1.000000e+02 + 142 67 Ho gs 0 3.000000e-01 ce:1.000000e+02 + 143 67 Ho gs 0 3.000000e-01 ce:1.000000e+02 + 144 67 Ho gs 0 7.000000e-01 ce:1.000000e+02 + 145 67 Ho gs 0 2.400000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 145 67 Ho m 0 1.000000e-01 ce:5.000000e+01,ce/1:0.000000e+00,it:5.000000e+01 + 146 67 Ho gs 0 3.600000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 147 67 Ho gs 0 5.800000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 148 67 Ho gs 0 2.200000e+00 ce:1.000000e+02 + 148 67 Ho m 0 9.490000e+00 ce:9.992000e+01,cep:4.000000e-02,cep/1:4.000000e-02 + 148 67 Ho m2 0 2.350000e-03 it:0.000000e+00,it/1:1.000000e+02 + 149 67 Ho gs 0 2.110000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 149 67 Ho m 0 5.600000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 150 67 Ho gs 0 7.680000e+01 ce:1.000000e+02 + 150 67 Ho m 0 2.330000e+01 ce:1.000000e+02 + 151 67 Ho gs 0 3.520000e+01 ce:7.800000e+01,a:0.000000e+00,a/1:2.200000e+01 + 151 67 Ho m 0 4.720000e+01 a:7.700000e+01,a/1:0.000000e+00,ce:2.300000e+01 + 152 67 Ho gs 0 1.618000e+02 ce:8.800000e+01,a:1.200000e+01,a/1:0.000000e+00 + 152 67 Ho m 0 5.000000e+01 ce:8.920000e+01,a:0.000000e+00,a/1:1.080000e+01 + 153 67 Ho gs 0 1.206000e+02 ce:9.994900e+01,a:0.000000e+00,a/1:5.100000e-02 + 153 67 Ho m 0 5.580000e+02 ce:9.982000e+01,a:1.800000e-01,a/1:0.000000e+00 + 154 67 Ho gs 0 7.056000e+02 ce:9.998100e+01,a:1.900000e-02,a/1:0.000000e+00 + 154 67 Ho m 0 1.860000e+02 ce:9.999900e+01,a:0.000000e+00,a/1:9.999900e-04 + 155 67 Ho gs 0 2.880000e+03 ce:1.000000e+02 + 156 67 Ho gs 0 3.360000e+03 ce:1.000000e+02 + 156 67 Ho m 0 9.500000e+00 it:5.000000e+01,ce:5.000000e+01 + 157 67 Ho gs 0 7.560000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 158 67 Ho gs 0 6.780000e+02 ce:1.000000e+02 + 158 67 Ho m 0 1.680000e+03 it:8.100000e+01,ce:1.900000e+01 + 158 67 Ho m2 0 1.278000e+03 ce:9.300000e+01,it:7.000000e+00,it/1:0.000000e+00 + 159 67 Ho gs 0 1.983000e+03 ce:1.000000e+02 + 159 67 Ho m 0 8.300000e+00 it:1.000000e+02 + 160 67 Ho gs 0 1.518000e+03 ce:1.000000e+02 + 160 67 Ho m 0 1.800000e+04 it:6.500000e+01,ce:3.500000e+01 + 160 67 Ho m2 0 2.900000e+00 it:1.000000e+02 + 161 67 Ho gs 0 8.928000e+03 ce:1.000000e+02 + 161 67 Ho m 0 6.770000e+00 it:1.000000e+02 + 162 67 Ho gs 0 9.000000e+02 ce:1.000000e+02 + 162 67 Ho m 0 4.020000e+03 it:6.200000e+01,ce:3.800000e+01 + 163 67 Ho gs 0 1.442180e+11 ce:1.000000e+02 + 163 67 Ho m 0 1.090000e+00 it:1.000000e+02 + 164 67 Ho gs 0 1.716000e+03 b-:5.170000e+01,ce:4.830000e+01 + 164 67 Ho m 0 2.256000e+03 it:1.000000e+02 + 165 67 Ho gs 0 0.000000e+00 s + 166 67 Ho gs 0 9.658800e+04 b-:1.000000e+02 + 166 67 Ho m 0 3.786910e+10 b-:1.000000e+02 + 167 67 Ho gs 0 1.116000e+04 b-:8.820000e+01,b-/1:1.180000e+01 + 168 67 Ho gs 0 1.794000e+02 b-:1.000000e+02 + 168 67 Ho m 0 1.320000e+02 it:9.950000e+01,b-:5.000000e-01 + 169 67 Ho gs 0 2.820000e+02 b-:1.000000e+02 + 170 67 Ho gs 0 1.668000e+02 b-:1.000000e+02 + 170 67 Ho m 0 4.300000e+01 b-:1.000000e+02 + 171 67 Ho gs 0 5.300000e+01 b-:1.000000e+02 + 172 67 Ho gs 0 2.500000e+01 b-:1.000000e+02 + 173 67 Ho gs 0 1.000000e+01 b-:1.000000e+02 + 174 67 Ho gs 0 8.000000e+00 b-:1.000000e+02 + 175 67 Ho gs 0 5.000000e+00 b-:1.000000e+02 + 144 68 Er gs 0 4.000000e-01 ce:1.000000e+02 + 145 68 Er gs 0 9.000000e-01 ce:0.000000e+00,ce/1:1.000000e+02 + 146 68 Er gs 0 1.700000e+00 ce:1.000000e+02 + 147 68 Er gs 0 2.500000e+00 ce:1.000000e+02 + 147 68 Er m 0 2.500000e+00 ce:1.000000e+02 + 148 68 Er gs 0 4.600000e+00 ce:9.985000e+01,ce/1:0.000000e+00,ce/2:0.000000e+00,cep:7.500000e-02,cep/1:7.500000e-02 + 149 68 Er gs 0 4.000000e+00 ce:0.000000e+00,ce/1:9.300000e+01,cep:7.000000e+00 + 149 68 Er m 0 8.900000e+00 ce:9.632000e+01,ce/1:0.000000e+00,it:3.500000e+00,cep:1.800000e-01 + 150 68 Er gs 0 1.850000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 151 68 Er gs 0 2.350000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 151 68 Er m 0 5.800000e-01 it:9.530000e+01,ce:4.700000e+00,ce/1:0.000000e+00 + 152 68 Er gs 0 1.030000e+01 a:9.000000e+01,ce:1.000000e+01,ce/1:0.000000e+00 + 153 68 Er gs 0 3.710000e+01 a:5.300000e+01,a/1:0.000000e+00,ce:2.350000e+01,ce/1:2.350000e+01 + 154 68 Er gs 0 2.238000e+02 ce:9.953000e+01,ce/1:0.000000e+00,a:4.700000e-01 + 155 68 Er gs 0 3.180000e+02 ce:9.997800e+01,a:2.200000e-02 + 156 68 Er gs 0 1.170000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 157 68 Er gs 0 1.119000e+03 ce:1.000000e+02 + 157 68 Er m 0 7.600000e-02 it:1.000000e+02 + 158 68 Er gs 0 8.244000e+03 ce:0.000000e+00,ce/1:1.000000e+02,ce/2:0.000000e+00 + 159 68 Er gs 0 2.160000e+03 ce:7.620000e+01,ce/1:2.380000e+01 + 160 68 Er gs 0 1.028880e+05 ce:0.000000e+00,ce/1:1.000000e+02,ce/2:0.000000e+00 + 161 68 Er gs 0 1.155600e+04 ce:7.340000e+01,ce/1:2.660000e+01 + 162 68 Er gs 0 4.418060e+21 a:5.000000e+01,db+:5.000000e+01 + 163 68 Er gs 0 4.500000e+03 ce:9.998500e+01,ce/1:1.500000e-02 + 164 68 Er gs 0 0.000000e+00 s + 165 68 Er gs 0 3.729600e+04 ce:1.000000e+02 + 166 68 Er gs 0 0.000000e+00 s + 167 68 Er gs 0 0.000000e+00 s + 167 68 Er m 0 2.269000e+00 it:1.000000e+02 + 168 68 Er gs 0 0.000000e+00 s + 169 68 Er gs 0 8.121600e+05 b-:1.000000e+02 + 170 68 Er gs 0 0.000000e+00 s + 171 68 Er gs 0 2.705760e+04 b-:1.000000e+02 + 172 68 Er gs 0 1.774800e+05 b-:1.000000e+02 + 173 68 Er gs 0 8.604000e+01 b-:1.000000e+02 + 174 68 Er gs 0 1.920000e+02 b-:1.000000e+02 + 175 68 Er gs 0 7.200000e+01 b-:1.000000e+02 + 176 68 Er gs 0 2.000000e+01 b-:1.000000e+02 + 177 68 Er gs 0 3.000000e+00 b-:1.000000e+02 + 145 69 Tm gs 0 3.500000e-06 p:1.000000e+02 + 146 69 Tm gs 0 2.400000e-01 p:1.000000e+02 + 146 69 Tm m 0 7.200000e-02 p:1.000000e+02 + 147 69 Tm gs 0 5.800000e-01 ce:0.000000e+00,ce/1:8.500000e+01,p:1.500000e+01 + 148 69 Tm gs 0 7.000000e-01 ce:1.000000e+02 + 149 69 Tm gs 0 9.000000e-01 ce:0.000000e+00,ce/1:9.974000e+01,cep:8.684000e-02,cep/1:8.658000e-02,cep/2:8.658000e-02 + 150 69 Tm gs 0 3.000000e+00 ce:1.000000e+02 + 150 69 Tm m 0 2.200000e+00 ce:9.880000e+01,cep:6.000000e-01,cep/1:6.000000e-01 + 150 69 Tm m2 0 5.200000e-03 it:0.000000e+00,it/1:1.000000e+02 + 151 69 Tm gs 0 4.170000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 151 69 Tm m 0 6.600000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 152 69 Tm gs 0 8.000000e+00 ce:1.000000e+02 + 152 69 Tm m 0 5.200000e+00 ce:1.000000e+02 + 153 69 Tm gs 0 1.480000e+00 a:9.100000e+01,a/1:0.000000e+00,ce:9.000000e+00 + 153 69 Tm m 0 2.500000e+00 a:0.000000e+00,a/1:9.200000e+01,ce:8.000000e+00 + 154 69 Tm gs 0 8.100000e+00 a:5.400000e+01,a/1:0.000000e+00,ce:4.600000e+01 + 154 69 Tm m 0 3.300000e+00 a:0.000000e+00,a/1:5.800000e+01,ce:4.200000e+01 + 155 69 Tm gs 0 2.160000e+01 ce:9.810000e+01,a:1.900000e+00,a/1:0.000000e+00 + 155 69 Tm m 0 4.500000e+01 ce:9.200000e+01,a:0.000000e+00,a/1:8.000000e+00 + 156 69 Tm gs 0 8.380000e+01 ce:9.993600e+01,a:6.400000e-02,a/1:0.000000e+00 + 157 69 Tm gs 0 2.178000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 158 69 Tm gs 0 2.388000e+02 ce:1.000000e+02 + 159 69 Tm gs 0 5.478000e+02 ce:1.000000e+02 + 160 69 Tm gs 0 5.640000e+02 ce:1.000000e+02 + 160 69 Tm m 0 7.450000e+01 it:8.500000e+01,ce:1.500000e+01 + 161 69 Tm gs 0 1.812000e+03 ce:1.000000e+02 + 162 69 Tm gs 0 1.302000e+03 ce:1.000000e+02 + 162 69 Tm m 0 2.430000e+01 it:8.200000e+01,ce:1.800000e+01 + 163 69 Tm gs 0 6.516000e+03 ce:1.000000e+02 + 164 69 Tm gs 0 1.200000e+02 ce:1.000000e+02 + 164 69 Tm m 0 3.060000e+02 it:8.000000e+01,ce:2.000000e+01 + 165 69 Tm gs 0 1.082160e+05 ce:1.000000e+02 + 166 69 Tm gs 0 2.772000e+04 ce:1.000000e+02 + 166 69 Tm m 0 3.400000e-01 it:1.000000e+02 + 167 69 Tm gs 0 7.992000e+05 ce:1.700000e+00,ce/1:9.830000e+01 + 168 69 Tm gs 0 8.043840e+06 ce:9.999000e+01,b-:1.000000e-02 + 169 69 Tm gs 0 0.000000e+00 s + 170 69 Tm gs 0 1.111100e+07 b-:9.986900e+01,ce:1.310000e-01 + 171 69 Tm gs 0 6.059060e+07 b-:1.000000e+02,b-/1:0.000000e+00 + 172 69 Tm gs 0 2.289600e+05 b-:1.000000e+02 + 173 69 Tm gs 0 2.966400e+04 b-:1.000000e+02 + 174 69 Tm gs 0 3.240000e+02 b-:1.000000e+02 + 175 69 Tm gs 0 9.120000e+02 b-:2.300000e+01,b-/1:7.700000e+01 + 176 69 Tm gs 0 1.110000e+02 b-:5.000000e+01,b-/1:5.000000e+01 + 177 69 Tm gs 0 8.200000e+01 b-:0.000000e+00,b-/1:1.000000e+02 + 178 69 Tm gs 0 3.000000e+01 b-:1.000000e+02 + 179 69 Tm gs 0 2.000000e+01 b-:1.000000e+02 + 148 70 Yb gs 0 2.500000e-01 ce:1.000000e+02 + 149 70 Yb gs 0 6.000000e-01 ce:1.000000e+02 + 150 70 Yb gs 0 7.000000e-01 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00 + 151 70 Yb gs 0 1.600000e+00 ce:0.000000e+00,ce/1:1.000000e+02 + 151 70 Yb m 0 1.600000e+00 ce:9.960000e+01,ce/1:0.000000e+00,it:4.000000e-01 + 152 70 Yb gs 0 3.040000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 153 70 Yb gs 0 4.200000e+00 ce:2.499600e+01,ce/1:2.499600e+01,a:2.500000e+01,a/1:2.500000e+01,cep:8.000000e-03 + 154 70 Yb gs 0 4.090000e-01 a:9.260000e+01,ce:7.400000e+00,ce/1:0.000000e+00 + 155 70 Yb gs 0 1.793000e+00 a:8.900000e+01,a/1:0.000000e+00,ce:5.500000e+00,ce/1:5.500000e+00 + 156 70 Yb gs 0 2.610000e+01 ce:9.000000e+01,a:1.000000e+01 + 157 70 Yb gs 0 3.860000e+01 ce:9.950000e+01,a:5.000000e-01 + 158 70 Yb gs 0 8.940000e+01 ce:9.999790e+01,a:2.100000e-03 + 159 70 Yb gs 0 1.032000e+02 ce:1.000000e+02 + 160 70 Yb gs 0 2.880000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 161 70 Yb gs 0 2.520000e+02 ce:1.000000e+02 + 162 70 Yb gs 0 1.132200e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 163 70 Yb gs 0 6.630000e+02 ce:1.000000e+02 + 164 70 Yb gs 0 4.548000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 165 70 Yb gs 0 5.940000e+02 ce:1.000000e+02 + 166 70 Yb gs 0 2.041200e+05 ce:0.000000e+00,ce/1:1.000000e+02 + 167 70 Yb gs 0 1.050000e+03 ce:1.000000e+02 + 168 70 Yb gs 0 4.102490e+21 a:5.000000e+01,db+:5.000000e+01 + 169 70 Yb gs 0 2.767050e+06 ce:1.000000e+02 + 169 70 Yb m 0 4.600000e+01 it:1.000000e+02 + 170 70 Yb gs 0 0.000000e+00 s + 171 70 Yb gs 0 0.000000e+00 s + 171 70 Yb m 0 5.250000e-03 it:1.000000e+02 + 172 70 Yb gs 0 0.000000e+00 s + 173 70 Yb gs 0 0.000000e+00 s + 174 70 Yb gs 0 0.000000e+00 s + 175 70 Yb gs 0 3.615840e+05 b-:1.000000e+02 + 175 70 Yb m 0 6.820000e-02 it:1.000000e+02 + 176 70 Yb gs 0 0.000000e+00 s + 176 70 Yb m 0 1.140000e+01 it:9.000000e+01,b-:1.000000e+01,b-/1:0.000000e+00 + 177 70 Yb gs 0 6.879600e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 177 70 Yb m 0 6.410000e+00 it:1.000000e+02 + 178 70 Yb gs 0 4.440000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 179 70 Yb gs 0 4.800000e+02 b-:0.000000e+00,b-/1:1.000000e+02 + 180 70 Yb gs 0 1.440000e+02 b-:0.000000e+00,b-/1:1.000000e+02 + 181 70 Yb gs 0 6.000000e+01 b-:1.000000e+02 + 150 71 Lu gs 0 3.500000e-02 p:8.000000e+01,ce:2.000000e+01 + 151 71 Lu gs 0 8.800000e-02 p:7.000000e+01,ce:3.000000e+01,ce/1:0.000000e+00 + 151 71 Lu m 0 1.560000e-05 p:5.000000e+01,ce:0.000000e+00,ce/1:5.000000e+01 + 152 71 Lu gs 0 6.500000e-01 ce:8.500000e+01,cep:7.500000e+00,cep/1:7.500000e+00 + 153 71 Lu gs 0 9.000000e-01 a:7.000000e+01,ce:3.000000e+01 + 153 71 Lu m 0 1.000000e+00 ce:5.000000e+01,a:5.000000e+01 + 154 71 Lu gs 0 2.000000e+00 ce:1.000000e+02 + 154 71 Lu m 0 1.120000e+00 ce:9.999800e+01,a:0.000000e+00,a/1:0.000000e+00,a/2:2.000000e-03 + 155 71 Lu gs 0 1.380000e-01 a:0.000000e+00,a/1:7.600000e+01,ce:2.400000e+01 + 155 71 Lu m 0 6.860000e-02 a:8.800000e+01,a/1:0.000000e+00,ce:1.200000e+01 + 155 71 Lu m2 0 2.700000e-03 a:5.000000e+01,a/1:5.000000e+01 + 156 71 Lu gs 0 4.940000e-01 a:9.500000e+01,a/1:0.000000e+00,ce:5.000000e+00 + 156 71 Lu m 0 1.980000e-01 a:0.000000e+00,a/1:9.400000e+01,ce:6.000000e+00 + 157 71 Lu gs 0 6.800000e+00 ce:5.000000e+01,a:0.000000e+00,a/1:5.000000e+01 + 157 71 Lu m 0 4.790000e+00 ce:9.400000e+01,a:6.000000e+00,a/1:0.000000e+00 + 158 71 Lu gs 0 1.060000e+01 ce:9.909000e+01,a:9.100000e-01,a/1:0.000000e+00 + 159 71 Lu gs 0 1.210000e+01 ce:9.996000e+01,a:0.000000e+00,a/1:4.000000e-02 + 160 71 Lu gs 0 3.610000e+01 ce:9.999990e+01,a:9.999990e-05 + 160 71 Lu m 0 4.000000e+01 ce:1.000000e+02 + 161 71 Lu gs 0 7.700000e+01 ce:1.000000e+02 + 161 71 Lu m 0 7.300000e-03 it:1.000000e+02 + 162 71 Lu gs 0 8.220000e+01 ce:1.000000e+02 + 162 71 Lu m 0 9.000000e+01 ce:1.000000e+02 + 162 71 Lu m2 0 1.140000e+02 ce:1.000000e+02 + 163 71 Lu gs 0 2.382000e+02 ce:1.000000e+02 + 164 71 Lu gs 0 1.884000e+02 ce:1.000000e+02 + 165 71 Lu gs 0 6.444000e+02 ce:1.000000e+02 + 165 71 Lu m 0 7.200000e+02 ce:1.000000e+02 + 166 71 Lu gs 0 1.590000e+02 ce:1.000000e+02 + 166 71 Lu m 0 8.460000e+01 ce:5.800000e+01,it:4.200000e+01 + 166 71 Lu m2 0 1.272000e+02 ce:8.000000e+01,it:0.000000e+00,it/1:2.000000e+01 + 167 71 Lu gs 0 3.090000e+03 ce:1.000000e+02 + 168 71 Lu gs 0 3.300000e+02 ce:1.000000e+02 + 168 71 Lu m 0 4.020000e+02 ce:9.500000e+01,it:5.000000e+00 + 169 71 Lu gs 0 1.226160e+05 ce:8.640000e+01,ce/1:1.360000e+01 + 169 71 Lu m 0 1.600000e+02 it:1.000000e+02 + 170 71 Lu gs 0 1.738370e+05 ce:1.000000e+02 + 170 71 Lu m 0 6.700000e-01 it:1.000000e+02 + 171 71 Lu gs 0 7.128000e+05 ce:1.000000e+02 + 171 71 Lu m 0 7.800000e+01 it:1.000000e+02 + 172 71 Lu gs 0 5.788800e+05 ce:1.000000e+02 + 172 71 Lu m 0 2.220000e+02 it:1.000000e+02 + 173 71 Lu gs 0 4.216320e+07 ce:1.000000e+02 + 174 71 Lu gs 0 1.123200e+08 ce:1.000000e+02 + 174 71 Lu m 0 1.226880e+07 ce:5.800000e-01,it:9.942000e+01 + 175 71 Lu gs 0 0.000000e+00 s + 176 71 Lu gs 0 1.262300e+18 b-:1.000000e+02 + 176 71 Lu m 0 1.319040e+04 b-:9.990500e+01,ce:9.500000e-02 + 177 71 Lu gs 0 5.788800e+05 b-:1.000000e+02 + 177 71 Lu m 0 1.384990e+07 b-/1:7.740000e+01,it:2.260000e+01 + 178 71 Lu gs 0 1.704000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 178 71 Lu m 0 1.386000e+03 b-:0.000000e+00,b-/1:1.000000e+02 + 179 71 Lu gs 0 1.652400e+04 b-:9.996000e+01,b-/1:4.000000e-02,b-/2:0.000000e+00 + 179 71 Lu m 0 3.100000e-03 it:1.000000e+02 + 180 71 Lu gs 0 3.420000e+02 b-:5.000000e+01,b-/1:5.000000e+01 + 180 71 Lu m 0 1.000000e+00 it:1.000000e+02 + 181 71 Lu gs 0 2.100000e+02 b-:1.000000e+02 + 182 71 Lu gs 0 1.200000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 183 71 Lu gs 0 5.800000e+01 b-:1.000000e+02 + 184 71 Lu gs 0 2.000000e+01 b-:5.000000e+01,b-/1:5.000000e+01 + 154 72 Hf gs 0 2.000000e+00 ce:1.000000e+02,ce/1:0.000000e+00 + 155 72 Hf gs 0 8.900000e-01 ce:5.000000e+01,ce/1:5.000000e+01,ce/2:0.000000e+00 + 156 72 Hf gs 0 2.300000e-02 a:9.700000e+01,ce:3.000000e+00,ce/1:0.000000e+00 + 157 72 Hf gs 0 1.150000e-01 a:8.600000e+01,ce:7.000000e+00,ce/1:7.000000e+00 + 158 72 Hf gs 0 2.840000e+00 ce:5.500000e+01,a:4.500000e+01 + 159 72 Hf gs 0 5.200000e+00 ce:5.900000e+01,a:4.100000e+01 + 160 72 Hf gs 0 1.360000e+01 ce:9.930000e+01,ce/1:0.000000e+00,a:7.000000e-01 + 161 72 Hf gs 0 1.820000e+01 ce:9.987000e+01,ce/1:0.000000e+00,a:1.300000e-01 + 162 72 Hf gs 0 3.940000e+01 ce:9.999200e+01,ce/1:0.000000e+00,ce/2:0.000000e+00,a:8.000000e-03 + 163 72 Hf gs 0 4.000000e+01 ce:9.999990e+01,a:9.999990e-05 + 164 72 Hf gs 0 1.110000e+02 ce:1.000000e+02 + 165 72 Hf gs 0 7.600000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 166 72 Hf gs 0 4.062000e+02 ce:0.000000e+00,ce/1:6.456000e+01,ce/2:3.544000e+01 + 167 72 Hf gs 0 1.230000e+02 ce:1.000000e+02 + 168 72 Hf gs 0 1.557000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 169 72 Hf gs 0 1.944000e+02 ce:9.650000e+01,ce/1:3.500000e+00 + 170 72 Hf gs 0 5.763600e+04 ce:9.993000e+01,ce/1:7.000000e-02 + 171 72 Hf gs 0 4.356000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 171 72 Hf m 0 2.950000e+01 it:1.000000e+02 + 172 72 Hf gs 0 5.901270e+07 ce:0.000000e+00,ce/1:1.000000e+02 + 173 72 Hf gs 0 8.604000e+04 ce:1.000000e+02 + 174 72 Hf gs 0 6.311520e+22 a:1.000000e+02 + 175 72 Hf gs 0 6.048000e+06 ce:1.000000e+02 + 176 72 Hf gs 0 0.000000e+00 s + 177 72 Hf gs 0 0.000000e+00 s + 177 72 Hf m 0 1.080000e+00 it:1.000000e+02 + 177 72 Hf m2 0 3.084000e+03 it/1:1.000000e+02 + 178 72 Hf gs 0 0.000000e+00 s + 178 72 Hf m 0 4.000000e+00 it:1.000000e+02 + 178 72 Hf m2 0 9.782860e+08 it/1:1.000000e+02 + 179 72 Hf gs 0 0.000000e+00 s + 179 72 Hf m 0 1.867000e+01 it:1.000000e+02 + 179 72 Hf m2 0 2.164320e+06 it:1.000000e+02,it/1:0.000000e+00 + 180 72 Hf gs 0 0.000000e+00 s + 180 72 Hf m 0 1.980000e+04 b-/1:3.100000e-01,it:9.969000e+01 + 181 72 Hf gs 0 3.661630e+06 b-:1.000000e+02 + 182 72 Hf gs 0 2.840180e+14 b-:5.000000e+01,b-/1:5.000000e+01 + 182 72 Hf m 0 3.690000e+03 b-:0.000000e+00,b-/1:0.000000e+00,b-/2:5.800000e+01,it:4.200000e+01 + 183 72 Hf gs 0 3.841200e+03 b-:1.000000e+02 + 184 72 Hf gs 0 1.483200e+04 b-:1.000000e+02 + 184 72 Hf m 0 4.800000e+01 b-:1.000000e+02 + 185 72 Hf gs 0 2.100000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 186 72 Hf gs 0 1.560000e+02 b-:1.000000e+02 + 155 73 Ta gs 0 1.300000e-05 p:1.000000e+02 + 156 73 Ta gs 0 1.440000e-01 ce:9.580000e+01,p:4.200000e+00 + 156 73 Ta m 0 3.600000e-01 p:1.000000e+02 + 157 73 Ta gs 0 4.300000e-03 a:0.000000e+00,a/1:9.100000e+01,p:3.400000e+00,ce:5.600000e+00 + 157 73 Ta m 0 1.700000e-03 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01 + 158 73 Ta gs 0 4.900000e-02 a:9.600000e+01,a/1:0.000000e+00,ce:4.000000e+00 + 158 73 Ta m 0 3.600000e-02 a:0.000000e+00,a/1:9.300000e+01,ce:3.500000e+00,it:3.500000e+00 + 159 73 Ta gs 0 1.040000e+00 a:3.400000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:6.600000e+01 + 159 73 Ta m 0 5.140000e-01 a:0.000000e+00,a/1:5.600000e+01,a/2:0.000000e+00,ce:4.400000e+01 + 160 73 Ta gs 0 1.700000e+00 ce:5.000000e+01,a:5.000000e+01,a/1:0.000000e+00 + 160 73 Ta m 0 1.550000e+00 ce:6.600000e+01,a:0.000000e+00,a/1:3.400000e+01 + 161 73 Ta gs 0 2.890000e+00 ce:9.500000e+01,a:5.000000e+00,a/1:0.000000e+00 + 162 73 Ta gs 0 3.570000e+00 ce:9.992600e+01,a:7.400000e-02 + 163 73 Ta gs 0 1.060000e+01 ce:9.980000e+01,a:2.000000e-01 + 164 73 Ta gs 0 1.420000e+01 ce:1.000000e+02 + 165 73 Ta gs 0 3.100000e+01 ce:1.000000e+02 + 166 73 Ta gs 0 3.440000e+01 ce:1.000000e+02 + 167 73 Ta gs 0 8.400000e+01 ce:1.000000e+02 + 168 73 Ta gs 0 1.200000e+02 ce:1.000000e+02 + 169 73 Ta gs 0 2.940000e+02 ce:1.000000e+02 + 170 73 Ta gs 0 4.056000e+02 ce:1.000000e+02 + 171 73 Ta gs 0 1.398000e+03 ce:5.000000e+01,ce/1:5.000000e+01 + 172 73 Ta gs 0 2.208000e+03 ce:1.000000e+02 + 173 73 Ta gs 0 1.130400e+04 ce:1.000000e+02 + 174 73 Ta gs 0 4.104000e+03 ce:1.000000e+02 + 175 73 Ta gs 0 3.780000e+04 ce:1.000000e+02 + 176 73 Ta gs 0 2.912400e+04 ce:1.000000e+02 + 176 73 Ta m 0 1.100000e-03 it:1.000000e+02 + 176 73 Ta m2 0 9.700000e-04 it:0.000000e+00,it/1:1.000000e+02 + 177 73 Ta gs 0 2.030400e+05 ce:1.000000e+02 + 178 73 Ta gs 0 5.586000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 178 73 Ta m 0 8.496000e+03 ce:0.000000e+00,ce/1:1.000000e+02 + 178 73 Ta m2 0 5.900000e-02 it:0.000000e+00,it/1:1.000000e+02 + 179 73 Ta gs 0 5.080320e+07 ce:1.000000e+02 + 179 73 Ta m 0 9.000000e-03 it:1.000000e+02 + 179 73 Ta m2 0 5.410000e-02 it:0.000000e+00,it/1:1.000000e+02 + 180 73 Ta gs 0 2.908800e+04 b-:1.810000e+01,ce:8.190000e+01 + 180 73 Ta m 0 5.680370e+22 b-:2.000000e+01,ce:8.000000e+01 + 181 73 Ta gs 0 0.000000e+00 s + 182 73 Ta gs 0 9.910080e+06 b-:1.000000e+02 + 182 73 Ta m 0 2.830000e-01 it:1.000000e+02 + 182 73 Ta m2 0 9.504000e+02 it/1:1.000000e+02 + 183 73 Ta gs 0 4.397760e+05 b-:9.660000e+01,b-/1:3.400000e+00 + 184 73 Ta gs 0 3.132000e+04 b-:1.000000e+02 + 185 73 Ta gs 0 2.964000e+03 b-:5.000000e+01,b-/1:5.000000e+01 + 185 73 Ta m 0 1.000000e-03 it:1.000000e+02 + 186 73 Ta gs 0 6.234000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 187 73 Ta gs 0 1.200000e+02 b-:1.000000e+02 + 188 73 Ta gs 0 2.000000e+01 b-:1.000000e+02 + 158 74 W gs 0 1.000000e-03 a:1.000000e+02 + 159 74 W gs 0 8.200000e-03 a:8.200000e+01,ce:9.000000e+00,ce/1:9.000000e+00 + 160 74 W gs 0 9.000000e-02 a:8.700000e+01,ce:1.300000e+01,ce/1:0.000000e+00 + 161 74 W gs 0 4.090000e-01 a:7.300000e+01,ce:2.700000e+01 + 162 74 W gs 0 1.360000e+00 ce:5.480000e+01,a:4.520000e+01 + 163 74 W gs 0 2.800000e+00 ce:8.700000e+01,a:1.300000e+01 + 164 74 W gs 0 6.400000e+00 ce:9.740000e+01,a:2.600000e+00 + 165 74 W gs 0 5.100000e+00 ce:9.980000e+01,a:2.000000e-01 + 166 74 W gs 0 1.920000e+01 ce:9.996500e+01,a:3.500000e-02 + 167 74 W gs 0 1.990000e+01 ce:5.000000e+01,a:5.000000e+01 + 168 74 W gs 0 5.100000e+01 ce:9.999680e+01,a:3.200000e-03 + 169 74 W gs 0 7.600000e+01 ce:1.000000e+02 + 170 74 W gs 0 1.452000e+02 ce:9.900000e+01,a:1.000000e-00 + 171 74 W gs 0 1.428000e+02 ce:1.000000e+02 + 172 74 W gs 0 3.960000e+02 ce:1.000000e+02 + 173 74 W gs 0 4.560000e+02 ce:1.000000e+02 + 174 74 W gs 0 1.992000e+03 ce:1.000000e+02 + 175 74 W gs 0 2.112000e+03 ce:1.000000e+02 + 176 74 W gs 0 9.000000e+03 ce:5.000000e+01,ce/1:5.000000e+01 + 177 74 W gs 0 8.100000e+03 ce:1.000000e+02 + 178 74 W gs 0 1.866240e+06 ce:1.000000e+02 + 179 74 W gs 0 2.223000e+03 ce:1.000000e+02 + 179 74 W m 0 3.840000e+02 it:9.972000e+01,ce:2.800000e-01 + 180 74 W gs 0 0.000000e+00 s + 180 74 W m 0 5.470000e-03 it:1.000000e+02 + 181 74 W gs 0 1.045270e+07 ce:1.000000e+02 + 182 74 W gs 0 0.000000e+00 s + 183 74 W gs 0 3.471340e+24 a:3.340000e+01,a/1:3.330000e+01,a/2:3.330000e+01 + 183 74 W m 0 5.250000e+00 it:1.000000e+02 + 184 74 W gs 0 1.262300e+25 a:1.000000e+02,a/1:0.000000e+00 + 185 74 W gs 0 6.488640e+06 b-:1.000000e+02 + 185 74 W m 0 1.000000e+02 it:1.000000e+02 + 186 74 W gs 0 1.861900e+25 db-:5.000000e+01,a:5.000000e+01 + 186 74 W m 0 3.000000e-03 it:1.000000e+02 + 187 74 W gs 0 8.586000e+04 b-:1.000000e+02 + 188 74 W gs 0 5.996160e+06 b-:1.000000e+02,b-/1:0.000000e+00 + 189 74 W gs 0 6.960000e+02 b-:1.000000e+02 + 190 74 W gs 0 1.800000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 160 75 Re gs 0 7.900000e-04 p:9.100000e+01,a:9.000000e+00,a/1:0.000000e+00 + 161 75 Re gs 0 3.700000e-04 p:9.700000e+01,a:3.000000e+00,a/1:0.000000e+00 + 161 75 Re m 0 1.560000e-02 a:0.000000e+00,a/1:9.520000e+01,p:4.800000e+00 + 162 75 Re gs 0 1.070000e-01 a:9.400000e+01,a/1:0.000000e+00,ce:6.000000e+00 + 162 75 Re m 0 7.700000e-02 a:0.000000e+00,a/1:9.100000e+01,ce:9.000000e+00 + 163 75 Re gs 0 3.900000e-01 ce:6.800000e+01,a:3.200000e+01,a/1:0.000000e+00 + 163 75 Re m 0 2.140000e-01 a:0.000000e+00,a/1:6.600000e+01,ce:3.400000e+01 + 164 75 Re gs 0 5.300000e-01 a:5.800000e+01,a/1:0.000000e+00,ce:4.200000e+01 + 165 75 Re gs 0 1.000000e+00 ce:5.000000e+01,a:5.000000e+01 + 165 75 Re m 0 2.100000e+00 ce:8.700000e+01,a:1.300000e+01 + 166 75 Re gs 0 2.000000e+00 ce:5.000000e+01,a:5.000000e+01 + 166 75 Re m 0 2.500000e+00 ce:9.500000e+01,a:5.000000e+00 + 167 75 Re gs 0 3.400000e+00 a:1.000000e+02 + 167 75 Re m 0 6.100000e+00 ce:9.930000e+01,a:7.000000e-01 + 168 75 Re gs 0 4.400000e+00 ce:9.999500e+01,a:5.000000e-03 + 169 75 Re gs 0 8.100000e+00 ce:9.999500e+01,a:5.000000e-03 + 169 75 Re m 0 1.510000e+01 ce:9.980000e+01,a:2.000000e-01 + 170 75 Re gs 0 9.200000e+00 ce:9.999000e+01,a:1.000000e-02 + 171 75 Re gs 0 1.520000e+01 ce:1.000000e+02 + 172 75 Re gs 0 1.500000e+01 ce:1.000000e+02 + 172 75 Re m 0 5.500000e+01 ce:1.000000e+02 + 173 75 Re gs 0 1.200000e+02 ce:1.000000e+02 + 174 75 Re gs 0 1.440000e+02 ce:1.000000e+02 + 175 75 Re gs 0 3.534000e+02 ce:1.000000e+02 + 176 75 Re gs 0 3.180000e+02 ce:1.000000e+02 + 177 75 Re gs 0 8.400000e+02 ce:1.000000e+02 + 178 75 Re gs 0 7.920000e+02 ce:1.000000e+02 + 179 75 Re gs 0 1.170000e+03 ce:7.600000e+01,ce/1:2.400000e+01 + 180 75 Re gs 0 1.464000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 181 75 Re gs 0 7.164000e+04 ce:1.000000e+02 + 182 75 Re gs 0 2.304000e+05 ce:1.000000e+02 + 182 75 Re m 0 4.572000e+04 ce:1.000000e+02 + 183 75 Re gs 0 6.048000e+06 ce:5.000000e+01,ce/1:5.000000e+01 + 183 75 Re m 0 1.040000e-03 it:1.000000e+02 + 184 75 Re gs 0 3.283200e+06 ce:1.000000e+02 + 184 75 Re m 0 1.460160e+07 it:7.540000e+01,ce:2.460000e+01 + 185 75 Re gs 0 0.000000e+00 s + 186 75 Re gs 0 3.212610e+05 b-:9.253000e+01,ce:7.470000e+00 + 186 75 Re m 0 6.311520e+12 it:9.000000e+01,b-:1.000000e+01 + 187 75 Re gs 0 1.372760e+18 b-:9.999990e+01,a:9.999990e-05 + 188 75 Re gs 0 6.121800e+04 b-:1.000000e+02 + 188 75 Re m 0 1.116000e+03 it:1.000000e+02 + 189 75 Re gs 0 8.748000e+04 b-:8.800000e+01,b-/1:1.200000e+01 + 190 75 Re gs 0 1.860000e+02 b-:1.000000e+02,b-/1:0.000000e+00 + 190 75 Re m 0 1.152000e+04 b-:0.000000e+00,b-/1:5.440000e+01,it:4.560000e+01 + 191 75 Re gs 0 5.820000e+02 b-:1.000000e+02 + 192 75 Re gs 0 6.200000e+00 b-:1.000000e+02 + 193 75 Re gs 0 1.000000e-09 b-:1.000000e+02 + 162 76 Os gs 0 1.700000e-03 a:1.000000e+02 + 163 76 Os gs 0 5.500000e-03 a:1.000000e+02 + 164 76 Os gs 0 2.100000e-02 a:9.800000e+01,ce:2.000000e+00 + 165 76 Os gs 0 7.100000e-02 a:6.000000e+01,ce:2.000000e+01,ce/1:2.000000e+01 + 166 76 Os gs 0 2.160000e-01 a:7.200000e+01,ce:2.800000e+01,ce/1:0.000000e+00 + 167 76 Os gs 0 8.100000e-01 a:5.700000e+01,ce:0.000000e+00,ce/1:4.300000e+01 + 168 76 Os gs 0 2.060000e+00 ce:5.100000e+01,a:4.900000e+01 + 169 76 Os gs 0 3.460000e+00 ce:4.450000e+01,ce/1:4.450000e+01,a:1.100000e+01 + 170 76 Os gs 0 7.300000e+00 ce:9.140000e+01,a:8.600000e+00 + 171 76 Os gs 0 8.300000e+00 ce:9.820000e+01,a:1.800000e+00 + 172 76 Os gs 0 1.920000e+01 ce:0.000000e+00,ce/1:9.890000e+01,a:1.100000e+00 + 173 76 Os gs 0 2.240000e+01 ce:9.960000e+01,a:4.000000e-01 + 174 76 Os gs 0 4.400000e+01 ce:9.997600e+01,a:2.400000e-02 + 175 76 Os gs 0 8.400000e+01 ce:1.000000e+02 + 176 76 Os gs 0 2.160000e+02 ce:1.000000e+02 + 177 76 Os gs 0 1.680000e+02 ce:1.000000e+02 + 178 76 Os gs 0 3.000000e+02 ce:1.000000e+02 + 179 76 Os gs 0 3.900000e+02 ce:1.000000e+02 + 180 76 Os gs 0 1.290000e+03 ce:1.000000e+02 + 181 76 Os gs 0 6.300000e+03 ce:1.000000e+02 + 181 76 Os m 0 1.620000e+02 ce:1.000000e+02 + 182 76 Os gs 0 7.956000e+04 ce:0.000000e+00,ce/1:1.000000e+02 + 183 76 Os gs 0 4.680000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 183 76 Os m 0 3.564000e+04 ce:8.500000e+01,ce/1:0.000000e+00,it:1.500000e+01 + 184 76 Os gs 0 1.767230e+21 a:5.000000e+01,a/1:0.000000e+00,db+:5.000000e+01 + 185 76 Os gs 0 8.104320e+06 ce:1.000000e+02 + 186 76 Os gs 0 6.311520e+22 a:1.000000e+02 + 187 76 Os gs 0 0.000000e+00 s + 188 76 Os gs 0 0.000000e+00 s + 189 76 Os gs 0 0.000000e+00 s + 189 76 Os m 0 2.088000e+04 it:1.000000e+02 + 190 76 Os gs 0 0.000000e+00 s + 190 76 Os m 0 5.940000e+02 it:1.000000e+02 + 191 76 Os gs 0 1.330560e+06 b-:5.280000e+01,b-/1:4.720000e+01 + 191 76 Os m 0 4.716000e+04 it:1.000000e+02 + 192 76 Os gs 0 0.000000e+00 s + 192 76 Os m 0 5.900000e+00 it:8.700000e+01,b-:0.000000e+00,b-/1:0.000000e+00,b-/2:1.300000e+01 + 193 76 Os gs 0 1.083960e+05 b-:9.965000e+01,b-/1:3.500000e-01 + 194 76 Os gs 0 1.893460e+08 b-:1.000000e+02 + 195 76 Os gs 0 3.900000e+02 b-:1.000000e+02 + 196 76 Os gs 0 2.094000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 164 77 Ir gs 0 1.000000e-03 p:5.000000e+01,a:5.000000e+01 + 165 77 Ir gs 0 1.000000e-06 p:5.000000e+01,a:5.000000e+01,a/1:0.000000e+00 + 165 77 Ir m 0 3.000000e-04 p:8.700000e+01,a:0.000000e+00,a/1:1.300000e+01 + 166 77 Ir gs 0 1.050000e-02 a:9.300000e+01,a/1:0.000000e+00,p:7.000000e+00 + 166 77 Ir m 0 1.510000e-02 a:0.000000e+00,a/1:9.820000e+01,p:1.800000e+00 + 167 77 Ir gs 0 3.520000e-02 a:4.800000e+01,a/1:0.000000e+00,p:3.200000e+01,ce:2.000000e+01 + 167 77 Ir m 0 3.000000e-02 a:0.000000e+00,a/1:8.000000e+01,ce:1.960000e+01,p:4.000000e-01 + 168 77 Ir gs 0 1.250000e-01 a:5.000000e+01,ce:5.000000e+01 + 168 77 Ir m 0 1.610000e-01 a:1.000000e+02 + 169 77 Ir gs 0 7.800000e-01 a:3.000000e+01,a/1:3.000000e+01,ce:4.000000e+01 + 169 77 Ir m 0 3.080000e-01 a:0.000000e+00,a/1:7.200000e+01,ce:2.800000e+01 + 170 77 Ir gs 0 8.300000e-01 ce:6.400000e+01,a:1.800000e+01,a/1:1.800000e+01 + 170 77 Ir m 0 1.050000e+00 a:2.500000e+01,a/1:2.500000e+01,ce:5.000000e+01 + 171 77 Ir gs 0 1.460000e+00 a:5.800000e+01,a/1:0.000000e+00,ce:2.100000e+01,p:2.100000e+01 + 172 77 Ir gs 0 4.400000e+00 ce:9.800000e+01,a:2.000000e+00 + 172 77 Ir m 0 2.000000e+00 ce:7.700000e+01,a:2.300000e+01 + 173 77 Ir gs 0 9.000000e+00 ce:9.300000e+01,a:3.500000e+00,a/1:3.500000e+00 + 173 77 Ir m 0 2.200000e+00 ce:8.800000e+01,a:1.200000e+01,a/1:0.000000e+00 + 174 77 Ir gs 0 7.900000e+00 ce:9.950000e+01,a:5.000000e-01 + 174 77 Ir m 0 4.900000e+00 ce:9.750000e+01,a:2.500000e+00 + 175 77 Ir gs 0 9.000000e+00 ce:9.915000e+01,a:8.500000e-01 + 176 77 Ir gs 0 8.300000e+00 ce:9.690000e+01,a:1.550000e+00,a/1:1.550000e+00 + 177 77 Ir gs 0 3.000000e+01 ce:9.994000e+01,a:6.000000e-02 + 178 77 Ir gs 0 1.200000e+01 ce:1.000000e+02 + 179 77 Ir gs 0 7.900000e+01 ce:1.000000e+02 + 180 77 Ir gs 0 9.000000e+01 ce:1.000000e+02 + 181 77 Ir gs 0 2.940000e+02 ce:5.000000e+01,ce/1:5.000000e+01 + 182 77 Ir gs 0 9.000000e+02 ce:1.000000e+02 + 183 77 Ir gs 0 3.480000e+03 ce:3.298350e+01,ce/1:6.696650e+01,a:5.000000e-02 + 184 77 Ir gs 0 1.112400e+04 ce:1.000000e+02 + 185 77 Ir gs 0 5.184000e+04 ce:1.000000e+02 + 186 77 Ir gs 0 5.990400e+04 ce:1.000000e+02 + 186 77 Ir m 0 6.912000e+03 ce:7.500000e+01,it:2.500000e+01 + 187 77 Ir gs 0 3.780000e+04 ce:1.000000e+02 + 187 77 Ir m 0 3.030000e-02 it:1.000000e+02 + 188 77 Ir gs 0 1.494000e+05 ce:1.000000e+02 + 188 77 Ir m 0 4.200000e-03 it:1.000000e+02 + 189 77 Ir gs 0 1.140480e+06 ce:9.251000e+01,ce/1:7.490000e+00 + 189 77 Ir m 0 1.330000e-02 it:1.000000e+02 + 189 77 Ir m2 0 3.700000e-03 it:0.000000e+00,it/1:1.000000e+02 + 190 77 Ir gs 0 1.036800e+06 ce:1.000000e+02 + 190 77 Ir m 0 4.032000e+03 it:1.000000e+02 + 190 77 Ir m2 0 1.111320e+04 it:8.600000e+00,ce/1:9.140000e+01 + 191 77 Ir gs 0 0.000000e+00 s + 191 77 Ir m 0 4.900000e+00 it:1.000000e+02 + 191 77 Ir m2 0 5.500000e+00 it/1:1.000000e+02 + 192 77 Ir gs 0 6.378650e+06 b-:9.513000e+01,ce:4.870000e+00 + 192 77 Ir m 0 8.700000e+01 it:9.998250e+01,b-:1.750000e-02 + 192 77 Ir m2 0 7.605380e+09 it:1.000000e+02,it/1:0.000000e+00 + 193 77 Ir gs 0 0.000000e+00 s + 193 77 Ir m 0 9.097920e+05 it:1.000000e+02 + 194 77 Ir gs 0 6.940800e+04 b-:1.000000e+02 + 194 77 Ir m 0 3.185000e-02 it:1.000000e+02 + 194 77 Ir m2 0 1.477440e+07 b-:1.000000e+02 + 195 77 Ir gs 0 9.000000e+03 b-:1.000000e+02,b-/1:0.000000e+00 + 195 77 Ir m 0 1.368000e+04 b-:6.460000e+01,b-/1:3.040000e+01,it:5.000000e+00 + 196 77 Ir gs 0 5.200000e+01 b-:1.000000e+02 + 196 77 Ir m 0 5.040000e+03 b-:9.970000e+01,it:3.000000e-01 + 197 77 Ir gs 0 3.480000e+02 b-:1.000000e+02 + 197 77 Ir m 0 5.340000e+02 b-/1:9.975000e+01,it:2.500000e-01 + 198 77 Ir gs 0 8.000000e+00 b-:1.000000e+02 + 199 77 Ir gs 0 2.000000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 166 78 Pt gs 0 3.000000e-04 a:1.000000e+02 + 167 78 Pt gs 0 7.000000e-04 a:1.000000e+02 + 168 78 Pt gs 0 2.000000e-03 a:5.000000e+01,ce:2.500000e+01,ce/1:2.500000e+01 + 169 78 Pt gs 0 3.700000e-03 a:5.000000e+01,ce:5.000000e+01,ce/1:0.000000e+00 + 170 78 Pt gs 0 1.380000e-02 a:9.800000e+01,ce:1.000000e-00,ce/1:1.000000e-00 + 171 78 Pt gs 0 3.400000e-02 a:9.800000e+01,ce:2.000000e+00 + 172 78 Pt gs 0 9.800000e-02 a:7.700000e+01,ce:2.300000e+01,ce/1:0.000000e+00 + 173 78 Pt gs 0 3.630000e-01 a:8.400000e+01,ce:1.600000e+01,ce/1:0.000000e+00 + 174 78 Pt gs 0 8.890000e-01 a:7.600000e+01,ce:2.400000e+01,ce/1:0.000000e+00 + 175 78 Pt gs 0 2.520000e+00 a:6.400000e+01,ce:3.600000e+01 + 176 78 Pt gs 0 6.330000e+00 ce:6.200000e+01,a:3.800000e+01 + 177 78 Pt gs 0 1.000000e+01 ce:9.440000e+01,a:5.600000e+00 + 178 78 Pt gs 0 2.110000e+01 ce:9.230000e+01,a:7.700000e+00 + 179 78 Pt gs 0 2.120000e+01 ce:9.976000e+01,a:2.400000e-01 + 180 78 Pt gs 0 5.200000e+01 ce:9.970000e+01,a:3.000000e-01 + 181 78 Pt gs 0 5.200000e+01 ce:9.992600e+01,a:7.400000e-02 + 182 78 Pt gs 0 1.320000e+02 ce:9.996200e+01,a:3.800000e-02 + 183 78 Pt gs 0 3.900000e+02 ce:9.999040e+01,a:9.600000e-03 + 183 78 Pt m 0 4.300000e+01 ce:9.999960e+01,a:3.999980e-04 + 184 78 Pt gs 0 1.038000e+03 ce:9.999830e+01,a:1.700000e-03 + 184 78 Pt m 0 1.010000e-03 it:1.000000e+02 + 185 78 Pt gs 0 4.254000e+03 ce:9.999500e+01,a:0.000000e+00,a/1:5.000000e-03 + 185 78 Pt m 0 1.980000e+03 ce:9.800000e+01,it:2.000000e+00 + 186 78 Pt gs 0 7.488000e+03 ce:0.000000e+00,ce/1:9.999990e+01,a:1.400000e-04 + 187 78 Pt gs 0 8.460000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 188 78 Pt gs 0 8.812800e+05 ce:1.000000e+02,a:2.600000e-05 + 189 78 Pt gs 0 3.913200e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 190 78 Pt gs 0 2.051240e+19 a:1.000000e+02 + 191 78 Pt gs 0 2.420930e+05 ce:1.000000e+02,ce/1:0.000000e+00 + 192 78 Pt gs 0 0.000000e+00 s + 193 78 Pt gs 0 1.577880e+09 ce:1.000000e+02 + 193 78 Pt m 0 3.749760e+05 it:1.000000e+02 + 194 78 Pt gs 0 0.000000e+00 s + 195 78 Pt gs 0 0.000000e+00 s + 195 78 Pt m 0 3.473280e+05 it:1.000000e+02 + 196 78 Pt gs 0 0.000000e+00 s + 197 78 Pt gs 0 7.160940e+04 b-:1.000000e+02 + 197 78 Pt m 0 5.718000e+03 b-/1:3.300000e+00,it:9.670000e+01 + 198 78 Pt gs 0 0.000000e+00 s + 199 78 Pt gs 0 1.848000e+03 b-:1.000000e+02 + 199 78 Pt m 0 1.360000e+01 it:1.000000e+02 + 200 78 Pt gs 0 4.500000e+04 b-:1.000000e+02 + 201 78 Pt gs 0 1.500000e+02 b-:1.000000e+02 + 202 78 Pt gs 0 1.584000e+05 b-:1.000000e+02 + 171 79 Au gs 0 1.600000e-05 p:1.000000e+02 + 171 79 Au m 0 1.020000e-03 a:0.000000e+00,a/1:5.400000e+01,p:4.600000e+01 + 172 79 Au gs 0 4.700000e-03 a:4.900000e+01,a/1:4.900000e+01,p:2.000000e+00 + 173 79 Au gs 0 2.100000e-02 a:3.500000e+01,a/1:3.500000e+01,ce:3.000000e+01 + 173 79 Au m 0 1.500000e-02 a:0.000000e+00,a/1:9.600000e+01,ce:4.000000e+00 + 174 79 Au gs 0 1.360000e-01 a:2.500000e+01,a/1:2.500000e+01,ce:5.000000e+01 + 175 79 Au gs 0 1.950000e-01 a:8.200000e+01,ce:1.800000e+01 + 175 79 Au m 0 1.000000e-01 a:5.000000e+01,ce:5.000000e+01 + 176 79 Au gs 0 1.080000e+00 a:3.000000e+01,a/1:3.000000e+01,ce:4.000000e+01 + 177 79 Au gs 0 1.180000e+00 ce:6.000000e+01,a:4.000000e+01,a/1:0.000000e+00 + 178 79 Au gs 0 2.600000e+00 ce:6.000000e+01,a:2.000000e+01,a/1:2.000000e+01 + 179 79 Au gs 0 7.100000e+00 ce:7.800000e+01,a:2.200000e+01 + 180 79 Au gs 0 8.100000e+00 ce:9.820000e+01,a:1.800000e+00 + 181 79 Au gs 0 1.370000e+01 ce:9.730000e+01,a:2.700000e+00 + 182 79 Au gs 0 1.550000e+01 ce:9.987000e+01,a:1.300000e-01 + 183 79 Au gs 0 4.280000e+01 ce:4.972500e+01,ce/1:4.972500e+01,a:5.500000e-01 + 184 79 Au gs 0 1.200000e+01 ce:5.000000e+01,ce/1:5.000000e+01 + 184 79 Au m 0 4.990000e+01 ce:6.998700e+01,ce/1:0.000000e+00,it:3.000000e+01,a:1.300000e-02 + 185 79 Au gs 0 2.550000e+02 ce:2.533400e+01,ce/1:7.440600e+01,a:2.600000e-01 + 186 79 Au gs 0 6.420000e+02 ce:9.999920e+01,a:7.999940e-04 + 187 79 Au gs 0 5.040000e+02 ce:9.999700e+01,a:3.000000e-03 + 187 79 Au m 0 2.300000e+00 it:1.000000e+02 + 188 79 Au gs 0 5.304000e+02 ce:1.000000e+02 + 189 79 Au gs 0 1.722000e+03 ce:1.000000e+02,a:3.000000e-05 + 189 79 Au m 0 2.754000e+02 ce:1.000000e+02 + 190 79 Au gs 0 2.568000e+03 ce:1.000000e+02,a:0.000000e+00,a/1:1.000000e-06 + 190 79 Au m 0 1.250000e-01 it:1.000000e+02 + 191 79 Au gs 0 1.144800e+04 ce:1.000000e+02 + 191 79 Au m 0 9.200000e-01 it:1.000000e+02 + 192 79 Au gs 0 1.778400e+04 ce:1.000000e+02 + 192 79 Au m 0 2.900000e-02 it:1.000000e+02 + 192 79 Au m2 0 1.600000e-01 it:0.000000e+00,it/1:1.000000e+02 + 193 79 Au gs 0 6.354000e+04 ce:1.000000e+02,ce/1:0.000000e+00,a:1.000000e-05,a/1:0.000000e+00,a/2:0.000000e+00 + 193 79 Au m 0 3.900000e+00 it:9.997000e+01,ce:1.500000e-02,ce/1:1.500000e-02 + 194 79 Au gs 0 1.368720e+05 ce:1.000000e+02 + 194 79 Au m 0 6.000000e-01 it:1.000000e+02 + 194 79 Au m2 0 4.200000e-01 it:0.000000e+00,it/1:1.000000e+02 + 195 79 Au gs 0 1.607900e+07 ce:1.000000e+02 + 195 79 Au m 0 3.050000e+01 it:1.000000e+02 + 196 79 Au gs 0 5.342110e+05 ce:9.280000e+01,b-:7.200000e+00 + 196 79 Au m 0 8.100000e+00 it:1.000000e+02 + 196 79 Au m2 0 3.456000e+04 it:0.000000e+00,it/1:1.000000e+02 + 197 79 Au gs 0 0.000000e+00 s + 197 79 Au m 0 7.740000e+00 it:1.000000e+02 + 198 79 Au gs 0 2.327880e+05 b-:1.000000e+02 + 198 79 Au m 0 1.987200e+05 it:1.000000e+02 + 199 79 Au gs 0 2.712100e+05 b-:1.000000e+02 + 200 79 Au gs 0 2.904000e+03 b-:1.000000e+02 + 200 79 Au m 0 6.732000e+04 b-:8.200000e+01,it:1.800000e+01 + 201 79 Au gs 0 1.560000e+03 b-:1.000000e+02 + 202 79 Au gs 0 2.880000e+01 b-:1.000000e+02 + 203 79 Au gs 0 5.300000e+01 b-:1.000000e+02 + 204 79 Au gs 0 3.980000e+01 b-:1.000000e+02 + 205 79 Au gs 0 3.100000e+01 b-:1.000000e+02,b-/1:0.000000e+00 + 172 80 Hg gs 0 4.200000e-04 a:1.000000e+02 + 173 80 Hg gs 0 1.100000e-03 a:1.000000e+02 + 174 80 Hg gs 0 2.700000e-03 a:9.960000e+01,ce:4.000000e-01 + 175 80 Hg gs 0 1.200000e-02 a:1.000000e+02 + 176 80 Hg gs 0 2.200000e-02 a:8.100000e+01,ce:1.900000e+01 + 177 80 Hg gs 0 1.300000e-01 a:8.500000e+01,ce:1.500000e+01 + 178 80 Hg gs 0 2.680000e-01 a:7.000000e+01,ce:3.000000e+01 + 179 80 Hg gs 0 1.090000e+00 a:5.300000e+01,ce:4.685000e+01,cep:1.500000e-01 + 180 80 Hg gs 0 2.560000e+00 ce:5.200000e+01,a:4.800000e+01 + 181 80 Hg gs 0 3.600000e+00 ce:6.898400e+01,a:3.100000e+01,cep:1.600000e-02,cen:1.100000e-05 + 182 80 Hg gs 0 1.083000e+01 ce:8.620000e+01,a:1.380000e+01,cep:1.000000e-05 + 183 80 Hg gs 0 9.400000e+00 ce:7.449940e+01,a:2.550000e+01,cep:5.600000e-04 + 183 80 Hg m 0 5.000000e+00 ce:1.000000e+02 + 184 80 Hg gs 0 3.060000e+01 ce:0.000000e+00,ce/1:9.889000e+01,a:1.110000e+00 + 185 80 Hg gs 0 4.910000e+01 ce:9.400000e+01,a:6.000000e+00 + 185 80 Hg m 0 2.160000e+01 it:5.398380e+01,ce:4.598620e+01,a:2.999100e-02 + 186 80 Hg gs 0 8.280000e+01 ce:9.998400e+01,a:1.600000e-02 + 187 80 Hg gs 0 1.140000e+02 ce:9.999990e+01,ce/1:0.000000e+00,a:1.200000e-04,a/1:0.000000e+00 + 187 80 Hg m 0 1.440000e+02 ce:0.000000e+00,ce/1:9.999980e+01,a:0.000000e+00,a/1:2.499990e-04 + 188 80 Hg gs 0 1.950000e+02 ce:1.000000e+02,a:3.700000e-05,a/1:0.000000e+00 + 189 80 Hg gs 0 4.560000e+02 ce:1.000000e+02,ce/1:0.000000e+00,a:0.000000e+00,a/1:3.000000e-05 + 189 80 Hg m 0 5.160000e+02 ce:0.000000e+00,ce/1:1.000000e+02,a:3.000000e-05,a/1:0.000000e+00 + 190 80 Hg gs 0 1.200000e+03 ce:1.000000e+02 + 191 80 Hg gs 0 2.940000e+03 ce:1.000000e+02,ce/1:0.000000e+00,a:5.000000e-06 + 191 80 Hg m 0 3.048000e+03 ce:5.600000e+01,ce/1:4.400000e+01,a:5.000000e-06 + 192 80 Hg gs 0 1.746000e+04 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00,a:4.000000e-06 + 193 80 Hg gs 0 1.368000e+04 ce:9.664000e+01,ce/1:3.360000e+00 + 193 80 Hg m 0 4.248000e+04 ce:4.083200e+01,ce/1:5.196800e+01,it:7.200000e+00 + 194 80 Hg gs 0 1.388530e+10 ce:1.000000e+02 + 195 80 Hg gs 0 3.564000e+04 ce:9.790000e+01,ce/1:2.100000e+00 + 195 80 Hg m 0 1.497600e+05 it:5.420000e+01,ce:2.290000e+01,ce/1:2.290000e+01 + 196 80 Hg gs 0 7.889400e+25 db+:1.000000e+02 + 197 80 Hg gs 0 2.325600e+05 ce:1.000000e+02 + 197 80 Hg m 0 8.604000e+04 ce/1:8.600000e+00,it:9.140000e+01 + 198 80 Hg gs 0 0.000000e+00 s + 199 80 Hg gs 0 0.000000e+00 s + 199 80 Hg m 0 2.526000e+03 it:1.000000e+02 + 200 80 Hg gs 0 0.000000e+00 s + 201 80 Hg gs 0 0.000000e+00 s + 202 80 Hg gs 0 0.000000e+00 s + 203 80 Hg gs 0 4.025810e+06 b-:1.000000e+02 + 204 80 Hg gs 0 0.000000e+00 s + 205 80 Hg gs 0 3.120000e+02 b-:1.000000e+02 + 205 80 Hg m 0 1.100000e-03 it:1.000000e+02 + 206 80 Hg gs 0 4.890000e+02 b-:1.000000e+02 + 207 80 Hg gs 0 1.740000e+02 b-:5.420000e+01,b-/1:4.580000e+01 + 208 80 Hg gs 0 2.520000e+03 b-:1.000000e+02 + 209 80 Hg gs 0 3.700000e+01 b-:1.000000e+02 + 210 80 Hg gs 0 6.000000e+02 b-:1.000000e+02 + 176 81 Tl gs 0 1.000000e-09 ce:1.000000e+02 + 177 81 Tl gs 0 1.800000e-02 a:7.300000e+01,a/1:0.000000e+00,p:2.700000e+01 + 177 81 Tl m 0 2.300000e-04 p:5.100000e+01,a:0.000000e+00,a/1:4.900000e+01 + 178 81 Tl gs 0 6.000000e-02 a:5.000000e+01,ce:5.000000e+01 + 179 81 Tl gs 0 2.300000e-01 a:0.000000e+00,a/1:1.000000e+02 + 179 81 Tl m 0 1.500000e-03 a:1.000000e+02,a/1:0.000000e+00 + 180 81 Tl gs 0 7.200000e-01 a:7.500000e+01,ce:2.499990e+01,cesf:1.000000e-04 + 181 81 Tl gs 0 3.400000e+00 a:5.000000e+01,ce:5.000000e+01 + 181 81 Tl m 0 2.700000e-03 a:5.000000e+01,ce:5.000000e+01 + 182 81 Tl gs 0 2.000000e+00 ce:9.600000e+01,a:4.000000e+00 + 182 81 Tl m 0 2.900000e+00 a:1.000000e+02 + 183 81 Tl gs 0 6.900000e+00 ce:9.800000e+01,ce/1:0.000000e+00,a:2.000000e+00 + 183 81 Tl m 0 6.000000e-02 a:1.000000e-02,it:9.999000e+01 + 184 81 Tl gs 0 1.000000e+01 ce:1.000000e+02 + 184 81 Tl m 0 9.700000e+00 ce:9.790000e+01,a:2.100000e+00 + 185 81 Tl gs 0 1.950000e+01 ce:5.000000e+01,ce/1:0.000000e+00,a:5.000000e+01 + 185 81 Tl m 0 1.830000e+00 it:9.990010e+01,a:9.990010e-02 + 186 81 Tl gs 0 2.000000e+01 ce:1.000000e+02 + 186 81 Tl m 0 2.750000e+01 ce:9.999400e+01,a:6.000000e-03 + 186 81 Tl m2 0 2.900000e+00 it:0.000000e+00,it/1:1.000000e+02 + 187 81 Tl gs 0 5.100000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 187 81 Tl m 0 1.560000e+01 it:4.992500e+01,ce:0.000000e+00,ce/1:4.992500e+01,a:1.500000e-01 + 188 81 Tl gs 0 7.100000e+01 ce:1.000000e+02 + 188 81 Tl m 0 7.100000e+01 ce:1.000000e+02 + 188 81 Tl m2 0 4.100000e-02 it:0.000000e+00,it/1:1.000000e+02 + 189 81 Tl gs 0 1.380000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 189 81 Tl m 0 8.400000e+01 ce:0.000000e+00,ce/1:9.600000e+01,it:4.000000e+00 + 190 81 Tl gs 0 1.560000e+02 ce:1.000000e+02 + 190 81 Tl m 0 2.220000e+02 ce:1.000000e+02 + 191 81 Tl gs 0 1.200000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 191 81 Tl m 0 3.132000e+02 ce:0.000000e+00,ce/1:1.000000e+02 + 192 81 Tl gs 0 5.760000e+02 ce:1.000000e+02 + 192 81 Tl m 0 6.480000e+02 ce:1.000000e+02 + 193 81 Tl gs 0 1.308000e+03 ce:1.000000e+02 + 193 81 Tl m 0 1.266000e+02 ce:2.500000e+01,it:7.500000e+01 + 194 81 Tl gs 0 1.980000e+03 ce:1.000000e+02,a:1.000000e-07,a/1:0.000000e+00 + 194 81 Tl m 0 1.968000e+03 ce:1.000000e+02 + 195 81 Tl gs 0 4.176000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 195 81 Tl m 0 3.600000e+00 it:1.000000e+02 + 196 81 Tl gs 0 6.624000e+03 ce:1.000000e+02 + 196 81 Tl m 0 5.076000e+03 ce:9.550000e+01,it:4.500000e+00 + 197 81 Tl gs 0 1.022400e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 197 81 Tl m 0 5.400000e-01 it:1.000000e+02 + 198 81 Tl gs 0 1.908000e+04 ce:1.000000e+02 + 198 81 Tl m 0 6.732000e+03 ce:5.400000e+01,it:4.600000e+01 + 198 81 Tl m2 0 3.210000e-02 it:0.000000e+00,it/1:1.000000e+02 + 199 81 Tl gs 0 2.671200e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 199 81 Tl m 0 2.840000e-02 it:1.000000e+02 + 200 81 Tl gs 0 9.396000e+04 ce:1.000000e+02 + 200 81 Tl m 0 3.430000e-02 it:1.000000e+02 + 201 81 Tl gs 0 2.627420e+05 ce:1.000000e+02 + 201 81 Tl m 0 2.035000e-03 it:1.000000e+02 + 202 81 Tl gs 0 1.057540e+06 ce:1.000000e+02 + 203 81 Tl gs 0 0.000000e+00 s + 204 81 Tl gs 0 1.196030e+08 b-:9.780000e+01,ce:2.200000e+00 + 205 81 Tl gs 0 0.000000e+00 s + 206 81 Tl gs 0 2.520000e+02 b-:1.000000e+02 + 206 81 Tl m 0 2.256000e+02 it:1.000000e+02 + 207 81 Tl gs 0 2.862000e+02 b-:1.000000e+02 + 207 81 Tl m 0 1.330000e+00 it:1.000000e+02 + 208 81 Tl gs 0 1.833000e+02 b-:1.000000e+02 + 209 81 Tl gs 0 1.320000e+02 b-:1.000000e+02 + 210 81 Tl gs 0 7.800000e+01 b-:1.000000e+02,b-n:7.000000e-03 + 211 81 Tl gs 0 6.000000e+01 b-:1.000000e+02 + 212 81 Tl gs 0 3.000000e+01 b-:1.000000e+02 + 178 82 Pb gs 0 1.000000e-09 ce:1.000000e+02 + 179 82 Pb gs 0 1.000000e-09 ce:5.000000e+01,ce/1:5.000000e+01 + 180 82 Pb gs 0 5.000000e-03 a:1.000000e+02 + 181 82 Pb gs 0 4.500000e-02 a:9.800000e+01,ce:1.000000e-00,ce/1:1.000000e-00 + 182 82 Pb gs 0 6.000000e-02 a:9.800000e+01,ce:2.000000e+00,ce/1:0.000000e+00 + 183 82 Pb gs 0 3.000000e-01 a:9.400000e+01,ce:6.000000e+00,ce/1:0.000000e+00 + 183 82 Pb m 0 5.000000e-01 a:5.000000e+01,ce:0.000000e+00,ce/1:5.000000e+01 + 184 82 Pb gs 0 5.700000e-01 a:5.000000e+01,ce:5.000000e+01,ce/1:0.000000e+00 + 185 82 Pb gs 0 4.100000e+00 a:1.000000e+02 + 185 82 Pb m 0 6.100000e+00 a:1.000000e+02 + 186 82 Pb gs 0 4.820000e+00 ce:5.300000e+01,ce/1:0.000000e+00,ce/2:0.000000e+00,a:4.700000e+01 + 187 82 Pb gs 0 1.520000e+01 ce:5.000000e+01,ce/1:0.000000e+00,a:5.000000e+01,a/1:0.000000e+00 + 187 82 Pb m 0 1.830000e+01 ce:0.000000e+00,ce/1:9.800000e+01,a:0.000000e+00,a/1:2.000000e+00 + 188 82 Pb gs 0 2.550000e+01 ce:9.150000e+01,ce/1:0.000000e+00,ce/2:0.000000e+00,a:8.500000e+00 + 189 82 Pb gs 0 6.000000e+01 ce:1.000000e+02,ce/1:0.000000e+00 + 189 82 Pb m 0 5.100000e+01 ce:0.000000e+00,ce/1:9.959760e+01,a:0.000000e+00,a/1:4.024140e-01 + 190 82 Pb gs 0 7.098000e+01 ce:9.910000e+01,ce/1:0.000000e+00,a:9.000000e-01 + 191 82 Pb gs 0 7.980000e+01 ce:9.896710e+01,ce/1:1.019870e+00,a:1.300000e-02,a/1:0.000000e+00 + 191 82 Pb m 0 1.308000e+02 ce:0.000000e+00,ce/1:9.998000e+01,a:0.000000e+00,a/1:2.000000e-02 + 192 82 Pb gs 0 2.100000e+02 ce:9.999410e+01,ce/1:0.000000e+00,a:5.900000e-03 + 193 82 Pb gs 0 3.000000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 193 82 Pb m 0 3.480000e+02 ce:9.530000e+01,ce/1:4.700000e+00 + 194 82 Pb gs 0 7.200000e+02 ce:1.000000e+02,ce/1:0.000000e+00,a:7.300000e-06 + 195 82 Pb gs 0 9.000000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 195 82 Pb m 0 9.000000e+02 ce:5.600000e+01,ce/1:4.400000e+01 + 196 82 Pb gs 0 2.220000e+03 ce:1.000000e+02,ce/1:0.000000e+00,a:3.000000e-05 + 197 82 Pb gs 0 4.800000e+02 ce:1.000000e+02,ce/1:0.000000e+00 + 197 82 Pb m 0 2.580000e+03 ce:4.049990e+01,ce/1:4.049990e+01,it:1.899990e+01,a:0.000000e+00,a/1:2.999990e-04 + 198 82 Pb gs 0 8.640000e+03 ce:1.000000e+02,ce/1:0.000000e+00,ce/2:0.000000e+00 + 199 82 Pb gs 0 5.400000e+03 ce:1.000000e+02,ce/1:0.000000e+00 + 199 82 Pb m 0 7.320000e+02 it:9.300000e+01,ce:0.000000e+00,ce/1:7.000000e+00 + 200 82 Pb gs 0 7.740000e+04 ce:1.000000e+02,ce/1:0.000000e+00 + 201 82 Pb gs 0 3.384000e+04 ce:1.000000e+02 + 201 82 Pb m 0 6.100000e+01 it:1.000000e+02 + 202 82 Pb gs 0 1.672550e+12 ce:1.000000e+02 + 202 82 Pb m 0 1.285200e+04 ce:9.100000e+00,it:9.090000e+01 + 203 82 Pb gs 0 1.868040e+05 ce:1.000000e+02 + 203 82 Pb m 0 6.290000e+00 it:1.000000e+02 + 203 82 Pb m2 0 4.800000e-01 it/1:1.000000e+02 + 204 82 Pb gs 0 4.418060e+24 a:1.000000e+02 + 204 82 Pb m 0 4.050000e+03 it:1.000000e+02 + 205 82 Pb gs 0 4.828310e+14 ce:1.000000e+02 + 205 82 Pb m 0 5.540000e-03 it:1.000000e+02 + 206 82 Pb gs 0 0.000000e+00 s + 207 82 Pb gs 0 0.000000e+00 s + 207 82 Pb m 0 8.060000e-01 it:1.000000e+02 + 208 82 Pb gs 0 0.000000e+00 s + 209 82 Pb gs 0 1.171080e+04 b-:1.000000e+02 + 210 82 Pb gs 0 7.037340e+08 b-:1.000000e+02,a:1.900000e-06 + 211 82 Pb gs 0 2.166000e+03 b-:1.000000e+02 + 212 82 Pb gs 0 3.830400e+04 b-:1.000000e+02 + 213 82 Pb gs 0 6.120000e+02 b-:1.000000e+02 + 214 82 Pb gs 0 1.608000e+03 b-:1.000000e+02 + 215 82 Pb gs 0 3.600000e+01 b-:1.000000e+02 + 185 83 Bi gs 0 2.000000e-03 p:5.000000e+01,a:0.000000e+00,a/1:5.000000e+01 + 186 83 Bi gs 0 1.500000e-02 a:1.000000e+02,a/1:0.000000e+00 + 186 83 Bi m 0 9.800000e-03 a:0.000000e+00,a/1:1.000000e+02 + 187 83 Bi gs 0 3.500000e-02 a:0.000000e+00,a/1:5.000000e+01,ce:0.000000e+00,ce/1:5.000000e+01 + 187 83 Bi m 0 8.000000e-04 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01,ce/1:0.000000e+00 + 188 83 Bi gs 0 4.400000e-02 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01 + 188 83 Bi m 0 2.100000e-01 a:0.000000e+00,a/1:5.000000e+01,ce:5.000000e+01 + 189 83 Bi gs 0 6.970000e-01 a:2.500000e+00,a/1:4.750000e+01,ce:0.000000e+00,ce/1:5.000000e+01 + 189 83 Bi m 0 6.600000e-03 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01,ce/1:0.000000e+00 + 190 83 Bi gs 0 6.300000e+00 a:7.700000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:2.300000e+01 + 190 83 Bi m 0 6.200000e+00 a:0.000000e+00,a/1:0.000000e+00,a/2:7.000000e+01,ce:3.000000e+01 + 191 83 Bi gs 0 1.230000e+01 a:0.000000e+00,a/1:6.000000e+01,ce:0.000000e+00,ce/1:4.000000e+01 + 191 83 Bi m 0 1.280000e-01 a:7.500000e+01,a/1:0.000000e+00,ce:2.500000e+01,ce/1:0.000000e+00 + 192 83 Bi gs 0 3.460000e+01 ce:8.800000e+01,a:1.200000e+01,a/1:0.000000e+00,a/2:0.000000e+00 + 192 83 Bi m 0 3.960000e+01 ce:9.000000e+01,a:0.000000e+00,a/1:9.712000e+00,a/2:2.880000e-01 + 193 83 Bi gs 0 6.700000e+01 ce:0.000000e+00,ce/1:9.650000e+01,a:1.470000e-01,a/1:3.353000e+00 + 193 83 Bi m 0 3.200000e+00 a:9.000000e+01,a/1:0.000000e+00,ce:1.000000e+01,ce/1:0.000000e+00 + 194 83 Bi gs 0 9.500000e+01 ce:9.954000e+01,a:4.600000e-01,a/1:0.000000e+00 + 194 83 Bi m 0 1.250000e+02 ce:1.000000e+02 + 194 83 Bi m2 0 1.150000e+02 ce:9.980000e+01,a:0.000000e+00,a/1:2.000000e-01 + 195 83 Bi gs 0 1.830000e+02 ce:0.000000e+00,ce/1:9.997000e+01,a:0.000000e+00,a/1:3.000000e-02 + 195 83 Bi m 0 8.700000e+01 ce:6.700000e+01,ce/1:0.000000e+00,a:3.300000e+01,a/1:0.000000e+00 + 196 83 Bi gs 0 3.060000e+02 ce:9.999890e+01,a:1.150000e-03,a/1:0.000000e+00 + 196 83 Bi m 0 6.000000e-01 it:5.000000e+01,ce:5.000000e+01 + 196 83 Bi m2 0 2.400000e+02 ce:7.419970e+01,it:0.000000e+00,it/1:2.579990e+01,a:0.000000e+00,a/1:3.799990e-04 + 197 83 Bi gs 0 5.580000e+02 ce:0.000000e+00,ce/1:9.999990e+01,a:0.000000e+00,a/1:9.999990e-05 + 197 83 Bi m 0 3.024000e+02 a:5.483550e+01,a/1:0.000000e+00,ce:4.486540e+01,ce/1:0.000000e+00,it:2.991030e-01 + 198 83 Bi gs 0 6.180000e+02 ce:1.000000e+02 + 198 83 Bi m 0 6.960000e+02 ce:1.000000e+02 + 198 83 Bi m2 0 7.700000e+00 it:0.000000e+00,it/1:1.000000e+02 + 199 83 Bi gs 0 1.620000e+03 ce:5.390000e+01,ce/1:4.610000e+01 + 199 83 Bi m 0 1.482000e+03 ce:9.799000e+01,ce/1:0.000000e+00,it:2.000000e+00,a:1.000000e-02,a/1:0.000000e+00 + 200 83 Bi gs 0 2.184000e+03 ce:1.000000e+02 + 200 83 Bi m 0 1.860000e+03 ce:9.000000e+01,it:1.000000e+01 + 200 83 Bi m2 0 4.000000e-01 it:1.000000e+02,it/1:0.000000e+00 + 201 83 Bi gs 0 6.480000e+03 ce:5.529990e+01,ce/1:4.470000e+01,a:0.000000e+00,a/1:9.999990e-05 + 201 83 Bi m 0 3.546000e+03 ce:4.645000e+01,ce/1:4.645000e+01,it:6.800000e+00,a:3.000000e-01,a/1:0.000000e+00 + 202 83 Bi gs 0 6.192000e+03 ce:1.000000e+02,ce/1:0.000000e+00,a:0.000000e+00,a/1:1.000000e-05,a/2:0.000000e+00 + 203 83 Bi gs 0 4.233600e+04 ce:8.000000e+01,ce/1:2.000000e+01,ce/2:0.000000e+00,a:0.000000e+00,a/1:1.000000e-05 + 203 83 Bi m 0 3.030000e-01 it:1.000000e+02 + 204 83 Bi gs 0 4.039200e+04 ce:9.110000e+01,ce/1:8.900000e+00 + 204 83 Bi m 0 1.300000e-02 it:1.000000e+02 + 204 83 Bi m2 0 1.070000e-03 it:0.000000e+00,it/1:1.000000e+02 + 205 83 Bi gs 0 1.322780e+06 ce:8.580000e+01,ce/1:1.420000e+01 + 206 83 Bi gs 0 5.393950e+05 ce:1.000000e+02 + 207 83 Bi gs 0 1.002240e+09 ce:1.000000e+02 + 208 83 Bi gs 0 1.161320e+13 ce:1.000000e+02 + 208 83 Bi m 0 2.580000e-03 it:1.000000e+02 + 209 83 Bi gs 0 0.000000e+00 s + 210 83 Bi gs 0 4.331230e+05 b-:1.000000e+02,a:1.320000e-04 + 210 83 Bi m 0 9.467280e+13 a:1.000000e+02 + 211 83 Bi gs 0 1.302000e+02 b-:2.730000e-01,a:9.972700e+01 + 212 83 Bi gs 0 3.633000e+03 b-:6.405000e+01,b-a:1.400000e-02,a:3.594000e+01 + 212 83 Bi m 0 1.500000e+03 b-/1:1.000000e+01,a:9.000000e+01 + 212 83 Bi m2 0 5.400000e+02 b-/2:1.000000e+02 + 213 83 Bi gs 0 2.735400e+03 b-:9.784000e+01,a:2.160000e+00 + 214 83 Bi gs 0 1.194000e+03 b-:9.997900e+01,a:2.100000e-02 + 215 83 Bi gs 0 4.440000e+02 b-:1.000000e+02 + 216 83 Bi gs 0 1.302000e+02 b-:1.000000e+02 + 217 83 Bi gs 0 9.700000e+01 b-:1.000000e+02 + 218 83 Bi gs 0 3.000000e+01 b-:1.000000e+02 + 188 84 Po gs 0 4.300000e-04 a:1.000000e+02 + 189 84 Po gs 0 5.000000e-03 a:5.000000e+01,a/1:5.000000e+01 + 190 84 Po gs 0 2.200000e-03 a:9.990000e+01,ce:1.000000e-01,ce/1:0.000000e+00 + 191 84 Po gs 0 2.200000e-02 a:1.000000e+02,a/1:0.000000e+00 + 191 84 Po m 0 9.800000e-02 a:0.000000e+00,a/1:1.000000e+02 + 192 84 Po gs 0 3.310000e-02 a:9.950000e+01,ce:5.000000e-01,ce/1:0.000000e+00 + 193 84 Po gs 0 4.200000e-01 a:9.500000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:5.000000e+00 + 193 84 Po m 0 2.400000e-01 a:0.000000e+00,a/1:9.700000e+01,ce:3.000000e+00,ce/1:0.000000e+00 + 194 84 Po gs 0 3.920000e-01 a:1.000000e+02 + 195 84 Po gs 0 4.640000e+00 a:7.500000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:2.500000e+01 + 195 84 Po m 0 1.920000e+00 a:0.000000e+00,a/1:8.999100e+01,ce:9.999000e+00,ce/1:0.000000e+00,it:9.999000e-03 + 196 84 Po gs 0 5.560000e+00 a:9.400000e+01,ce:6.000000e+00,ce/1:0.000000e+00,ce/2:0.000000e+00 + 197 84 Po gs 0 5.360000e+01 ce:0.000000e+00,ce/1:5.600000e+01,a:4.400000e+01,a/1:0.000000e+00 + 197 84 Po m 0 2.580000e+01 a:0.000000e+00,a/1:8.400000e+01,ce:1.599000e+01,ce/1:0.000000e+00,it:1.000000e-02 + 198 84 Po gs 0 1.062000e+02 a:5.700000e+01,ce:4.300000e+01,ce/1:0.000000e+00,ce/2:0.000000e+00 + 199 84 Po gs 0 3.288000e+02 ce:0.000000e+00,ce/1:9.250000e+01,a:7.500000e+00,a/1:0.000000e+00 + 199 84 Po m 0 2.502000e+02 ce:7.350000e+01,ce/1:0.000000e+00,a:0.000000e+00,a/1:2.400000e+01,it:2.500000e+00 + 200 84 Po gs 0 6.900000e+02 ce:0.000000e+00,ce/1:8.890000e+01,ce/2:0.000000e+00,a:1.110000e+01 + 201 84 Po gs 0 9.180000e+02 ce:0.000000e+00,ce/1:9.840000e+01,a:1.600000e+00,a/1:0.000000e+00 + 201 84 Po m 0 5.340000e+02 it:5.605610e+01,ce:4.104100e+01,ce/1:0.000000e+00,a:0.000000e+00,a/1:2.902900e+00 + 202 84 Po gs 0 2.682000e+03 ce:9.808000e+01,a:1.920000e+00 + 203 84 Po gs 0 2.202000e+03 ce:4.994500e+01,ce/1:4.994500e+01,a:1.100000e-01,a/1:0.000000e+00 + 203 84 Po m 0 4.500000e+01 it:9.996000e+01,a:0.000000e+00,a/1:4.000000e-02 + 204 84 Po gs 0 1.270800e+04 ce:4.967000e+01,ce/1:4.967000e+01,a:6.600000e-01 + 205 84 Po gs 0 5.976000e+03 ce:9.996000e+01,a:4.000000e-02,a/1:0.000000e+00 + 205 84 Po m 0 5.800000e-02 it:1.000000e+02 + 206 84 Po gs 0 7.603200e+05 ce:9.455000e+01,a:5.450000e+00,a/1:0.000000e+00 + 207 84 Po gs 0 2.088000e+04 ce:9.997900e+01,a:2.100000e-02,a/1:0.000000e+00,a/2:0.000000e+00 + 207 84 Po m 0 2.790000e+00 it:1.000000e+02 + 208 84 Po gs 0 9.246380e+07 ce:1.810000e-03,a:9.999820e+01 + 209 84 Po gs 0 3.218880e+09 ce:2.600000e-01,a:9.974000e+01 + 210 84 Po gs 0 1.195780e+07 a:1.000000e+02 + 211 84 Po gs 0 5.160000e-01 a:1.000000e+02 + 211 84 Po m 0 2.550000e+01 a:1.000000e+02 + 212 84 Po gs 0 3.000000e-07 a:1.000000e+02 + 212 84 Po m 0 1.420000e-08 it:8.700000e+01,ita:7.000000e+00,a:6.000000e+00 + 212 84 Po m2 0 4.510000e+01 a:1.000000e+02 + 213 84 Po gs 0 4.200000e-06 a:1.000000e+02 + 214 84 Po gs 0 1.650000e-04 a:1.000000e+02 + 215 84 Po gs 0 1.780000e-03 b-:4.000000e-04,a:1.000000e+02 + 216 84 Po gs 0 1.450000e-01 a:1.000000e+02 + 217 84 Po gs 0 1.470000e+00 a:9.500000e+01,b-:5.000000e+00 + 218 84 Po gs 0 1.830000e+02 b-:2.000000e-02,a:9.998000e+01 + 219 84 Po gs 0 1.200000e+02 b-:5.000000e+01,a:5.000000e+01 + 220 84 Po gs 0 4.000000e+01 b-:1.000000e+02 + 193 85 At gs 0 4.000000e-02 a:1.000000e+02,a/1:0.000000e+00 + 194 85 At gs 0 4.000000e-02 a:1.000000e+02,a/1:0.000000e+00 + 194 85 At m 0 2.500000e-01 a:0.000000e+00,a/1:1.000000e+02 + 195 85 At gs 0 1.490000e-01 a:7.500000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:2.500000e+01 + 195 85 At m 0 4.200000e-01 a:0.000000e+00,a/1:1.000000e+02 + 196 85 At gs 0 2.530000e-01 a:9.600000e+01,a/1:0.000000e+00,ce:4.000000e+00 + 196 85 At m 0 4.000000e-01 it:1.000000e+02 + 197 85 At gs 0 3.500000e-01 a:9.600000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:4.000000e+00 + 197 85 At m 0 3.700000e+00 a:0.000000e+00,a/1:9.999600e+01,it:3.999840e-03 + 198 85 At gs 0 4.200000e+00 a:9.400000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:6.000000e+00 + 198 85 At m 0 1.000000e+00 a:0.000000e+00,a/1:0.000000e+00,a/2:8.600000e+01,ce:1.400000e+01 + 199 85 At gs 0 7.200000e+00 a:8.900000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:1.100000e+01 + 200 85 At gs 0 4.320000e+01 a:5.700000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:4.300000e+01 + 200 85 At m 0 4.700000e+01 a:0.000000e+00,a/1:4.300000e+01,a/2:0.000000e+00,ce:2.850000e+01,it:2.850000e+01 + 200 85 At m2 0 3.500000e+00 it:0.000000e+00,it/1:8.484850e+01,a:0.000000e+00,a/1:0.000000e+00,a/2:1.060610e+01,ce:4.545450e+00 + 201 85 At gs 0 8.500000e+01 a:7.100000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:2.900000e+01 + 202 85 At gs 0 1.840000e+02 ce:8.200000e+01,a:1.800000e+01,a/1:0.000000e+00,a/2:0.000000e+00 + 202 85 At m 0 1.820000e+02 it:4.565000e+01,ce:4.565000e+01,a:0.000000e+00,a/1:8.700000e+00,a/2:0.000000e+00 + 202 85 At m2 0 4.600000e-01 it:0.000000e+00,it/1:9.965400e+01,ce:2.500000e-01,a:0.000000e+00,a/1:0.000000e+00,a/2:9.600000e-02 + 203 85 At gs 0 4.440000e+02 ce:3.450000e+01,ce/1:3.450000e+01,a:3.100000e+01,a/1:0.000000e+00 + 204 85 At gs 0 5.520000e+02 ce:9.620000e+01,a:3.800000e+00,a/1:0.000000e+00,a/2:0.000000e+00 + 204 85 At m 0 1.080000e-01 it:1.000000e+02 + 205 85 At gs 0 1.572000e+03 ce:4.500000e+01,ce/1:4.500000e+01,a:1.000000e+01,a/1:0.000000e+00 + 206 85 At gs 0 1.836000e+03 ce:9.911000e+01,a:8.900000e-01 + 207 85 At gs 0 6.480000e+03 ce:9.140000e+01,ce/1:0.000000e+00,a:8.600000e+00,a/1:0.000000e+00 + 208 85 At gs 0 5.868000e+03 ce:9.945000e+01,a:5.500000e-01,a/1:0.000000e+00,a/2:0.000000e+00 + 209 85 At gs 0 1.947600e+04 ce:9.590000e+01,a:4.100000e+00 + 210 85 At gs 0 2.916000e+04 ce:9.982500e+01,a:1.750000e-01 + 211 85 At gs 0 2.597040e+04 ce:5.820000e+01,a:4.180000e+01 + 212 85 At gs 0 3.140000e-01 a:9.997000e+01,a/1:0.000000e+00,ce:3.000000e-02,b-:2.000000e-06 + 212 85 At m 0 1.190000e-01 a:0.000000e+00,a/1:9.900000e+01,it:1.000000e-00 + 213 85 At gs 0 1.250000e-07 a:1.000000e+02 + 214 85 At gs 0 5.580000e-07 a:1.000000e+02,a/1:0.000000e+00 + 215 85 At gs 0 1.000000e-04 a:1.000000e+02 + 216 85 At gs 0 3.000000e-04 a:9.999400e+01,a/1:0.000000e+00,a/2:0.000000e+00,b-:6.000000e-03,ce:3.000000e-07 + 217 85 At gs 0 3.230000e-02 b-:1.200000e-02,a:9.998800e+01 + 218 85 At gs 0 1.600000e+00 b-:1.000000e-01,a:9.990000e+01 + 219 85 At gs 0 5.400000e+01 b-:3.000000e+00,a:9.700000e+01 + 220 85 At gs 0 2.226000e+02 b-:9.200000e+01,a:8.000000e+00 + 221 85 At gs 0 1.380000e+02 b-:1.000000e+02 + 222 85 At gs 0 5.400000e+01 b-:1.000000e+02 + 223 85 At gs 0 5.000000e+01 b-:1.000000e+02 + 196 86 Rn gs 0 6.000000e-03 a:1.000000e+02 + 197 86 Rn gs 0 6.600000e-02 a:1.000000e+02,a/1:0.000000e+00 + 197 86 Rn m 0 2.100000e-02 a:0.000000e+00,a/1:1.000000e+02 + 198 86 Rn gs 0 5.700000e-02 a:9.900000e+01,ce:1.000000e-00,ce/1:0.000000e+00 + 199 86 Rn gs 0 6.200000e-01 a:9.400000e+01,a/1:0.000000e+00,ce:6.000000e+00 + 199 86 Rn m 0 3.200000e-01 a:0.000000e+00,a/1:9.700000e+01,ce:3.000000e+00 + 200 86 Rn gs 0 1.030000e+00 a:9.800000e+01,ce:2.000000e+00,ce/1:0.000000e+00,ce/2:0.000000e+00 + 201 86 Rn gs 0 7.000000e+00 a:8.000000e+01,a/1:0.000000e+00,ce:2.000000e+01 + 201 86 Rn m 0 3.800000e+00 a:0.000000e+00,a/1:8.999000e+01,ce:1.000000e+01,it:1.000000e-02 + 202 86 Rn gs 0 9.940000e+00 a:8.600000e+01,ce:1.400000e+01,ce/1:0.000000e+00,ce/2:0.000000e+00 + 203 86 Rn gs 0 4.350000e+01 a:6.600000e+01,a/1:0.000000e+00,ce:3.400000e+01 + 203 86 Rn m 0 2.670000e+01 a:0.000000e+00,a/1:8.000000e+01,ce:2.000000e+01 + 204 86 Rn gs 0 7.440000e+01 a:7.300000e+01,ce:1.350000e+01,ce/1:1.350000e+01 + 205 86 Rn gs 0 1.680000e+02 ce:7.700000e+01,a:2.300000e+01,a/1:0.000000e+00 + 206 86 Rn gs 0 3.402000e+02 a:6.200000e+01,ce:3.800000e+01 + 207 86 Rn gs 0 5.550000e+02 ce:7.900000e+01,a:2.100000e+01,a/1:0.000000e+00 + 208 86 Rn gs 0 1.461000e+03 a:6.200000e+01,ce:3.800000e+01 + 209 86 Rn gs 0 1.710000e+03 ce:8.300000e+01,a:1.700000e+01,a/1:0.000000e+00 + 210 86 Rn gs 0 8.640000e+03 a:9.600000e+01,ce:4.000000e+00 + 211 86 Rn gs 0 5.256000e+04 ce:7.260000e+01,a:2.740000e+01,a/1:0.000000e+00 + 212 86 Rn gs 0 1.434000e+03 a:1.000000e+02 + 213 86 Rn gs 0 2.500000e-02 a:1.000000e+02 + 214 86 Rn gs 0 2.700000e-07 a:1.000000e+02 + 215 86 Rn gs 0 2.300000e-06 a:1.000000e+02,a/1:0.000000e+00 + 216 86 Rn gs 0 4.500000e-05 a:1.000000e+02,a/1:0.000000e+00 + 217 86 Rn gs 0 5.400000e-04 a:1.000000e+02 + 218 86 Rn gs 0 3.500000e-02 a:1.000000e+02 + 219 86 Rn gs 0 3.960000e+00 a:1.000000e+02 + 220 86 Rn gs 0 5.560000e+01 a:1.000000e+02 + 221 86 Rn gs 0 1.500000e+03 b-:7.800000e+01,a:2.200000e+01 + 222 86 Rn gs 0 3.304800e+05 a:1.000000e+02 + 223 86 Rn gs 0 1.452000e+03 b-:1.000000e+02 + 224 86 Rn gs 0 6.420000e+03 b-:1.000000e+02 + 225 86 Rn gs 0 2.796000e+02 b-:1.000000e+02 + 226 86 Rn gs 0 4.440000e+02 b-:1.000000e+02 + 227 86 Rn gs 0 2.250000e+01 b-:1.000000e+02 + 228 86 Rn gs 0 6.500000e+01 b-:1.000000e+02 + 199 87 Fr gs 0 1.600000e-02 a:1.000000e+02,a/1:0.000000e+00 + 200 87 Fr gs 0 2.400000e-02 a:1.000000e+02,a/1:0.000000e+00 + 200 87 Fr m 0 6.500000e-01 a:0.000000e+00,a/1:1.000000e+02 + 201 87 Fr gs 0 6.100000e-02 a:9.900000e+01,a/1:0.000000e+00,ce:0.000000e+00,ce/1:1.000000e-00 + 202 87 Fr gs 0 2.900000e-01 a:9.700000e+01,a/1:0.000000e+00,ce:3.000000e+00 + 202 87 Fr m 0 3.400000e-01 a:0.000000e+00,a/1:9.700000e+01,ce:3.000000e+00 + 203 87 Fr gs 0 5.500000e-01 a:9.500000e+01,ce:2.500000e+00,ce/1:2.500000e+00 + 204 87 Fr gs 0 1.700000e+00 a:9.600000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:4.000000e+00 + 204 87 Fr m 0 2.600000e+00 a:0.000000e+00,a/1:9.000000e+01,a/2:0.000000e+00,ce:1.000000e+01 + 204 87 Fr m2 0 1.700000e+00 a:0.000000e+00,a/1:0.000000e+00,a/2:7.400000e+01,it:0.000000e+00,it/1:2.600000e+01 + 205 87 Fr gs 0 3.850000e+00 a:9.900000e+01,ce:1.000000e-00 + 206 87 Fr gs 0 1.600000e+01 ce:5.800000e+01,a:4.200000e+01,a/1:0.000000e+00,a/2:0.000000e+00 + 206 87 Fr m 0 1.590000e+01 a:0.000000e+00,a/1:4.200000e+01,a/2:0.000000e+00,ce:2.900000e+01,it:2.900000e+01 + 206 87 Fr m2 0 7.000000e-01 it:0.000000e+00,it/1:8.800000e+01,a:0.000000e+00,a/1:0.000000e+00,a/2:1.200000e+01 + 207 87 Fr gs 0 1.480000e+01 a:9.500000e+01,ce:5.000000e+00 + 208 87 Fr gs 0 5.910000e+01 a:9.000000e+01,a/1:0.000000e+00,ce:1.000000e+01 + 209 87 Fr gs 0 5.000000e+01 a:8.900000e+01,ce:1.100000e+01 + 210 87 Fr gs 0 1.908000e+02 a:6.000000e+01,ce:4.000000e+01 + 211 87 Fr gs 0 1.860000e+02 a:8.000000e+01,ce:2.000000e+01 + 212 87 Fr gs 0 1.200000e+03 ce:5.700000e+01,a:4.300000e+01 + 213 87 Fr gs 0 3.460000e+01 a:9.945000e+01,ce:5.500000e-01 + 214 87 Fr gs 0 5.000000e-03 a:1.000000e+02 + 214 87 Fr m 0 3.350000e-03 a:1.000000e+02 + 215 87 Fr gs 0 8.600000e-08 a:1.000000e+02 + 216 87 Fr gs 0 7.000000e-07 a:1.000000e+02,a/1:0.000000e+00,ce:2.000000e-07 + 217 87 Fr gs 0 1.680000e-05 a:1.000000e+02 + 218 87 Fr gs 0 1.000000e-03 a:1.000000e+02 + 218 87 Fr m 0 2.200000e-02 a:1.000000e+02 + 219 87 Fr gs 0 2.000000e-02 a:1.000000e+02 + 220 87 Fr gs 0 2.740000e+01 a:9.965000e+01,b-:3.500000e-01 + 221 87 Fr gs 0 2.940000e+02 a:1.000000e+02 + 222 87 Fr gs 0 8.520000e+02 b-:1.000000e+02 + 223 87 Fr gs 0 1.308000e+03 b-:9.999400e+01,a:6.000000e-03 + 224 87 Fr gs 0 1.998000e+02 b-:1.000000e+02 + 225 87 Fr gs 0 2.400000e+02 b-:1.000000e+02 + 226 87 Fr gs 0 4.900000e+01 b-:1.000000e+02 + 227 87 Fr gs 0 1.482000e+02 b-:1.000000e+02 + 228 87 Fr gs 0 3.800000e+01 b-:1.000000e+02 + 229 87 Fr gs 0 5.020000e+01 b-:1.000000e+02 + 230 87 Fr gs 0 1.910000e+01 b-:1.000000e+02 + 231 87 Fr gs 0 1.750000e+01 b-:1.000000e+02 + 232 87 Fr gs 0 5.000000e+00 b-:1.000000e+02 + 202 88 Ra gs 0 2.600000e-03 a:1.000000e+02 + 203 88 Ra gs 0 4.000000e-03 a:1.000000e+02,a/1:0.000000e+00 + 203 88 Ra m 0 4.100000e-02 a:0.000000e+00,a/1:1.000000e+02 + 204 88 Ra gs 0 6.000000e-02 a:9.970000e+01,ce:3.000000e-01,ce/1:0.000000e+00,ce/2:0.000000e+00 + 205 88 Ra gs 0 2.200000e-01 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01 + 205 88 Ra m 0 1.800000e-01 a:0.000000e+00,a/1:5.000000e+01,it:5.000000e+01 + 206 88 Ra gs 0 2.400000e-01 a:1.000000e+02 + 207 88 Ra gs 0 1.300000e+00 a:9.000000e+01,a/1:0.000000e+00,ce:1.000000e+01 + 207 88 Ra m 0 5.700000e-02 it:8.500000e+01,a:0.000000e+00,a/1:1.445000e+01,ce:5.500000e-01 + 208 88 Ra gs 0 1.300000e+00 a:9.500000e+01,ce:5.000000e+00 + 209 88 Ra gs 0 4.600000e+00 a:9.000000e+01,ce:1.000000e+01 + 210 88 Ra gs 0 3.700000e+00 a:9.600000e+01,ce:4.000000e+00 + 211 88 Ra gs 0 1.300000e+01 a:9.300000e+01,ce:7.000000e+00 + 212 88 Ra gs 0 1.300000e+01 a:8.500000e+01,ce:1.500000e+01 + 213 88 Ra gs 0 1.644000e+02 a:8.000000e+01,ce:2.000000e+01 + 213 88 Ra m 0 2.100000e-03 it:9.900000e+01,a:1.000000e-00 + 214 88 Ra gs 0 2.460000e+00 a:9.994100e+01,ce:0.000000e+00,ce/1:5.900000e-02 + 215 88 Ra gs 0 1.590000e-03 a:1.000000e+02 + 216 88 Ra gs 0 1.820000e-07 a:1.000000e+02,ce:1.000000e-08 + 217 88 Ra gs 0 1.630000e-06 a:1.000000e+02 + 218 88 Ra gs 0 2.560000e-05 a:1.000000e+02 + 219 88 Ra gs 0 1.000000e-02 a:1.000000e+02 + 220 88 Ra gs 0 1.780000e-02 a:1.000000e+02 + 221 88 Ra gs 0 2.800000e+01 a:1.000000e+02 + 222 88 Ra gs 0 3.800000e+01 a:1.000000e+02 + 223 88 Ra gs 0 9.875520e+05 a:1.000000e+02 + 224 88 Ra gs 0 3.127680e+05 a:1.000000e+02 + 225 88 Ra gs 0 1.278720e+06 b-:1.000000e+02 + 226 88 Ra gs 0 5.049220e+10 a:1.000000e+02 + 227 88 Ra gs 0 2.532000e+03 b-:1.000000e+02 + 228 88 Ra gs 0 1.814560e+08 b-:1.000000e+02 + 229 88 Ra gs 0 2.400000e+02 b-:1.000000e+02 + 230 88 Ra gs 0 5.580000e+03 b-:1.000000e+02 + 231 88 Ra gs 0 1.030000e+02 b-:1.000000e+02 + 232 88 Ra gs 0 2.500000e+02 b-:1.000000e+02 + 233 88 Ra gs 0 3.000000e+01 b-:1.000000e+02 + 234 88 Ra gs 0 3.000000e+01 b-:1.000000e+02 + 206 89 Ac gs 0 1.500000e-02 a:1.000000e+02,a/1:0.000000e+00 + 206 89 Ac m 0 2.500000e-02 a:1.000000e+02,a/1:0.000000e+00 + 206 89 Ac m2 0 4.100000e-02 a:0.000000e+00,a/1:1.000000e+02 + 207 89 Ac gs 0 4.000000e-02 a:1.000000e+02 + 208 89 Ac gs 0 1.000000e-01 a:9.900000e+01,a/1:0.000000e+00,a/2:0.000000e+00,ce:1.000000e-00 + 208 89 Ac m 0 2.800000e-02 a:0.000000e+00,a/1:0.000000e+00,a/2:8.900000e+01,it:1.000000e+01,ce:1.000000e-00 + 209 89 Ac gs 0 9.500000e-02 a:9.900000e+01,ce:1.000000e-00 + 210 89 Ac gs 0 3.500000e-01 a:0.000000e+00,a/1:9.600000e+01,a/2:0.000000e+00,ce:4.000000e+00 + 211 89 Ac gs 0 2.500000e-01 a:9.980000e+01,ce:2.000000e-01 + 212 89 Ac gs 0 9.300000e-01 a:9.700000e+01,ce:3.000000e+00 + 213 89 Ac gs 0 8.000000e-01 a:5.000000e+01,ce:2.500000e+01,ce/1:2.500000e+01 + 214 89 Ac gs 0 8.200000e+00 a:8.900000e+01,ce:1.100000e+01 + 215 89 Ac gs 0 1.700000e-01 a:9.991000e+01,ce:9.000000e-02 + 216 89 Ac gs 0 3.300000e-04 a:9.999990e+01,ce:7.000000e-05 + 217 89 Ac gs 0 6.900000e-08 a:9.800000e+01,ce:2.000000e+00 + 218 89 Ac gs 0 1.080000e-06 a:1.000000e+02,a/1:0.000000e+00 + 219 89 Ac gs 0 1.180000e-05 a:1.000000e+02,ce:1.000000e-06 + 220 89 Ac gs 0 2.636000e-02 a:9.999950e+01,ce:4.999980e-04 + 221 89 Ac gs 0 5.200000e-02 a:1.000000e+02 + 222 89 Ac gs 0 5.000000e+00 a:9.900000e+01,a/1:0.000000e+00,ce:1.000000e-00 + 222 89 Ac m 0 6.300000e+01 a:4.430000e+01,a/1:4.430000e+01,it:1.000000e+01,ce:1.400000e+00 + 223 89 Ac gs 0 1.260000e+02 a:9.900000e+01,ce:1.000000e-00 + 224 89 Ac gs 0 1.000800e+04 ce:8.917320e+01,a:9.251970e+00,b-:1.574800e+00 + 225 89 Ac gs 0 8.640000e+05 a:1.000000e+02 + 226 89 Ac gs 0 1.057320e+05 b-:8.299500e+01,ce:1.699900e+01,a:5.999640e-03 + 227 89 Ac gs 0 6.871040e+08 b-:9.862000e+01,a:1.380000e+00 + 228 89 Ac gs 0 2.214000e+04 b-:1.000000e+02 + 229 89 Ac gs 0 3.762000e+03 b-:5.000000e+01,b-/1:5.000000e+01 + 230 89 Ac gs 0 1.220000e+02 b-:1.000000e+02 + 231 89 Ac gs 0 4.500000e+02 b-:1.000000e+02 + 232 89 Ac gs 0 1.190000e+02 b-:1.000000e+02 + 233 89 Ac gs 0 1.450000e+02 b-:1.000000e+02 + 234 89 Ac gs 0 4.400000e+01 b-:1.000000e+02 + 235 89 Ac gs 0 4.000000e+01 b-:1.000000e+02 + 236 89 Ac gs 0 1.200000e+02 b-:1.000000e+02 + 209 90 Th gs 0 7.000000e-03 a:5.000000e+01,a/1:0.000000e+00,ce:5.000000e+01 + 210 90 Th gs 0 1.700000e-02 a:5.000000e+01,ce:5.000000e+01 + 211 90 Th gs 0 4.800000e-02 a:9.950000e+01,a/1:0.000000e+00,ce:5.000000e-01 + 212 90 Th gs 0 3.600000e-02 a:9.970000e+01,ce:3.000000e-01 + 213 90 Th gs 0 1.400000e-01 a:5.000000e+01,ce:5.000000e+01 + 214 90 Th gs 0 1.000000e-01 a:1.000000e+02 + 215 90 Th gs 0 1.200000e+00 a:1.000000e+02 + 216 90 Th gs 0 2.800000e-02 a:9.999400e+01,ce:6.000000e-03 + 217 90 Th gs 0 2.520000e-04 a:5.000000e+01,a/1:5.000000e+01 + 218 90 Th gs 0 1.090000e-07 a:1.000000e+02 + 219 90 Th gs 0 1.050000e-06 a:1.000000e+02,ce:1.000000e-07 + 220 90 Th gs 0 9.700000e-06 a:1.000000e+02,ce:2.000000e-07 + 221 90 Th gs 0 1.680000e-03 a:1.000000e+02 + 222 90 Th gs 0 2.800000e-03 a:1.000000e+02,ce:1.300000e-08,ce/1:0.000000e+00 + 223 90 Th gs 0 6.000000e-01 a:1.000000e+02 + 224 90 Th gs 0 1.050000e+00 a:1.000000e+02 + 225 90 Th gs 0 5.232000e+02 a:9.000000e+01,ce:1.000000e+01 + 226 90 Th gs 0 1.834200e+03 a:1.000000e+02 + 227 90 Th gs 0 1.617240e+06 a:1.000000e+02 + 228 90 Th gs 0 6.036970e+07 a:1.000000e+02 + 229 90 Th gs 0 2.316330e+11 a:1.000000e+02 + 229 90 Th m 0 2.520000e+05 it:1.000000e+02 + 230 90 Th gs 0 2.379440e+12 a:1.000000e+02,sf:2.500000e-11 + 231 90 Th gs 0 9.187200e+04 b-:1.000000e+02 + 232 90 Th gs 0 4.433840e+17 a:1.000000e+02,sf:1.400000e-09 + 233 90 Th gs 0 1.338000e+03 b-:1.000000e+02 + 234 90 Th gs 0 2.081380e+06 b-/1:1.000000e+02 + 235 90 Th gs 0 4.140000e+02 b-:1.000000e+02 + 236 90 Th gs 0 2.250000e+03 b-:1.000000e+02 + 237 90 Th gs 0 3.000000e+02 b-:1.000000e+02 + 238 90 Th gs 0 1.200000e+03 b-:1.000000e+02 + 212 91 Pa gs 0 8.000000e-03 a:5.000000e+01,a/1:5.000000e+01 + 213 91 Pa gs 0 7.000000e-03 a:1.000000e+02 + 214 91 Pa gs 0 1.700000e-02 a:1.000000e+02 + 215 91 Pa gs 0 1.500000e-02 a:1.000000e+02 + 216 91 Pa gs 0 1.050000e-01 a:9.800000e+01,ce:2.000000e+00 + 217 91 Pa gs 0 3.400000e-03 a:1.000000e+02 + 217 91 Pa m 0 1.500000e-03 a:1.000000e+02 + 218 91 Pa gs 0 1.160000e-04 a:1.000000e+02 + 219 91 Pa gs 0 5.300000e-08 a:1.000000e+02,ce:5.000000e-09 + 220 91 Pa gs 0 7.800000e-07 a:1.000000e+02,ce:3.000000e-07 + 221 91 Pa gs 0 5.900000e-06 a:1.000000e+02 + 222 91 Pa gs 0 3.200000e-03 a:1.000000e+02 + 223 91 Pa gs 0 5.800000e-03 a:9.999900e+01,ce:9.999900e-04 + 224 91 Pa gs 0 8.440000e-01 a:9.990000e+01,ce:1.000000e-01 + 225 91 Pa gs 0 1.700000e+00 a:1.000000e+02 + 226 91 Pa gs 0 1.080000e+02 a:3.700000e+01,a/1:3.700000e+01,ce:2.600000e+01 + 227 91 Pa gs 0 2.298000e+03 a:8.500000e+01,ce:1.500000e+01 + 228 91 Pa gs 0 7.920000e+04 ce:9.800000e+01,a:2.000000e+00 + 229 91 Pa gs 0 1.296000e+05 ce:4.976000e+01,ce/1:4.976000e+01,a:4.800000e-01 + 230 91 Pa gs 0 1.503360e+06 ce:9.159710e+01,b-:8.399730e+00,a:3.199900e-03 + 231 91 Pa gs 0 1.033830e+12 a:1.000000e+02,sf:3.000000e-10 + 232 91 Pa gs 0 1.131840e+05 b-:1.000000e+02,ce:3.000000e-03 + 233 91 Pa gs 0 2.332800e+06 b-:1.000000e+02 + 234 91 Pa gs 0 2.440800e+04 b-:1.000000e+02 + 234 91 Pa m 0 7.020000e+01 b-:9.985000e+01,it:1.500000e-01 + 235 91 Pa gs 0 1.452000e+03 b-/1:1.000000e+02 + 236 91 Pa gs 0 5.460000e+02 b-:1.000000e+02,b-sf:6.000000e-08 + 237 91 Pa gs 0 5.220000e+02 b-:1.000000e+02 + 238 91 Pa gs 0 1.380000e+02 b-:1.000000e+02,b-sf:2.600000e-06 + 239 91 Pa gs 0 6.360000e+03 b-:1.000000e+02 + 240 91 Pa gs 0 1.200000e+02 b-:1.000000e+02 + 218 92 U gs 0 6.000000e-03 a:1.000000e+02 + 219 92 U gs 0 5.500000e-05 a:1.000000e+02 + 220 92 U gs 0 6.000000e-08 a:5.000000e+01,ce:5.000000e+01 + 221 92 U gs 0 7.000000e-07 a:5.000000e+01,ce:5.000000e+01 + 222 92 U gs 0 1.400000e-06 a:1.000000e+02,ce:1.000000e-06 + 223 92 U gs 0 2.100000e-05 a:1.000000e+02 + 224 92 U gs 0 9.400000e-04 a:9.999990e+01,ce:1.200000e-04 + 225 92 U gs 0 9.400000e-02 a:1.000000e+02 + 226 92 U gs 0 1.500000e-01 a:1.000000e+02 + 227 92 U gs 0 6.600000e+01 a:9.999900e+01,ce:9.999900e-04 + 228 92 U gs 0 5.460000e+02 a:9.500000e+01,ce:5.000000e+00 + 229 92 U gs 0 3.480000e+03 ce:8.000000e+01,a:2.000000e+01 + 230 92 U gs 0 1.797120e+06 a:1.000000e+02,sf:1.400000e-10 + 231 92 U gs 0 3.628800e+05 ce:9.999600e+01,a:4.000000e-03 + 232 92 U gs 0 2.202720e+09 a:1.000000e+02,sf:9.000000e-11 + 233 92 U gs 0 5.025550e+12 a:1.000000e+02 + 234 92 U gs 0 7.753700e+12 a:1.000000e+02,sf:1.700000e-09 + 235 92 U gs 0 2.221020e+16 a:1.000000e+02,sf:2.000000e-08 + 235 92 U m 0 1.560000e+03 it:1.000000e+02 + 236 92 U gs 0 7.389530e+14 a:1.000000e+02,sf:1.200000e-07 + 237 92 U gs 0 5.832000e+05 b-:1.000000e+02 + 238 92 U gs 0 1.409990e+17 a:1.000000e+02,sf:5.400000e-05 + 239 92 U gs 0 1.408200e+03 b-:1.000000e+02 + 240 92 U gs 0 5.076000e+04 b-:1.000000e+02 + 241 92 U gs 0 3.000000e+02 b-:1.000000e+02 + 242 92 U gs 0 1.008000e+03 b-:0.000000e+00,b-/1:1.000000e+02 + 225 93 Np gs 0 3.000000e-03 a:1.000000e+02 + 226 93 Np gs 0 3.500000e-02 a:9.999700e+01,ce:2.999910e-03 + 227 93 Np gs 0 5.100000e-01 a:9.995000e+01,ce:5.000000e-02 + 228 93 Np gs 0 6.140000e+01 ce:5.998800e+01,a:4.000000e+01,cesf:1.200000e-02 + 229 93 Np gs 0 2.400000e+02 a:5.000000e+01,ce:5.000000e+01 + 230 93 Np gs 0 2.760000e+02 ce:9.700000e+01,a:3.000000e+00 + 231 93 Np gs 0 2.928000e+03 ce:9.800000e+01,a:2.000000e+00 + 232 93 Np gs 0 8.820000e+02 ce:9.999700e+01,a:3.000000e-03 + 233 93 Np gs 0 2.172000e+03 ce:9.999900e+01,a:9.999900e-04 + 234 93 Np gs 0 3.801600e+05 ce:1.000000e+02 + 235 93 Np gs 0 3.422300e+07 ce:9.899740e+01,ce/1:9.999740e-01,a:2.600000e-03 + 236 93 Np gs 0 4.796750e+12 b-:1.180472e+01,ce:8.803521e+01,a:1.600640e-01 + 236 93 Np m 0 8.100000e+04 b-:5.000000e+01,ce:5.000000e+01 + 237 93 Np gs 0 6.753330e+13 a:1.000000e+02 + 238 93 Np gs 0 1.829090e+05 b-:1.000000e+02 + 239 93 Np gs 0 2.034720e+05 b-:1.000000e+02 + 240 93 Np gs 0 3.900000e+03 b-:1.000000e+02 + 240 93 Np m 0 4.440000e+02 b-:9.989001e+01,it:1.099890e-01 + 241 93 Np gs 0 8.340000e+02 b-:1.000000e+02 + 242 93 Np gs 0 3.300000e+02 b-:1.000000e+02 + 242 93 Np m 0 1.320000e+02 b-:1.000000e+02 + 243 93 Np gs 0 1.110000e+02 b-:1.000000e+02 + 244 93 Np gs 0 1.374000e+02 b-:1.000000e+02 + 228 94 Pu gs 0 1.000000e-02 a:9.990000e+01,ce:1.000000e-01 + 229 94 Pu gs 0 6.000000e-02 a:1.000000e+02 + 230 94 Pu gs 0 1.200000e+02 a:5.000000e+01,ce:5.000000e+01 + 231 94 Pu gs 0 5.160000e+02 ce:5.000000e+01,a:5.000000e+01 + 232 94 Pu gs 0 2.046000e+03 ce:8.900000e+01,a:1.100000e+01 + 233 94 Pu gs 0 1.254000e+03 ce:9.988000e+01,a:1.200000e-01 + 234 94 Pu gs 0 3.168000e+04 ce:9.400000e+01,a:6.000000e+00 + 235 94 Pu gs 0 1.518000e+03 ce:9.999730e+01,a:2.700000e-03 + 236 94 Pu gs 0 9.151700e+07 a:1.000000e+02,sf:8.500000e-08 + 237 94 Pu gs 0 3.913920e+06 ce:9.999580e+01,a:4.200000e-03 + 237 94 Pu m 0 1.800000e-01 it:1.000000e+02 + 238 94 Pu gs 0 2.767600e+09 a:1.000000e+02,sf:1.860000e-07 + 239 94 Pu gs 0 7.609480e+11 a:1.150000e-02,a/1:9.998850e+01,sf:4.400000e-10 + 240 94 Pu gs 0 2.071130e+11 a:1.000000e+02,sf:5.700000e-06 + 241 94 Pu gs 0 4.544290e+08 b-:9.999760e+01,a:2.450000e-03 + 242 94 Pu gs 0 1.178680e+13 a:1.000000e+02,sf:5.500000e-04 + 243 94 Pu gs 0 1.784160e+04 b-:1.000000e+02 + 244 94 Pu gs 0 2.524610e+15 a:9.987500e+01,sf:1.250000e-01 + 245 94 Pu gs 0 3.780000e+04 b-:1.000000e+02 + 246 94 Pu gs 0 9.374400e+05 b-/1:1.000000e+02 + 247 94 Pu gs 0 1.961280e+05 b-:1.000000e+02 + 231 95 Am gs 0 3.000000e+01 ce:5.000000e+01,a:5.000000e+01 + 232 95 Am gs 0 7.860000e+01 ce:9.793100e+01,a:2.000000e+00,cesf:6.900000e-02 + 233 95 Am gs 0 1.920000e+02 ce:9.700000e+01,a:3.000000e+00 + 234 95 Am gs 0 1.392000e+02 ce:9.995440e+01,a:3.900000e-02,cesf:6.600000e-03 + 235 95 Am gs 0 9.000000e+02 ce:1.000000e+02 + 236 95 Am gs 0 1.800000e+03 ce:5.000000e+01,a:5.000000e+01 + 237 95 Am gs 0 4.380000e+03 ce:4.998750e+01,ce/1:4.998750e+01,a:2.500000e-02 + 238 95 Am gs 0 5.880000e+03 ce:9.999990e+01,a:9.999990e-05 + 239 95 Am gs 0 4.284000e+04 ce:9.999000e+01,a:1.000000e-02 + 240 95 Am gs 0 1.828800e+05 ce:1.000000e+02,a:1.900000e-04 + 241 95 Am gs 0 1.365500e+10 a:1.000000e+02,sf:3.770000e-10 + 242 95 Am gs 0 5.767200e+04 b-:8.270000e+01,ce:1.730000e+01 + 242 95 Am m 0 4.449620e+09 it:9.955000e+01,a:4.500000e-01,sf:1.600000e-08 + 242 95 Am m2 0 1.400000e-02 sf:1.000000e+02 + 243 95 Am gs 0 2.324160e+11 a:1.000000e+02,sf:3.700000e-09 + 244 95 Am gs 0 3.636000e+04 b-:1.000000e+02 + 244 95 Am m 0 1.560000e+03 b-:9.995900e+01,ce:4.100000e-02 + 245 95 Am gs 0 7.380000e+03 b-:1.000000e+02 + 246 95 Am gs 0 2.340000e+03 b-:1.000000e+02 + 246 95 Am m 0 1.500000e+03 b-:1.000000e+02 + 247 95 Am gs 0 1.380000e+03 b-:1.000000e+02 + 248 95 Am gs 0 1.800000e+02 b-:1.000000e+02 + 249 95 Am gs 0 6.000000e+01 b-:1.000000e+02 + 233 96 Cm gs 0 6.000000e+01 ce:5.000000e+01,a:5.000000e+01 + 234 96 Cm gs 0 1.200000e+02 ce:5.000000e+01,a:5.000000e+01 + 235 96 Cm gs 0 3.000000e+02 ce:5.000000e+01,a:5.000000e+01 + 236 96 Cm gs 0 6.000000e+02 ce:5.000000e+01,a:5.000000e+01 + 237 96 Cm gs 0 1.200000e+03 ce:5.000000e+01,a:5.000000e+01 + 238 96 Cm gs 0 8.640000e+03 ce:9.000000e+01,a:1.000000e+01 + 239 96 Cm gs 0 1.044000e+04 ce:9.990000e+01,a:1.000000e-01 + 240 96 Cm gs 0 2.332800e+06 a:9.950000e+01,ce:5.000000e-01,sf:3.900000e-06 + 241 96 Cm gs 0 2.833920e+06 ce:9.900000e+01,a:1.000000e-00 + 242 96 Cm gs 0 1.407800e+07 a:1.000000e+02,sf:6.330000e-06 + 243 96 Cm gs 0 9.467280e+08 ce:2.400000e-01,a:9.976000e+01 + 244 96 Cm gs 0 5.711930e+08 a:1.000000e+02,sf:1.347000e-04 + 244 96 Cm m 0 3.400000e-02 it:1.000000e+02 + 245 96 Cm gs 0 2.682400e+11 a:1.000000e+02 + 246 96 Cm gs 0 1.492670e+11 a:9.997390e+01,sf:2.614000e-02 + 247 96 Cm gs 0 5.049220e+14 a:1.000000e+02 + 248 96 Cm gs 0 1.072960e+13 a:9.174000e+01,sf:8.260000e+00 + 249 96 Cm gs 0 3.849000e+03 b-:1.000000e+02 + 250 96 Cm gs 0 2.524610e+11 a:3.000000e+01,sf:7.000000e+01 + 251 96 Cm gs 0 1.008000e+03 b-:1.000000e+02 + 252 96 Cm gs 0 1.728000e+05 b-:1.000000e+02 + 235 97 Bk gs 0 2.000000e+01 ce:5.000000e+01,a:5.000000e+01 + 236 97 Bk gs 0 6.000000e+01 ce:5.000000e+01,a:5.000000e+01 + 237 97 Bk gs 0 6.000000e+01 ce:5.000000e+01,a:5.000000e+01 + 238 97 Bk gs 0 1.440000e+02 a:5.000000e+01,ce:4.995200e+01,cesf:4.800000e-02 + 239 97 Bk gs 0 1.800000e+02 ce:5.000000e+01,a:5.000000e+01 + 240 97 Bk gs 0 2.880000e+02 ce:8.999800e+01,a:1.000000e+01,cesf:2.000000e-03 + 241 97 Bk gs 0 1.800000e+02 a:5.000000e+01,ce:5.000000e+01 + 242 97 Bk gs 0 4.200000e+02 ce:1.000000e+02,cesf:3.000000e-05 + 243 97 Bk gs 0 1.620000e+04 ce:9.985000e+01,a:1.500000e-01 + 244 97 Bk gs 0 1.566000e+04 ce:9.999400e+01,ce/1:0.000000e+00,a:6.000000e-03 + 245 97 Bk gs 0 4.268160e+05 ce:9.988000e+01,a:1.200000e-01 + 246 97 Bk gs 0 1.555200e+05 ce:9.990000e+01,a:5.000000e-02,a/1:0.000000e+00,a/2:5.000000e-02 + 247 97 Bk gs 0 4.354950e+10 a:1.000000e+02 + 248 97 Bk gs 0 2.840180e+08 a:1.000000e+02,a/1:0.000000e+00 + 248 97 Bk m 0 8.532000e+04 b-:6.999930e+01,ce:2.999970e+01,a:0.000000e+00,a/1:9.999900e-04 + 249 97 Bk gs 0 2.764800e+07 b-:1.000000e+02,a:1.450000e-03,sf:4.690000e-08 + 250 97 Bk gs 0 1.158120e+04 b-:1.000000e+02 + 251 97 Bk gs 0 3.336000e+03 b-:1.000000e+02 + 252 97 Bk gs 0 1.080000e+02 b-:5.000000e+01,a:5.000000e+01 + 253 97 Bk gs 0 6.000000e+02 b-:1.000000e+02 + 254 97 Bk gs 0 6.000000e+01 b-:1.000000e+02 + 237 98 Cf gs 0 2.100000e+00 a:4.500000e+01,sf:1.000000e+01,ce:4.500000e+01 + 238 98 Cf gs 0 2.100000e-02 sf:1.000000e+02 + 239 98 Cf gs 0 6.000000e+01 a:5.000000e+01,ce:5.000000e+01 + 240 98 Cf gs 0 6.360000e+01 a:9.800000e+01,sf:2.000000e+00 + 241 98 Cf gs 0 2.280000e+02 ce:7.500000e+01,a:2.500000e+01 + 242 98 Cf gs 0 2.094000e+02 a:8.000000e+01,ce:1.998600e+01,sf:1.400000e-02 + 243 98 Cf gs 0 6.420000e+02 ce:8.600000e+01,a:1.400000e+01 + 244 98 Cf gs 0 1.164000e+03 a:9.900000e+01,ce:1.000000e-00 + 245 98 Cf gs 0 2.700000e+03 ce:6.400000e+01,a:3.600000e+01 + 246 98 Cf gs 0 1.285200e+05 a:9.999580e+01,sf:2.499890e-04,ce:3.999830e-03 + 247 98 Cf gs 0 1.119600e+04 ce:9.996500e+01,a:3.500000e-02 + 248 98 Cf gs 0 2.885760e+07 a:9.999710e+01,a/1:0.000000e+00,sf:2.900000e-03 + 249 98 Cf gs 0 1.107670e+10 a:1.000000e+02,sf:5.200000e-07 + 250 98 Cf gs 0 4.127730e+08 a:9.992300e+01,sf:7.700000e-02 + 251 98 Cf gs 0 2.833870e+10 a:1.000000e+02 + 252 98 Cf gs 0 8.346980e+07 a:9.690800e+01,sf:3.092000e+00 + 253 98 Cf gs 0 1.538780e+06 b-:9.969000e+01,a:3.100000e-01 + 254 98 Cf gs 0 5.227200e+06 sf:9.969100e+01,a:3.090420e-01 + 255 98 Cf gs 0 5.100000e+03 b-:9.999900e+01,sf:9.999900e-04,a:1.999980e-07 + 256 98 Cf gs 0 7.380000e+02 sf:1.000000e+02,a:6.200000e-07 + 240 99 Es gs 0 1.000000e+00 a:5.000000e+01,ce:5.000000e+01 + 241 99 Es gs 0 1.000000e+01 a:5.000000e+01,ce:5.000000e+01 + 242 99 Es gs 0 2.400000e+01 a:5.000000e+01,ce:4.940000e+01,cesf:6.000000e-01 + 243 99 Es gs 0 2.100000e+01 ce:7.000000e+01,a:3.000000e+01 + 244 99 Es gs 0 3.700000e+01 ce:9.499000e+01,a:5.000000e+00,cesf:1.000000e-02 + 245 99 Es gs 0 6.600000e+01 ce:6.000000e+01,a:4.000000e+01 + 246 99 Es gs 0 4.620000e+02 ce:9.009700e+01,a:9.900000e+00,cesf:3.000000e-03 + 247 99 Es gs 0 2.760000e+02 ce:9.299990e+01,a:6.999990e+00,sf:8.999990e-05 + 248 99 Es gs 0 1.620000e+03 ce:9.975000e+01,a:2.500000e-01,cesf:3.000000e-05 + 249 99 Es gs 0 6.132000e+03 ce:9.943000e+01,a:5.700000e-01 + 250 99 Es gs 0 3.096000e+04 ce:9.700000e+01,a:3.000000e+00 + 250 99 Es m 0 7.992000e+03 ce:9.900000e+01,a:1.000000e-00 + 251 99 Es gs 0 1.188000e+05 ce:9.950000e+01,a:5.000000e-01 + 252 99 Es gs 0 4.075490e+07 a:7.800000e+01,a/1:0.000000e+00,ce:2.200000e+01 + 253 99 Es gs 0 1.768610e+06 a:1.000000e+02,sf:8.700000e-06 + 254 99 Es gs 0 2.382050e+07 a:9.999990e+01,ce:9.999990e-05,b-:1.740000e-06,sf:3.000000e-06 + 254 99 Es m 0 1.414800e+05 b-:9.663930e+01,it:2.958350e+00,a:3.254180e-01,ce:7.691700e-02 + 255 99 Es gs 0 3.438720e+06 b-:9.199620e+01,a:7.999670e+00,sf:4.099830e-03 + 256 99 Es gs 0 1.524000e+03 b-:1.000000e+02 + 256 99 Es m 0 2.736000e+04 b-:9.999800e+01,b-sf:2.000000e-03 + 257 99 Es gs 0 6.652800e+05 b-:9.999960e+01,a:3.999980e-04 + 258 99 Es gs 0 1.800000e+02 b-:5.000000e+01,a:5.000000e+01 + 242 100 Fm gs 0 8.000000e-04 sf:5.000000e+01,a:5.000000e+01 + 243 100 Fm gs 0 2.100000e-01 a:6.000000e+01,ce:3.943000e+01,sf:5.700000e-01 + 244 100 Fm gs 0 3.300000e-03 sf:9.900000e+01,a:1.000000e-00 + 245 100 Fm gs 0 4.200000e+00 a:9.567000e+01,ce:4.200000e+00,sf:1.300000e-01 + 246 100 Fm gs 0 1.100000e+00 a:8.550000e+01,sf:4.500000e+00,cesf:1.000000e+01 + 247 100 Fm gs 0 3.500000e+01 a:5.000000e+01,ce:5.000000e+01 + 248 100 Fm gs 0 3.600000e+01 a:9.690310e+01,ce:2.997000e+00,sf:9.990010e-02 + 249 100 Fm gs 0 1.560000e+02 ce:6.700000e+01,a:3.300000e+01 + 250 100 Fm gs 0 1.800000e+03 a:8.999950e+01,ce:0.000000e+00,ce/1:9.999940e+00,sf:5.999960e-04 + 250 100 Fm m 0 1.800000e+00 it:1.000000e+02 + 251 100 Fm gs 0 1.908000e+04 ce:9.820000e+01,a:1.800000e+00 + 252 100 Fm gs 0 9.140400e+04 a:9.999770e+01,sf:2.299950e-03 + 253 100 Fm gs 0 2.592000e+05 ce:8.800000e+01,a:1.200000e+01 + 254 100 Fm gs 0 1.166400e+04 a:9.994080e+01,sf:5.920000e-02 + 255 100 Fm gs 0 7.225200e+04 a:1.000000e+02,sf:2.400000e-05 + 256 100 Fm gs 0 9.456000e+03 sf:9.190000e+01,a:8.100000e+00 + 257 100 Fm gs 0 8.683200e+06 a:9.979000e+01,sf:2.100000e-01 + 258 100 Fm gs 0 3.600000e-04 sf:1.000000e+02 + 259 100 Fm gs 0 1.500000e+00 sf:1.000000e+02 + 260 100 Fm gs 0 1.000000e-03 sf:1.000000e+02 + 245 101 Md gs 0 9.000000e-04 sf:5.000000e+01,a:5.000000e+01 + 245 101 Md m 0 4.000000e-01 a:5.000000e+01,ce:5.000000e+01 + 246 101 Md gs 0 1.000000e+00 a:3.333330e+01,ce:3.333330e+01,sf:3.333330e+01 + 247 101 Md gs 0 2.700000e-01 sf:5.000000e+01,a:5.000000e+01 + 247 101 Md m 0 1.120000e+00 a:9.999990e+01,sf:9.999990e-05 + 248 101 Md gs 0 7.000000e+00 ce:7.995000e+01,a:2.000000e+01,cesf:5.000000e-02 + 249 101 Md gs 0 2.400000e+01 a:6.000000e+01,ce:4.000000e+01 + 250 101 Md gs 0 5.200000e+01 ce:4.649000e+01,ce/1:4.649000e+01,a:7.000000e+00,cesf:2.000000e-02 + 251 101 Md gs 0 2.400000e+02 ce:9.500000e+01,a:5.000000e+00 + 252 101 Md gs 0 1.380000e+02 ce:5.000000e+01,a:5.000000e+01 + 253 101 Md gs 0 4.140000e+02 ce:9.940000e+01,a:6.000000e-01 + 254 101 Md gs 0 6.000000e+02 ce:1.000000e+02 + 254 101 Md m 0 1.680000e+03 ce:1.000000e+02 + 255 101 Md gs 0 1.620000e+03 ce:9.186220e+01,a:7.988020e+00,sf:1.497750e-01 + 256 101 Md gs 0 4.620000e+03 ce:8.780000e+01,a:9.200000e+00,sf:3.000000e+00 + 257 101 Md gs 0 1.987200e+04 ce:8.173080e+01,a:1.442310e+01,sf:3.846150e+00 + 258 101 Md gs 0 4.449600e+06 a:9.999700e+01,a/1:0.000000e+00,ce:1.500000e-03,b-:1.500000e-03 + 258 101 Md m 0 3.420000e+03 ce:6.880000e+01,sf:2.000000e+01,b-:1.000000e+01,a:0.000000e+00,a/1:1.200000e+00 + 259 101 Md gs 0 5.760000e+03 sf:9.870000e+01,a:1.300000e+00 + 260 101 Md gs 0 2.401920e+06 sf:8.650000e+01,a:2.500000e+00,a/1:2.500000e+00,ce:5.000000e+00,b-:3.500000e+00 + 261 101 Md gs 0 2.400000e+03 a:1.000000e+02 + 249 102 No gs 0 1.500000e-04 ce:5.000000e+01,a:5.000000e+01 + 250 102 No gs 0 2.500000e-04 sf:9.994980e+01,a:5.000000e-02,ce:2.500000e-04 + 251 102 No gs 0 8.000000e-01 a:9.400000e+01,sf:5.000000e+00,ce:1.000000e-00 + 252 102 No gs 0 2.270000e+00 a:5.800000e+01,ce:2.300000e+01,sf:1.900000e+01 + 253 102 No gs 0 9.720000e+01 a:7.999900e+01,ce:2.000000e+01,sf:1.000000e-03 + 254 102 No gs 0 5.500000e+01 a:8.969000e+01,a/1:0.000000e+00,ce:1.000000e+01,ce/1:0.000000e+00,sf:3.100000e-01 + 254 102 No m 0 2.800000e-01 it:8.000000e+01,a:1.000000e+01,a/1:1.000000e+01 + 255 102 No gs 0 1.860000e+02 a:6.100000e+01,ce:3.900000e+01 + 256 102 No gs 0 2.910000e+00 a:9.946000e+01,sf:5.300000e-01,ce:1.000000e-02 + 257 102 No gs 0 2.500000e+01 a:9.900000e+01,ce:1.000000e-00 + 258 102 No gs 0 1.200000e-03 sf:9.999900e+01,a:9.999900e-04 + 259 102 No gs 0 3.480000e+03 a:6.818180e+01,ce:2.272730e+01,sf:9.090910e+00 + 260 102 No gs 0 1.060000e-01 sf:1.000000e+02 + 261 102 No gs 0 7.200000e+03 a:1.000000e+02 + 262 102 No gs 0 5.000000e-03 sf:5.000000e+01,a:5.000000e+01 + 251 103 Lr gs 0 1.500000e-04 ce:5.000000e+01,a:2.500000e+01,a/1:2.500000e+01 + 252 103 Lr gs 0 1.000000e+00 ce:7.029700e+01,a:2.871290e+01,sf:9.900990e-01 + 253 103 Lr gs 0 1.600000e+00 a:9.782610e+01,sf:1.086960e+00,ce:1.086960e+00 + 253 103 Lr m 0 5.800000e-01 a:9.782610e+01,sf:1.086960e+00,ce:1.086960e+00 + 254 103 Lr gs 0 1.300000e+01 a:7.792210e+01,ce:1.098900e+01,ce/1:1.098900e+01,sf:9.990010e-02 + 255 103 Lr gs 0 2.200000e+01 a:6.900000e+01,ce:3.000000e+01,sf:1.000000e-00 + 256 103 Lr gs 0 2.700000e+01 a:8.497450e+01,ce:1.499550e+01,sf:2.999100e-02 + 257 103 Lr gs 0 6.460000e-01 a:9.998900e+01,ce:1.000000e-02,sf:1.000000e-03 + 258 103 Lr gs 0 3.900000e+00 a:4.750000e+01,a/1:4.750000e+01,ce:5.000000e+00 + 259 103 Lr gs 0 6.200000e+00 a:7.753480e+01,sf:2.186880e+01,ce:5.964210e-01 + 260 103 Lr gs 0 1.800000e+02 a:8.000000e+01,ce:2.000000e+01 + 261 103 Lr gs 0 2.340000e+03 sf:5.000000e+01,a:5.000000e+01 + 262 103 Lr gs 0 1.296000e+04 ce:5.000000e+01,a:2.500000e+01,a/1:2.500000e+01 + 263 103 Lr gs 0 3.600000e+03 a:1.000000e+02 + 253 104 Rf gs 0 1.300000e-05 sf:5.000000e+01,a:5.000000e+01 + 254 104 Rf gs 0 2.300000e-05 sf:9.850000e+01,a:1.500000e+00 + 255 104 Rf gs 0 1.500000e+00 a:7.600000e+01,sf:2.400000e+01 + 255 104 Rf m 0 1.000000e+00 a:7.600000e+01,sf:2.400000e+01 + 256 104 Rf gs 0 6.450000e-03 sf:9.968000e+01,a:3.200000e-01 + 257 104 Rf gs 0 4.700000e+00 a:8.760000e+01,ce:1.100000e+01,sf:1.400000e+00 + 257 104 Rf m 0 3.900000e+00 a:9.861930e+01,sf:1.380670e+00 + 258 104 Rf gs 0 1.200000e-02 sf:8.700000e+01,a:1.300000e+01,a/1:0.000000e+00 + 259 104 Rf gs 0 2.800000e+00 a:9.172480e+01,sf:7.976070e+00,ce:2.991030e-01 + 260 104 Rf gs 0 2.100000e-02 sf:9.799000e+01,a:2.000000e+00,ce:1.000000e-02 + 261 104 Rf gs 0 6.500000e+01 a:7.500000e+01,ce:1.500000e+01,sf:1.000000e+01 + 262 104 Rf gs 0 2.060000e+00 sf:9.920630e+01,a:7.936510e-01 + 262 104 Rf m 0 4.700000e-02 sf:1.000000e+02 + 263 104 Rf gs 0 6.000000e+02 sf:7.000000e+01,a:3.000000e+01 + 264 104 Rf gs 0 1.200000e+03 a:1.000000e+02 + 265 104 Rf gs 0 4.680000e+04 a:1.000000e+02 + 255 105 Ha gs 0 1.700000e+00 a:8.000000e+01,sf:2.000000e+01 + 256 105 Ha gs 0 3.000000e+00 a:5.000000e+01,sf:4.000000e+01,ce:1.000000e+01 + 257 105 Ha gs 0 7.900000e-01 a:4.653470e+01,a/1:4.653470e+01,sf:5.940590e+00,ce:0.000000e+00,ce/1:9.900990e-01 + 257 105 Ha m 0 1.530000e+00 a:4.653470e+01,a/1:4.653470e+01,sf:5.940590e+00,ce:9.900990e-01,ce/1:0.000000e+00 + 258 105 Ha gs 0 4.600000e+00 a:6.336630e+01,ce:3.564360e+01,sf:9.900990e-01 + 258 105 Ha m 0 2.000000e+01 ce:1.000000e+02 + 259 105 Ha gs 0 5.100000e-01 a:1.000000e+02 + 260 105 Ha gs 0 1.520000e+00 a:8.819510e+01,sf:9.365850e+00,ce:2.439020e+00 + 261 105 Ha gs 0 1.800000e+00 a:8.200000e+01,sf:1.800000e+01 + 262 105 Ha gs 0 3.400000e+01 sf:7.100000e+01,a:2.600000e+01,ce:1.500000e+00,ce/1:1.500000e+00 + 263 105 Ha gs 0 2.900000e+01 sf:5.600000e+01,a:3.600000e+01,ce:8.000000e+00 + 264 105 Ha gs 0 1.800000e+02 a:1.000000e+02 + 265 105 Ha gs 0 9.000000e+02 a:1.000000e+02 + 258 106 Sg gs 0 3.300000e-03 sf:8.000000e+01,a:2.000000e+01 + 259 106 Sg gs 0 5.800000e-01 a:0.000000e+00,a/1:8.181820e+01,sf:1.818180e+01 + 260 106 Sg gs 0 3.800000e-03 sf:6.000000e+01,a:4.000000e+01 + 261 106 Sg gs 0 2.300000e-01 a:4.950000e+01,a/1:4.950000e+01,sf:1.000000e-00 + 262 106 Sg gs 0 1.000000e-02 a:5.000000e+01,ce:5.000000e+01 + 263 106 Sg gs 0 1.000000e+00 a:7.000000e+01,sf:3.000000e+01 + 263 106 Sg m 0 1.200000e-01 a:5.000000e+01,it:5.000000e+01 + 264 106 Sg gs 0 4.000000e-01 a:1.000000e+02 + 265 106 Sg gs 0 8.000000e+00 a:5.000000e+01,sf:5.000000e+01 + 266 106 Sg gs 0 2.000000e+01 a:2.500000e+01,a/1:2.500000e+01,sf:5.000000e+01 + 269 106 Sg gs 0 3.500000e+01 a:5.000000e+01,sf:5.000000e+01 + 260 107 Ns gs 0 3.000000e-04 a:1.000000e+02 + 261 107 Ns gs 0 1.300000e-02 a:4.523810e+01,a/1:4.523810e+01,sf:9.523810e+00 + 262 107 Ns gs 0 1.000000e-01 a:4.000000e+01,a/1:4.000000e+01,sf:2.000000e+01 + 262 107 Ns m 0 8.000000e-03 a:3.500000e+01,a/1:3.500000e+01,sf:3.000000e+01 + 263 107 Ns gs 0 2.000000e-01 a:1.000000e+02 + 264 107 Ns gs 0 7.000000e-01 a:5.000000e+01,ce:5.000000e+01 + 265 107 Ns gs 0 5.000000e-01 a:1.000000e+02 + 266 107 Ns gs 0 1.000000e+00 a:1.000000e+02 + 267 107 Ns gs 0 1.500000e+01 a:1.000000e+02 + 269 107 Ns gs 0 1.000000e-09 a:1.000000e+02 + 263 108 Hs gs 0 1.000000e-03 a:1.000000e+02 + 264 108 Hs gs 0 5.400000e-04 a:5.000000e+01,sf:5.000000e+01 + 265 108 Hs gs 0 2.100000e-03 a:9.900000e+01,sf:1.000000e-00 + 265 108 Hs m 0 7.800000e-04 a:1.000000e+02 + 266 108 Hs gs 0 2.000000e-02 a:1.000000e+02 + 267 108 Hs gs 0 3.200000e-02 a:0.000000e+00,a/1:5.000000e+01,ce:5.000000e+01 + 268 108 Hs gs 0 2.000000e+00 a:1.000000e+02 + 269 108 Hs gs 0 9.000000e+00 a:1.000000e+02 + 273 108 Hs gs 0 1.900000e+00 a:1.000000e+02 + 265 109 Mt gs 0 2.000000e-03 a:1.000000e+02 + 266 109 Mt gs 0 1.800000e-03 a:4.725000e+01,a/1:4.725000e+01,sf:5.500000e+00 + 267 109 Mt gs 0 1.000000e-01 a:1.000000e+02 + 268 109 Mt gs 0 1.100000e-01 a:5.000000e+01,ce:5.000000e+01 + 269 109 Mt gs 0 2.000000e-01 a:1.000000e+02 + 270 109 Mt gs 0 2.000000e+00 a:1.000000e+02 + 271 109 Mt gs 0 1.000000e-09 a:1.000000e+02 + 273 109 Mt gs 0 1.000000e-09 a:1.000000e+02 + 267 110 ** gs 0 6.000000e-06 a:5.000000e+01,ce:5.000000e+01 + 268 110 ** gs 0 1.000000e-09 a:1.000000e+02 + 269 110 ** gs 0 2.400000e-04 a:0.000000e+00,a/1:5.000000e+01,ce:5.000000e+01 + 270 110 ** gs 0 1.000000e-09 a:1.000000e+02 + 271 110 ** gs 0 2.100000e-01 a:5.000000e+01,ce:5.000000e+01 + 271 110 ** m 0 1.300000e-03 a:5.000000e+01,it:5.000000e+01 + 272 110 ** gs 0 8.600000e-03 a:1.000000e+02 + 273 110 ** gs 0 4.000000e-04 a:1.000000e+02 + 273 110 ** m 0 1.200000e-01 a:1.000000e+02 + 272 111 ** gs 0 2.500000e-03 a:5.000000e+01,ce:5.000000e+01 + 70 25 Mn gs 0 1.000000e-15 b-:1.000000e+02 + 73 26 Fe gs 0 1.000000e-15 b-:1.000000e+02 + 76 27 Co gs 0 1.000000e-15 b-:1.000000e+02 + 77 27 Co gs 0 1.000000e-15 b-:1.000000e+02 + 79 28 Ni gs 0 1.000000e-15 b-:1.000000e+02 + 81 29 Cu gs 0 1.000000e-15 b-:1.000000e+02 + 82 29 Cu gs 0 1.000000e-15 b-:1.000000e+02 + 84 30 Zn gs 0 1.000000e-15 b-:1.000000e+02 + 85 30 Zn gs 0 1.000000e-15 b-:1.000000e+02 + 87 31 Ga gs 0 1.000000e-15 b-:1.000000e+02 + 74 33 As m 0 1.000000e-15 it:1.000000e+02 + 93 33 As gs 0 1.000000e-15 b-:1.000000e+02 + 85 34 Se m 0 1.000000e-15 it:1.000000e+02 + 86 35 Br m 0 1.000000e-15 it:1.000000e+02 + 103 37 Rb gs 0 1.000000e-02 b-:1.000000e+02 + 111 40 Zr gs 0 1.000000e-15 b-:1.000000e+02 + 116 42 Mo gs 0 1.000000e-15 b-:1.000000e+02 + 119 43 Tc gs 0 1.000000e-15 b-:1.000000e+02 + 109 44 Ru m 0 1.000000e+01 it:1.000000e+02 + 121 44 Ru gs 0 1.000000e-15 b-:1.000000e+02 + 122 44 Ru gs 0 1.000000e-15 b-:1.000000e+02 + 109 45 Rh m 0 1.000000e-15 it:1.000000e+02 + 119 45 Rh m 0 1.000000e-15 it:1.000000e+02 + 123 45 Rh gs 0 1.000000e-15 b-:1.000000e+02 + 124 45 Rh gs 0 1.000000e-15 b-:1.000000e+02 + 125 45 Rh gs 0 1.000000e-15 b-:1.000000e+02 + 125 46 Pd gs 0 1.000000e-15 b-:1.000000e+02 + 126 46 Pd gs 0 1.000000e-15 b-:1.000000e+02 + 127 46 Pd gs 0 1.000000e-15 b-:1.000000e+02 + 128 46 Pd gs 0 1.000000e-15 b-:1.000000e+02 + 130 47 Ag gs 0 1.000000e-15 b-:1.000000e+02 + 131 47 Ag gs 0 1.000000e-15 b-:1.000000e+02 + 133 48 Cd gs 0 1.000000e-15 b-:1.000000e+02 + 136 49 In gs 0 1.000000e-15 b-:1.000000e+02 + 138 50 Sn gs 0 1.000000e-15 b-:1.000000e+02 + 140 51 Sb gs 0 1.000000e-15 b-:1.000000e+02 + 143 52 Te gs 0 1.000000e-15 b-:1.000000e+02 + 145 53 I gs 0 1.000000e-15 b-:1.000000e+02 + 146 53 I gs 0 1.000000e-15 b-:1.000000e+02 + 143 54 Xe m 0 1.000000e-15 it:1.000000e+02 + 148 54 Xe gs 0 1.000000e-15 b-:1.000000e+02 + 160 59 Pr gs 0 1.000000e-15 b-:1.000000e+02 + 162 60 Nd gs 0 1.000000e-15 b-:1.000000e+02 + 164 61 Pm gs 0 1.000000e-15 b-:1.000000e+02 + 166 62 Sm gs 0 1.000000e-15 b-:1.000000e+02 + 167 62 Sm gs 0 1.000000e-15 b-:1.000000e+02 + 168 63 Eu gs 0 1.000000e-15 b-:1.000000e+02 + 169 63 Eu gs 0 1.000000e-15 b-:1.000000e+02 + 170 64 Gd gs 0 1.000000e-15 b-:1.000000e+02 + 171 64 Gd gs 0 1.000000e-15 b-:1.000000e+02 + 162 65 Tb m 0 1.000000e-15 it:1.000000e+02 + 172 65 Tb gs 0 1.000000e-15 b-:1.000000e+02 diff --git a/source/branches/CLASSV3/include/CLASS.hxx b/source/branches/CLASSV3/include/CLASS.hxx new file mode 100755 index 000000000..45eb760e5 --- /dev/null +++ b/source/branches/CLASSV3/include/CLASS.hxx @@ -0,0 +1,279 @@ +#ifndef _CLASS_HXX_ +#define _CLASS_HXX_ +/*! + \file + \brief Header file for CLASS classes. + */ + +#include "CLASSObject.hxx" +#include "IsotopicVector.hxx" + +#include <TFile.h> +#include <TTree.h> +#include <vector> +#include <string> +#include <map> +#include <iostream> + + + +using namespace std; +typedef long long int cSecond; + +class DecayDataBank; +class FabricationPlant; +class Reactor; +class Pool; +class Storage; + +//-----------------------------------------------------------------------------// +/*! +Define a CLASS Parc. +The aim of these class is to manage the parc and its evolution and to lead all Storage, FabricationPlant, Reactor, Pool. + + + @author BaM + @author Marc + @version 2.0 + */ +//________________________________________________________________________ + + +class CLASS : public CLASSObject +{ +public : + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + CLASS(); ///< Normal Constructor. + + + + CLASS(LogFile* Log); ///< Log Constructor. + /*! + Use to load a LogFile + \param LogFile: LogFile used for the log... + */ + + + CLASS(double abstime); ///< Time Constructor. + /*! + Use to set the starting time of the Parc + \param abstime: Starting time of the Parc in second + */ + + ~CLASS(); ///< Normal Destructor. + //@} + + +//********* Get Method *********// + /*! + \name Get Function + */ + //@{ + cSecond GetAbsoluteTime() { return fAbsoluteTime; } ///< Return the Absolute Clock + map<cSecond, int> GetTimeStep() { return fTimeStep; } ///< Return the Time Step Vector + vector<Reactor*> GetReactor() { return fReactor; } ///< Return the Reactor Vector + vector<Storage*> GetStorage() { return fStorage; } ///< Return the Storage Vector + vector<Pool*> GetPool() { return fPool; } ///< Return the Pool Vector + vector<FabricationPlant*> GetFabricationPlant() { return fFabricationPlant; } ///< Return the FabricationPlant Vector + DecayDataBank* GetDecayDataBase() { return fDecayDataBase; } //!< Return the Pointer to the Decay DataBase + + cSecond GetPrintSet() { return fPrintStep; } ///< Return the Print Step Periodicity + bool GetStockManagement() { return fStockManagement; } ///< Return the StockManagement method (True or False) + string GetOutputFileName() { return fOutputFileName; } ///< Return the Output File name + string GetOutputTreeName() { return fOutputTreeName; } ///< Return the Output ROOT TTree name + + map<cSecond,int> GetTheBackEndTimePath(Reactor* reactor); ///< BUild and return the time path of a iradiated fuel + + //@} + + + + +//********* Set Method *********// + /*! + \name Set Function + */ + //@{ + + //{ + /// Set the Printing Step periodicity + /*! + Use to set the periodicity of the output + \param timestep: periodicity of outpout in second + */ + void SetTimeStep(cSecond timestep) { fPrintStep = timestep; } + //} + + //{ + /// Set the StockManagement method + /*! + Use to define the stock managment method : true all fuel are stored individualy and false all fuel are mixed in a stock, and one can separate each isotope as needed + \param val: true or false depending on the stock management method used + */ + void SetStockManagement(bool val) { fStockManagement = val; } + //} + + //{ + /// Set the Decay DataBank + /*! + Use to define Decay DataBank to be used + \param decaydatabase: a DecayDataBank which should contain the evolution of each nuclei of the chart + */ + void SetDecayDataBase(DecayDataBank* decaydatabase) { fDecayDataBase = decaydatabase; } + //} + + //{ + /// Set the Output File Name + /*! + Use to define name of the output file + \param name: a string which correspond to the output file name + */ + void SetOutputFileName(string name) { fOutputFileName = name; } + //} + + + //{ + /// Set the Output TTree Name + /*! + Use to define name of the output ROOT TTree + \param name: a string which correspond to the output ROOT TTree name + */ + void SetOutputTreeName(string name) { fOutputTreeName = name; } + //} + //@} + + +//********* Add Method *********// + /*! + \name Adding Facilities + */ + //@{ + + void AddPool(Pool* Pool); ///< Add A TF to the Park + void AddReactor(Reactor* reactor); ///< Add a Reactor to the Park + void AddStorage(Storage* storage); ///< Add a Storage to the Park + void AddFabricationPlant(FabricationPlant* fabricationplant); ///< Add a Storage to the Park + + + //@} + + + +//********* Evolution Method *********// + /*! + \name Evolution Method + */ + //@{ + void OldBuildTimeVector(cSecond t); + + + void BuildTimeVector(cSecond t); ///< Build the Time Evolution Vector where : + /// \li 1 printing, + /// \li 2 reactor Studown + /// \li 4 start/End of reactor cycle, + /// \li 8 end of Cooling, + /// \li 16 fuel Fabrication + + void Evolution(double t); ///< Perform the Evolution + void PoolEvolution(); ///< Perform TF Evolution + void ReactorEvolution(); ///< Perform the Reactor Evolution + void FabricationPlantEvolution(); ///< Perform the FabricationPlant Evolution + void StorageEvolution(); ///< Perform the Storage Evolution + + //@} + + + +//-------- IsotopicVector --------// + + /*! + \name IsotopicVector Sum + */ + //@{ + + + IsotopicVector GetGod() const { return fGod; } //!< Return the God Providings IsotopicVector + void AddGodIncome(ZAI zai, double quantity) { AddGod(zai*quantity); } //!< Add a ZAI*quantity to GodIncome + void AddGod(IsotopicVector isotopicvector) { fGod.Add(isotopicvector); } //!< Add a isotopicVector to GodIncome + void AddWaste(ZAI zai, double quantity) { AddWaste(zai*quantity); } //!< Add a ZAI*quantity to Waste + void AddWaste(IsotopicVector isotopicvector) { fWaste.Add(isotopicvector); } //!< Add a isotopicVector to Waste + void AddToPower(double power) { fParcPower += power;} //!< Add power to the installed power in the Parc + + //@} + + + +//********* In/Out related Method *********// + + /*! + \name In/Out Method + */ + //@{ + + + void ProgressPrintout(cSecond t); //!< Update the prompt output to the time t + + void Print(); //!< Print some information about the Parc + void Write(); //!< Write information in a file + void UpdateParc(); //!< Update the Global IsotopicVector + void OpenOutputTree(); //!< Open and define the Ouput ROOT TTree + void CloseOutputTree(); //!< Close and delete the Ouput ROOT TTree + void OutAttach(); //!< Attach the Branch to the Ouput ROOT TTree + void ResetQuantity(); //!< Reset the values of the GLobal IsotopicVector + + //@} + + + +protected : + bool fNewTtree; //!< Tru if we want to define a new TTree in the output File + bool fStockManagement; ///< True if real StockManagement false unstead (Default = true) + + + cSecond fPrintStep; ///< Time interval between two output update + cSecond fAbsoluteTime; ///< Absolute Clock + cSecond fStartingTime; ///< Starting Time + map<cSecond, int> fTimeStep; ///< Time Step Vector for the evolution : + /// \li 1 printing, + /// \li 2 reactor Studown + /// \li 4 start/End of reactor cycle, + /// \li 8 end of Cooling, + /// \li 16 fuel Fabrication + + + vector<Storage*> fStorage; ///< Vector of Storages + vector<Pool*> fPool; ///< Vector of Pool + vector<Reactor*> fReactor; ///< Vector of Reactor + vector<FabricationPlant*> fFabricationPlant; ///< Vector of FabricationPlant + DecayDataBank* fDecayDataBase; //!< Pointer to the Decay DataBase + + + TFile* fOutFile; ///< Pointer to the Root Output File + string fOutputFileName; //! Name of the Output File + TTree* fOutT; ///< Pointer to the Root Output TTr3ee + string fOutputTreeName; //! Name of the Output TTree + string fOutputLogName; ///< Name of the Ouput log File + + IsotopicVector fWaste; ///< Waste IV + IsotopicVector fTotalStorage; ///< Sum of all IV in Storage IV + IsotopicVector fGod; ///< GodIncome IV + IsotopicVector fTotalCooling; ///< Sum of all IV in Cooling IV + IsotopicVector fFuelFabrication; ///< Sum of all IV in Fabrication IV + IsotopicVector fTotalInReactor; ///< Sum of all IV in Reactor IV + + + IsotopicVector fIVInCycleTotal; ///< Sum of all IV in the cycle (without Waste) IV + IsotopicVector fIVTotal; ///< Sum of all IV in the parc (including Waste) IV + double fParcPower; ///< Sum of the Power of all reactor in the parc + +}; + + +#endif diff --git a/source/branches/CLASSV3/include/CLASSBackEnd.hxx b/source/branches/CLASSV3/include/CLASSBackEnd.hxx new file mode 100644 index 000000000..6e6df7b83 --- /dev/null +++ b/source/branches/CLASSV3/include/CLASSBackEnd.hxx @@ -0,0 +1,98 @@ + +#ifndef _CLASSBACKEND_HXX +#define _CLASSBACKEND_HXX + + +/*! + \file + \brief Header file for CLASSFacility class. + + */ + +#include <string> +#include <fstream> + +#include "CLASSFacility.hxx" +#include "IsotopicVector.hxx" +#include "DecayDataBank.hxx" + +#include "TNamed.h" + +using namespace std; +typedef long long int cSecond; + +class CLASS; + +//-----------------------------------------------------------------------------// +/*! + Define a CLASS Facility. + The aim of these class is synthetyse all the commum properties of the nuclear facilities which are involve in the BackEnd Fuel cycle. + + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + + +class CLASSBackEnd : public CLASSFacility +{ + public : + ///< Normal Constructor. + CLASSBackEnd(); + + //********* Get Method *********// + /*! + \name Get Function + */ + //@{ + + DecayDataBank* GetDecayDataBank() { return fDecayDataBase;} //!< Return the pointer to the decay DataBank + vector<IsotopicVector> GetIVArray() const { return fIVArray; } //!< Return the IsotopicVector Array + int GetIVNumber() const { return fIVArray.size();} + bool GetStorageType() const { return fIsStorageType;} //!< Return the storageType + CLASSBackEnd* GetOutBackEndFacility() const { return fOutBackEndFacility;} //!<Return the pointer to the OUtBackEndFacility + IsotopicVector GetIV(int i) const { if(i < (int)fIVArray.size()) return fIVArray[i]; + else return IsotopicVector(); } + //@} + + //********* Set Method *********// + /*! + \name Set Function + */ + //@{ + void SetIsStorageType(bool val = true) { fIsStorageType = val;} //! Set the fIsStorage bool + void SetDecayDataBank(DecayDataBank* decayDB) { fDecayDataBase = decayDB;} //! Set the Decay DataBank + virtual void SetIVArray(vector<IsotopicVector> ivarray) { fIVArray = ivarray; } //!< Set The isotopicVector Array + virtual void SetOutBackEndFacility(CLASSBackEnd* befacility) { fOutBackEndFacility = befacility; + fIsStorageType = true; } //! Set a Out Facility for the fuel + //@} + + + /*! + \name BackEndFacility specific Method + */ + //@{ + virtual void AddIV(IsotopicVector isotopicvector); //!< Add an Isotopicvector to the IVArray + void ClearIVArray(); //!< Empty the IVArray removing all fuel stored + + //@} + + + protected : + IsotopicVector GetDecay(IsotopicVector isotopicvector, cSecond t); //!< Get IsotopicVector Decay at the t time + vector<IsotopicVector> fIVArray; ///< Vector containning all the fuel stored. + CLASSBackEnd* fOutBackEndFacility; //!< Facility getting the fuel at the end of the cycle + + //********* Internal Parameter *********// + private : + bool fIsStorageType; //!< True if there is not OutBAckEndFacility (like a storage...) + DecayDataBank* fDecayDataBase; //!< Pointer to the Decay DataBase + + ClassDef(CLASSBackEnd,2); +}; + +#endif + diff --git a/source/branches/CLASSV3/include/CLASSFacility.hxx b/source/branches/CLASSV3/include/CLASSFacility.hxx new file mode 100644 index 000000000..fb2043044 --- /dev/null +++ b/source/branches/CLASSV3/include/CLASSFacility.hxx @@ -0,0 +1,135 @@ + +#ifndef _CLASSFACILITY_HXX +#define _CLASSFACILITY_HXX + + +/*! + \file + \brief Header file for CLASSFacility class. + + */ + +#include <string> +#include <fstream> + +#include "CLASSObject.hxx" +#include "IsotopicVector.hxx" +#include "DecayDataBank.hxx" + +#include "TNamed.h" + +using namespace std; +typedef long long int cSecond; + +class CLASS; +//-----------------------------------------------------------------------------// +/*! + Define a CLASS Facility. + The aim of these class is synthetyse all the commum properties of the nuclear facilities. + + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + + +class CLASSFacility : public CLASSObject +{ +public : + ///< Normal Constructor. + CLASSFacility(); + + //********* Get Method *********// + /*! + \name Get Function + */ + //@{ + + int GetId() const { return fId; } //!< Return the Facility Parc'Is + IsotopicVector GetInsideIV() const { return fInsideIV; } //!< Return the IV contain in the Facility + + int GetFacilityType() const { return fFacilityType; } + + cSecond GetInternalTime() const { return fInternalTime; } //!< Return Creation Time + + cSecond GetCycleTime() const { return fCycleTime; } //!< Return the cycle time of the Facility + cSecond GetCreationTime() const { return fCreationTime; } //!< Return the creation time of the Facility + cSecond GetLifeTime() const { return fLifeTime; } //!< Return the life time of the Facility + CLASS* GetParc() { return fParc; } //!< return the pointer to the Park + + + IsotopicVector GetCumulativeIVIn() { return fCumulativeIVIn;} //!< return the culative sum of all incoming IV + IsotopicVector GetCumulativeIVOut() { return fCumulativeIVOut;} //!< return the culative sum of all outcoming IV + //@} + + //********* Set Method *********// + /*! + \name Set Function + */ + //@{ + void SetId(int id) { fId = id; } //!< Set The Facility Parc'Id + void SetParc(CLASS* parc) { fParc = parc; } //!< Set the Pointer to the Parc + void SetFacilityType(int type) { fFacilityType = type; } //!< Set the facility type : + /// \li 2 reactor Studown + /// \li 4 start/End of reactor cycle, + /// \li 8 end of Cooling, + /// \li 16 fuel Fabrication + + + void SetInsideIV(IsotopicVector isotopicvector) { fInsideIV = isotopicvector; } //!< Set the IV inside the Facility Core + void SetCreationTime(double creationtime) { fCreationTime = (cSecond)creationtime;} //!< Set the creation Time + void SetLifeTime(double lifetime) { fLifeTime = (cSecond)lifetime; } //!< Set the life time of the facility + virtual void SetCycleTime(double cycletime) { fCycleTime = (cSecond)cycletime; } //!< Set the cycle time (Cycle of the loading Plan) + void SetInCycleTime(double incycletime) { fInCycleTime = (cSecond)incycletime; fIsStarted = true; } //!< Set the cycle time (Cycle of the loading Plan) + void SetInternalTime(double internaltime) { fInternalTime = (cSecond)internaltime; } //!< Set the cycle time (Cycle of the loading Plan) + + //@} + + + /*! + \name Evolution Method + */ + //@{ + + void AddCumulativeIVIn(IsotopicVector IV) { fCumulativeIVIn += IV;} //!< Add the Input IsotopicVector the The cumulative IV IN + void AddCumulativeIVOut(IsotopicVector IV) { fCumulativeIVOut += IV;} //!< Add the Input IsotopicVector the The cumulative IV OUT + virtual void Evolution(cSecond t) { } //!< Performe the Evolution to the Time t + virtual void Dump() { } //!< Write Modification (IV In/Out, filling the TF...) + + //@} +protected : + bool fIsStarted; ///< True if Running, False Otherwise + bool fIsShutDown; ///< True if the facility is stoped, False Otherwise + bool fIsAtEndOfCycle; ///< True if Reaching the End of a Facility Cycle + + + cSecond fInternalTime; ///< Internal Clock + cSecond fInCycleTime; ///< Time spend since the beginning of the last Cycle + cSecond fCycleTime; ///< Cycle duration Time + + IsotopicVector fInsideIV; ///< All IV in the Facility (fuel for reactor, total for all others...) + IsotopicVector fCumulativeIVIn; ///< All IV in the Facility (fuel for reactor, total for all others...) + IsotopicVector fCumulativeIVOut; ///< All IV in the Facility (fuel for reactor, total for all others...) + + //********* Internal Parameter *********// +private : + int fId; //!< Identity of the Facility inside the Parc + int fFacilityType; ///< Type of facility : + /// \li 2 reactor Studown + /// \li 4 start/End of reactor cycle, + /// \li 8 end of Cooling, + /// \li 16 fuel Fabrication + + CLASS* fParc; //!< Pointer to the main Parc + + cSecond fCreationTime; ///< CLASS Universal Time of Creation + cSecond fLifeTime; ///< LifeTime Of the Reactor (Operating's Duration) + + ClassDef(CLASSFacility,1); +}; + +#endif + diff --git a/source/branches/CLASSV3/include/CLASSHeaders.hxx b/source/branches/CLASSV3/include/CLASSHeaders.hxx new file mode 100755 index 000000000..4766ce483 --- /dev/null +++ b/source/branches/CLASSV3/include/CLASSHeaders.hxx @@ -0,0 +1,30 @@ +#ifndef _CLASSHEADERS_HXX_ +#define _CLASSHEADERS_HXX_ + + + + +//CLASS library +#include "CLASS.hxx" +#include "CLASSObject.hxx" +#include "CLASSFacility.hxx" +#include "Reactor.hxx" +#include "Pool.hxx" +#include "FabricationPlant.hxx" +#include "PWR_THU_FabricationPlant.hxx" +#include "PWR_THPU_FabricationPlant.hxx" +#include "Storage.hxx" +#include "IsotopicVector.hxx" +#include "ZAI.hxx" +#include "LogFile.hxx" + +#include "EvolutionData.hxx" +#include "DecayDataBank.hxx" +#include "FuelDataBank.hxx" +#include "StringLine.hxx" + +#include "ZAIMass.hxx" + +const ZAIMass cZAIMass; + +#endif diff --git a/source/branches/CLASSV3/include/CLASSObject.hxx b/source/branches/CLASSV3/include/CLASSObject.hxx new file mode 100644 index 000000000..d9ad4f63d --- /dev/null +++ b/source/branches/CLASSV3/include/CLASSObject.hxx @@ -0,0 +1,58 @@ + +#ifndef _CLASSOBJECT_HXX +#define _CLASSOBJECT_HXX + + +/*! + \file + \brief Header file for CLASSObject class. + + + @author BaM + @version 2.0 + */ + +#include <string> +#include <fstream> + +#include "LogFile.hxx" + +#include "TNamed.h" + +using namespace std; + +//-----------------------------------------------------------------------------// +/*! + Define a CLASS Object. + The aim of these class is synthetyse all the commum properties to all CLASS Element. + + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class CLASSObject : public TNamed +{ +public : + ///< Normal Constructor. + CLASSObject(); + virtual CLASSObject* Clone() { return new CLASSObject(*this); } //!< Correct way to copy a CLASSObject in case of derivation + + + void SetLog(LogFile* log) { fLog = log; fIsLog = true; } //!< Set the LogFile + + LogFile* GetLog() { return fLog; } //!< Return the Pointer to the Log + bool IsLog() { return fIsLog; } //!< reutrn true if a LogFile is defined + +private : + LogFile* fLog; //!< Pointer to the Log + bool fIsLog; //!< Set at true if a LogFile are define + + ClassDef(CLASSObject,0); +}; + +#endif + diff --git a/source/branches/CLASSV3/include/DataBank.hxx b/source/branches/CLASSV3/include/DataBank.hxx new file mode 100755 index 000000000..f00f50fe1 --- /dev/null +++ b/source/branches/CLASSV3/include/DataBank.hxx @@ -0,0 +1,364 @@ +#ifndef __DataBank_HXX__ +#define __DataBank_HXX__ + +/*! + \file + \brief Header file for DataBank class. + @version 2.0 + */ + +#include "CLASSObject.hxx" +#include "TMatrix.h" +#include "IsotopicVector.hxx" +#include "DynamicalSystem.hxx" + +#include <map> +#include <vector> + + +using namespace std; +typedef long long int cSecond; + +class ZAI; +class EvolutionData; +class LogFile; + +double ReactionRateWeightedDistance(IsotopicVector IV1, EvolutionData DB ); +double ReactionRateWeightedDistance(EvolutionData DB, IsotopicVector IV1 ); + +//-----------------------------------------------------------------------------// +/*! + Define a DataBank. + The aim of these class is describe the evolution of "all" evoluting system in CLASS. + 2 kind of evoluting system can be defined : + \li the Decay Matrix + \li the fuel + + For the Decay Matrix the Databank take the form of the ZAI template (ie DataBank<ZAI>) which mainly contain a map of <ZAI,EvolutionData>.This map do the correspondance between a ZAI and its decay evolution (containing all the daughter nuclei comming from the decay a the original ZAI). + + For the Fuel the Databank take the form of the IsotopicVector template (ie DataBank<Isotopic>), which mainly contain a map of <IsotopicVector,EvolutionData>. This map do the correspondance between a IsotopicVector and its evolution throw irradiation (containing all the nuclei produced by the reaction on the original IsotopicVector) + + @author BaM + @author Marc + @author PTO for a part the Decay management -- steal from MURE (Even if he does not kown it!! :)) + @version 2.0 + */ +//________________________________________________________________________ + + + +template <class T> +class DataBank : public CLASSObject, DynamicalSystem +{ + +public : + + +//********* Constructor/Desctructor *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + /// Normal Constructor. + DataBank(); + + //{ + /// Special Constructor. + /*! + Use to load a LogFile + \param LogFile LogFile used for the log... + \param DB_index_file path to the index file + \param setlog if the log are stored in the LogFile + \param olfreadmethod true if the old format of EvolutionData are used (ie without the key word such as Inv, XSFiss...) + */ + DataBank(LogFile* Log, string DB_index_file, bool setlog = true, bool olfreadmethod = true ); + //} + + //{ + /// Normal Destructor. + /*! + Delete de DataBank and all associated EvolutionData... + */ + ~DataBank(); + //} + + //{ + /// Reset the DataBank. + /*! + Use to reset the DataBank to its default values whihout deleting the EvolutionData (which contain pointer... ). + it does just clear the different maps + */ + void Clear(); + //} + //@} + + + + +//********* Get Method *********// + /*! + \name Get Method + */ + //@{ + map<T ,EvolutionData > GetDataBank() const { return fDataBank; } //!< Return the DataBank + string GetDataBaseIndex() const { return fDataBaseIndex; } //!< Return the index Name + string GetFuelType() const { return fFuelType; } //!< Return the fuel type of the DB + vector<double> GetFuelParameter() const { return fFuelParameter; } //!< Return the Fuel parameter of the DB + pair<double,double> GetBurnUpRange() const { return fBurnUpRange;} //!< Return the BurnUp range of the DB + bool IsDefine(const T& key) const; //!< True the key is define, false unstead + + map<double, EvolutionData> GetDistancesTo(IsotopicVector isotopicvector, double t = 0) const; //! Return a map containing the distance of each EvolutionData in the DataBase to the set IV at the t time + EvolutionData GetClosest(IsotopicVector isotopicvector, double t = 0) const; //! Return the closest EvolutionData from the DataBank. + + + string GetDataFileName() const { return fDataFileName; } + string GetDataDirectoryName() const { return fDataDirectoryName; } + + double GetShorstestHalflife() const { return fShorstestHalflife; } + + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetDataBank(map<T ,EvolutionData > mymap) { fDataBank = mymap; } //!< Set the Databank map + + void SetDataBaseIndex(string database) { fDataBaseIndex = database;; ReadDataBase(); } //!< Set the Name of the database index + + EvolutionData GenerateEvolutionData(IsotopicVector isotopicvector, double cycletime, double Power); //!< Generation of a New EvolutionData From the one already present + + void SetOldReadMethod(bool val) { fOldReadMethod = val; ReadDataBase();} ///< use the old reading method + + //{ + /// set Fission Energy using a file + /*! + // This method fill the Fission Energy map using a file + // \param FissionEnergyFile: filename containing the Fission Energy of some nuclei (form : Z A I Energy) + */ + void SetFissionEnergy(string FissionEnergyFile); + //} + + //{ + /// set Fission Energy for a ZAI using ZAI(Z,A,I) + /*! + // This method fill the Fission Energy map of a set ZAI + // \param zai ZAI + // \param E Fission energy of the ZAI + */ + void SetFissionEnergy(ZAI zai, double E); + //} + + //{ + /// set Fission Energy for a ZAI using the Z, A, I + /*! + // This method fill the Fission Energy map of a set ZAI + // \param Z Z of the ZAI + // \param A A of the ZAI + // \param I I of the ZAI + // \param E Fission energy of the ZAI + */ + void SetFissionEnergy(int Z, int A, int I, double E ) { SetFissionEnergy(ZAI(Z,A,I), E);} + //} + + void SetDataFileName(string name) { fDataFileName = name;} ///< Set the name of the reaction file + void SetDataDirectoryName(string name) { fDataDirectoryName = name;} ///< Set the Path to the reaction file + void SetShortestHalfLife(double halflife) { fShorstestHalflife = halflife;} ///< Set the Half Life cut + void LoadFPYield(string SponfaneusYield, string ReactionYield); ///< Build Fision Yields maps; + + void SetWeightedDistanceCalculation(bool val = true) { fWeightedDistance = val;} ///< Set weighted Distance calculation + void SetEvolutionDataInterpolation(bool val = true) { fEvolutionDataInterpolation = val;} ///< Set weighted Distance calculation + + void SetDistanceParameter(IsotopicVector DistanceParameter); ///< Define mannually the weight for each ZAI in the distance calculation + + + //{ + /// Define the way to decide if two isotopic vectors are close. + /*! + // The different algorythm are: + // \li 0 is for the standard norme, + // \li 1 for each ZAI weighted with its XS, + // \li 2 for each ZAI weighted with coefficient given by the user. + */ + void SetDistanceType(int DistanceType); + //} + + + + +//********* Evolution Method *********// + + //@} + /*! + \name Evolution Method + */ + //@{ + + + IsotopicVector Evolution(const T &key, double dt); ///< Return the Product IsotopicVector evolution from zai during a dt time + void CalculateDistanceParameter(); ///< Calcul of the weight for each ZAI in the distance calculation from the mean XS of the DataBank + void BuildDecayMatrix(); ///w Build the Decay Matrix for the futur evolution... + + + + +//********* RK4 Method *********// + + //@} + /*! + \name RK4 Method + */ + //@{ + + void UseRK4EvolutionMethod(bool usemethod = true) {fUseRK4EvolutionMethod = usemethod;} + + + using DynamicalSystem::RungeKutta; + //! Pre-treatment Runge-Kutta method. + /*! + // This method does initialisation and then call DynamicalSystem::RungeKutta + // \param t1: initial time + // \param t2: final time + */ + + + void BuildEqns(double t, double *N, double *dNdt); + void SetTheMatrixToZero(); //!< Initialize the evolution Matrix + void ResetTheMatrix(); + void SetTheMatrix(TMatrixT<double> BatemanMatrix); //!< Set the Evolution Matrix (Bateman equations) + TMatrixT<double> GetTheMatrix(); //!< return the Evolution Matrix (Bateman equations) + + void SetTheNucleiVectorToZero(); //!< Initialize the evolution Matrix + void ResetTheNucleiVector(); + void SetTheNucleiVector(TMatrixT<double> NEvolutionMatrix); //!< Set the Evolution Matrix (Bateman equations) + TMatrixT<double> GetTheNucleiVector(); //!< return the Evolution Matrix (Bateman equations) + //@} + + + + +//********* Other Method *********// + /*! + \name Other Method + */ + //@{ + void ReadDataBase(); ///< read the index file and fill the evolutionData map + + void Print() const; + + //@} + + + + + +protected : + + double fShorstestHalflife; + int fZAIThreshold; //!< Highest Mass deal bye the evolution (default 90) + + string fDataFileName; ///< Name of the decay list + string fDataDirectoryName; ///< Path to the decay list file + + map<T, EvolutionData> fDataBank; ///< DataBanck map + map<T, EvolutionData> fDataBankCalculated; ///< Map of the already calculated EvolutionData (to avoid recalculation...) + + string fDataBaseIndex; ///< Name of the index + + bool fUseRK4EvolutionMethod; ///< if true use RK4 calculation, mtriciel unstead + bool fOldReadMethod; ///< use old DB format + bool fWeightedDistance; ///< USe XS weighted distance calculation + bool fEvolutionDataInterpolation; ///< USe XS weighted distance calculation + + + string fFuelType; ///< Type of fuel of the DataBank + pair<double,double> fBurnUpRange; ///< Range of the Burn-up range of the DataBank + vector<double> fFuelParameter; ///< Parameter needed by the equivalence model + + + + int fDistanceType; ///< Set the distance calculation algorytm + /// \li 0 is for the standard norm (Default = 0), + /// \li 1 for each ZAI weighted with its XS, + /// \li 2 for each ZAI weighted with coefficient given by the user. + + IsotopicVector fDistanceParameter; ///< weight for each ZAI in the distance calculation + + TMatrixT<double> fDecayMatrix; ///< Matrix with half life of each nuclei + map<ZAI, double > fFissionEnergy; ///< Store the Energy per fission use for the flux normalisation. + map<ZAI, map<ZAI, double> > fFastDecay; ///< Store the cut decay + map<ZAI, IsotopicVector> fSpontaneusYield; ///< Store the Spontaneus fission yield + map<ZAI, IsotopicVector> fReactionYield; ///< Store the reaction fission yield + + + double *fTheNucleiVector; //!< The evolving atoms copied from Material proportions. + double **fTheMatrix; //!< The evolution Matrix + int fNVar; //!< The size of the composition vector and /or number of ZAIs involved. + + double fPrecision; //!< Precision of the RungeKutta + double fHestimate; //!< RK Step estimation. + double fHmin; //!< RK minimum Step. + double fMaxHdid; //!< store the effective RK max step + double fMinHdid; //!< store the effective RK min step + bool fIsNegativeValueAllowed; //!< whether or not negative value are physical. + + map<ZAI, int> findex_inver; ///< correspondance matrix from ZAI to the column (or line) of the different Reaction/Decay matrix + map<int, ZAI> findex; ///< correspondance matrix from the column (or line) of the different Reaction/Decay matrix to the ZAI + + //{ + /// Return the Fission XS Matrix at the time TStep + /*! + // This Method extract the Fission Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> GetFissionXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + //{ + /// Return the Capture XS Matrix at the time TStep + /*! + // This Method extract the capture Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> GetCaptureXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + //{ + /// Return the n2n XS Matrix at the time TStep + /*! + // This Method extract the (n,2n) Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> Getn2nXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + + //{ + //! Returns a particular decay mode. + /*! + \param DecayModes : a list of decay modes with their branching ratios and isomeric state of the Daughters. + \param BR : branching ratio of the current decay mode + \param Iso : isomeric state of the Daughter of the current decay mode. + \param StartPos : the current decay mode to extract. + */ + string GetDecay(string DecayModes, double &BR,int &Iso, int &StartPos); + //} + + map< ZAI,IsotopicVector > ReadFPYield(string Yield); ///< Read a CLASSYield file and return the correpsponding map + + +}; + + + +#endif diff --git a/source/branches/CLASSV3/include/DecayDataBank.hxx b/source/branches/CLASSV3/include/DecayDataBank.hxx new file mode 100644 index 000000000..ed4cbe22c --- /dev/null +++ b/source/branches/CLASSV3/include/DecayDataBank.hxx @@ -0,0 +1,179 @@ +#ifndef __DecayDataBank_HXX__ +#define __DecayDataBank_HXX__ + +/*! + \file + \brief Header file for DecayDataBank class. + @version 2.0 + */ + +#include "CLASSObject.hxx" +#include "TMatrix.h" +#include "EvolutionData.hxx" +#include "IsotopicVector.hxx" +#include "DynamicalSystem.hxx" + +#include <map> +#include <vector> + + +using namespace std; +typedef long long int cSecond; + +class ZAI; +class LogFile; + +double ReactionRateWeightedDistance(IsotopicVector IV1, EvolutionData DB ); +double ReactionRateWeightedDistance(EvolutionData DB, IsotopicVector IV1 ); + +//-----------------------------------------------------------------------------// +/*! + Define a DecayDataBank. + The aim of these class is describe the evolution of "all" evoluting system in CLASS. + + For the Decay Matrix the DecayDataBank iq mainly contain a map of <ZAI,EvolutionData>.This map do the correspondance between a ZAI and its decay evolution (containing all the daughter nuclei comming from the decay a the original ZAI). + + @author BaM + @author Marc + @author PTO for a part the Decay management -- steal from MURE (Even if he does not kown it!! :)) + @version 2.0 + */ +//________________________________________________________________________ + + + +class DecayDataBank : public CLASSObject +{ + + public : + + + //********* Constructor/Desctructor *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + /// Normal Constructor. + DecayDataBank(); + + //{ + /// Special Constructor. + /*! + Use to load a LogFile + \param LogFile LogFile used for the log... + \param DB_index_file path to the index file + \param setlog if the log are stored in the LogFile + \param olfreadmethod true if the old format of EvolutionData are used (ie without the key word such as Inv, XSFiss...) + */ + DecayDataBank(LogFile* Log, string DB_index_file, bool setlog = true, bool olfreadmethod = true ); + //} + + //{ + /// Normal Destructor. + /*! + Delete de DecayDataBank and all associated EvolutionData... + */ + ~DecayDataBank(); + //} + + //{ + /// Reset the DecayDataBank. + /*! + Use to reset the DecayDataBank to its default values whihout deleting the EvolutionData (which contain pointer... ). + it does just clear the different maps + */ + void Clear(); + //} + //@} + + + + + //********* Get Method *********// + /*! + \name Get Method + */ + //@{ + map<ZAI ,EvolutionData > GetDecayDataBank() const { return fDecayDataBank; } //!< Return the DecayDataBank + string GetDataBaseIndex() const { return fDataBaseIndex; } //!< Return the index Name + bool IsDefine(const ZAI& zai) const; //!< True the key is define, false unstead + + string GetDataFileName() const { return fDataFileName; } + string GetDataDirectoryName() const { return fDataDirectoryName; } + + double GetShorstestHalflife() const { return fShorstestHalflife; } + + //@} + + + + + //********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetDecayDataBank(map<ZAI ,EvolutionData > mymap) { fDecayDataBank = mymap; } //!< Set the DecayDataBank map + + void SetDataBaseIndex(string database) { fDataBaseIndex = database;; ReadDataBase(); } //!< Set the Name of the database index + + void SetOldReadMethod(bool val) { fOldReadMethod = val; ReadDataBase();} ///< use the old reading method + + //} + + + + + //********* Evolution Method *********// + + //@} + /*! + \name Evolution Method + */ + //@{ + + + IsotopicVector Evolution(const ZAI& zai, double dt); ///< Return the Product IsotopicVector evolution from zai during a dt time + + //@} + + + + + //********* Other Method *********// + /*! + \name Other Method + */ + //@{ + void ReadDataBase(); ///< read the index file and fill the evolutionData map + + void Print() const; + + //@} + + + + + + protected : + + double fShorstestHalflife; + int fZAIThreshold; //!< Highest Mass deal bye the evolution (default 90) + + string fDataFileName; ///< Name of the decay list + string fDataDirectoryName; ///< Path to the decay list file + + map<ZAI, EvolutionData> fDecayDataBank; ///< DataBanck map + + string fDataBaseIndex; ///< Name of the index + + bool fOldReadMethod; ///< use old DB format + +}; + + + +#endif diff --git a/source/branches/CLASSV3/include/DynamicalSystem.hxx b/source/branches/CLASSV3/include/DynamicalSystem.hxx new file mode 100755 index 000000000..66880571e --- /dev/null +++ b/source/branches/CLASSV3/include/DynamicalSystem.hxx @@ -0,0 +1,127 @@ +#ifndef _DynamicalSystem_ +#define _DynamicalSystem_ +/*! + \file + \brief Header file for DynamicalSystem class. +*/ + +#include <math.h> +#include <vector> + + +using namespace std; + +//-----------------------------------------------------------------------------// + + + +//! DynamicalSystem class solves system of differential equations. +/*! +// A DynamicalSystem is a base class thatsolves system of 1st order of differential equations. +// \f[ \frac{d\vec{Y}}{dt}=A\vec{Y}\f] +// The differential equations are built in DynamicalSystem::BuildEqns ; the method MUST be +// defined in the derived classes. +// In this first version only Runge-Kutta method is implemented, but the aim of this class +// is to provide also other methods such as CRAM (Chebyshev rational approximation method). +// +// +// @author PTO. +// @version 1.0 +*/ +//________________________________________________________________________ + +class DynamicalSystem +{ + public : + + DynamicalSystem(); //!< Normal Constructor + DynamicalSystem(const DynamicalSystem & DS); //!< Copy Constructor + virtual ~DynamicalSystem(); //!< Destructor + + /*! + \name Mains attributes of the DynamicalSystem + */ + //@{ + int GetNumberOfEquationSize(){return fNVar;} //!< return the number of equations. + void SetNumberOfEquationSize(int n){fNVar=n;} //!< set the number of equations. + //@} + + /*! + \name Runge-Kutta related methods + Algorithms are taken from Numerical Receipes. + */ + //@{ + + void SetPrecision(double eps=1e-5){fPrecision=eps;} //!< set RK precision to change the integration step + + //! Forbid negative value during integration. + /*! + For some quantities (such as nuclei composition), negative values are forbidden. + But, due to integration step and very fast variation of the integrated variables + Runge-Kutta wil produce very small negative value. This method is used to force + negative value to be zero. + */ + void SetForbidNegativeValue(){fIsNegativeValueAllowed=false;} + + //! Runge Kutta calling method. + /*! + // \param YStart: input : the initial condition Y(t1) ; output the final value Y(t2) + // \param t1: initial time + // \param t2: final time + */ + void RungeKutta(double *YStart, double t1, double t2, int EquationNumber); + + //! Builds the equations for integration. + /*! + This method is an abstract method ; it MUST be overwritten by derived classes. + // \param t: time at which the equations are built + // \param Y: array of variable at time t + // \param dYdt: ode's variable. + */ + virtual void BuildEqns(double t, double *Y, double *dYdt){} + + //@} + + /*! + \name Miscellaneous methods + */ + //@{ + + //@} + + protected : + //! Runge Kutta main method. + /*! + // Call by RungeKutta + // \param y: initial values to integrate + // \param dydx: ode's equations (variable is x) + // \param x: variable of integration + // \param h: step size for integration + // \param yout: result after integration + */ + void RK4(double *y, double *dydx, double x, double h, double *yout); + //! Adaptative Step Size method for RK. + /*! + // Call by RK4 + // \param y: initial values to integrate + // \param dydx: ode's equations (variable is x) + // \param x: new value of the variable after the adaptative step + // \param htry: try step size for integration + // \param eps: precision + // \param yscal: result after hdid step integration + // \param hdid: did step size for integration + // \param hnext: next step size for integration + */ + void AdaptStepSize(double *y, double *dydx, double *x, double htry, double eps, double *yscal, double *hdid, double *hnext); + + int fNVar; //!< The size of the composition vector and /or number of ZAIs involved. + double fPrecision; //!< Precision of the RungeKutta + double fHestimate; //!< RK Step estimation. + double fHmin; //!< RK minimum Step. + double fMaxHdid; //!< store the effective RK max step + double fMinHdid; //!< store the effective RK min step + bool fIsNegativeValueAllowed; //!< whether or not negative value are physical. +}; + +#endif + diff --git a/source/branches/CLASSV3/include/EvolutionData.hxx b/source/branches/CLASSV3/include/EvolutionData.hxx new file mode 100755 index 000000000..dd3d15f12 --- /dev/null +++ b/source/branches/CLASSV3/include/EvolutionData.hxx @@ -0,0 +1,249 @@ +#ifndef __EvolutionData_HXX__ +#define __EvolutionData_HXX__ + +/*! + \file + \brief Header file for EvolutionData class. + @version 2.0 + */ + +#include <string> +#include <map> + +#include "IsotopicVector.hxx" +#include "CLASSObject.hxx" +#include "ZAI.hxx" + +#include "TMatrix.h" + +class TGraph; +class EvolutionData; +class LogFile; + +using namespace std; +typedef long long int cSecond; + + +EvolutionData operator*(EvolutionData const& evol, double F); +EvolutionData operator*(double F, EvolutionData const& evol); +EvolutionData operator/(EvolutionData const& evol, double F); +EvolutionData Sum(EvolutionData const& evol1, EvolutionData const& evol2); +EvolutionData Multiply(EvolutionData const& evol, double F); +EvolutionData Multiply(double F, EvolutionData const& evol); + +double Distance(IsotopicVector IV1, EvolutionData Evd1 ); +double Distance(EvolutionData Evd1, IsotopicVector IV1 ); + +//-----------------------------------------------------------------------------// +/*! + Define a EvolutionData. + The aim of these class is describe the evolution of a single evoluting system in CLASS. + The system can either be a fuel evolution trough irradiation or a nuclei which produce, trough his decay, a large nuclei tree. + + The nuclei tree resulting of the evolution are stored in a map of ZAI and TGraph, each TGraph correspond to the evolution of the quantity of the associeted ZAI. + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class EvolutionData : public CLASSObject +{ + +public : + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + EvolutionData(); ///< Normal DB Constructor. + + + //{ + /// LogFile Constructor. + /*! + Use create an empty EvolutionData loading a LogFile + \param LogFile LogFile used for the log... + */ + EvolutionData(LogFile* Log); ///< Make a new Evolutive Product evolution + //} + + //{ + /// Special Constructor. + /*! + Make a new EvolutionData + \param Log LogFile used for the log... + \param DB_file path to the DataBase file + \param oldread true if the oldmethod should be use to read the DatBase File + \param zai set the ZAI if you want to add a stable nuclei. + */ + EvolutionData(LogFile* Log, string DB_file, bool oldread = true, ZAI zai = ZAI(0,0,0) ); + //} + + + //{ + /// Normal Destructor. + /*! + Only remove the map without deleting the pointer to TGraph... + One need to call the DeleteEvolutionData() method to fully delete the EvolutionData, and then avoiding memory leak... + */ + ~EvolutionData(); + //} + + //{ + /// Delete the EvolutionData. + /*! + Use to fully delete the EvolutionData and all associeted TGraph. + In some case needed to be called to avoid memory leak. + */ + void DeleteEvolutionData(); + //} + + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetReactorType(string reactortype) { fReactorType = reactortype; } ///< Set the reactor Type (string) + void SetFuelType(string fueltype) { fFuelType = fueltype; } ///< Set the fuel Type (string) + void SetPower(double power) { fPower = power; } ///< Set the power of the EvolutionData (double) + void SetFlux(TGraph* flux ) { fFlux = flux; } ///< Set the neutron flux of the EvolutionData (double) + void SetCycleTime(cSecond cycletime) { fCycleTime = cycletime; } ///< Set cycletime of the EvolutionData (double) + + + void SetEvolutionData(map<ZAI, TGraph*> maptoinsert) { fEvolutionData = maptoinsert;}///< Set EvolutionData map + void SetFissionXS(map<ZAI, TGraph*> maptoinsert) { fFissionXS = maptoinsert;} ///< Set fission cross section map + void SetCaptureXS(map<ZAI, TGraph*> maptoinsert) { fCaptureXS = maptoinsert;} ///< Set capture cross section map + void Setn2nXS(map<ZAI, TGraph*> maptoinsert) { fn2nXS = maptoinsert;} ///< Set (n,2n) cross section map + + //@} + + + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + +#ifndef __CINT__ + map<ZAI ,TGraph* > GetEvolutionData() const { return fEvolutionData; } //!< return the EvolutionData map + map<ZAI ,TGraph* > GetFissionXS() const { return fFissionXS; } //!< return the fission cross section map + map<ZAI ,TGraph* > GetCaptureXS() const { return fCaptureXS; } //!< return the capture cross section map + map<ZAI ,TGraph* > Getn2nXS() const { return fn2nXS; } //!< return the (n,2n) cross section map + TGraph* GetKeff() const { return fKeff; } //!< return the evolution of the keff (TGraph*) + TGraph* GetFlux() const { return fFlux; } //!< return the evolution of the neutron flux (TGraph*) +#endif + + double GetFinalTime() const { return fFinalTime; } //!< return the final time - last point (double) + double GetCycleTime() const { return fCycleTime; } //!< return the cycletime (double) + double GetPower() const { return fPower; } //!< return the power (double) + string GetDB_file() const { return fDB_file; } //!< return the name of the Database file (string) + string GetReactorType() const { return fReactorType; } //!< return the type of reactor (string) + TGraph* GetEvolutionTGraph(const ZAI& zai); //!< return the evolution of the ZAI quantity (TGraph*) + + IsotopicVector GetIsotopicVectorAt(double t); ///< Return the Product IsotopicVector at t time + + + + //{ + /// Return the XS for a reactionId on zai at t time + /*! + // This method cross section of a reaction for a ZAI at a time + // \param t time + // \param ZAI ZAI for which the cross section if asked + // \param ReactionId ID of the reaction asked + + // The different reaction ID are : + \li 1 fission, + \li 2 capture, + \li 3 (n,2n). + */ + double GetXSForAt(double t, ZAI zai, int ReactionId); + //} + + //@} + + + + +//********* Insertion Method *********// + + //@} + /*! + \name Insertion Method + */ + //@{ + + bool NucleiInsert(pair<ZAI, TGraph*> zaitoinsert); //!< Add a nuclei evolution to the evolution map + bool FissionXSInsert(pair<ZAI, TGraph*> zaitoinsert); //!< Add a nuclei to the fission cross section map + bool CaptureXSInsert(pair<ZAI, TGraph*> zaitoinsert); //!< Add a nuclei to the capture cross section map + bool n2nXSInsert(pair<ZAI, TGraph*> zaitoinsert); //!< Add a nuclei to the (n,2n) cross section map + + + //@} + + + +protected : + + string fDB_file; ///!< path to the DataBase file + + +#ifndef __CINT__ + map<ZAI ,TGraph* > fEvolutionData; //!< evolution map + map<ZAI ,TGraph* > fFissionXS; //!< fission cross section map + map<ZAI ,TGraph* > fCaptureXS; //!< capture cross section map + map<ZAI ,TGraph* > fn2nXS; //!< (n,2n) cross section map + TGraph* fKeff; //!< Keff evolution + TGraph* fFlux; //!< Flux evolution +#endif + + cSecond fFinalTime; ///< time of the last point + bool fIsCrossSection; ///< true if some cross section are present in the database + + + + string fReactorType; ///< Type of reactor + string fFuelType; ///< Type of fuel + double fPower; ///< Power in W + double fCycleTime; ///< Cycle time of the DataBase + double fNormFactor; ///< Normalisation factor needed to represent to full core (unsless) + + + void OldReadDB(string DBfile); //!< Read old format database + void ReadDB(string DBfile, bool oldread = false); //!< Main function to read database + void ReadKeff(string line, double* time, int NTimeStep); //!< Read the Keff in the database + void ReadFlux(string line, double* time, int NTimeStep); //!< Read the Flux in the database + void ReadInv(string line, double* time, int NTimeStep); //!< Read the Inventory evolution in the database + void ReadXSFis(string line, double* time, int NTimeStep); //!< Read the fission cross section evolution in the database + void ReadXSCap(string line, double* time, int NTimeStep); //!< Read the capture cross evolution in the database + void ReadXSn2n(string line, double* time, int NTimeStep); //!< Read the (n,2n) cross evolution in the database + void ReadInfo(); //!< Read the info file of the database + + + double Interpolate(double t, TGraph& EvolutionGraph); ///< Interpolating the value of EvolutionGraph at the t time + + void AddAsStable(ZAI zai); ///< USe when adding a EvolutionData of a stable nuclei (for "non" decay) + + ClassDef(EvolutionData,0); +}; + + + + +#endif diff --git a/source/branches/CLASSV3/include/FabricationPlant.hxx b/source/branches/CLASSV3/include/FabricationPlant.hxx new file mode 100644 index 000000000..5373ef8ab --- /dev/null +++ b/source/branches/CLASSV3/include/FabricationPlant.hxx @@ -0,0 +1,196 @@ +#ifndef __FabricationPlant_HXX__ +#define __FabricationPlant_HXX__ + +/*! + \file + \brief Header file for FabricationPlant class. + @version 2.0 + */ + + + +#include <vector> +#include <map> + +#include "CLASSFacility.hxx" +#include "IsotopicVector.hxx" +#include "EvolutionData.hxx" +#include "CLASS.hxx" +#include "Storage.hxx" +#include "Reactor.hxx" +#include "LogFile.hxx" +#include "ZAI.hxx" + +using namespace std; +typedef long long int cSecond; + +//-----------------------------------------------------------------------------// +/*! + Define a FabricationPLant. + The aim of these class is describe the deal all the reprocessed fuel. + It includes the fabrication of the fuel from a stock of used fuel, using the aproprieted algrorythm, and the storage of this fuel before putting it into a reactor. + The parameter used for the fuel fabrication are recover from the DataBank. + The Databank MUST include an equivalence model to build the fuel. This model is not necessary provided, each user need to put his own. By default a equivalence model is provided for PWR MOX fuel. + + The FabricationPlant once the fuel is builded, also store the corresponding EvolutionData generated using the DataBank. + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + +class DecayDataBank; +class FuelDataBank; + + +class FabricationPlant : public CLASSFacility +{ + +public : + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + FabricationPlant(); ///< Normal constructor + + + //{ + /// LogFile Constructor. + /*! + Use create an empty FabricationPlant loading a LogFile + \param LogFile LogFile used for the log... + */ + FabricationPlant(LogFile* log); + //} + + + //{ + /// Special Constructor. + /*! + Make a new FabricationPlant evolution + \param LogFile LogFile used for the log... + \param storage storage used to build the reprocessed fuel + \param reusable storage used to store all separated material not used in the fabrication process + \param fabricationtime duration of the fabrication process (2 years by default). + */ + FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabricationtime = 365.25*24*3600*2); + //} + + ~FabricationPlant(); ///< Normal Destructor. + + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetDecayDataBank(DecayDataBank* decayDB) {fDecayDataBase = decayDB;} //! Set the Decay DataBank + + void SetUpdateReferenceDBatEachStep(bool val){ fUpdateReferenceDBatEachStep = val;} //!< Set fUpdateReferenceDBatEachStep variable + void SetStorage(Storage* storage) { fStorage = storage; } //!< Set the Pointer to the Storage + + void SetChronologicalTimePriority(bool bval = true) { fChronologicalTimePriority = bval;} //!< Set the chronological priority (true for chronological, false unstead) + + void SetSubstitutionFuel(EvolutionData fuel); //!< To use a subtition fuel if the fabrication fail (not enough material in stock) + + void AddReactor(int reactorid, double creationtime) + { fReactorNextStep.insert( pair<int,cSecond> (reactorid, (cSecond)creationtime-GetCycleTime() ) ); } //!< Add a new reactor + //@} + + + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + + Storage* GetStorage() { return fStorage; } //!< Return the Pointer to the Storage + + map<int, IsotopicVector > GetReactorFuturIncome() const + { return fReactorFuturIV;} //!< Return the List of the Futur Fuel IV + + IsotopicVector GetFullFabrication(); //!< Return the Sum of all Fuel waiting to be put in a reator + + EvolutionData GetReactorEvolutionDB(int ReactorId); //!< Return the EvolutionData of Reactor ReactorId + IsotopicVector GetDecay(IsotopicVector isotopicvector, cSecond t); //!< Get IsotopicVector Decay at the t time + + //@} + + + + + +//********* Fabrication & Evolution Method *********// + + /*! + \name Fabrication & Evolution Method + */ + //@{ + + void AddValorisableIV(ZAI zai, double factor); ///< Add Valorisable Element + void Evolution(cSecond t); //!< Perform the Evolution + virtual void BuildFuelForReactor(int ReactorId); //!< Build a Fuel for the reactor ReactorId + void RecycleStock(double fraction); //!< Take a franction of the current stock + IsotopicVector GetStockToRecycle(); //!< Get the next stock to recycle + void DumpStock(); //!< Update the Stock status after building process + EvolutionData BuildEvolutiveDB(int ReactorId, IsotopicVector isotopicvector); + //!< Build the Evolution Database for the Reactir ReactorId Fuel + void TakeReactorFuel(int ReactorId) ; //!< Remove the Fuel of reactor ReactorId + + //@} + + + + +protected : + bool fUpdateReferenceDBatEachStep; ///< Set to true if the Reference Evolution Product must be updated at each calculation step (in the DataBank calculation) + +//********* Internal Parameter *********// + map<ZAI ,double> fValorisableIV; ///< The Valorisable Table + map<int, cSecond > fReactorNextStep; ///< Next Time Step to Build a New Fuel + + map< int,EvolutionData > fReactorFuturDB; ///< List of the Futur EvolutionData use in the reactor + map< int,IsotopicVector > fReactorFuturIV; ///< List of the Futur Fuel Isotopic Vector used in the reactor + + Storage* fStorage; //!< Pointer to the Storage to recycle + Storage* fReUsable; //!< Pointer to the Storage using for recycling unused Product + + vector< pair<int, double> > fFractionToTake; //!< The Temporary Storage IsotopicVector + + bool fChronologicalTimePriority; //!< Set the Chronological Priotity (for the Stock Management) or the anti-chronological one + + bool fSubstitutionFuel; //!< true if a subtitution fuel as been set + EvolutionData fSubstitutionEvolutionData; //!< EvolutionData of the subtitution fuel + + DecayDataBank* fDecayDataBase; //!< Pointer to the Decay DataBase + +//********* Private Method *********// + void FabricationPlantEvolution(cSecond t); //!< Deal the FabricationPlant Evolution + + //{ + /// Separation Method + /*! + Make the Separation + \li IV[0] -> To Keep + \li IV[1] -> To Waste + */ + pair<IsotopicVector, IsotopicVector> Separation(IsotopicVector isotopicvector); + //} + ClassDef(FabricationPlant,3); + +}; + +#endif diff --git a/source/branches/CLASSV3/include/FuelDataBank.hxx b/source/branches/CLASSV3/include/FuelDataBank.hxx new file mode 100644 index 000000000..e3e3134be --- /dev/null +++ b/source/branches/CLASSV3/include/FuelDataBank.hxx @@ -0,0 +1,361 @@ +#ifndef __FuelDataBank_HXX__ +#define __FuelDataBank_HXX__ + +/*! + \file + \brief Header file for FuelDataBank class. + @version 2.0 + */ + +#include "CLASSObject.hxx" +#include "TMatrix.h" +#include "IsotopicVector.hxx" +#include "DynamicalSystem.hxx" +#include "EvolutionData.hxx" + +#include <map> +#include <vector> + + +using namespace std; +typedef long long int cSecond; + +class ZAI; +class LogFile; + +double ReactionRateWeightedDistance(IsotopicVector IV1, EvolutionData DB ); +double ReactionRateWeightedDistance(EvolutionData DB, IsotopicVector IV1 ); + +//-----------------------------------------------------------------------------// +/*! + Define a FuelDataBank. + The aim of these class is describe the evolution of fuel evolution in CLASS. + + \li the fuel + + + For the Fuel the FuelDataBank take the form of the IsotopicVector template which mainly contain a map of <IsotopicVector,EvolutionData>. This map do the correspondance between a IsotopicVector and its evolution throw irradiation (containing all the nuclei produced by the reaction on the original IsotopicVector) + + @author BaM + @author Marc + @author PTO for a part the Decay management -- steal from MURE (Even if he does not kown it!! :)) + @version 2.0 + */ +//________________________________________________________________________ + + + +class FuelDataBank : public CLASSObject, DynamicalSystem +{ + + public : + + + //********* Constructor/Desctructor *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + /// Normal Constructor. + FuelDataBank(); + + //{ + /// Special Constructor. + /*! + Use to load a LogFile + \param LogFile LogFile used for the log... + \param DB_index_file path to the index file + \param setlog if the log are stored in the LogFile + \param olfreadmethod true if the old format of EvolutionData are used (ie without the key word such as Inv, XSFiss...) + */ + FuelDataBank(LogFile* Log, string DB_index_file, bool setlog = true, bool olfreadmethod = true ); + //} + + //{ + /// Normal Destructor. + /*! + Delete de FuelDataBank and all associated EvolutionData... + */ + ~FuelDataBank(); + //} + + //{ + /// Reset the FuelDataBank. + /*! + Use to reset the FuelDataBank to its default values whihout deleting the EvolutionData (which contain pointer... ). + it does just clear the different maps + */ + void Clear(); + //} + //@} + + + + + //********* Get Method *********// + /*! + \name Get Method + */ + //@{ + map<IsotopicVector ,EvolutionData > GetFuelDataBank() const { return fFuelDataBank; } //!< Return the FuelDataBank + string GetDataBaseIndex() const { return fDataBaseIndex; } //!< Return the index Name + string GetFuelType() const { return fFuelType; } //!< Return the fuel type of the DB + vector<double> GetFuelParameter() const { return fFuelParameter; } //!< Return the Fuel parameter of the DB + pair<double,double> GetBurnUpRange() const { return fBurnUpRange;} //!< Return the BurnUp range of the DB + bool IsDefine(IsotopicVector IV) const; //!< True the key is define, false unstead + + map<double, EvolutionData> GetDistancesTo(IsotopicVector isotopicvector, double t = 0) const; //! Return a map containing the distance of each EvolutionData in the DataBase to the set IV at the t time + EvolutionData GetClosest(IsotopicVector isotopicvector, double t = 0) const; //! Return the closest EvolutionData from the FuelDataBank. + + + string GetDataFileName() const { return fDataFileName; } + string GetDataDirectoryName() const { return fDataDirectoryName; } + + double GetShorstestHalflife() const { return fShorstestHalflife; } + + //@} + + + + + //********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetFuelDataBank(map< IsotopicVector ,EvolutionData > mymap) { fFuelDataBank = mymap; } //!< Set the FuelDataBank map + + void SetDataBaseIndex(string database) { fDataBaseIndex = database;; ReadDataBase(); } //!< Set the Name of the database index + + EvolutionData GenerateEvolutionData(IsotopicVector isotopicvector, double cycletime, double Power); //!< Generation of a New EvolutionData From the one already present + + void SetOldReadMethod(bool val) { fOldReadMethod = val; ReadDataBase();} ///< use the old reading method + + //{ + /// set Fission Energy using a file + /*! + // This method fill the Fission Energy map using a file + // \param FissionEnergyFile: filename containing the Fission Energy of some nuclei (form : Z A I Energy) + */ + void SetFissionEnergy(string FissionEnergyFile); + //} + + //{ + /// set Fission Energy for a ZAI using ZAI(Z,A,I) + /*! + // This method fill the Fission Energy map of a set ZAI + // \param zai ZAI + // \param E Fission energy of the ZAI + */ + void SetFissionEnergy(ZAI zai, double E); + //} + + //{ + /// set Fission Energy for a ZAI using the Z, A, I + /*! + // This method fill the Fission Energy map of a set ZAI + // \param Z Z of the ZAI + // \param A A of the ZAI + // \param I I of the ZAI + // \param E Fission energy of the ZAI + */ + void SetFissionEnergy(int Z, int A, int I, double E ) { SetFissionEnergy(ZAI(Z,A,I), E);} + //} + + void SetDataFileName(string name) { fDataFileName = name;} ///< Set the name of the reaction file + void SetDataDirectoryName(string name) { fDataDirectoryName = name;} ///< Set the Path to the reaction file + void SetShortestHalfLife(double halflife) { fShorstestHalflife = halflife;} ///< Set the Half Life cut + void LoadFPYield(string SponfaneusYield, string ReactionYield); ///< Build Fision Yields maps; + + void SetWeightedDistanceCalculation(bool val = true) { fWeightedDistance = val;} ///< Set weighted Distance calculation + void SetEvolutionDataInterpolation(bool val = true) { fEvolutionDataInterpolation = val;} ///< Set weighted Distance calculation + + void SetDistanceParameter(IsotopicVector DistanceParameter); ///< Define mannually the weight for each ZAI in the distance calculation + + + //{ + /// Define the way to decide if two isotopic vectors are close. + /*! + // The different algorythm are: + // \li 0 is for the standard norme, + // \li 1 for each ZAI weighted with its XS, + // \li 2 for each ZAI weighted with coefficient given by the user. + */ + void SetDistanceType(int DistanceType); + //} + + + + + //********* Evolution Method *********// + + //@} + /*! + \name Evolution Method + */ + //@{ + + + IsotopicVector Evolution(IsotopicVector IV, double dt); ///< Return the Product IsotopicVector evolution from zai during a dt time + void CalculateDistanceParameter(); ///< Calcul of the weight for each ZAI in the distance calculation from the mean XS of the FuelDataBank + void BuildDecayMatrix(); ///w Build the Decay Matrix for the futur evolution... + + + + + //********* RK4 Method *********// + + //@} + /*! + \name RK4 Method + */ + //@{ + + void UseRK4EvolutionMethod(bool usemethod = true) {fUseRK4EvolutionMethod = usemethod;} + + + using DynamicalSystem::RungeKutta; + //! Pre-treatment Runge-Kutta method. + /*! + // This method does initialisation and then call DynamicalSystem::RungeKutta + // \param t1: initial time + // \param t2: final time + */ + + + void BuildEqns(double t, double *N, double *dNdt); + void SetTheMatrixToZero(); //!< Initialize the evolution Matrix + void ResetTheMatrix(); + void SetTheMatrix(TMatrixT<double> BatemanMatrix); //!< Set the Evolution Matrix (Bateman equations) + TMatrixT<double> GetTheMatrix(); //!< return the Evolution Matrix (Bateman equations) + + void SetTheNucleiVectorToZero(); //!< Initialize the evolution Matrix + void ResetTheNucleiVector(); + void SetTheNucleiVector(TMatrixT<double> NEvolutionMatrix); //!< Set the Evolution Matrix (Bateman equations) + TMatrixT<double> GetTheNucleiVector(); //!< return the Evolution Matrix (Bateman equations) + //@} + + + + + //********* Other Method *********// + /*! + \name Other Method + */ + //@{ + void ReadDataBase(); ///< read the index file and fill the evolutionData map + + void Print() const; + + //@} + + + + + + protected : + + double fShorstestHalflife; + int fZAIThreshold; //!< Highest Mass deal bye the evolution (default 90) + + string fDataFileName; ///< Name of the decay list + string fDataDirectoryName; ///< Path to the decay list file + + map<IsotopicVector, EvolutionData> fFuelDataBank; ///< DataBanck map + map<IsotopicVector, EvolutionData> fFuelDataBankCalculated; ///< Map of the already calculated EvolutionData (to avoid recalculation...) + + string fDataBaseIndex; ///< Name of the index + + bool fUseRK4EvolutionMethod; ///< if true use RK4 calculation, mtriciel unstead + bool fOldReadMethod; ///< use old DB format + bool fWeightedDistance; ///< USe XS weighted distance calculation + bool fEvolutionDataInterpolation; ///< USe XS weighted distance calculation + + + string fFuelType; ///< Type of fuel of the FuelDataBank + pair<double,double> fBurnUpRange; ///< Range of the Burn-up range of the FuelDataBank + vector<double> fFuelParameter; ///< Parameter needed by the equivalence model + + + + int fDistanceType; ///< Set the distance calculation algorytm + /// \li 0 is for the standard norm (Default = 0), + /// \li 1 for each ZAI weighted with its XS, + /// \li 2 for each ZAI weighted with coefficient given by the user. + + IsotopicVector fDistanceParameter; ///< weight for each ZAI in the distance calculation + + TMatrixT<double> fDecayMatrix; ///< Matrix with half life of each nuclei + map<ZAI, double > fFissionEnergy; ///< Store the Energy per fission use for the flux normalisation. + map<ZAI, map<ZAI, double> > fFastDecay; ///< Store the cut decay + map<ZAI, IsotopicVector> fSpontaneusYield; ///< Store the Spontaneus fission yield + map<ZAI, IsotopicVector> fReactionYield; ///< Store the reaction fission yield + + + double *fTheNucleiVector; //!< The evolving atoms copied from Material proportions. + double **fTheMatrix; //!< The evolution Matrix + int fNVar; //!< The size of the composition vector and /or number of ZAIs involved. + + double fPrecision; //!< Precision of the RungeKutta + double fHestimate; //!< RK Step estimation. + double fHmin; //!< RK minimum Step. + double fMaxHdid; //!< store the effective RK max step + double fMinHdid; //!< store the effective RK min step + bool fIsNegativeValueAllowed; //!< whether or not negative value are physical. + + map<ZAI, int> findex_inver; ///< correspondance matrix from ZAI to the column (or line) of the different Reaction/Decay matrix + map<int, ZAI> findex; ///< correspondance matrix from the column (or line) of the different Reaction/Decay matrix to the ZAI + + //{ + /// Return the Fission XS Matrix at the time TStep + /*! + // This Method extract the Fission Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> GetFissionXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + //{ + /// Return the Capture XS Matrix at the time TStep + /*! + // This Method extract the capture Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> GetCaptureXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + //{ + /// Return the n2n XS Matrix at the time TStep + /*! + // This Method extract the (n,2n) Cross section of an EvolutionData at the set time + // \param EvolutionDataStep: EvolutionData + // \param TStep: time + */ + TMatrixT<double> Getn2nXsMatrix(EvolutionData EvolutionDataStep,double TStep); + //} + + + //{ + //! Returns a particular decay mode. + /*! + \param DecayModes : a list of decay modes with their branching ratios and isomeric state of the Daughters. + \param BR : branching ratio of the current decay mode + \param Iso : isomeric state of the Daughter of the current decay mode. + \param StartPos : the current decay mode to extract. + */ + string GetDecay(string DecayModes, double &BR,int &Iso, int &StartPos); + //} + + map< ZAI,IsotopicVector > ReadFPYield(string Yield); ///< Read a CLASSYield file and return the correpsponding map + + +}; + + + +#endif diff --git a/source/branches/CLASSV3/include/IsotopicVector.hxx b/source/branches/CLASSV3/include/IsotopicVector.hxx new file mode 100755 index 000000000..07063d79c --- /dev/null +++ b/source/branches/CLASSV3/include/IsotopicVector.hxx @@ -0,0 +1,155 @@ +#ifndef __ISOTOPICVECTOR_HXX__ +#define __ISOTOPICVECTOR_HXX__ + + +/*! + \file + \brief Header file for IsotopicVector class. + @version 2.0 + */ +#include "ZAI.hxx" + +#include "TObject.h" +#include <string> +#include <map> + +using namespace std; +typedef long long int cSecond; + +//-----------------------------------------------------------------------------// +/*! + Define a Isotopicvector. + The aim of this Class is to manage any kind of IsotopicVector, and any operation between them : sum, substraction.... + + @author BaM, MArc + @version 2.0 + */ +//________________________________________________________________________ + + + +class IsotopicVector : public TObject +{ +public : + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + IsotopicVector(); ///< Normal Constructor. + + + ~IsotopicVector(); ///< Normal Destructor. + + //@} + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + + map<ZAI ,double> GetIsotopicQuantity() const + { return fIsotopicQuantity; } //!< Return the IVQuantity map + map<ZAI ,double> GetIsotopicQuantityNeeded() const + { return fIsotopicQuantityNeeded; } //!< Return the IVQuantityNeeded map + IsotopicVector GetSpeciesComposition(int z) const; //!< Return the Species composition of the "z" atom + vector<ZAI> GetZAIList() const; //!< Return the list of ZAI present in the IV + IsotopicVector GetActinidesComposition() const; //!< Return the Actinides composition of the "z" atom + double GetZAIIsotopicQuantity(const ZAI& zai) const; ///< Return the quantity of the ZAI + double GetZAIIsotopicQuantity(const int z, const int a, const int i) const; ///< Return the quantity of the ZAI + + vector<int> GetChemicalSpecies() const; //!< Return the Species Species contained + int GetZAIQuantity() const + {return fIsotopicQuantity.size(); } //!< Return the number of different ZAI in the IsotopicVector + + double GetSumOfAll() const; //!< Return the Sum of nuclei in the IsotopicVector + + //@} + + + + +//********* Internal Operation Method *********// + + /*! + \name Internal Operation Method + */ + //@{ + + + void Clear(); //!< Empty all the IV + void ClearNeed(); //!< Empty Need componant of the IV + + void Add(const ZAI& zai, double quantity); //!< Add Quantity gramme of the ZAI Element + void Add(const IsotopicVector& isotopicvector); //!< Add IsotopicVector to the existing IsotopicVector + void Add(const map<ZAI ,double>& quantity); //!< Add IsotopicVector to the existing IsotopicVector + + void Need(const ZAI& zai, double quantity); //!< Fill the fIsotopicQuantityNeeded + void Need(const IsotopicVector& isotopicvector); //!< Fill the fIsotopicQuantityNeeded + void Need(const map<ZAI ,double>& quantityneeded) { fIsotopicQuantityNeeded = quantityneeded; } + //!< Fill the fIsotopicQuantityNeeded + + void Remove(const ZAI& zai, double quantity); //!< Remove Quantity gramme of the ZAI Element + void Remove(const IsotopicVector& isotopicvector); //!< Remove IsotopicVector to the existing IsotopicVector + + void Multiply(double factor); //!< Multiply the IV by a Factor + + + IsotopicVector& operator+=(IsotopicVector const& IVb); //!<.... + IsotopicVector& operator-=(IsotopicVector const& IVb); //!<.... + bool operator <(const IsotopicVector& isotopicvector) const; //!< IsotopicVector Comparator + + //@} + + + +//********* In/Out related Method *********// + + /*! + \name In/Out Method + */ + //@{ + + void Write(string filename, cSecond time = -1 ) const; ///< Write the Content of the IV in the filename file + + void Print(string o =" ") const ; ///< Print the composition of the IV + void PrintList(string o =" ") const ; ///< Print the composition of the IV + + //@} + + +//***************************************************///< + + + protected : + + map<ZAI ,double> fIsotopicQuantity; ///< Isotopic vector composition in Atome Number + map<ZAI ,double> fIsotopicQuantityNeeded; ///< Isotopic vector request and not present + + ClassDef(IsotopicVector,1); +}; + +IsotopicVector operator/(IsotopicVector const& IVA, double F); +IsotopicVector operator/(ZAI const& zai, double F); +IsotopicVector operator*(IsotopicVector const& IVA, double F); +IsotopicVector operator*(ZAI const& zai, double F); +IsotopicVector operator*(double F, IsotopicVector const& IVA); +IsotopicVector operator*(double F, ZAI const& zai); +IsotopicVector operator+(IsotopicVector const& IVa, IsotopicVector const& IVb); +IsotopicVector operator-(IsotopicVector const& IVa, IsotopicVector const& IVb); + + +double RelativDistance(IsotopicVector IV1, IsotopicVector IV2 ); +double Distance(IsotopicVector IV1, IsotopicVector IV2 ,int DistanceType=0, IsotopicVector DistanceParameter=IsotopicVector()); +double DistanceStandard(IsotopicVector IV1, IsotopicVector IV2); +double DistanceAdjusted(IsotopicVector IV1, IsotopicVector IV2, IsotopicVector DistanceParameter); +double Norme(IsotopicVector IV1,int DistanceType=0, IsotopicVector DistanceParameter=IsotopicVector()); + + +#endif diff --git a/source/branches/CLASSV3/include/LogFile.hxx b/source/branches/CLASSV3/include/LogFile.hxx new file mode 100755 index 000000000..ff50c2029 --- /dev/null +++ b/source/branches/CLASSV3/include/LogFile.hxx @@ -0,0 +1,71 @@ + +#ifndef _LOGFILE_CLASS +#define _LOGFILE_CLASS + + +/*! + \file + \brief Header file for LogFile class. + + + @author BaM + @version 2.0 + */ + +#include <string> +#include <fstream> +#include "stdlib.h" +using namespace std; + +//-----------------------------------------------------------------------------// +/*! + Define a LogFile. + The aim of this class is to centralize the all CLASS software message inside a file. + + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class LogFile +{ +public: + + //********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + + LogFile(string LogFileName ); //!< Normal Constructor + + ~LogFile(); //!< Normal Destructor + + //@} + + //********* In/Out Method *********// + + /*! + \name In/Out + */ + //@{ + string GetLogFileName() const { return fLogFileName; } //!w return the logfile name + + std::ofstream fLog; //!< Log Stream + + //@} + + private : + + string fLogFileName; //!< Log File name +}; + +#endif + + + diff --git a/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx b/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx new file mode 100644 index 000000000..f0b357956 --- /dev/null +++ b/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx @@ -0,0 +1,45 @@ +#ifndef __PWR_THPU_FabricationPlant_HXX__ +#define __PWR_THPU_FabricationPlant_HXX__ + +/*! + \file + \brief Header file for FabricationPlant class. + + The aim of the Class is to manage evolution of FabricationPlant + + + @author BaM, Marc + @version 2.0 + */ + + + +#include <vector> +#include <map> + +#include "FabricationPlant.hxx" + +using namespace std; +typedef long long int cSecond; + +class PWR_THPU_FabricationPlant : public FabricationPlant +{ + //on utilise les constructeur de la classe FabricationPlant + // dans le code :MyFabricationPlant *FP_MOX = new FabricationPlant(gCLASS.GetLog(),Stock, ReUsable); + //on a besoin de surcherger le constructeur que si +public : + PWR_THPU_FabricationPlant(); + PWR_THPU_FabricationPlant(LogFile* log); + + PWR_THPU_FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabricationtime = 365.25*24*3600*2); + ///< Normal Destructor. + ~PWR_THPU_FabricationPlant(); + + void BuildFuelForReactor(int ReactorId); //obligatoire, c'est un peu la base +protected : +//********* Private Method *********// +// mettre ici les méthodes dont on a besoin dans sa fonction BuildFuelForReactor perso + +}; + +#endif diff --git a/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx b/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx new file mode 100644 index 000000000..464a47354 --- /dev/null +++ b/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx @@ -0,0 +1,46 @@ +#ifndef __PWR_THU_FabricationPlant_HXX__ +#define __PWR_THU_FabricationPlant_HXX__ + +/*! + \file + \brief Header file for FabricationPlant class. + + The aim of the Class is to manage evolution of FabricationPlant + + + @author BaM, Marc + @version 2.0 + */ + + + +#include <vector> +#include <map> + +#include "FabricationPlant.hxx" + + +using namespace std; +typedef long long int cSecond; + +class PWR_THU_FabricationPlant : public FabricationPlant +{ + //on utilise les constructeur de la classe FabricationPlant + // dans le code :MyFabricationPlant *FP_MOX = new FabricationPlant(gCLASS.GetLog(),Stock, ReUsable); + //on a besoin de surcherger le constructeur que si +public : + PWR_THU_FabricationPlant(); + PWR_THU_FabricationPlant(LogFile* log); + + PWR_THU_FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabricationtime = 365.25*24*3600*2); + ///< Normal Destructor. + ~PWR_THU_FabricationPlant(); + + void BuildFuelForReactor(int ReactorId); //obligatoire, c'est un peu la base +protected : +//********* Private Method *********// +// mettre ici les méthodes dont on a besoin dans sa fonction BuildFuelForReactor perso + +}; + +#endif diff --git a/source/branches/CLASSV3/include/Pool.hxx b/source/branches/CLASSV3/include/Pool.hxx new file mode 100755 index 000000000..c497f6ab2 --- /dev/null +++ b/source/branches/CLASSV3/include/Pool.hxx @@ -0,0 +1,185 @@ +#ifndef __Pool_HXX__ +#define __Pool_HXX__ +/*! + \file + \brief Header file for Pool class. + */ + +#include <string> +#include <map> + +#include "CLASSBackEnd.hxx" +#include "IsotopicVector.hxx" + +using namespace std; +typedef long long int cSecond; + +class CLASSBackEnd; +class CLASS; +class LogFile; +class DecayDataBank; + +//-----------------------------------------------------------------------------// +/*! + Define a Pool. + The aim of the Class is to manage evolution of all out reactor fuel. from Cooling to Waste or storage + + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class Pool : public CLASSBackEnd +{ +public : + + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + Pool(); ///< Normal Constructor. + + + //{ + /// LogFile Constructor. + /*! + Use create an empty Pool loading a LogFile + \param LogFile LogFile used for the log... + */ + Pool(LogFile* log); + //} + + + //{ + /// Special Constructor. + /*! + Make a new EvolutionData + \param Log LogFile used for the log... + \param abstime time to start the Pool + \param coolingtime duration of the cooling. + */ + Pool(LogFile* Log, double abstime, + double coolingtime = 5*3600.*24.*365.25); //!< + //} + + + //{ + /// Special Special Constructor. + /*! + Make a new EvolutionData + \param Log LogFile used for the log... + \param Storage storage which get the fuel after the cooling + \param abstime time to start the Pool + \param coolingtime duration of the cooling. + */ + Pool(LogFile* log, CLASSBackEnd* Storage, + double abstime = 0, + double coolingtime = 5*3600.*24.*365.25); //!< + //} + + + ~Pool(); ///< Normal Destructor. + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + + void SetOutBackEndFacility(CLASSBackEnd* befacility) + { fOutBackEndFacility = befacility; + SetIsStorageType(); + fPutToWaste = true; } //!< Set the Pointer to the Storage + + void SetPutToWaste(bool val) { fPutToWaste = val; } //!< Set True if IV goes to waste after cooling false instead + + void SetIVArray(vector<IsotopicVector> ivarray); //! not use there (Does nothing!!!) + void SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond> timearray); //!< Set The isotopicVector Array at the corresponding time + + //@} + + + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + + bool GetPutToWaste() const { return fPutToWaste; } //!< Return True if IV goes to waste after cooling false instead + + //@} + + + + +//********* IsotopicVector Managment Method *********// + + /*! + \name IsotopicVector Managment Method + */ + //@{ + + vector<cSecond> GetCoolingStartingTime() const + { return fCoolingStartingTime; } //!< Return the vector of Cooling Sstarting Time + void RemoveIVCooling(int i); //!< Remove a Cooling IsotopicVector + + void AddIV(IsotopicVector isotopicvector); //!< Add an Isotopicvector to the IVArray + //@} + + + + +//********* Other Method *********// + + //@} + /*! + \name Other Method + */ + //@{ + + void Evolution(cSecond t); //!< Performe the evolution until the Time t + void Dump(); //!< Write Modification (exchange between Cooling, Separation and Storage) + + //@} + +protected : + + + +//********* Internal Parameter *********// + bool fPutToWaste; //!< True if IV goes to waste after cooling false instead + + +//********* Isotopic Quantity *********// +//--------- Cooling ---------// + vector<cSecond> fCoolingStartingTime; ///< Vector of the Cooling Starting Time + vector<int> fCoolingIndex; ///< Vector of the Cooling Index + int fCoolingLastIndex; //!< Number of Cooling IV Treated + vector<int> fCoolingEndOfCycle; //!< Index of the Cooling IV reaching the End of a Cooling Cycle + + +//********* Private Method *********// + void CoolingEvolution(cSecond t); //!< Deal the cooling and then send it to Separation + + + + + ClassDef(Pool,3); +}; + +#endif diff --git a/source/branches/CLASSV3/include/Reactor.hxx b/source/branches/CLASSV3/include/Reactor.hxx new file mode 100755 index 000000000..06c8ab9ce --- /dev/null +++ b/source/branches/CLASSV3/include/Reactor.hxx @@ -0,0 +1,272 @@ +#ifndef __Reactor_HXX__ +#define __Reactor_HXX__ + +/*! + \file + \brief Header file for reactor classes. + */ + +#include <string> +#include <map> + +#include "CLASSFacility.hxx" +#include "IsotopicVector.hxx" +#include "EvolutionData.hxx" + +using namespace std; +typedef long long int cSecond; + + +class CLASS; +class CLASSBackEnd; +//class Pool; +class EvolutionData; +class FuelDataBank; +class FabricationPlant; +class Storage; +class LogFile; + +//-----------------------------------------------------------------------------// +/*! + Define a reactor. + The aim of this class is to deal the evolution of the fuel inside a reactor. + The fuel state of the reactor is describe in the IsotopicVector. Its evolution is contain in the EvolutionData + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class Reactor : public CLASSFacility +{ +public : + + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + Reactor(); ///< Normal Constructor. + + //{ + /// LogFile Constructor. + /*! + Use create an empty Reactor loading a LogFile + \param LogFile LogFile used for the log... + */ + Reactor(LogFile* log); + //} + + //{ + /// Special Constructor for reprocessed fuel. + /*! + Make a new reactor + \param LogFile LogFile used for the log... + \param fueltypeDB Databank describing the evolution of the fuel + \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation + \param creationtime creation time + \param lifetime working time duration. + */ + Reactor(LogFile* log, FuelDataBank* fueltypeDB, + FabricationPlant* fabricationplant, CLASSBackEnd* Pool, + cSecond creationtime , cSecond lifetime); + //} + + //{ + /// Special Constructor for reprocessed fuel using cycletime and Burn-Up. + /*! + Make a new reactor + \param LogFile LogFile used for the log... + \param fueltypeDB Databank describing the evolution of the fuel + \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation + \param creationtime creation time + \param lifetime working time duration. + \param cycletime duration of a cycle + \param HMMass Mass of Heavy Metal in the Reactor + \param BurnUp Burnup reach by the fuel at the end of the cycle + */ + Reactor(LogFile* log, FuelDataBank* fueltypeDB, + FabricationPlant* fabricationplant, CLASSBackEnd* Pool, + cSecond creationtime , cSecond lifetime, cSecond cycletime, + double HMMass, double BurnUp); + //} + + //{ + /// Special Constructor for reprocessed fuel using Power and Burn-Up. + /*! + Make a new reactor + \param LogFile LogFile used for the log... + \param fueltypeDB Databank describing the evolution of the fuel + \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation + \param creationtime creation time + \param lifetime working time duration. + \param Power Thermal power of the reactor + \param HMMass Mass of Heavy Metal in the Reactor + \param BurnUp Burnup reach by the fuel at the end of the cycle + \param ChargeFactor effective charge of the reactor. + */ + Reactor(LogFile* log, FuelDataBank* fueltypeDB, + FabricationPlant* fabricationplant, CLASSBackEnd* Pool, + cSecond creationtime , cSecond lifetime, + double Power, double HMMass, double BurnUp, double ChargeFactor); + //} + + //{ + /// Special Constructor for fixed fuel using Power and Burn-Up. + /*! + Make a new reactor + \param LogFile LogFile used for the log... + \param evolutivedb EvolutionData describing the evolution of the fuel + \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation + \param creationtime creation time + \param lifetime working time duration. + \param Power Thermal power of the reactor + \param HMMass Mass of Heavy Metal in the Reactor + \param BurnUp Burnup reach by the fuel at the end of the cycle + \param ChargeFactor effective charge of the reactor. + */ + Reactor(LogFile* log, EvolutionData evolutivedb, CLASSBackEnd* Pool, + cSecond creationtime, cSecond lifetime, + double power, double HMMass, double BurnUp, double ChargeFactor = 1); + //} + + ~Reactor(); ///< Normal Destructor + + //@} + + + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + + IsotopicVector GetIVReactor() const { return GetInsideIV(); } //!< Return the IV contain in the Reactor + IsotopicVector GetIVBeginCycle() const { return fIVBeginCycle; } //!< Return the Starting Cycle IV + //!< (Note : IVBegin != IVIn, only if using charging plan) + + IsotopicVector GetIVOutCycle() const { return fIVOutCycle; } //!< Return the Out Cycle IV + IsotopicVector GetIVInCycle() const { return fIVInCycle; } //!< Return the In Cycle IV + //!< (Note : IVIn != IVBegin, only if using charging plan) + + + EvolutionData GetEvolutionDB() const { return fEvolutionDB; } //!< Return the Evolution database of the Fuel + FuelDataBank* GetFuelType() const { return fFuelTypeDB; } //!< Return the Fuel Type DB of the reactor + + CLASSBackEnd* GetOutBackEndFacility() const { return fOutBackEndFacility; } //!< Return the pointer to Associeted BackEnd Facility + FabricationPlant* GetFabricationPlant() const { return fFabricationPlant; } //!< Return the Pointer to the FabricationPlant + + bool IsFuelFixed() const { return fFixedFuel; } //!< True if using fixed Fuel, False otherwise + double GetHeavyMetalMass() const { return fHeavyMetalMass; } //!< Return the HeavyMetal Mass in the Core at the begining of the cycle + double GetBurnUp() const { return fBurnUp; } //!< Return the Burn Up of the Fuel at the end of the cycle + double GetPower() const { return fPower; } //!< Return the cycle time of the Reactor + +#ifndef __CINT__ + map<cSecond, pair<EvolutionData, double> > GetLoadingPlan() const + { return fLoadingPlan; } //!< return the LoadingPlan + map<cSecond, pair<EvolutionData, double> >::iterator GetNextPlan() const + { return fNextPlan; } //!< return the next fuel in the Plan + +#endif + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + void SetOutBackEndFacility(CLASSBackEnd* pool) + { fOutBackEndFacility = pool; } //!< Return the pointer to OutBackEnd Facility + + void SetStorage(Storage* storage) + { fStorage = storage; fIsStorage = true;} //!< Set the Pointer to the Storage + + void SetHMMass(double Mass) {fHeavyMetalMass = Mass;} //!< Set the HeavyMetal Mass in the Core at the begining of the cycle + + void SetIVReactor(IsotopicVector isotopicvector) + { fInsideIV = isotopicvector; } //!< Set the IV inside the Reactor Core + void SetIVBeginCycle(IsotopicVector isotopicvector) + { fIVBeginCycle = isotopicvector; } //!< Set the IV at the Beginging of the Reactor Cycle + void SetIVOutCycle(IsotopicVector isotopicvector) + { fIVOutCycle = isotopicvector; } //!< Set the IV Going Out at the End of the Cycle + void SetIVInCycle(IsotopicVector isotopicvector) + { fIVInCycle = isotopicvector; } //!< Set the IV Coming In at the Beginning of the Cycle + + void SetEvolutionDB(EvolutionData evolutionDB); //!< Set the Pointer to the DB Evolution of the Reactor + + void SetCycleTime(double cycletime); //!< Set the Cycle time (Power fixed) + void SetPower(double Power); //!< Set the Power (BurnUp cte) + void SetBurnUp(double BU); //!< Set the BurnUp reach at end of cycle (Power cte) + + + + + void SetLoadingPlan(map<cSecond, pair<EvolutionData, double> > loadingplan) + { fLoadingPlan = loadingplan; fNextPlan = fLoadingPlan.begin(); } + //!< Set a LaodingPlan to change the Fuel after some cycle + //@} + + + + +//********* Evolution & Modification Method *********// + + /*! + \name Evolution & Modification Method + */ + //@{ + + void Evolution(cSecond t); //!< Performe the Evolution until the Time t + void Dump(); //!< Write Modification (IV In/Out, filling the TF...) + void SetNewFuel(EvolutionData ivdb); //!< Change the Evolutive DB of the Reactor + + //@} + + + +protected : + + bool fFixedFuel; //!< true if the fuel is fixed (not reprocessed) + bool fIsStorage; //!< true if a storage has been define (to approximate the reprocessing using fixed fuel) + +//********* Internal Parameter *********// + CLASSBackEnd* fOutBackEndFacility; //!< Pointer to the BackEnd Facility which collect the spend fuel + Storage* fStorage; //!< Pointer to the Stock (only for reprocessing fuel in fixed base...) + + EvolutionData fEvolutionDB; //!< Pointer to the Evolution DataBase + FuelDataBank* fFuelTypeDB; //! Pointer to a Fuel Type Database + + double fPower; ///< Power (in Watt) + + IsotopicVector fIVBeginCycle; ///< Fuel IV at the Beginning of a Cycle + IsotopicVector fIVInCycle; ///< IVBegin add at the Beginning of the Cycle + IsotopicVector fIVOutCycle; ///< IV wich get out at the End of a Cycle + +#ifndef __CINT__ + map<cSecond, pair<EvolutionData, double> > fLoadingPlan; ///< Loading PLan to change the EvolutionData (and the associetedBurnup) according to the Plan + map<cSecond, pair<EvolutionData, double> >::iterator fNextPlan; ///< Next EvolutionData, and time until it should be load (at the end of the last cycle) +#endif +//********* Unfixed Fuel Parameter *********// + + + FabricationPlant* fFabricationPlant; //!< Poitner to the FabricationPlant + double fHeavyMetalMass; ///< In tons + double fBurnUp; ///< In GWd/tHM + + ClassDef(Reactor,3); + }; + + +#endif diff --git a/source/branches/CLASSV3/include/Storage.hxx b/source/branches/CLASSV3/include/Storage.hxx new file mode 100644 index 000000000..61d348a25 --- /dev/null +++ b/source/branches/CLASSV3/include/Storage.hxx @@ -0,0 +1,162 @@ +#ifndef __Storage_HXX__ +#define __Storage_HXX__ + +/*! + \file + \brief Header file for Storage class. + */ + + +#include <vector> + +#include "CLASSBackEnd.hxx" +#include "IsotopicVector.hxx" + + +using namespace std; +typedef long long int cSecond; + +class CLASS; +class LogFile; +class DecayDataBank; + +//-----------------------------------------------------------------------------// +/*! + Define a Storage. + The aim of this class is to deal the store used fuel after the cooling dealing the evolution of all radiaoactive nuclei. + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class Storage : public CLASSBackEnd +{ +public : + + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + Storage(); ///< Normal Constructor. + + //{ + /// LogFile Constructor. + /*! + Use create an empty Stotarage loading a LogFile + \param LogFile LogFile used for the log... + */ + Storage(LogFile* log); + //} + + + //{ + /// Special Constructor. + /*! + Make a new reactor + \param LogFile LogFile used for the log... + \param evolutivedb DataBank for decay management + */ + Storage(LogFile* log, DecayDataBank* evolutivedb); + //} + + + ~Storage(); ///< Normal Destructor. + + //@} + + + + +//********* Set Method *********// + + /*! + \name Set Method + */ + //@{ + //@} + + +//********* Get Method *********// + + /*! + \name Get Method + */ + //@{ + //@} + + + + +//********* Storage specific Method *********// + + /*! + \name Storage specific Method + */ + //@{ + + void AddToFullStock(IsotopicVector isotopicvector) { fInsideIV += isotopicvector; } //!< Add a IsotopicVector to the Storage + + void TakeFractionFromStock(int IVId,double fraction); //!< Take a part from an IV in sotck; + void TakeFromStock(IsotopicVector isotopicvector); //!< + + + void AddIV(IsotopicVector isotopicvector); //!< Add an Isotopicvector to the IVArray + + //@} + + + + +//********* Evolution Method *********// + + /*! + \name Evolution Method + */ + //@{ + + void Evolution(cSecond t); //!< Performe the evolution until the Time t + + //@} + + //********* In/Out Method *********// + + /*! + \name In/Out Method + */ + //@{ + + //{ + /// Write the Isotope composition of all IsotopicVector stored. + /*! + Make a new reactor + \param filenam LogFile used for the log... + \param data only use to srite a date in the file, theyr is not treatment of the date in this method.... + */ + void Write(string filename,cSecond date = -1); + //} + + //@} + +protected : + +//********* Isotopic Quantity *********// + + + +//********* Private Method *********// + void StorageEvolution(cSecond t); //!< Deal the Storage Decay Evolution + + + + + ClassDef(Storage,3); +}; + +#endif diff --git a/source/branches/CLASSV3/include/StringLine.hxx b/source/branches/CLASSV3/include/StringLine.hxx new file mode 100755 index 000000000..9cd25243a --- /dev/null +++ b/source/branches/CLASSV3/include/StringLine.hxx @@ -0,0 +1,275 @@ +#ifndef _STRINGLINE_ +#define _STRINGLINE_ + +#include <string> +#include <sstream> +#include <iostream> +#include <algorithm> +#include <cctype> +using namespace std; +/*! + \file + \brief Header file for StingLine class. +*/ + +// Class extracting fields from a string / line. +/*! + The aim of this class is to provide tools to extract fields ("word") from + a string and convert a string in Upper/Lower case. + All methods are static so that it is not necessary to create object to use them + + example: + \code + string line="The temperature is : 300.6 K"; + int start; + + 1st method: creation of StringLine + + start=0; + StringLine SL; + string the=SL.NextWord(line,start); + string temperature_is=SL.NextWord(line,start,':'); + string colon=SL.NextWord(line,start); + double T=atof(SL.NextWord(line,start).c_str()); + cout<<the<<endl<<temperature_is<<endl<<T<<endl; + + 2nd method: "using" the static methods + + start=0; + the=StringLine::NextWord(line,start); + temperature_is=StringLine::NextWord(line,start,':'); + colon=StringLine::NextWord(line,start); + T=atof(StringLine::NextWord(line,start).c_str()); + cout<<the<<endl<<temperature_is<<endl<<T<<endl; + \endcode + @author PTO + @version 2.01 +*/ + +class StringLine +{ + public: + // Find the next word in a line. + /*! + Find Next word in a line starting from position "start" in the line. If an alternative + separator is given, the word length is defined by the first position of sep or alt_sep found. + The first value of start is in general 0 (i.e. the beginning of the Line) + \param Line : a line containing words + \param start : from where to start to find the begining of a word + \param sep : the separator between 2 words (default=space) + \param alt_sep : the alternative separator between 2 words (default='') + */ + static string NextWord(string Line,int &start,char sep=' ', char alt_sep='\0'); + // Find the previous word in a line. + /*! + Find Previous word in a line starting from position "start" in the line. If an alternative + separator is given, the word length is defined by the first position of sep or alt_sep found. + The first value of start is in general the end of the Line. + \param Line : a line containing words + \param start : from where to start to find the begining of a word + \param sep : the separator between 2 words (default=space) + \param alt_sep : the alternative separator between 2 words (default='') + */ + static string PreviousWord(string Line,int &start,char sep=' ', char alt_sep='\0'); + static void ToLower(string &Line); // convert a string to Lower case + static void ToUpper(string &Line); // convert a string to Upper case + + // Find \p search in \p Line from the begining. + /*! + returns the position, starting from the begenning of the first occurence + of \p search in \p Line if it is found, else returns -1 + \param search : a string to find + \param Line : where to search + */ + static int Find(const char *search,string Line); + // Find \p search in \p Line from the end. + /*! + returns the position, starting from the end of the first occurence + of \p search in \p Line if it is found, else returns -1 + \param search : a string to find + \param Line : where to search + */ + static int rFind(const char *search,string Line); + // convert a input type (\p in_T) to another (\p out_T). + /*! + Example: + \code + string s="32.12"; + double t=StringLine::convert<double>(s); + string temperature=StringLine::convert<string>(300.); + \endcode + \param t : the input value + */ + template <class out_T, class in_T> static out_T convert(const in_T & t); + // Find the start of a word in a line. + /*! + \param Line : a line containing words + \param CurrentPosition : from where to start to find the begining of a word + \param sep : the separator between 2 words (default=space) + \param alt_sep : the alternative separator between 2 words (default='') + */ + static int GetStartWord(string Line,int CurrentPosition,char sep=' ', char alt_sep='\0'); + // Find the end of a word in a line. + /*! + \param Line : a line containing words + \param CurrentPosition : from where to start to find the end of a word + \param sep : the separator between 2 words (default=space) + \param alt_sep : the alternative separator between 2 words (default='') + */ + static int GetEndWord(string Line,int CurrentPosition,char sep=' ', char alt_sep='\0'); + // Replace a sub-string by an other in a string. + /*! + \param InLine : the string which contains the sub-string to replace + \param ToReplace : the sub-string to replace + \param By : the sub-string ToReplace is replaced by the sub-string By in Inline + */ + string ReplaceAll(string InLine, string ToReplace, string By); +}; + + +//_________________________________________________________________________________ +inline string StringLine::NextWord(string Line,int &start,char sep, char alt_sep) +{ + string Word=""; + if(start>=int(Line.size())) + { + return Word; + } + start=GetStartWord(Line,start,sep,alt_sep); + int wordlength=GetEndWord(Line,start,sep,alt_sep)-start; + + Word=Line.substr(start,wordlength); + + start+=wordlength; + return Word; +} +//_________________________________________________________________________________ +inline string StringLine::PreviousWord(string Line,int &start,char sep, char alt_sep) +{ + string Word=""; + if(start<=0) + { + return Word; + } + int pos=Line.rfind(sep,start); + int alt_pos=-1; + int real_pos=pos; + char real_sep=sep; + if(alt_sep!='\0') + { + alt_pos=Line.rfind(alt_sep,start); + real_pos=max(pos,alt_pos); + if(real_pos!=pos) + real_sep=alt_sep; + } + int wordlength=start-Line.rfind(real_sep,real_pos); + if(real_pos<=0) + { + Word=Line.substr(0,start+1); + start=0; + return Word; + } + Word=Line.substr(real_pos+1,wordlength); + + start-=wordlength+1; + return Word; +} + +//_________________________________________________________________________________ +inline void StringLine::ToLower(string &Line) +{ + transform (Line.begin(), Line.end(), // source + Line.begin(), // destination + (int(*)(int))tolower); // operation +} + +//_________________________________________________________________________________ +inline void StringLine::ToUpper(string &Line) +{ + transform (Line.begin(), Line.end(), // source + Line.begin(), // destination + (int(*)(int))toupper); // operation +} + +//_________________________________________________________________________________ +inline int StringLine::GetStartWord(string Line,int CurrentPosition,char sep, char alt_sep) +{ + int pos=Line.find(sep,CurrentPosition); + int alt_pos=-1; + if(alt_sep!='\0') + alt_pos=Line.find(alt_sep,CurrentPosition); + int real_pos=pos; + char real_sep=sep; + if(alt_pos>=0) + { + real_pos=min(pos,alt_pos); + if(pos==int(string::npos))real_pos=alt_pos; + if(real_pos!=pos) + real_sep=alt_sep; + } + if(real_pos==int(string::npos)) return CurrentPosition; + while(CurrentPosition<int(Line.size()) && Line[CurrentPosition]==real_sep) + CurrentPosition++; + return CurrentPosition; +} + +//_________________________________________________________________________________ +inline int StringLine::GetEndWord(string Line,int CurrentPosition,char sep, char alt_sep) +{ + int pos=Line.find(sep,CurrentPosition); + int alt_pos=-1; + if(alt_sep!='\0') + alt_pos=Line.find(alt_sep,CurrentPosition); + int real_pos=pos; + if(alt_pos>=0) + { + real_pos=min(pos,alt_pos); + if(pos==int(string::npos))real_pos=alt_pos; + } + if(real_pos==int(string::npos)) + return Line.size(); + return real_pos; +} + +//_________________________________________________________________________________ +inline int StringLine::Find(const char *search,string Line) +{ + size_t Pos=Line.find(search); + if(Pos != string::npos ) return Pos; + return -1; +} + +//_________________________________________________________________________________ +inline int StringLine::rFind(const char *search,string Line) +{ + size_t Pos=Line.rfind(search); + if(Pos != string::npos) return Pos; + return -1; +} + +//_________________________________________________________________________________ +template <class out_T, class in_T> +inline out_T StringLine::convert(const in_T & t) +{ + stringstream stream; + stream << t; // insert value to stream + out_T result; // store conversion's result here + stream >> result; // write value to result + return result; +} + +//_________________________________________________________________________________ +inline string StringLine::ReplaceAll(string InLine, string ToReplace, string By) +{ + int start=0; + int pos=InLine.find(ToReplace,start); + while(pos!=int(string::npos)) + { + InLine.replace(pos,ToReplace.size(),By); + start=0; + pos=InLine.find(ToReplace,start); + } + return InLine; + +} +#endif diff --git a/source/branches/CLASSV3/include/ZAI.hxx b/source/branches/CLASSV3/include/ZAI.hxx new file mode 100755 index 000000000..90e3d3e32 --- /dev/null +++ b/source/branches/CLASSV3/include/ZAI.hxx @@ -0,0 +1,94 @@ +#ifndef _ZAI_ +#define _ZAI_ + +/*! + \file + \brief Header file for ZAI classes. + */ + +#include <string> +#include "TObject.h" +#include <iostream> + +using namespace std; + +//-----------------------------------------------------------------------------// +/*! + Define a nuclei as : Z A I. + The aim of this class is to discribe each ZAI. + + @author BaM + @version 2.0 + */ +//________________________________________________________________________ + + + +class ZAI : public TObject +{ +public: + + +//********* Constructor/Destructor Method *********// + + /*! + \name Constructor/Desctructor + */ + //@{ + + ZAI(); ///< Default constructor + + //{ + ///< Normal Constructor. + /*! + Default: No parent + \param Z : number of protons + \param A : number of nucleons (A=0 means natural isotopes) + */ + ZAI(int Z, int A, int I=0); + //} + + + ~ZAI(); ///< Normal Destructor. + + +//********* ZAI main attributes Method *********// + + /*! + \name ZAI main attributes + */ + //@{ + int Z() const { return fZ; } //!< returns the number of protons + int A() const { return fA; } //!< returns the number of nucleons + int I() const { return fI; } //!< returns the Isomeric State + int N() const { return fA-fZ; } //!< returns the number of neutrons + + void SetMass(double m) { fMass=m; } ///< set the mass of a ZAI + double GetMass(); ///< get the mass of a ZAI + //@} + + + + ZAI operator=(ZAI IVa); //!< ... + bool operator <(const ZAI& zai) const { return (fZ != zai.Z())? + (fZ < zai.Z()) : ( (fA != zai.A())? + (fA < zai.A()) : (fI < zai.I()) ); } + + bool operator !=(const ZAI& zai) const { return ( fZ != zai.Z() ) || ( fA != zai.A() ) || ( fI != zai.I() ); } + bool operator ==(const ZAI& zai) const { return ( fZ == zai.Z() && fA == zai.A() && fI == zai.I()); } + void Print() const { cout << fZ << " " << fA << " " << fI << endl;} + + +protected : + + string fName; ///< Name of the ZAI + short fZ; ///< number of protons + short fA; ///< number of nucleons (A=0 means natural isotopes) + short fI; ///< Isomeric state + double fMass; ///< Mass of a ZAI (from the BaseSummary.dat file + + ClassDef(ZAI,1); +}; + + +#endif diff --git a/source/branches/CLASSV3/include/ZAIMass.hxx b/source/branches/CLASSV3/include/ZAIMass.hxx new file mode 100644 index 000000000..d894eb25c --- /dev/null +++ b/source/branches/CLASSV3/include/ZAIMass.hxx @@ -0,0 +1,44 @@ +#ifndef _ZAIMass_ +#define _ZAIMass_ + +/*! + \file + \brief Header file for ZAIMass classes. + + + @author BaM + @version 2.0 + */ + +#include <map> +#include "ZAI.hxx" +#include "TObject.h" +#include <iostream> + +using namespace std; + + + + +///< A ZAIMass . + +class ZAIMass +{ + + +public: + ///< Default constructor + ZAIMass(); + ///< Normal Constructor. + + ///< Normal Destructor. + ~ZAIMass(); + + map<ZAI, double> fZAIMass; //! ZAI mass list + + + +}; + + +#endif diff --git a/source/branches/CLASSV3/src/CLASS.cxx b/source/branches/CLASSV3/src/CLASS.cxx new file mode 100755 index 000000000..28e7e4cec --- /dev/null +++ b/source/branches/CLASSV3/src/CLASS.cxx @@ -0,0 +1,968 @@ +#include "CLASS.hxx" + +#include "Storage.hxx" +#include "Reactor.hxx" +#include "CLASSBackEnd.hxx" +#include "Pool.hxx" +#include "FabricationPlant.hxx" +#include "LogFile.hxx" + + +#include <ctime> +#include "time.h" +#include <cmath> +#include <iomanip> +#include <fstream> +#include <sstream> +#include <algorithm> +#include <omp.h> + +//________________________________________________________________________ +// +// CLASS +// +// +// +// +//________________________________________________________________________ + + + +float random(float a, float b) //peak random numebr between a and b +{ + float range = pow(2., 31); + srand(time(NULL)); //initialize the srand + return (float)a + (float)(b-a)*rand()/range; +} + +string dtoa(double num) +{ + ostringstream os(ostringstream::out); + os<<setprecision(3)<<num; + return os.str(); +} + + + +//________________________________________________________________________ +CLASS::CLASS() +{ + + + fNewTtree = true; + fPrintStep = (cSecond)(3600*24*365.25); // One Step per Year + fAbsoluteTime = 0; + fStartingTime = 0; + + fStockManagement = true; + + fOutputFileName = "CLASS_Default.root"; + fOutputTreeName = "Data"; + fOutFile = 0; + fOutT = 0; + + SetLog(new LogFile("CLASS.log")); + fParcPower = 0; + + + // Warning + + cout << "!!INFO!! !!!CLASS!!! A Parc has been define :" << endl; + cout << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + cout << "\t Absolute Time set at " << (double)(fAbsoluteTime/3600/24/365.25) << " year" << endl; + cout << "\t StockManagement set at : true" << endl; + cout << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + cout << "\t Log will be in " << GetLog()->GetLogFileName() << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!CLASS!!! Parc has been define :" << endl; + GetLog()->fLog << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t StockManagement set at : true" << endl; + GetLog()->fLog << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + GetLog()->fLog << "\t Log will be in " << GetLog()->GetLogFileName() << endl << endl; + + + +} +//________________________________________________________________________ +CLASS::CLASS(LogFile* Log) +{ + + + fNewTtree = true; + fPrintStep = (cSecond)(3600*24*365.25); // One Step per Year + fAbsoluteTime = 0; + fStartingTime = 0; + + fStockManagement = true; + + fOutputFileName = "CLASS_Default.root"; + fOutputTreeName = "Data"; + fOutFile = 0; + fOutT = 0; + + SetLog(Log); + fParcPower = 0; + + + // Warning + + cout << "!!INFO!! !!!CLASS!!! A Parc has been define :" << endl; + cout << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + cout << "\t Absolute Time set at " << (double)(fAbsoluteTime/3600/24/365.25) << " year" << endl; + cout << "\t StockManagement set at : true" << endl; + cout << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + cout << "\t Log will be in " << GetLog()->GetLogFileName() << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!CLASS!!! Parc has been define :" << endl; + GetLog()->fLog << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t StockManagement set at : true" << endl; + GetLog()->fLog << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + GetLog()->fLog << "\t Log will be in " << GetLog()->GetLogFileName() << endl << endl; + + + +} +//________________________________________________________________________ +CLASS::CLASS(double abstime) +{ + + fNewTtree = true; + fPrintStep = (cSecond)(3600*24*365.25); // One Step per Year + fAbsoluteTime = (cSecond)abstime; + fStartingTime = fAbsoluteTime; + + fStockManagement = true; + + fOutputFileName = "CLASS_Default.root"; + fOutputTreeName = "Data"; + fOutFile = 0; + fOutT = 0; + + SetLog(new LogFile("CLASS.log")); + fParcPower = 0; + + + + + // Warning + + cout << "!!INFO!! !!!CLASS!!! A Parc has been define :" << endl; + cout << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + cout << "\t StockManagement set at : true" << endl; + cout << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + cout << "\t Log will be in " << GetLog()->GetLogFileName() << endl; + + GetLog()->fLog << "!!INFO!! !!!CLASS!!! Parc has been define :" << endl; + GetLog()->fLog << "\t Print set at : " << (double)(fPrintStep/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t StockManagement set at : true" << endl; + GetLog()->fLog << "\t OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl; + GetLog()->fLog << "\t Log will be in " << GetLog()->GetLogFileName() << endl << endl; + + + +} + + +//________________________________________________________________________ +CLASS::~CLASS() +{ + +#pragma omp single + {CloseOutputTree();} + + +} + +//________________________________________________________________________ +void CLASS::AddPool(Pool* Pool) +{ + + + fPool.push_back(Pool); + fPool.back()->SetParc(this); + fPool.back()->SetDecayDataBank( (*this).GetDecayDataBase() ); + fPool.back()->SetLog(GetLog()); + fPool.back()->SetId((int)fPool.size()-1); + + + string Pool_name = fPool.back()->GetName(); + if(Pool_name == "P_Pool.") + { + Pool_name = "P_Pool"; + Pool_name += dtoa(fPool.back()->GetId()); + Pool_name += "."; + fPool.back()->SetName(Pool_name.c_str()); + } + else + { + string name_tmp = Pool_name; + Pool_name = "P_"; + Pool_name += name_tmp; + Pool_name += "."; + fPool.back()->SetName(Pool_name.c_str()); + } + + if(!fNewTtree) + fOutT->Branch(fPool.back()->GetName(), "Pool", &fPool.back()); + + +} + +//________________________________________________________________________ +void CLASS::AddReactor(Reactor* reactor) +{ + + fReactor.push_back(reactor); + fReactor.back()->SetParc(this); + fReactor.back()->SetLog(GetLog()); + fReactor.back()->SetId((int)fReactor.size()-1); + if(!fReactor.back()->IsFuelFixed()) + fReactor.back()->GetFabricationPlant()->AddReactor( (int)fReactor.size()-1,fReactor.back()->GetCreationTime() ); + + + string Reactor_name = fReactor.back()->GetName(); + if(Reactor_name == "R_Reactor.") + { + Reactor_name = "R_Reactor"; + Reactor_name += dtoa(fReactor.back()->GetId()); + Reactor_name += "."; + fReactor.back()->SetName(Reactor_name.c_str()); + } + else + { + string name_tmp = Reactor_name; + Reactor_name = "R_"; + Reactor_name += name_tmp; + Reactor_name += "."; + fReactor.back()->SetName(Reactor_name.c_str()); + } + + if(!fNewTtree) + fOutT->Branch(fReactor.back()->GetName(), "Reactor", &fReactor.back()); + + +} + +//________________________________________________________________________ +void CLASS::AddStorage(Storage* storage) +{ + + fStorage.push_back(storage); + fStorage.back()->SetParc(this); + fStorage.back()->SetDecayDataBank( (*this).GetDecayDataBase() ); + fStorage.back()->SetLog(GetLog()); + fStorage.back()->SetId((int)fStorage.size()-1); + + string Storage_name = fStorage.back()->GetName(); + + if(Storage_name == "S_Storage.") + { + Storage_name = "S_Storage"; + Storage_name += dtoa(fStorage.back()->GetId()); + Storage_name += "."; + fStorage.back()->SetName(Storage_name.c_str()); + } + else + { + string name_tmp = Storage_name; + Storage_name = "S_"; + Storage_name += name_tmp; + Storage_name += "."; + fStorage.back()->SetName(Storage_name.c_str()); + } + + if(!fNewTtree) + fOutT->Branch(fStorage.back()->GetName(), "Storage", &fStorage.back()); + + +} +//________________________________________________________________________ +void CLASS::AddFabricationPlant(FabricationPlant* fabricationplant) +{ + + fFabricationPlant.push_back(fabricationplant); + fFabricationPlant.back()->SetParc(this); + fFabricationPlant.back()->SetDecayDataBank( (*this).GetDecayDataBase() ); + fFabricationPlant.back()->SetLog(GetLog()); + fFabricationPlant.back()->SetId((int)fStorage.size()-1); + + + string FP_name = fFabricationPlant.back()->GetName(); + if(FP_name == "F_FabricationPlant.") + { + FP_name = "F_FabricationPlant"; + FP_name += dtoa(fFabricationPlant.back()->GetId()); + FP_name += "."; + fFabricationPlant.back()->SetName(FP_name.c_str()); + } + else + { + string name_tmp = FP_name; + FP_name = "F_"; + FP_name += name_tmp; + FP_name += "."; + fFabricationPlant.back()->SetName(FP_name.c_str()); + } + + if(!fNewTtree) + fOutT->Branch(fFabricationPlant.back()->GetName(), "FabricationPlant", &fFabricationPlant.back()); +} +//________________________________________________________________________ +map<cSecond,int> CLASS::GetTheBackEndTimePath(Reactor* reactor) +{ + cSecond step = 0; + map<cSecond, int> TheBackEndTimePath; + + { + pair< map<cSecond, int>::iterator, bool > IResult; +// IResult = TheBackEndTimePath.insert(pair<cSecond, double> ( step,reactor->GetFacilityType() ) ); +// if( !IResult.second ) IResult.first->second |= reactor->GetFacilityType(); + + } + + + + vector<CLASSBackEnd*> BackEndPath; + BackEndPath.push_back(reactor->GetOutBackEndFacility()); + while (!BackEndPath.back()->GetStorageType()) + { + step += BackEndPath.back()->GetCycleTime(); + int FacilityType = BackEndPath.back()->GetFacilityType(); + pair< map<cSecond, int>::iterator, bool > IResult = TheBackEndTimePath.insert(pair<cSecond,int> (step, FacilityType)); + if( !IResult.second ) IResult.first->second |= FacilityType; + + BackEndPath.push_back(BackEndPath[BackEndPath.size()-1]->GetOutBackEndFacility()); + + } + + return TheBackEndTimePath; +} + +//________________________________________________________________________ +void CLASS::BuildTimeVector(cSecond t) +{ + fTimeStep.clear(); + fTimeStep.insert( pair<cSecond ,int>(t,1) ); + //********* Printing Step *********// + { + cSecond step = fStartingTime; + + if(step >= fAbsoluteTime ) + fTimeStep.insert( pair<cSecond ,int>(step,1) ); + step += fPrintStep; + do + { + + if(step >= fAbsoluteTime ) + fTimeStep.insert( pair<cSecond ,int>(step,1) ); + step += fPrintStep; + } + while( step < t ); + } + + + for(int i = 0; i < (int)fReactor.size();i++) + { + cSecond ReactorStaringTime = fReactor[i]->GetCreationTime(); + cSecond ReactorShutDownTime = fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime(); + cSecond ReactorCycleTime = fReactor[i]->GetCycleTime(); + cSecond FabricationCycleTime = 0; + int ReactorFacilityType = fReactor[i]->GetFacilityType(); + + cSecond step = ReactorStaringTime; + + map< cSecond, int > BackEndTimePath = GetTheBackEndTimePath(fReactor[i]); + if(!fReactor[i]->IsFuelFixed()) + FabricationCycleTime = fReactor[i]->GetFabricationPlant()->GetCycleTime(); + + + //********* Reactor Evolution Step *********// + // ShutDown of a reactor + + // Test if the sutdown of the reactor is after the actual time (AbsolutreTime) and before the end of the evolution (t) + if( ReactorShutDownTime < t ) + { + //********* Reactor Shutdown *********// + if( ReactorShutDownTime > fAbsoluteTime) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(ReactorShutDownTime, 2) ); + if( !IResult.second ) + IResult.first->second |= 2; + } + + map< cSecond, int >::iterator TV_it; // the time vector iterator + //********* BackEnd fuel Cycle after reactor Shutdown *********// + for(TV_it = BackEndTimePath.begin(); TV_it != BackEndTimePath.end(); TV_it++) // Loop on the BackEnd fuel Cycle Time path + { + // Test if each step of the Fuel Cycle BackEnd is after the actual time (AbsolutreTime) and before the end of the evolution (t) + if( ReactorShutDownTime + (*TV_it).first >= fAbsoluteTime && ReactorShutDownTime + (*TV_it).first <= t) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(ReactorShutDownTime + (*TV_it).first, (*TV_it).second) ); + if( !IResult.second ) + IResult.first->second |= (*TV_it).second; + } + } + + + } + + // Start the reactor and the Fuel Fabrication + if(step >= fAbsoluteTime && step <= t && step < ReactorShutDownTime) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(ReactorStaringTime, ReactorFacilityType) ); + if( !IResult.second ) + IResult.first->second |= ReactorFacilityType; + } + + + //********* FabricationPlant Evolution Step *********// + if(!fReactor[i]->IsFuelFixed()) + { + if( (step - FabricationCycleTime) >= fAbsoluteTime && (step - FabricationCycleTime) <= t ) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(step - FabricationCycleTime,16) ); + if( !IResult.second ) + IResult.first->second |= 16; + } + else if( step - FabricationCycleTime < fStartingTime ) + { + cout << "!!Warning!! !!!CLASS!!! Can't Build Fuel before Scenario's start\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!CLASS!!! Can't Build Fuel before Scenario's start\"\n" << endl; + exit(1); + } + } + + map<cSecond, pair<EvolutionData, double> > ReactorLoadingPlan = fReactor[i]->GetLoadingPlan(); + map<cSecond, pair<EvolutionData, double> >::iterator ReactorNextPlan = ReactorLoadingPlan.begin(); + + + + + if (ReactorCycleTime !=0) + { + step += ReactorCycleTime; + do + { + if(ReactorNextPlan != ReactorLoadingPlan.end()) // Check if the Fuel change + { + if(step >= (*ReactorNextPlan).first) + { + ReactorCycleTime = (cSecond) ((*ReactorNextPlan).second.second * 1e9 + / (fReactor[i]->GetPower()) + * fReactor[i]->GetHeavyMetalMass() *3600*24); + ReactorNextPlan++; + + } + } + + //********* FabricationPlant Evolution Step *********// + if(!fReactor[i]->IsFuelFixed()) + if(step - FabricationCycleTime >= fAbsoluteTime && step - FabricationCycleTime <= t && step < ReactorShutDownTime) + { // Set End of reactor cycle + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(step - FabricationCycleTime,16) ); + if( !IResult.second ) IResult.first->second |= 16; + } + + if(step > fAbsoluteTime && step <= t && step < ReactorShutDownTime) + { // Set End of reactor cycle + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step,4) ); + if( !IResult.second ) IResult.first->second |= 4; + } + + //********* End/Start Of Reactor Cycle Step *********// + map< cSecond, int >::iterator TV_it; // the time vector iterator + //********* BackEnd fuel Cycle *********// + for(TV_it = BackEndTimePath.begin(); TV_it != BackEndTimePath.end(); TV_it++) // Loop on the BackEnd fuel Cycle Time path + { + // Test if each step of the Fuel Cycle BackEnd is after the actual time (AbsolutreTime) and before the end of the evolution (t) + if( step + (*TV_it).first >= fAbsoluteTime && step + (*TV_it).first <= t) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(step + (*TV_it).first, (*TV_it).second) ); + if( !IResult.second ) + IResult.first->second |= (*TV_it).second; + } + } + + + + step += ReactorCycleTime; + } + while(step <= t && step <= ReactorShutDownTime ); + } + else + { + cout << "!!Warning!! !!!Reactor!!! Be carefull a reactor cycletime is set to 0 second....\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!Reactor!!! Be carefull a reactor cycletime is set to 0 second....\"\n" << endl; + } + + } + + + + + //****** Print the Time Index ******// + ofstream TimeStepfile("CLASS_TimeStep", ios_base::app); // Open the File + + if(!TimeStepfile) + { + cout << "!!Warning!! !!!CLASS!!! Can't open \" CLASS_TimeStep \"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!CLASS!!! Can't open \" CLASS_TimeStep \"\n" << endl; + } + map<cSecond ,int >::iterator it; + for( it = fTimeStep.begin(); it != fTimeStep.end(); it++) + TimeStepfile << (*it).first << " " << (*it).second << endl; + +} +//________________________________________________________________________ +void CLASS::OldBuildTimeVector(cSecond t) +{ + fTimeStep.clear(); + fTimeStep.insert( pair<cSecond ,int>(t,1) ); + //********* Printing Step *********// + { + cSecond step = 0; + if(fAbsoluteTime == fStartingTime) + step = fStartingTime; + else + { + step = fAbsoluteTime; + } + if(step >= fAbsoluteTime ) + fTimeStep.insert( pair<cSecond ,int>(step,1) ); + step += fPrintStep; + do + { + + if(step >= fAbsoluteTime ) + fTimeStep.insert( pair<cSecond ,int>(step,1) ); + step += fPrintStep; + } + while( step < t ); + } + + for(int i = 0; i < (int)fReactor.size();i++) + { + double step = fReactor[i]->GetCreationTime(); + double coolingstep = fReactor[i]->GetOutBackEndFacility()->GetCycleTime(); + double fabricationstep = 0; + + if(!fReactor[i]->IsFuelFixed()) + fabricationstep = fReactor[i]->GetFabricationPlant()->GetCycleTime(); + + + //********* Reactor Evolution Step *********// + // set destruction of a reactor + if( (fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime() > fAbsoluteTime) && + (fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime() < t) ) + { + //********* Reactor Shutdown *********// + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime(),2) ); + if( !IResult.second ) IResult.first->second |= 2; + + //********* End of Cooling after reactor Shutdown *********// + if(fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()+coolingstep >= fAbsoluteTime + && fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()+coolingstep <= t) + { + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()+coolingstep,8) ); + if( !IResult.second ) IResult.first->second |= 8; + } + } + + + //********* Start Of Reactor First Cycle *********// + if(step >= fAbsoluteTime && step <= t && step < fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()) + { + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step,4) ); + if( !IResult.second ) IResult.first->second |= 4; + } + + //********* FabricationPlant Evolution Step *********// + if(!fReactor[i]->IsFuelFixed()) + { + if(step > fAbsoluteTime && step - fabricationstep <= t && step < fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime() ) + { + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step -fabricationstep,16) ); + if( !IResult.second ) IResult.first->second |= 16; + } + else if(step - fabricationstep < fStartingTime) + { + cout << "!!Warning!! !!!CLASS!!! Can't Build Fuel before Scenario's start\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!CLASS!!! Can't Build Fuel before Scenario's start\"\n" << endl; + exit(1); + } + } + + + //********* Reactor related Step *********// + step += fReactor[i]->GetCycleTime(); + if (fReactor[i]->GetCycleTime() !=0) + { + do + { + + + //********* FabricationPlant Evolution Step *********// + if(!fReactor[i]->IsFuelFixed()) + if(step > fAbsoluteTime && step - fabricationstep <= t && step < fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()) + { // Set End of reactor cycle + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step -fabricationstep,16) ); + if( !IResult.second ) IResult.first->second |= 16; + } + + + //********* End/Start Of Reactor Cycle Step *********// + if(step > fAbsoluteTime && step <= t && step < fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime()) + { // Set End of reactor cycle + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step,4) ); + if( !IResult.second ) IResult.first->second |= 4; + } + + //********* End of Cooling Step *********// + if(step >= fAbsoluteTime && step + coolingstep <= t) // Set End of Cooling + { + pair< map<cSecond, int>::iterator, bool > IResult = fTimeStep.insert( pair<cSecond ,int>(step+coolingstep,8) ); + if( !IResult.second ) IResult.first->second |= 8; + } + step += fReactor[i]->GetCycleTime(); + } + while(step <= t && step <= fReactor[i]->GetCreationTime() + fReactor[i]->GetLifeTime() ); + } + } + + + //*** In Case of Evolution Restart ****// + for(int i =0; i < (int)fPool.size(); i++) + { + //********* End of Cooling Step *********// + for(int j = 0; j<(int)fPool[i]->GetIVArray().size(); j++ )// Set End of Cooling + { + if(fPool[i]->GetCoolingStartingTime()[j] + fPool[i]->GetCycleTime() > fAbsoluteTime ) + { + pair< map<cSecond, int>::iterator, bool > IResult; + IResult = fTimeStep.insert( pair<cSecond ,int>(fPool[i]->GetCoolingStartingTime()[j] + fPool[i]->GetCycleTime(),8) ); + if( !IResult.second ) IResult.first->second |= 8; + } + } + } + + + + //****** Print the Time Index ******// + ofstream TimeStepfile("CLASS_TimeStep", ios_base::app); // Open the File + + if(!TimeStepfile) + { + cout << "!!Warning!! !!!CLASS!!! Can't open \" CLASS_TimeStep \"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!CLASS!!! Can't open \" CLASS_TimeStep \"\n" << endl; + } + map<cSecond ,int >::iterator it; + for( it = fTimeStep.begin(); it != fTimeStep.end(); it++) + TimeStepfile << (*it).first << " " << (*it).second << endl; + +} + + + +//________________________________________________________________________ +//___________________________ Evolution Method ___________________________ +//________________________________________________________________________ + +void CLASS::PoolEvolution() +{ + +#pragma omp parallel for + for(int i = 0; i < (int) fPool.size();i++) + fPool[i]->Evolution(fAbsoluteTime); + + for(int i = 0; i < (int) fPool.size();i++) + fPool[i]->Dump(); + +} + +void CLASS::StorageEvolution() +{ + +#pragma omp parallel for + for(int i = 0; i < (int) fStorage.size();i++) + fStorage[i]->Evolution(fAbsoluteTime); + + +} + +void CLASS::FabricationPlantEvolution() +{ + + //#pragma omp parallel for + for(int i = 0; i < (int) fFabricationPlant.size();i++) + fFabricationPlant[i]->Evolution(fAbsoluteTime); + + +} + +//________________________________________________________________________ +void CLASS::ReactorEvolution() +{ + + fParcPower = 0; +#pragma omp parallel for + for(int i = 0; i < (int)fReactor.size(); i++) + fReactor[i]->Evolution(fAbsoluteTime); + + + for(int i = 0; i < (int)fReactor.size(); i++) + fReactor[i]->Dump(); + + +} + +//________________________________________________________________________ +void CLASS::Evolution(double t) +{ + + + BuildTimeVector( (cSecond)t ); + + if(fNewTtree ) + { + OpenOutputTree(); + OutAttach(); + UpdateParc(); + fOutT->Fill(); + } + + map<cSecond ,int >::iterator it; + for(it = fTimeStep.begin(); it != fTimeStep.end(); it++) + { + + fAbsoluteTime = (*it).first; + + + if( (*it).second & 1 || (*it).second & 4 || (*it).second & 8 || (*it).second & 16 ) + StorageEvolution(); + + if( (*it).second & 1 || (*it).second & 2 || (*it).second & 4 || (*it).second & 8 || (*it).second & 16 ) + PoolEvolution(); + + if( (*it).second & 1 || (*it).second & 2 || (*it).second & 4 || (*it).second & 16 ) + FabricationPlantEvolution(); + + if( (*it).second & 1 || (*it).second & 2 || (*it).second & 4 ) + ReactorEvolution(); + + if( (*it).second & 1 || it == fTimeStep.begin() ) + { +#pragma omp single + { + UpdateParc(); + fOutT->Fill(); + ProgressPrintout( (cSecond)t); + } + } + + } + cout << endl; + + +} + +void CLASS::ProgressPrintout(cSecond t) +{ + + double Time = (fAbsoluteTime-fStartingTime)/3600/24/365.25 ; + double Total = (t-fStartingTime)/3600/24/365.25; + + cout << " " << flush ; + cout << "\r["; + for(int i = 0; i < (int)(Time/Total*100.0); i++) + cout << "|"; + for(int i = 100; i >= (int)(Time/Total*100.0); i--) + cout << "-"; + cout << "] "; + + cout << " Processed "; + if (Time < 10) cout << " "; + if (Time < 100) cout << " "; + cout << (int)Time << " / " << (int)Total << " Years \r" << flush; + + + GetLog()->fLog << "Proccessed"; + if (Time < 10) GetLog()->fLog << " "; + if (Time < 100) GetLog()->fLog << " "; + GetLog()->fLog << (int)Time << " / " << (int)Total << " Years \r" << endl; + +} + +//________________________________________________________________________ +//______________________________ Out Method ______________________________ +//________________________________________________________________________ +void CLASS::UpdateParc() +{ + + ResetQuantity(); + + for(int i =0; i < (int)fFabricationPlant.size(); i++) + fFuelFabrication += fFabricationPlant[i]->GetFullFabrication(); + + for(int i = 0; i < (int) fPool.size();i++) + fTotalCooling += fPool[i]->GetInsideIV(); + + for(int i = 0; i < (int)fStorage.size(); i++) + fTotalStorage += fStorage[i]->GetInsideIV(); + + for(int i = 0; i < (int)fReactor.size(); i++) + fTotalInReactor += fReactor[i]->GetIVReactor(); + + fIVTotal = fWaste + fTotalStorage + fTotalCooling + fFuelFabrication + fTotalInReactor; + fIVInCycleTotal = fTotalStorage + fTotalCooling + fFuelFabrication + fTotalInReactor; + + +} + + + +void CLASS::ResetQuantity() +{ + + + fTotalInReactor.Clear(); + fTotalStorage.Clear(); + fTotalCooling.Clear(); + fFuelFabrication.Clear(); + fIVInCycleTotal.Clear(); + fIVTotal.Clear(); + +} + +//________________________________________________________________________ +void CLASS::OpenOutputTree() +{ + + + cout << "Opening OutPut File ...\t"; + GetLog()->fLog << "Opening : " << fOutputFileName << " ...\t"; + fOutFile = new TFile(fOutputFileName.c_str(),"UPDATE"); + + if(!fOutFile) + { + cout << "\nCould not open " << fOutputFileName <<endl; + GetLog()->fLog << "\nCould not open " << fOutputFileName <<endl; + exit(-1); + } + cout << "\t ...OK!" << endl; + + + fOutT = new TTree(fOutputTreeName.c_str(), "Data Tree"); + cout << "Creating Data Tree ...\t"; + GetLog()->fLog << "Creating Data Tree ...\t"; + if(!fOutT) + { + cout << "\nCould not create Data Tree in " << fOutputFileName << endl; + GetLog()->fLog << "\nCould not create Data Tree in " << fOutputFileName << endl; + exit(-1); + } + fNewTtree = false; + cout << "\t ...OK!" << endl; + GetLog()->fLog << "\t ...OK!" << endl; + +} +void CLASS::CloseOutputTree() +{ + + + fOutFile->ls(); + cout << "Writing outTree " << fOutputFileName << endl; + GetLog()->fLog << "Writing outTree " << fOutputFileName << endl; + fOutFile->Write(); + + if(fOutFile->IsOpen()) { + cout << "Deleting outTree : " << endl; + GetLog()->fLog << "Deleting outTree : " << endl; + delete fOutT; + cout << "Closing file : " << fOutputFileName <<endl; + GetLog()->fLog << "Closing file : " << fOutputFileName <<endl; + fOutFile-> Close(); + delete fOutFile; + } else { + cout << "File was not opened " << fOutputFileName << endl; + GetLog()->fLog << "File was not opened " << fOutputFileName << endl; + exit(-1); + } +} +//________________________________________________________________________ +void CLASS::OutAttach() +{ + + ResetQuantity(); + //Branch Absolut Time + fOutT->Branch("AbsTime",&fAbsoluteTime,"AbsoluteTime/L"); + //Branch The Power installed in the Parc + fOutT->Branch("ParcPower",&fParcPower,"ParcPower/D"); + + + + // Branch the Sum IV + + + fOutT->Branch("STOCK.", "IsotopicVector", &fTotalStorage); + fOutT->Branch("FUELFABRICATION.", "IsotopicVector", &fFuelFabrication); + fOutT->Branch("COOLING.", "IsotopicVector", &fTotalCooling); + fOutT->Branch("REACTOR.", "IsotopicVector", &fTotalInReactor); + fOutT->Branch("INCYCLE.", "IsotopicVector", &fIVInCycleTotal); + fOutT->Branch("TOTAL.", "IsotopicVector", &fIVTotal); + + fOutT->Branch("GOD.", "IsotopicVector", &fGod); + fOutT->Branch("WASTE.", "IsotopicVector", &fWaste); + + // Branch the separate object + + for(int i = 0; i < (int)fStorage.size(); i++) + fOutT->Branch(fStorage[i]->GetName(), "Storage", &fStorage[i]); + + for(int i = 0; i < (int)fPool.size(); i++) + + fOutT->Branch(fPool[i]->GetName(), "Pool", &fPool[i]); + + for(int i = 0; i < (int)fReactor.size(); i++) + + fOutT->Branch(fReactor[i]->GetName(), "Reactor", &fReactor[i]); + + for(int i = 0; i < (int)fFabricationPlant.size(); i++) + fOutT->Branch(fFabricationPlant[i]->GetName(), "FabricationPlant", &fFabricationPlant[i]); + + +} + +//________________________________________________________________________ +void CLASS::Write() +{ + + + + +} + +//________________________________________________________________________ +void CLASS::Print() +{ + + for(int i = 0; i < (int) fPool.size();i++) + { + cout << "!!!!!!!!!STEP : " << fAbsoluteTime/(int)(3600*24*365.25) << endl; + cout << "Pool : " << endl; + cout << "Cooling "; + cout << fPool[i]->GetIVArray().size()<< endl; + } + + for(int i = 0; i < (int)fReactor.size(); i++) + { + cout << "Reactor" << endl; + fReactor[i]->GetIVReactor().Print(); + } + +} diff --git a/source/branches/CLASSV3/src/CLASSBackEnd.cxx b/source/branches/CLASSV3/src/CLASSBackEnd.cxx new file mode 100644 index 000000000..ae7dcad88 --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSBackEnd.cxx @@ -0,0 +1,69 @@ +#include "CLASSBackEnd.hxx" + +#include "DecayDataBank.hxx" +#include "CLASS.hxx" +#include "LogFile.hxx" + + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + +//________________________________________________________________________ +// +// CLASSBackEnd +// +// +// +// +//________________________________________________________________________ +ClassImp(CLASSBackEnd) + +CLASSBackEnd::CLASSBackEnd():CLASSFacility() +{ + fDecayDataBase = 0; +} + +//________________________________________________________________________ +void CLASSBackEnd::ClearIVArray() +{ + + IsotopicVector EmptyIV; + fInsideIV = EmptyIV; + fIVArray.clear(); +} + +//________________________________________________________________________ +void CLASSBackEnd::AddIV(IsotopicVector isotopicvector) +{ + + AddCumulativeIVIn(isotopicvector); + + fIVArray.push_back(isotopicvector); + +} + +//________________________________________________________________________ +// Get Decay +//________________________________________________________________________ +IsotopicVector CLASSBackEnd::GetDecay(IsotopicVector isotopicvector, cSecond t) +{ + + IsotopicVector IV; + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + { + if((*it).second > 0) + { + IsotopicVector ivtmp = fDecayDataBase->Evolution(it->first, t) * (*it).second ; + IV += ivtmp; + } + } + + return IV; + +} diff --git a/source/branches/CLASSV3/src/CLASSBackEndDict.cxx b/source/branches/CLASSV3/src/CLASSBackEndDict.cxx new file mode 100644 index 000000000..188f40984 --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSBackEndDict.cxx @@ -0,0 +1,1052 @@ +// +// File generated by rootcint at Mon Jun 2 14:45:53 2014 + +// Do NOT change. Changes will be lost next time file is generated +// + +#define R__DICTIONARY_FILENAME CLASSBackEndDict +#include "RConfig.h" //rootcint 4834 +#if !defined(R__ACCESS_IN_SYMBOL) +//Break the privacy of classes -- Disabled for the moment +#define private public +#define protected public +#endif + +// Since CINT ignores the std namespace, we need to do so in this file. +namespace std {} using namespace std; +#include "CLASSBackEndDict.h" + +#include "TCollectionProxyInfo.h" +#include "TClass.h" +#include "TBuffer.h" +#include "TMemberInspector.h" +#include "TError.h" + +#ifndef G__ROOT +#define G__ROOT +#endif + +#include "RtypesImp.h" +#include "TIsAProxy.h" +#include "TFileMergeInfo.h" + +// Direct notice to TROOT of the dictionary's loading. +namespace { + static struct DictInit { + DictInit() { + ROOT::RegisterModule(); + } + } __TheDictionaryInitializer; +} + +// START OF SHADOWS + +namespace ROOT { + namespace Shadow { + } // of namespace Shadow +} // of namespace ROOT +// END OF SHADOWS + +namespace ROOT { + void CLASSBackEnd_ShowMembers(void *obj, TMemberInspector &R__insp); + static void *new_CLASSBackEnd(void *p = 0); + static void *newArray_CLASSBackEnd(Long_t size, void *p); + static void delete_CLASSBackEnd(void *p); + static void deleteArray_CLASSBackEnd(void *p); + static void destruct_CLASSBackEnd(void *p); + static void streamer_CLASSBackEnd(TBuffer &buf, void *obj); + + // Function generating the singleton type initializer + static TGenericClassInfo *GenerateInitInstanceLocal(const ::CLASSBackEnd*) + { + ::CLASSBackEnd *ptr = 0; + static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::CLASSBackEnd >(0); + static ::ROOT::TGenericClassInfo + instance("CLASSBackEnd", ::CLASSBackEnd::Class_Version(), "./../include/CLASSBackEnd.hxx", 41, + typeid(::CLASSBackEnd), DefineBehavior(ptr, ptr), + &::CLASSBackEnd::Dictionary, isa_proxy, 0, + sizeof(::CLASSBackEnd) ); + instance.SetNew(&new_CLASSBackEnd); + instance.SetNewArray(&newArray_CLASSBackEnd); + instance.SetDelete(&delete_CLASSBackEnd); + instance.SetDeleteArray(&deleteArray_CLASSBackEnd); + instance.SetDestructor(&destruct_CLASSBackEnd); + instance.SetStreamerFunc(&streamer_CLASSBackEnd); + return &instance; + } + TGenericClassInfo *GenerateInitInstance(const ::CLASSBackEnd*) + { + return GenerateInitInstanceLocal((::CLASSBackEnd*)0); + } + // Static variable to force the class initialization + static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::CLASSBackEnd*)0x0); R__UseDummy(_R__UNIQUE_(Init)); +} // end of namespace ROOT + +//______________________________________________________________________________ +TClass *CLASSBackEnd::fgIsA = 0; // static to hold class pointer + +//______________________________________________________________________________ +const char *CLASSBackEnd::Class_Name() +{ + return "CLASSBackEnd"; +} + +//______________________________________________________________________________ +const char *CLASSBackEnd::ImplFileName() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSBackEnd*)0x0)->GetImplFileName(); +} + +//______________________________________________________________________________ +int CLASSBackEnd::ImplFileLine() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSBackEnd*)0x0)->GetImplFileLine(); +} + +//______________________________________________________________________________ +void CLASSBackEnd::Dictionary() +{ + fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSBackEnd*)0x0)->GetClass(); +} + +//______________________________________________________________________________ +TClass *CLASSBackEnd::Class() +{ + if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSBackEnd*)0x0)->GetClass(); + return fgIsA; +} + +//______________________________________________________________________________ +void CLASSBackEnd::Streamer(TBuffer &R__b) +{ + // Stream an object of class CLASSBackEnd. + + UInt_t R__s, R__c; + if (R__b.IsReading()) { + Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { } + CLASSFacility::Streamer(R__b); + { + vector<IsotopicVector> &R__stl = fIVArray; + R__stl.clear(); + int R__i, R__n; + R__b >> R__n; + R__stl.reserve(R__n); + for (R__i = 0; R__i < R__n; R__i++) { + IsotopicVector R__t; + R__t.Streamer(R__b); + R__stl.push_back(R__t); + } + } + R__b.CheckByteCount(R__s, R__c, CLASSBackEnd::IsA()); + } else { + R__c = R__b.WriteVersion(CLASSBackEnd::IsA(), kTRUE); + CLASSFacility::Streamer(R__b); + { + vector<IsotopicVector> &R__stl = fIVArray; + int R__n=(&R__stl) ? int(R__stl.size()) : 0; + R__b << R__n; + if(R__n) { + vector<IsotopicVector>::iterator R__k; + for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) { + ((IsotopicVector&)(*R__k)).Streamer(R__b); + } + } + } + R__b.SetByteCount(R__c, kTRUE); + } +} + +//______________________________________________________________________________ +void CLASSBackEnd::ShowMembers(TMemberInspector &R__insp) +{ + // Inspect the data members of an object of class CLASSBackEnd. + TClass *R__cl = ::CLASSBackEnd::IsA(); + if (R__cl || R__insp.IsA()) { } + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIVArray", (void*)&fIVArray); + R__insp.InspectMember("vector<IsotopicVector>", (void*)&fIVArray, "fIVArray.", false); + R__insp.Inspect(R__cl, R__insp.GetParent(), "*fOutBackEndFacility", &fOutBackEndFacility); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIsStorageType", &fIsStorageType); + R__insp.Inspect(R__cl, R__insp.GetParent(), "*fDecayDataBase", &fDecayDataBase); + CLASSFacility::ShowMembers(R__insp); +} + +namespace ROOT { + // Wrappers around operator new + static void *new_CLASSBackEnd(void *p) { + return p ? new(p) ::CLASSBackEnd : new ::CLASSBackEnd; + } + static void *newArray_CLASSBackEnd(Long_t nElements, void *p) { + return p ? new(p) ::CLASSBackEnd[nElements] : new ::CLASSBackEnd[nElements]; + } + // Wrapper around operator delete + static void delete_CLASSBackEnd(void *p) { + delete ((::CLASSBackEnd*)p); + } + static void deleteArray_CLASSBackEnd(void *p) { + delete [] ((::CLASSBackEnd*)p); + } + static void destruct_CLASSBackEnd(void *p) { + typedef ::CLASSBackEnd current_t; + ((current_t*)p)->~current_t(); + } + // Wrapper around a custom streamer member function. + static void streamer_CLASSBackEnd(TBuffer &buf, void *obj) { + ((::CLASSBackEnd*)obj)->::CLASSBackEnd::Streamer(buf); + } +} // end of namespace ROOT for class ::CLASSBackEnd + +namespace ROOT { + void vectorlEIsotopicVectorgR_ShowMembers(void *obj, TMemberInspector &R__insp); + static void vectorlEIsotopicVectorgR_Dictionary(); + static void *new_vectorlEIsotopicVectorgR(void *p = 0); + static void *newArray_vectorlEIsotopicVectorgR(Long_t size, void *p); + static void delete_vectorlEIsotopicVectorgR(void *p); + static void deleteArray_vectorlEIsotopicVectorgR(void *p); + static void destruct_vectorlEIsotopicVectorgR(void *p); + + // Function generating the singleton type initializer + static TGenericClassInfo *GenerateInitInstanceLocal(const vector<IsotopicVector>*) + { + vector<IsotopicVector> *ptr = 0; + static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<IsotopicVector>),0); + static ::ROOT::TGenericClassInfo + instance("vector<IsotopicVector>", -2, "prec_stl/vector", 49, + typeid(vector<IsotopicVector>), DefineBehavior(ptr, ptr), + 0, &vectorlEIsotopicVectorgR_Dictionary, isa_proxy, 0, + sizeof(vector<IsotopicVector>) ); + instance.SetNew(&new_vectorlEIsotopicVectorgR); + instance.SetNewArray(&newArray_vectorlEIsotopicVectorgR); + instance.SetDelete(&delete_vectorlEIsotopicVectorgR); + instance.SetDeleteArray(&deleteArray_vectorlEIsotopicVectorgR); + instance.SetDestructor(&destruct_vectorlEIsotopicVectorgR); + instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<IsotopicVector> >())); + return &instance; + } + // Static variable to force the class initialization + static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<IsotopicVector>*)0x0); R__UseDummy(_R__UNIQUE_(Init)); + + // Dictionary for non-ClassDef classes + static void vectorlEIsotopicVectorgR_Dictionary() { + ::ROOT::GenerateInitInstanceLocal((const vector<IsotopicVector>*)0x0)->GetClass(); + } + +} // end of namespace ROOT + +namespace ROOT { + // Wrappers around operator new + static void *new_vectorlEIsotopicVectorgR(void *p) { + return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<IsotopicVector> : new vector<IsotopicVector>; + } + static void *newArray_vectorlEIsotopicVectorgR(Long_t nElements, void *p) { + return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<IsotopicVector>[nElements] : new vector<IsotopicVector>[nElements]; + } + // Wrapper around operator delete + static void delete_vectorlEIsotopicVectorgR(void *p) { + delete ((vector<IsotopicVector>*)p); + } + static void deleteArray_vectorlEIsotopicVectorgR(void *p) { + delete [] ((vector<IsotopicVector>*)p); + } + static void destruct_vectorlEIsotopicVectorgR(void *p) { + typedef vector<IsotopicVector> current_t; + ((current_t*)p)->~current_t(); + } +} // end of namespace ROOT for class vector<IsotopicVector> + +/******************************************************** +* CLASSBackEndDict.cxx +* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED +* FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX(). +* CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE. +********************************************************/ + +#ifdef G__MEMTEST +#undef malloc +#undef free +#endif + +#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3)) +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif + +extern "C" void G__cpp_reset_tagtableCLASSBackEndDict(); + +extern "C" void G__set_cpp_environmentCLASSBackEndDict() { + G__add_compiledheader("TObject.h"); + G__add_compiledheader("TMemberInspector.h"); + G__add_compiledheader("../include/CLASSBackEnd.hxx"); + G__cpp_reset_tagtableCLASSBackEndDict(); +} +#include <new> +extern "C" int G__cpp_dllrevCLASSBackEndDict() { return(30051515); } + +/********************************************************* +* Member function Interface Method +*********************************************************/ + +/* CLASSBackEnd */ +static int G__CLASSBackEndDict_493_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSBackEnd* p = NULL; + char* gvp = (char*) G__getgvp(); + int n = G__getaryconstruct(); + if (n) { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSBackEnd[n]; + } else { + p = new((void*) gvp) CLASSBackEnd[n]; + } + } else { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSBackEnd; + } else { + p = new((void*) gvp) CLASSBackEnd; + } + } + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd)); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) ((CLASSBackEnd*) G__getstructoffset())->GetDecayDataBank()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + { + const vector<IsotopicVector>* pobj; + const vector<IsotopicVector> xobj = ((const CLASSBackEnd*) G__getstructoffset())->GetIVArray(); + pobj = new vector<IsotopicVector>(xobj); + result7->obj.i = (long) ((void*) pobj); + result7->ref = result7->obj.i; + G__store_tempobject(*result7); + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) ((const CLASSBackEnd*) G__getstructoffset())->GetIVNumber()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 103, (long) ((const CLASSBackEnd*) G__getstructoffset())->GetStorageType()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) ((const CLASSBackEnd*) G__getstructoffset())->GetOutBackEndFacility()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + { + const IsotopicVector* pobj; + const IsotopicVector xobj = ((const CLASSBackEnd*) G__getstructoffset())->GetIV((int) G__int(libp->para[0])); + pobj = new IsotopicVector(xobj); + result7->obj.i = (long) ((void*) pobj); + result7->ref = result7->obj.i; + G__store_tempobject(*result7); + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + switch (libp->paran) { + case 1: + ((CLASSBackEnd*) G__getstructoffset())->SetIsStorageType((bool) G__int(libp->para[0])); + G__setnull(result7); + break; + case 0: + ((CLASSBackEnd*) G__getstructoffset())->SetIsStorageType(); + G__setnull(result7); + break; + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->SetDecayDataBank((DecayDataBank*) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->SetIVArray(*((vector<IsotopicVector>*) G__int(libp->para[0]))); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->SetOutBackEndFacility((CLASSBackEnd*) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->AddIV(*((IsotopicVector*) G__int(libp->para[0]))); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->ClearIVArray(); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) CLASSBackEnd::Class()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSBackEnd::Class_Name()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 115, (long) CLASSBackEnd::Class_Version()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSBackEnd::Dictionary(); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSBackEnd*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSBackEnd::DeclFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSBackEnd::ImplFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSBackEnd::ImplFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSBackEndDict_493_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSBackEnd::DeclFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic copy constructor +static int G__CLASSBackEndDict_493_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) + +{ + CLASSBackEnd* p; + void* tmp = (void*) G__int(libp->para[0]); + p = new CLASSBackEnd(*(CLASSBackEnd*) tmp); + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd)); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic destructor +typedef CLASSBackEnd G__TCLASSBackEnd; +static int G__CLASSBackEndDict_493_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + char* gvp = (char*) G__getgvp(); + long soff = G__getstructoffset(); + int n = G__getaryconstruct(); + // + //has_a_delete: 1 + //has_own_delete1arg: 0 + //has_own_delete2arg: 0 + // + if (!soff) { + return(1); + } + if (n) { + if (gvp == (char*)G__PVOID) { + delete[] (CLASSBackEnd*) soff; + } else { + G__setgvp((long) G__PVOID); + for (int i = n - 1; i >= 0; --i) { + ((CLASSBackEnd*) (soff+(sizeof(CLASSBackEnd)*i)))->~G__TCLASSBackEnd(); + } + G__setgvp((long)gvp); + } + } else { + if (gvp == (char*)G__PVOID) { + delete (CLASSBackEnd*) soff; + } else { + G__setgvp((long) G__PVOID); + ((CLASSBackEnd*) (soff))->~G__TCLASSBackEnd(); + G__setgvp((long)gvp); + } + } + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic assignment operator +static int G__CLASSBackEndDict_493_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSBackEnd* dest = (CLASSBackEnd*) G__getstructoffset(); + *dest = *(CLASSBackEnd*) libp->para[0].ref; + const CLASSBackEnd& obj = *dest; + result7->ref = (long) (&obj); + result7->obj.i = (long) (&obj); + return(1 || funcname || hash || result7 || libp) ; +} + + +/* Setting up global function */ + +/********************************************************* +* Member function Stub +*********************************************************/ + +/* CLASSBackEnd */ + +/********************************************************* +* Global function Stub +*********************************************************/ + +/********************************************************* +* Get size of pointer to member function +*********************************************************/ +class G__Sizep2memfuncCLASSBackEndDict { + public: + G__Sizep2memfuncCLASSBackEndDict(): p(&G__Sizep2memfuncCLASSBackEndDict::sizep2memfunc) {} + size_t sizep2memfunc() { return(sizeof(p)); } + private: + size_t (G__Sizep2memfuncCLASSBackEndDict::*p)(); +}; + +size_t G__get_sizep2memfuncCLASSBackEndDict() +{ + G__Sizep2memfuncCLASSBackEndDict a; + G__setsizep2memfunc((int)a.sizep2memfunc()); + return((size_t)a.sizep2memfunc()); +} + + +/********************************************************* +* virtual base class offset calculation interface +*********************************************************/ + + /* Setting up class inheritance */ + +/********************************************************* +* Inheritance information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_inheritanceCLASSBackEndDict() { + + /* Setting up class inheritance */ + if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd))) { + CLASSBackEnd *G__Lderived; + G__Lderived=(CLASSBackEnd*)0x1000; + { + CLASSFacility *G__Lpbase=(CLASSFacility*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd),G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSFacility),(long)G__Lpbase-(long)G__Lderived,1,1); + } + { + CLASSObject *G__Lpbase=(CLASSObject*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd),G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSObject),(long)G__Lpbase-(long)G__Lderived,1,0); + } + { + TNamed *G__Lpbase=(TNamed*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd),G__get_linked_tagnum(&G__CLASSBackEndDictLN_TNamed),(long)G__Lpbase-(long)G__Lderived,1,0); + } + { + TObject *G__Lpbase=(TObject*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd),G__get_linked_tagnum(&G__CLASSBackEndDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,0); + } + } +} + +/********************************************************* +* typedef information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_typetableCLASSBackEndDict() { + + /* Setting up typedef entry */ + G__search_typename2("Version_t",115,-1,0,-1); + G__setnewtype(-1,"Class version identifier (short)",0); + G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,double>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,double,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<ZAI>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTBase<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTBaselEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTBase<Double_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTBaselEdoublegR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TVectorTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TVectorTlEdoublegR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixT<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTRow_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTRow_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTColumn_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTColumn_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTDiag_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTDiag_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTFlat_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTFlat_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSub_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSub_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseRow_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSparseRow_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseDiag_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSparseDiag_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTRow<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTRowlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTColumn<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTColumnlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTDiag<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTDiaglEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTFlat<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTFlatlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSub<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSublEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseRow<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSparseRowlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseDiag<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TMatrixTSparseDiaglEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TElementActionT<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TElementActionTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TElementPosActionT<Float_t>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TElementPosActionTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,TGraph*>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,TGraph*,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,EvolutionData>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,EvolutionData,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<IsotopicVector>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR)); + G__setnewtype(-1,NULL,0); +} + +/********************************************************* +* Data Member information setup/ +*********************************************************/ + + /* Setting up class,struct,union tag member variable */ + + /* CLASSBackEnd */ +static void G__setup_memvarCLASSBackEnd(void) { + G__tag_memvar_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd)); + { CLASSBackEnd *p; p=(CLASSBackEnd*)0x1000; if (p) { } + G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR),G__defined_typename("vector<IsotopicVector>"),-1,2,"fIVArray=",0,"/< Vector containning all the fuel stored."); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd),-1,-1,2,"fOutBackEndFacility=",0,"!< Facility getting the fuel at the end of the cycle"); + G__memvar_setup((void*)0,103,0,0,-1,-1,-1,4,"fIsStorageType=",0,"!< True if there is not OutBAckEndFacility (like a storage...)"); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_DecayDataBank),-1,-1,4,"fDecayDataBase=",0,"!< Pointer to the Decay DataBase"); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSBackEndDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL); + } + G__tag_memvar_reset(); +} + +extern "C" void G__cpp_setup_memvarCLASSBackEndDict() { +} +/*********************************************************** +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +***********************************************************/ + +/********************************************************* +* Member function information setup for each class +*********************************************************/ +static void G__setup_memfuncCLASSBackEnd(void) { + /* CLASSBackEnd */ + G__tag_memfunc_setup(G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd)); + G__memfunc_setup("CLASSBackEnd",1022,G__CLASSBackEndDict_493_0_1, 105, G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("GetDecayDataBank",1532,G__CLASSBackEndDict_493_0_2, 85, G__get_linked_tagnum(&G__CLASSBackEndDictLN_DecayDataBank), -1, 0, 0, 1, 1, 0, "", "!< Return the pointer to the decay DataBank", (void*) NULL, 0); + G__memfunc_setup("GetIVArray",958,G__CLASSBackEndDict_493_0_3, 117, G__get_linked_tagnum(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR), G__defined_typename("vector<IsotopicVector>"), 0, 0, 1, 1, 8, "", "!< Return the IsotopicVector Array", (void*) NULL, 0); + G__memfunc_setup("GetIVNumber",1064,G__CLASSBackEndDict_493_0_4, 105, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("GetStorageType",1431,G__CLASSBackEndDict_493_0_5, 103, -1, -1, 0, 0, 1, 1, 8, "", "!< Return the storageType", (void*) NULL, 0); + G__memfunc_setup("GetOutBackEndFacility",2069,G__CLASSBackEndDict_493_0_6, 85, G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd), -1, 0, 0, 1, 1, 8, "", "!<Return the pointer to the OUtBackEndFacility", (void*) NULL, 0); + G__memfunc_setup("GetIV",447,G__CLASSBackEndDict_493_0_7, 117, G__get_linked_tagnum(&G__CLASSBackEndDictLN_IsotopicVector), -1, 0, 1, 1, 1, 8, "i - - 0 - i", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("SetIsStorageType",1631,G__CLASSBackEndDict_493_0_8, 121, -1, -1, 0, 1, 1, 1, 0, "g - - 0 'true' val", "! Set the fIsStorage bool", (void*) NULL, 0); + G__memfunc_setup("SetDecayDataBank",1544,G__CLASSBackEndDict_493_0_9, 121, -1, -1, 0, 1, 1, 1, 0, "U 'DecayDataBank' - 0 - decayDB", "! Set the Decay DataBank", (void*) NULL, 0); + G__memfunc_setup("SetIVArray",970,G__CLASSBackEndDict_493_0_10, 121, -1, -1, 0, 1, 1, 1, 0, "u 'vector<IsotopicVector,allocator<IsotopicVector> >' 'vector<IsotopicVector>' 0 - ivarray", "!< Set The isotopicVector Array", (void*) NULL, 1); + G__memfunc_setup("SetOutBackEndFacility",2081,G__CLASSBackEndDict_493_0_11, 121, -1, -1, 0, 1, 1, 1, 0, "U 'CLASSBackEnd' - 0 - befacility", "! Set a Out Facility for the fuel", (void*) NULL, 1); + G__memfunc_setup("AddIV",424,G__CLASSBackEndDict_493_0_12, 121, -1, -1, 0, 1, 1, 1, 0, "u 'IsotopicVector' - 0 - isotopicvector", "!< Add an Isotopicvector to the IVArray", (void*) NULL, 1); + G__memfunc_setup("ClearIVArray",1157,G__CLASSBackEndDict_493_0_13, 121, -1, -1, 0, 0, 1, 1, 0, "", "!< Empty the IVArray removing all fuel stored", (void*) NULL, 0); + G__memfunc_setup("GetDecay",774,(G__InterfaceMethod) NULL, 117, G__get_linked_tagnum(&G__CLASSBackEndDictLN_IsotopicVector), -1, 0, 2, 1, 2, 0, +"u 'IsotopicVector' - 0 - isotopicvector n - 'cSecond' 0 - t", "!< Get IsotopicVector Decay at the t time", (void*) NULL, 0); + G__memfunc_setup("Class",502,G__CLASSBackEndDict_493_0_15, 85, G__get_linked_tagnum(&G__CLASSBackEndDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&CLASSBackEnd::Class) ), 0); + G__memfunc_setup("Class_Name",982,G__CLASSBackEndDict_493_0_16, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSBackEnd::Class_Name) ), 0); + G__memfunc_setup("Class_Version",1339,G__CLASSBackEndDict_493_0_17, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&CLASSBackEnd::Class_Version) ), 0); + G__memfunc_setup("Dictionary",1046,G__CLASSBackEndDict_493_0_18, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&CLASSBackEnd::Dictionary) ), 0); + G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__CLASSBackEndDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("StreamerNVirtual",1656,G__CLASSBackEndDict_493_0_22, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - ClassDef_StreamerNVirtual_b", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("DeclFileName",1145,G__CLASSBackEndDict_493_0_23, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSBackEnd::DeclFileName) ), 0); + G__memfunc_setup("ImplFileLine",1178,G__CLASSBackEndDict_493_0_24, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSBackEnd::ImplFileLine) ), 0); + G__memfunc_setup("ImplFileName",1171,G__CLASSBackEndDict_493_0_25, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSBackEnd::ImplFileName) ), 0); + G__memfunc_setup("DeclFileLine",1152,G__CLASSBackEndDict_493_0_26, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSBackEnd::DeclFileLine) ), 0); + // automatic copy constructor + G__memfunc_setup("CLASSBackEnd", 1022, G__CLASSBackEndDict_493_0_27, (int) ('i'), G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd), -1, 0, 1, 1, 1, 0, "u 'CLASSBackEnd' - 11 - -", (char*) NULL, (void*) NULL, 0); + // automatic destructor + G__memfunc_setup("~CLASSBackEnd", 1148, G__CLASSBackEndDict_493_0_28, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 0); + // automatic assignment operator + G__memfunc_setup("operator=", 937, G__CLASSBackEndDict_493_0_29, (int) ('u'), G__get_linked_tagnum(&G__CLASSBackEndDictLN_CLASSBackEnd), -1, 1, 1, 1, 1, 0, "u 'CLASSBackEnd' - 11 - -", (char*) NULL, (void*) NULL, 0); + G__tag_memfunc_reset(); +} + + +/********************************************************* +* Member function information setup +*********************************************************/ +extern "C" void G__cpp_setup_memfuncCLASSBackEndDict() { +} + +/********************************************************* +* Global variable information setup for each class +*********************************************************/ +static void G__cpp_setup_global0() { + + /* Setting up global variables */ + G__resetplocal(); + +} + +static void G__cpp_setup_global1() { +} + +static void G__cpp_setup_global2() { + + G__resetglobalenv(); +} +extern "C" void G__cpp_setup_globalCLASSBackEndDict() { + G__cpp_setup_global0(); + G__cpp_setup_global1(); + G__cpp_setup_global2(); +} + +/********************************************************* +* Global function information setup for each class +*********************************************************/ +static void G__cpp_setup_func0() { + G__lastifuncposition(); + +} + +static void G__cpp_setup_func1() { +} + +static void G__cpp_setup_func2() { +} + +static void G__cpp_setup_func3() { +} + +static void G__cpp_setup_func4() { +} + +static void G__cpp_setup_func5() { +} + +static void G__cpp_setup_func6() { +} + +static void G__cpp_setup_func7() { +} + +static void G__cpp_setup_func8() { +} + +static void G__cpp_setup_func9() { +} + +static void G__cpp_setup_func10() { +} + +static void G__cpp_setup_func11() { +} + +static void G__cpp_setup_func12() { +} + +static void G__cpp_setup_func13() { +} + +static void G__cpp_setup_func14() { +} + +static void G__cpp_setup_func15() { +} + +static void G__cpp_setup_func16() { +} + +static void G__cpp_setup_func17() { +} + +static void G__cpp_setup_func18() { +} + +static void G__cpp_setup_func19() { + + G__resetifuncposition(); +} + +extern "C" void G__cpp_setup_funcCLASSBackEndDict() { + G__cpp_setup_func0(); + G__cpp_setup_func1(); + G__cpp_setup_func2(); + G__cpp_setup_func3(); + G__cpp_setup_func4(); + G__cpp_setup_func5(); + G__cpp_setup_func6(); + G__cpp_setup_func7(); + G__cpp_setup_func8(); + G__cpp_setup_func9(); + G__cpp_setup_func10(); + G__cpp_setup_func11(); + G__cpp_setup_func12(); + G__cpp_setup_func13(); + G__cpp_setup_func14(); + G__cpp_setup_func15(); + G__cpp_setup_func16(); + G__cpp_setup_func17(); + G__cpp_setup_func18(); + G__cpp_setup_func19(); +} + +/********************************************************* +* Class,struct,union,enum tag information setup +*********************************************************/ +/* Setup class/struct taginfo */ +G__linked_taginfo G__CLASSBackEndDictLN_TClass = { "TClass" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TBuffer = { "TBuffer" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TObject = { "TObject" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TNamed = { "TNamed" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_CLASSObject = { "CLASSObject" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_IsotopicVector = { "IsotopicVector" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR = { "map<ZAI,double,less<ZAI>,allocator<pair<const ZAI,double> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR = { "vector<ZAI,allocator<ZAI> >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ZAI,allocator<ZAI> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTBaselEfloatgR = { "TMatrixTBase<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTBaselEdoublegR = { "TMatrixTBase<double>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TElementActionTlEfloatgR = { "TElementActionT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TElementPosActionTlEfloatgR = { "TElementPosActionT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTlEfloatgR = { "TMatrixT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTRow_constlEfloatgR = { "TMatrixTRow_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTRowlEfloatgR = { "TMatrixTRow<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTDiag_constlEfloatgR = { "TMatrixTDiag_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTColumn_constlEfloatgR = { "TMatrixTColumn_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTFlat_constlEfloatgR = { "TMatrixTFlat_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSub_constlEfloatgR = { "TMatrixTSub_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSparseRow_constlEfloatgR = { "TMatrixTSparseRow_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSparseDiag_constlEfloatgR = { "TMatrixTSparseDiag_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTColumnlEfloatgR = { "TMatrixTColumn<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTDiaglEfloatgR = { "TMatrixTDiag<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTFlatlEfloatgR = { "TMatrixTFlat<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSublEfloatgR = { "TMatrixTSub<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSparseRowlEfloatgR = { "TMatrixTSparseRow<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_TMatrixTSparseDiaglEfloatgR = { "TMatrixTSparseDiag<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR = { "map<ZAI,TGraph*,less<ZAI>,allocator<pair<const ZAI,TGraph*> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_DecayDataBank = { "DecayDataBank" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR = { "map<ZAI,EvolutionData,less<ZAI>,allocator<pair<const ZAI,EvolutionData> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_CLASSFacility = { "CLASSFacility" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_CLASSBackEnd = { "CLASSBackEnd" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR = { "vector<IsotopicVector,allocator<IsotopicVector> >" , 99 , -1 }; +G__linked_taginfo G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<IsotopicVector,allocator<IsotopicVector> >::iterator>" , 99 , -1 }; + +/* Reset class/struct taginfo */ +extern "C" void G__cpp_reset_tagtableCLASSBackEndDict() { + G__CLASSBackEndDictLN_TClass.tagnum = -1 ; + G__CLASSBackEndDictLN_TBuffer.tagnum = -1 ; + G__CLASSBackEndDictLN_TMemberInspector.tagnum = -1 ; + G__CLASSBackEndDictLN_TObject.tagnum = -1 ; + G__CLASSBackEndDictLN_TNamed.tagnum = -1 ; + G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSBackEndDictLN_CLASSObject.tagnum = -1 ; + G__CLASSBackEndDictLN_IsotopicVector.tagnum = -1 ; + G__CLASSBackEndDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTBaselEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTBaselEdoublegR.tagnum = -1 ; + G__CLASSBackEndDictLN_TVectorTlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TVectorTlEdoublegR.tagnum = -1 ; + G__CLASSBackEndDictLN_TElementActionTlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TElementPosActionTlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTRow_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTRowlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTDiag_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTColumn_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTFlat_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSub_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSparseRow_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSparseDiag_constlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTColumnlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTDiaglEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTFlatlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSublEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSparseRowlEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_TMatrixTSparseDiaglEfloatgR.tagnum = -1 ; + G__CLASSBackEndDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_DecayDataBank.tagnum = -1 ; + G__CLASSBackEndDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_CLASSFacility.tagnum = -1 ; + G__CLASSBackEndDictLN_CLASSBackEnd.tagnum = -1 ; + G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR.tagnum = -1 ; + G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgRcLcLiteratorgR.tagnum = -1 ; +} + + +extern "C" void G__cpp_setup_tagtableCLASSBackEndDict() { + + /* Setting up class,struct,union tag entry */ + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TClass); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TBuffer); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMemberInspector); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TObject); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TNamed); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_CLASSObject); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_IsotopicVector); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_vectorlEintcOallocatorlEintgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTBaselEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTBaselEdoublegR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TVectorTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TVectorTlEdoublegR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TElementActionTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TElementPosActionTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTRow_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTRowlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTDiag_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTColumn_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTFlat_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSub_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSparseRow_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSparseDiag_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTColumnlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTDiaglEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTFlatlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSublEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSparseRowlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_TMatrixTSparseDiaglEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_DecayDataBank); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_CLASSFacility); + G__tagtable_setup(G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_CLASSBackEnd),sizeof(CLASSBackEnd),-1,61696,(char*)NULL,G__setup_memvarCLASSBackEnd,G__setup_memfuncCLASSBackEnd); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_vectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSBackEndDictLN_reverse_iteratorlEvectorlEIsotopicVectorcOallocatorlEIsotopicVectorgRsPgRcLcLiteratorgR); +} +extern "C" void G__cpp_setupCLASSBackEndDict(void) { + G__check_setup_version(30051515,"G__cpp_setupCLASSBackEndDict()"); + G__set_cpp_environmentCLASSBackEndDict(); + G__cpp_setup_tagtableCLASSBackEndDict(); + + G__cpp_setup_inheritanceCLASSBackEndDict(); + + G__cpp_setup_typetableCLASSBackEndDict(); + + G__cpp_setup_memvarCLASSBackEndDict(); + + G__cpp_setup_memfuncCLASSBackEndDict(); + G__cpp_setup_globalCLASSBackEndDict(); + G__cpp_setup_funcCLASSBackEndDict(); + + if(0==G__getsizep2memfunc()) G__get_sizep2memfuncCLASSBackEndDict(); + return; +} +class G__cpp_setup_initCLASSBackEndDict { + public: + G__cpp_setup_initCLASSBackEndDict() { G__add_setup_func("CLASSBackEndDict",(G__incsetup)(&G__cpp_setupCLASSBackEndDict)); G__call_setup_funcs(); } + ~G__cpp_setup_initCLASSBackEndDict() { G__remove_setup_func("CLASSBackEndDict"); } +}; +G__cpp_setup_initCLASSBackEndDict G__cpp_setup_initializerCLASSBackEndDict; + diff --git a/source/branches/CLASSV3/src/CLASSFacility.cxx b/source/branches/CLASSV3/src/CLASSFacility.cxx new file mode 100644 index 000000000..dbb18cdd2 --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSFacility.cxx @@ -0,0 +1,26 @@ +#include "CLASSFacility.hxx" +#include "CLASS.hxx" + +using namespace std; + + //________________________________________________________________________ + // + // CLASSFacility + // + // + // + // + //________________________________________________________________________ + +ClassImp(CLASSFacility) + + +CLASSFacility::CLASSFacility():CLASSObject() +{ + fParc = 0; + fInternalTime = 0; + fInCycleTime = 0; + fCycleTime = 0; +} + + diff --git a/source/branches/CLASSV3/src/CLASSFacilityDict.cxx b/source/branches/CLASSV3/src/CLASSFacilityDict.cxx new file mode 100644 index 000000000..5fbabfc4c --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSFacilityDict.cxx @@ -0,0 +1,1080 @@ +// +// File generated by rootcint at Mon Jun 2 14:42:34 2014 + +// Do NOT change. Changes will be lost next time file is generated +// + +#define R__DICTIONARY_FILENAME CLASSFacilityDict +#include "RConfig.h" //rootcint 4834 +#if !defined(R__ACCESS_IN_SYMBOL) +//Break the privacy of classes -- Disabled for the moment +#define private public +#define protected public +#endif + +// Since CINT ignores the std namespace, we need to do so in this file. +namespace std {} using namespace std; +#include "CLASSFacilityDict.h" + +#include "TClass.h" +#include "TBuffer.h" +#include "TMemberInspector.h" +#include "TError.h" + +#ifndef G__ROOT +#define G__ROOT +#endif + +#include "RtypesImp.h" +#include "TIsAProxy.h" +#include "TFileMergeInfo.h" + +// Direct notice to TROOT of the dictionary's loading. +namespace { + static struct DictInit { + DictInit() { + ROOT::RegisterModule(); + } + } __TheDictionaryInitializer; +} + +// START OF SHADOWS + +namespace ROOT { + namespace Shadow { + } // of namespace Shadow +} // of namespace ROOT +// END OF SHADOWS + +namespace ROOT { + void CLASSFacility_ShowMembers(void *obj, TMemberInspector &R__insp); + static void *new_CLASSFacility(void *p = 0); + static void *newArray_CLASSFacility(Long_t size, void *p); + static void delete_CLASSFacility(void *p); + static void deleteArray_CLASSFacility(void *p); + static void destruct_CLASSFacility(void *p); + static void streamer_CLASSFacility(TBuffer &buf, void *obj); + + // Function generating the singleton type initializer + static TGenericClassInfo *GenerateInitInstanceLocal(const ::CLASSFacility*) + { + ::CLASSFacility *ptr = 0; + static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::CLASSFacility >(0); + static ::ROOT::TGenericClassInfo + instance("CLASSFacility", ::CLASSFacility::Class_Version(), "./../include/CLASSFacility.hxx", 40, + typeid(::CLASSFacility), DefineBehavior(ptr, ptr), + &::CLASSFacility::Dictionary, isa_proxy, 0, + sizeof(::CLASSFacility) ); + instance.SetNew(&new_CLASSFacility); + instance.SetNewArray(&newArray_CLASSFacility); + instance.SetDelete(&delete_CLASSFacility); + instance.SetDeleteArray(&deleteArray_CLASSFacility); + instance.SetDestructor(&destruct_CLASSFacility); + instance.SetStreamerFunc(&streamer_CLASSFacility); + return &instance; + } + TGenericClassInfo *GenerateInitInstance(const ::CLASSFacility*) + { + return GenerateInitInstanceLocal((::CLASSFacility*)0); + } + // Static variable to force the class initialization + static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::CLASSFacility*)0x0); R__UseDummy(_R__UNIQUE_(Init)); +} // end of namespace ROOT + +//______________________________________________________________________________ +TClass *CLASSFacility::fgIsA = 0; // static to hold class pointer + +//______________________________________________________________________________ +const char *CLASSFacility::Class_Name() +{ + return "CLASSFacility"; +} + +//______________________________________________________________________________ +const char *CLASSFacility::ImplFileName() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSFacility*)0x0)->GetImplFileName(); +} + +//______________________________________________________________________________ +int CLASSFacility::ImplFileLine() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSFacility*)0x0)->GetImplFileLine(); +} + +//______________________________________________________________________________ +void CLASSFacility::Dictionary() +{ + fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSFacility*)0x0)->GetClass(); +} + +//______________________________________________________________________________ +TClass *CLASSFacility::Class() +{ + if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSFacility*)0x0)->GetClass(); + return fgIsA; +} + +//______________________________________________________________________________ +void CLASSFacility::Streamer(TBuffer &R__b) +{ + // Stream an object of class CLASSFacility. + + UInt_t R__s, R__c; + if (R__b.IsReading()) { + Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { } + CLASSObject::Streamer(R__b); + R__b >> fIsStarted; + R__b >> fIsShutDown; + R__b >> fIsAtEndOfCycle; + R__b >> fInternalTime; + R__b >> fInCycleTime; + R__b >> fCycleTime; + fInsideIV.Streamer(R__b); + fCumulativeIVIn.Streamer(R__b); + fCumulativeIVOut.Streamer(R__b); + R__b >> fFacilityType; + R__b >> fCreationTime; + R__b >> fLifeTime; + R__b.CheckByteCount(R__s, R__c, CLASSFacility::IsA()); + } else { + R__c = R__b.WriteVersion(CLASSFacility::IsA(), kTRUE); + CLASSObject::Streamer(R__b); + R__b << fIsStarted; + R__b << fIsShutDown; + R__b << fIsAtEndOfCycle; + R__b << fInternalTime; + R__b << fInCycleTime; + R__b << fCycleTime; + fInsideIV.Streamer(R__b); + fCumulativeIVIn.Streamer(R__b); + fCumulativeIVOut.Streamer(R__b); + R__b << fFacilityType; + R__b << fCreationTime; + R__b << fLifeTime; + R__b.SetByteCount(R__c, kTRUE); + } +} + +//______________________________________________________________________________ +void CLASSFacility::ShowMembers(TMemberInspector &R__insp) +{ + // Inspect the data members of an object of class CLASSFacility. + TClass *R__cl = ::CLASSFacility::IsA(); + if (R__cl || R__insp.IsA()) { } + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIsStarted", &fIsStarted); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIsShutDown", &fIsShutDown); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIsAtEndOfCycle", &fIsAtEndOfCycle); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fInternalTime", &fInternalTime); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fInCycleTime", &fInCycleTime); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fCycleTime", &fCycleTime); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fInsideIV", &fInsideIV); + R__insp.InspectMember(fInsideIV, "fInsideIV."); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fCumulativeIVIn", &fCumulativeIVIn); + R__insp.InspectMember(fCumulativeIVIn, "fCumulativeIVIn."); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fCumulativeIVOut", &fCumulativeIVOut); + R__insp.InspectMember(fCumulativeIVOut, "fCumulativeIVOut."); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fId", &fId); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fFacilityType", &fFacilityType); + R__insp.Inspect(R__cl, R__insp.GetParent(), "*fParc", &fParc); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fCreationTime", &fCreationTime); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fLifeTime", &fLifeTime); + CLASSObject::ShowMembers(R__insp); +} + +namespace ROOT { + // Wrappers around operator new + static void *new_CLASSFacility(void *p) { + return p ? new(p) ::CLASSFacility : new ::CLASSFacility; + } + static void *newArray_CLASSFacility(Long_t nElements, void *p) { + return p ? new(p) ::CLASSFacility[nElements] : new ::CLASSFacility[nElements]; + } + // Wrapper around operator delete + static void delete_CLASSFacility(void *p) { + delete ((::CLASSFacility*)p); + } + static void deleteArray_CLASSFacility(void *p) { + delete [] ((::CLASSFacility*)p); + } + static void destruct_CLASSFacility(void *p) { + typedef ::CLASSFacility current_t; + ((current_t*)p)->~current_t(); + } + // Wrapper around a custom streamer member function. + static void streamer_CLASSFacility(TBuffer &buf, void *obj) { + ((::CLASSFacility*)obj)->::CLASSFacility::Streamer(buf); + } +} // end of namespace ROOT for class ::CLASSFacility + +/******************************************************** +* CLASSFacilityDict.cxx +* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED +* FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX(). +* CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE. +********************************************************/ + +#ifdef G__MEMTEST +#undef malloc +#undef free +#endif + +#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3)) +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif + +extern "C" void G__cpp_reset_tagtableCLASSFacilityDict(); + +extern "C" void G__set_cpp_environmentCLASSFacilityDict() { + G__add_compiledheader("TObject.h"); + G__add_compiledheader("TMemberInspector.h"); + G__add_compiledheader("../include/CLASSFacility.hxx"); + G__cpp_reset_tagtableCLASSFacilityDict(); +} +#include <new> +extern "C" int G__cpp_dllrevCLASSFacilityDict() { return(30051515); } + +/********************************************************* +* Member function Interface Method +*********************************************************/ + +/* CLASSFacility */ +static int G__CLASSFacilityDict_492_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSFacility* p = NULL; + char* gvp = (char*) G__getgvp(); + int n = G__getaryconstruct(); + if (n) { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSFacility[n]; + } else { + p = new((void*) gvp) CLASSFacility[n]; + } + } else { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSFacility; + } else { + p = new((void*) gvp) CLASSFacility; + } + } + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility)); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) ((const CLASSFacility*) G__getstructoffset())->GetId()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + { + const IsotopicVector* pobj; + const IsotopicVector xobj = ((const CLASSFacility*) G__getstructoffset())->GetInsideIV(); + pobj = new IsotopicVector(xobj); + result7->obj.i = (long) ((void*) pobj); + result7->ref = result7->obj.i; + G__store_tempobject(*result7); + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) ((const CLASSFacility*) G__getstructoffset())->GetFacilityType()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letLonglong(result7, 110, (G__int64) ((const CLASSFacility*) G__getstructoffset())->GetInternalTime()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letLonglong(result7, 110, (G__int64) ((const CLASSFacility*) G__getstructoffset())->GetCycleTime()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letLonglong(result7, 110, (G__int64) ((const CLASSFacility*) G__getstructoffset())->GetCreationTime()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letLonglong(result7, 110, (G__int64) ((const CLASSFacility*) G__getstructoffset())->GetLifeTime()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) ((CLASSFacility*) G__getstructoffset())->GetParc()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + { + IsotopicVector* pobj; + IsotopicVector xobj = ((CLASSFacility*) G__getstructoffset())->GetCumulativeIVIn(); + pobj = new IsotopicVector(xobj); + result7->obj.i = (long) ((void*) pobj); + result7->ref = result7->obj.i; + G__store_tempobject(*result7); + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + { + IsotopicVector* pobj; + IsotopicVector xobj = ((CLASSFacility*) G__getstructoffset())->GetCumulativeIVOut(); + pobj = new IsotopicVector(xobj); + result7->obj.i = (long) ((void*) pobj); + result7->ref = result7->obj.i; + G__store_tempobject(*result7); + } + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetId((int) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetParc((CLASS*) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetFacilityType((int) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetInsideIV(*((IsotopicVector*) G__int(libp->para[0]))); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetCreationTime((double) G__double(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetLifeTime((double) G__double(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetCycleTime((double) G__double(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetInCycleTime((double) G__double(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->SetInternalTime((double) G__double(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->AddCumulativeIVIn(*((IsotopicVector*) G__int(libp->para[0]))); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->AddCumulativeIVOut(*((IsotopicVector*) G__int(libp->para[0]))); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->Evolution((cSecond) G__Longlong(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->Dump(); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) CLASSFacility::Class()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSFacility::Class_Name()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 115, (long) CLASSFacility::Class_Version()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSFacility::Dictionary(); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSFacility*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSFacility::DeclFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_34(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSFacility::ImplFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_35(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSFacility::ImplFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSFacilityDict_492_0_36(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSFacility::DeclFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic copy constructor +static int G__CLASSFacilityDict_492_0_37(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) + +{ + CLASSFacility* p; + void* tmp = (void*) G__int(libp->para[0]); + p = new CLASSFacility(*(CLASSFacility*) tmp); + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility)); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic destructor +typedef CLASSFacility G__TCLASSFacility; +static int G__CLASSFacilityDict_492_0_38(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + char* gvp = (char*) G__getgvp(); + long soff = G__getstructoffset(); + int n = G__getaryconstruct(); + // + //has_a_delete: 1 + //has_own_delete1arg: 0 + //has_own_delete2arg: 0 + // + if (!soff) { + return(1); + } + if (n) { + if (gvp == (char*)G__PVOID) { + delete[] (CLASSFacility*) soff; + } else { + G__setgvp((long) G__PVOID); + for (int i = n - 1; i >= 0; --i) { + ((CLASSFacility*) (soff+(sizeof(CLASSFacility)*i)))->~G__TCLASSFacility(); + } + G__setgvp((long)gvp); + } + } else { + if (gvp == (char*)G__PVOID) { + delete (CLASSFacility*) soff; + } else { + G__setgvp((long) G__PVOID); + ((CLASSFacility*) (soff))->~G__TCLASSFacility(); + G__setgvp((long)gvp); + } + } + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic assignment operator +static int G__CLASSFacilityDict_492_0_39(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSFacility* dest = (CLASSFacility*) G__getstructoffset(); + *dest = *(CLASSFacility*) libp->para[0].ref; + const CLASSFacility& obj = *dest; + result7->ref = (long) (&obj); + result7->obj.i = (long) (&obj); + return(1 || funcname || hash || result7 || libp) ; +} + + +/* Setting up global function */ + +/********************************************************* +* Member function Stub +*********************************************************/ + +/* CLASSFacility */ + +/********************************************************* +* Global function Stub +*********************************************************/ + +/********************************************************* +* Get size of pointer to member function +*********************************************************/ +class G__Sizep2memfuncCLASSFacilityDict { + public: + G__Sizep2memfuncCLASSFacilityDict(): p(&G__Sizep2memfuncCLASSFacilityDict::sizep2memfunc) {} + size_t sizep2memfunc() { return(sizeof(p)); } + private: + size_t (G__Sizep2memfuncCLASSFacilityDict::*p)(); +}; + +size_t G__get_sizep2memfuncCLASSFacilityDict() +{ + G__Sizep2memfuncCLASSFacilityDict a; + G__setsizep2memfunc((int)a.sizep2memfunc()); + return((size_t)a.sizep2memfunc()); +} + + +/********************************************************* +* virtual base class offset calculation interface +*********************************************************/ + + /* Setting up class inheritance */ + +/********************************************************* +* Inheritance information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_inheritanceCLASSFacilityDict() { + + /* Setting up class inheritance */ + if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility))) { + CLASSFacility *G__Lderived; + G__Lderived=(CLASSFacility*)0x1000; + { + CLASSObject *G__Lpbase=(CLASSObject*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility),G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSObject),(long)G__Lpbase-(long)G__Lderived,1,1); + } + { + TNamed *G__Lpbase=(TNamed*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility),G__get_linked_tagnum(&G__CLASSFacilityDictLN_TNamed),(long)G__Lpbase-(long)G__Lderived,1,0); + } + { + TObject *G__Lpbase=(TObject*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility),G__get_linked_tagnum(&G__CLASSFacilityDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,0); + } + } +} + +/********************************************************* +* typedef information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_typetableCLASSFacilityDict() { + + /* Setting up typedef entry */ + G__search_typename2("Version_t",115,-1,0,-1); + G__setnewtype(-1,"Class version identifier (short)",0); + G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("cSecond",110,-1,0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,double>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,double,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<ZAI>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTBase<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTBaselEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTBase<Double_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTBaselEdoublegR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TVectorTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TVectorTlEdoublegR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixT<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTRow_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTRow_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTColumn_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTColumn_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTDiag_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTDiag_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTFlat_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTFlat_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSub_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSub_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseRow_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSparseRow_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseDiag_const<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSparseDiag_constlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTRow<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTRowlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTColumn<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTColumnlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTDiag<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTDiaglEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTFlat<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTFlatlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSub<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSublEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseRow<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSparseRowlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TMatrixTSparseDiag<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TMatrixTSparseDiaglEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TElementActionT<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TElementActionTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("TElementPosActionT<Float_t>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TElementPosActionTlEfloatgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,TGraph*>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,TGraph*,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,EvolutionData>",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("map<ZAI,EvolutionData,less<ZAI> >",117,G__get_linked_tagnum(&G__CLASSFacilityDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); +} + +/********************************************************* +* Data Member information setup/ +*********************************************************/ + + /* Setting up class,struct,union tag member variable */ + + /* CLASSFacility */ +static void G__setup_memvarCLASSFacility(void) { + G__tag_memvar_setup(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility)); + { CLASSFacility *p; p=(CLASSFacility*)0x1000; if (p) { } + G__memvar_setup((void*)0,103,0,0,-1,-1,-1,2,"fIsStarted=",0,"/< True if Running, False Otherwise"); + G__memvar_setup((void*)0,103,0,0,-1,-1,-1,2,"fIsShutDown=",0,"/< True if the facility is stoped, False Otherwise"); + G__memvar_setup((void*)0,103,0,0,-1,-1,-1,2,"fIsAtEndOfCycle=",0,"/< True if Reaching the End of a Facility Cycle"); + G__memvar_setup((void*)0,110,0,0,-1,G__defined_typename("cSecond"),-1,2,"fInternalTime=",0,"/< Internal Clock"); + G__memvar_setup((void*)0,110,0,0,-1,G__defined_typename("cSecond"),-1,2,"fInCycleTime=",0,"/< Time spend since the beginning of the last Cycle"); + G__memvar_setup((void*)0,110,0,0,-1,G__defined_typename("cSecond"),-1,2,"fCycleTime=",0,"/< Cycle duration Time"); + G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector),-1,-1,2,"fInsideIV=",0,"/< All IV in the Facility (fuel for reactor, total for all others...)"); + G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector),-1,-1,2,"fCumulativeIVIn=",0,"/< All IV in the Facility (fuel for reactor, total for all others...)"); + G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector),-1,-1,2,"fCumulativeIVOut=",0,"/< All IV in the Facility (fuel for reactor, total for all others...)"); + G__memvar_setup((void*)0,105,0,0,-1,-1,-1,4,"fId=",0,"!< Identity of the Facility inside the Parc"); + G__memvar_setup((void*)0,105,0,0,-1,-1,-1,4,"fFacilityType=",0,"/< Type of facility :"); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASS),-1,-1,4,"fParc=",0,"!< Pointer to the main Parc"); + G__memvar_setup((void*)0,110,0,0,-1,G__defined_typename("cSecond"),-1,4,"fCreationTime=",0,"/< CLASS Universal Time of Creation"); + G__memvar_setup((void*)0,110,0,0,-1,G__defined_typename("cSecond"),-1,4,"fLifeTime=",0,"/< LifeTime Of the Reactor (Operating's Duration)"); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSFacilityDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL); + } + G__tag_memvar_reset(); +} + +extern "C" void G__cpp_setup_memvarCLASSFacilityDict() { +} +/*********************************************************** +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +***********************************************************/ + +/********************************************************* +* Member function information setup for each class +*********************************************************/ +static void G__setup_memfuncCLASSFacility(void) { + /* CLASSFacility */ + G__tag_memfunc_setup(G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility)); + G__memfunc_setup("CLASSFacility",1195,G__CLASSFacilityDict_492_0_1, 105, G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("GetId",461,G__CLASSFacilityDict_492_0_2, 105, -1, -1, 0, 0, 1, 1, 8, "", "!< Return the Facility Parc'Is", (void*) NULL, 0); + G__memfunc_setup("GetInsideIV",1051,G__CLASSFacilityDict_492_0_3, 117, G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector), -1, 0, 0, 1, 1, 8, "", "!< Return the IV contain in the Facility", (void*) NULL, 0); + G__memfunc_setup("GetFacilityType",1527,G__CLASSFacilityDict_492_0_4, 105, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("GetInternalTime",1516,G__CLASSFacilityDict_492_0_5, 110, -1, G__defined_typename("cSecond"), 0, 0, 1, 1, 8, "", "!< Return Creation Time", (void*) NULL, 0); + G__memfunc_setup("GetCycleTime",1183,G__CLASSFacilityDict_492_0_6, 110, -1, G__defined_typename("cSecond"), 0, 0, 1, 1, 8, "", "!< Return the cycle time of the Facility", (void*) NULL, 0); + G__memfunc_setup("GetCreationTime",1508,G__CLASSFacilityDict_492_0_7, 110, -1, G__defined_typename("cSecond"), 0, 0, 1, 1, 8, "", "!< Return the creation time of the Facility", (void*) NULL, 0); + G__memfunc_setup("GetLifeTime",1071,G__CLASSFacilityDict_492_0_8, 110, -1, G__defined_typename("cSecond"), 0, 0, 1, 1, 8, "", "!< Return the life time of the Facility", (void*) NULL, 0); + G__memfunc_setup("GetParc",678,G__CLASSFacilityDict_492_0_9, 85, G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASS), -1, 0, 0, 1, 1, 0, "", "!< return the pointer to the Park", (void*) NULL, 0); + G__memfunc_setup("GetCumulativeIVIn",1685,G__CLASSFacilityDict_492_0_10, 117, G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector), -1, 0, 0, 1, 1, 0, "", "!< return the culative sum of all incoming IV", (void*) NULL, 0); + G__memfunc_setup("GetCumulativeIVOut",1814,G__CLASSFacilityDict_492_0_11, 117, G__get_linked_tagnum(&G__CLASSFacilityDictLN_IsotopicVector), -1, 0, 0, 1, 1, 0, "", "!< return the culative sum of all outcoming IV", (void*) NULL, 0); + G__memfunc_setup("SetId",473,G__CLASSFacilityDict_492_0_12, 121, -1, -1, 0, 1, 1, 1, 0, "i - - 0 - id", "!< Set The Facility Parc'Id", (void*) NULL, 0); + G__memfunc_setup("SetParc",690,G__CLASSFacilityDict_492_0_13, 121, -1, -1, 0, 1, 1, 1, 0, "U 'CLASS' - 0 - parc", "!< Set the Pointer to the Parc", (void*) NULL, 0); + G__memfunc_setup("SetFacilityType",1539,G__CLASSFacilityDict_492_0_14, 121, -1, -1, 0, 1, 1, 1, 0, "i - - 0 - type", "!< Set the facility type :", (void*) NULL, 0); + G__memfunc_setup("SetInsideIV",1063,G__CLASSFacilityDict_492_0_15, 121, -1, -1, 0, 1, 1, 1, 0, "u 'IsotopicVector' - 0 - isotopicvector", "!< Set the IV inside the Facility Core", (void*) NULL, 0); + G__memfunc_setup("SetCreationTime",1520,G__CLASSFacilityDict_492_0_16, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - creationtime", "!< Set the creation Time", (void*) NULL, 0); + G__memfunc_setup("SetLifeTime",1083,G__CLASSFacilityDict_492_0_17, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - lifetime", "!< Set the life time of the facility", (void*) NULL, 0); + G__memfunc_setup("SetCycleTime",1195,G__CLASSFacilityDict_492_0_18, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - cycletime", "!< Set the cycle time (Cycle of the loading Plan)", (void*) NULL, 1); + G__memfunc_setup("SetInCycleTime",1378,G__CLASSFacilityDict_492_0_19, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - incycletime", "!< Set the cycle time (Cycle of the loading Plan)", (void*) NULL, 0); + G__memfunc_setup("SetInternalTime",1528,G__CLASSFacilityDict_492_0_20, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - internaltime", "!< Set the cycle time (Cycle of the loading Plan)", (void*) NULL, 0); + G__memfunc_setup("AddCumulativeIVIn",1662,G__CLASSFacilityDict_492_0_21, 121, -1, -1, 0, 1, 1, 1, 0, "u 'IsotopicVector' - 0 - IV", "!< Add the Input IsotopicVector the The cumulative IV IN", (void*) NULL, 0); + G__memfunc_setup("AddCumulativeIVOut",1791,G__CLASSFacilityDict_492_0_22, 121, -1, -1, 0, 1, 1, 1, 0, "u 'IsotopicVector' - 0 - IV", "!< Add the Input IsotopicVector the The cumulative IV OUT", (void*) NULL, 0); + G__memfunc_setup("Evolution",965,G__CLASSFacilityDict_492_0_23, 121, -1, -1, 0, 1, 1, 1, 0, "n - 'cSecond' 0 - t", "!< Performe the Evolution to the Time t", (void*) NULL, 1); + G__memfunc_setup("Dump",406,G__CLASSFacilityDict_492_0_24, 121, -1, -1, 0, 0, 1, 1, 0, "", "!< Write Modification (IV In/Out, filling the TF...)", (void*) NULL, 1); + G__memfunc_setup("Class",502,G__CLASSFacilityDict_492_0_25, 85, G__get_linked_tagnum(&G__CLASSFacilityDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&CLASSFacility::Class) ), 0); + G__memfunc_setup("Class_Name",982,G__CLASSFacilityDict_492_0_26, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSFacility::Class_Name) ), 0); + G__memfunc_setup("Class_Version",1339,G__CLASSFacilityDict_492_0_27, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&CLASSFacility::Class_Version) ), 0); + G__memfunc_setup("Dictionary",1046,G__CLASSFacilityDict_492_0_28, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&CLASSFacility::Dictionary) ), 0); + G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__CLASSFacilityDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("StreamerNVirtual",1656,G__CLASSFacilityDict_492_0_32, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - ClassDef_StreamerNVirtual_b", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("DeclFileName",1145,G__CLASSFacilityDict_492_0_33, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSFacility::DeclFileName) ), 0); + G__memfunc_setup("ImplFileLine",1178,G__CLASSFacilityDict_492_0_34, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSFacility::ImplFileLine) ), 0); + G__memfunc_setup("ImplFileName",1171,G__CLASSFacilityDict_492_0_35, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSFacility::ImplFileName) ), 0); + G__memfunc_setup("DeclFileLine",1152,G__CLASSFacilityDict_492_0_36, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSFacility::DeclFileLine) ), 0); + // automatic copy constructor + G__memfunc_setup("CLASSFacility", 1195, G__CLASSFacilityDict_492_0_37, (int) ('i'), G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility), -1, 0, 1, 1, 1, 0, "u 'CLASSFacility' - 11 - -", (char*) NULL, (void*) NULL, 0); + // automatic destructor + G__memfunc_setup("~CLASSFacility", 1321, G__CLASSFacilityDict_492_0_38, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 0); + // automatic assignment operator + G__memfunc_setup("operator=", 937, G__CLASSFacilityDict_492_0_39, (int) ('u'), G__get_linked_tagnum(&G__CLASSFacilityDictLN_CLASSFacility), -1, 1, 1, 1, 1, 0, "u 'CLASSFacility' - 11 - -", (char*) NULL, (void*) NULL, 0); + G__tag_memfunc_reset(); +} + + +/********************************************************* +* Member function information setup +*********************************************************/ +extern "C" void G__cpp_setup_memfuncCLASSFacilityDict() { +} + +/********************************************************* +* Global variable information setup for each class +*********************************************************/ +static void G__cpp_setup_global0() { + + /* Setting up global variables */ + G__resetplocal(); + +} + +static void G__cpp_setup_global1() { +} + +static void G__cpp_setup_global2() { + + G__resetglobalenv(); +} +extern "C" void G__cpp_setup_globalCLASSFacilityDict() { + G__cpp_setup_global0(); + G__cpp_setup_global1(); + G__cpp_setup_global2(); +} + +/********************************************************* +* Global function information setup for each class +*********************************************************/ +static void G__cpp_setup_func0() { + G__lastifuncposition(); + +} + +static void G__cpp_setup_func1() { +} + +static void G__cpp_setup_func2() { +} + +static void G__cpp_setup_func3() { +} + +static void G__cpp_setup_func4() { +} + +static void G__cpp_setup_func5() { +} + +static void G__cpp_setup_func6() { +} + +static void G__cpp_setup_func7() { +} + +static void G__cpp_setup_func8() { +} + +static void G__cpp_setup_func9() { +} + +static void G__cpp_setup_func10() { +} + +static void G__cpp_setup_func11() { +} + +static void G__cpp_setup_func12() { +} + +static void G__cpp_setup_func13() { +} + +static void G__cpp_setup_func14() { +} + +static void G__cpp_setup_func15() { +} + +static void G__cpp_setup_func16() { +} + +static void G__cpp_setup_func17() { +} + +static void G__cpp_setup_func18() { +} + +static void G__cpp_setup_func19() { + + G__resetifuncposition(); +} + +extern "C" void G__cpp_setup_funcCLASSFacilityDict() { + G__cpp_setup_func0(); + G__cpp_setup_func1(); + G__cpp_setup_func2(); + G__cpp_setup_func3(); + G__cpp_setup_func4(); + G__cpp_setup_func5(); + G__cpp_setup_func6(); + G__cpp_setup_func7(); + G__cpp_setup_func8(); + G__cpp_setup_func9(); + G__cpp_setup_func10(); + G__cpp_setup_func11(); + G__cpp_setup_func12(); + G__cpp_setup_func13(); + G__cpp_setup_func14(); + G__cpp_setup_func15(); + G__cpp_setup_func16(); + G__cpp_setup_func17(); + G__cpp_setup_func18(); + G__cpp_setup_func19(); +} + +/********************************************************* +* Class,struct,union,enum tag information setup +*********************************************************/ +/* Setup class/struct taginfo */ +G__linked_taginfo G__CLASSFacilityDictLN_TClass = { "TClass" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TBuffer = { "TBuffer" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TObject = { "TObject" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TNamed = { "TNamed" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_CLASSObject = { "CLASSObject" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_IsotopicVector = { "IsotopicVector" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR = { "map<ZAI,double,less<ZAI>,allocator<pair<const ZAI,double> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR = { "vector<ZAI,allocator<ZAI> >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ZAI,allocator<ZAI> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTBaselEfloatgR = { "TMatrixTBase<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTBaselEdoublegR = { "TMatrixTBase<double>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TElementActionTlEfloatgR = { "TElementActionT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TElementPosActionTlEfloatgR = { "TElementPosActionT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTlEfloatgR = { "TMatrixT<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTRow_constlEfloatgR = { "TMatrixTRow_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTRowlEfloatgR = { "TMatrixTRow<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTDiag_constlEfloatgR = { "TMatrixTDiag_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTColumn_constlEfloatgR = { "TMatrixTColumn_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTFlat_constlEfloatgR = { "TMatrixTFlat_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSub_constlEfloatgR = { "TMatrixTSub_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSparseRow_constlEfloatgR = { "TMatrixTSparseRow_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSparseDiag_constlEfloatgR = { "TMatrixTSparseDiag_const<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTColumnlEfloatgR = { "TMatrixTColumn<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTDiaglEfloatgR = { "TMatrixTDiag<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTFlatlEfloatgR = { "TMatrixTFlat<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSublEfloatgR = { "TMatrixTSub<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSparseRowlEfloatgR = { "TMatrixTSparseRow<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_TMatrixTSparseDiaglEfloatgR = { "TMatrixTSparseDiag<float>" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR = { "map<ZAI,TGraph*,less<ZAI>,allocator<pair<const ZAI,TGraph*> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR = { "map<ZAI,EvolutionData,less<ZAI>,allocator<pair<const ZAI,EvolutionData> > >" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_CLASS = { "CLASS" , 99 , -1 }; +G__linked_taginfo G__CLASSFacilityDictLN_CLASSFacility = { "CLASSFacility" , 99 , -1 }; + +/* Reset class/struct taginfo */ +extern "C" void G__cpp_reset_tagtableCLASSFacilityDict() { + G__CLASSFacilityDictLN_TClass.tagnum = -1 ; + G__CLASSFacilityDictLN_TBuffer.tagnum = -1 ; + G__CLASSFacilityDictLN_TMemberInspector.tagnum = -1 ; + G__CLASSFacilityDictLN_TObject.tagnum = -1 ; + G__CLASSFacilityDictLN_TNamed.tagnum = -1 ; + G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSFacilityDictLN_CLASSObject.tagnum = -1 ; + G__CLASSFacilityDictLN_IsotopicVector.tagnum = -1 ; + G__CLASSFacilityDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTBaselEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTBaselEdoublegR.tagnum = -1 ; + G__CLASSFacilityDictLN_TVectorTlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TVectorTlEdoublegR.tagnum = -1 ; + G__CLASSFacilityDictLN_TElementActionTlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TElementPosActionTlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTRow_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTRowlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTDiag_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTColumn_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTFlat_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSub_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSparseRow_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSparseDiag_constlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTColumnlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTDiaglEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTFlatlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSublEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSparseRowlEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_TMatrixTSparseDiaglEfloatgR.tagnum = -1 ; + G__CLASSFacilityDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR.tagnum = -1 ; + G__CLASSFacilityDictLN_CLASS.tagnum = -1 ; + G__CLASSFacilityDictLN_CLASSFacility.tagnum = -1 ; +} + + +extern "C" void G__cpp_setup_tagtableCLASSFacilityDict() { + + /* Setting up class,struct,union tag entry */ + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TClass); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TBuffer); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMemberInspector); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TObject); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TNamed); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_CLASSObject); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_IsotopicVector); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_maplEZAIcOdoublecOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOdoublegRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_vectorlEZAIcOallocatorlEZAIgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEZAIcOallocatorlEZAIgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_vectorlEintcOallocatorlEintgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTBaselEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTBaselEdoublegR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TVectorTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TVectorTlEdoublegR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TElementActionTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TElementPosActionTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTRow_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTRowlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTDiag_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTColumn_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTFlat_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSub_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSparseRow_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSparseDiag_constlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTColumnlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTDiaglEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTFlatlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSublEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSparseRowlEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_TMatrixTSparseDiaglEfloatgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_maplEZAIcOTGraphmUcOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOTGraphmUgRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_maplEZAIcOEvolutionDatacOlesslEZAIgRcOallocatorlEpairlEconstsPZAIcOEvolutionDatagRsPgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_CLASS); + G__tagtable_setup(G__get_linked_tagnum_fwd(&G__CLASSFacilityDictLN_CLASSFacility),sizeof(CLASSFacility),-1,61696,(char*)NULL,G__setup_memvarCLASSFacility,G__setup_memfuncCLASSFacility); +} +extern "C" void G__cpp_setupCLASSFacilityDict(void) { + G__check_setup_version(30051515,"G__cpp_setupCLASSFacilityDict()"); + G__set_cpp_environmentCLASSFacilityDict(); + G__cpp_setup_tagtableCLASSFacilityDict(); + + G__cpp_setup_inheritanceCLASSFacilityDict(); + + G__cpp_setup_typetableCLASSFacilityDict(); + + G__cpp_setup_memvarCLASSFacilityDict(); + + G__cpp_setup_memfuncCLASSFacilityDict(); + G__cpp_setup_globalCLASSFacilityDict(); + G__cpp_setup_funcCLASSFacilityDict(); + + if(0==G__getsizep2memfunc()) G__get_sizep2memfuncCLASSFacilityDict(); + return; +} +class G__cpp_setup_initCLASSFacilityDict { + public: + G__cpp_setup_initCLASSFacilityDict() { G__add_setup_func("CLASSFacilityDict",(G__incsetup)(&G__cpp_setupCLASSFacilityDict)); G__call_setup_funcs(); } + ~G__cpp_setup_initCLASSFacilityDict() { G__remove_setup_func("CLASSFacilityDict"); } +}; +G__cpp_setup_initCLASSFacilityDict G__cpp_setup_initializerCLASSFacilityDict; + diff --git a/source/branches/CLASSV3/src/CLASSObject.cxx b/source/branches/CLASSV3/src/CLASSObject.cxx new file mode 100644 index 000000000..904d2d90e --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSObject.cxx @@ -0,0 +1,23 @@ +#include "CLASSObject.hxx" + +#include "LogFile.hxx" + +using namespace std; + + //________________________________________________________________________ + // + // CLASSObject + // + // + // + // + //________________________________________________________________________ + +ClassImp(CLASSObject) + +CLASSObject::CLASSObject() +{ + fLog = 0; + fIsLog = false; +} + diff --git a/source/branches/CLASSV3/src/CLASSObjectDict.cxx b/source/branches/CLASSV3/src/CLASSObjectDict.cxx new file mode 100644 index 000000000..d2b8b5dd9 --- /dev/null +++ b/source/branches/CLASSV3/src/CLASSObjectDict.cxx @@ -0,0 +1,668 @@ +// +// File generated by rootcint at Mon Jun 2 14:42:33 2014 + +// Do NOT change. Changes will be lost next time file is generated +// + +#define R__DICTIONARY_FILENAME CLASSObjectDict +#include "RConfig.h" //rootcint 4834 +#if !defined(R__ACCESS_IN_SYMBOL) +//Break the privacy of classes -- Disabled for the moment +#define private public +#define protected public +#endif + +// Since CINT ignores the std namespace, we need to do so in this file. +namespace std {} using namespace std; +#include "CLASSObjectDict.h" + +#include "TClass.h" +#include "TBuffer.h" +#include "TMemberInspector.h" +#include "TError.h" + +#ifndef G__ROOT +#define G__ROOT +#endif + +#include "RtypesImp.h" +#include "TIsAProxy.h" +#include "TFileMergeInfo.h" + +// Direct notice to TROOT of the dictionary's loading. +namespace { + static struct DictInit { + DictInit() { + ROOT::RegisterModule(); + } + } __TheDictionaryInitializer; +} + +// START OF SHADOWS + +namespace ROOT { + namespace Shadow { + } // of namespace Shadow +} // of namespace ROOT +// END OF SHADOWS + +namespace ROOT { + void CLASSObject_ShowMembers(void *obj, TMemberInspector &R__insp); + static void *new_CLASSObject(void *p = 0); + static void *newArray_CLASSObject(Long_t size, void *p); + static void delete_CLASSObject(void *p); + static void deleteArray_CLASSObject(void *p); + static void destruct_CLASSObject(void *p); + static void streamer_CLASSObject(TBuffer &buf, void *obj); + + // Function generating the singleton type initializer + static TGenericClassInfo *GenerateInitInstanceLocal(const ::CLASSObject*) + { + ::CLASSObject *ptr = 0; + static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::CLASSObject >(0); + static ::ROOT::TGenericClassInfo + instance("CLASSObject", ::CLASSObject::Class_Version(), "./../include/CLASSObject.hxx", 38, + typeid(::CLASSObject), DefineBehavior(ptr, ptr), + &::CLASSObject::Dictionary, isa_proxy, 0, + sizeof(::CLASSObject) ); + instance.SetNew(&new_CLASSObject); + instance.SetNewArray(&newArray_CLASSObject); + instance.SetDelete(&delete_CLASSObject); + instance.SetDeleteArray(&deleteArray_CLASSObject); + instance.SetDestructor(&destruct_CLASSObject); + instance.SetStreamerFunc(&streamer_CLASSObject); + return &instance; + } + TGenericClassInfo *GenerateInitInstance(const ::CLASSObject*) + { + return GenerateInitInstanceLocal((::CLASSObject*)0); + } + // Static variable to force the class initialization + static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::CLASSObject*)0x0); R__UseDummy(_R__UNIQUE_(Init)); +} // end of namespace ROOT + +//______________________________________________________________________________ +TClass *CLASSObject::fgIsA = 0; // static to hold class pointer + +//______________________________________________________________________________ +const char *CLASSObject::Class_Name() +{ + return "CLASSObject"; +} + +//______________________________________________________________________________ +const char *CLASSObject::ImplFileName() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSObject*)0x0)->GetImplFileName(); +} + +//______________________________________________________________________________ +int CLASSObject::ImplFileLine() +{ + return ::ROOT::GenerateInitInstanceLocal((const ::CLASSObject*)0x0)->GetImplFileLine(); +} + +//______________________________________________________________________________ +void CLASSObject::Dictionary() +{ + fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSObject*)0x0)->GetClass(); +} + +//______________________________________________________________________________ +TClass *CLASSObject::Class() +{ + if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::CLASSObject*)0x0)->GetClass(); + return fgIsA; +} + +//______________________________________________________________________________ +void CLASSObject::Streamer(TBuffer &R__b) +{ + // Stream an object of class CLASSObject. + + TNamed::Streamer(R__b); +} + +//______________________________________________________________________________ +void CLASSObject::ShowMembers(TMemberInspector &R__insp) +{ + // Inspect the data members of an object of class CLASSObject. + TClass *R__cl = ::CLASSObject::IsA(); + if (R__cl || R__insp.IsA()) { } + R__insp.Inspect(R__cl, R__insp.GetParent(), "*fLog", &fLog); + R__insp.Inspect(R__cl, R__insp.GetParent(), "fIsLog", &fIsLog); + TNamed::ShowMembers(R__insp); +} + +namespace ROOT { + // Wrappers around operator new + static void *new_CLASSObject(void *p) { + return p ? new(p) ::CLASSObject : new ::CLASSObject; + } + static void *newArray_CLASSObject(Long_t nElements, void *p) { + return p ? new(p) ::CLASSObject[nElements] : new ::CLASSObject[nElements]; + } + // Wrapper around operator delete + static void delete_CLASSObject(void *p) { + delete ((::CLASSObject*)p); + } + static void deleteArray_CLASSObject(void *p) { + delete [] ((::CLASSObject*)p); + } + static void destruct_CLASSObject(void *p) { + typedef ::CLASSObject current_t; + ((current_t*)p)->~current_t(); + } + // Wrapper around a custom streamer member function. + static void streamer_CLASSObject(TBuffer &buf, void *obj) { + ((::CLASSObject*)obj)->::CLASSObject::Streamer(buf); + } +} // end of namespace ROOT for class ::CLASSObject + +/******************************************************** +* CLASSObjectDict.cxx +* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED +* FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX(). +* CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE. +********************************************************/ + +#ifdef G__MEMTEST +#undef malloc +#undef free +#endif + +#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3)) +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif + +extern "C" void G__cpp_reset_tagtableCLASSObjectDict(); + +extern "C" void G__set_cpp_environmentCLASSObjectDict() { + G__add_compiledheader("TObject.h"); + G__add_compiledheader("TMemberInspector.h"); + G__add_compiledheader("../include/CLASSObject.hxx"); + G__cpp_reset_tagtableCLASSObjectDict(); +} +#include <new> +extern "C" int G__cpp_dllrevCLASSObjectDict() { return(30051515); } + +/********************************************************* +* Member function Interface Method +*********************************************************/ + +/* CLASSObject */ +static int G__CLASSObjectDict_184_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSObject* p = NULL; + char* gvp = (char*) G__getgvp(); + int n = G__getaryconstruct(); + if (n) { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSObject[n]; + } else { + p = new((void*) gvp) CLASSObject[n]; + } + } else { + if ((gvp == (char*)G__PVOID) || (gvp == 0)) { + p = new CLASSObject; + } else { + p = new((void*) gvp) CLASSObject; + } + } + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject)); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) ((CLASSObject*) G__getstructoffset())->Clone()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSObject*) G__getstructoffset())->SetLog((LogFile*) G__int(libp->para[0])); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) ((CLASSObject*) G__getstructoffset())->GetLog()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 103, (long) ((CLASSObject*) G__getstructoffset())->IsLog()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 85, (long) CLASSObject::Class()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSObject::Class_Name()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 115, (long) CLASSObject::Class_Version()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSObject::Dictionary(); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + ((CLASSObject*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref); + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSObject::DeclFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSObject::ImplFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 67, (long) CLASSObject::ImplFileName()); + return(1 || funcname || hash || result7 || libp) ; +} + +static int G__CLASSObjectDict_184_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + G__letint(result7, 105, (long) CLASSObject::DeclFileLine()); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic copy constructor +static int G__CLASSObjectDict_184_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) + +{ + CLASSObject* p; + void* tmp = (void*) G__int(libp->para[0]); + p = new CLASSObject(*(CLASSObject*) tmp); + result7->obj.i = (long) p; + result7->ref = (long) p; + G__set_tagnum(result7,G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject)); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic destructor +typedef CLASSObject G__TCLASSObject; +static int G__CLASSObjectDict_184_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + char* gvp = (char*) G__getgvp(); + long soff = G__getstructoffset(); + int n = G__getaryconstruct(); + // + //has_a_delete: 1 + //has_own_delete1arg: 0 + //has_own_delete2arg: 0 + // + if (!soff) { + return(1); + } + if (n) { + if (gvp == (char*)G__PVOID) { + delete[] (CLASSObject*) soff; + } else { + G__setgvp((long) G__PVOID); + for (int i = n - 1; i >= 0; --i) { + ((CLASSObject*) (soff+(sizeof(CLASSObject)*i)))->~G__TCLASSObject(); + } + G__setgvp((long)gvp); + } + } else { + if (gvp == (char*)G__PVOID) { + delete (CLASSObject*) soff; + } else { + G__setgvp((long) G__PVOID); + ((CLASSObject*) (soff))->~G__TCLASSObject(); + G__setgvp((long)gvp); + } + } + G__setnull(result7); + return(1 || funcname || hash || result7 || libp) ; +} + +// automatic assignment operator +static int G__CLASSObjectDict_184_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash) +{ + CLASSObject* dest = (CLASSObject*) G__getstructoffset(); + *dest = *(CLASSObject*) libp->para[0].ref; + const CLASSObject& obj = *dest; + result7->ref = (long) (&obj); + result7->obj.i = (long) (&obj); + return(1 || funcname || hash || result7 || libp) ; +} + + +/* Setting up global function */ + +/********************************************************* +* Member function Stub +*********************************************************/ + +/* CLASSObject */ + +/********************************************************* +* Global function Stub +*********************************************************/ + +/********************************************************* +* Get size of pointer to member function +*********************************************************/ +class G__Sizep2memfuncCLASSObjectDict { + public: + G__Sizep2memfuncCLASSObjectDict(): p(&G__Sizep2memfuncCLASSObjectDict::sizep2memfunc) {} + size_t sizep2memfunc() { return(sizeof(p)); } + private: + size_t (G__Sizep2memfuncCLASSObjectDict::*p)(); +}; + +size_t G__get_sizep2memfuncCLASSObjectDict() +{ + G__Sizep2memfuncCLASSObjectDict a; + G__setsizep2memfunc((int)a.sizep2memfunc()); + return((size_t)a.sizep2memfunc()); +} + + +/********************************************************* +* virtual base class offset calculation interface +*********************************************************/ + + /* Setting up class inheritance */ + +/********************************************************* +* Inheritance information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_inheritanceCLASSObjectDict() { + + /* Setting up class inheritance */ + if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject))) { + CLASSObject *G__Lderived; + G__Lderived=(CLASSObject*)0x1000; + { + TNamed *G__Lpbase=(TNamed*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject),G__get_linked_tagnum(&G__CLASSObjectDictLN_TNamed),(long)G__Lpbase-(long)G__Lderived,1,1); + } + { + TObject *G__Lpbase=(TObject*)G__Lderived; + G__inheritance_setup(G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject),G__get_linked_tagnum(&G__CLASSObjectDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,0); + } + } +} + +/********************************************************* +* typedef information setup/ +*********************************************************/ +extern "C" void G__cpp_setup_typetableCLASSObjectDict() { + + /* Setting up typedef entry */ + G__search_typename2("Version_t",115,-1,0,-1); + G__setnewtype(-1,"Class version identifier (short)",0); + G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); + G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR)); + G__setnewtype(-1,NULL,0); +} + +/********************************************************* +* Data Member information setup/ +*********************************************************/ + + /* Setting up class,struct,union tag member variable */ + + /* CLASSObject */ +static void G__setup_memvarCLASSObject(void) { + G__tag_memvar_setup(G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject)); + { CLASSObject *p; p=(CLASSObject*)0x1000; if (p) { } + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSObjectDictLN_LogFile),-1,-1,4,"fLog=",0,"!< Pointer to the Log"); + G__memvar_setup((void*)0,103,0,0,-1,-1,-1,4,"fIsLog=",0,"!< Set at true if a LogFile are define"); + G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__CLASSObjectDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL); + } + G__tag_memvar_reset(); +} + +extern "C" void G__cpp_setup_memvarCLASSObjectDict() { +} +/*********************************************************** +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +************************************************************ +***********************************************************/ + +/********************************************************* +* Member function information setup for each class +*********************************************************/ +static void G__setup_memfuncCLASSObject(void) { + /* CLASSObject */ + G__tag_memfunc_setup(G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject)); + G__memfunc_setup("CLASSObject",973,G__CLASSObjectDict_184_0_1, 105, G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("Clone",497,G__CLASSObjectDict_184_0_2, 85, G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject), -1, 0, 0, 1, 1, 0, "", "!< Correct way to copy a CLASSObject in case of derivation", (void*) NULL, 1); + G__memfunc_setup("SetLog",590,G__CLASSObjectDict_184_0_3, 121, -1, -1, 0, 1, 1, 1, 0, "U 'LogFile' - 0 - log", "!< Set the LogFile", (void*) NULL, 0); + G__memfunc_setup("GetLog",578,G__CLASSObjectDict_184_0_4, 85, G__get_linked_tagnum(&G__CLASSObjectDictLN_LogFile), -1, 0, 0, 1, 1, 0, "", "!< Return the Pointer to the Log", (void*) NULL, 0); + G__memfunc_setup("IsLog",478,G__CLASSObjectDict_184_0_5, 103, -1, -1, 0, 0, 1, 1, 0, "", "!< reutrn true if a LogFile is defined", (void*) NULL, 0); + G__memfunc_setup("Class",502,G__CLASSObjectDict_184_0_6, 85, G__get_linked_tagnum(&G__CLASSObjectDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&CLASSObject::Class) ), 0); + G__memfunc_setup("Class_Name",982,G__CLASSObjectDict_184_0_7, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSObject::Class_Name) ), 0); + G__memfunc_setup("Class_Version",1339,G__CLASSObjectDict_184_0_8, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&CLASSObject::Class_Version) ), 0); + G__memfunc_setup("Dictionary",1046,G__CLASSObjectDict_184_0_9, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&CLASSObject::Dictionary) ), 0); + G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__CLASSObjectDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - -", (char*)NULL, (void*) NULL, 1); + G__memfunc_setup("StreamerNVirtual",1656,G__CLASSObjectDict_184_0_13, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - ClassDef_StreamerNVirtual_b", (char*)NULL, (void*) NULL, 0); + G__memfunc_setup("DeclFileName",1145,G__CLASSObjectDict_184_0_14, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSObject::DeclFileName) ), 0); + G__memfunc_setup("ImplFileLine",1178,G__CLASSObjectDict_184_0_15, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSObject::ImplFileLine) ), 0); + G__memfunc_setup("ImplFileName",1171,G__CLASSObjectDict_184_0_16, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&CLASSObject::ImplFileName) ), 0); + G__memfunc_setup("DeclFileLine",1152,G__CLASSObjectDict_184_0_17, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&CLASSObject::DeclFileLine) ), 0); + // automatic copy constructor + G__memfunc_setup("CLASSObject", 973, G__CLASSObjectDict_184_0_18, (int) ('i'), G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject), -1, 0, 1, 1, 1, 0, "u 'CLASSObject' - 11 - -", (char*) NULL, (void*) NULL, 0); + // automatic destructor + G__memfunc_setup("~CLASSObject", 1099, G__CLASSObjectDict_184_0_19, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 0); + // automatic assignment operator + G__memfunc_setup("operator=", 937, G__CLASSObjectDict_184_0_20, (int) ('u'), G__get_linked_tagnum(&G__CLASSObjectDictLN_CLASSObject), -1, 1, 1, 1, 1, 0, "u 'CLASSObject' - 11 - -", (char*) NULL, (void*) NULL, 0); + G__tag_memfunc_reset(); +} + + +/********************************************************* +* Member function information setup +*********************************************************/ +extern "C" void G__cpp_setup_memfuncCLASSObjectDict() { +} + +/********************************************************* +* Global variable information setup for each class +*********************************************************/ +static void G__cpp_setup_global0() { + + /* Setting up global variables */ + G__resetplocal(); + +} + +static void G__cpp_setup_global1() { +} + +static void G__cpp_setup_global2() { + + G__resetglobalenv(); +} +extern "C" void G__cpp_setup_globalCLASSObjectDict() { + G__cpp_setup_global0(); + G__cpp_setup_global1(); + G__cpp_setup_global2(); +} + +/********************************************************* +* Global function information setup for each class +*********************************************************/ +static void G__cpp_setup_func0() { + G__lastifuncposition(); + +} + +static void G__cpp_setup_func1() { +} + +static void G__cpp_setup_func2() { +} + +static void G__cpp_setup_func3() { +} + +static void G__cpp_setup_func4() { +} + +static void G__cpp_setup_func5() { +} + +static void G__cpp_setup_func6() { +} + +static void G__cpp_setup_func7() { +} + +static void G__cpp_setup_func8() { +} + +static void G__cpp_setup_func9() { +} + +static void G__cpp_setup_func10() { +} + +static void G__cpp_setup_func11() { +} + +static void G__cpp_setup_func12() { +} + +static void G__cpp_setup_func13() { + + G__resetifuncposition(); +} + +extern "C" void G__cpp_setup_funcCLASSObjectDict() { + G__cpp_setup_func0(); + G__cpp_setup_func1(); + G__cpp_setup_func2(); + G__cpp_setup_func3(); + G__cpp_setup_func4(); + G__cpp_setup_func5(); + G__cpp_setup_func6(); + G__cpp_setup_func7(); + G__cpp_setup_func8(); + G__cpp_setup_func9(); + G__cpp_setup_func10(); + G__cpp_setup_func11(); + G__cpp_setup_func12(); + G__cpp_setup_func13(); +} + +/********************************************************* +* Class,struct,union,enum tag information setup +*********************************************************/ +/* Setup class/struct taginfo */ +G__linked_taginfo G__CLASSObjectDictLN_TClass = { "TClass" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_TBuffer = { "TBuffer" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_TObject = { "TObject" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_TNamed = { "TNamed" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_LogFile = { "LogFile" , 99 , -1 }; +G__linked_taginfo G__CLASSObjectDictLN_CLASSObject = { "CLASSObject" , 99 , -1 }; + +/* Reset class/struct taginfo */ +extern "C" void G__cpp_reset_tagtableCLASSObjectDict() { + G__CLASSObjectDictLN_TClass.tagnum = -1 ; + G__CLASSObjectDictLN_TBuffer.tagnum = -1 ; + G__CLASSObjectDictLN_TMemberInspector.tagnum = -1 ; + G__CLASSObjectDictLN_TObject.tagnum = -1 ; + G__CLASSObjectDictLN_TNamed.tagnum = -1 ; + G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ; + G__CLASSObjectDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ; + G__CLASSObjectDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ; + G__CLASSObjectDictLN_LogFile.tagnum = -1 ; + G__CLASSObjectDictLN_CLASSObject.tagnum = -1 ; +} + + +extern "C" void G__cpp_setup_tagtableCLASSObjectDict() { + + /* Setting up class,struct,union tag entry */ + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_TClass); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_TBuffer); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_TMemberInspector); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_TObject); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_TNamed); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR); + G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_LogFile); + G__tagtable_setup(G__get_linked_tagnum_fwd(&G__CLASSObjectDictLN_CLASSObject),sizeof(CLASSObject),-1,61696,(char*)NULL,G__setup_memvarCLASSObject,G__setup_memfuncCLASSObject); +} +extern "C" void G__cpp_setupCLASSObjectDict(void) { + G__check_setup_version(30051515,"G__cpp_setupCLASSObjectDict()"); + G__set_cpp_environmentCLASSObjectDict(); + G__cpp_setup_tagtableCLASSObjectDict(); + + G__cpp_setup_inheritanceCLASSObjectDict(); + + G__cpp_setup_typetableCLASSObjectDict(); + + G__cpp_setup_memvarCLASSObjectDict(); + + G__cpp_setup_memfuncCLASSObjectDict(); + G__cpp_setup_globalCLASSObjectDict(); + G__cpp_setup_funcCLASSObjectDict(); + + if(0==G__getsizep2memfunc()) G__get_sizep2memfuncCLASSObjectDict(); + return; +} +class G__cpp_setup_initCLASSObjectDict { + public: + G__cpp_setup_initCLASSObjectDict() { G__add_setup_func("CLASSObjectDict",(G__incsetup)(&G__cpp_setupCLASSObjectDict)); G__call_setup_funcs(); } + ~G__cpp_setup_initCLASSObjectDict() { G__remove_setup_func("CLASSObjectDict"); } +}; +G__cpp_setup_initCLASSObjectDict G__cpp_setup_initializerCLASSObjectDict; + diff --git a/source/branches/CLASSV3/src/DataBank.cxx b/source/branches/CLASSV3/src/DataBank.cxx new file mode 100755 index 000000000..1fb6f8fcf --- /dev/null +++ b/source/branches/CLASSV3/src/DataBank.cxx @@ -0,0 +1,1944 @@ +#include "DataBank.hxx" + +#include "IsotopicVector.hxx" +#include "CLASSHeaders.hxx" +#include "EvolutionData.hxx" +#include "LogFile.hxx" +#include "StringLine.hxx" + +#include <TGraph.h> +#include <TString.h> + + +#include <sstream> +#include <string> +#include <iostream> +#include <fstream> +#include <algorithm> +#include <cmath> + + +//________________________________________________________________________ +// +// DataBank +// +// +// +// +//________________________________________________________________________ + +double ReactionRateWeightedDistance(IsotopicVector IV1, EvolutionData DB ) +{ + + double d2 = 0; + double XS_total = 0; + IsotopicVector IV2 = DB.GetIsotopicVectorAt(0.).GetActinidesComposition(); + IsotopicVector IVtmp = IV1 + IV2; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double XS = 0; + + for(int i = 1; i < 4 ; i++) + XS += DB.GetXSForAt(0., (*it).first, i); + + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + d2 += pow( (Z1-Z2)*XS , 2 ); + XS_total += (Z1+Z2)*XS/2; + } + + + return sqrt(d2)/XS_total; +} + +double ReactionRateWeightedDistance(EvolutionData DB, IsotopicVector IV1 ) +{ + return ReactionRateWeightedDistance( IV1, DB ); +} + + +template<class T> +DataBank<T>::DataBank() +{ +} + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ + +template<> +DataBank<ZAI>::DataBank(LogFile* Log, string DB_index_file, bool setlog, bool olfreadmethod) +{ + + SetLog(Log); + fDataBaseIndex = DB_index_file; + + fOldReadMethod = olfreadmethod; + + // Warning + if(IsLog()) + { + cout << "!!INFO!! !!!DataBank<ZAI>!!! A EvolutionData<ZAI> has been define :" << endl; + cout << "\t His index is : \"" << DB_index_file << "\"" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!DataBank<ZAI>!!! A EvolutionData<ZAI> has been define :" << endl; + GetLog()->fLog << "\t His index is : \"" << DB_index_file << "\"" << endl << endl; + } + +} + +//________________________________________________________________________ +template<> +DataBank<ZAI>::~DataBank() +{ + +} + +//________________________________________________________________________ + +template<> +IsotopicVector DataBank<ZAI>::Evolution(const ZAI& zai, double dt) +{ + + IsotopicVector returnIV; + + map<ZAI ,EvolutionData >::iterator it = fDataBank.find(zai); + + if (it == fDataBank.end() ) + { + ifstream DB_index(fDataBaseIndex.c_str()); + if( !DB_index) + { + cout << "!!!EVOLUTIVE DB!!!! Can't open \"" << fDataBaseIndex << "\"" << endl; + GetLog()->fLog << "!!!EVOLUTIVE DB!!!! Can't open \"" << fDataBaseIndex << "\"" << endl; + exit (1); + } + bool zaifind = false; + string tmp; + getline(DB_index,tmp); // Read first line + while (!DB_index.eof()) + { + string line; + int start=0; + getline(DB_index,line); // Read first line + string first=StringLine::NextWord(line,start); // Read first word + + if(first.size()==0) break; // If First word is null.... quit + + int rZ=atoi(first.c_str()); // Get Z + int rA=atoi(StringLine::NextWord(line,start).c_str()); // Get A + int rI=atoi(StringLine::NextWord(line,start).c_str()); // Get Isomeric State + + if(rZ == zai.Z() && rA == zai.A() && rI == zai.I() ) + { + string file_name = StringLine::NextWord(line,start); + EvolutionData evolutionproduct = EvolutionData(GetLog(), file_name); +#pragma omp critical(DBupdate) + {fDataBank.insert( pair<ZAI ,EvolutionData >(zai, evolutionproduct) );} + returnIV = evolutionproduct.GetIsotopicVectorAt(dt); + zaifind = true; + } + } + + if(!zaifind) + { + GetLog()->fLog << "!!Warning!! !!!EVOLUTIVE DB!!! Oups... Can't Find the ZAI : " ; + GetLog()->fLog << zai.Z() << " " << zai.A() << " " << zai.I() << "!!! It will be considered as stable !!" << endl; + + EvolutionData evolutionproduct = EvolutionData(GetLog()," " , false, zai); + {fDataBank.insert( pair<ZAI, EvolutionData >(zai, evolutionproduct) );} + returnIV = evolutionproduct.GetIsotopicVectorAt(dt); + + + } + + + } + else returnIV = (*it).second.GetIsotopicVectorAt(dt); + + return returnIV; +} + +template<> +bool DataBank<ZAI>::IsDefine(const ZAI& zai) const +{ + + map<ZAI ,EvolutionData > evolutiondb = (*this).GetDataBank(); + if (evolutiondb.find(zai) != evolutiondb.end()) + return true; + else + return false; + +} +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ + +template<> +void DataBank<ZAI>:: BuildEqns(double t, double *N, double *dNdt) +{} + + + + + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::ReadDataBase(); + +//________________________________________________________________________ +template<> +DataBank<IsotopicVector>::DataBank():DynamicalSystem() +{ + fTheNucleiVector = 0; + fTheMatrix = 0; + + fWeightedDistance = false; + fEvolutionDataInterpolation = false; + + + + fOldReadMethod = true; + fUseRK4EvolutionMethod = true; + fDistanceType = 0; + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + SetForbidNegativeValue(); + +} + + +template<> +DataBank<IsotopicVector>::DataBank(LogFile* Log, string DB_index_file, bool setlog, bool olfreadmethod):DynamicalSystem() +{ + SetLog(Log); + fWeightedDistance = false; + fEvolutionDataInterpolation = false; + + + fTheNucleiVector = 0; + fTheMatrix = 0; + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + fDataBaseIndex = DB_index_file; + fOldReadMethod = olfreadmethod; + fUseRK4EvolutionMethod = true; + + fDistanceType = 0; + + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + ReadDataBase(); + + SetForbidNegativeValue(); + + if(IsLog()) + { + // Warning + cout << "!!INFO!! !!!DataBank<IsotopicVector>!!! A EvolutionData<ZAI> has been define :" << endl; + cout << "\t His index is : \"" << DB_index_file << "\"" << endl; + cout << "\t " << fDataBank.size() << " EvolutionData have been read."<< endl << endl; + + GetLog()->fLog << "!!INFO!! !!!DataBank<IsotopicVector>!!! A EvolutionData<ZAI> has been define :" << endl; + GetLog()->fLog << "\t His index is : \"" << DB_index_file << "\"" << endl; + GetLog()->fLog << "\t " << fDataBank.size() << " EvolutionData have been read."<< endl << endl; + } + + +} + +template<> +DataBank<IsotopicVector>::~DataBank() +{ + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + if(fTheNucleiVector) + { + delete fTheNucleiVector; + } + + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fDataBank.begin(); it_del != fDataBank.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fDataBank.clear(); + + for( it_del = fDataBankCalculated.begin(); it_del != fDataBankCalculated.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fDataBankCalculated.clear(); + + fFissionEnergy.clear(); + fFastDecay.clear(); + fSpontaneusYield.clear(); + fReactionYield.clear(); + findex_inver.clear(); + findex.clear(); + fDecayMatrix.Clear(); + +} + +template<> +void DataBank<IsotopicVector>::Clear() +{ + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + if(fTheNucleiVector) + { + delete fTheNucleiVector; + } + + fDataBank.clear(); + fDataBankCalculated.clear(); + fFissionEnergy.clear(); + fFastDecay.clear(); + fSpontaneusYield.clear(); + fReactionYield.clear(); + findex_inver.clear(); + findex.clear(); + + + fTheNucleiVector = 0; + fTheMatrix = 0; + fNVar = 0; + + fOldReadMethod = true; + fUseRK4EvolutionMethod = true; + fDistanceType = 0; + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + SetForbidNegativeValue(); + + + fDecayMatrix.Clear(); + + + +} + + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::ReadDataBase() +{ + + if(fDataBank.size() != 0) + { + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fDataBank.begin(); it_del != fDataBank.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fDataBank.clear(); + } + + if(fDataBankCalculated.size() != 0) + { + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fDataBankCalculated.begin(); it_del != fDataBankCalculated.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fDataBankCalculated.clear(); + } + + + + + ifstream DataDB(fDataBaseIndex.c_str()); // Open the File + if(!DataDB) + { + cout << "!!Warning!! !!!DataBank!!! \n Can't open \"" << fDataBaseIndex << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!DataBank!!! \n Can't open \"" << fDataBaseIndex << "\"\n" << endl; + } + vector<double> vTime; + vector<double> vTimeErr; + + string line; + int start = 0; + + + + // First Get Fuel Type + getline(DataDB, line); + if( StringLine::NextWord(line, start, ' ') != "TYPE") + { + cout << "!!Bad Trouble!! !!!DataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the type of the DataBase"<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!DataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the type of the DataBase"<< endl; + exit (1); + } + fFuelType = StringLine::NextWord(line, start, ' '); + // First Get Fuel Parameter + getline(DataDB, line); + start = 0; + if( StringLine::NextWord(line, start, ' ') != "PARAM") + { + cout << "!!Bad Trouble!! !!!DataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the Parameter of the DataBase"<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!DataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the Parameter of the DataBase"<< endl; + exit (1); + } + while(start < (int)line.size()) + fFuelParameter.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + //Then Get All the Database + + while (!DataDB.eof()) + { + getline(DataDB, line); + if(line != "") + { + EvolutionData* evolutionproduct = new EvolutionData(GetLog(), line, fOldReadMethod); + IsotopicVector ivtmp = evolutionproduct->GetIsotopicVectorAt(0.).GetActinidesComposition(); + fDataBank.insert( pair<IsotopicVector, EvolutionData >(ivtmp , (*evolutionproduct) )); + } + } + +} +//________________________________________________________________________ + + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Physics */ +//________________________________________________________________________ +//________________________________________________________________________ + + + +//________________________________________________________________________ +/* Decay Stuff */ +//________________________________________________________________________ +template<> +string DataBank<IsotopicVector>::GetDecay(string DecayModes, double &BR,int &Iso, int &StartPos) +{ + string header; + + BR=0; + //extraction of the decay mode and the BR + string DecayBR=StringLine::NextWord(DecayModes,StartPos,','); + //extraction of the decay + int ss=0; + string Decay=StringLine::NextWord(DecayBR,ss,':'); + //extraction of the BR if exist (i.e. for non stable isotop) + if(ss<int(DecayBR.size())) + BR=atof(DecayBR.substr(ss+1).c_str()); + //BR in % -> BR + BR/=100.; + //find the Isomeric state of Daughter + Iso=0; + if(Decay.find("/",0)<string::npos) + { + Iso=atoi(Decay.substr(Decay.find("/")+1).c_str()); + Decay=Decay.substr(0,Decay.find("/")); + } + return Decay; +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::BuildDecayMatrix() +{ + fDecayMatrix.Clear(); + + // List of Decay Time and Properties + map<ZAI, pair<double, map< ZAI, double > > > ZAIDecay; + + { // TMP + map< ZAI, double > toAdd; + toAdd.insert(pair<ZAI, double> ( ZAI(-3,-3,-3) , 1) ); + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > >( ZAI(-3,-3,-3), pair<double, map< ZAI, double > > ( 1e28 ,toAdd )) ) ; + } + { // PF + map< ZAI, double > toAdd; + toAdd.insert(pair<ZAI, double> ( ZAI(-2,-2,-2), 1) ); + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > >( ZAI(-2,-2,-2), pair<double, map< ZAI, double > > ( 1e28 ,toAdd )) ) ; + } + + + string DataFullPathName = GetDataDirectoryName()+ GetDataFileName(); + ifstream infile(DataFullPathName.c_str()); + + if(!infile) + { + cout << "!!Warning!! !!!DataBank!!! \n Can't open \"" << DataFullPathName << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!DataBank!!! \n Can't open \"" << DataFullPathName<< "\"\n" << endl; + } + + + + + + do + { + int A = -1; + int Z = -1; + int I = -1; + string zainame; + string Iname; + int unkown; + double HalfLife; + string DecayModes; + + infile >> A >> Z >> zainame >> Iname >> unkown >> HalfLife >> DecayModes; + if(Z >= fZAIThreshold ) + { + // Get Isomeric State; + + if(Iname=="gs") + I = 0; + else + if(Iname[0]=='m') + { + if( atoi( Iname.substr(1).c_str() )==0 ) + I = 1; + else + I = atoi( Iname.substr(1).c_str() ); + + } + + + int start=0; + double branch_test=0; + double branch_test_f=0; + + ZAI ParentZAI = ZAI(Z,A,I); + IsotopicVector DaughtersMap; + bool stable = true; + + while(start<int(DecayModes.size())) + { + ZAI DaughterZAI; + double BR; + int daughter_A=0; + int daughter_N=0; + int daughter_Z=0; + int Iso=0; + int DM=-1; + // FPDistribution *FP=0; + string decay_name = GetDecay(DecayModes, BR, Iso, start); + + if (decay_name == "s") {DM=0;daughter_N=(A-Z); daughter_Z=Z;BR=1;} + if (decay_name == "b-") {DM=1;stable=false; daughter_N=(A-Z)-1; daughter_Z=Z+1;} + if (decay_name == "n") {DM=2;stable=false; daughter_N=(A-Z)-1; daughter_Z=Z;} + if (decay_name == "nn") {DM=3;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z;} + if (decay_name == "b-n"){DM=4;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z+1;} + if (decay_name == "p") {DM=5;stable=false; daughter_N=(A-Z); daughter_Z=Z-1;} + if (decay_name == "b-a"){DM=6;stable=false; daughter_N=(A-Z)-3; daughter_Z=Z-1;} + if (decay_name == "pp") {DM=7;stable=false; daughter_N=(A-Z); daughter_Z=Z-2;} + if (decay_name == "ce") {DM=8;stable=false; daughter_N=(A-Z)+1; daughter_Z=Z-1;} + if (decay_name == "a") {DM=9;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z-2;} + if (decay_name == "cen"){DM=10;stable=false; daughter_N=(A-Z); daughter_Z=Z-1;} + if (decay_name == "cep"){DM=11;stable=false; daughter_N=(A-Z)+1; daughter_Z=Z-2;} + if (decay_name == "it") {DM=12;stable=false; daughter_N=(A-Z); daughter_Z=Z;Iso = I-1;} + if (decay_name == "db-"){DM=13;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z+2;} + if (decay_name == "db+"){DM=14;stable=false; daughter_N=(A-Z)+2; daughter_Z=Z-2;} + if (decay_name == "ita"){DM=15;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z-2;} + if (decay_name == "sf") {DM=16;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + if (decay_name == "cesf"){DM=17;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + if (decay_name == "b-sf"){DM=18;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + + daughter_A = daughter_Z + daughter_N; + { + if( daughter_Z < fZAIThreshold && daughter_Z!=-2 ) + daughter_A = daughter_Z = Iso = -3; + // not spontaneous fission + ZAI DaughterZAI = ZAI(daughter_Z,daughter_A,Iso); + + if((BR>1e-10) && (!stable)) + { + if(DM <= 15) + { + DaughtersMap += BR * DaughterZAI; + branch_test+=BR; + } + else if( DM <= 18) + { + if(fSpontaneusYield.size() == 0 || fReactionYield.size() == 0 || DM == 17 || DM == 18) + { + DaughtersMap += 2*BR * ZAI(-2,-2,-2); + + branch_test_f += BR; + } + else + { + + map<ZAI, IsotopicVector>::iterator it_yield = fSpontaneusYield.find(ParentZAI); + if(it_yield != fSpontaneusYield.end()) + { + DaughtersMap += (BR* (*it_yield).second ); + branch_test_f += BR* (*it_yield).second.GetSumOfAll() / 2.; + + } + else + { + DaughtersMap += 2*BR * ZAI(-2,-2,-2); + branch_test_f += BR; + } + } + } + + } + + } + if (DM !=0) + stable = false; + // End of While loop + } + + double btest = fabs(branch_test + branch_test_f-1.0); + if ( btest > 1e-8 && !stable ) + if(branch_test+branch_test_f > 0) + DaughtersMap = DaughtersMap /(branch_test+branch_test_f); + + + + if (HalfLife < fShorstestHalflife && !stable) + fFastDecay.insert( pair< ZAI, map<ZAI, double> > ( ParentZAI, DaughtersMap.GetIsotopicQuantity() ) ); + else if (stable) + { + IsotopicVector StableIV = ParentZAI *1; + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > > + (ParentZAI, pair<double, map< ZAI, double > > + ( 1e36, StableIV.GetIsotopicQuantity()) ) ); + } + else + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > > + (ParentZAI, pair<double, map< ZAI, double > > + ( HalfLife, DaughtersMap.GetIsotopicQuantity()) ) ); + + + } + + } while (!infile.eof()); + + { + int i = 0; + map<ZAI, pair<double, map< ZAI, double > > >::iterator it; + for(it = ZAIDecay.begin() ; it != ZAIDecay.end(); it++) + { + findex.insert( pair<int, ZAI > ( i, (*it).first ) ); + findex_inver.insert( pair<ZAI, int > ( (*it).first , i )); + i++; + } + } + + // Fill the Decay Part of the Bateman Matrix Always the same ! + bool FastDecayValidation = false; + while (!FastDecayValidation) + { + map<ZAI, map<ZAI, double> > FastDecayCopy = fFastDecay; + + map<ZAI, map<ZAI, double> >::iterator FD_it; + map<ZAI, map<ZAI, double> >::iterator FD_it_Origin; + + + for(FD_it = FastDecayCopy.begin(); FD_it != FastDecayCopy.end(); FD_it++) + { + + FD_it_Origin = fFastDecay.find(FD_it->first); + + map<ZAI, double> BR = (*FD_it).second; + map<ZAI, double>::iterator BR_it; + + for(BR_it = BR.begin(); BR_it != BR.end(); BR_it++) + { + + map<ZAI, int>::iterator it_index = findex_inver.find( (*BR_it).first ); + + if( it_index == findex_inver.end() ) + { + map<ZAI, map<ZAI, double> >::iterator FD2_it = FastDecayCopy.find((*BR_it).first); + if( FD2_it != FastDecayCopy.end() ) + { + map<ZAI, double>::iterator BR2_it; + (*FD_it_Origin).second.erase((*BR_it).first); + + for (BR2_it = (*FD2_it).second.begin(); BR2_it != (*FD2_it).second.end(); BR2_it++) + { + + pair<map<ZAI, double>::iterator, bool> IResult; + IResult = (*FD_it_Origin).second.insert( pair<ZAI, double> ( (*BR2_it).first, (*BR_it).second * (*BR2_it).second ) ); + + if( !IResult.second) + (*IResult.first).second += (*BR_it).second * (*BR2_it).second ; + + + } + + } + else + { + (*FD_it_Origin).second.erase( (*BR_it).first ); + pair< map<ZAI, double>::iterator, bool> IResult; + IResult = (*FD_it_Origin).second.insert( pair<ZAI, double> ( ZAI(-3,-3,-3), (*BR_it).second) ); + if( !IResult.second) + (*IResult.first).second += (*BR_it).second ; + } + + + + } + } + + } + + + FastDecayValidation = true; + for(FD_it = fFastDecay.begin(); FD_it != fFastDecay.end(); FD_it++) + { + map<ZAI, double>::iterator BR_it; + for (BR_it = (*FD_it).second.begin(); BR_it != (*FD_it).second.end(); BR_it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*BR_it).first ); + map<ZAI, map<ZAI, double> >::iterator FD2_it = fFastDecay.find( (*BR_it).first ); + if(Index_it == findex_inver.end() && FD2_it == fFastDecay.end()) + FastDecayValidation = false; + } + } + } + + + fDecayMatrix.ResizeTo(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + fDecayMatrix[i][j] = 0; + + + + + { + int i = 0; + map<ZAI, pair<double, map< ZAI, double > > >::iterator it; + for(it = ZAIDecay.begin() ; it != ZAIDecay.end(); it++) + { + map< ZAI, double >::iterator it2; + map< ZAI, double > decaylist = (*it).second.second; + for(it2 = decaylist.begin(); it2!= decaylist.end(); it2++) + { + + map<ZAI, int >::iterator it3 = findex_inver.find( (*it2).first ); + if( it3 != findex_inver.end() ) + { + fDecayMatrix[(*it3).second][i] += log(2.)/(*it).second.first * (*it2).second; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( (*it2).first ); + + if( it4 == fFastDecay.end() ) + { + + + fDecayMatrix[0][i] += log(2.)/(*it).second.first * (*it2).second; + } + else + { + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it3 = findex_inver.find( (*it5).first ); + if( it3 == findex_inver.end() ) + fDecayMatrix[0][i] += log(2.)/(*it).second.first * (*it2).second * (*it5).second; + + else + { + fDecayMatrix[(*it3).second][i] += log(2.)/(*it).second.first * (*it2).second * (*it5).second; + + } + } + } + + } + } + fDecayMatrix[i][i] += -log(2.)/(*it).second.first; + + i++; + + + } + } + +} + +//________________________________________________________________________ +/* Fission Stuff */ +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetFissionEnergy(ZAI zai, double E) +{ + pair<map<ZAI, double>::iterator, bool> IResult; + IResult = fFissionEnergy.insert( pair<ZAI ,double>(zai, E)); + if(!IResult.second) + IResult.first->second = E; + +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetFissionEnergy(string FissionEnergyFile) +{ + ifstream FissionFile(FissionEnergyFile.c_str()); // Open the File + if(!FissionFile) //check if file is correctly open + { + cout << "!!Warning!! !!!DataBank!!! \n Can't open \"" << FissionFile << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!DataBank!!! \n Can't open \"" << FissionFile << "\"\n" << endl; + } + + do { + int Z = 0; + int A = 0; + int I = 0; + double E = 0; + FissionFile >> Z >> A >> I >> E; + SetFissionEnergy(Z, A, I, E); + } while (!FissionFile.eof()); +} + +//________________________________________________________________________ +template<> +map< ZAI,IsotopicVector > DataBank<IsotopicVector>::ReadFPYield(string Yield) +{ + IsotopicVector EmptyIV; + map< ZAI,IsotopicVector > Yield_map; + + ifstream infile(Yield.c_str()); + if(!infile) + { + cout << "!!Warning!! !!!DataBank!!! \n Can't open \"" << Yield << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!DataBank!!! \n Can't open \"" << Yield<< "\"\n" << endl; + } + + + string line; + int start = 0; + + getline(infile, line); + + do + { + int Z = atof(StringLine::NextWord(line, start, ' ').c_str()); + int A = atof(StringLine::NextWord(line, start, ' ').c_str()); + int I = 0; + + // if(Z!=0 && A!=0) + { + pair<map<ZAI, IsotopicVector>::iterator, bool> IResult; + IResult = Yield_map.insert(pair<ZAI,IsotopicVector>(ZAI(Z,A,I),EmptyIV) ); + if(!IResult.second) + { + cout << "!!Error!! !!!DataBank!!! Many accurance of ZAI " << Z << " " << A; + cout << " in " << Yield << " file!! Please Check it !!!" << endl; + exit(1); + + } + } + }while(start < (int)line.size()-1); + + do + { + start = 0; + + getline(infile, line); + int Z = atof(StringLine::NextWord(line, start, ' ').c_str()); + int A = atof(StringLine::NextWord(line, start, ' ').c_str()); + int I = atof(StringLine::NextWord(line, start, ' ').c_str()); + map<ZAI, IsotopicVector>::iterator it = Yield_map.begin(); + do + { + if (it == Yield_map.end()) + { + cout << "!!Error!! !!!DataBank!!! Many accurance of the PF " << Z << " " << A; + cout << " in " << Yield << " file!! Please Check it"; + cout << "(Number of yield does not match the number of ZAI that fission !!!" << endl; + exit(1); + + } + + double Yield_values = atof(StringLine::NextWord(line, start, ' ').c_str()); + (*it).second += Yield_values * ZAI(Z,A,I); + + it++; + }while(start < (int)line.size()-1); + + + + + } while (!infile.eof()); + return Yield_map; +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::LoadFPYield(string SponfaneusYield, string ReactionYield) +{ + + fSpontaneusYield = ReadFPYield(SponfaneusYield); + fReactionYield = ReadFPYield(ReactionYield); + fZAIThreshold = 0; +} + + + +//________________________________________________________________________ +/* Reaction Stuff */ +//________________________________________________________________________ +template<> +TMatrixT<double> DataBank<IsotopicVector>::GetFissionXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + // ---------------- A(n,.) X+Y + + map<ZAI ,TGraph* > FissionXS = EvolutionDataStep.GetFissionXS(); + + for(it = FissionXS.begin() ; it != FissionXS.end(); it++) + { + map<ZAI, int>::iterator findex_inver_it = findex_inver.find( (*it).first ); + if( findex_inver_it != findex_inver.end() ) + { + double y = (*it).second->Eval(TStep); + BatemanMatrix[ findex_inver_it->second ][ findex_inver_it->second ] += -y* 1e-24; + + if(fSpontaneusYield.size() == 0 || fReactionYield.size() == 0) + BatemanMatrix[1][ findex_inver_it->second ] += 2*y* 1e-24; + else + { + map<ZAI, IsotopicVector>::iterator it_yield = fReactionYield.find( (*it).first ); + + if( it_yield != fReactionYield.end()) + { + map<ZAI ,double>::iterator it_IVQ; + map<ZAI ,double> IVQ = (*it_yield).second.GetIsotopicQuantity(); + + for( it_IVQ = IVQ.begin(); it_IVQ != IVQ.end(); it_IVQ++ ) + { + map<ZAI, int>::iterator findex_it_PF = findex_inver.find( (*it_IVQ).first ); + + if(findex_it_PF != findex_inver.end() ) + BatemanMatrix[(*findex_it_PF).second][ (*findex_inver_it).second ] += (*it_IVQ).second*y* 1e-24; + else + { + map<ZAI, map<ZAI, double> >::iterator it_FD = fFastDecay.find( (*it_IVQ).first); + + if( it_FD == fFastDecay.end() ) + { + BatemanMatrix[1][ (*findex_inver_it).second ] += (*it_IVQ).second * y * 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it_FD).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + findex_it_PF = findex_inver.find( (*it5).first ); + if( findex_it_PF == findex_inver.end() ) + BatemanMatrix[0][findex_inver_it->second] += + (*it_IVQ).second * y * 1e-24 * (*it5).second; + else + BatemanMatrix[(*findex_it_PF).second][findex_inver_it->second]+= + (*it_IVQ).second * y * 1e-24 * (*it5).second; + } + } + + } + + } + } + else + BatemanMatrix[1][ findex_inver_it->second ] += 2*y* 1e-24; + + } + } + + } + + return BatemanMatrix; + +} + +//________________________________________________________________________ +template<> +TMatrixT<double> DataBank<IsotopicVector>::GetCaptureXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + map<ZAI, map<ZAI, double> > Capture; + { // 241Am + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(96,242,0) , 0.8733*0.827) ); //directly cut the Am242 as in MURE + toAdd.insert(pair<ZAI, double> ( ZAI(94,242,0) , 0.8733*0.173) ); //directly cut the Am242 as in MURE + toAdd.insert(pair<ZAI, double> ( ZAI(95,242,1) , 0.1267) ); + Capture.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,241,0), toAdd ) ); + } + { // 242Am* + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(95,243,0) , 1) ); + Capture.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,242,1), toAdd ) ); + } + + + // ---------------- A(n,.)A+1 + map<ZAI ,TGraph* > CaptureXS = EvolutionDataStep.GetCaptureXS(); + for(it = CaptureXS.begin(); it != CaptureXS.end(); it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*it).first ); + if( Index_it != findex_inver.end() ) + { + double y; + y = (*it).second->Eval(TStep); + + BatemanMatrix[Index_it->second][ Index_it->second ] += -y* 1e-24 ; + + map<ZAI, map<ZAI, double> >::iterator it3 = Capture.find( (*it).first ); + + if( it3 == Capture.end() ) + { + map<ZAI, int >::iterator it6 = findex_inver.find( ZAI( (*it).first.Z(), (*it).first.A()+1, (*it).first.I()) ); + + if( it6 != findex_inver.end() ) + { + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 ; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( ZAI( (*it).first.Z(), (*it).first.A()+1, (*it).first.I()) ); + + if( it4 == fFastDecay.end() ) + { + BatemanMatrix[0][Index_it->second] += y* 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + BatemanMatrix[0][Index_it->second] += y* 1e-24 * (*it5).second; + else + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it5).second; + } + } + } + } + else + { + map<ZAI, double>::iterator it4; + map<ZAI, double> CaptureList = (*it3).second; + for(it4 = CaptureList.begin(); it4 != CaptureList.end() ; it4++) + { + + map<ZAI, int >::iterator it6 = findex_inver.find( (*it4).first ); + if( it6 != findex_inver.end() ) + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it4).second ; + else + { + map<ZAI, map<ZAI, double> >::iterator it7 = fFastDecay.find( (*it4).first ); + + if( it7 == fFastDecay.end() ) + { + cout << "CaptureList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it7).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + { + cout << "CaptureList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + BatemanMatrix[(*it6).second][Index_it->second] += y * 1e-24 * (*it5).second * (*it4).second; + } + } + + } + } + + + } + } + return BatemanMatrix; + +} + + +//________________________________________________________________________ +template<> +TMatrixT<double> DataBank<IsotopicVector>::Getn2nXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + map<ZAI, map<ZAI, double> > n2n; + { // 237Np + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(93,236,0) , 0.2) ); + toAdd.insert(pair<ZAI, double> ( ZAI(93,236,1) , 0.8) ); + n2n.insert( pair< ZAI, map<ZAI, double> > ( ZAI(93,237,0), toAdd ) ); + } + { // 242Am* + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(95,241,0) , 1) ); + n2n.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,242,1), toAdd ) ); + } + + // ---------------- A(n,2n)A-1 + map<ZAI ,TGraph* > n2nXS = EvolutionDataStep.Getn2nXS(); + for(it = n2nXS.begin(); it != n2nXS.end(); it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*it).first ); + if( Index_it != findex_inver.end() ) + { + double y; + y = (*it).second->Eval(TStep); + + BatemanMatrix[Index_it->second][ Index_it->second ] += -y* 1e-24 ; + + map<ZAI, map<ZAI, double> >::iterator it3 = n2n.find( (*it).first ); + + if( it3 == n2n.end() ) + { + map<ZAI, int >::iterator it6 = findex_inver.find( ZAI( (*it).first.Z(), (*it).first.A()-1, (*it).first.I()) ); + + if( it6 != findex_inver.end() ) + { + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 ; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( ZAI( (*it).first.Z(), (*it).first.A()-1, (*it).first.I()) ); + + if( it4 == fFastDecay.end() ) + { + BatemanMatrix[0][Index_it->second] += y* 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + BatemanMatrix[0][Index_it->second] += y* 1e-24 * (*it5).second; + else + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it5).second; + } + } + } + } + else + { + map<ZAI, double>::iterator it4; + map<ZAI, double> n2nList = (*it3).second; + for(it4 = n2nList.begin(); it4 != n2nList.end() ; it4++) + { + + map<ZAI, int >::iterator it6 = findex_inver.find( (*it4).first ); + if( it6 != findex_inver.end() ) + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it4).second ; + else + { + map<ZAI, map<ZAI, double> >::iterator it7 = fFastDecay.find( (*it4).first ); + + if( it7 == fFastDecay.end() ) + { + cout << "n2nList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it7).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + { + cout << "n2nList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + BatemanMatrix[(*it6).second][Index_it->second] += y * 1e-24 * (*it5).second * (*it4).second; + } + } + + } + } + + + } + } + return BatemanMatrix; +} + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Distance Calculation */ +//________________________________________________________________________ +//________________________________________________________________________ +template<> +map<double, EvolutionData> DataBank<IsotopicVector>::GetDistancesTo(IsotopicVector isotopicvector, double t) const +{ + + map<double, EvolutionData> distances; + + map<IsotopicVector, EvolutionData > evolutiondb = fDataBank; + + map<IsotopicVector, EvolutionData >::iterator it; + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + pair<map<double, EvolutionData>::iterator, bool> IResult; + + double D = Distance(isotopicvector.GetActinidesComposition(), (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition()/ Norme( (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition() )*Norme(isotopicvector.GetActinidesComposition()) + ,fDistanceType, fDistanceParameter); + + IResult = distances.insert( pair<double, EvolutionData>( D , (*it).second ) ); + } + + return distances; + +} + +//________________________________________________________________________ +template<> +EvolutionData DataBank<IsotopicVector>::GetClosest(IsotopicVector isotopicvector, double t) const +{ + + map<IsotopicVector, EvolutionData > evolutiondb = fDataBank; + double distance = 0; + + map<IsotopicVector, EvolutionData >::iterator it_close = evolutiondb.begin(); + + + map<IsotopicVector, EvolutionData >::iterator it; + + + if(fWeightedDistance) + { + distance = Distance(isotopicvector.GetActinidesComposition() + * evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + / isotopicvector.GetActinidesComposition().GetSumOfAll(), + evolutiondb.begin()->second); + + + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + double D = 0; + D = Distance(isotopicvector.GetActinidesComposition() + * (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + / isotopicvector.GetActinidesComposition().GetSumOfAll(), + (*it).second); + + if (D< distance) + { + distance = D; + it_close = it; + } + } + + return (*it_close).second; + } + else if (fEvolutionDataInterpolation) + { + + map<double, EvolutionData> distance_map = GetDistancesTo(isotopicvector, t); + map<double, EvolutionData>::iterator it_distance; + int NClose = 64; + int Nstep = 0; + EvolutionData EvolInterpolate; + double SumOfDistance = 0; + for( it_distance = distance_map.begin(); it_distance != distance_map.end(); it_distance++) + { + + if((*it_distance).first == 0 ) + { + EvolInterpolate = Multiply(1,(*it_distance).second); + return EvolInterpolate; + } + if(Nstep == 0) + EvolInterpolate = Multiply(1./(*it_distance).first, (*it_distance).second); + else + { + + EvolutionData Evoltmp = EvolInterpolate; + EvolutionData Evoltmp2 = Multiply(1./(*it_distance).first, (*it_distance).second); + + EvolInterpolate = Sum(Evoltmp, Evoltmp2); + Evoltmp.DeleteEvolutionData(); + Evoltmp2.DeleteEvolutionData(); + + + } + + SumOfDistance += 1./(*it_distance).first; + Nstep++; + if(Nstep == NClose) break; + + } + + EvolutionData Evoltmp = EvolInterpolate; + EvolInterpolate.Clear(); + + EvolInterpolate = Multiply(1/SumOfDistance, Evoltmp); + + Evoltmp.DeleteEvolutionData(); + return EvolInterpolate; + + } + else + { + distance = Distance(isotopicvector.GetActinidesComposition(), + evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition() + / evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + * isotopicvector.GetActinidesComposition().GetSumOfAll(), + fDistanceType, fDistanceParameter); + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + + double D = 0; + + + D = Distance(isotopicvector.GetActinidesComposition(), + (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition() + / (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + * isotopicvector.GetActinidesComposition().GetSumOfAll(), + fDistanceType, fDistanceParameter); + + if (D< distance) + { + distance = D; + it_close = it; + } + } + return (*it_close).second; + + } + + +} + +//________________________________________________________________________ + +template<> +void DataBank<IsotopicVector>::CalculateDistanceParameter() +{ + + if(fDistanceType!=1){ + cout << "!!Warning!! !!!CalculateDistanceParameter!!!" + << " Distance Parameter will be calculate even if the distance type is not the good one. Any Distance Parameters given by the user will be overwriten"<<endl; + + GetLog()->fLog << "!!Warning!! !!!CalculateDistanceParameter!!!" + << " Distance Parameter will be calculate even if the distance type is not the good one. Any Distance Parameters given by the user will be overwriten"<<endl; + } + + fDistanceParameter.Clear(); + + //We calculate the weight for the distance calculation. + map<IsotopicVector ,EvolutionData >::iterator it; + map<IsotopicVector ,EvolutionData > databank = (*this).GetDataBank(); + int NevolutionDatainDataBank = 0; + + for( it = databank.begin(); it != databank.end(); it++ ) + { + NevolutionDatainDataBank++; + map<ZAI ,double>::iterator itit; + map<ZAI ,double> isovector=(*it).first.GetIsotopicQuantity(); + for(itit=isovector.begin(); itit != isovector.end(); itit++) //Boucle sur ZAI + { + double TmpXS=0; + + for( int i=1; i<4; i++ ) //Loop on Reactions 1==fission, 2==capture, 3==n2n + TmpXS+= (*it).second.GetXSForAt(0, (*itit).first, i); + + fDistanceParameter.Add((*itit).first,TmpXS); + } + + + } + fDistanceParameter.Multiply( (double)1.0/NevolutionDatainDataBank ); + + if(GetLog()){ + GetLog()->fLog <<"!!INFO!! Distance Parameters "<<endl; + map<ZAI ,double >::iterator it2; + for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++) + { + GetLog()->fLog << (*it2).first.Z() << " "; + GetLog()->fLog << (*it2).first.A() << " "; + GetLog()->fLog << (*it2).first.I() << " "; + GetLog()->fLog << ": " << (*it2).second; + GetLog()->fLog << endl; + } + GetLog()->fLog << endl; + } + + +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetDistanceParameter(IsotopicVector DistanceParameter) +{ + + fDistanceParameter = DistanceParameter; + + GetLog()->fLog <<"!!INFO!! Distance Parameters "<<endl; + map<ZAI ,double >::iterator it2; + for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++) + { + GetLog()->fLog << (*it2).first.Z() << " "; + GetLog()->fLog << (*it2).first.A() << " "; + GetLog()->fLog << (*it2).first.I() << " "; + GetLog()->fLog << ": " << (*it2).second; + GetLog()->fLog << endl; + } + GetLog()->fLog << endl; + +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetDistanceType(int DistanceType) +{ + + fDistanceType=DistanceType; + if(fDistanceType==1){ + CalculateDistanceParameter(); + } + else if(fDistanceType == 2 && Norme(fDistanceParameter)==0){ + // This is so bad!! You will probably unsynchronize all the reactor.... + cout << "!!Warning!! !!!DistanceType!!!" + << " Distance use weight defined by user for each isotope, but no weight have been given" << endl<<"Use SetDistanceParameter()"<<endl; + + GetLog()->fLog << "!!Warning!! !!!DistanceType!!!" + << " Distance use weight defined by user for each isotope, but no weight have been given" << endl<<"Use SetDistanceParameter()"<<endl; + exit(1); + } + else if (fDistanceType != 0 && fDistanceType != 1 && fDistanceType != 2 ){ + cout << "!!ERROR!! !!!DistanceType!!!" + << " Distancetype defined by the user isn't recognized by the code"<<endl; + + GetLog()->fLog << "!!ERROR!! !!!DistanceType!!!" + << " Distancetype defined by the user isn't recognized by the code"<<endl; + exit(1); + } + +} + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Evolution */ +//________________________________________________________________________ +//________________________________________________________________________ + +//________________________________________________________________________ +/* RK4 Stuff */ +//________________________________________________________________________ +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::ResetTheMatrix() +{ + + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + fTheMatrix = 0; +} + +template<> +void DataBank<IsotopicVector>::SetTheMatrixToZero() +{ + ResetTheMatrix(); + + fNVar = findex.size(); + fTheMatrix = new double*[fNVar]; + +#pragma omp parallel for + for(int i= 0; i < fNVar; i++) + fTheMatrix[i] = new double[fNVar]; + + for(int i = 0; i < fNVar; i++) + for(int k = 0; k < fNVar; k++) + { + fTheMatrix[i][k]=0.0; + } + +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::ResetTheNucleiVector() +{ + if(fTheNucleiVector) + delete [] fTheNucleiVector; + fTheNucleiVector = 0; +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetTheNucleiVectorToZero() +{ + ResetTheNucleiVector(); + fTheNucleiVector = new double[fNVar]; + +#pragma omp parallel for + for(int i = 0; i < fNVar; i++) + fTheNucleiVector[i]=0.0; + +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::BuildEqns(double t, double *N, double *dNdt) +{ + double sum=0; + // pragma omp parallel for reduction(+:sum) + for(int i = 0; i < fNVar; i++) + { + sum=0; + for(int k = 0; k < fNVar; k++) + { + sum += fTheMatrix[i][k]*N[k]; + } + dNdt[i] = sum; + } +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetTheMatrix(TMatrixT<double> BatemanMatrix) +{ + for (int k = 0; k < (int)fNVar; k++) + for (int l = 0; l < (int)findex_inver.size(); l++) + fTheMatrix[l][k] = BatemanMatrix[l][k]; +} + +//________________________________________________________________________ +template<> +TMatrixT<double> DataBank<IsotopicVector>::GetTheMatrix() +{ + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for (int k = 0; k < (int)fNVar; k++) + for (int l = 0; l < (int)findex_inver.size(); l++) + BatemanMatrix[l][k] = fTheMatrix[l][k]; + + return BatemanMatrix; +} + +//________________________________________________________________________ +template<> +void DataBank<IsotopicVector>::SetTheNucleiVector(TMatrixT<double> NEvolutionMatrix) +{ + for (int k = 0; k < (int)fNVar; k++) + fTheNucleiVector[k] = NEvolutionMatrix[k][0]; +} + +//________________________________________________________________________ +template<> +TMatrixT<double> DataBank<IsotopicVector>::GetTheNucleiVector() +{ + TMatrixT<double> NEvolutionMatrix = TMatrixT<double>(findex.size(),1); + for (int k = 0; k < (int)fNVar; k++) + NEvolutionMatrix[k][0] = fTheNucleiVector[k]; + + return NEvolutionMatrix; +} + + +//________________________________________________________________________ +/* Evolution Calculation */ +//________________________________________________________________________ +template<> +EvolutionData DataBank<IsotopicVector>::GenerateEvolutionData(IsotopicVector isotopicvector, double cycletime, double Power) +{ + + if(fFastDecay.size() == 0) + { + BuildDecayMatrix(); + fNVar = findex_inver.size(); + } + + SetTheMatrixToZero(); + SetTheNucleiVectorToZero(); + + string ReactorType; + + + vector< TMatrixT<double> > NMatrix ;// TMatrixT<double>(decayindex.size(),1)) + { // Filling the t=0 State; + map<ZAI, double > isotopicquantity = isotopicvector.GetIsotopicQuantity(); + TMatrixT<double> N_0Matrix = TMatrixT<double>( findex.size(),1) ; + for(int i = 0; i < (int)findex.size(); i++) + N_0Matrix[i] = 0; + + map<ZAI, double >::iterator it ; + for(int i = 0; i < (int)findex.size(); i++) + N_0Matrix[i] = 0; + + for(it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + { + /// Need TO change with FP managment + map<ZAI, int >::iterator it2; + + if( (*it).first.Z() < fZAIThreshold ) + it2 = findex_inver.find( ZAI(-2,-2,-2) ); + else it2 = findex_inver.find( (*it).first ); + + if(it2 == findex_inver.end() ) //If not in index should be TMP, can't be fast decay for new Fuel !!! + it2 = findex_inver.find( ZAI(-3,-3,-3) ); + N_0Matrix[ (*it2).second ][0] = (*it).second ; + + + } + + isotopicquantity.clear(); + + NMatrix.push_back(N_0Matrix); + N_0Matrix.Clear(); + + } + + + //-------------------------// + //--- Perform Evolution ---// + //-------------------------// + EvolutionData EvolutionDataStep = GetClosest(isotopicvector.GetActinidesComposition(), 0.); //GetCLosest at the begining of evolution + ReactorType = EvolutionDataStep.GetReactorType(); + + double Na = 6.02214129e23; //N Avogadro + double M_ref = 0; + double M = 0; + double Power_ref = EvolutionDataStep.GetPower(); + { + map<ZAI, double >::iterator it ; + + + IsotopicVector IVtmp = isotopicvector.GetActinidesComposition() + EvolutionDataStep.GetIsotopicVectorAt(0.).GetActinidesComposition(); + map<ZAI, double >isotopicquantity = IVtmp.GetIsotopicQuantity(); + + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + { + M_ref += EvolutionDataStep.GetIsotopicVectorAt(0.).GetActinidesComposition().GetZAIIsotopicQuantity( (*it).first )*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + M += isotopicvector.GetActinidesComposition().GetZAIIsotopicQuantity( (*it).first )*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + } + isotopicquantity.clear(); + + } + + int DBTimeStepN = EvolutionDataStep.GetFissionXS().begin()->second->GetN(); + double* DBTimeStep = EvolutionDataStep.GetFissionXS().begin()->second->GetX(); + + int InsideStep = 10; + + int NStep = (DBTimeStepN); + double timevector[NStep]; + timevector[0] = 0; + + double Flux[NStep]; + + TMatrixT<double> SigmaPhi = TMatrixT<double>(findex.size()*3+1,NStep); // Store the XS and the flux trought the evolution calculation. + for(int i = 0; i < (int)findex.size()*3+1; i++) + for(int j = 0; j < (int)NStep; j++) + SigmaPhi[i][j] = 0; + + TMatrixT<double> FissionEnergy = TMatrixT<double>(findex.size(),1); + for(int i = 0; i < (int)findex.size(); i++) + FissionEnergy[i] = 0; + + { + map< ZAI, int >::iterator it; + for(it = findex_inver.begin(); it != findex_inver.end(); it++) + { + map< ZAI, double >::iterator it2 = fFissionEnergy.find(it->first); + if(it2 == fFissionEnergy.end()) + { + if(it->first.Z() > fZAIThreshold) + FissionEnergy[it->second][0] = 1.9679e6*it->first.A()-2.601e8; // //simple linear fit to known values ;extrapolation to unknown isotopes + else FissionEnergy[it->second][0] = 0; + } + else + FissionEnergy[it->second][0] = it2->second; + + } + } + + vector< TMatrixT<double> > FissionXSMatrix; //The Fisison XS Matrix + vector< TMatrixT<double> > CaptureXSMatrix; //The Capture XS Matrix + vector< TMatrixT<double> > n2nXSMatrix; //The n2N XS Matrix + + for(int i = 0; i < NStep-1; i++) + { + double TStepMax = ( (DBTimeStep[i+1]-DBTimeStep[i] ) ) * Power_ref/M_ref / Power*M ; + + + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + TMatrixT<double> BatemanReactionMatrix = TMatrixT<double>(findex.size(),findex.size()); + + TMatrixT<double> NEvolutionMatrix = TMatrixT<double>(findex.size(),1); + NEvolutionMatrix = NMatrix.back(); + + + + FissionXSMatrix.push_back(GetFissionXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + CaptureXSMatrix.push_back(GetCaptureXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + n2nXSMatrix.push_back(Getn2nXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + + // ---------------- Evolution + + BatemanReactionMatrix = FissionXSMatrix[i]; + BatemanReactionMatrix += CaptureXSMatrix[i]; + BatemanReactionMatrix += n2nXSMatrix[i]; + + if(fUseRK4EvolutionMethod) + { + for(int k=0; k < InsideStep; k++) + { + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix[i][j][j]*NEvolutionMatrix[j][0]*1.6e-19*FissionEnergy[j][0]; + // Update Flux + double Flux_k = Power/ESigmaN; + + if(k==0) + Flux[i]=Flux_k; + + BatemanMatrix = BatemanReactionMatrix; + BatemanMatrix *= Flux_k; + BatemanMatrix += fDecayMatrix ; + + SetTheMatrixToZero(); + SetTheNucleiVectorToZero(); + + SetTheMatrix(BatemanMatrix); + SetTheNucleiVector(NEvolutionMatrix); + + + RungeKutta(fTheNucleiVector, timevector[i]+TStepMax/InsideStep*k, timevector[i]+TStepMax/InsideStep*(k+1), fNVar); + NEvolutionMatrix = GetTheNucleiVector(); + + } + NEvolutionMatrix = GetTheNucleiVector(); + NMatrix.push_back(NEvolutionMatrix); + } + else + { + + for(int k=0; k < InsideStep; k++) + { + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix[i][j][j]*NEvolutionMatrix[j][0]*1.6e-19*FissionEnergy[j][0]; + // Update Flux + double Flux_k = Power/ESigmaN; + + if(k==0) + Flux[i]=Flux_k; + + BatemanMatrix = BatemanReactionMatrix; + BatemanMatrix *= Flux_k; + BatemanMatrix += fDecayMatrix ; + BatemanMatrix *= TStepMax/InsideStep ; + + + TMatrixT<double> IdMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int j = 0; j < (int)findex.size(); j++) + for(int k = 0; k < (int)findex.size(); k++) + { + if(k == j) IdMatrix[j][k] = 1; + else IdMatrix[j][k] = 0; + } + + + TMatrixT<double> BatemanMatrixDL = TMatrixT<double>(findex.size(),findex.size()); // Order 0 Term from the DL : Id + TMatrixT<double> BatemanMatrixDLTermN = TMatrixT<double>(findex.size(),findex.size()); // Addind it; + + { + BatemanMatrix *= TStepMax ; + BatemanMatrixDLTermN = IdMatrix; + BatemanMatrixDL = BatemanMatrixDLTermN; + int j = 1; + double NormN; + + do + { + TMatrixT<double> BatemanMatrixDLTermtmp = TMatrixT<double>(findex.size(),findex.size()); // Adding it; + BatemanMatrixDLTermtmp = BatemanMatrixDLTermN; + + BatemanMatrixDLTermN.Mult(BatemanMatrixDLTermtmp, BatemanMatrix ); + + BatemanMatrixDLTermN *= 1./j; + BatemanMatrixDL += BatemanMatrixDLTermN; + + NormN = 0; + for(int m = 0; m < (int)findex.size(); m++) + for(int n = 0; n < (int)findex.size(); n++) + NormN += BatemanMatrixDLTermN[m][n]*BatemanMatrixDLTermN[m][n]; + j++; + + } while ( NormN != 0 ); + } + NEvolutionMatrix = BatemanMatrixDL * NEvolutionMatrix ; + } + NMatrix.push_back(NEvolutionMatrix); + + } + + timevector[i+1] = timevector[i] + TStepMax; + + BatemanMatrix.Clear(); + BatemanReactionMatrix.Clear(); + NEvolutionMatrix.Clear(); + + + } + FissionXSMatrix.push_back(GetFissionXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + CaptureXSMatrix.push_back(GetCaptureXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + n2nXSMatrix.push_back(Getn2nXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + + + EvolutionData GeneratedDB = EvolutionData(GetLog()); + + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix.back()[j][j]*NMatrix.back()[j][0]*1.6e-19*FissionEnergy[j][0]; + + Flux[NStep-1] = Power/ESigmaN; + + GeneratedDB.SetFlux( new TGraph(NStep, timevector, Flux) ); + + for(int i = 0; i < (int)findex.size(); i++) + { + double ZAIQuantity[NMatrix.size()]; + double FissionXS[NStep]; + double CaptureXS[NStep]; + double n2nXS[NStep]; + for(int j = 0; j < (int)NMatrix.size(); j++) + ZAIQuantity[j] = (NMatrix[j])[i][0]; + + for(int j = 0; j < NStep; j++) + { + FissionXS[j] = FissionXSMatrix[j][i][i]; + CaptureXS[j] = CaptureXSMatrix[j][i][i]; + n2nXS[j] = n2nXSMatrix[j][i][i]; + } + + GeneratedDB.NucleiInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NMatrix.size(), timevector, ZAIQuantity))); + GeneratedDB.FissionXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, FissionXS))); + GeneratedDB.CaptureXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, CaptureXS))); + GeneratedDB.n2nXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, n2nXS))); + } + + GeneratedDB.SetPower(Power ); + GeneratedDB.SetFuelType(fFuelType ); + GeneratedDB.SetReactorType(ReactorType ); + GeneratedDB.SetCycleTime(cycletime); + + // fDataBankCalculated.insert( pair< IsotopicVector, EvolutionData > ( GeneratedDB.GetIsotopicVectorAt(0.), GeneratedDB) ); + + ResetTheMatrix(); + ResetTheNucleiVector(); + + for (int i = 0; i < (int) FissionXSMatrix.size(); i++) + { + FissionXSMatrix[i].Clear(); + CaptureXSMatrix[i].Clear(); + n2nXSMatrix[i].Clear(); + } + FissionXSMatrix.clear(); + CaptureXSMatrix.clear(); + n2nXSMatrix.clear(); + + if(fEvolutionDataInterpolation) + EvolutionDataStep.DeleteEvolutionData(); + + return GeneratedDB; + +} + + + + + + + + + + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ + diff --git a/source/branches/CLASSV3/src/DecayDataBank.cxx b/source/branches/CLASSV3/src/DecayDataBank.cxx new file mode 100644 index 000000000..793af24b2 --- /dev/null +++ b/source/branches/CLASSV3/src/DecayDataBank.cxx @@ -0,0 +1,143 @@ +#include "DecayDataBank.hxx" + +#include "IsotopicVector.hxx" +#include "CLASSHeaders.hxx" +#include "LogFile.hxx" +#include "StringLine.hxx" + +#include <TGraph.h> +#include <TString.h> + + +#include <sstream> +#include <string> +#include <iostream> +#include <fstream> +#include <algorithm> +#include <cmath> + + +//________________________________________________________________________ +// +// DecayDataBank +// +// +// +// +//________________________________________________________________________ + +DecayDataBank::DecayDataBank():CLASSObject() +{ +} + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ + +DecayDataBank::DecayDataBank(LogFile* Log, string DB_index_file, bool setlog, bool olfreadmethod) +{ + + SetLog(Log); + fDataBaseIndex = DB_index_file; + + fOldReadMethod = olfreadmethod; + + // Warning + if(IsLog()) + { + cout << "!!INFO!! !!!DecayDataBank!!! A EvolutionData has been define :" << endl; + cout << "\t His index is : \"" << DB_index_file << "\"" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!DecayDataBank!!! A EvolutionData has been define :" << endl; + GetLog()->fLog << "\t His index is : \"" << DB_index_file << "\"" << endl << endl; + } + +} + +//________________________________________________________________________ +DecayDataBank::~DecayDataBank() +{ + +} + +//________________________________________________________________________ +IsotopicVector DecayDataBank::Evolution(const ZAI& zai, double dt) +{ + + IsotopicVector returnIV; + + map<ZAI ,EvolutionData >::iterator it = fDecayDataBank.find(zai); + + if (it == fDecayDataBank.end() ) + { + ifstream DB_index(fDataBaseIndex.c_str()); + if( !DB_index) + { + cout << "!!!EVOLUTIVE DB!!!! Can't open \"" << fDataBaseIndex << "\"" << endl; + GetLog()->fLog << "!!!EVOLUTIVE DB!!!! Can't open \"" << fDataBaseIndex << "\"" << endl; + exit (1); + } + bool zaifind = false; + string tmp; + getline(DB_index,tmp); // Read first line + while (!DB_index.eof()) + { + string line; + int start=0; + getline(DB_index,line); // Read first line + string first=StringLine::NextWord(line,start); // Read first word + + if(first.size()==0) break; // If First word is null.... quit + + int rZ=atoi(first.c_str()); // Get Z + int rA=atoi(StringLine::NextWord(line,start).c_str()); // Get A + int rI=atoi(StringLine::NextWord(line,start).c_str()); // Get Isomeric State + + if(rZ == zai.Z() && rA == zai.A() && rI == zai.I() ) + { + string file_name = StringLine::NextWord(line,start); + EvolutionData evolutionproduct = EvolutionData(GetLog(), file_name); +#pragma omp critical(DBupdate) + {fDecayDataBank.insert( pair<ZAI ,EvolutionData >(zai, evolutionproduct) );} + returnIV = evolutionproduct.GetIsotopicVectorAt(dt); + zaifind = true; + } + } + + if(!zaifind) + { + GetLog()->fLog << "!!Warning!! !!!EVOLUTIVE DB!!! Oups... Can't Find the ZAI : " ; + GetLog()->fLog << zai.Z() << " " << zai.A() << " " << zai.I() << "!!! It will be considered as stable !!" << endl; + + EvolutionData evolutionproduct = EvolutionData(GetLog()," " , false, zai); + {fDecayDataBank.insert( pair<ZAI, EvolutionData >(zai, evolutionproduct) );} + returnIV = evolutionproduct.GetIsotopicVectorAt(dt); + + + } + + + } + else returnIV = (*it).second.GetIsotopicVectorAt(dt); + + return returnIV; +} + +bool DecayDataBank::IsDefine(const ZAI& zai) const +{ + + map<ZAI ,EvolutionData > evolutiondb = (*this).GetDecayDataBank(); + if (evolutiondb.find(zai) != evolutiondb.end()) + return true; + else + return false; + +} + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ diff --git a/source/branches/CLASSV3/src/DynamicalSystem.cxx b/source/branches/CLASSV3/src/DynamicalSystem.cxx new file mode 100644 index 000000000..5ec154052 --- /dev/null +++ b/source/branches/CLASSV3/src/DynamicalSystem.cxx @@ -0,0 +1,214 @@ +#include <cstdio> +#include <iostream> +#include <fstream> +#include <cmath> +#include <vector> +#include <algorithm> + +#include "DynamicalSystem.hxx" + +using namespace std; + +//________________________________________________________________________ +DynamicalSystem::DynamicalSystem() +{ + + SetPrecision(); + fHestimate=1.; //this value is change in DynamicalSystem::RungeKutta + fHmin=0.; + fMaxHdid=-1e30; + fMinHdid=1e30; + fIsNegativeValueAllowed=true; +} + +//________________________________________________________________________ +DynamicalSystem::DynamicalSystem(const DynamicalSystem & DS) +{ + fNVar=DS.fNVar; + fPrecision=DS.fPrecision; + fHestimate=DS.fHestimate; + fHmin=DS.fHmin; + fMaxHdid=DS.fMaxHdid; + fMinHdid=DS.fMinHdid; + fIsNegativeValueAllowed=DS.fIsNegativeValueAllowed; +} + +//________________________________________________________________________ +DynamicalSystem::~DynamicalSystem() +{ + +} + +//________________________________________________________________________ +void DynamicalSystem::RungeKutta(double *YStart,double t1, double t2, int EquationNumber) +{ + //double shortestHalfLife=gMURE->GetShortestHalfLife(); + fNVar = EquationNumber; + int nstp; + double t,hnext,hdid,h; + double *yscal=new double[fNVar]; + double *y=new double[fNVar]; + double *dydt=new double[fNVar]; + + const double MAXSTP = 10000; + const double TINY = 1.0e-30; + + + + if(fabs(t1-t2)<=TINY) + cout << "Integration time is 0." << endl; + + t=t1; + fHestimate=(t2-t1)/100; + //h=(t2 > t1) ? fabs(fHestimate) : -fabs(fHestimate); + h=fHestimate; + + // pragma omp parallel for + for (int i = 0; i < fNVar; i++) y[i] = YStart[i]; + + for ( nstp = 1; nstp <= MAXSTP; nstp++) + { + BuildEqns(t,y,dydt); + + // pragma omp parallel for + for ( int i = 0; i < fNVar; i++) + yscal[i] = fabs(y[i]) + fabs(dydt[i]*h)+TINY; + + if ( (t+h-t2) * (t+h-t1) > 0.0 ) h=t2-t; + + AdaptStepSize(y,dydt,&t,h,fPrecision,yscal,&hdid,&hnext); + + if(fMaxHdid<hdid) fMaxHdid=hdid; + if(fMinHdid>hdid) fMinHdid=hdid; + + if ((t-t2)*(t2-t1) >= 0.0) + { + // pragma omp parallel for + for (int i=0;i<fNVar;i++) YStart[i]=y[i]; + + delete [] dydt; + delete [] y; + delete [] yscal; + //cout << "The maximum step used in RK was "<<fMaxHdid<<" Step NUM in RK was "<<nstp << endl; + return; + } + if (fabs(hnext) <= fHmin) + cout << "Step size too small in RungeKutta" << endl; + + h=hnext; + } + cout << "Too many steps in routine RungeKutta" << endl; +} + +//________________________________________________________________________ +void DynamicalSystem::RK4(double *y, double *dydx, double x, double h, double *yout) +{ + //cout<<"Calling Function RK4"<<endl; + double xh,hh,h6; + + double *dym=new double[fNVar]; + double *dyt=new double[fNVar]; + double *yt=new double[fNVar]; + hh=h*0.5; + h6=h/6.0; + xh=x+hh; + + // pragma omp parallel for + for (int i=0;i<fNVar;i++) yt[i]=y[i]+hh*dydx[i]; + + BuildEqns(xh,yt,dyt); + + // pragma omp parallel for + for (int i=0;i<fNVar;i++) yt[i]=y[i]+hh*dyt[i]; + + BuildEqns(xh,yt,dym); + + for (int i=0;i<fNVar;i++) + { + yt[i]=y[i]+h*dym[i]; + dym[i] += dyt[i]; + } + + BuildEqns(x+h,yt,dyt); + // pragma omp parallel for + for (int i=0;i<fNVar;i++) + { + yout[i]=y[i]+h6*(dydx[i]+dyt[i]+2.0*dym[i]); + if(!fIsNegativeValueAllowed && yout[i]<0) + { + //cout << "Material composition is negative " + //<<"i="<<i<<" ("/*<<fEvolvingMaterial->GetComposition()[i]->GetZAI()->PrintName() + // */<<") old proportion="<<y[i]<<" new="<<yout[i] + //<<". Setting to 0." << endl; + yout[i]=0.; + } + } + delete [] yt; + delete [] dyt; + delete [] dym; +} + +//________________________________________________________________________ +void DynamicalSystem::AdaptStepSize(double *y, double *dydx, double *x, double htry, + double eps, double *yscal, double *hdid, double *hnext) +{ + //cout<<"Calling Function AdaptStepSize()"<<endl; + double xsav,hh,h,temp,errmax; + double *dysav=new double[fNVar]; + double *ysav=new double[fNVar]; + double *ytemp=new double[fNVar]; + + const double PGROW =-0.20; + const double PSHRNK =-0.25; + const double FCOR =0.06666666 ; + const double SAFETY =0.9; + const double ERRCON =6.0e-4; + + xsav=(*x); + + // pragma omp parallel for + for (int i=0;i<fNVar;i++) + { + ysav[i]=y[i]; + dysav[i]=dydx[i]; + } + h=htry; + for (;;) + { + hh=0.5*h; + RK4(ysav,dysav,xsav,hh,ytemp); + *x=xsav+hh; + + BuildEqns(*x,ytemp,dydx); + RK4(ytemp,dydx,*x,hh,y); + *x=xsav+h; + if (*x == xsav ) + { + //cout << "Step size ("<<h<<") too small in routine AdaptStepSize" << endl; + } + RK4(ysav,dysav,xsav,h,ytemp); + errmax=0.0; + + for (int i=0;i<fNVar;i++) + { + ytemp[i]=y[i]-ytemp[i]; + temp=fabs(ytemp[i]/yscal[i]); + if (errmax < temp) errmax=temp; + } + errmax /= eps; + if (errmax <= 1.0) + { + *hdid=h; + *hnext=(errmax > ERRCON ? SAFETY*h*exp(PGROW*log(errmax)) : 4.0*h); + break; + } + h=SAFETY*h*exp(PSHRNK*log(errmax)); + } + + for (int i=0;i<fNVar;i++) y[i] += ytemp[i]*FCOR; + + delete [] ytemp; + delete [] dysav; + delete [] ysav; +} + diff --git a/source/branches/CLASSV3/src/EvolutionData.cxx b/source/branches/CLASSV3/src/EvolutionData.cxx new file mode 100755 index 000000000..fd44aca89 --- /dev/null +++ b/source/branches/CLASSV3/src/EvolutionData.cxx @@ -0,0 +1,1185 @@ +#include "EvolutionData.hxx" + +#include "LogFile.hxx" +#include "StringLine.hxx" + +#include <TGraph.h> +#include <TString.h> + +#include <cmath> +#include <iostream> +#include <fstream> +#include <algorithm> + + //________________________________________________________________________ + // + // EvolutionData + // + // + // + // + //________________________________________________________________________ + + + +struct my_tolower +{ + char operator()(char c) const + { + return std::tolower(static_cast<unsigned char>(c)); + } +}; + + //To Lower Case, convert any string in lower case +string tlc(string data) +{ + transform(data.begin(), data.end(), data.begin(), my_tolower()); + return data; +} + + + +double Distance(IsotopicVector IV1, EvolutionData Evd1 ) +{ + + double d2=0; + IsotopicVector IV2 = Evd1.GetIsotopicVectorAt(0.); + + IsotopicVector IVtmp = IV1; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + + double SumOfXs = 0; + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + + SumOfXs += Evd1.GetXSForAt(0., (*it).first, 1); + SumOfXs += Evd1.GetXSForAt(0., (*it).first, 2); + SumOfXs += Evd1.GetXSForAt(0., (*it).first, 3); + + } + + + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + double XS = Evd1.GetXSForAt(0., (*it).first, 1) + + Evd1.GetXSForAt(0., (*it).first, 2) + + Evd1.GetXSForAt(0., (*it).first, 3); + + d2 += pow(Z1-Z2 , 2 ) * pow(XS,2); + + } + + return sqrt(d2)/SumOfXs; + +} + +double Distance(EvolutionData Evd1, IsotopicVector IV1 ) +{ + return Distance(IV1,Evd1); +} + //________________________________________________________________________ + //________________________________________________________________________ + //________________________________________________________________________ +EvolutionData operator*(EvolutionData const& evol, double F) +{ + + EvolutionData evoltmp; + + map<ZAI ,TGraph* > EvolutionData = evol.GetEvolutionData(); + map<ZAI ,TGraph* >::iterator it; + for(it = EvolutionData.begin(); it != EvolutionData.end(); it++) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y*F; + } + evoltmp.NucleiInsert( pair<ZAI, TGraph*> ( (*it).first,new TGraph((*it).second->GetN(), X, Y) ) ); + + } + evoltmp.SetPower(evol.GetPower()*F); + evoltmp.SetFissionXS(evol.GetFissionXS()); + evoltmp.SetCaptureXS(evol.GetCaptureXS()); + evoltmp.Setn2nXS(evol.Getn2nXS()); + + + return evoltmp; + +} +//________________________________________________________________________ +EvolutionData operator*(double F, EvolutionData const& evol) +{ + + return evol*F; + +} +//________________________________________________________________________ +EvolutionData operator/(EvolutionData const& evol, double F) +{ + + return evol*(1./F); + +} + +EvolutionData Multiply(EvolutionData const& evol, double F) +{ + + EvolutionData evoltmp; + map<ZAI ,TGraph* > EvolutionData = evol.GetEvolutionData(); + map<ZAI ,TGraph* >::iterator it; + for(it = EvolutionData.begin(); it != EvolutionData.end(); it++) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y*F; + } + evoltmp.NucleiInsert( pair<ZAI, TGraph*> ( (*it).first,new TGraph((*it).second->GetN(), X, Y) ) ); + + } + + + EvolutionData = evol.GetFissionXS(); + for(it = EvolutionData.begin(); it != EvolutionData.end(); it++) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y*F; + } + evoltmp.FissionXSInsert( pair<ZAI, TGraph*> ( (*it).first,new TGraph((*it).second->GetN(), X, Y) ) ); + + } + + EvolutionData = evol.GetCaptureXS(); + for(it = EvolutionData.begin(); it != EvolutionData.end(); it++) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y*F; + } + evoltmp.CaptureXSInsert( pair<ZAI, TGraph*> ( (*it).first,new TGraph((*it).second->GetN(), X, Y) ) ); + + } + EvolutionData = evol.Getn2nXS(); + for(it = EvolutionData.begin(); it != EvolutionData.end(); it++) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y*F; + } + evoltmp.n2nXSInsert( pair<ZAI, TGraph*> ( (*it).first,new TGraph((*it).second->GetN(), X, Y) ) ); + + } + + evoltmp.SetPower(evol.GetPower()*F); + + + + return evoltmp; + +} + +//________________________________________________________________________ +EvolutionData Multiply(double F, EvolutionData const& evol) +{ + + return Multiply(evol,F); + +} + +EvolutionData Sum(EvolutionData const& evol1, EvolutionData const& evol2) +{ + EvolutionData EvolSum = evol1; + map<ZAI ,TGraph* > EvolutionData1 = EvolSum.GetEvolutionData(); + map<ZAI ,TGraph* > EvolutionData2 = evol2.GetEvolutionData(); + map<ZAI ,TGraph* >::iterator it; + + for(it = EvolutionData2.begin(); it != EvolutionData2.end(); it++) + { + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + + IResult = EvolutionData1.insert( pair<ZAI, TGraph*> ( *it ) ); + if(!(IResult.second) ) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + map<ZAI ,TGraph* >::iterator it2 = EvolutionData1.find( (*it).first ); + + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y + (*it2).second->Eval(X[i]); + } + IResult.first->second = new TGraph((*it).second->GetN(), X, Y); + + } + + } + EvolSum.SetEvolutionData(EvolutionData1); + + + EvolutionData1 = evol1.GetFissionXS(); + EvolutionData2 = evol2.GetFissionXS(); + + for(it = EvolutionData2.begin(); it != EvolutionData2.end(); it++) + { + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + + IResult = EvolutionData1.insert( pair<ZAI, TGraph*> ( *it ) ); + + if(!(IResult.second) ) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + map<ZAI ,TGraph* >::iterator it2 = EvolutionData1.find( (*it).first ); + + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y + (*it2).second->Eval(X[i]); + } + IResult.first->second = new TGraph((*it).second->GetN(), X, Y); + } + } + EvolSum.SetFissionXS(EvolutionData1); + + + EvolutionData1 = EvolSum.GetCaptureXS(); + EvolutionData2 = evol2.GetCaptureXS(); + + for(it = EvolutionData2.begin(); it != EvolutionData2.end(); it++) + { + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + + IResult = EvolutionData1.insert( pair<ZAI, TGraph*> ( *it ) ); + + if(!(IResult.second) ) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + map<ZAI ,TGraph* >::iterator it2 = EvolutionData1.find( (*it).first ); + + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y + (*it2).second->Eval(X[i]); + } + IResult.first->second = new TGraph((*it).second->GetN(), X, Y); + } + } + EvolSum.SetCaptureXS(EvolutionData1); + + + EvolutionData1 = EvolSum.Getn2nXS(); + EvolutionData2 = evol2.Getn2nXS(); + + for(it = EvolutionData2.begin(); it != EvolutionData2.end(); it++) + { + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + + IResult = EvolutionData1.insert( pair<ZAI, TGraph*> ( *it ) ); + + if(!(IResult.second) ) + { + double X[(*it).second->GetN()]; + double Y[(*it).second->GetN()]; + map<ZAI ,TGraph* >::iterator it2 = EvolutionData1.find( (*it).first ); + + + for(int i = 0; i < (*it).second->GetN(); i++) + { + double y; + (*it).second->GetPoint( i, X[i], y ); + Y[i] = y + (*it2).second->Eval(X[i]); + } + IResult.first->second = new TGraph((*it).second->GetN(), X, Y); + } + } + EvolSum.Setn2nXS(EvolutionData1); + + return EvolSum; +} + + + + + //________________________________________________________________________ + //________________________________________________________________________ + + +ClassImp(EvolutionData) + + +EvolutionData::EvolutionData():CLASSObject() +{ + fIsCrossSection = false; + fPower = 0; + fCycleTime = 0; + fNormFactor = 1; + fKeff = 0; + fFlux = 0; +} + + //________________________________________________________________________ +EvolutionData::EvolutionData(LogFile* Log) +{ + + SetLog(Log); + fIsCrossSection = false; + fPower = 0; + fCycleTime = 0; + fNormFactor = 1; + fKeff = 0; + fFlux = 0; + + +} + + //________________________________________________________________________ +EvolutionData::EvolutionData(LogFile* Log, string DB_file, bool oldread, ZAI zai) +{ + + SetLog(Log); + fIsCrossSection = false; + fDB_file = DB_file; + fPower = 0; + fCycleTime = 0; + fNormFactor = 1; + fKeff = 0; + fFlux = 0; + + if(zai != ZAI(0,0,0)) + AddAsStable(zai); + else + ReadDB( fDB_file, oldread); // Read Evolution Produc DB file name + + + + +} + + //________________________________________________________________________ +EvolutionData::~EvolutionData() +{ + +} +//________________________________________________________________________ +void EvolutionData::DeleteEvolutionData() +{ + + map<ZAI ,TGraph* >::iterator it_del; + + for( it_del = fEvolutionData.begin(); it_del != fEvolutionData.end(); it_del++) + { + delete (*it_del).second; + (*it_del).second = 0; + } + for( it_del = fFissionXS.begin(); it_del != fFissionXS.end(); it_del++) + { + delete (*it_del).second; + (*it_del).second = 0; + } + for( it_del = fCaptureXS.begin(); it_del != fCaptureXS.end(); it_del++) + { + delete (*it_del).second; + (*it_del).second = 0; + } + for( it_del = fn2nXS.begin(); it_del != fn2nXS.end(); it_del++) + { + delete (*it_del).second; + (*it_del).second = 0; + } + + + delete fKeff; + delete fFlux; + + fEvolutionData.clear(); + fFissionXS.clear(); + fCaptureXS.clear(); + fn2nXS.clear(); + + fFlux = 0; + fKeff = 0; + +} + + +bool EvolutionData::NucleiInsert(pair<ZAI, TGraph*> zaitoinsert) +{ + + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + IResult = fEvolutionData.insert( zaitoinsert); + return IResult.second; + +} + +bool EvolutionData::FissionXSInsert(pair<ZAI, TGraph*> zaitoinsert) +{ + + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + IResult = fFissionXS.insert( zaitoinsert); + return IResult.second; + +} + +bool EvolutionData::CaptureXSInsert(pair<ZAI, TGraph*> zaitoinsert) +{ + + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + IResult = fCaptureXS.insert( zaitoinsert); + return IResult.second; + +} + +bool EvolutionData::n2nXSInsert(pair<ZAI, TGraph*> zaitoinsert) +{ + + pair<map<ZAI, TGraph*>::iterator, bool> IResult; + IResult = fn2nXS.insert( zaitoinsert); + return IResult.second; + +} + + //________________________________________________________________________ +void EvolutionData::AddAsStable(ZAI zai) +{ + + double time[2] = {0, (500*365.25*3600*24)}; + double quantity[2] = {1., 1.}; + + fEvolutionData.insert(pair<ZAI ,TGraph* >(zai, new TGraph(2, time, quantity) ) ); + +} + + //________________________________________________________________________ +Double_t EvolutionData::Interpolate(double t, TGraph& EvolutionGraph) +{ + + TString fOption; + return (double)EvolutionGraph.Eval(t,0x0,fOption); + +} + + //________________________________________________________________________ +TGraph* EvolutionData::GetEvolutionTGraph(const ZAI& zai) +{ + + map<ZAI ,TGraph *>::iterator it = GetEvolutionData().find(zai) ; + + if ( it != GetEvolutionData().end() ) + return it->second; + else + return new TGraph(); + + +} + + //________________________________________________________________________ +IsotopicVector EvolutionData::GetIsotopicVectorAt(double t) +{ + + IsotopicVector IsotopicVectorTmp; + map<ZAI ,TGraph* >::iterator it; + for( it = fEvolutionData.begin(); it != fEvolutionData.end(); it++ ) + { + IsotopicVectorTmp.Add( (*it).first, Interpolate(t, *((*it).second)) ); + } + + + return IsotopicVectorTmp; +} + + //________________________________________________________________________ +double EvolutionData::GetXSForAt(double t, ZAI zai, int ReactionId) +{ + + map<ZAI ,TGraph* > XSEvol; + switch(ReactionId) + { + case 1: XSEvol = GetFissionXS(); + break; + case 2: XSEvol = GetCaptureXS(); + break; + case 3: XSEvol = Getn2nXS(); + break; + default:cout << "!!Error!! !!!EvolutionData!!! \n Wrong ReactionId !!" << endl; + GetLog()->fLog << "!!Error!! !!!EvolutionData!!! \n Wrong ReactionId !!" << endl; + exit(1); + } + + map<ZAI ,TGraph* >::iterator it = XSEvol.find(zai); + + + if (it == XSEvol.end()) + return 0.; + else + return Interpolate(t, *((*it).second) ); + +} + + + + + + + + + + + + //________________________________________________________________________ + + //________________________________________________________________________ + + + + +void EvolutionData::ReadDB(string DBfile, bool oldread) +{ + + if(oldread) + { + + OldReadDB(DBfile); + return; + } + + ReadInfo(); // Read the .info associeted + + ifstream DecayDB(DBfile.c_str()); // Open the File + if(!DecayDB) //check if file is correctly open + { + cout << "!!Warning!! !!!EvolutionData!!! \n Can't open \"" << DBfile << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!EvolutionData!!! \n Can't open \"" << DBfile << "\"\n" << endl; + } + vector<double> vTime; + + string line; + int start = 0; + + getline(DecayDB, line); + if( tlc(StringLine::NextWord(line, start, ' ')) != "time") + { + cout << "!!Bad Trouble!! !!!EvolutionData!!! Bad Database file : " << DBfile << endl; + cout << "!!Bad Trouble!! !!!EvolutionData!!! The first Line MUST be the time line !!!" << endl; + GetLog()->fLog << "!!Bad Trouble!! !!!EvolutionData!!! Bad Database file : " << DBfile << endl; + GetLog()->fLog << "!!Bad Trouble!! !!!EvolutionData!!! The first Line MUST be the time line !!!" << endl; + exit (1); + } + + while(start < (int)line.size()) + vTime.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + fFinalTime = vTime.back(); + double Time[vTime.size()]; + for(int i=0; i < (int)vTime.size();i++) + Time[i] = vTime[i]; + const int NTimeStep = sizeof(Time)/sizeof(double); + + + enum { Keff=1, Flux, Inv, XSFis, XSCap, XSn2n }; + + map<string, int> keyword_map; + keyword_map["keff"] = Keff; + keyword_map["flux"] = Flux; + keyword_map["xsfis"] = XSFis; + keyword_map["xscap"] = XSCap; + keyword_map["xsn2n"] = XSn2n; + keyword_map["inv"] = Inv; + + getline(DecayDB, line); + do + { + start = 0; + switch (keyword_map[tlc(StringLine::NextWord(line, start, ' '))]) + { + case Keff: + ReadKeff(line, Time, NTimeStep); + break; + + case Flux: + ReadFlux(line, Time, NTimeStep); + break; + + case Inv: + ReadInv(line, Time, NTimeStep); + break; + + case XSFis: + ReadXSFis(line, Time, NTimeStep); + break; + + case XSCap: + ReadXSCap(line, Time, NTimeStep); + break; + + case XSn2n: + ReadXSn2n(line, Time, NTimeStep); + break; + + + default: + break; + } + + getline(DecayDB, line); + + + }while ( !DecayDB.eof() ); + + DecayDB.close(); + + +} + +void EvolutionData::ReadKeff(string line, double* time, int NTimeStep) +{ + if(fKeff != 0) + delete fKeff; + + int start = 0; + if( tlc(StringLine::NextWord(line, start, ' ')) != "keff" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"keff\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"keff\" not found !" << endl; + exit(1); + } + + + double Keff[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + Keff[i] = atof(StringLine::NextWord(line, start, ' ').c_str()) ; + i++; + } + + + fKeff = new TGraph(NTimeStep, time, Keff); // Add the TGraph + + + + +} + +void EvolutionData::ReadFlux(string line, double* time, int NTimeStep) +{ + + if(fFlux != 0) + delete fFlux; + + int start = 0; + + if( tlc(StringLine::NextWord(line, start, ' ')) != "flux" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"flux\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"flux\" not found !" << endl; + exit(1); + } + + double Flux[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + Flux[i] = atof(StringLine::NextWord(line, start, ' ').c_str()) ; + i++; + } + + + fFlux = new TGraph(NTimeStep, time, Flux); // Add the TGraph + + + +} + + +void EvolutionData::ReadInv(string line, double* time, int NTimeStep) +{ + + + int start = 0; + if( tlc(StringLine::NextWord(line, start, ' ')) != "inv" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"inv\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"inv\" not found !" << endl; + exit(1); + } + // Read the Z A I + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + double Inv[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + Inv[i] = atof(StringLine::NextWord(line, start, ' ').c_str())*fNormFactor ; + i++; + } + // Add the TGraph + fEvolutionData.insert(pair<ZAI ,TGraph* >(ZAI(Z,A,I), new TGraph(NTimeStep, time, Inv) ) ); + } + + +} + + +void EvolutionData::ReadXSFis(string line, double* time, int NTimeStep) +{ + + + int start = 0; + if( tlc(StringLine::NextWord(line, start, ' ')) != "xsfis" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xsfis\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xsfis\" not found !" << endl; + exit(1); + } + // Read the Z A I + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + double XSFis[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + XSFis[i] = atof(StringLine::NextWord(line, start, ' ').c_str()) ; + i++; + } + + // Add the TGraph + fFissionXS.insert(pair<ZAI ,TGraph* >(ZAI(Z,A,I), new TGraph(NTimeStep, time, XSFis) ) ); + } + + +} + +void EvolutionData::ReadXSCap(string line, double* time, int NTimeStep) +{ + + + int start = 0; + if( tlc(StringLine::NextWord(line, start, ' ')) != "xscap" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xscap\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xscap\" not found !" << endl; + exit(1); + } + // Read the Z A I + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + double XSCap[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + XSCap[i] = atof(StringLine::NextWord(line, start, ' ').c_str()) ; + i++; + } + + // Add the TGraph + fCaptureXS.insert(pair<ZAI ,TGraph* >(ZAI(Z,A,I), new TGraph(NTimeStep, time, XSCap) ) ); + } + + +} + +void EvolutionData::ReadXSn2n(string line, double* time, int NTimeStep) +{ + + + int start = 0; + if( tlc(StringLine::NextWord(line, start, ' ')) != "xsn2n" ) // Check the keyword + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xsn2n\" not found !" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Bad keyword : \"xsn2n\" not found !" << endl; + exit(1); + } + // Read the Z A I + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + double XSn2n[NTimeStep]; + + int i = 0; + while(start < (int)line.size() && i < NTimeStep ) // Read the Data + { + XSn2n[i] = atof(StringLine::NextWord(line, start, ' ').c_str()) ; + i++; + } + // Add the TGraph + fn2nXS.insert(pair<ZAI ,TGraph* >(ZAI(Z,A,I), new TGraph(NTimeStep, time, XSn2n) ) ); + } + + +} + + + +void EvolutionData::ReadInfo() +{ + string InfoDBFile = fDB_file.erase(fDB_file.size()-3,fDB_file.size()); + InfoDBFile += "Info"; + ifstream InfoDB_tmp(InfoDBFile.c_str()); // Open the File + + if(!InfoDB_tmp) + { + InfoDBFile = InfoDBFile.erase(InfoDBFile.size()-4,InfoDBFile.size()); + InfoDBFile += "info"; + + } + InfoDB_tmp.close(); + + ifstream InfoDB(InfoDBFile.c_str()); // Open the File + if(!InfoDB) + { + cout << "!!ERROR!! !!!EvolutionData!!! \n Can't open \"" << InfoDBFile << "\"\n" << endl; + GetLog()->fLog << "!!ERROR!! !!!EvolutionData!!! \n Can't open \"" << InfoDBFile << "\"\n" << endl; + exit(1); + } + + int start = 0; + string line; + getline(InfoDB, line); + if ( tlc(StringLine::NextWord(line, start, ' ')) == "reactor") + fReactorType = StringLine::NextWord(line, start, ' '); + + start = 0; + getline(InfoDB, line); + if (tlc(StringLine::NextWord(line, start, ' ')) == "fueltype") + fFuelType = StringLine::NextWord(line, start, ' '); + start = 0; + getline(InfoDB, line); + if ( tlc(StringLine::NextWord(line, start, ' ')) == "cycletime") + fCycleTime = atof(StringLine::NextWord(line, start, ' ').c_str());; + getline(InfoDB, line); // Assembly HM Mass + start = 0; + getline(InfoDB, line); + if ( tlc(StringLine::NextWord(line, start, ' ')) == "constantpower") + fPower = atof(StringLine::NextWord(line, start, ' ').c_str()); + + + getline(InfoDB, line); // cutoff + getline(InfoDB, line); // NUmber of Nuclei + start = 0; + getline(InfoDB, line); + if ( tlc(StringLine::NextWord(line, start, ' ')) == "normalizationfactor") + { + fNormFactor = atof(StringLine::NextWord(line, start, ' ').c_str()); + fPower = fPower * fNormFactor; + } + InfoDB.close(); +} + +void EvolutionData::OldReadDB(string DBfile) +{ + + + ifstream DecayDB(DBfile.c_str()); // Open the File + if(!DecayDB) + { + cout << "!!Warning!! !!!EvolutionData!!! \n Can't open \"" << DBfile << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!EvolutionData!!! \n Can't open \"" << DBfile << "\"\n" << endl; + } + vector<double> vTime; + vector<double> vTimeErr; + + string line; + int start = 0; + + getline(DecayDB, line); + if( StringLine::NextWord(line, start, ' ') != "time") + { + cout << "!!Bad Trouble!! !!!EvolutionData!!! Bad Database file : " << DBfile << endl; + GetLog()->fLog << "!!Bad Trouble!! !!!EvolutionData!!! Bad Database file : " << DBfile << endl; + exit (1); + } + + while(start < (int)line.size()) + vTime.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + fFinalTime = vTime.back(); + double Time[vTime.size()]; + for(int i=0; i < (int)vTime.size();i++) + Time[i] = vTime[i]; + vector<double> vFlux; + start = 0; + getline(DecayDB, line); + string tmp = StringLine::NextWord(line, start, ' '); + if ( tmp == "keff" || tmp == "Keff" ) + { + vector<double> vKeff; + while(start < (int)line.size()) + vKeff.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + double Keff[vKeff.size()]; + for(int i=0; i < (int)vKeff.size();i++) + Keff[i] = vKeff[i]; + + fKeff = new TGraph(vTime.size(), Time, Keff); + + start = 0; + getline(DecayDB, line); + if (StringLine::NextWord(line, start, ' ') == "flux") + { + + + while(start < (int)line.size()) + vFlux.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + double Flux[vFlux.size()]; + for(int i=0; i < (int)vFlux.size();i++) + Flux[i] = vFlux[i]; + + fFlux = new TGraph(vTime.size(), Time, Flux); + + } + } + + + do + { + + + start = 0; + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + double DPQuantity[vTime.size()]; + for(int k = 0; k < (int)vTime.size(); k++ ) + DPQuantity[k] = 0; + + + ZAI zaitmp(Z, A, I); + int i=0; + while(start < (int)line.size()) + { + double DPQuantityTmp = atof(StringLine::NextWord(line, start, ' ').c_str()); + DPQuantity[i] = (double)DPQuantityTmp; + i++; + + } + TGraph* tgraphtmp = new TGraph((int)vTime.size()-1, Time, DPQuantity); + fEvolutionData.insert(pair<ZAI ,TGraph* >(zaitmp, tgraphtmp) ); + } + + getline(DecayDB, line); + if(line == "" || line == "CrossSection" ) break; + }while (!DecayDB.eof() ); + + if(line == "CrossSection") + { + fIsCrossSection = true; + getline(DecayDB, line); + + if (line == "Fission") + { + getline(DecayDB, line); + + do + { + double DPQuantity[vTime.size()]; + for(int k = 0; k < (int)vTime.size(); k++ ) + DPQuantity[k] = 0; + + start = 0; + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + if(A!=0 && Z!=0) + { + + + ZAI zaitmp(Z, A, I); + int i=0; + while(start < (int)line.size()) + { + long double DPQuantityTmp = atof(StringLine::NextWord(line, start, ' ').c_str()); + DPQuantity[i] = (double)DPQuantityTmp; + i++; + + } + fFissionXS.insert(pair<ZAI ,TGraph* >(zaitmp, new TGraph(vTime.size()-1, Time, DPQuantity) ) ); + } + getline(DecayDB, line); + if(line == "" || line == "Capture" ) break; + }while ( !DecayDB.eof() ); + } + + if (line == "Capture") + { + getline(DecayDB, line); // Nuclei is given with "A Z" + + do + { + double DPQuantity[vTime.size()]; + for(int k = 0; k < (int)vTime.size(); k++ ) + DPQuantity[k] = 0; + + + start = 0; + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + + + ZAI zaitmp(Z, A, I); + int i=0; + while(start < (int)line.size()) + { + long double DPQuantityTmp = atof(StringLine::NextWord(line, start, ' ').c_str()); + DPQuantity[i] = (double)DPQuantityTmp; + i++; + + } + fCaptureXS.insert(pair<ZAI ,TGraph* >(zaitmp, new TGraph(vTime.size()-1, Time, DPQuantity) ) ); + } + getline(DecayDB, line); // Nuclei is given with "A Z" + if(line == "" || line == "n2n" ) break; + }while ( !DecayDB.eof() ); + + } + + if (line == "n2n") + { + + getline(DecayDB, line); // Nuclei is given with "A Z" + + do + { + double DPQuantity[vTime.size()]; + for(int k = 0; k < (int)vTime.size(); k++ ) + DPQuantity[k] = 0; + + start = 0; + int Z = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int A = atoi(StringLine::NextWord(line, start, ' ').c_str()); + int I = atoi(StringLine::NextWord(line, start, ' ').c_str()); + + if(A!=0 && Z!=0) + { + + + ZAI zaitmp(Z, A, I); + int i=0; + while(start < (int)line.size()) + { + long double DPQuantityTmp = atof(StringLine::NextWord(line, start, ' ').c_str()); + DPQuantity[i] = (double)DPQuantityTmp; + i++; + + } + fn2nXS.insert(pair<ZAI ,TGraph* >(zaitmp, new TGraph(vTime.size()-1, Time, DPQuantity) ) ); + } + getline(DecayDB, line); // Nuclei is given with "A Z" + if(line == "" ) break; + + }while ( !DecayDB.eof() ); + } + + } + DecayDB.close(); + start = 0; + + string InfoDBFile = DBfile.erase(DBfile.size()-3,DBfile.size()); + InfoDBFile += "info"; + ifstream InfoDB(InfoDBFile.c_str()); // Open the File + if(!InfoDB) + { + GetLog()->fLog << "!!Warning!! !!!EvolutionData!!! \n Can't open \"" << InfoDBFile << "\"\n" << endl; + return; + } + + start = 0; + getline(InfoDB, line); + if (StringLine::NextWord(line, start, ' ') == "Reactor") + fReactorType = StringLine::NextWord(line, start, ' '); + start = 0; + getline(InfoDB, line); + if (StringLine::NextWord(line, start, ' ') == "Fueltype") + fFuelType = StringLine::NextWord(line, start, ' '); + start = 0; + getline(InfoDB, line); + if (StringLine::NextWord(line, start, ' ') == "CycleTime") + fCycleTime = atof(StringLine::NextWord(line, start, ' ').c_str());; + getline(InfoDB, line); // Assembly HM Mass + start = 0; + getline(InfoDB, line); + if (StringLine::NextWord(line, start, ' ') == "ConstantPower") + fPower = atof(StringLine::NextWord(line, start, ' ').c_str()); + getline(InfoDB, line); // cutoff + getline(InfoDB, line); // NUmber of Nuclei + start = 0; + getline(InfoDB, line); + if (StringLine::NextWord(line, start, ' ') == "NormalizationFactor") + { + double NormFactor = atof(StringLine::NextWord(line, start, ' ').c_str()); + fPower = fPower * NormFactor; + double Flux[vFlux.size()]; + for(int i=0; i < (int)vFlux.size();i++) + Flux[i] = vFlux[i]; + + fFlux = new TGraph(vTime.size()-1, Time, Flux); + } + InfoDB.close(); +} + + + + + diff --git a/source/branches/CLASSV3/src/FabricationPlant.cxx b/source/branches/CLASSV3/src/FabricationPlant.cxx new file mode 100644 index 000000000..a2b9bdc12 --- /dev/null +++ b/source/branches/CLASSV3/src/FabricationPlant.cxx @@ -0,0 +1,575 @@ +#include "FabricationPlant.hxx" + +#include "Storage.hxx" +#include "Reactor.hxx" +#include "EvolutionData.hxx" +#include "DecayDataBank.hxx" +#include "FuelDataBank.hxx" +#include "IsotopicVector.hxx" +#include "CLASS.hxx" +#include "CLASSHeaders.hxx" +#include "LogFile.hxx" + + + + +#include "TMatrixT.h" + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + + //________________________________________________________________________ + //________________________________________________________________________ + //________________________________________________________________________ + // + // FabricationPlant + // + // + // + // + //________________________________________________________________________ + //________________________________________________________________________ +template <class T> T random(T a, T b) //peak random numebr between a and b +{ + double range = pow(2., 31); + srand(time(NULL)); //initialize the srand + return (T)a + (T)(b-a)*rand()/range; +} + +ClassImp(FabricationPlant) + + + +FabricationPlant::FabricationPlant() +{ + SetFacilityType(16); + SetName("F_FabricationPLant."); + + fStorage = 0; + fReUsable = 0; +} + +FabricationPlant::FabricationPlant(LogFile* log) +{ + SetFacilityType(16); + SetName("F_FabricationPLant."); + + SetLog(log); + fChronologicalTimePriority = false; + SetCycleTime(-1); + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + fStorage = 0; + fReUsable = 0; + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority set! "<< endl << endl; + cout << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority set! "<< endl << endl; + GetLog()->fLog << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + + + +} + +FabricationPlant::FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabircationtime) +{ + SetFacilityType(16); + SetName("F_FabricationPLant."); + + SetLog(log); + + fChronologicalTimePriority = false; + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + + + SetCycleTime((cSecond)fabircationtime ); + fStorage = storage; + fReUsable = reusable; + + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority has been set! "<< endl; + cout << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority has been set! "<< endl; + GetLog()->fLog << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + + + +} + + + + //________________________________________________________________________ +FabricationPlant::~FabricationPlant() +{ + + +} + + + //________________________________________________________________________ +void FabricationPlant::AddValorisableIV(ZAI zai, double factor) +{ + + pair<map<ZAI, double>::iterator, bool> IResult; + if(factor > 1) factor = 1; + + if(factor > 0) + { + IResult = fValorisableIV.insert( pair<ZAI ,double>(zai, factor)); + if(!IResult.second) + IResult.first->second = factor; + } + +} + + + + //________________________________________________________________________ + //_______________________________ Evolution ______________________________ + //________________________________________________________________________ +void FabricationPlant::Evolution(cSecond t) +{ + + // Check if the FabricationPlant has been created ... + if(t == fInternalTime && t != 0) return; + // Make the evolution for the FabricationPlant ... + FabricationPlantEvolution(t); + // ... And Finaly update the AbsoluteInternalTime + fInternalTime = t; + +} + + //________________________________________________________________________ +void FabricationPlant::FabricationPlantEvolution(cSecond t) +{ + + IsotopicVector EmptyIV; + fInsideIV = EmptyIV; + + + map<int ,cSecond >::iterator it; + for( it = fReactorNextStep.begin(); it!= fReactorNextStep.end(); it++ ) + { + if( t + GetCycleTime() >= GetParc()->GetReactor()[ (*it).first ]->GetCreationTime() + && t + GetCycleTime() < GetParc()->GetReactor()[ (*it).first ]->GetCreationTime() + GetParc()->GetReactor()[ (*it).first ]->GetLifeTime()) + { + if( (*it).second == t ) + { +#pragma omp critical(FuelBuild) + {BuildFuelForReactor( (*it).first );} + (*it).second += GetParc()->GetReactor()[ (*it).first ]->GetCycleTime(); + } + else if ( (*it).second - GetParc()->GetReactor()[ (*it).first ]->GetCycleTime() + GetCycleTime() > t ) + { + map<int ,IsotopicVector >::iterator it2 = fReactorFuturIV.find( (*it).first ); + if (it2 != fReactorFuturIV.end()) + (*it2).second = GetDecay((*it2).second, t - fInternalTime ); + + fInsideIV += (*it2).second; + } + } + } + + + +} + + + //________________________________________________________________________ + +void FabricationPlant::BuildFuelForReactor(int ReactorId) +{ + FuelDataBank* FuelType = GetParc()->GetReactor()[ReactorId]->GetFuelType(); + string ReactorType ="PWR"; + if(FuelType->GetFuelType() != "MOX" || ReactorType !="PWR")//Check if the reactor is the right type and use the right type of fuel + { + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB" << endl; + exit (1); + } + double Na = 6.02214129e23; //N Avogadro + + double HMmass = GetParc()->GetReactor()[ReactorId]->GetHeavyMetalMass(); + double BU = GetParc()->GetReactor()[ReactorId]->GetBurnUp(); + IsotopicVector FullUsedStock; + IsotopicVector stock; + + bool FuelBuild = false; + while(!FuelBuild) + { + double nPu_0 = 0; + double MPu_0 = 0; + { + map<ZAI ,double>::iterator it; + + map<ZAI ,double> isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + nPu_0 += (*it).second; + + isotopicquantity = FullUsedStock.GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + MPu_0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + } + + stock = GetStockToRecycle(); + if( stock.GetZAIIsotopicQuantity(ZAI(-1,-1,-1)) == 1 ) // Not enought stock to build the needed fuel + { + if (!fSubstitutionFuel) + { + { + EvolutionData evolutiondb; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector EmptyIV; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,EmptyIV) ); + if(!IResult.second) + IResult.first->second = EmptyIV; + } + } + else + { + { + EvolutionData evolutiondb = fSubstitutionEvolutionData* HMmass; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector IV = fSubstitutionEvolutionData.GetIsotopicVectorAt(0)* HMmass; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId, IV) ); + if(!IResult.second) + IResult.first->second = IV; + } + + } + FuelBuild = true; + fFractionToTake.clear(); + } + else + { + double nPu_1 = 0; + double MPu_1 = 0; + double Sum_AlphaI_nPuI = 0; + double Sum_AlphaI_nPuI0 = 0; + { + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = GetDecay( stock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + { + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + nPu_1 += (*it).second; + Sum_AlphaI_nPuI += FuelType->GetFuelParameter()[(*it).first.A() -237]*(*it).second; + } + } + + isotopicquantity = stock.GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + MPu_1 += (*it).second * (cZAIMass.fZAIMass.find( (*it).first )->second)/Na*1e-6; + } + + isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + Sum_AlphaI_nPuI0 += FuelType->GetFuelParameter()[(*it).first.A() -237]*(*it).second; + } + } + + double StockFactionToUse = 0; + + double NT = HMmass*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(92,238,0) )->second*0.997 + cZAIMass.fZAIMass.find( ZAI(92,235,0) )->second*0.003 ); + + double N1 = (BU - FuelType->GetFuelParameter()[6]) * NT; + double N2 = -Sum_AlphaI_nPuI0; + double N3 = -FuelType->GetFuelParameter()[0] * Na / (cZAIMass.fZAIMass.find( ZAI(92,238,0) )->second*0.997 + cZAIMass.fZAIMass.find( ZAI(92,235,0) )->second*0.003 ) * (HMmass*1e6 - MPu_0*1e6); + + double D1 = Sum_AlphaI_nPuI; + double D2 = -FuelType->GetFuelParameter()[0] * MPu_1*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(92,238,0) )->second*0.997 + cZAIMass.fZAIMass.find( ZAI(92,235,0) )->second*0.003 ) ; + + StockFactionToUse = (N1 + N2 + N3) / (D1 + D2); + + if(StockFactionToUse < 0) + { + stock.GetActinidesComposition().Print(); + + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use" << endl; + RecycleStock(0.); + FuelBuild = false; + + } + else if( StockFactionToUse > 1 ) + { + + FullUsedStock += stock; + RecycleStock(1); + FuelBuild = false; + } + else + { + RecycleStock(StockFactionToUse); + + IsotopicVector IVBeginCycle; + FuelBuild = true; + + ZAI U8 = ZAI(92,238,0); + ZAI U5 = ZAI(92,235,0); + double U8_Quantity = (HMmass - (MPu_0+StockFactionToUse*MPu_1 ))/(cZAIMass.fZAIMass.find( ZAI(92,238,0) )->second*0.997 + cZAIMass.fZAIMass.find( ZAI(92,235,0) )->second*0.003 )*Na/1e-6; + + GetParc()->AddGodIncome( U8, U8_Quantity*0.997 ); + GetParc()->AddGodIncome( U5, U8_Quantity*0.003 ); + + + for(int i = (int)fFractionToTake.size()-1; i >= 0; i--) + { + IVBeginCycle += fStorage->GetIVArray()[fFractionToTake[i].first].GetSpeciesComposition(94)*( fFractionToTake[i].second ); + } + + DumpStock(); + + IVBeginCycle += U8_Quantity*U8*0.997 + U8_Quantity*U5*0.003; + EvolutionData evolutiondb = BuildEvolutiveDB(ReactorId, IVBeginCycle); + + { + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,IVBeginCycle) ); + if(!IResult.second) + IResult.first->second = IVBeginCycle; + + AddCumulativeIVIn(IVBeginCycle); + fInsideIV += IVBeginCycle; + + + } + } + } + } + +} + +//________________________________________________________________________ +void FabricationPlant::SetSubstitutionFuel(EvolutionData fuel) +{ + + fSubstitutionFuel = true; + double Na = 6.02214129e23; //N Avogadro + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = fuel.GetIsotopicVectorAt(0.).GetActinidesComposition().GetIsotopicQuantity(); + double M0 = 0; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + M0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + fSubstitutionEvolutionData = fuel / M0; + +} + + + //________________________________________________________________________ + //_____________________________ Reactor & DB _____________________________ + //________________________________________________________________________ +EvolutionData FabricationPlant::BuildEvolutiveDB(int ReactorId,IsotopicVector isotopicvector) +{ + + FuelDataBank* evolutiondb = GetParc()->GetReactor()[ReactorId]->GetFuelType(); + + isotopicvector = GetDecay(isotopicvector, GetCycleTime()); + + EvolutionData EvolBuild; + +#pragma omp single + { + EvolBuild = evolutiondb->GenerateEvolutionData(isotopicvector, GetParc()->GetReactor()[ReactorId]->GetCycleTime(), GetParc()->GetReactor()[ReactorId]->GetPower()); + } + return EvolBuild; + +} + + //________________________________________________________________________ +void FabricationPlant::TakeReactorFuel(int Id) +{ + + + IsotopicVector IV; + map<int ,IsotopicVector >::iterator it2 = fReactorFuturIV.find( Id ); + AddCumulativeIVOut(it2->second); + fInsideIV -= (*it2).second; + + + if (it2 != fReactorFuturIV.end()) + (*it2).second = IV; + +} + + //________________________________________________________________________ +EvolutionData FabricationPlant::GetReactorEvolutionDB(int ReactorId) +{ + + map< int,EvolutionData >::iterator it = fReactorFuturDB.find(ReactorId); + return (*it).second; + +} + +IsotopicVector FabricationPlant::GetFullFabrication() +{ + + IsotopicVector tmp = 0*ZAI(0,0,0); + + map<int, IsotopicVector > reactorNextStep = fReactorFuturIV; + map<int, IsotopicVector >::iterator it; + for ( it = reactorNextStep.begin(); it != reactorNextStep.end(); it++) + tmp += (*it).second; + + return tmp; + +} + + //________________________________________________________________________ + //_______________________________ Storage ________________________________ + //________________________________________________________________________ + +IsotopicVector FabricationPlant::GetStockToRecycle() +{ + + IsotopicVector NextStock; + int IdToTake = -1; + + if(fChronologicalTimePriority ) + IdToTake = (int)( fFractionToTake.size() ); + else + IdToTake = (int)( fStorage->GetIVArray().size() -1 - fFractionToTake.size() ); + + if(0 <= IdToTake && IdToTake < (int)fStorage->GetIVArray().size()) + { + NextStock = fStorage->GetIVArray()[IdToTake]; + fFractionToTake.push_back( pair<int,double>(IdToTake,0.) ); + } + else NextStock += ZAI(-1,-1,-1) *1; + + return NextStock; + +} + + //________________________________________________________________________ +void FabricationPlant::RecycleStock(double fraction) +{ + + fFractionToTake.back().second = fraction; + +} + + + + //________________________________________________________________________ +void FabricationPlant::DumpStock() +{ + + for(int i = (int)fFractionToTake.size()-1; i >= 0; i--) + { + + pair<IsotopicVector, IsotopicVector> SeparatedIV; + IsotopicVector IV_in_Stock_i = fStorage->GetIVArray()[fFractionToTake[i].first]; + double Fraction_Taken_from_Stock_i = fFractionToTake[i].second ; + + SeparatedIV = Separation( Fraction_Taken_from_Stock_i * ( IV_in_Stock_i - IV_in_Stock_i.GetSpeciesComposition(94) ) ); + + fReUsable->AddIV(SeparatedIV.first); + GetParc()->AddWaste(SeparatedIV.second); + + + + + fStorage->TakeFractionFromStock(fFractionToTake[i].first,fFractionToTake[i].second); + + + } + fFractionToTake.clear(); + + + + +} + + //________________________________________________________________________ +pair<IsotopicVector, IsotopicVector> FabricationPlant::Separation(IsotopicVector isotopicvector) +{ + + //[0] = re-use ; [1] = waste + pair<IsotopicVector, IsotopicVector> IVTmp; + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for(it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + { + map<ZAI ,double>::iterator it2; + it2 = fValorisableIV.find((*it).first); + if ( it2 != fValorisableIV.end() ) + { + IVTmp.first.Add( (*it).first, (*it).second * (*it2).second ); //re-use + IVTmp.second.Add( (*it).first, (*it).second * (1-(*it2).second) ); //waste + } + else + { + IVTmp.first.Add( (*it).first, (*it).second ); //re-use +// IVTmp.second.Add( (*it).first, (*it).second * (1-(*it2).second) ); //waste -> Empty + } + } + + return IVTmp; +} + + + +//________________________________________________________________________ +// Get Decay +//________________________________________________________________________ +IsotopicVector FabricationPlant::GetDecay(IsotopicVector isotopicvector, cSecond t) +{ + + IsotopicVector IV; + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + { + if((*it).second > 0) + { + IsotopicVector ivtmp = fDecayDataBase->Evolution(it->first, t) * (*it).second ; + IV += ivtmp; + } + } + + return IV; + +} + + + + + + diff --git a/source/branches/CLASSV3/src/FuelDataBank.cxx b/source/branches/CLASSV3/src/FuelDataBank.cxx new file mode 100644 index 000000000..d4b6f7034 --- /dev/null +++ b/source/branches/CLASSV3/src/FuelDataBank.cxx @@ -0,0 +1,1786 @@ +// +// FuelDataBank.cxx +// CLASSSource +// +// Created by BaM on 04/05/2014. +// Copyright (c) 2014 BaM. All rights reserved. +// + +#include "FuelDataBank.hxx" + +#include "IsotopicVector.hxx" +#include "CLASSHeaders.hxx" +#include "LogFile.hxx" +#include "StringLine.hxx" + +#include <TGraph.h> +#include <TString.h> + + +#include <sstream> +#include <string> +#include <iostream> +#include <fstream> +#include <algorithm> +#include <cmath> + + +//________________________________________________________________________ +// +// FuelDataBank +// +// +// +// +//________________________________________________________________________ + + +double ReactionRateWeightedDistance(IsotopicVector IV1, EvolutionData DB ) +{ + + double d2 = 0; + double XS_total = 0; + IsotopicVector IV2 = DB.GetIsotopicVectorAt(0.).GetActinidesComposition(); + IsotopicVector IVtmp = IV1 + IV2; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double XS = 0; + + for(int i = 1; i < 4 ; i++) + XS += DB.GetXSForAt(0., (*it).first, i); + + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + d2 += pow( (Z1-Z2)*XS , 2 ); + XS_total += (Z1+Z2)*XS/2; + } + + + return sqrt(d2)/XS_total; +} + +double ReactionRateWeightedDistance(EvolutionData DB, IsotopicVector IV1 ) +{ + return ReactionRateWeightedDistance( IV1, DB ); +} + + + +//________________________________________________________________________ +FuelDataBank::FuelDataBank(): CLASSObject(), DynamicalSystem() +{ + fTheNucleiVector = 0; + fTheMatrix = 0; + + fWeightedDistance = false; + fEvolutionDataInterpolation = false; + + + + fOldReadMethod = true; + fUseRK4EvolutionMethod = true; + fDistanceType = 0; + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + SetForbidNegativeValue(); + +} + + +FuelDataBank::FuelDataBank(LogFile* Log, string DB_index_file, bool setlog, bool olfreadmethod):DynamicalSystem() +{ + SetLog(Log); + fWeightedDistance = false; + fEvolutionDataInterpolation = false; + + + fTheNucleiVector = 0; + fTheMatrix = 0; + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + fDataBaseIndex = DB_index_file; + fOldReadMethod = olfreadmethod; + fUseRK4EvolutionMethod = true; + + fDistanceType = 0; + + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + ReadDataBase(); + + SetForbidNegativeValue(); + + if(IsLog()) + { + // Warning + cout << "!!INFO!! !!!FuelDataBank!!! A EvolutionData has been define :" << endl; + cout << "\t His index is : \"" << DB_index_file << "\"" << endl; + cout << "\t " << fFuelDataBank.size() << " EvolutionData have been read."<< endl << endl; + + GetLog()->fLog << "!!INFO!! !!!FuelDataBank!!! A EvolutionData has been define :" << endl; + GetLog()->fLog << "\t His index is : \"" << DB_index_file << "\"" << endl; + GetLog()->fLog << "\t " << fFuelDataBank.size() << " EvolutionData have been read."<< endl << endl; + } + + +} + +FuelDataBank::~FuelDataBank() +{ + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + if(fTheNucleiVector) + { + delete fTheNucleiVector; + } + + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fFuelDataBank.begin(); it_del != fFuelDataBank.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fFuelDataBank.clear(); + + for( it_del = fFuelDataBankCalculated.begin(); it_del != fFuelDataBankCalculated.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fFuelDataBankCalculated.clear(); + + fFissionEnergy.clear(); + fFastDecay.clear(); + fSpontaneusYield.clear(); + fReactionYield.clear(); + findex_inver.clear(); + findex.clear(); + fDecayMatrix.Clear(); + +} + +void FuelDataBank::Clear() +{ + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + if(fTheNucleiVector) + { + delete fTheNucleiVector; + } + + fFuelDataBank.clear(); + fFuelDataBankCalculated.clear(); + fFissionEnergy.clear(); + fFastDecay.clear(); + fSpontaneusYield.clear(); + fReactionYield.clear(); + findex_inver.clear(); + findex.clear(); + + + fTheNucleiVector = 0; + fTheMatrix = 0; + fNVar = 0; + + fOldReadMethod = true; + fUseRK4EvolutionMethod = true; + fDistanceType = 0; + fShorstestHalflife = 3600.*24*2.; + fZAIThreshold = 90; + + + fDataDirectoryName = getenv("CLASS_PATH"); + fDataDirectoryName += "/source/data/"; + fDataFileName = "chart.JEF3T"; + + SetForbidNegativeValue(); + + + fDecayMatrix.Clear(); + + + +} + + +//________________________________________________________________________ +void FuelDataBank::ReadDataBase() +{ + + if(fFuelDataBank.size() != 0) + { + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fFuelDataBank.begin(); it_del != fFuelDataBank.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fFuelDataBank.clear(); + } + + if(fFuelDataBankCalculated.size() != 0) + { + map<IsotopicVector ,EvolutionData >::iterator it_del; + for( it_del = fFuelDataBankCalculated.begin(); it_del != fFuelDataBankCalculated.end(); it_del++) + (*it_del).second.DeleteEvolutionData(); + fFuelDataBankCalculated.clear(); + } + + + + + ifstream DataDB(fDataBaseIndex.c_str()); // Open the File + if(!DataDB) + { + cout << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << fDataBaseIndex << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << fDataBaseIndex << "\"\n" << endl; + } + vector<double> vTime; + vector<double> vTimeErr; + + string line; + int start = 0; + + + + // First Get Fuel Type + getline(DataDB, line); + if( StringLine::NextWord(line, start, ' ') != "TYPE") + { + cout << "!!Bad Trouble!! !!!FuelDataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the type of the DataBase"<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FuelDataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the type of the DataBase"<< endl; + exit (1); + } + fFuelType = StringLine::NextWord(line, start, ' '); + // First Get Fuel Parameter + getline(DataDB, line); + start = 0; + if( StringLine::NextWord(line, start, ' ') != "PARAM") + { + cout << "!!Bad Trouble!! !!!FuelDataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the Parameter of the DataBase"<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FuelDataBank!!! Bad Database file : " << fDataBaseIndex << " Can't find the Parameter of the DataBase"<< endl; + exit (1); + } + while(start < (int)line.size()) + fFuelParameter.push_back(atof(StringLine::NextWord(line, start, ' ').c_str())); + + //Then Get All the Database + + while (!DataDB.eof()) + { + getline(DataDB, line); + if(line != "") + { + EvolutionData* evolutionproduct = new EvolutionData(GetLog(), line, fOldReadMethod); + IsotopicVector ivtmp = evolutionproduct->GetIsotopicVectorAt(0.).GetActinidesComposition(); + fFuelDataBank.insert( pair<IsotopicVector, EvolutionData >(ivtmp , (*evolutionproduct) )); + } + } + +} +//________________________________________________________________________ + + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Physics */ +//________________________________________________________________________ +//________________________________________________________________________ + + + +//________________________________________________________________________ +/* Decay Stuff */ +//________________________________________________________________________ +string FuelDataBank::GetDecay(string DecayModes, double &BR,int &Iso, int &StartPos) +{ + string header; + + BR=0; + //extraction of the decay mode and the BR + string DecayBR=StringLine::NextWord(DecayModes,StartPos,','); + //extraction of the decay + int ss=0; + string Decay=StringLine::NextWord(DecayBR,ss,':'); + //extraction of the BR if exist (i.e. for non stable isotop) + if(ss<int(DecayBR.size())) + BR=atof(DecayBR.substr(ss+1).c_str()); + //BR in % -> BR + BR/=100.; + //find the Isomeric state of Daughter + Iso=0; + if(Decay.find("/",0)<string::npos) + { + Iso=atoi(Decay.substr(Decay.find("/")+1).c_str()); + Decay=Decay.substr(0,Decay.find("/")); + } + return Decay; +} + +//________________________________________________________________________ +void FuelDataBank::BuildDecayMatrix() +{ + fDecayMatrix.Clear(); + + // List of Decay Time and Properties + map<ZAI, pair<double, map< ZAI, double > > > ZAIDecay; + + { // TMP + map< ZAI, double > toAdd; + toAdd.insert(pair<ZAI, double> ( ZAI(-3,-3,-3) , 1) ); + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > >( ZAI(-3,-3,-3), pair<double, map< ZAI, double > > ( 1e28 ,toAdd )) ) ; + } + { // PF + map< ZAI, double > toAdd; + toAdd.insert(pair<ZAI, double> ( ZAI(-2,-2,-2), 1) ); + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > >( ZAI(-2,-2,-2), pair<double, map< ZAI, double > > ( 1e28 ,toAdd )) ) ; + } + + + string DataFullPathName = GetDataDirectoryName()+ GetDataFileName(); + ifstream infile(DataFullPathName.c_str()); + + if(!infile) + { + cout << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << DataFullPathName << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << DataFullPathName<< "\"\n" << endl; + } + + + + + + do + { + int A = -1; + int Z = -1; + int I = -1; + string zainame; + string Iname; + int unkown; + double HalfLife; + string DecayModes; + + infile >> A >> Z >> zainame >> Iname >> unkown >> HalfLife >> DecayModes; + if(Z >= fZAIThreshold ) + { + // Get Isomeric State; + + if(Iname=="gs") + I = 0; + else + if(Iname[0]=='m') + { + if( atoi( Iname.substr(1).c_str() )==0 ) + I = 1; + else + I = atoi( Iname.substr(1).c_str() ); + + } + + + int start=0; + double branch_test=0; + double branch_test_f=0; + + ZAI ParentZAI = ZAI(Z,A,I); + IsotopicVector DaughtersMap; + bool stable = true; + + while(start<int(DecayModes.size())) + { + ZAI DaughterZAI; + double BR; + int daughter_A=0; + int daughter_N=0; + int daughter_Z=0; + int Iso=0; + int DM=-1; + // FPDistribution *FP=0; + string decay_name = GetDecay(DecayModes, BR, Iso, start); + + if (decay_name == "s") {DM=0;daughter_N=(A-Z); daughter_Z=Z;BR=1;} + if (decay_name == "b-") {DM=1;stable=false; daughter_N=(A-Z)-1; daughter_Z=Z+1;} + if (decay_name == "n") {DM=2;stable=false; daughter_N=(A-Z)-1; daughter_Z=Z;} + if (decay_name == "nn") {DM=3;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z;} + if (decay_name == "b-n"){DM=4;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z+1;} + if (decay_name == "p") {DM=5;stable=false; daughter_N=(A-Z); daughter_Z=Z-1;} + if (decay_name == "b-a"){DM=6;stable=false; daughter_N=(A-Z)-3; daughter_Z=Z-1;} + if (decay_name == "pp") {DM=7;stable=false; daughter_N=(A-Z); daughter_Z=Z-2;} + if (decay_name == "ce") {DM=8;stable=false; daughter_N=(A-Z)+1; daughter_Z=Z-1;} + if (decay_name == "a") {DM=9;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z-2;} + if (decay_name == "cen"){DM=10;stable=false; daughter_N=(A-Z); daughter_Z=Z-1;} + if (decay_name == "cep"){DM=11;stable=false; daughter_N=(A-Z)+1; daughter_Z=Z-2;} + if (decay_name == "it") {DM=12;stable=false; daughter_N=(A-Z); daughter_Z=Z;Iso = I-1;} + if (decay_name == "db-"){DM=13;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z+2;} + if (decay_name == "db+"){DM=14;stable=false; daughter_N=(A-Z)+2; daughter_Z=Z-2;} + if (decay_name == "ita"){DM=15;stable=false; daughter_N=(A-Z)-2; daughter_Z=Z-2;} + if (decay_name == "sf") {DM=16;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + if (decay_name == "cesf"){DM=17;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + if (decay_name == "b-sf"){DM=18;stable=false; daughter_N=0; daughter_Z=-2; Iso = -2;} + + daughter_A = daughter_Z + daughter_N; + { + if( daughter_Z < fZAIThreshold && daughter_Z!=-2 ) + daughter_A = daughter_Z = Iso = -3; + // not spontaneous fission + ZAI DaughterZAI = ZAI(daughter_Z,daughter_A,Iso); + + if((BR>1e-10) && (!stable)) + { + if(DM <= 15) + { + DaughtersMap += BR * DaughterZAI; + branch_test+=BR; + } + else if( DM <= 18) + { + if(fSpontaneusYield.size() == 0 || fReactionYield.size() == 0 || DM == 17 || DM == 18) + { + DaughtersMap += 2*BR * ZAI(-2,-2,-2); + + branch_test_f += BR; + } + else + { + + map<ZAI, IsotopicVector>::iterator it_yield = fSpontaneusYield.find(ParentZAI); + if(it_yield != fSpontaneusYield.end()) + { + DaughtersMap += (BR* (*it_yield).second ); + branch_test_f += BR* (*it_yield).second.GetSumOfAll() / 2.; + + } + else + { + DaughtersMap += 2*BR * ZAI(-2,-2,-2); + branch_test_f += BR; + } + } + } + + } + + } + if (DM !=0) + stable = false; + // End of While loop + } + + double btest = fabs(branch_test + branch_test_f-1.0); + if ( btest > 1e-8 && !stable ) + if(branch_test+branch_test_f > 0) + DaughtersMap = DaughtersMap /(branch_test+branch_test_f); + + + + if (HalfLife < fShorstestHalflife && !stable) + fFastDecay.insert( pair< ZAI, map<ZAI, double> > ( ParentZAI, DaughtersMap.GetIsotopicQuantity() ) ); + else if (stable) + { + IsotopicVector StableIV = ParentZAI *1; + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > > + (ParentZAI, pair<double, map< ZAI, double > > + ( 1e36, StableIV.GetIsotopicQuantity()) ) ); + } + else + ZAIDecay.insert( pair< ZAI, pair<double, map< ZAI, double > > > + (ParentZAI, pair<double, map< ZAI, double > > + ( HalfLife, DaughtersMap.GetIsotopicQuantity()) ) ); + + + } + + } while (!infile.eof()); + + { + int i = 0; + map<ZAI, pair<double, map< ZAI, double > > >::iterator it; + for(it = ZAIDecay.begin() ; it != ZAIDecay.end(); it++) + { + findex.insert( pair<int, ZAI > ( i, (*it).first ) ); + findex_inver.insert( pair<ZAI, int > ( (*it).first , i )); + i++; + } + } + + // Fill the Decay Part of the Bateman Matrix Always the same ! + bool FastDecayValidation = false; + while (!FastDecayValidation) + { + map<ZAI, map<ZAI, double> > FastDecayCopy = fFastDecay; + + map<ZAI, map<ZAI, double> >::iterator FD_it; + map<ZAI, map<ZAI, double> >::iterator FD_it_Origin; + + + for(FD_it = FastDecayCopy.begin(); FD_it != FastDecayCopy.end(); FD_it++) + { + + FD_it_Origin = fFastDecay.find(FD_it->first); + + map<ZAI, double> BR = (*FD_it).second; + map<ZAI, double>::iterator BR_it; + + for(BR_it = BR.begin(); BR_it != BR.end(); BR_it++) + { + + map<ZAI, int>::iterator it_index = findex_inver.find( (*BR_it).first ); + + if( it_index == findex_inver.end() ) + { + map<ZAI, map<ZAI, double> >::iterator FD2_it = FastDecayCopy.find((*BR_it).first); + if( FD2_it != FastDecayCopy.end() ) + { + map<ZAI, double>::iterator BR2_it; + (*FD_it_Origin).second.erase((*BR_it).first); + + for (BR2_it = (*FD2_it).second.begin(); BR2_it != (*FD2_it).second.end(); BR2_it++) + { + + pair<map<ZAI, double>::iterator, bool> IResult; + IResult = (*FD_it_Origin).second.insert( pair<ZAI, double> ( (*BR2_it).first, (*BR_it).second * (*BR2_it).second ) ); + + if( !IResult.second) + (*IResult.first).second += (*BR_it).second * (*BR2_it).second ; + + + } + + } + else + { + (*FD_it_Origin).second.erase( (*BR_it).first ); + pair< map<ZAI, double>::iterator, bool> IResult; + IResult = (*FD_it_Origin).second.insert( pair<ZAI, double> ( ZAI(-3,-3,-3), (*BR_it).second) ); + if( !IResult.second) + (*IResult.first).second += (*BR_it).second ; + } + + + + } + } + + } + + + FastDecayValidation = true; + for(FD_it = fFastDecay.begin(); FD_it != fFastDecay.end(); FD_it++) + { + map<ZAI, double>::iterator BR_it; + for (BR_it = (*FD_it).second.begin(); BR_it != (*FD_it).second.end(); BR_it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*BR_it).first ); + map<ZAI, map<ZAI, double> >::iterator FD2_it = fFastDecay.find( (*BR_it).first ); + if(Index_it == findex_inver.end() && FD2_it == fFastDecay.end()) + FastDecayValidation = false; + } + } + } + + + fDecayMatrix.ResizeTo(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + fDecayMatrix[i][j] = 0; + + + + + { + int i = 0; + map<ZAI, pair<double, map< ZAI, double > > >::iterator it; + for(it = ZAIDecay.begin() ; it != ZAIDecay.end(); it++) + { + map< ZAI, double >::iterator it2; + map< ZAI, double > decaylist = (*it).second.second; + for(it2 = decaylist.begin(); it2!= decaylist.end(); it2++) + { + + map<ZAI, int >::iterator it3 = findex_inver.find( (*it2).first ); + if( it3 != findex_inver.end() ) + { + fDecayMatrix[(*it3).second][i] += log(2.)/(*it).second.first * (*it2).second; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( (*it2).first ); + + if( it4 == fFastDecay.end() ) + { + + + fDecayMatrix[0][i] += log(2.)/(*it).second.first * (*it2).second; + } + else + { + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it3 = findex_inver.find( (*it5).first ); + if( it3 == findex_inver.end() ) + fDecayMatrix[0][i] += log(2.)/(*it).second.first * (*it2).second * (*it5).second; + + else + { + fDecayMatrix[(*it3).second][i] += log(2.)/(*it).second.first * (*it2).second * (*it5).second; + + } + } + } + + } + } + fDecayMatrix[i][i] += -log(2.)/(*it).second.first; + + i++; + + + } + } + +} + +//________________________________________________________________________ +/* Fission Stuff */ +//________________________________________________________________________ +void FuelDataBank::SetFissionEnergy(ZAI zai, double E) +{ + pair<map<ZAI, double>::iterator, bool> IResult; + IResult = fFissionEnergy.insert( pair<ZAI ,double>(zai, E)); + if(!IResult.second) + IResult.first->second = E; + +} + +//________________________________________________________________________ +void FuelDataBank::SetFissionEnergy(string FissionEnergyFile) +{ + ifstream FissionFile(FissionEnergyFile.c_str()); // Open the File + if(!FissionFile) //check if file is correctly open + { + cout << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << FissionFile << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << FissionFile << "\"\n" << endl; + } + + do { + int Z = 0; + int A = 0; + int I = 0; + double E = 0; + FissionFile >> Z >> A >> I >> E; + SetFissionEnergy(Z, A, I, E); + } while (!FissionFile.eof()); +} + +//________________________________________________________________________ +map< ZAI,IsotopicVector > FuelDataBank::ReadFPYield(string Yield) +{ + IsotopicVector EmptyIV; + map< ZAI,IsotopicVector > Yield_map; + + ifstream infile(Yield.c_str()); + if(!infile) + { + cout << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << Yield << "\"\n" << endl; + GetLog()->fLog << "!!Warning!! !!!FuelDataBank!!! \n Can't open \"" << Yield<< "\"\n" << endl; + } + + + string line; + int start = 0; + + getline(infile, line); + + do + { + int Z = atof(StringLine::NextWord(line, start, ' ').c_str()); + int A = atof(StringLine::NextWord(line, start, ' ').c_str()); + int I = 0; + + // if(Z!=0 && A!=0) + { + pair<map<ZAI, IsotopicVector>::iterator, bool> IResult; + IResult = Yield_map.insert(pair<ZAI,IsotopicVector>(ZAI(Z,A,I),EmptyIV) ); + if(!IResult.second) + { + cout << "!!Error!! !!!FuelDataBank!!! Many accurance of ZAI " << Z << " " << A; + cout << " in " << Yield << " file!! Please Check it !!!" << endl; + exit(1); + + } + } + }while(start < (int)line.size()-1); + + do + { + start = 0; + + getline(infile, line); + int Z = atof(StringLine::NextWord(line, start, ' ').c_str()); + int A = atof(StringLine::NextWord(line, start, ' ').c_str()); + int I = atof(StringLine::NextWord(line, start, ' ').c_str()); + map<ZAI, IsotopicVector>::iterator it = Yield_map.begin(); + do + { + if (it == Yield_map.end()) + { + cout << "!!Error!! !!!FuelDataBank!!! Many accurance of the PF " << Z << " " << A; + cout << " in " << Yield << " file!! Please Check it"; + cout << "(Number of yield does not match the number of ZAI that fission !!!" << endl; + exit(1); + + } + + double Yield_values = atof(StringLine::NextWord(line, start, ' ').c_str()); + (*it).second += Yield_values * ZAI(Z,A,I); + + it++; + }while(start < (int)line.size()-1); + + + + + } while (!infile.eof()); + return Yield_map; +} + +//________________________________________________________________________ +void FuelDataBank::LoadFPYield(string SponfaneusYield, string ReactionYield) +{ + + fSpontaneusYield = ReadFPYield(SponfaneusYield); + fReactionYield = ReadFPYield(ReactionYield); + fZAIThreshold = 0; +} + + + +//________________________________________________________________________ +/* Reaction Stuff */ +//________________________________________________________________________ +TMatrixT<double> FuelDataBank::GetFissionXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + // ---------------- A(n,.) X+Y + + map<ZAI ,TGraph* > FissionXS = EvolutionDataStep.GetFissionXS(); + + for(it = FissionXS.begin() ; it != FissionXS.end(); it++) + { + map<ZAI, int>::iterator findex_inver_it = findex_inver.find( (*it).first ); + if( findex_inver_it != findex_inver.end() ) + { + double y = (*it).second->Eval(TStep); + BatemanMatrix[ findex_inver_it->second ][ findex_inver_it->second ] += -y* 1e-24; + + if(fSpontaneusYield.size() == 0 || fReactionYield.size() == 0) + BatemanMatrix[1][ findex_inver_it->second ] += 2*y* 1e-24; + else + { + map<ZAI, IsotopicVector>::iterator it_yield = fReactionYield.find( (*it).first ); + + if( it_yield != fReactionYield.end()) + { + map<ZAI ,double>::iterator it_IVQ; + map<ZAI ,double> IVQ = (*it_yield).second.GetIsotopicQuantity(); + + for( it_IVQ = IVQ.begin(); it_IVQ != IVQ.end(); it_IVQ++ ) + { + map<ZAI, int>::iterator findex_it_PF = findex_inver.find( (*it_IVQ).first ); + + if(findex_it_PF != findex_inver.end() ) + BatemanMatrix[(*findex_it_PF).second][ (*findex_inver_it).second ] += (*it_IVQ).second*y* 1e-24; + else + { + map<ZAI, map<ZAI, double> >::iterator it_FD = fFastDecay.find( (*it_IVQ).first); + + if( it_FD == fFastDecay.end() ) + { + BatemanMatrix[1][ (*findex_inver_it).second ] += (*it_IVQ).second * y * 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it_FD).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + findex_it_PF = findex_inver.find( (*it5).first ); + if( findex_it_PF == findex_inver.end() ) + BatemanMatrix[0][findex_inver_it->second] += + (*it_IVQ).second * y * 1e-24 * (*it5).second; + else + BatemanMatrix[(*findex_it_PF).second][findex_inver_it->second]+= + (*it_IVQ).second * y * 1e-24 * (*it5).second; + } + } + + } + + } + } + else + BatemanMatrix[1][ findex_inver_it->second ] += 2*y* 1e-24; + + } + } + + } + + return BatemanMatrix; + +} + +//________________________________________________________________________ +TMatrixT<double> FuelDataBank::GetCaptureXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + map<ZAI, map<ZAI, double> > Capture; + { // 241Am + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(96,242,0) , 0.8733*0.827) ); //directly cut the Am242 as in MURE + toAdd.insert(pair<ZAI, double> ( ZAI(94,242,0) , 0.8733*0.173) ); //directly cut the Am242 as in MURE + toAdd.insert(pair<ZAI, double> ( ZAI(95,242,1) , 0.1267) ); + Capture.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,241,0), toAdd ) ); + } + { // 242Am* + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(95,243,0) , 1) ); + Capture.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,242,1), toAdd ) ); + } + + + // ---------------- A(n,.)A+1 + map<ZAI ,TGraph* > CaptureXS = EvolutionDataStep.GetCaptureXS(); + for(it = CaptureXS.begin(); it != CaptureXS.end(); it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*it).first ); + if( Index_it != findex_inver.end() ) + { + double y; + y = (*it).second->Eval(TStep); + + BatemanMatrix[Index_it->second][ Index_it->second ] += -y* 1e-24 ; + + map<ZAI, map<ZAI, double> >::iterator it3 = Capture.find( (*it).first ); + + if( it3 == Capture.end() ) + { + map<ZAI, int >::iterator it6 = findex_inver.find( ZAI( (*it).first.Z(), (*it).first.A()+1, (*it).first.I()) ); + + if( it6 != findex_inver.end() ) + { + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 ; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( ZAI( (*it).first.Z(), (*it).first.A()+1, (*it).first.I()) ); + + if( it4 == fFastDecay.end() ) + { + BatemanMatrix[0][Index_it->second] += y* 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + BatemanMatrix[0][Index_it->second] += y* 1e-24 * (*it5).second; + else + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it5).second; + } + } + } + } + else + { + map<ZAI, double>::iterator it4; + map<ZAI, double> CaptureList = (*it3).second; + for(it4 = CaptureList.begin(); it4 != CaptureList.end() ; it4++) + { + + map<ZAI, int >::iterator it6 = findex_inver.find( (*it4).first ); + if( it6 != findex_inver.end() ) + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it4).second ; + else + { + map<ZAI, map<ZAI, double> >::iterator it7 = fFastDecay.find( (*it4).first ); + + if( it7 == fFastDecay.end() ) + { + cout << "CaptureList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it7).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + { + cout << "CaptureList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + BatemanMatrix[(*it6).second][Index_it->second] += y * 1e-24 * (*it5).second * (*it4).second; + } + } + + } + } + + + } + } + return BatemanMatrix; + +} + + +//________________________________________________________________________ +TMatrixT<double> FuelDataBank::Getn2nXsMatrix(EvolutionData EvolutionDataStep,double TStep) +{ + + + map<ZAI ,TGraph* >::iterator it; + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int i = 0; i < (int)findex.size(); i++) + for(int j = 0; j < (int)findex.size(); j++) + BatemanMatrix[i][j] = 0; + + map<ZAI, map<ZAI, double> > n2n; + { // 237Np + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(93,236,0) , 0.2) ); + toAdd.insert(pair<ZAI, double> ( ZAI(93,236,1) , 0.8) ); + n2n.insert( pair< ZAI, map<ZAI, double> > ( ZAI(93,237,0), toAdd ) ); + } + { // 242Am* + map<ZAI, double> toAdd ; + toAdd.insert(pair<ZAI, double> ( ZAI(95,241,0) , 1) ); + n2n.insert( pair< ZAI, map<ZAI, double> > ( ZAI(95,242,1), toAdd ) ); + } + + // ---------------- A(n,2n)A-1 + map<ZAI ,TGraph* > n2nXS = EvolutionDataStep.Getn2nXS(); + for(it = n2nXS.begin(); it != n2nXS.end(); it++) + { + map<ZAI, int>::iterator Index_it = findex_inver.find( (*it).first ); + if( Index_it != findex_inver.end() ) + { + double y; + y = (*it).second->Eval(TStep); + + BatemanMatrix[Index_it->second][ Index_it->second ] += -y* 1e-24 ; + + map<ZAI, map<ZAI, double> >::iterator it3 = n2n.find( (*it).first ); + + if( it3 == n2n.end() ) + { + map<ZAI, int >::iterator it6 = findex_inver.find( ZAI( (*it).first.Z(), (*it).first.A()-1, (*it).first.I()) ); + + if( it6 != findex_inver.end() ) + { + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 ; + } + else + { + map<ZAI, map<ZAI, double> >::iterator it4 = fFastDecay.find( ZAI( (*it).first.Z(), (*it).first.A()-1, (*it).first.I()) ); + + if( it4 == fFastDecay.end() ) + { + BatemanMatrix[0][Index_it->second] += y* 1e-24 ; + } + else + { + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it4).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + BatemanMatrix[0][Index_it->second] += y* 1e-24 * (*it5).second; + else + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it5).second; + } + } + } + } + else + { + map<ZAI, double>::iterator it4; + map<ZAI, double> n2nList = (*it3).second; + for(it4 = n2nList.begin(); it4 != n2nList.end() ; it4++) + { + + map<ZAI, int >::iterator it6 = findex_inver.find( (*it4).first ); + if( it6 != findex_inver.end() ) + BatemanMatrix[(*it6).second][Index_it->second] += y* 1e-24 * (*it4).second ; + else + { + map<ZAI, map<ZAI, double> >::iterator it7 = fFastDecay.find( (*it4).first ); + + if( it7 == fFastDecay.end() ) + { + cout << "n2nList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + map< ZAI, double >::iterator it5; + map< ZAI, double > decaylist2 = (*it7).second; + for(it5 = decaylist2.begin(); it5!= decaylist2.end(); it5++) + { + + it6 = findex_inver.find( (*it5).first ); + if( it6 == findex_inver.end() ) + { + cout << "n2nList Problem in FastDecay for nuclei " << (*it7).first.Z() << " " << (*it7).first.A() << " " << (*it7).first.I() << endl; + exit(1); + } + + BatemanMatrix[(*it6).second][Index_it->second] += y * 1e-24 * (*it5).second * (*it4).second; + } + } + + } + } + + + } + } + return BatemanMatrix; +} + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Distance Calculation */ +//________________________________________________________________________ +//________________________________________________________________________ +map<double, EvolutionData> FuelDataBank::GetDistancesTo(IsotopicVector isotopicvector, double t) const +{ + + map<double, EvolutionData> distances; + + map<IsotopicVector, EvolutionData > evolutiondb = fFuelDataBank; + + map<IsotopicVector, EvolutionData >::iterator it; + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + pair<map<double, EvolutionData>::iterator, bool> IResult; + + double D = Distance(isotopicvector.GetActinidesComposition(), (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition()/ Norme( (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition() )*Norme(isotopicvector.GetActinidesComposition()) + ,fDistanceType, fDistanceParameter); + + IResult = distances.insert( pair<double, EvolutionData>( D , (*it).second ) ); + } + + return distances; + +} + +//________________________________________________________________________ +EvolutionData FuelDataBank::GetClosest(IsotopicVector isotopicvector, double t) const +{ + + map<IsotopicVector, EvolutionData > evolutiondb = fFuelDataBank; + double distance = 0; + + map<IsotopicVector, EvolutionData >::iterator it_close = evolutiondb.begin(); + + + map<IsotopicVector, EvolutionData >::iterator it; + + + if(fWeightedDistance) + { + distance = Distance(isotopicvector.GetActinidesComposition() + * evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + / isotopicvector.GetActinidesComposition().GetSumOfAll(), + evolutiondb.begin()->second); + + + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + double D = 0; + D = Distance(isotopicvector.GetActinidesComposition() + * (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + / isotopicvector.GetActinidesComposition().GetSumOfAll(), + (*it).second); + + if (D< distance) + { + distance = D; + it_close = it; + } + } + + return (*it_close).second; + } + else if (fEvolutionDataInterpolation) + { + + map<double, EvolutionData> distance_map = GetDistancesTo(isotopicvector, t); + map<double, EvolutionData>::iterator it_distance; + int NClose = 64; + int Nstep = 0; + EvolutionData EvolInterpolate; + double SumOfDistance = 0; + for( it_distance = distance_map.begin(); it_distance != distance_map.end(); it_distance++) + { + + if((*it_distance).first == 0 ) + { + EvolInterpolate = Multiply(1,(*it_distance).second); + return EvolInterpolate; + } + if(Nstep == 0) + EvolInterpolate = Multiply(1./(*it_distance).first, (*it_distance).second); + else + { + + EvolutionData Evoltmp = EvolInterpolate; + EvolutionData Evoltmp2 = Multiply(1./(*it_distance).first, (*it_distance).second); + + EvolInterpolate = Sum(Evoltmp, Evoltmp2); + Evoltmp.DeleteEvolutionData(); + Evoltmp2.DeleteEvolutionData(); + + + } + + SumOfDistance += 1./(*it_distance).first; + Nstep++; + if(Nstep == NClose) break; + + } + + EvolutionData Evoltmp = EvolInterpolate; + EvolInterpolate.Clear(); + + EvolInterpolate = Multiply(1/SumOfDistance, Evoltmp); + + Evoltmp.DeleteEvolutionData(); + return EvolInterpolate; + + } + else + { + distance = Distance(isotopicvector.GetActinidesComposition(), + evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition() + / evolutiondb.begin()->second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + * isotopicvector.GetActinidesComposition().GetSumOfAll(), + fDistanceType, fDistanceParameter); + for( it = evolutiondb.begin(); it != evolutiondb.end(); it++ ) + { + + double D = 0; + + + D = Distance(isotopicvector.GetActinidesComposition(), + (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition() + / (*it).second.GetIsotopicVectorAt(t).GetActinidesComposition().GetSumOfAll() + * isotopicvector.GetActinidesComposition().GetSumOfAll(), + fDistanceType, fDistanceParameter); + + if (D< distance) + { + distance = D; + it_close = it; + } + } + return (*it_close).second; + + } + + +} + +//________________________________________________________________________ + +void FuelDataBank::CalculateDistanceParameter() +{ + + if(fDistanceType!=1){ + cout << "!!Warning!! !!!CalculateDistanceParameter!!!" + << " Distance Parameter will be calculate even if the distance type is not the good one. Any Distance Parameters given by the user will be overwriten"<<endl; + + GetLog()->fLog << "!!Warning!! !!!CalculateDistanceParameter!!!" + << " Distance Parameter will be calculate even if the distance type is not the good one. Any Distance Parameters given by the user will be overwriten"<<endl; + } + + fDistanceParameter.Clear(); + + //We calculate the weight for the distance calculation. + map<IsotopicVector ,EvolutionData >::iterator it; + map<IsotopicVector ,EvolutionData > FuelDataBank = (*this).GetFuelDataBank(); + int NevolutionDatainFuelDataBank = 0; + + for( it = FuelDataBank.begin(); it != FuelDataBank.end(); it++ ) + { + NevolutionDatainFuelDataBank++; + map<ZAI ,double>::iterator itit; + map<ZAI ,double> isovector=(*it).first.GetIsotopicQuantity(); + for(itit=isovector.begin(); itit != isovector.end(); itit++) //Boucle sur ZAI + { + double TmpXS=0; + + for( int i=1; i<4; i++ ) //Loop on Reactions 1==fission, 2==capture, 3==n2n + TmpXS+= (*it).second.GetXSForAt(0, (*itit).first, i); + + fDistanceParameter.Add((*itit).first,TmpXS); + } + + + } + fDistanceParameter.Multiply( (double)1.0/NevolutionDatainFuelDataBank ); + + if(GetLog()){ + GetLog()->fLog <<"!!INFO!! Distance Parameters "<<endl; + map<ZAI ,double >::iterator it2; + for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++) + { + GetLog()->fLog << (*it2).first.Z() << " "; + GetLog()->fLog << (*it2).first.A() << " "; + GetLog()->fLog << (*it2).first.I() << " "; + GetLog()->fLog << ": " << (*it2).second; + GetLog()->fLog << endl; + } + GetLog()->fLog << endl; + } + + +} + +//________________________________________________________________________ +void FuelDataBank::SetDistanceParameter(IsotopicVector DistanceParameter) +{ + + fDistanceParameter = DistanceParameter; + + GetLog()->fLog <<"!!INFO!! Distance Parameters "<<endl; + map<ZAI ,double >::iterator it2; + for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++) + { + GetLog()->fLog << (*it2).first.Z() << " "; + GetLog()->fLog << (*it2).first.A() << " "; + GetLog()->fLog << (*it2).first.I() << " "; + GetLog()->fLog << ": " << (*it2).second; + GetLog()->fLog << endl; + } + GetLog()->fLog << endl; + +} + +//________________________________________________________________________ +void FuelDataBank::SetDistanceType(int DistanceType) +{ + + fDistanceType=DistanceType; + if(fDistanceType==1){ + CalculateDistanceParameter(); + } + else if(fDistanceType == 2 && Norme(fDistanceParameter)==0){ + // This is so bad!! You will probably unsynchronize all the reactor.... + cout << "!!Warning!! !!!DistanceType!!!" + << " Distance use weight defined by user for each isotope, but no weight have been given" << endl<<"Use SetDistanceParameter()"<<endl; + + GetLog()->fLog << "!!Warning!! !!!DistanceType!!!" + << " Distance use weight defined by user for each isotope, but no weight have been given" << endl<<"Use SetDistanceParameter()"<<endl; + exit(1); + } + else if (fDistanceType != 0 && fDistanceType != 1 && fDistanceType != 2 ){ + cout << "!!ERROR!! !!!DistanceType!!!" + << " Distancetype defined by the user isn't recognized by the code"<<endl; + + GetLog()->fLog << "!!ERROR!! !!!DistanceType!!!" + << " Distancetype defined by the user isn't recognized by the code"<<endl; + exit(1); + } + +} + + + +//________________________________________________________________________ +//________________________________________________________________________ +/* Evolution */ +//________________________________________________________________________ +//________________________________________________________________________ + +//________________________________________________________________________ +/* RK4 Stuff */ +//________________________________________________________________________ +//________________________________________________________________________ +void FuelDataBank::ResetTheMatrix() +{ + + if(fTheMatrix) + { + for(int i= 0; i<fNVar; i++) + delete [] fTheMatrix[i]; + delete [] fTheMatrix; + } + fTheMatrix = 0; +} + +void FuelDataBank::SetTheMatrixToZero() +{ + ResetTheMatrix(); + + fNVar = findex.size(); + fTheMatrix = new double*[fNVar]; + +#pragma omp parallel for + for(int i= 0; i < fNVar; i++) + fTheMatrix[i] = new double[fNVar]; + + for(int i = 0; i < fNVar; i++) + for(int k = 0; k < fNVar; k++) + { + fTheMatrix[i][k]=0.0; + } + +} + +//________________________________________________________________________ +void FuelDataBank::ResetTheNucleiVector() +{ + if(fTheNucleiVector) + delete [] fTheNucleiVector; + fTheNucleiVector = 0; +} + +//________________________________________________________________________ +void FuelDataBank::SetTheNucleiVectorToZero() +{ + ResetTheNucleiVector(); + fTheNucleiVector = new double[fNVar]; + +#pragma omp parallel for + for(int i = 0; i < fNVar; i++) + fTheNucleiVector[i]=0.0; + +} + +//________________________________________________________________________ +void FuelDataBank::BuildEqns(double t, double *N, double *dNdt) +{ + double sum=0; + // pragma omp parallel for reduction(+:sum) + for(int i = 0; i < fNVar; i++) + { + sum=0; + for(int k = 0; k < fNVar; k++) + { + sum += fTheMatrix[i][k]*N[k]; + } + dNdt[i] = sum; + } +} + +//________________________________________________________________________ +void FuelDataBank::SetTheMatrix(TMatrixT<double> BatemanMatrix) +{ + for (int k = 0; k < (int)fNVar; k++) + for (int l = 0; l < (int)findex_inver.size(); l++) + fTheMatrix[l][k] = BatemanMatrix[l][k]; +} + +//________________________________________________________________________ +TMatrixT<double> FuelDataBank::GetTheMatrix() +{ + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + for (int k = 0; k < (int)fNVar; k++) + for (int l = 0; l < (int)findex_inver.size(); l++) + BatemanMatrix[l][k] = fTheMatrix[l][k]; + + return BatemanMatrix; +} + +//________________________________________________________________________ +void FuelDataBank::SetTheNucleiVector(TMatrixT<double> NEvolutionMatrix) +{ + for (int k = 0; k < (int)fNVar; k++) + fTheNucleiVector[k] = NEvolutionMatrix[k][0]; +} + +//________________________________________________________________________ +TMatrixT<double> FuelDataBank::GetTheNucleiVector() +{ + TMatrixT<double> NEvolutionMatrix = TMatrixT<double>(findex.size(),1); + for (int k = 0; k < (int)fNVar; k++) + NEvolutionMatrix[k][0] = fTheNucleiVector[k]; + + return NEvolutionMatrix; +} + + +//________________________________________________________________________ +/* Evolution Calculation */ +//________________________________________________________________________ +EvolutionData FuelDataBank::GenerateEvolutionData(IsotopicVector isotopicvector, double cycletime, double Power) +{ + + if(fFastDecay.size() == 0) + { + BuildDecayMatrix(); + fNVar = findex_inver.size(); + } + + SetTheMatrixToZero(); + SetTheNucleiVectorToZero(); + + string ReactorType; + + + vector< TMatrixT<double> > NMatrix ;// TMatrixT<double>(decayindex.size(),1)) + { // Filling the t=0 State; + map<ZAI, double > isotopicquantity = isotopicvector.GetIsotopicQuantity(); + TMatrixT<double> N_0Matrix = TMatrixT<double>( findex.size(),1) ; + for(int i = 0; i < (int)findex.size(); i++) + N_0Matrix[i] = 0; + + map<ZAI, double >::iterator it ; + for(int i = 0; i < (int)findex.size(); i++) + N_0Matrix[i] = 0; + + for(it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + { + /// Need TO change with FP managment + map<ZAI, int >::iterator it2; + + if( (*it).first.Z() < fZAIThreshold ) + it2 = findex_inver.find( ZAI(-2,-2,-2) ); + else it2 = findex_inver.find( (*it).first ); + + if(it2 == findex_inver.end() ) //If not in index should be TMP, can't be fast decay for new Fuel !!! + it2 = findex_inver.find( ZAI(-3,-3,-3) ); + N_0Matrix[ (*it2).second ][0] = (*it).second ; + + + } + + isotopicquantity.clear(); + + NMatrix.push_back(N_0Matrix); + N_0Matrix.Clear(); + + } + + + //-------------------------// + //--- Perform Evolution ---// + //-------------------------// + EvolutionData EvolutionDataStep = GetClosest(isotopicvector.GetActinidesComposition(), 0.); //GetCLosest at the begining of evolution + ReactorType = EvolutionDataStep.GetReactorType(); + + double Na = 6.02214129e23; //N Avogadro + double M_ref = 0; + double M = 0; + double Power_ref = EvolutionDataStep.GetPower(); + { + map<ZAI, double >::iterator it ; + + + IsotopicVector IVtmp = isotopicvector.GetActinidesComposition() + EvolutionDataStep.GetIsotopicVectorAt(0.).GetActinidesComposition(); + map<ZAI, double >isotopicquantity = IVtmp.GetIsotopicQuantity(); + + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + { + M_ref += EvolutionDataStep.GetIsotopicVectorAt(0.).GetActinidesComposition().GetZAIIsotopicQuantity( (*it).first )*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + M += isotopicvector.GetActinidesComposition().GetZAIIsotopicQuantity( (*it).first )*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + } + isotopicquantity.clear(); + + } + + int DBTimeStepN = EvolutionDataStep.GetFissionXS().begin()->second->GetN(); + double* DBTimeStep = EvolutionDataStep.GetFissionXS().begin()->second->GetX(); + + int InsideStep = 10; + + int NStep = (DBTimeStepN); + double timevector[NStep]; + timevector[0] = 0; + + double Flux[NStep]; + + TMatrixT<double> SigmaPhi = TMatrixT<double>(findex.size()*3+1,NStep); // Store the XS and the flux trought the evolution calculation. + for(int i = 0; i < (int)findex.size()*3+1; i++) + for(int j = 0; j < (int)NStep; j++) + SigmaPhi[i][j] = 0; + + TMatrixT<double> FissionEnergy = TMatrixT<double>(findex.size(),1); + for(int i = 0; i < (int)findex.size(); i++) + FissionEnergy[i] = 0; + + { + map< ZAI, int >::iterator it; + for(it = findex_inver.begin(); it != findex_inver.end(); it++) + { + map< ZAI, double >::iterator it2 = fFissionEnergy.find(it->first); + if(it2 == fFissionEnergy.end()) + { + if(it->first.Z() > fZAIThreshold) + FissionEnergy[it->second][0] = 1.9679e6*it->first.A()-2.601e8; // //simple linear fit to known values ;extrapolation to unknown isotopes + else FissionEnergy[it->second][0] = 0; + } + else + FissionEnergy[it->second][0] = it2->second; + + } + } + + vector< TMatrixT<double> > FissionXSMatrix; //The Fisison XS Matrix + vector< TMatrixT<double> > CaptureXSMatrix; //The Capture XS Matrix + vector< TMatrixT<double> > n2nXSMatrix; //The n2N XS Matrix + + for(int i = 0; i < NStep-1; i++) + { + double TStepMax = ( (DBTimeStep[i+1]-DBTimeStep[i] ) ) * Power_ref/M_ref / Power*M ; + + + TMatrixT<double> BatemanMatrix = TMatrixT<double>(findex.size(),findex.size()); + TMatrixT<double> BatemanReactionMatrix = TMatrixT<double>(findex.size(),findex.size()); + + TMatrixT<double> NEvolutionMatrix = TMatrixT<double>(findex.size(),1); + NEvolutionMatrix = NMatrix.back(); + + + + FissionXSMatrix.push_back(GetFissionXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + CaptureXSMatrix.push_back(GetCaptureXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + n2nXSMatrix.push_back(Getn2nXsMatrix(EvolutionDataStep, DBTimeStep[i])); //Feel the reaction Matrix + + // ---------------- Evolution + + BatemanReactionMatrix = FissionXSMatrix[i]; + BatemanReactionMatrix += CaptureXSMatrix[i]; + BatemanReactionMatrix += n2nXSMatrix[i]; + + if(fUseRK4EvolutionMethod) + { + for(int k=0; k < InsideStep; k++) + { + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix[i][j][j]*NEvolutionMatrix[j][0]*1.6e-19*FissionEnergy[j][0]; + // Update Flux + double Flux_k = Power/ESigmaN; + + if(k==0) + Flux[i]=Flux_k; + + BatemanMatrix = BatemanReactionMatrix; + BatemanMatrix *= Flux_k; + BatemanMatrix += fDecayMatrix ; + + SetTheMatrixToZero(); + SetTheNucleiVectorToZero(); + + SetTheMatrix(BatemanMatrix); + SetTheNucleiVector(NEvolutionMatrix); + + + RungeKutta(fTheNucleiVector, timevector[i]+TStepMax/InsideStep*k, timevector[i]+TStepMax/InsideStep*(k+1), fNVar); + NEvolutionMatrix = GetTheNucleiVector(); + + } + NEvolutionMatrix = GetTheNucleiVector(); + NMatrix.push_back(NEvolutionMatrix); + } + else + { + + for(int k=0; k < InsideStep; k++) + { + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix[i][j][j]*NEvolutionMatrix[j][0]*1.6e-19*FissionEnergy[j][0]; + // Update Flux + double Flux_k = Power/ESigmaN; + + if(k==0) + Flux[i]=Flux_k; + + BatemanMatrix = BatemanReactionMatrix; + BatemanMatrix *= Flux_k; + BatemanMatrix += fDecayMatrix ; + BatemanMatrix *= TStepMax/InsideStep ; + + + TMatrixT<double> IdMatrix = TMatrixT<double>(findex.size(),findex.size()); + for(int j = 0; j < (int)findex.size(); j++) + for(int k = 0; k < (int)findex.size(); k++) + { + if(k == j) IdMatrix[j][k] = 1; + else IdMatrix[j][k] = 0; + } + + + TMatrixT<double> BatemanMatrixDL = TMatrixT<double>(findex.size(),findex.size()); // Order 0 Term from the DL : Id + TMatrixT<double> BatemanMatrixDLTermN = TMatrixT<double>(findex.size(),findex.size()); // Addind it; + + { + BatemanMatrix *= TStepMax ; + BatemanMatrixDLTermN = IdMatrix; + BatemanMatrixDL = BatemanMatrixDLTermN; + int j = 1; + double NormN; + + do + { + TMatrixT<double> BatemanMatrixDLTermtmp = TMatrixT<double>(findex.size(),findex.size()); // Adding it; + BatemanMatrixDLTermtmp = BatemanMatrixDLTermN; + + BatemanMatrixDLTermN.Mult(BatemanMatrixDLTermtmp, BatemanMatrix ); + + BatemanMatrixDLTermN *= 1./j; + BatemanMatrixDL += BatemanMatrixDLTermN; + + NormN = 0; + for(int m = 0; m < (int)findex.size(); m++) + for(int n = 0; n < (int)findex.size(); n++) + NormN += BatemanMatrixDLTermN[m][n]*BatemanMatrixDLTermN[m][n]; + j++; + + } while ( NormN != 0 ); + } + NEvolutionMatrix = BatemanMatrixDL * NEvolutionMatrix ; + } + NMatrix.push_back(NEvolutionMatrix); + + } + + timevector[i+1] = timevector[i] + TStepMax; + + BatemanMatrix.Clear(); + BatemanReactionMatrix.Clear(); + NEvolutionMatrix.Clear(); + + + } + FissionXSMatrix.push_back(GetFissionXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + CaptureXSMatrix.push_back(GetCaptureXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + n2nXSMatrix.push_back(Getn2nXsMatrix(EvolutionDataStep, DBTimeStep[NStep-1])); //Feel the reaction Matrix + + + EvolutionData GeneratedDB = EvolutionData(GetLog()); + + double ESigmaN = 0; + for (int j = 0; j < (int)findex.size() ; j++) + ESigmaN -= FissionXSMatrix.back()[j][j]*NMatrix.back()[j][0]*1.6e-19*FissionEnergy[j][0]; + + Flux[NStep-1] = Power/ESigmaN; + + GeneratedDB.SetFlux( new TGraph(NStep, timevector, Flux) ); + + for(int i = 0; i < (int)findex.size(); i++) + { + double ZAIQuantity[NMatrix.size()]; + double FissionXS[NStep]; + double CaptureXS[NStep]; + double n2nXS[NStep]; + for(int j = 0; j < (int)NMatrix.size(); j++) + ZAIQuantity[j] = (NMatrix[j])[i][0]; + + for(int j = 0; j < NStep; j++) + { + FissionXS[j] = FissionXSMatrix[j][i][i]; + CaptureXS[j] = CaptureXSMatrix[j][i][i]; + n2nXS[j] = n2nXSMatrix[j][i][i]; + } + + GeneratedDB.NucleiInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NMatrix.size(), timevector, ZAIQuantity))); + GeneratedDB.FissionXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, FissionXS))); + GeneratedDB.CaptureXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, CaptureXS))); + GeneratedDB.n2nXSInsert(pair<ZAI, TGraph*> (findex.find(i)->second, new TGraph(NStep, timevector, n2nXS))); + } + + GeneratedDB.SetPower(Power ); + GeneratedDB.SetFuelType(fFuelType ); + GeneratedDB.SetReactorType(ReactorType ); + GeneratedDB.SetCycleTime(cycletime); + + // fFuelDataBankCalculated.insert( pair< IsotopicVector, EvolutionData > ( GeneratedDB.GetIsotopicVectorAt(0.), GeneratedDB) ); + + ResetTheMatrix(); + ResetTheNucleiVector(); + + for (int i = 0; i < (int) FissionXSMatrix.size(); i++) + { + FissionXSMatrix[i].Clear(); + CaptureXSMatrix[i].Clear(); + n2nXSMatrix[i].Clear(); + } + FissionXSMatrix.clear(); + CaptureXSMatrix.clear(); + n2nXSMatrix.clear(); + + if(fEvolutionDataInterpolation) + EvolutionDataStep.DeleteEvolutionData(); + + return GeneratedDB; + +} + + + + + + + + + + +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ +//________________________________________________________________________ diff --git a/source/branches/CLASSV3/src/IsotopicVector.cxx b/source/branches/CLASSV3/src/IsotopicVector.cxx new file mode 100755 index 000000000..0bb82cc29 --- /dev/null +++ b/source/branches/CLASSV3/src/IsotopicVector.cxx @@ -0,0 +1,592 @@ +#include "IsotopicVector.hxx" + +#include "LogFile.hxx" + + +#include <cmath> +#include <iostream> +#include <fstream> +#include <string> +#include <algorithm> + + //________________________________________________________________________ + //________________________________________________________________________ + // + // + // + // IsotopicVector + // + // + //________________________________________________________________________ + //________________________________________________________________________ + + + + + //________________________________________________________________________ + //__________________________Operator Overlaoding__________________________ + //________________________________________________________________________ + + + + //____________________________General Operator____________________________ + //________________________________________________________________________ + +ClassImp(IsotopicVector) + +double Norme(IsotopicVector IV1,int DistanceType, IsotopicVector DistanceParameter) +{ + + IsotopicVector IV; + + return Distance(IV1, IV, DistanceType,DistanceParameter); + +} +double DistanceStandard(IsotopicVector IV1, IsotopicVector IV2) +{ + + double d2=0; + IsotopicVector IVtmp = IV1 + IV2; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + d2 += pow(Z1-Z2 , 2 ); + } + return sqrt(d2); + +} +double DistanceAdjusted(IsotopicVector IV1, IsotopicVector IV2, IsotopicVector DistanceParameter) +{ + + double d2=0; + IsotopicVector IVtmp = IV1 + IV2; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + double lambda = DistanceParameter.GetZAIIsotopicQuantity( (*it).first ); + d2 += lambda*abs(Z1-Z2); + } + return d2; + +} + + + +double Distance(IsotopicVector IV1, IsotopicVector IV2 ,int DistanceType, IsotopicVector DistanceParameter) +{ + + if(DistanceType==0) + { + return DistanceStandard(IV1,IV2); + } + else if(DistanceType==1||DistanceType==2){ + return DistanceAdjusted(IV1,IV2,DistanceParameter); + } + else + { + cout << "!!ERROR!! !!!Distance!!!" + << " DistanceType defined by the user isn't recognized by the code"<<endl; + + exit(1); + } + +} + + +double RelativDistance(IsotopicVector IV1, IsotopicVector IV2 ) +{ + + double d2 = 0; + + IsotopicVector IVtmp = IV1 + IV2; + map<ZAI ,double> IVtmpIsotopicQuantity = IVtmp.GetIsotopicQuantity(); + + double Z1total = 0; + double Z2total = 0; + map<ZAI ,double >::iterator it; + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + Z1total += IV1.GetZAIIsotopicQuantity( (*it).first ); + Z2total += IV2.GetZAIIsotopicQuantity( (*it).first ); + } + for( it = IVtmpIsotopicQuantity.begin(); it != IVtmpIsotopicQuantity.end(); it++) + { + double Z1 = IV1.GetZAIIsotopicQuantity( (*it).first ); + double Z2 = IV2.GetZAIIsotopicQuantity( (*it).first ); + d2 += pow( (Z1/Z1total - Z2/Z2total) , 2 ); + } + + + return sqrt(d2); +} + + +IsotopicVector operator+(IsotopicVector const& IVa, IsotopicVector const& IVb) +{ + + IsotopicVector IVtmp; + IVtmp = IVa; + return IVtmp += IVb; +} + + //________________________________________________________________________ +IsotopicVector operator-(IsotopicVector const& IVa, IsotopicVector const& IVb) +{ + + IsotopicVector IVtmp; + IVtmp = IVa; + return IVtmp -= IVb; +} + + + //________________________________________________________________________ +IsotopicVector operator*(ZAI const& zai, double F) +{ + + IsotopicVector IVtmp; + + IVtmp.Add( zai, F); + return IVtmp; +} + + + //________________________________________________________________________ +IsotopicVector operator/(ZAI const& zai, double F) +{ + IsotopicVector IVtmp; + + IVtmp.Add( zai, 1./F); + + return IVtmp; +} + + + //________________________________________________________________________ +IsotopicVector operator*(double F, IsotopicVector const& IVA) {return IVA*F;} + + //________________________________________________________________________ +IsotopicVector operator*(IsotopicVector const& IVA, double F) +{ + + IsotopicVector IV = IVA; + IV.Multiply(F); + return IV; +} + +IsotopicVector operator*(double F, ZAI const& zai) {return zai*F;} + + //________________________________________________________________________ +IsotopicVector operator/(IsotopicVector const& IVA, double F) +{ + + IsotopicVector IV = IVA; + IV.Multiply(1./F); + return IV; +} + + + //____________________________InClass Operator____________________________ + + //________________________________________________________________________ +IsotopicVector& IsotopicVector::operator+=(const IsotopicVector& IVa) +{ + + Add(IVa); + return *this; + +} + + //________________________________________________________________________ +IsotopicVector& IsotopicVector::operator-=(const IsotopicVector& IVa) +{ + + Remove(IVa); + return *this; + +} + +bool IsotopicVector::operator<(const IsotopicVector& isotopicvector) const +{ + + if( Norme(*this) != Norme(isotopicvector) ) + return Norme(*this) < Norme(isotopicvector); + else if( (*this).GetIsotopicQuantity().size() != isotopicvector.GetIsotopicQuantity().size() ) + return (*this).GetIsotopicQuantity().size() < isotopicvector.GetIsotopicQuantity().size(); + else + { + map<ZAI ,double>::iterator it; + map<ZAI ,double>::iterator it2 = isotopicvector.GetIsotopicQuantity().begin(); + map<ZAI ,double> IsotopicQuantity = (*this).GetIsotopicQuantity(); + for( it = IsotopicQuantity.begin(); it != IsotopicQuantity.end(); it++ ) + { + if( (*it).first != (*it2).first ) + return (*it).first < (*it2).first; + else it2++; + } + return false; + } + +} + + + //________________________________________________________________________ + //________________________Constructor & Destructor________________________ + //________________________________________________________________________ +IsotopicVector::IsotopicVector() +{ + + +} + + + //________________________________________________________________________ +IsotopicVector::~IsotopicVector() +{ + fIsotopicQuantity.clear(); + fIsotopicQuantityNeeded.clear(); +} + + + + //________________________________________________________________________ + //_____________________________General Method_____________________________ + //________________________________________________________________________ +void IsotopicVector::Clear() +{ + + fIsotopicQuantityNeeded.clear(); + fIsotopicQuantity.clear(); + +} + //________________________________________________________________________ +void IsotopicVector::ClearNeed() +{ + + fIsotopicQuantityNeeded.clear(); + +} + + //________________________________________________________________________ +void IsotopicVector::Multiply(double factor) +{ + + map<ZAI ,double >::iterator it; + for( it = fIsotopicQuantity.begin(); it != fIsotopicQuantity.end(); it++) + (*it).second = (*it).second * factor; + for( it = fIsotopicQuantityNeeded.begin(); it != fIsotopicQuantityNeeded.end(); it++) + (*it).second = (*it).second * factor; + + +} + +//________________________________________________________________________ + +double IsotopicVector::GetSumOfAll() const +{ + double Sum = 0; + map<ZAI ,double >::iterator it; + map<ZAI ,double > isotopicquantity = GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + Sum += (*it).second; + + return Sum; + +} + //________________________________________________________________________ +void IsotopicVector::Add(const ZAI& zai, double quantity) +{ + + if( ceil(quantity*1e25) - quantity*1e25 > quantity*1e25 - floor(quantity*1e25) ) + quantity = floor(quantity*1e25)*1/1e25; + else quantity = ceil(quantity*1e25)*1/1e25; + + + if(quantity > 0) + { + pair<map<ZAI, double>::iterator, bool> IResult; + IResult = fIsotopicQuantity.insert( pair<ZAI ,double>(zai, quantity)); + if(!IResult.second) + IResult.first->second += quantity; + } + + +} + //________________________________________________________________________ + +void IsotopicVector::Add(const IsotopicVector& isotopicvector) +{ + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + Add( (*it).first, (*it).second); + + +} + //________________________________________________________________________ + +void IsotopicVector::Add(const map<ZAI ,double>& quantity) +{ + + map<ZAI ,double> isotopicquantity = quantity; + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + Add( (*it).first, (*it).second); + + +} + + + //________________________________________________________________________ +void IsotopicVector::Remove(const ZAI& zai, double quantity) +{ + + + map<ZAI ,double>::iterator it; + it = fIsotopicQuantity.find(zai); + + if(quantity > 0) + { + if ( it != fIsotopicQuantity.end() ) + { + if (it->second > quantity) + it->second = it->second - quantity; + else + { + Need(zai, quantity - it->second ); + it->second = 0; + } + } + else + { + Need(zai, quantity); + } + } + + +} + + //________________________________________________________________________ +void IsotopicVector::Remove(const IsotopicVector& isotopicvector) +{ + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + Remove( (*it).first, (*it).second); + +} + + //________________________________________________________________________ +void IsotopicVector::Need(const ZAI& zai, double quantity) +{ + pair<map<ZAI, double>::iterator, bool> IResult; + if(quantity > 0) + { + IResult = fIsotopicQuantityNeeded.insert( pair<ZAI ,double>(zai, quantity)); + if(!IResult.second) + IResult.first->second += quantity; + } + + +} + + //________________________________________________________________________ +void IsotopicVector::Need(const IsotopicVector& isotopicvector) +{ + + map<ZAI ,double> isotopicquantity = isotopicvector.GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++) + Need( (*it).first, (*it).second); + +} + + + //________________________________________________________________________ +double IsotopicVector::GetZAIIsotopicQuantity(const ZAI& zai) const +{ + + map<ZAI ,double> IsotopicQuantity = fIsotopicQuantity; + + map<ZAI ,double>::iterator it; + it = IsotopicQuantity.find(zai); + + + if ( it != IsotopicQuantity.end() ) + { + return it->second; + } + else + { + return 0; + } +} + + //________________________________________________________________________ +double IsotopicVector::GetZAIIsotopicQuantity(const int z, const int a, const int i) const +{ + + ZAI zai(z, a, i); + return GetZAIIsotopicQuantity(zai); +} + +IsotopicVector IsotopicVector::GetSpeciesComposition(int z) const +{ + + IsotopicVector IV; + map<ZAI ,double > IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = IsotopicQuantity.begin(); it != IsotopicQuantity.end(); it++) + + if( (*it).first.Z() == z ) + IV += (*it).first * (*it).second; + + return IV; + +} + +vector<ZAI> IsotopicVector::GetZAIList() const +{ + + map<ZAI ,double > IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + vector<ZAI> zailist; + for( it = IsotopicQuantity.begin(); it != IsotopicQuantity.end(); it++) + zailist.push_back( (*it).first ); + + return zailist; + +} + +IsotopicVector IsotopicVector::GetActinidesComposition() const +{ + + IsotopicVector IV; + for (int i = 0; i <12; i++) + IV += GetSpeciesComposition(89+i); + return IV; + +} + +vector<int> IsotopicVector::GetChemicalSpecies() const +{ + + vector<int> ChemicalSpecies; + + map<ZAI ,double > IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for( it = IsotopicQuantity.begin(); it != IsotopicQuantity.end(); it++) + if( (int)ChemicalSpecies.size() ==0 || (*it).first.Z() != ChemicalSpecies.back() ) + ChemicalSpecies.push_back((*it).first.Z()); + + + return ChemicalSpecies; +} + + + //________________________________________________________________________ +void IsotopicVector::Write(string filename, cSecond time) const +{ + ofstream IVfile(filename.c_str(), ios_base::app); // Open the File + if(!IVfile) + cout << "!!Warning!! !!!IsotopicVector!!! \n Can't open \"" << filename << "\"\n" << endl; + + if(time != -1) + IVfile << "Time "<< time/365.25/3600./24. << endl; + + map<ZAI ,double> IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for(it = IsotopicQuantity.begin(); it != IsotopicQuantity.end(); it++) + { + IVfile << (*it).first.Z() << " "; + IVfile << (*it).first.A() << " "; + IVfile << (*it).first.I() << " "; + IVfile << (*it).second << " " << endl; + } + IVfile << endl; +} + //________________________________________________________________________ +void IsotopicVector::Print(string option) const +{ + + cout << "**************************" << endl; + cout << "*Isotopic Vector Property*" << endl; + cout << "**************************" << endl << endl; + + bool QuantityPrint = false; + bool DBPrint = false; + + QuantityPrint = true; + + if(QuantityPrint) + { + cout << "*Isotopic Vector Quantity*" << endl; + map<ZAI ,double> IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for(it = IsotopicQuantity.begin();it != IsotopicQuantity.end(); it++) + { + cout << (*it).first.Z() << " "; + cout << (*it).first.A() << " "; + cout << (*it).first.I() << " "; + cout << ": " << (*it).second; + cout << endl; + } + cout << endl; + cout << "*Isotopic Vector Quantity Needed*" << endl; + map<ZAI ,double> IsotopicQuantityNeeded = GetIsotopicQuantityNeeded(); + for(it = IsotopicQuantityNeeded.begin(); it != IsotopicQuantityNeeded.end(); it++) + { + cout << (*it).first.Z() << " "; + cout << (*it).first.A() << " "; + cout << (*it).first.I() << " "; + cout << ": " << (*it).second; + cout << endl; + } + cout << endl; + } + if(DBPrint) + { + cout << "****Isotopic Vector DB****" << endl; + } + +} + + +void IsotopicVector::PrintList(string option) const +{ + bool QuantityPrint = false; + bool DBPrint = false; + + QuantityPrint = true; + + if(QuantityPrint) + { + map<ZAI ,double> IsotopicQuantity = GetIsotopicQuantity(); + map<ZAI ,double >::iterator it; + for(it = IsotopicQuantity.begin();it != IsotopicQuantity.end(); it++) + { + cout << (*it).first.Z() << " "; + cout << (*it).first.A() << " "; + cout << (*it).first.I() << " "; + cout << endl; + } + cout << endl; + + } + if(DBPrint) + { + cout << "****Isotopic Vector DB****" << endl; + } + +} + + + + diff --git a/source/branches/CLASSV3/src/LogFile.cxx b/source/branches/CLASSV3/src/LogFile.cxx new file mode 100755 index 000000000..e7d201340 --- /dev/null +++ b/source/branches/CLASSV3/src/LogFile.cxx @@ -0,0 +1,40 @@ + +#include "LogFile.hxx" + +#include <iostream> +#include <algorithm> +using namespace std; + +//________________________________________________________________________ +// +// LogFile +// +// +// +// +//________________________________________________________________________ + +LogFile::LogFile(string LogFileName ) +{ + fLogFileName = LogFileName; + + fLog.open(LogFileName.c_str()); + if(!fLog) + { + cout << "Could not open the LogFile: " << LogFileName << " !" << endl; + exit(-1); + } + else + cout << "LogFile: " << LogFileName << " opened." << endl; + +} + +//________________________________________________________________________ +LogFile::~LogFile() +{ + + fLog.close(); + +} + + diff --git a/source/branches/CLASSV3/src/Makefile b/source/branches/CLASSV3/src/Makefile new file mode 100755 index 000000000..b13a3c235 --- /dev/null +++ b/source/branches/CLASSV3/src/Makefile @@ -0,0 +1,102 @@ +# Directory containing libraries +LIBDIR = ../../lib +# Base directory containing includes for libmctal and libvalerr +EXTERNINC = ../external +# Directory containing includes for CLASS +LOCALINC = ../include + + +ROOTCFLAGS = `root-config --cflags` +ROOTLIBS = `root-config --libs` +ROOTGLIBS = `root-config --glibs` + +######### nothing to change from here ######### +INCLUDES = $(LOCALINC)/*.hxx +LIBNAME = CLASSpkg +OBJS = CLASS.o \ + CLASSObject.o CLASSObjectDict.o\ + CLASSFacility.o CLASSFacilityDict.o\ + CLASSBackEnd.o CLASSBackEndDict.o\ + Storage.o StorageDict.o\ + FabricationPlant.o FabricationPlantDict.o \ + PWR_THU_FabricationPlant.o \ + PWR_THPU_FabricationPlant.o \ + Pool.o PoolDict.o\ + Reactor.o ReactorDict.o \ + IsotopicVector.o IsotopicVectorDict.o \ + ZAIMass.o \ + ZAI.o ZAIDict.o \ + FuelDataBank.o DecayDataBank.o \ + DynamicalSystem.o\ + EvolutionData.o EvolutionDataDict.o \ + LogFile.o + +ROOTOBJS = CLASSObject.o CLASSObjectDict.o\ + CLASSFacility.o CLASSFacilityDict.o\ + CLASSBackEnd.o CLASSBackEndDict.o\ + Storage.o StorageDict.o\ + Pool.o PoolDict.o\ + Reactor.o ReactorDict.o \ + FabricationPlant.o FabricationPlantDict.o \ + IsotopicVector.o IsotopicVectorDict.o \ + ZAIMass.o \ + ZAI.o ZAIDict.o \ + FuelDataBank.o DecayDataBank.o \ + DynamicalSystem.o\ + EvolutionData.o EvolutionDataDict.o \ + LogFile.o + + +CXX = g++ +CXXFLAGS = -O2 -g -Wall -fopenmp -fPIC -I$(LOCALINC) $(ROOTCFLAGS) +LD = g++ +LDFLAGS = -g -Wall -fPIC $(ROOTLIBS) -shared -lgomp + +all: $(OBJS) + $(LD) $(LDFLAGS) $(OBJS) -o $(LIBDIR)/lib$(LIBNAME).so + @echo "lib$(LIBNAME).so done" + $(LD) $(LDFLAGS) $(ROOTOBJS) -o $(LIBDIR)/lib$(LIBNAME)_root.so + @echo "lib$(LIBNAME)_root.so done" + + + +CLASSObjectDict.cxx: $(LOCALINC)/CLASSObject.hxx + rootcint -f $@ -c $^ + +CLASSFacilityDict.cxx: $(LOCALINC)/CLASSFacility.hxx + rootcint -f $@ -c $^ + +CLASSBackEndDict.cxx: $(LOCALINC)/CLASSBackEnd.hxx + rootcint -f $@ -c $^ + +StorageDict.cxx: $(LOCALINC)/Storage.hxx + rootcint -f $@ -c $^ + +ReactorDict.cxx: $(LOCALINC)/Reactor.hxx + rootcint -f $@ -c $^ + +FabricationPlantDict.cxx: $(LOCALINC)/FabricationPlant.hxx + rootcint -f $@ -c $^ + +PoolDict.cxx: $(LOCALINC)/Pool.hxx + rootcint -f $@ -c $^ + +IsotopicVectorDict.cxx: $(LOCALINC)/IsotopicVector.hxx + rootcint -f $@ -c $^ + +ZAIDict.cxx: $(LOCALINC)/ZAI.hxx + rootcint -f $@ -c $^ + +EvolutionDataDict.cxx: $(LOCALINC)/EvolutionData.hxx + rootcint -f $@ -c $^ + + + +clean: + @rm -vf $(OBJS) *~ core *Dict.cxx *Dict.h +oclean : + @rm -vf $(OBJS) *~ core *Dict.cxx *Dict.h +.SUFFIXES: .cxx + +%.o: %.cxx $(INCLUDES) + $(CXX) $(CXXFLAGS) -c $*.cxx diff --git a/source/branches/CLASSV3/src/PWR_THPU_FabricationPlant.cxx b/source/branches/CLASSV3/src/PWR_THPU_FabricationPlant.cxx new file mode 100644 index 000000000..cb3921527 --- /dev/null +++ b/source/branches/CLASSV3/src/PWR_THPU_FabricationPlant.cxx @@ -0,0 +1,307 @@ +#include "PWR_THPU_FabricationPlant.hxx" +#include "Storage.hxx" +#include "Reactor.hxx" +#include "EvolutionData.hxx" +#include "FuelDataBank.hxx" +#include "DecayDataBank.hxx" +#include "IsotopicVector.hxx" +#include "CLASS.hxx" +#include "CLASSHeaders.hxx" +#include "LogFile.hxx" + + + + +#include "TMatrixT.h" + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + + //________________________________________________________________________ + //________________________________________________________________________ + //________________________________________________________________________ + // + // MyFabricationPlant + // a FP specific to one type of Reactor and one type of Fuel + // + // + // + //________________________________________________________________________ + //________________________________________________________________________ +template <class T> T random(T a, T b) //peak random numebr between a and b +{ + double range = pow(2., 31); + srand(time(NULL)); //initialize the srand + return (T)a + (T)(b-a)*rand()/range; +} + + + + +PWR_THPU_FabricationPlant::PWR_THPU_FabricationPlant():FabricationPlant() +{ +} + +PWR_THPU_FabricationPlant::PWR_THPU_FabricationPlant(LogFile* log) +{ + SetFacilityType(16); + + SetLog(log); + fChronologicalTimePriority = false; + SetCycleTime(-1); + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + fStorage = 0; + fReUsable = 0; + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority set! "<< endl << endl; + cout << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority set! "<< endl << endl; + GetLog()->fLog << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + + + +} + +PWR_THPU_FabricationPlant::PWR_THPU_FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabircationtime) +{ + SetFacilityType(16); + + SetLog(log); + + fChronologicalTimePriority = false; + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + + + SetCycleTime((cSecond)fabircationtime ); + fStorage = storage; + fReUsable = reusable; + + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority has been set! "<< endl; + cout << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority has been set! "<< endl; + GetLog()->fLog << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + + + +} + + + + //________________________________________________________________________ +PWR_THPU_FabricationPlant::~PWR_THPU_FabricationPlant() +{ + + +} + + + + + +void PWR_THPU_FabricationPlant::BuildFuelForReactor(int ReactorId) +{ + //cout<<"INFO : This is a specific FabricationPlant"<<endl<<"GOOD JOB!!!"<<endl; + FuelDataBank* FuelType = GetParc()->GetReactor()[ReactorId]->GetFuelType(); + string ReactorType ="PWR"; + if(FuelType->GetFuelType() != "THPU" || ReactorType !="PWR")//Check if the reactor is the right type and use the right type of fuel + { + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB" << endl; + exit (1); + } + double Na = 6.02214129e23; //N Avogadro + + double HMmass = GetParc()->GetReactor()[ReactorId]->GetHeavyMetalMass(); + + double BU = GetParc()->GetReactor()[ReactorId]->GetBurnUp(); + IsotopicVector FullUsedStock; + IsotopicVector stock; + + bool FuelBuild = false; + while(!FuelBuild) + { + double nPu_0 = 0; + double MPu_0 = 0; + { + map<ZAI ,double>::iterator it; + + map<ZAI ,double> isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + nPu_0 += (*it).second; + + isotopicquantity = FullUsedStock.GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + MPu_0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + } + + stock = GetStockToRecycle(); + if( stock.GetZAIIsotopicQuantity(ZAI(-1,-1,-1)) == 1 ) // Not enought stock to build the needed fuel + { + if (!fSubstitutionFuel) + { + { + EvolutionData evolutiondb; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector EmptyIV; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,EmptyIV) ); + if(!IResult.second) + IResult.first->second = EmptyIV; + } + } + else + { + { + EvolutionData evolutiondb = fSubstitutionEvolutionData* HMmass; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector IV = fSubstitutionEvolutionData.GetIsotopicVectorAt(0)* HMmass; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId, IV) ); + if(!IResult.second) + IResult.first->second = IV; + } + + } + FuelBuild = true; + fFractionToTake.clear(); + } + else + { + double nPu_1 = 0; + double MPu_1 = 0; + double Sum_AlphaI_nPuI = 0; + double Sum_AlphaI_nPuI0 = 0; + { + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = GetDecay( stock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + { + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + nPu_1 += (*it).second; + Sum_AlphaI_nPuI += FuelType->GetFuelParameter()[(*it).first.A() -237]*(*it).second; + } + } + + isotopicquantity = stock.GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + MPu_1 += (*it).second * (cZAIMass.fZAIMass.find( (*it).first )->second)/Na*1e-6; + } + + isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(94).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 238 && (*it).first.A() <= 242) + { + Sum_AlphaI_nPuI0 += FuelType->GetFuelParameter()[(*it).first.A() -237]*(*it).second; + } + } + //cout<<"TEST TEST TEST TEST TEST HMmass : "<<HMmass <<endl; + //cout<<"TEST TEST TEST TEST TEST MPu_1 : "<<MPu_1<<endl; + double StockFactionToUse = 0; + + double NT = HMmass*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second); + + double N1 = (BU - FuelType->GetFuelParameter()[6]) * NT; + double N2 = -Sum_AlphaI_nPuI0; + double N3 = -FuelType->GetFuelParameter()[0] * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second) * (HMmass*1e6 - MPu_0*1e6); + + double D1 = Sum_AlphaI_nPuI; + double D2 = -FuelType->GetFuelParameter()[0] * MPu_1*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second) ; + + StockFactionToUse = (N1 + N2 + N3) / (D1 + D2); + + if(StockFactionToUse < 0) + { + stock.GetActinidesComposition().Print(); + + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use" << endl; + RecycleStock(0.); + FuelBuild = false; + + } + else if( StockFactionToUse > 1 ) + { + //cout<<"TEST TEST TEST TEST TEST Not enough Pu"<<endl; + + FullUsedStock += stock; + RecycleStock(1); + FuelBuild = false; + } + else + { + RecycleStock(StockFactionToUse); + + IsotopicVector IVBeginCycle; + FuelBuild = true; + + ZAI Th = ZAI(90,232,0); + //cout<<"TEST TEST TEST TEST TEST (HMmass - (MPu_0+StockFactionToUse*MPu_1 ) : "<<(HMmass - (MPu_0+StockFactionToUse*MPu_1 ))<<endl; + //cout<<"TEST TEST TEST TEST TEST HMmass : "<<HMmass <<endl; + //cout<<"TEST TEST TEST TEST TEST MPu_0 : "<<MPu_0<<endl; + //cout<<"TEST TEST TEST TEST TEST StockFactionToUse*MPu_1 : "<<StockFactionToUse<<"*"<<MPu_1<<endl; + double Th_Quantity = (HMmass - (MPu_0+StockFactionToUse*MPu_1 ))/(cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second)*Na/1e-6; + + GetParc()->AddGodIncome(Th, Th_Quantity); + + for(int i = (int)fFractionToTake.size()-1; i >= 0; i--) + { + IVBeginCycle += fStorage->GetIVArray()[fFractionToTake[i].first].GetSpeciesComposition(94)*( fFractionToTake[i].second ); + fReUsable->AddIV(fStorage->GetIVArray()[fFractionToTake[i].first]*(fFractionToTake[i].second) + - fStorage->GetIVArray()[fFractionToTake[i].first].GetSpeciesComposition(94)*(fFractionToTake[i].second)); + + fStorage->TakeFractionFromStock(fFractionToTake[i].first,fFractionToTake[i].second); + + } + fFractionToTake.clear(); + + IVBeginCycle += Th_Quantity*Th; + EvolutionData evolutiondb = BuildEvolutiveDB(ReactorId, IVBeginCycle); + + { + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,IVBeginCycle) ); + if(!IResult.second) + IResult.first->second = IVBeginCycle; + + AddCumulativeIVIn(IVBeginCycle); + fInsideIV += IVBeginCycle; + + + } + } + } + } + +} diff --git a/source/branches/CLASSV3/src/PWR_THU_FabricationPlant.cxx b/source/branches/CLASSV3/src/PWR_THU_FabricationPlant.cxx new file mode 100644 index 000000000..fec48037f --- /dev/null +++ b/source/branches/CLASSV3/src/PWR_THU_FabricationPlant.cxx @@ -0,0 +1,303 @@ +#include "PWR_THU_FabricationPlant.hxx" +#include "Storage.hxx" +#include "Reactor.hxx" +#include "EvolutionData.hxx" +#include "FuelDataBank.hxx" +#include "DecayDataBank.hxx" +#include "IsotopicVector.hxx" +#include "CLASS.hxx" +#include "CLASSHeaders.hxx" +#include "LogFile.hxx" + + + + +#include "TMatrixT.h" + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + + //________________________________________________________________________ + //________________________________________________________________________ + //________________________________________________________________________ + // + // MyFabricationPlant + // a FP specific to one type of Reactor and one type of Fuel + // + // + // + //________________________________________________________________________ + //________________________________________________________________________ +template <class T> T random(T a, T b) //peak random numebr between a and b +{ + double range = pow(2., 31); + srand(time(NULL)); //initialize the srand + return (T)a + (T)(b-a)*rand()/range; +} + +PWR_THU_FabricationPlant::PWR_THU_FabricationPlant():FabricationPlant() +{ + +} + +PWR_THU_FabricationPlant::PWR_THU_FabricationPlant(LogFile* log) +{ + SetFacilityType(16); + + SetLog(log); + fChronologicalTimePriority = false; + SetCycleTime(-1); + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + fStorage = 0; + fReUsable = 0; + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority set! "<< endl << endl; + cout << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority set! "<< endl << endl; + GetLog()->fLog << "!!WARNING!! !!!FabricationPlant!!! You need to set the different stock manually as well as the Fabrication Time Manualy !! " << endl; + + + +} + +PWR_THU_FabricationPlant::PWR_THU_FabricationPlant(LogFile* log, Storage* storage, Storage* reusable, double fabircationtime) +{ + SetFacilityType(16); + + SetLog(log); + + fChronologicalTimePriority = false; + fUpdateReferenceDBatEachStep = false; + fSubstitutionFuel = false; + + + SetCycleTime((cSecond)fabircationtime ); + fStorage = storage; + fReUsable = reusable; + + + cout << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + cout << "\t Chronological Stock Priority has been set! "<< endl; + cout << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!FabricationPlant!!! A FabricationPlant has been define :" << endl; + GetLog()->fLog << "\t Chronological Stock Priority has been set! "<< endl; + GetLog()->fLog << "\t Fabrication time set to \t " << (double)(GetCycleTime()/3600/24/365.25) << " year" << endl << endl; + + + + +} + + + + //________________________________________________________________________ +PWR_THU_FabricationPlant::~PWR_THU_FabricationPlant() +{ + + +} + + + + + +void PWR_THU_FabricationPlant::BuildFuelForReactor(int ReactorId) +{ + //cout<<"INFO : This is a specific FabricationPlant"<<endl<<"GOOD JOB!!!"<<endl; + FuelDataBank* FuelType = GetParc()->GetReactor()[ReactorId]->GetFuelType(); + string ReactorType ="PWR"; + if(FuelType->GetFuelType() != "THU" || ReactorType !="PWR")//Check if the reactor is the right type and use the right type of fuel + { + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Try to do MOX with a not MOXed DB" << endl; + exit (1); + } + double Na = 6.02214129e23; //N Avogadro + + double HMmass = GetParc()->GetReactor()[ReactorId]->GetHeavyMetalMass(); + double BU = GetParc()->GetReactor()[ReactorId]->GetBurnUp(); + IsotopicVector FullUsedStock; + IsotopicVector stock; + + bool FuelBuild = false; + while(!FuelBuild) + { + double nU_0 = 0; + double MU_0 = 0; + { + map<ZAI ,double>::iterator it; + + map<ZAI ,double> isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(92).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + nU_0 += (*it).second; + + isotopicquantity = FullUsedStock.GetSpeciesComposition(92).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + MU_0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + } + + stock = GetStockToRecycle(); + if( stock.GetZAIIsotopicQuantity(ZAI(-1,-1,-1)) == 1 ) // Not enought stock to build the needed fuel + { + if (!fSubstitutionFuel) + { + { + EvolutionData evolutiondb; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector EmptyIV; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,EmptyIV) ); + if(!IResult.second) + IResult.first->second = EmptyIV; + } + } + else + { + { + EvolutionData evolutiondb = fSubstitutionEvolutionData* HMmass; + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + IsotopicVector IV = fSubstitutionEvolutionData.GetIsotopicVectorAt(0)* HMmass; + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId, IV) ); + if(!IResult.second) + IResult.first->second = IV; + } + + } + FuelBuild = true; + fFractionToTake.clear(); + } + else + { + double nU_1 = 0; + double MU_1 = 0; + double Sum_AlphaI_nUI = 0; + double Sum_AlphaI_nUI0 = 0; + { + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = GetDecay( stock , GetCycleTime()).GetSpeciesComposition(92).GetIsotopicQuantity(); + + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + { + if ((*it).first.A() >= 232 && (*it).first.A() <= 236) + { + nU_1 += (*it).second; + Sum_AlphaI_nUI += FuelType->GetFuelParameter()[(*it).first.A() -231]*(*it).second; + } + } + + isotopicquantity = stock.GetSpeciesComposition(92).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 232 && (*it).first.A() <= 236) + { + MU_1 += (*it).second * (cZAIMass.fZAIMass.find( (*it).first )->second)/Na*1e-6; + } + + isotopicquantity = GetDecay( FullUsedStock , GetCycleTime()).GetSpeciesComposition(92).GetIsotopicQuantity(); + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + if ((*it).first.A() >= 232 && (*it).first.A() <= 236) + { + Sum_AlphaI_nUI0 += FuelType->GetFuelParameter()[(*it).first.A() -231]*(*it).second; + } + } + + double StockFactionToUse = 0; + + double NT = HMmass*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second); + + double N1 = (BU - FuelType->GetFuelParameter()[6]) * NT; + double N2 = -Sum_AlphaI_nUI0; + double N3 = -FuelType->GetFuelParameter()[0] * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second) * (HMmass*1e6 - MU_0*1e6); + + double D1 = Sum_AlphaI_nUI; + double D2 = -FuelType->GetFuelParameter()[0] * MU_1*1e6 * Na / (cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second) ; + + StockFactionToUse = (N1 + N2 + N3) / (D1 + D2); + + if(StockFactionToUse < 0) + { + stock.GetActinidesComposition().Print(); + + cout << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use "<< endl; + GetLog()->fLog << "!!Bad Trouble!! !!!FabricationPlant!!! Oups Bug in calculating stock fraction to use" << endl; + RecycleStock(0.); + FuelBuild = false; + + } + else if( StockFactionToUse > 1 ) + { + //cout<<"TEST TEST TEST TEST TEST Not enough Pu"<<endl; + + FullUsedStock += stock; + RecycleStock(1); + FuelBuild = false; + } + else + { + RecycleStock(StockFactionToUse); + + IsotopicVector IVBeginCycle; + FuelBuild = true; + + ZAI Th = ZAI(90,232,0); + //cout<<"TEST TEST TEST TEST TEST (HMmass - (MU_0+StockFactionToUse*MU_1 ) : "<<(HMmass - (MU_0+StockFactionToUse*MU_1 ))<<endl; + //cout<<"TEST TEST TEST TEST TEST HMmass : "<<HMmass <<endl; + //cout<<"TEST TEST TEST TEST TEST MU_0 : "<<MU_0<<endl; + //cout<<"TEST TEST TEST TEST TEST StockFactionToUse*MU_1 : "<<StockFactionToUse<<"*"<<MU_1<<endl; + double Th_Quantity = (HMmass - (MU_0+StockFactionToUse*MU_1 ))/(cZAIMass.fZAIMass.find( ZAI(90,232,0) )->second)*Na/1e-6; + + GetParc()->AddGodIncome( Th, Th_Quantity); + + for(int i = (int)fFractionToTake.size()-1; i >= 0; i--) + { + IVBeginCycle += fStorage->GetIVArray()[fFractionToTake[i].first].GetSpeciesComposition(92)*( fFractionToTake[i].second ); + fReUsable->AddIV(fStorage->GetIVArray()[fFractionToTake[i].first]*(fFractionToTake[i].second) + - fStorage->GetIVArray()[fFractionToTake[i].first].GetSpeciesComposition(92)*(fFractionToTake[i].second)); + + fStorage->TakeFractionFromStock(fFractionToTake[i].first,fFractionToTake[i].second); + + } + fFractionToTake.clear(); + + IVBeginCycle += Th_Quantity*Th; + EvolutionData evolutiondb = BuildEvolutiveDB(ReactorId, IVBeginCycle); + + { + pair<map<int, EvolutionData>::iterator, bool> IResult; + IResult = fReactorFuturDB.insert( pair<int, EvolutionData>(ReactorId,evolutiondb) ); + if(!IResult.second) + IResult.first->second = evolutiondb; + } + { + pair<map<int, IsotopicVector>::iterator, bool> IResult; + IResult = fReactorFuturIV.insert( pair<int, IsotopicVector>(ReactorId,IVBeginCycle) ); + if(!IResult.second) + IResult.first->second = IVBeginCycle; + + AddCumulativeIVIn(IVBeginCycle); + fInsideIV += IVBeginCycle; + + + } + } + } + } + +} diff --git a/source/branches/CLASSV3/src/Pool.cxx b/source/branches/CLASSV3/src/Pool.cxx new file mode 100755 index 000000000..3fbcfa303 --- /dev/null +++ b/source/branches/CLASSV3/src/Pool.cxx @@ -0,0 +1,285 @@ +#include "Pool.hxx" + +#include "DecayDataBank.hxx" +#include "IsotopicVector.hxx" +#include "Storage.hxx" +#include "CLASS.hxx" +#include "LogFile.hxx" + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + +//________________________________________________________________________ +// +// Pool +// +// +// +// +//________________________________________________________________________ +ClassImp(Pool) + +Pool::Pool():CLASSBackEnd() +{ + fOutBackEndFacility = 0; + SetFacilityType(8); + SetName("P_Pool."); +} + +Pool::Pool(LogFile* log) +{ + + SetFacilityType(8); + + SetLog(log); + fCycleTime = 5*3600.*24.*365.25; + + fIsStarted = false; + fPutToWaste = true; + SetCreationTime( 0 ); + fCoolingLastIndex = 0; + + fOutBackEndFacility = 0; + SetName("P_Pool."); + + + cout << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + cout << "!!WARNING!! !!!Pool!!! All Cooled Fuel goes directly to WASTE after cooling !! " << endl; + + GetLog()->fLog << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "!!WARNING!! !!!Pool!!! All Cooled Fuel goes directly to WASTE after cooling !! " << endl; + + +} + //________________________________________________________________________ +Pool::Pool(LogFile* log, double creation, double coolingtime) +{ + + SetFacilityType(8); + + SetLog(log); + fCycleTime = (cSecond)coolingtime; + SetCreationTime( (cSecond)creation ); + fIsStarted = false; + fPutToWaste = true; + fCoolingLastIndex = 0; + + fOutBackEndFacility = 0; + SetName("P_Pool."); + + + cout << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + cout << "!!WARNING!! !!!Pool!!! All Cooled Fuel goes directly to WASTE after cooling !! " << endl; + + GetLog()->fLog << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "!!WARNING!! !!!Pool!!! All Cooled Fuel goes directly to WASTE after cooling !! " << endl; + + +} + +//________________________________________________________________________ +Pool::Pool(LogFile* log, CLASSBackEnd* storage, double creation, double coolingtime) +{ + + SetFacilityType(8); + + SetLog(log); + fCycleTime = (cSecond)coolingtime; + fOutBackEndFacility = storage; + SetIsStorageType(false); + + SetCreationTime( (cSecond)creation ); + fIsStarted = false; + fPutToWaste = false; + fCoolingLastIndex = 0; + SetName("P_Pool."); + + + cout << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + + + cout << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + + GetLog()->fLog << "!!INFO!! !!!Pool!!! A new Pool has been define :" << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Cooling Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + + +} + +//________________________________________________________________________ +Pool::~Pool() +{ + + +} + +//________________________________________________________________________ +//________________________________________________________________________ +void Pool::SetIVArray(vector<IsotopicVector> ivarray) +{ + cout << "this method as no effect !!!" << endl; + cout << "Use SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond>n timearray) unstead!!!!"<<endl; +} + + +//________________________________________________________________________ +void Pool::SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond> timearray) +{ + fIVArray = ivarray; + fCoolingStartingTime = timearray; + +} +//________________________________________________________________________ +// Add Temporary IV : +// Cooling +// +//________________________________________________________________________ +void Pool::AddIV(IsotopicVector IV) +{ + + fIVArray.push_back(IV); + fInsideIV += IV; + fCoolingStartingTime.push_back(fInternalTime); + fCoolingLastIndex++; + fCoolingIndex.push_back(fCoolingLastIndex); + + AddCumulativeIVIn(IV); + +} + + +//________________________________________________________________________ +void Pool::RemoveIVCooling(int i) //!< Remove a Cooling IsotopicVector +{ + AddCumulativeIVOut(fIVArray[i]); + + fIVArray.erase(fIVArray.begin()+i); + fCoolingStartingTime.erase(fCoolingStartingTime.begin()+i); + fCoolingIndex.erase(fCoolingIndex.begin()+i); + +} + + + + +//________________________________________________________________________ +// Time Action with the reste of the Universe : +// Out Storage +// Evolution : +// Cooling +//________________________________________________________________________ + + + + +//________________________________________________________________________ +void Pool::CoolingEvolution(cSecond t) +{ + + if(t == fInternalTime && t!=0) return; + int RemainingCoolingTime; + cSecond EvolutionTime = t - fInternalTime; + + fInsideIV = IsotopicVector(); + +#pragma omp parallel for + for ( int i = 0 ; i < (int)fIVArray.size() ; i++) + { + if ( abs(t - fCoolingStartingTime[i] - fCycleTime) < 3600 ) // ">" should not append, only "=" is normal... + { + if (t - fCoolingStartingTime[i] > fCycleTime) // Warning & Quit + { + cout << "!!Warning!! !!!TreamtmentFactory!!! Cooling Step : " << t/3600./24/365.25<< " :" + << " An evolution Step is probably missing ! " << " " << endl; + cout << t << " " << fCoolingStartingTime[i] << " " << fCycleTime << endl; + GetLog()->fLog << "!!Warning!! !!!TreamtmentFactory!!! Cooling Step : "<< t << " :" + << " An evolution Step is probably missing ! " << endl; + exit (1); + } + + RemainingCoolingTime = fCycleTime - (fInternalTime - fCoolingStartingTime[i]); + //Cooling Decay + fIVArray[i] = GetDecay( fIVArray[i], RemainingCoolingTime); + + +#pragma omp critical(DeleteCoolingIVPB) + {fCoolingEndOfCycle.push_back(i);} + + } + else if ( fCoolingStartingTime[i] != t ) + { + fIVArray[i] = GetDecay( fIVArray[i] , EvolutionTime); + fInsideIV += fIVArray[i]; + } + } +#pragma omp critical(DeleteCoolingIVPB) + {sort (fCoolingEndOfCycle.begin(), fCoolingEndOfCycle.end());} + +} + + +//________________________________________________________________________ +void Pool::Evolution(cSecond t) +{ + + // Check if the Pool has been created ... + if(t<GetCreationTime()) return; + if(t == fInternalTime && t!=0) return; + + if(fInternalTime == 0 && !fIsStarted) + { + fInternalTime = GetCreationTime(); + fIsStarted = true; + } + + // Make the evolution for the Cooling IV ... + CoolingEvolution(t); + + // ... And Finaly update the AbsoluteInternalTime + fInternalTime = t; + + + +} + + +//________________________________________________________________________ +void Pool::Dump() +{ +//------ Cooling ------// + for(int i = (int)fCoolingEndOfCycle.size()-1; i >=0 ; i--) // IV End Of Cooling + { + + int idx = fCoolingEndOfCycle[i]; // Get Index number + + if(!fPutToWaste) + fOutBackEndFacility->AddIV(fIVArray[idx]); + else + GetParc()->AddWaste(fIVArray[idx]); + + fCoolingEndOfCycle.erase(fCoolingEndOfCycle.begin()+i); // Remove index entry + RemoveIVCooling(idx); // Remove IVcooling + } + + if((int)fCoolingEndOfCycle.size() != 0 )// Control + { + cout << "Problem while Dumping Cooling"<< endl; + GetLog()->fLog << "Problem while Dumping Cooling"<< endl; + exit (1); + } +} + + diff --git a/source/branches/CLASSV3/src/Reactor.cxx b/source/branches/CLASSV3/src/Reactor.cxx new file mode 100755 index 000000000..8b0056e39 --- /dev/null +++ b/source/branches/CLASSV3/src/Reactor.cxx @@ -0,0 +1,595 @@ +#include "Reactor.hxx" + +#include "EvolutionData.hxx" +#include "FuelDataBank.hxx" +#include "Pool.hxx" +#include "FabricationPlant.hxx" +#include "Storage.hxx" +#include "CLASS.hxx" +#include "CLASSHeaders.hxx" + +#include "LogFile.hxx" + +#include <iostream> +#include <cmath> +#include <omp.h> + +//________________________________________________________________________ +// +// Reactor +// +// +// +// +//________________________________________________________________________ + + + +ClassImp(Reactor) + +Reactor::Reactor() +{ + + SetFacilityType(4); + SetName("R_Reactor."); + + + fOutBackEndFacility = 0; + fStorage = 0; + fFuelTypeDB = 0; + fFabricationPlant = 0; + + + fNextPlan = fLoadingPlan.begin(); +} + +Reactor::Reactor(LogFile* log) +{ + + SetLog(log); + fOutBackEndFacility = 0; + fStorage = 0; + fFuelTypeDB = 0; + fFabricationPlant = 0; + SetFacilityType(4); + SetName("R_Reactor."); + fNextPlan = fLoadingPlan.begin(); + +} + +Reactor::Reactor(LogFile* log, FuelDataBank* fueltypeDB, + FabricationPlant* fabricationplant, + CLASSBackEnd* Pool, + cSecond creationtime, cSecond lifetime) +{ + SetLog(log); + + SetFacilityType(4); + SetName("R_Reactor."); + + + fIsStarted = false; + fIsShutDown = false; + fIsAtEndOfCycle = false; + + fFabricationPlant = fabricationplant; + fFixedFuel = false; + fBurnUp = -1.; + fHeavyMetalMass = -1.; + fStorage = 0; + + fOutBackEndFacility = Pool; + + fFuelTypeDB = fueltypeDB; + + fPower = -1.; + fCycleTime = -1.; //BU in GWd/t + + SetCreationTime( (cSecond)creationtime ); + fInternalTime = creationtime; + SetLifeTime( (cSecond)lifetime ); + fInCycleTime = 0; + + + fNextPlan = fLoadingPlan.begin(); + + cout << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + cout << "\t Fuel Composition is not fixed ! "<< endl; + cout << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl << endl; + cout << "!!WARNING!! !!!Reactor!!! You need to set Burn-up/Power/CycleTime (2 of 3) & Heavy Metal Mass Manualy !! " << endl; + + + GetLog()->fLog << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + GetLog()->fLog << "\t Fuel Composition is not fixed ! "<< endl; + GetLog()->fLog << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl << endl; + GetLog()->fLog << "!!WARNING!! !!!Reactor!!! You need to set Burn-up/Power/CycleTime (2 of 3) & Heavy Metal Mass Manualy !! " << endl; + +} + +Reactor::Reactor(LogFile* log, FuelDataBank* fueltypeDB, FabricationPlant* fabricationplant, CLASSBackEnd* Pool, + cSecond creationtime, cSecond lifetime, + double Power, double HMMass, double BurnUp, double ChargeFactor) +{ + SetLog(log); + + SetFacilityType(4); + SetName("R_Reactor."); + + + fStorage = 0; + fIsStarted = false; + fIsShutDown = false; + fIsAtEndOfCycle = false; + + fFabricationPlant = fabricationplant; + fFixedFuel = false; + + fOutBackEndFacility = Pool; + + fFuelTypeDB = fueltypeDB; + + + fBurnUp = BurnUp; + fHeavyMetalMass = HMMass; + fPower = Power*ChargeFactor; + fCycleTime = (cSecond) (fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); //BU in GWd/t + + SetCreationTime( (cSecond)creationtime ); + fInternalTime = creationtime; + SetLifeTime( (cSecond)lifetime ); + fInCycleTime = 0; + + fNextPlan = fLoadingPlan.begin(); + + + cout << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + cout << "\t Fuel Composition is not fixed ! "<< endl; + cout << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl; + cout << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << ChargeFactor << " Charge Factor)"<< endl; + cout << "\t Burn-Up at end of Cycle set at \t " << (double)(fBurnUp) << " GWj/t" << endl; + cout << "\t The corresponding Cycle Time is\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + cout << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + GetLog()->fLog << "\t Fuel Composition is not fixed ! "<< endl; + GetLog()->fLog << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << ChargeFactor << " Charge Factor)"<< endl; + GetLog()->fLog << "\t Burn-Up at end of Cycle set at \t " << (double)(fBurnUp) << " GWj/t" << endl; + GetLog()->fLog << "\t The corresponding Cycle Time is\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + + +} + +Reactor::Reactor(LogFile* log, FuelDataBank* fueltypeDB, + FabricationPlant* fabricationplant, + CLASSBackEnd* Pool, + cSecond creationtime, cSecond lifetime, cSecond cycletime, + double HMMass, double BurnUp) +{ + SetLog(log); + + SetFacilityType(4); + SetName("R_Reactor."); + + + fIsStarted = false; + fIsShutDown = false; + fIsAtEndOfCycle = false; + + fStorage = 0; + + fFabricationPlant = fabricationplant; + fFixedFuel = false; + fBurnUp = BurnUp; + fHeavyMetalMass = HMMass; + + fOutBackEndFacility = Pool; + + fFuelTypeDB = fueltypeDB; + + fCycleTime = (cSecond)cycletime; + SetCreationTime( (cSecond)creationtime ); + fInternalTime = creationtime; + SetLifeTime( (cSecond)lifetime ); + fInCycleTime = 0; + + fPower = BurnUp*3600.*24. / (fCycleTime) * HMMass *1e9; //BU in GWd/t + + fNextPlan = fLoadingPlan.begin(); + + cout << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + cout << "\t Fuel Composition is not fixed ! "<< endl; + cout << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t Life time (Operating's Duration) set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t The Cycle Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + cout << "\t Burn-Up at end of Cycle set at \t " << (double)(fBurnUp) << " GWj/t" << endl; + cout << "\t The corresponding Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW" << endl; + cout << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + GetLog()->fLog << "\t Fuel Composition is not fixed ! "<< endl; + GetLog()->fLog << "\t Fuel Type set to : \t "<< fFuelTypeDB->GetFuelType() << endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t Life time (Operating's Duration) set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Cycle Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t Burn-Up at end of Cycle set at \t " << (double)(fBurnUp) << " GWj/t" << endl; + GetLog()->fLog << "\t The corresponding Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW" << endl; + GetLog()->fLog << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + + +} + + +Reactor::Reactor(LogFile* log, EvolutionData evolutivedb, + CLASSBackEnd* Pool, + cSecond creationtime, + cSecond lifetime, + double power, double HMMass, double BurnUp, double ChargeFactor ) +{ + SetLog(log); + + SetFacilityType(4); + SetName("R_Reactor."); + + + fIsStarted = false; + fIsShutDown = false; + fIsAtEndOfCycle = false; + + fStorage = 0; + fFuelTypeDB = 0; + fFabricationPlant = 0; + + fFixedFuel = true; + fIsStorage = false; + + fOutBackEndFacility = Pool; + + SetCreationTime( (cSecond)creationtime ); + fInternalTime = creationtime; + SetLifeTime( (cSecond)lifetime ); + fInCycleTime = 0; + + fPower = power * ChargeFactor; + + fHeavyMetalMass = HMMass; + + double Na = 6.02214129e23; //N Avogadro + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = evolutivedb.GetIsotopicVectorAt(0.).GetActinidesComposition().GetIsotopicQuantity(); + double M0 = 0; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + M0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + + fEvolutionDB = evolutivedb * (fHeavyMetalMass/M0); + + fBurnUp = BurnUp; + fCycleTime = (cSecond) (fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); + + fIVBeginCycle = fEvolutionDB.GetIsotopicVectorAt(0); + fIVInCycle = fEvolutionDB.GetIsotopicVectorAt(0); + fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) ); + + + + fNextPlan = fLoadingPlan.begin(); + + cout << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + cout << "\t Fuel Composition is fixed ! "<< endl; + cout << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + cout << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl; + cout << "\t The Cycle Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + cout << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << ChargeFactor << " Charge Factor)"<< endl; + cout << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + GetLog()->fLog << "!!INFO!! !!!Reactor!!! A Reactor has been define :" << endl; + GetLog()->fLog << "\t Fuel Composition is fixed ! "<< endl; + GetLog()->fLog << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Cycle Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl; + GetLog()->fLog << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << ChargeFactor << " Charge Factor)"<< endl; + GetLog()->fLog << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl; + + +} + + +//________________________________________________________________________ +Reactor::~Reactor() +{ + + +} + +//________________________________________________________________________ +void Reactor::SetCycleTime(double cycletime) +{ + fCycleTime = (cSecond)cycletime; + + if(fFixedFuel==true) + { + fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt(fCycleTime/fEvolutionDB.GetPower()*fPower); + fBurnUp = fPower*fCycleTime/3600./24./fHeavyMetalMass; + } + else + { + fBurnUp = fPower*fCycleTime/3600./24./fHeavyMetalMass; + } +} +//________________________________________________________________________ +void Reactor::SetPower(double Power) +{ + fPower = Power; + + if(fFixedFuel==true) + { + fCycleTime = (cSecond) (fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); + fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) ); + } + else + fCycleTime = (cSecond)(fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); //BU in GWd/t + + +} +//________________________________________________________________________ +void Reactor::SetBurnUp(double BU) +{ + + fBurnUp = BU; + + if(fFixedFuel==true) + { + fCycleTime = (cSecond) (fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); + fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) ); + } + else + fCycleTime = (cSecond) (fBurnUp*1e9 / (fPower) * fHeavyMetalMass *3600*24); + +} + +//________________________________________________________________________ +void Reactor::SetEvolutionDB(EvolutionData evolutionDB) +{ + double Na = 6.02214129e23; //N Avogadro + map<ZAI ,double>::iterator it; + map<ZAI ,double> isotopicquantity = evolutionDB.GetIsotopicVectorAt(0.).GetActinidesComposition().GetIsotopicQuantity(); + double M0 = 0; + for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ ) + M0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/Na*1e-6; + fEvolutionDB = evolutionDB * (fHeavyMetalMass/M0); + + fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) ); + fIVBeginCycle = fEvolutionDB.GetIsotopicVectorAt(0); + + +} + +//________________________________________________________________________ +void Reactor::SetNewFuel(EvolutionData ivdb) +{ + + SetEvolutionDB(ivdb); + +} + +//________________________________________________________________________ +void Reactor::Evolution(cSecond t) +{ + + + if( fIsShutDown || t < GetCreationTime() ) return; // Reactor stop or not started... + + if(Norme(fInsideIV)!=0) + { +#pragma omp critical(ParcPowerUpdate) + {GetParc()->AddToPower(fPower);} + } + else if(fIsStarted==true) + { + GetLog()->fLog << "!!Warning!! !!!Reactor!!!" + << " Reactor should be working but there is no Heavy Nucleus Inside. It's not working so have a zero power..." + << " Time : "<< t/365.25/3600/24 << " years" << endl; + } + + + if( t < fInternalTime ) return; + if( t == fInternalTime && t!=GetCreationTime() ) return; + + + + if( t == GetCreationTime() && !fIsStarted) // Start of the Reactor + { + fIsAtEndOfCycle = true; + fInsideIV = fIVBeginCycle; + fInternalTime = t; + fInCycleTime = 0; + + } + + // Check if the Reactor if started ... + if(!fIsStarted) return; // If the reactor just start don't need to make Fuel evolution + + + cSecond EvolutionTime = t - fInternalTime; // Calculation of the evolution time (relativ) + + + if( EvolutionTime + fInCycleTime == fCycleTime ) //End of Cycle + { + fIsAtEndOfCycle = true; + fInternalTime += EvolutionTime; // Update Internal Time + fInCycleTime += EvolutionTime; // Update InCycleTime + + if(t >= GetCreationTime() + GetLifeTime()) // if the Next Cycle don't 'Exist... + fIsShutDown = true; + + + } + else if(EvolutionTime + fInCycleTime < fCycleTime ) // During Cycle + { + + fInternalTime += EvolutionTime; // Update Internal Time + fInCycleTime += EvolutionTime; // Update InCycleTime + + fInsideIV = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fInCycleTime/fEvolutionDB.GetPower()*fPower) ); // update the fuel composition + if(t>=GetCreationTime() + GetLifeTime()) fIsShutDown = true; + } + else + { + // This is so bad!! You will probably unsynchronize all the reactor.... + cout << "!!Warning!! !!!Reactor!!!" + << " Evolution is too long! This is a Bad way to deal the evolution of the reactor..." + << t/365.25/3600/24 << " :" << endl; + + + GetLog()->fLog << "!!Warning!! !!!Reactor!!!" + << " Evolution is too long! This is a Bad way to deal the evolution of the reactor..." + << t/365.25/3600/24 << " :" << endl; + exit(1); + } + + +} + +//________________________________________________________________________ +void Reactor::Dump() +{ + + + if(fInternalTime < GetCreationTime()) return; + if(fIsShutDown && !fIsStarted) return; // Reactor stopped... + + if(fFixedFuel ) + { + if(fIsAtEndOfCycle && !fIsShutDown ) + { + fIsAtEndOfCycle = false; + + if(fIsStarted ) // A Cycle has already been done + { + fOutBackEndFacility->AddIV(fInsideIV); + AddCumulativeIVOut(fInsideIV); + } + else fIsStarted = true; // Just start the first cycle + + if(!GetParc()->GetStockManagement() && fIsStorage ) + { + IsotopicVector BuildIVtmp ; + IsotopicVector GodPart; + + //Get The Storage Compostion + BuildIVtmp.Add(fStorage->GetInsideIV().GetIsotopicQuantity()); + //Get the rest after IVIn creation + BuildIVtmp -= fIVInCycle; + //Get the God part form this rest + GodPart.Add(BuildIVtmp.GetIsotopicQuantityNeeded()) ; + //Take what you can from Storage... + fStorage->TakeFromStock( fIVInCycle - GodPart); + //And Get the rest from God + GetParc()->AddGod(GodPart); + + } + else GetParc()->AddGod(fIVInCycle); + + + if(fNextPlan != fLoadingPlan.end()) // Check if the Fuel change + { + if(fInternalTime >= (*fNextPlan).first) + { + SetEvolutionDB((*fNextPlan).second.first); + SetBurnUp((*fNextPlan).second.second); + fNextPlan++; + } + } + fInsideIV = fIVBeginCycle; + AddCumulativeIVIn(fIVBeginCycle); + + fInCycleTime = 0; + } + else if (fIsAtEndOfCycle && fIsShutDown ) //shutdown at end of Cycle + { + + fOutBackEndFacility->AddIV(fIVOutCycle); + AddCumulativeIVOut(fIVOutCycle); + fInsideIV.Clear(); + fInCycleTime = 0; + fIsStarted = false; // shut down the Reactor + } + else if (!fIsAtEndOfCycle && fIsShutDown ) //shutdown during Cycle + { + fOutBackEndFacility->AddIV(fInsideIV); + AddCumulativeIVOut(fInsideIV); + fInsideIV.Clear(); + fInCycleTime = 0; + fIsStarted = false; // shut down the Reactor + } + } + else + { + if(!GetParc()->GetStockManagement()) + { + cout << "!!Warning!! !!!Reactor!!! Can't have unfixedFuel without stock management'" << endl; + GetLog()->fLog << "!!Warning!! !!!Reactor!!! Can't have unfixedFuel without stock management" << endl; + exit(1); + } + + + if(fIsAtEndOfCycle && !fIsShutDown ) + { + fIsAtEndOfCycle = false; + + if(fIsStarted ) // A Cycle has already been done + { + fOutBackEndFacility->AddIV(fIVOutCycle); + AddCumulativeIVOut(fIVOutCycle); + } + else fIsStarted = true; // Just start the first cycle + + SetNewFuel(fFabricationPlant->GetReactorEvolutionDB(GetId())); + fFabricationPlant->TakeReactorFuel(GetId()); + + + fInsideIV = fIVBeginCycle; + AddCumulativeIVIn(fIVBeginCycle); + + fInCycleTime = 0; + + } + else if (fIsAtEndOfCycle && fIsShutDown ) //shutdown at end of Cycle + { + fOutBackEndFacility->AddIV(fIVOutCycle); + AddCumulativeIVOut(fIVOutCycle); + fInsideIV.Clear(); + fInCycleTime = 0; + fIsStarted = false; // shut down the Reactor + } + else if (!fIsAtEndOfCycle && fIsShutDown ) //shutdown during Cycle + { + fOutBackEndFacility->AddIV(fInsideIV); + AddCumulativeIVOut(fInsideIV); + fInsideIV.Clear(); + fInCycleTime = 0; + fIsStarted = false; // shut down the Reactor + } + + + + } + + +} + + + + diff --git a/source/branches/CLASSV3/src/Storage.cxx b/source/branches/CLASSV3/src/Storage.cxx new file mode 100644 index 000000000..4222b2121 --- /dev/null +++ b/source/branches/CLASSV3/src/Storage.cxx @@ -0,0 +1,185 @@ +#include "Storage.hxx" + +#include "DecayDataBank.hxx" +#include "CLASS.hxx" +#include "LogFile.hxx" + + +#include <sstream> +#include <string> +#include <iostream> +#include <cmath> +#include <algorithm> + +//________________________________________________________________________ +// +// Storage +// +// +// +// +//________________________________________________________________________ +ClassImp(Storage) + +Storage::Storage():CLASSBackEnd() +{ + SetFacilityType(-1); + SetIsStorageType(); + SetName("S_Storage."); + +} + +Storage::Storage(LogFile* log) +{ + SetFacilityType(-1); + SetIsStorageType(); + + SetName("S_Storage."); + + SetLog(log); + cout << "!!INFO!! !!!Storage!!! A new Storage has been define." << endl; + + GetLog()->fLog << "!!INFO!! !!!Storage!!! A new Storage has been define." << endl; + +} +//________________________________________________________________________ +Storage::Storage(LogFile* log, DecayDataBank* evolutivedb) +{ + SetFacilityType(-1); + SetIsStorageType(); + + SetLog(log); + SetDecayDataBank(evolutivedb); + + SetName("S_Storage."); + + cout << "!!INFO!! !!!Storage!!! A new Storage has been define." << endl; + + GetLog()->fLog << "!!INFO!! !!!Storage!!! A new Storage has been define." << endl; + + +} + +//________________________________________________________________________ +Storage::~Storage() +{ + + +} + +//________________________________________________________________________ +void Storage::AddIV(IsotopicVector isotopicvector) +{ + + AddCumulativeIVIn(isotopicvector); + + if(GetParc()->GetStockManagement() ) + fIVArray.push_back(isotopicvector); + AddToFullStock(isotopicvector); + +} + +//________________________________________________________________________ +void Storage::TakeFractionFromStock(int IVId,double fraction) +{ + + if(GetParc()->GetStockManagement() ) + { + if(fraction > 1 || fraction < 0) + { + cout << "!!Warning!! !!!Storage!!! You try to remove fraction superior than 1 or a negative one..." << endl; + GetLog()->fLog << "!!Warning!! !!!Storage!!! You try to remove fraction superior than 1 or a negative one..." << endl; + } + else + { + AddCumulativeIVOut(fIVArray[IVId]*fraction); + + fInsideIV -= fIVArray[IVId]*fraction; + fIVArray[IVId] = fIVArray[IVId]*(1-fraction); + } + + } + else + { + cout << "!!Warning!! !!!Storage!!! TakeFractionFromStock can't be DEFINE without REAL stock management" << endl; + GetLog()->fLog << "!!Warning!! !!!Storage!!! TakeFractionFromStock can't be DEFINE without REAL stock management" << endl; + exit(1); + + } + + + +} + +void Storage::TakeFromStock(IsotopicVector isotopicvector) +{ + + if(GetParc()->GetStockManagement() == false) + { + + AddCumulativeIVOut(isotopicvector); + fInsideIV -= isotopicvector; + } + else + { + cout << "!!Warning!! !!!Storage!!! TakeFromStock can't be DEFINE WITH REAL stock management" << endl; + GetLog()->fLog << "!!Warning!! !!!Storage!!! TakeFromStock can't be DEFINE WITH REAL stock management" << endl; + exit(1); + } + +} + +//________________________________________________________________________ +void Storage::StorageEvolution(cSecond t) +{ + + + if(t == fInternalTime && t !=0 ) return; + + for(int i = (int)fIVArray.size()-1 ; i >=0; i--) //Removing empty Stock + if(Norme(fIVArray[i]) == 0) + fIVArray.erase(fIVArray.begin()+i); + + + + int EvolutionTime = t - fInternalTime; + + fInsideIV = GetDecay(fInsideIV , EvolutionTime); + +#pragma omp parallel for + for (int i=0; i <(int) fIVArray.size() ; i++) + { + fIVArray[i] = GetDecay(fIVArray[i] , EvolutionTime); + } + + + + +} + +//________________________________________________________________________ +void Storage::Evolution(cSecond t) +{ + + // Check if the Storage has been created ... + if(t == fInternalTime && t!=0) return; + // Make the evolution for the Storage ... + StorageEvolution(t); + // ... And Finaly update the AbsoluteInternalTime + fInternalTime = t; + + + +} + +void Storage::Write(string filename, cSecond date) +{ + + for(int i=0;i < (int)fIVArray.size(); i++) + { + + fIVArray[i].Write(filename, date); + } + +} + diff --git a/source/branches/CLASSV3/src/ZAI.cxx b/source/branches/CLASSV3/src/ZAI.cxx new file mode 100755 index 000000000..4f795aa55 --- /dev/null +++ b/source/branches/CLASSV3/src/ZAI.cxx @@ -0,0 +1,59 @@ +#include "ZAI.hxx" + +//const string DEFAULTDATABASE = "DecayBase.dat"; +//________________________________________________________________________ +// +// ZAI +// +// +// +// +//________________________________________________________________________ +//____________________________InClass Operator____________________________ +//________________________________________________________________________ +ClassImp(ZAI) + +ZAI ZAI::operator=(ZAI IVa) +{ + fZ = IVa.Z(); + fA = IVa.A(); + fI = IVa.I(); + return *this; +} + + + +ZAI::ZAI() +{ + + fName=""; + fZ=0; + fA=0; + fI=0; + fMass=0; + +} +ZAI::~ZAI() +{ + +} + +//________________________________________________________________________ +ZAI::ZAI(int Z, int A, int I) +{ + + fZ=Z; + fA=A; + fI=I; + +} + +//________________________________________________________________________ +double ZAI::GetMass() +{ + + return fMass; +} + +//________________________________________________________________________ + diff --git a/source/branches/CLASSV3/src/ZAIMass.cxx b/source/branches/CLASSV3/src/ZAIMass.cxx new file mode 100644 index 000000000..e44d880af --- /dev/null +++ b/source/branches/CLASSV3/src/ZAIMass.cxx @@ -0,0 +1,44 @@ +#include "ZAIMass.hxx" +#include "CLASSHeaders.hxx" + //________________________________________________________________________ + // + // ZAI + // + // + // + // + //________________________________________________________________________ + //____________________________InClass Operator____________________________ + //________________________________________________________________________ + + +ZAIMass::ZAIMass() +{ + string CLASSPATH = getenv("CLASS_PATH"); + string MassDataFile = CLASSPATH +"/source/data/Mass.dat"; + ifstream infile(MassDataFile.c_str()); + if(!infile.good()) + { + cout<<"ZAIMass Error.\n can't find/open file "<<MassDataFile<<endl; + exit(1); + } + + int Z,A; + string Name; + double MassUnity,MassDec,error; + while (infile>>Z>>A>>Name>>MassUnity>>MassDec>>error) + { + double Masse=MassUnity+MassDec*1e-6; + fZAIMass.insert( pair< ZAI,double >( ZAI(Z,A,0), Masse ) ); + } + + infile.close(); + +} + + +ZAIMass::~ZAIMass() +{ + fZAIMass.clear(); +} + -- GitLab