-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrun_testcase.m
143 lines (130 loc) · 4.51 KB
/
run_testcase.m
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
% Start simulation here!
% Arrangment for simulation
init_globals;
init_main;
init_style;
% ------------------------------
% -----Standard-values----------
% Szenario
SZENARIO = TWO_TRAINS; % [TT]
% Crowdness
PART_FC = 0.2; % [FCR]
AGENTS_OP = MANY_AGENTS_OP; % [PoP]
AGENTS_D = MANY_AGENTS_D; % [Pd]
AGENTS_SEATED = MANY_AGENTS_SEATED; % [Pas]
WAITING_AREA = BIG; % [WA]
% Behaviour
DOOR_DECISION_MODE = MIN_SUM; % [DDM]
LAZINESS = 0.5; % [LC]
PATIENCE = 0.9; % [P]
DECISION_STEPFREQ = 1; % [DSF]
DECISION_LIMIT = agentDECTIMESinfinite; % [DL]
VELOCITY = 1.5; % [VD]
VELOCITY_VAR = 0.5;
GROUPING = 0; % [G]
GROUP_SIZE = 10; % [GS]
% Time
AREA_DELAY = 5; % [TW]
DOORS_DELAY = 10; % [TD]
% Simulation Stability
TIMESTEP = 0.05; % [TS]
FORCES_COEFF = FC_STANDARD;
TIMEMAX = 90;
switch Testcase
case 1
SZENARIO = ONE_TRAIN; % [OT]
case 2
case 3
SZENARIO = ONE_TRAIN; % [OT]
AGENTS_OP = FEW_AGENTS_OP; % [PoP]
AGENTS_D = FEW_AGENTS_D; % [Pd]
AGENTS_SEATED = FEW_AGENTS_SEATED; % [Pas]
case 4
AGENTS_OP = FEW_AGENTS_OP; % [PoP]
AGENTS_D = FEW_AGENTS_D; % [Pd]
AGENTS_SEATED = FEW_AGENTS_SEATED; % [Pas]
case 5
SZENARIO = ONE_TRAIN; % [OT]
AGENTS_OP = TOOMANY_AGENTS_OP; % [PoP]
AGENTS_D = TOOMANY_AGENTS_D; % [Pd]
AGENTS_SEATED = FEW_AGENTS_SEATED; % [Pas]
case 6
AGENTS_OP = TOOMANY_AGENTS_OP; % [PoP]
AGENTS_D = TOOMANY_AGENTS_D; % [Pd]
AGENTS_SEATED = FEW_AGENTS_SEATED; % [Pas]
case 7
DOOR_DECISION_MODE = MIN_WALK; % [DDM]
case 8
DOOR_DECISION_MODE = MIN_QUEUE; % [DDM]
case 9
DOOR_DECISION_MODE = MIN_WAIT; % [DDM]
case 10
DOOR_DECISION_MODE = RANDOM; % [DDM]
case 11
LAZINESS = 0.0; % [LC]
case 12
LAZINESS = 0.1; % [LC]
case 13
LAZINESS = 0.2; % [LC]
case 14
LAZINESS = 0.3; % [LC]
case 15
LAZINESS = 0.4; % [LC]
case 16
LAZINESS = 0.5; % [LC]
case 17
LAZINESS = 0.6; % [LC]
case 18
LAZINESS = 0.7; % [LC]
case 19
LAZINESS = 0.8; % [LC]
case 20
LAZINESS = 0.9; % [LC]
case 21
LAZINESS = 1.0; % [LC]
case 22
DECISION_STEPFREQ = 1*TIMESTEP; % [DSF]
case 23
DECISION_STEPFREQ = 100*TIMESTEP; % [DSF]
case 24
DECISION_LIMIT = 1; % [DL]
case 25
DECISION_LIMIT = 10; % [DL]
case 26
PATIENCE = 1; % [P]
case 27
PATIENCE = 0.5; % [P]
case 28
VELOCITY = 1; % [VD]
VELOCITY_VAR = 0;
case 29
VELOCITY = 1.5; % [VD]
VELOCITY_VAR = 0;
case 30
VELOCITY = 2.5; % [VD]
VELOCITY_VAR = 1.5;
case 31
GROUPING = 0.2; % [G]
case 32
GROUPING = 0.5; % [G]
case 33
AREA_DELAY = 1; % [TW]
DOORS_DELAY = 1; % [TD]
case 34
AREA_DELAY = 10; % [TW]
DOORS_DELAY = 20; % [TD]
case 35
WAITING_AREA = SMALL; % [WA]
SZENARIO = ONE_TRAIN; % [OT]
case 36
WAITING_AREA = SMALL; % [WA]
otherwise
'unknown testcase id'
return;
end
switch SZENARIO
case ONE_TRAIN
init_szenario_one_train;
case TWO_TRAINS
init_szenario_two_trains;
end