-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGenerate-signal-with-python.cece
More file actions
36 lines (29 loc) · 1.09 KB
/
Generate-signal-with-python.cece
File metadata and controls
36 lines (29 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Simulation definition -->
<simulation world-size="20um 20um" dt="1s" iterations="50" visualized="false">
<!-- Python plugin required -->
<plugin name="diffusion" />
<plugin name="python" />
<plugin name="diffusion-python" />
<!-- Define diffusion -->
<module name="diffusion" grid="200">
<signal name="gfp" diffusion-rate="50um2/s" degradation-rate="0.001/s" color="green" />
</module>
<!-- Generate signal -->
<module name="generate" language="python">
<![CDATA[
import math
def update(dt, simulation):
diffusion = simulation.getModule("diffusion")
size = diffusion.gridSize
radius = size.x / 20
signalAmount = 1
for x in range(-radius, radius + 1):
for y in range(-radius, radius + 1):
if (math.sqrt(x * x + y * y) <= radius):
diffusion.setSignal(0, size.x / 2 + x, size.y / 2 + y, signalAmount)
]]>
</module>
<!-- Store diffusion state each iteration -->
<module name="diffusion.export" filename="diffusion.csv" />
</simulation>