SIMP Home Page
SIMP is a Python environment for high-performance cellular and lattice gas automata computing.News
Wed Jan 26 14:33:16 EST 2005 simp-0.6.9 released.- supports non-orthogonal geometries and rendering
- supports integer and floating point data
- a complete rewrite of STEP 0.5. (and a near complete rewrite of SIMP 0.6.0)
- runs on linux and windows
Documentation
- SIMP Manual [ps, pdf]
- Example code Examples.tgz
Download
There are two options for downloading SIMP and its dependencies:- Download SIMP and its dependencies from our distribution directory.
- Download files separately from their project home pages.
Install
Windows and Linux/RPM: binary installations
- Download the dependencies and install them in order (Python, Numeric, numarray, and then pygame). (Skip if already installed.)
- Install the simp binary package.
Get it from the distribution directory (.exe for windows or .rpm for linux). Be sure to choose a file that matches whatever python version you have installed.
Unix/non-rpm linux: Building simp
- Find and install the dependencies,
- download the simp source .tar.gz file from the distribution directory,
- follow the directions in 'README.txt'. (You probably just need to run python setup.py install)
Dependencies
For convenience, we redistribute all dependencies (except Python) in the distribution directory as sources, RPMS (FedoraCore1/Python2.2 and FedoraCore3/Python2.3), and Windows installers (Python 2.3). However, we provide links to the associated project pages for those who require the most up-to-date sources. The SIMP project page is http://sourceforge.net/projects/simpstep. SIMP depends on Python andTesting
SIMP has a built-in test module. To invoke it, just start python and at the command prompt enter
>>> import simp.test
>>> simp.test.test()
If any errors are encountered, definitely send them to me, tbach@bu.edu. In the alpha testing phase, it would be helpful if you sent the test result file even if there are no errors---just so I get an idea of which systems currently work.
Support
To submit bugs and requests please use sourceforge tracker tool. To get help or discuss development issues, please use the sourceforge forums.Contributing
We are always looking for suggestions to improve our code and faster backend STEP implementations. See the developer section of the SIMP manual and the simpstep project page on sourceforge for more ideas on how to contribute.Questions and Answers
How do I run PcCodeGen on a Windows system?
PcCodeGen generates and compiles C code on-the-fly. As such it requires that the system have a C compiler and that distutils---a Python facility for building Python extensions in C---know about it.By default, most Linux/Unix systems already have gcc (the GNU C compiler) installed and distutils will use it automatically.
On most Windows systems, there is not a compiler installed by default, so you'll have to install one yourself.
MSVC (The easy route)
If you install the Microsoft Visual C compiler (freely available from Microsoft as part of their .net sdk) distutils will use it automatically.You may have to make sure that the compiler executable appears in the user's path.
GCC (The route for Unix Geeks in living in Windows)
I like to install GCC (with Mingw) as part of the Cygwin package using the handy installers from cygwin.org.To use cygwin, you will need include the path to gcc in your user's path and tell distutils that it should use the mingw32 native windows libraries options by creating a file called pydistutils.cfg in your user home directory containg the following lines (left justified):
[build]
compiler=mingw32
If you did not use the cygwin installer (eg. you just installed mingw32), you may also need to make sure that gcc appears in your path. You can do this in Windows XP as follows
- Right-click My Computer, and then click Properties.
- Click the Advanced tab.
- Click Environment variables.
- Click one the following options, for either a user or a system variable:
- Click New to add a new variable name and value.
- Click an existing variable, and then click Edit to change its name or value.
- Click an existing variable, and then click Delete to remove it.
Other compilers (Who does this?)
You may be able to use other compilers such as Borland. To use them, you will just need to make sure that distutils knows about them---you can find a list of supported compilers by running the following Python code
import distutils.ccompiler
print distutils.ccompiler.show_compilers()
How do I run PcCodeGen on a Mac OS X system?
Well, you've got me there!In Windows, the SIMP console seems not to work---when it comes up, the viewable area just has a copy of the screen that used to be under it. What should I do?
I have only seen this problem once. I was able to fix it by changing the color mode from 32 to 16 bits.When it occured, it affected all pygame/SDL applications I tried to run on the system. (FYI: SIMP uses pygame---a python interface to the SDL, simple directmedia layer,---in order to provide the console's viewable screen.) After Googling, I have found similar reports on the web, but was not able to find a conclusive solution---a few mentioned that the system video driver was likely to blame. Failing to find a better/newer driver for my Acer Aspire 3610's Moble Intel 915/GMS,910GML Express Chipset Family video hardware, I tried changing the color mode and was happily rewarded with a working SIMP console.
Why is there a lag between pressing a command and getting a response?
This is an artifact of threading. The console and STEP live in separate threads.Copyright (C) 2005 Ted Bach, BU Programmable Matter Group;