worked example: fission-uranium
description:
another example of consume-reaction()
this time a toy example of fissioning uranium 235
code:
-- would also be nice to have |MeV> in these rules too:
fission-channel-1 |U: 235> => |Ba: 141> + |Kr: 92> + 3|n>
fission-channel-2 |U: 235> => |Xe: 140> + |Sr: 94> + 2|n>
fission-channel-3 |U: 235> => |La: 143> + |Br: 90> + 3|n>
fission-channel-4 |U: 235> => |Cs: 137> + |Rb: 96> + 3|n>
fission-channel-5 |U: 235> => |I: 131> + |Y: 89> + 16|n>
-- a more realistic example would have probabilities, as coefficients, for each of the channels.
list-of-fission-channels |U: 235> => |op: fission-channel-1> + |op: fission-channel-2> + |op: fission-channel-3> + |op: fission-channel-4> + |op: fission-channel-5>
fission |*> #=> apply(weighted-pick-elt list-of-fission-channels |_self>, |_self>)
fission-uranium-235 (*) #=> consume-reaction(|_self>, |n> + |U: 235>, fission |U: 235>)
examples:
fission |U: 235>
|Xe: 140> + |Sr: 94> + 2|n>
fission |U: 235>
|La: 143> + |Br: 90> + 3|n>
fission |U: 235>
|I: 131> + |Y: 89> + 16|n>
fission-uranium-235 (|n> + 10|U: 235>)
9|U: 235> + |Cs: 137> + |Rb: 96> + 3|n>
fission-uranium-235^50 (|n> + 100|U: 235>)
50|U: 235> + 12|Ba: 141> + 12|Kr: 92> + 237|n> + 11|I: 131> + 11|Y: 89> + 7|Xe: 140> + 7|Sr: 94> + 12|La: 143> + 12|Br: 90> + 8|Cs: 137> + 8|Rb: 96>
source code:
load fission-uranium.sw
Home