Skip to content

Commit 8bbed4a

Browse files
committed
Added Moore and von Neumann neighborhoods
1 parent 54f4e89 commit 8bbed4a

File tree

5 files changed

+63
-12
lines changed

5 files changed

+63
-12
lines changed

epidemic_roman/sir_roman.inc

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,23 @@
33
#EndMacro
44

55

6-
#BeginMacro(i_effect)
6+
#BeginMacro(i_effect_moore)
7+
min
8+
(
9+
(0,0)~sus,
10+
(0,0)~sus * $virulence *
11+
(
12+
(0,0)~infec + $connection * $movement / (0,0)~pop *
13+
(
14+
(-1,-1)~pop * (-1,-1)~infec + (-1,0)~pop * (-1,0)~infec + (-1,1)~pop * (-1,1)~infec +
15+
(0,-1)~pop * (0,-1)~infec + (0,1)~pop * (0,1)~infec +
16+
(1,-1)~pop * (1,-1)~infec + (1,0)~pop * (1,0)~infec + (1,1)~pop * (1,1)~infec
17+
)
18+
)
19+
)
20+
#EndMacro
21+
22+
#BeginMacro(i_effect_von_neumann)
723
min
824
(
925
(0,0)~sus,

epidemic_roman/sir_roman.pal

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[-100; -0.001] 255 0 0
2-
[0; 0.200] 0 0 0
3-
[0.201; 0.400] 50 50 50
2+
[0; 0.200] 200 200 200
3+
[0.201; 0.400] 150 150 150
44
[0.401; 0.600] 100 100 100
5-
[0.601; 0.800] 150 150 150
6-
[0.801; 1.00] 200 200 200
7-
[1.001;100] 255 0 0
5+
[0.601; 0.800] 50 50 50
6+
[0.801; 1.00] 0 0 0
7+
[1.001;100] 255 0 0

epidemic_roman/sir_roman.var

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(25,25) = 10 0.6 1 1 0.3 0.7 0.0
1+
(25,25) = 100 0.6 1 0.5 0.7 0.3 0.0

epidemic_roman/sir_roman_moore.ma

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include(sir_roman.inc)
2+
[top]
3+
components : area
4+
5+
[area]
6+
type : cell
7+
width : 50
8+
height : 50
9+
delay : transport
10+
defaultDelayTime : 1
11+
border : wrapped
12+
neighbors : area(-1,-1) area(-1,0) area(-1,1)
13+
neighbors : area(0,-1) area(0,0) area(0,1)
14+
neighbors : area(1,-1) area(1,0) area(1,1)
15+
initialvalue : -1
16+
17+
18+
localtransition : sir-roman-rule
19+
20+
statevariables: population virulence connection movement i_sus i_infec i_rec
21+
statevalues: 100 0.6 1.0 0.5 1.0 0.0 0.0
22+
initialvariablesvalue: sir_roman.var
23+
24+
neighborports : initial infec rec pop sus
25+
26+
[sir-roman-rule]
27+
rule : {~initial := 0; ~pop := $population; ~infec := $i_infec; ~sus := $i_sus; ~rec := $i_rec; }
28+
1 {(0,0)~initial = -1}
29+
30+
rule : {~pop := $population; ~infec := $i_infec; ~sus := $i_sus; ~rec := $i_rec; }
31+
{
32+
$i_rec := round(((0,0)~rec + #macro(recovery) * (0,0)~infec)*100)/100;
33+
$i_infec:= round(((1 - #macro(recovery)) * (0,0)~infec + #macro(i_effect_moore))*100)/100;
34+
$i_sus := 1 - $i_rec - $i_infec;}
35+
1 { (0,0)~initial != -1 }

epidemic_roman/sir_roman.ma renamed to epidemic_roman/sir_roman_von_neumann.ma

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ height : 50
99
delay : transport
1010
defaultDelayTime : 1
1111
border : wrapped
12-
neighbors : area(-1,0)
12+
neighbors : area(-1,0)
1313
neighbors : area(0,-1) area(0,0) area(0,1)
14-
neighbors : area(1,0)
14+
neighbors : area(1,0)
1515
initialvalue : -1
1616

1717

@@ -29,7 +29,7 @@ rule : {~initial := 0; ~pop := $population; ~infec := $i_infec; ~sus := $i_sus;
2929

3030
rule : {~pop := $population; ~infec := $i_infec; ~sus := $i_sus; ~rec := $i_rec; }
3131
{
32-
$i_sus := round(((0,0)~sus - #macro(i_effect))*100)/100;
33-
$i_infec:= round(((1 - #macro(recovery)) * (0,0)~infec + (0,0)~sus - $i_sus)*100)/100;
34-
$i_rec := 1 - $i_sus - $i_infec;}
32+
$i_rec := round(((0,0)~rec + #macro(recovery) * (0,0)~infec)*100)/100;
33+
$i_infec:= round(((1 - #macro(recovery)) * (0,0)~infec + #macro(i_effect_von_neumann))*100)/100;
34+
$i_sus := 1 - $i_rec - $i_infec;}
3535
1 { (0,0)~initial != -1 }

0 commit comments

Comments
 (0)