See also

This page was generated from tests/Birth_Death.ipynb.

Download the Jupyter Notebook for this section: `Birth_Death.ipynb`

. View in nbviewer.

This is for an integrated test of E-Cell4. Here, we test a simple birth-death process in volume.

```
[1]:
```

```
%matplotlib inline
from ecell4.prelude import *
```

Parameters are given as follows. `D`

and `radius`

mean a diffusion constant and a radius of molecules, respectively. Dimensions of length and time are assumed to be micro-meter and second.

```
[2]:
```

```
D = 1 # 0.01
radius = 0.005
```

```
[3]:
```

```
N = 20 # a number of samples
```

```
[4]:
```

```
y0 = {} # {'A': 60}
duration = 3
V = 8
```

Make a model for all algorithms. No birth reaction with more than one product is accepted.

```
[5]:
```

```
with species_attributes():
A | {'radius': radius, 'D': D}
with reaction_rules():
~A > A | 45.0
A > ~A | 1.5
m = get_model()
```

Save a result with `ode`

as `obs`

, and plot it:

```
[6]:
```

```
ret1 = run_simulation(duration, y0=y0, volume=V, model=m)
ret1
```

Simulating with `gillespie`

(Bars represent standard error of the mean):

```
[7]:
```

```
ret2 = ensemble_simulations(duration, ndiv=20, y0=y0, volume=V, model=m, solver='gillespie', repeat=N)
ret2.plot('o', ret1, '-')
```

Simulating with `meso`

:

```
[8]:
```

```
ret2 = ensemble_simulations(
duration, ndiv=20, y0=y0, volume=V, model=m, solver=('meso', Integer3(3, 3, 3), 0.25), repeat=N)
ret2.plot('o', ret1, '-')
```

Simulating with `spatiocyte`

:

```
[9]:
```

```
ret2 = ensemble_simulations(
duration, ndiv=20, y0=y0, volume=V, model=m, solver=('spatiocyte', radius), repeat=N)
ret2.plot('o', ret1, '-')
```

Simulating with `egfrd`

:

```
[10]:
```

```
ret2 = ensemble_simulations(
duration, ndiv=20, y0=y0, volume=V, model=m, solver=('egfrd', Integer3(8, 8, 8)), repeat=N)
ret2.plot('o', ret1, '-')
```

Simulating with `bd`

:

```
[11]:
```

```
ret2 = ensemble_simulations(
duration, ndiv=20, y0=y0, volume=V, model=m, solver=('bd', Integer3(8, 8, 8), 0.1), repeat=N)
ret2.plot('o', ret1, '-')
```