In [1]:
%matplotlib inline
from ecell4 import *
from ecell4_base import *
from ecell4_base.core import *
In [2]:
with species_attributes():
A | B | C | {"D": 1, "radius": 0.005}
with reaction_rules():
A + B == C | (0.01, 0.3)
m = get_model()
In [3]:
# factory = egfrd.Factory(Integer3(4, 4, 4))
factory = spatiocyte.Factory(0.005)
In [4]:
w = factory.world(ones())
w.bind_to(m)
In [5]:
w.add_molecules(Species("A"), 60, AABB(Real3(0, 0, 0), Real3(0.5, 1, 1)))
w.add_molecules(Species("B"), 60, AABB(Real3(0.5, 0, 0), Real3(1, 1, 1)))
In [6]:
sim = factory.simulator(w)
obs1 = NumberObserver(("A", "C"))
# sim.run(1.0, obs1)
obs2 = FixedIntervalHDF5Observer(0.02, "test%03d.h5")
sim.run(1.0, [obs1, obs2])
In [7]:
viz.plot_number_observer(obs1, 'o-', markeredgewidth=0)
In [8]:
viz.plot_movie(obs2, radius=0.005, grid=False, species_list=("A", "B", "C"))
# viz.plot_movie([factory.world("test%03d.h5" % _) for _ in range(51)], radius=0.005, grid=False, species_list=("A", "B", "C"))