def fission_processes_to_rates(process_list):
    """
    Define linear fission processes between compartments.

    Parameters
    ==========

    process_list : :obj:`list` of :obj:`tuple`
        A list of tuples that contains fission rates in the following format:

        .. code:: python

            [
                (source_compartment, rate, target_compartment_0, target_compartment_1 ),
                ...
            ]

    Example
    -------

    For pure exponential growth of compartment `B`.

    .. code:: python

        epi.set_fission_processes([
            ("B", growth_rate, "B", "B" ),
        ])

    """

    linear_rates = []

    for source, rate, target0, target1 in process_list:

        _s = source
        _t0 = target0
        _t1 = target1

        # source compartment loses an entity
        # target compartments gains one each
        linear_rates.append((_s, _s, -rate))
        linear_rates.append((_s, _t0, +rate))
        linear_rates.append((_s, _t1, +rate))

    return linear_rates