Download Latest Version pycx-0.32.zip (87.1 kB)
Email in envelope

Get an email when there's a new version of PyCX

Home / PyCX-0.2
Name Modified Size InfoDownloads / Week
Parent folder
README.txt 2012-06-05 3.9 kB
pycx-0.2.zip 2012-06-05 25.6 kB
realtime-simulation-template.py 2012-06-03 1.4 kB
pycxsimulator.pyc 2012-06-03 3.7 kB
net-networkxdemo2.py 2012-06-03 1.5 kB
net-synchronization.py 2012-06-03 1.8 kB
pycxsimulator.py 2012-06-03 3.2 kB
net-networkxdemo1.py 2012-06-03 2.9 kB
net-epidemics-parametersweep.py 2012-06-03 2.6 kB
net-majority.py 2012-06-03 1.5 kB
net-networkgrowth.py 2012-06-03 1.6 kB
net-cascade-of-failure.py 2012-06-03 1.8 kB
net-epidemics.py 2012-06-03 2.0 kB
ds-lotka-volterra.py 2012-06-03 792 Bytes
misc-fileio.py 2012-06-03 392 Bytes
ds-euler-forward-method.py 2012-06-03 426 Bytes
ds-logistic.py 2012-06-03 316 Bytes
ds-bifurcationdiagram.py 2012-06-03 597 Bytes
ds-cobwebplot.py 2012-06-03 684 Bytes
ca-majority.py 2012-06-03 1.6 kB
ca-turing.py 2012-06-03 1.6 kB
ca-forestfire.py 2012-06-03 1.5 kB
ca-GoL.py 2012-06-03 1.5 kB
ca-hostpathogen.py 2012-06-03 1.8 kB
ca-excitablemedia.py 2012-06-03 1.6 kB
abm-randomwalk.py 2012-06-03 956 Bytes
ca-droplet.py 2012-06-03 1.5 kB
abm-predatorprey-withplot.py 2012-06-03 3.9 kB
abm-predatorprey.py 2012-06-03 3.5 kB
abm-ants-pheromone.py 2012-06-03 2.8 kB
abm-DLA.py 2012-06-03 2.0 kB
abm-ants.py 2012-06-03 2.0 kB
Totals: 32 Items   83.0 kB 0
######################################################################
######################################################################
##
## PyCX 0.2
## Complex Systems Simulation Sample Code Repository
##
## 2008-2012 (c) Copyright by Hiroki Sayama
## 2012 (c) Copyright by Chun Wong & Hiroki Sayama
##          ("pycxsimulator.py", "realtime-simulation-template.py")
## All rights reserved
##
## Send any correspondences to:
##   Hiroki Sayama, D.Sc.
##   Associate Professor, Departments of Bioengineering &
##   Systems Science and Industrial Engineering
##   Binghamton University, State University of New York
##   P.O. Box 6000, Binghamton, NY 13902-6000, USA
##   Tel: +1-607-777-4439  Fax: +1-607-777-5780
##   Email: sayama@binghamton.edu
##
## http://pycx.sf.net/
##
######################################################################
######################################################################


1. What is PyCX?

The PyCX Project aims to develop an online repository of simple,
crude, yet easy-to-understand Python sample codes for dynamic complex
systems simulations, including iterative maps, cellular automata,
dynamical networks and agent-based models. You can run, read and
modify any of its codes to learn the basics of complex systems
simulation in Python.

The target audiences of PyCX are researchers and students who are
interested in developing their own complex systems simulation software
using a general-purpose programming language but do not have much
experience in computer programming.

The core philosophy of PyCX is therefore placed on the simplicity,
readability, generalizability and pedagogical values of simulation
codes. This is often achieved even at the cost of computational speed,
efficiency or maintainability. For example, PyCX does not use
object-oriented programming paradigms, it does use global variables
frequently, and so on. These choices were intentionally made based on
our experience in teaching complex systems modeling and simulation to
non-computer scientists.


2. What's new in version 0.2?

There are several major improvements made in PyCX 0.2, as described
below:

* A new "pycxsimulator.py" was developed (thanks to Chun Wong, a
  student research assistant at Binghamton University) for real-time
  dynamic simulation of cellular automata, dynamical networks and
  agent-based models. This code implements a much more robust GUI than
  the previous version. See "realtime-simulation-template.py" and some
  of the sample simulation codes to learn how to use it.

* The following prefixes are added to file names so that the type of
  simulation is clearer:
    - "ds-" (classical dynamical systems)
    - "ca-" (cellular automata)
    - "net-" (networks)
    - "abm-" (agent-based models)
    - "misc-" (other)

* Several new sample simulation codes were added, including:
    - "ds-logistic.py" (simple logistic map)
    - "ds-lotka-volterra.py" (drawing phase space of Lotka-Volterra
      equations)
    - "ca-majority.py" (majority rule cellular automata)
    - "net-cascade-of-failure.py" (cascade of failure on a network)
    - "net-synchronization.py" (synchronization of the Kuramoto model
      on a network)

* All the codes were thoroughly reviewed and revised to improve their
  readability and generalizability.


3. How to use it?

(i) Install Python 2.7, NumPy, SciPy, matplotlib and NetworkX.
Installers are available from the following websites:
  http://python.org/
  http://scipy.org/
  http://matplotlib.sf.net/
  http://networkx.lanl.gov/

(ii) Choose a PyCX sample code of your interest.

(iii) Run it. This should be just double clicking the file in most cases.

(iv) Read the code to learn how the simulation was implemented.

(v) Change the code as you like.


Questions? Comments? Send them to sayama@binghamton.edu.
Source: README.txt, updated 2012-06-05