What is GarlicSim?
GarlicSim is an ambitious open-source project in the field of scientific computing, specifically computer simulations. It attempts to redefine the way that people think about computer simulations, making a new standard for how simulations are created and used.
GarlicSim is a platform for writing, running and analyzing simulations. It is general enough to handle any kind of simulation: Physics, game theory, epidemic spread, electronics, etc.
When you're writing a simulation, about 90% of the code you write is boilerplate; Code that isn't directly related to the phenomenon you're simulating, but is necessary for your simulation to work. The aim of GarlicSim is to write that 90% of the code once and for all, and to do it well, so you could concentrate on the important 10%.
The beauty is that since so many simulation types can fit into this mold of a simpack, the tools that GarlicSim provides can be used across all of these different domains. Once you plug your own simpack into GarlicSim, you're ready to roll. All the tools that GarlicSim provides will work with your simulation.
Additionally, GarlicSim will eventually be shipped with a standard library of simpacks for common simulations, that the user may find useful to use as-is, or with his own modifications.
GarlicSim itself is written in pure Python. The speed of simulations is mostly dependent on the simpack's performance - So it is possible to use C code in a simpack to make things faster.
Roadmap
Present: Garlicsim is at version 0.5, which is an alpha release. It is still experimental, and there are probably many bugs. If you run into any trouble, let us know immediately in the mailing list. At this experimental stage of the project, backward compatibility will not be maintained. However, I will be available to assist in issues related to backward compatibility.
Near future: GarlicSim 0.6 will be released before the end of 2010. Planned features: Crunching on the cloud using PiCloud, a Mayavi-based physics simpack, and an all-in-one installer for Mac.
Future: A version of GarlicSim ready for use by non-Python-savvy scientists will be ready by the end of 2012.
Core and GUI
The GarlicSim project contains two packages, garlicsim, which is the core logic, and garlicsim_wx, which is the wxPython-based GUI.
The garlicsim
package is the important one, and its code is well-organized and very readable. It is distributed under the LGPL2.1 license.
garlicsim_wx
is in a far less mature state than garlicsim. Also, it is not licensed as open source. (Though the source code is completely available and not obfuscated.) I have not yet decided if the GUI will be developed as an open source project or as commercial software, so in the meantime it is officially closed source.
If you require an official license, contact me and I'll probably give you one.
Both packages are copyright 2009-2010 Ram Rachum.