# Cell Division¶

This model creates a grid of 4x4x4 cells. Each cell grows untill a specific volume, after which it proliferates (i.e. divides).

In [1]:
%jsroot on

Warning in <TFile::Init>: no StreamerInfo found in /home/ahmad/biodynamo3/build/lib/libbiodynamo_dict_rdict.pcm therefore preventing schema evolution when reading this file. The file was produced with version 6.18/04 of ROOT.

In [2]:
#include "biodynamo.h"


Create a new simulation

In [3]:
Simulation simulation("cell_division");


Let's define the number of cells we wish to create along each dimension, the spacing between the cells, and each cell's diameter.

In [4]:
size_t cells_per_dim = 4;
size_t spacing = 20;
size_t diameter = 10;


To define how are cells will look like we will create a construct in the form of a C++ lambda as follows.

In [5]:
auto construct = [&](const Double3& position) {
Cell* cell = new Cell(position);
cell->SetDiameter(diameter);
// Add the "grow and divide" behavior to each cell
return cell;
};
ModelInitializer::Grid3D(cells_per_dim, spacing, construct);


Run simulation for one timestep

In [6]:
simulation.GetScheduler()->Simulate(1);

std::cout << "Simulation completed successfully!" << std::endl;

Simulation completed successfully!


Let's visualize the output!

In [7]:
VisualizeInNotebook();