2D Reaction-Diffusion: Activator-Inhibitor
Persistent Identifier
Use this permanent link to cite or share this Morpheus model:
Introduction
A 2D activator-inhibitor model (Gierer and Meinhardt, 1972).
Description
This model uses a standard Lattice
with square
structure and periodic boundary conditions.
The PDE
defined two species or Layers
$A$ (activator) and $I$ (inhibitor) with resp. low and high Diffusion
rates. The reaction part of the equations are defined in the System
.
The results are visualized using the Gnuplotter
.
Things to try
- Alter the level of saturation of the activator by changing
kappa
(for example, using aParamSweep
). By changing this parameter, the model can generate stripes, nets and spots.
Reference
A. Gierer, H. Meinhardt: A Theory of Biological Pattern Formation. Kybernetik 12: 30-39, 1972.
Model
Examples
→ PDE
→ ActivatorInhibitor_2D.xml
or
ActivatorInhibitor_2D.xml
XML Preview
<MorpheusModel version="3">
<Description>
<Title>Example-ActivatorInhibitor-2D</Title>
<Details></Details>
</Description>
<Global>
<Field symbol="a" value="rand_norm(0.5,0.1)" name="activator">
<Diffusion rate="0.02"/>
</Field>
<Field symbol="i" value="0.1" name="inhibitor">
<Diffusion rate="1"/>
</Field>
<System solver="runge-kutta" time-step="5" name="Meinhardt">
<Constant symbol="rho" value="0.001"/>
<Constant symbol="rho_a" value="0.001"/>
<Constant symbol="mu_i" value="0.03"/>
<Constant symbol="mu_a" value="0.02"/>
<Constant symbol="kappa" value="0.10"/>
<DiffEqn symbol-ref="a">
<Expression>(rho/i)*((a^2)/(1 + kappa*a^2)) - mu_a * a + rho_a</Expression>
</DiffEqn>
<DiffEqn symbol-ref="i">
<Expression>rho*((a^2)/(1+kappa*a^2)) - mu_i *i</Expression>
</DiffEqn>
</System>
</Global>
<Space>
<Lattice class="square">
<Size symbol="size" value="150 150 0"/>
<NodeLength value="1"/>
<BoundaryConditions>
<Condition boundary="x" type="periodic"/>
<Condition boundary="y" type="periodic"/>
</BoundaryConditions>
<Neighborhood>
<Order>1</Order>
</Neighborhood>
</Lattice>
<SpaceSymbol symbol="space"/>
</Space>
<Time>
<StartTime value="0"/>
<StopTime value="12500"/>
<SaveInterval value="0"/>
<RandomSeed value="2"/>
<TimeSymbol symbol="time"/>
</Time>
<Analysis>
<Gnuplotter time-step="500" decorate="false">
<Terminal size="400 400 0" name="png"/>
<Plot>
<Field symbol-ref="a" min="0"/>
</Plot>
</Gnuplotter>
<Logger time-step="250">
<Input>
<Symbol symbol-ref="a"/>
</Input>
<Output>
<TextOutput file-format="csv"/>
</Output>
<Plots>
<Plot time-step="0">
<Style style="lines" line-width="5.0"/>
<Terminal terminal="png"/>
<X-axis>
<Symbol symbol-ref="space.x"/>
</X-axis>
<Y-axis minimum="0" maximum="3">
<Symbol symbol-ref="a"/>
</Y-axis>
<Color-bar>
<Symbol symbol-ref="i"/>
</Color-bar>
<Range>
<Data/>
<Time mode="current"/>
</Range>
</Plot>
</Plots>
<Restriction>
<Slice value="size.y/2" axis="y"/>
</Restriction>
</Logger>
<Logger time-step="100">
<Input>
<Symbol symbol-ref="a"/>
</Input>
<Output>
<TextOutput file-format="matrix"/>
</Output>
<Plots>
<SurfacePlot time-step="500">
<Color-bar>
<Symbol symbol-ref="a"/>
</Color-bar>
<Terminal terminal="png"/>
</SurfacePlot>
</Plots>
<Restriction>
<Slice value="size.y/2" axis="y"/>
</Restriction>
</Logger>
</Analysis>
</MorpheusModel>
Downloads
Files associated with this model: