.. _fission-settings: Fission settings: explaining the need to increase ``ICHAIN`` ------------------------------------------------------------ While new fission libraries have restored DCHAIN’s ability to handle fission calculations, in order to get correct results one must be very careful about selection of ``ICHAIN``. This section seeks to illustrate this through an example featuring a 3.888 mg sample of :math:`^{248}`\ Cm (assumed to occupy a 1 cm\ :math:`^3` cube for simplicity), calculating the theoretical total fission product yield and then comparing that value to those produced by DCHAIN for various values of ``ICHAIN``, demonstrating that this value typically needs to be increased for best results in systems containing fission reactions. This will be done for cases of spontaneous fission and induced fission separately followed by both modes simultaneously. In these discussions, the inventory of fission product atoms (FPA) will be counted as nuclides with A between 60 and 180, as reported in the summary tables in DCHAIN’s ``*.act`` file. Spontaneous fission: ~~~~~~~~~~~~~~~~~~~~ :math:`^{248}`\ Cm has a half-life of 347,930 years with a spontaneous fission decay branching ratio of 8.39%. This 3.888 mg sample contains :math:`9.44014 \times 10^{18}` atoms of :math:`^{248}`\ Cm, which, when multiplied by its decay constant of :math:`6.313 \times 19^{-14}` sec\ :math:`^{-1}`, results in an activity of 595.9 kBq. For simplicity, let’s look at the number of fission product atoms produced by 1 second of decay. Multiplying this activity by time and branching ratio, we expect to see 50,000 spontaneous fission reactions occur. Since each fission results in the production of two new nuclei, we would expect this to produce 100,000 fission product atoms (FPA). This calculation is done in a standard DCHAIN standalone calculation with ``jmode``\ ``= -1`` (decay only), ``ifisyd``\ ``= 2`` (enabling both spontaneous and induced fission), and all other values left at their PHITS-recommended default values. Of relevance here, ``infylib``\ ``= 17`` and ``isfylib``\ ``= 1`` (adopting the same library source for spontaneous fissions as induced fissions, same as just setting ``isfylib``\ ``= 17``) are set, and the default values of ``ichain``\ ``= 100`` and ``ilchain``\ ``= 100`` are used for now. When this is ran, however, the value reported in the “``(A=60-180:all)``” row of the summary table in the ``*act`` output file is only 99076, nearly a percent less than the value expected. This is because the network of possible unique decay chains/pathways resulting in the production of each nuclide expands dramatically when fission is an allowed mechanism. Thus, the ``ichain`` input parameter needs to be increased; since the length (complexity) of the production chains isn’t increasing dramatically, ``ilchain`` can be left at its already conservative default value of 100. The number of fission product nuclides created and its deviation from the theoretical value for various values of ``ichain`` are shown below in :numref:`sf-nfps`. .. _sf-nfps: .. table:: :math:`^{248}`\ Cm spontaneous fission product yield for various ``ICHAIN`` values ========== ============== ============================== ``ichain`` Number of FPAs Percent difference from theory ========== ============== ============================== 100 99076.1 -0.92% 120 99159.0 -0.84% 150 99329.6 -0.67% 200 99685.3 -0.31% 300 99894.0 -0.11% 500 100018.0 0.02% 1000 100055.0 0.05% 5000 100080.0 0.08% 10000 100080.0 0.08% 50000 100080.0 0.08% ========== ============== ============================== In this case, the noticeable pathways influencing total fission product yield were not exhausted until some ``ichain`` value between 1000 and 5000, though the ones of most significance were included by ``ichain`` :math:`\approx` 300 to 500. This highlights the importance of increasing ``ichain`` from its default value even for simple spontaneous fission scenarios. Neutron induced fission: ~~~~~~~~~~~~~~~~~~~~~~~~ With the same example problem, 3.888 mg of pure :math:`^{248}`\ Cm, we can study induced fission as well. In this case, the sample is bombarded by a 14.1 MeV neutron flux of :math:`2.3374 \times 10^9` n/cm\ :math:`^2`/sec, and we can look as the number of fission product atoms produced through induced fission after one second of irradiation. The total fission cross section of :math:`^{248}`\ Cm at 14.1 MeV is 2.266 barns. Thus, the product of the target atom density (:math:`9.44014 \times 10^{18}` atoms/cm\ :math:`^3`), fission cross section (:math:`2.266\times10^{-24}` cm\ :math:`^2`), neutron flux (:math:`2.3374 \times 10^9` n/cm\ :math:`^2`/sec), and volume (1 cm\ :math:`^3`) results in an expected fission rate of 50,000 fission reactions per second. This would result in 100,000 fission product atoms (FPA) produced in this 1 second interval. [T-Dchain] was used to generate the DCHAIN input files here. The default ``jmode``\ ``= 2`` (decay, neutron reactions, and higher-energy production/destruction considered) is used. To only look at neutron induced fissions for now, ``ifisyd``\ ``= 1`` (enabling only induced fission) is set, and all other values are left at their PHITS-recommended default values. The default values of ``ichain``\ ``= 100`` and ``ilchain``\ ``= 100`` are used for now. Running DCHAIN with these settings, the ``*.act`` file’s summary table lists the number of fission product atoms at 98410, over 1.5% lower than expected. Once again, this is due to the number of reaction channels/pathways producing each nuclide becoming much larger. This effect is greater in the case of induced fission as the neutron activation occurring simultaneously is also greatly expanding the number of pathways leading to each nuclide too. The actinides can transmute into each other, resulting in an array of nuclides which can undergo induced fission to produce the various fission products, which, furthermore, can undergo neutron transmutation reactions themselves. Similar to earlier, the value of ``ichain`` is increased while keeping ``ilchain``\ ``= 100`` constant; studying the produced ``*.dcs`` file illustrates that none of the chains are long enough to warrant increasing ``ilchain`` further. The number of fission product nuclides created and its deviation from the theoretical value for various values of ``ichain`` are shown in :numref:`nf-nfps`. .. _nf-nfps: .. table:: :math:`^{248}`\ Cm induced fission product yield for various ``ICHAIN`` values ========== ============== ============================== ``ichain`` Number of FPAs Percent difference from theory ========== ============== ============================== 100 98410.0 -1.59% 120 98421.7 -1.58% 150 98425.5 -1.57% 200 99641.0 -0.36% 300 99881.5 -0.12% 500 99991.0 -0.01% 1000 99992.1 -0.01% 5000 100032.0 0.03% 10000 100244.0 0.24% 50000 100996.0 1.00% ========== ============== ============================== In this case, increasing ``ichain`` to 300 to 500 is seemingly enough to account for most of the missing fission product production pathways; however, the total yield does not seem to converge to a constant value by an ``ichain`` value of 50000. As one may imagine, ``ichain`` does have an impact on performance, and a simulation with ``ichain``\ ``= 50000`` will take considerably longer than one with ``ichain``\ ``= 500``. If using very high ``ichain`` values, one may encounter errors related to insufficient memory; the memory requirement of a simulation scales with both ``ichain`` and ``ilchain``. The ``*.dcs`` file illustrates all of the reaction chains of significance meeting the thresholds set by ``ACMIN`` and ``CHRLVTH``, and in this case it shows that all chains have much fewer than 100 links. Thus, ``ilchain`` could be safely set to a smaller value, freeing up some memory for higher values of ``ichain``. This should be taken into consideration when running induced fission simulations in DCHAIN. Getting quite close to the right answer is fairly simple and often does not require setting ``ichain`` beyond 1000; however, there could be additional reaction chains not being accounted for that would contribute a small amount to the fission product inventory. Simultaneous spontaneous and neutron induced fission: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To incorporate the effect of spontaneous fission as well, we just need to set ``ifisyd``\ ``= 2`` again. For the sake of demonstration, the default values of ``ichain``\ ``= 100`` and ``ilchain``\ ``= 100`` are restored. In this 1-second window, we will expect to see 50,000 spontaneous fission reactions and 50,000 induced fission reactions, resulting in a total of 200,000 fission product atoms (FPAs). However, running this simulation results in only 104251 fission product atoms, barely half of the expected value. So, what is happening? We are seeing the effect of a vastly expanded array of possible reaction pathways to each of the fission products. The induced fission and spontaneous fission mechanisms are competing for the finite ``ichain`` reaction chains available per nuclide in DCHAIN. Within DCHAIN, the decay libraries, and thus spontaneous fission yields too, are handled before the cross sections and induced fission yields. In this specific example, most of the 100 allotted chains are being utilized for pathways involving spontaneous fission, not leaving enough for induced fission. This is remedied simply by increasing ``ichain`` as shown in :numref:`tf-nfps`. .. _tf-nfps: .. table:: :math:`^{248}`\ Cm induced and spontaneous fission product yield for various ``ICHAIN`` values ========== ============== ============================== ``ichain`` Number of FPAs Percent difference from theory ========== ============== ============================== 100 104251.0 -47.87% 120 131522.0 -34.24% 150 176801.0 -11.60% 200 198311.0 -0.84% 300 199088.0 -0.46% 500 199780.0 -0.11% 1000 199958.0 -0.02% 5000 199993.0 0.00% 10000 200104.0 0.05% 50000 200712.0 0.36% ========== ============== ============================== In this case, ``ichain``\ ``= 1000`` seems to achieve a very close answer. Thus, as a compromise between accuracy and run time, the general recommendation is to initially set ``ichain`` around 500 to 1000 for any simulation containing fissioning nuclides. Slightly more accurate results may be obtained with higher values of ``ichain``, though this is dependent on the individual problem. Since this limitation only arises in simulations containing fissioning nuclides, the default value of ``ichain`` is set at 100 for the sake of improving performance for the more common neutron activation calculations without fission.