Help for Njörd III __________________ 0. Contents =========== 1. Why Njörd? 2. Description of the model 3. Using the simulator 4. Comments on the implementation 5. Acknowledgements 1. Why Njörd ? ============== Njörd is a northern god. Amongst others he's in charge of the oceans. Since this simulation is supposed to model mussel populations in the intertidal zone, this name seems suitable. It was created during the time of the work on my diploma thesis in physics which deals with long range interactions in ecological systems. 2. Description of the model =========================== The model is based on a five-state cellular automaton. Space is discretized into square cells. Each cell is in one of the five states which are 1. Wave disturbance (blue), 2. predator e.g. lobster (red), 3. empty (gray), 4. young mussel (light green) and 5. mature mussel (dark green). The default initial state is global young mussel cover. A young mussel cell (light green) will mature (dark green) with a probability of A3 (default 0.1). Predators (red) feed on young mussels. If there is a predator in the eight-cell-neighbourhood (von-Neumann), a young cell might be transformed into a predator (at rate A4 (default, weighted with the local predator density). A predator will transform into an empty cell (gray) when updated. An emtpy cell will be recolonized by young mussels with a probablity of A2=0.3*[local mussel density]. Mature mussels are immune to predator attacks (they are considered to be too large). However, mature mussels can become wave disturbances (blue) with a probability of A0*{1 with at least one neighbouring wave, otherwise 0}+D0. Literally, they are destroyed by the waves, either by spreading waves (A0) or by newly generated disturbances (D0). A wave disturbed cell will become emtpy once updated. If a predator doesn't find any young mussel in the von-Neumann-neighbourhood and if long-range-displacement is activated, the predator starts looking on circle with radius 'jumping range' (default 10) if there's any young mussel. If so, it will jump there leaving behind an empty cell. Below is a sketch of the transitions between the five states, the asterisk * indicates a density dependence, the tilde ~ long range interaction (view with standard text viewer if figure distorted). +(5) / ^ D0+A0+ | / A3^ + | A4*~ (1) (4)----»(2) \ ^ ^ \ A2*| / 1+ ^ ^1 \ | / +(3)-+ 3. Using the simulator ====================== To insert predators (red) into the population, use the left mouse button, the right button will insert wave disturbances. With the middle button you might be able to insert yound mussels. The parameters are explained in section 2. 'Periodic B.C.' stands for periodic boundary conditions , that is the edges of the simulation area touch the corresponding opposite side. The 'Update' button group is used to set the updating algorithm (N number of cells). 'Sync' stands for synchronous update. All N cells are updated simultaneously. The newly computed states are written into a new matrix which is displayed when completed. 'UC' stands for uniform choice. It's the most common ansynchronous updating method. One cell is selected at random and updated. The new state is directly written into the current matrix. In doing so, some cells are updated more than once within N updates, and some not at all. But it modells best continous time. A time step is arbitrarily chosen to take N single updates. 'NRS' stands for new random sweep. A random updating track through all cells is chosen. This method is asynchronous, too, but less realistic. Under 'Properties' you can set the size of the simulation area. 4. Comments on the implementation ================================= The simulation uses the QT-Library (Trolltech Inc., www.trolltech.com) for visualization and communication with the underlying window system. Under Microsoft Windows it unfortunately requires a big .dll file, but that can be downloaded secretly on my homepage. Under Linux and espacially with KDE everything should be fine. 5. Acknowledgements ===================== Bernd Blasius, Universitaet Potsdam, my diploma thesis' supervisor Frédéric Guichard, McGill University, my host in Montréal Maximilian Häussler, Potsdam, for the inspiring discussions about the abysses of programming -------------------------------------------------------------------------- This help file and the simulation itself was written in spring 2005 and five at Universität Potsdam and McGill University in Montréal by Niels v. Festenberg (niels(at)festenberg.de).