background preloader

Simulation

Facebook Twitter

Charming Python: SimPy simplifies complex models. I learned of the SimPy package when I was contacted by one of its creators, Klaus Müller. Dr. Müller had read the Charming Python installments that presented techniques for using Python 2.2+ generators to implement semi-coroutines and "weightless" threads. In particular -- and much to my gratification -- he found that these techniques were useful for implementing Simula-67 style simulations in Python.

It turned out that Tony Vignaux and Chang Chui had previously created another Python library that was conceptually closer to Simscript, and that used standard threading rather than my semi-coroutine technique. Working together, the group determined that the generator-based style was much more efficient and recently launched a GPL'd project on SourceForge, called SimPy (see Resources for a link to the SimPy home page), currently at beta status. Prior to my recent correspondence and investigation, I admit I had no background in simulation as a programming field. Simulation concepts #! The breve Simulation Environment | breve. Research Papers of Manuel Chakravarty. Gabriele Keller, Hugh Chaffey-Millar, Manuel M. T. Chakravarty, Don Stewart, and Christopher Barner-Kowollik. In Proceedings of the Tenth International Symposium on Practical Aspects of Declarative Languages (PADL 08)pp 116--132, LNCS 4902, Springer-Verlag, 2008. (This is a thoroughly revised and updated version of Generative Code Specialisation for High-Performance Monte-Carlo Simulations.)

Abstract We address the tension between software generality and performance in the domain of simulations based on Monte-Carlo methods. We evaluated our approach by implementing a simulator for advanced forms of polymerisation kinetics. PDF (17 pages) Project website with source code and a companion paper focusing on the chemistry side of the research. This page is part of Manuel Chakravarty's WWW-stuff. Simpy. [cond-mat/0208273] Co-evolutionary games on networks. Design of object-oriented simulations in C++ Types of Simulation.