Skip to content
roughhawkbit edited this page Mar 7, 2013 · 6 revisions

Warning: this is a work in progress! It is not exhaustive and anything you read here you should check before believing.

Overview

The hierarchy of agent classes is like so:
Agent
-> SpecialisedAgent
-----> ActiveAgent
---------> LocatedAgent
-------------> Bacterium
-----> InfoAgent

Most agent processes are spread over a range of agent classes, and while this makes programming sense it can hinder understanding of what agents are actually doing. This wiki page aims to rectify this.

Agent Processes

Birth

The creation of a new agent begins with cloning its parent (Agent.clone()). This clone is then registered with the agent grid (Simulator.AgentContainer) and given attributes inherited from its parent, either directly (e.g. baby _family = parent _family) or indirectly (e.g. baby _genealogy = parent _genealogy + 2^(parent _generation) ).

Growth

Growth of a cell is entirely through the reactions catabolised by the particles of which it is comprised. The grow() function is in the agent class ActiveAgent. In iDynoMiCS this is the fraction of total mass inherited by the newly-created bacterium. It takes a value between 0 and 1 (non-inclusive), and so the parent cell inherits 1 - babyMassFrac of the total mass of the pre-division cell. The coefficient of variation, babyMassFracCV, is a measure of stochasticity in the simulation

Clone this wiki locally