vivarium.processes.growth module

class vivarium.processes.growth.Growth(initial_parameters=None)[source]

Bases: vivarium.core.process.Process

The Growth process class models exponential cell growth.

The cell’s mass \(m_{t + h}\) at time \(t + h\) for timestep \(h\) and with growth rate \(r\) is modeled as:

\[m_{t + h} = m_t e^{rh}\]

Configuration Options:

  • growth_rate: The cell’s growth rate \(r\). This rate is 0.0006 by default.

Example Usage:

>>> import math
>>> TIMESTEP = 1.0  # in seconds
>>> # growth rate chosen so mass doubles each timestep
>>> configuration = {'growth_rate': math.log(2.0)}
>>> growth_process = Growth(configuration)
>>> state = growth_process.default_state()
>>> # the initial mass magnitude (femtograms)
>>> mass = state['global']['mass'].magnitude
>>> mass
1339
>>> update = growth_process.next_update(TIMESTEP, state)
>>> # the new mass magnitude (femtograms)
>>> new_mass = update['global']['mass'].magnitude
>>> new_mass
2678.0
>>> new_mass / mass
2.0
defaults = {'global_deriver_key': 'global_deriver', 'growth_rate': 0.0006}
derivers()[source]
name = 'growth'
next_update(timestep, states)[source]
ports_schema()[source]