-
Notifications
You must be signed in to change notification settings - Fork 37
Agents
Warning: this is a work in progress! It is not exhaustive and anything you read here you should check before believing.
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.
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 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