sonntagsgesicht/timewave

View on GitHub
HOWTO.rst

Summary

Maintainability
Test Coverage

setup simulation by

::

    engine = Engine(Producer(), Consumer())
    engine.run(range(20))

then run loop starts by

::

    producer/initialize()

setup workers (by default by the number of cpu's) on each worker start
loop by

::

    producer/consumer.initialize_worker()

and invoke loop over paths and start again with

::

    producer/consumer.initialize_path()

then do time evolution of a path

::

    producer.evolve() / consumer.consume()

and finish with last consumer in consumer stack

::

    consumer[-1].finalize_path()

and

::

    consumer[-1].finalize_worker()

put results into queue and take them out by

::

    consumer[-1].put()/get(result)

finish simulation (kind of reduce method)

::

    consumer[-1].finalize()

before returning results from run.