Documentation Set for Swarm 2.2
Prev | Reference X. Space Library | Next

# Diffuse2d

## Name

Diffuse2d -- 2d difussion with evaporation.

## Description

Discrete 2nd order approximation to 2d diffusion with evaporation. Math is done in integers on the range [0,0x7fff].

## Protocols adopted by Diffuse2d

Ca2d CREATABLE

## Methods

### Phase: Creating

- - initializeLattice
  Initialize world to 0.

- + create: (id <Zone>)aZone setSizeX: (unsigned)x Y: (unsigned)y setDiffusionConstant: (double)d setEvaporationRate: (double)e
  Convenience constructor for Diffuse2d

### Phase: Setting

- - setEvaporationRate: (double)e
  Set the evaporation rate. Values over 1.0 don't make much sense

- - setDiffusionConstant: (double)d
  Set the diffusion constant. Values over 1.0 might not be valid.

### Phase: Using

- - stepRule
  Run discrete approximation to diffusion. Roughly, it's newHeat = evapRate * (self + diffuseConstant*(nbdavg - self)) where nbdavg is the weighted average of the 8 neighbours.

Prev | Home | Next
DblBuffer2d | Up | Discrete2d