Rule:DLA
@RULE DLA
@TABLE
- HPP Lattice gas
- J. Hardy, O. de Pazzis, and Y. Pomeau (1973) J. Math. Phys. 14, 470.
- The earliest lattice gas model. Later made obsolete by the FHP gas on
- a hexagonal lattice, which has better physical properties.
- States following http://pages.cs.wisc.edu/~wylie/doc/PhD_thesis.pdf
- Each cell can contain up to 4 particles, each moving in one of the four directions.
- Outgoing directions SENW map onto 4 bits, so W=0001=1, SEW=1101=13, etc.
- Next state is simply the collected inputs, in most cases.
- The exceptions are 5 (EW) and 10 (NS) which get swapped (bounce on collision).
- To make the gas useful in Golly's infinite area, I've added reflecting boundary
- states, 16-31. These work in the same way as gas particles (collecting inputs)
- but reverse their direction. Contact: Tim Hutton <tim.hutton@gmail.com>
- Sink boundary: (or you can vent to the outside but this way is neater)
- 32
- Source boundary: (haven't really worked out how to use this well yet)
- 33
- The HPP gas can also be run using the Margolus-neighborhood emulator in
- Golly (see e.g. Other-Rules/Margolus/BBM.rle) but this CA is neater.
n_states:35 neighborhood:vonNeumann symmetries:none
- a = any of the gas states and frozen
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,34} var aa={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,34} var ab={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,34} var ac={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,34}
- a = any of the gas states
var ad={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} var ae={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} var af={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
- b = any of the reflecting boundary states
var b={16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}
- s = has an outgoing south particle
var s={8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,33}
- Ns = doesn't have an outgoing south particle
var Ns={0,1,2,3,4,5,6,7,16,17,18,19,20,21,22,23,32,34}
- e = has an outgoing east particle
var e={4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,33}
- Ne = doesn't have an outgoing east particle
var Ne={0,1,2,3,8,9,10,11,16,17,18,19,24,25,26,27,32,34}
- n = has an outgoing north particle
var n={2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,33}
- Nn = doesn't have an outgoing north particle
var Nn={0,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,34}
- w = has an outgoing west particle
var w={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33}
- Nw = doesn't have an outgoing north particle
var Nw={0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34}
- State 34 remains alive
34,a,aa,ab,ac,34
- Diffusion-limited aggregation
ad,s,ae,af,34,34 ad,s,ae,34,af,34 ad,s,34,ae,af,34
ad,ae,w,af,34,34 ad,ae,w,34,af,34 ad,34,w,ae,af,34
ad,ae,af,n,34,34 ad,ae,34,n,af,34 ad,34,ae,n,af,34
ad,ae,af,34,e,34 ad,ae,34,af,e,34 ad,34,ae,af,e,34
- straightforward transport (no interactions) except 5 and 10 which are swapped
a,Ns,Nw,Nn,Ne,0 a,Ns,w,Nn,Ne,1 a,Ns,Nw,n,Ne,2 a,Ns,w,n,Ne,3 a,Ns,Nw,Nn,e,4 a,Ns,w,Nn,e,10 a,Ns,Nw,n,e,6 a,Ns,w,n,e,7 a,s,Nw,Nn,Ne,8 a,s,w,Nn,Ne,9 a,s,Nw,n,Ne,5 a,s,w,n,Ne,11 a,s,Nw,Nn,e,12 a,s,w,Nn,e,13 a,s,Nw,n,e,14 a,s,w,n,e,15
- reflecting boundaries:
b,Ns,Nw,Nn,Ne,16 b,Ns,Nw,Nn,e,17 b,s,Nw,Nn,Ne,18 b,s,Nw,Nn,e,19 b,Ns,w,Nn,Ne,20 b,Ns,w,Nn,e,21 b,s,w,Nn,Ne,22 b,s,w,Nn,e,23 b,Ns,Nw,n,Ne,24 b,Ns,Nw,n,e,25 b,s,Nw,n,Ne,26 b,s,Nw,n,e,27 b,Ns,w,n,Ne,28 b,Ns,w,n,e,29 b,s,w,n,Ne,30 b,s,w,n,e,31
@COLORS
- the grey-level intensity is proportional to the number of particles
- in the square
1 120 120 120 2 120 120 120 3 160 160 160 4 120 120 120 5 160 160 160 6 160 160 160 7 220 220 220 8 120 120 120 9 160 160 160 10 160 160 160 11 220 220 220 12 160 160 160 13 220 220 220 14 220 220 220 15 255 255 255 16 200 180 0 17 255 255 0 18 255 255 0 19 255 255 0 20 255 255 0 21 255 255 0 22 255 255 0 23 255 255 0 24 255 255 0 25 255 255 0 26 255 255 0 27 255 255 0 28 255 255 0 29 255 255 0 30 255 255 0 31 255 255 0 32 255 0 0 33 0 255 0 34 0 0 255