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