def worker(sim_index_tup):
    """Worker for multiprocessing of cases.

    :param sim_index_tup:
        Tuple containing the MultiSimulationCase object to be run and
        the index of current case for status messages.
    :return res:
        List of simulation results.
    """

    sim, index = sim_index_tup
    sim.run_simulation()

    # store results
    if sim.keywords.get('eqRatio') is None:
        res = [sim.ignition_time,
               sim.keywords['pressure'],
               sim.keywords['temperature']]
    else:
        # store equivalence ratio if possible
        res = [sim.ignition_time,
               sim.keywords['pressure'],
               sim.keywords['temperature'],
               sim.keywords['eqRatio']]

    print('Done with ' + str(index))

    return res