# 2D reaction-diffusion: Activator-Inhibitor

## Introduction

A 2D activator-inhibitor model (Gierer and Meinhardt, 1972).

## Model 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 a ParamSweep). By changing this parameter, the model can generate stripes, nets and spots.

## Model

In Morpheus GUI: Examples 🠒 PDE 🠒 ActivatorInhibitor_2D.xml.

<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>



## Reference

A. Gierer, H. Meinhardt: A Theory of Biological Pattern Formation. Kybernetik 12, 30-39, 1972.