rdex: prune dead code, TODO list
[rdex:client.git] / README
1 rdex -- reaction-diffusion explorer
2 ===================================
3
4 What Is This All About?
5 -----------------------
6
7 A kind of continuous non-linear cellular automaton, based on solution of
8 partial differential equations representing chemistry of two reagents
9 involving reaction and diffusion:
10
11     dU/dt = ru * L(U) - UVV + f * (1 - U)
12     dV/dt = rv * L(V) + UVV - (f + k) * V
13
14 where:
15
16     L(x) = Laplacian operator
17     ru   = diffusion parameter for U
18     rv   = diffusion parameter for V
19     f    = some coupling parameter
20     l    = another coupling parameter
21
22 This gives a 4D parameter space:
23
24     p = (ru, rv, f, k)
25
26 What rdex does is to explore this parameter space to try and find the
27 "interesting" values.  It labels each point (in 4D space) as follows:
28
29     uniform => the reaction decays into uninteresting flatness
30     stable  => the reaction decays into a static pattern
31     dynamic => the reaction seems to have an ever changing pattern
32     erratic => the numerical process blew up
33
34 Initially rdex explores completely at random.  When it finds some point
35 of interest (a reaction with "stable" or "dynamic" behaviour), rdex
36 looks at points nearby.  When the next nearby point is uninteresting
37 (a reaction with "uniform" or "erratic" behaviour), rdex goes back to
38 exploring completely at random.  (FIXME: this paragraph is misleading)
39
40
41 Usage
42 -----
43
44   $ cd src          # source files are in here
45   $ make rdex       # build the program
46   $ ./rdex          # run the program
47
48
49 Hardware Requirements
50 ---------------------
51
52   * Faster GPU preferred
53   * GLSL fragment shader support
54
55
56 Software Requirements
57 ---------------------
58
59   * Linux (maybe works on other OS's too)
60   * C compiler (gcc assumed), bash shell, sed
61   * OpenGL development files: GL/GLU/GLUT/GLEW
62   * Accelerated 3D drivers
63
64
65 Tested Machines
66 ---------------
67
68 I only have 1 machine with a good OpenGL GPU:
69
70   * Intel(R) Pentium(R) M processor 1.60GHz
71   * ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
72   * GNU/Linux | Debian/Lenny | pure:dyne
73   * "evilblob" fglrx driver supporting OpenGL 2.1.7769
74   * gcc (Debian 4.3.2-1) 4.3.2
75
76 On this machine rdex analyzes a species about once every 4 seconds.
77
78 Test reports (whether succesful or not) are very welcome!
79
80
81 Legal
82 -----
83
84 rdex -- reaction-diffusion explorer
85 Copyright (C) 2008  Claude Heiland-Allen <claudiusmaximus@goto10.org>
86
87 This program is free software: you can redistribute it and/or modify
88 it under the terms of the GNU General Public License as published by
89 the Free Software Foundation, either version 3 of the License, or
90 (at your option) any later version.
91
92 This program is distributed in the hope that it will be useful,
93 but WITHOUT ANY WARRANTY; without even the implied warranty of
94 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
95 GNU General Public License for more details.
96
97 You should have received a copy of the GNU General Public License
98 along with this program.  If not, see <http://www.gnu.org/licenses/>.
99