# Gradient

### Contributors

Otto-von-Guericke Universität Magdeburg, Germany: Mary Ann Blätke, Jan Wegener

### Background

We consider the following scenario:

- One species (here cAMP) diffuses continuously in space; i.e., it evolves simultaneously over time and space.
- The state-dependent diffusion rate follows mass/action kinetics, i.e., the rate is defined by the product of the species involved times some constant, summing up all dependencies on pressure, temperature, etc.
- The observation starts with a high concentration (e.g., 100) in the middle of the space, with all other space positions initially set to 0.

### Modelling challenge

### Modelling

*Tip: Click on image of a plain Petri net opens animation window. Animation does not consider (stochastic or continuous ) rates.*

**1-dimensional grid**

Reading this Petri net as a continuous Petri net, and assuming the diffusion rates to follow mass/action kinetics with the common rate parameter k, we obtain the following ODEs; for sake of readability we abbreviate cAMP_i by c_{i}.

We obtain a general model pattern for an arbitrary, but static size of a discrete, 1-dimensional space by folding this plain (continuous) Petri net into a coloured (continuous) Petri net.

constant D1 = int with 5; // grid size MIDDLE = int with (D1+1)/2; // middle position colorset CS = int with 1−D1; // addresses of grid positions variable x,y : CS; function neighbour1D (CS x,a) bool: // a is neighbour of x ( a=x−1 | a=x+1) & (1<=a) & (a<=D1);

Changing constant D1 adapts the model pattern to a specific 1-dimensional grid size.

**2-dimensional grid with four neighbours**

` `

colorset CD1 = 1−D1; CD2 = 1−D2; Grid2D = CD1 x CD2; var x,a : CD1; y,b : CD2; function neighbour2D4 (CD1 x , CD2 y , CD1 a , CD2 b) bool : // (a,b) is one of the up to four neighbours of (x,y) (a=x & b=y−1) | (a=x & b=y+1) | (b=y & a=x−1) | (b=y & a=x+1);

Unfolding the coloured Petri net with constants D1=D2=5 yields the following plain Petri net.

**2-dimensional grid with eight neighbours**

` `

function neighbour2D8 (CD1 x, CD2 y, CD1 a, CD2 b) bool : // (a,b) is one of the up to eight neighbours of (x,y) (a=x | a=x+1 | a=x−1) & (b=y | b=y+1 | b = y−1) & (!(a=x & b=y)) & (1<=a & a<=D1) & (1<=b & b<=D2);

Unfolding the coloured Petri net with constants D1=D2=5 yields the following plain Petri net.

### Analysis

All computational experiments are done on the automatically unfolded Petri nets. With other words, the coloured continuous Petri nets serve as high-level description of the continuous systems under study.

**Some statistics**

grid size | no. places | no. transitions |

15x15 | 225 | 1,624 |

30x30 | 900 | 3,480 |

60x60 | 3,600 | 14,160 |

120x120 | 14,400 | 57,120 |

For simulation purposes, a continuous Petri net is represented by a system of Ordinary Differential Equations (ODEs), with one equation for each place. Thus, coloured continuous Petri nets can be seen as a very high-level description of ODEs.

**2D representation of a continuous run**

Converting the continuous simulation traces into 2D representations (heat map style) allows us to observe the development of a gradient in time and space. We give six snapshots (time points: 0, 5, 10, 15, 20, 30) for the 15x15 grid.

**Increasing resolution**

We give the snapshots at time point 50 for the grids 15x15, 30x30, 60x60, and 120x120.

### Conclusions

### References

*latest update: December 12, 2011, at 04:28 PM*