Hello all,
In the most recent version of OpenMC, the transfer rate functionality is implemented as a dictionary with the string source material index as the key, and a dictionary as the value. Within the value dictionary, the key is the string element symbol and the value is a tuple of the rate and destination material.
I think this may be more effective modified slightly, as currently users cannot have transfer rates from a single material lead to more than one destination. If this is attempted using set_transfer_rate
or add_transfer_rate
, it will simply overwrite the previous value. I’ve given a brief demonstration of what this looks like in the integrator.transfer_rates.transfer_rates
variable.
{'2': {'Xe': (0.1, '4')}, '3': {}, '4': {'Xe': (4e-05, '3')}}
{'2': {'Xe': (0.1, '4')}, '3': {}, '4': {'Xe': (0.05, '2')}}
In this example, I would like xenon to be transferred from material 4 to both material 3 and material 2 simultaneously. Additionally, in this case, I cannot add the rates together and just use one destination material, as that would not provide the behavior I seek.
One way to implement this that seems the most straightforward to me would be to change the tuple into a list of tuples, as demonstrated below.
{'2': {'Xe': [(0.1, '4')]}, '3': {}, '4': {'Xe': [(4e-05, '3'), (0.05, '2')]}}
Has anyone already looked into implementing this?