-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
205 lines (205 loc) · 13.8 KB
/
index.html
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
<meta name="author" content="Power Grid Dynamics Simulation">
<meta property="og:url" content="http://imaginary.github.io/powergrid-dynamics-simulation/">
<meta property="og:type" content="website">
<meta property="og:title" content="Power Grid Dynamics Simulation">
<link rel="icon" type="image/ico" href="assets/img/favicon.png">
<link rel="stylesheet" href="vendor/bootstrap/css/bootstrap.min.css" media="all" type="text/css">
<link rel="stylesheet" href="vendor/bootstrap-slider/css/bootstrap-slider.min.css" media="all" type="text/css">
<link rel="stylesheet" href="assets/fonts/font-awesome-4.7.0/css/font-awesome.min.css" media="all" type="text/css">
<link rel="stylesheet" href="assets/css/default.css?v=2" media="screen" type="text/css">
<script>if (typeof module === 'object') { window.module = module; module = undefined; }</script>
<!-- jQuery and web libraries BEGIN-->
<script type="text/javascript" src="vendor/jquery/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="vendor/bootstrap-slider/bootstrap-slider.min.js"></script>
<script type="text/javascript" src="vendor/d3/d3.min.js"></script>
<script type="text/javascript" src="vendor/routie/routie.min.js"></script>
<script type="text/javascript" src="simulator/animation.js?v=2" defer></script>
<script type="text/javascript" src="assets/js/bundle.min.js?v=2"></script>
<!-- jQuery and web libraries END-->
<script>if (window.module) module = window.module;</script>
<title>Power Grid Dynamics Simulation
</title>
</head>
<body class="lock-position disable-select">
<div class="header">
<h1>Power Grid Dynamics Simulation</h1>
</div>
<div class="main">
<div class="container-fluid fullheight">
<div class="row">
<div class="col-md-3 col-left fullheight">
<div class="controls-perturbation">
<h2>Simulate local disturbances</h2>
<div class="row">
<div class="col-sm-6">
<div class="slider-container">
<input class="form-control slider" id="xpert_val" type="text" data-slider-id="xpert_val" data-slider-min="-1" data-slider-max="1" data-slider-step="0.1" data-slider-value="0.1" value="0.1">
<label class="control-label" for="xpert_val">Perturb position</label>
</div>
</div>
<div class="col-sm-6">
<div class="slider-container">
<input class="form-control slider" id="ypert_val" type="text" data-slider-id="ypert_val" data-slider-min="-15" data-slider-max="15" data-slider-step="0.1" data-slider-value="0.1" value="0.1">
<label class="control-label" for="ypert_val">Perturb speed</label>
</div>
</div>
</div>
<p class="hint">Click on a node on the map to perturb its position and speed by these values.</p>
<p class="split"><a class="btn" href="#" data-control="random"><i class="fa fa-bolt"></i>
Apply perturbance to all nodes</a></p>
</div>
<div class="controls-sim">
<div class="row">
<div class="col-sm-6">
<div class="slider-container">
<input class="slider" id="speed_val" type="text" data-slider-id="speed_val" data-slider-min="0" data-slider-max="50" data-slider-step="1" data-slider-value="42" value="42">
<label class="control-label" for="speed_val">Base speed</label>
</div>
</div>
<div class="col-sm-6">
<div class="slider-container">
<input class="slider" id="damp_val" type="text" data-slider-id="damp_val" data-slider-min="0" data-slider-max="30" data-slider-step="0.1" data-slider-value="1" value="1">
<label class="control-label" for="damp_val">Friction modifier</label>
</div>
</div>
</div><a class="button button-on-off" href="#" data-control="play-pause"></a><a class="button button-reset" href="#" data-control="reset">Reset</a>
</div>
</div>
<div class="col-md-6 col-map fullheight">
<div class="fullheight" id="centrepiece"></div>
</div>
<div class="col-md-3 col-right fullheight">
<div class="about-area about-text visible" id="about-simulation">
<h2>What do I see?</h2>
<p>This is a simulation of the Scandinavian high-voltage power transmission network. The links are transmission lines, they change their width proportional to their usage. The nodes are sites of power producers or consumers.</p>
<p>The nodes produce or consume AC power and behave as so-called oscillators.</p>
<p>Think of them as fast-running clocks which exchange their current time via the links. In stable operation of the power grid, all clocks are required to run at the same global speed, i.e. no clock is overturning another one. In the top left corner of the map you can select whether to visualize the time deviation (position) or the speed deviation (frequency).</p>
<p>When the clock speed is the same at all nodes, the time differences between them are constant. Each of the nodes is its own time zone, with some being in advance and some being behind of the others. After each clock cycle, the positions are identified. Nodes that are behind draw power from advanced nodes. This determines the direction of power transmission.</p>
</div>
<div class="about-area about-text" id="about-frequency-meter">
<h2>Synchronization</h2>
<p>The normal operation at the global clock speed with constant time differences is called synchronisation. In Europe, the nodes are synchronised at a global speed of 50Hz, i.e. clock cycles per minute. The larger the “time difference” between two nodes, the more power is being transmitted between them.</p>
<p>At a base speed of 50hz the clocks appear to stand still. By reducing the <b>base speed</b>, you reduce the slow-motion effect until you observe the real-time simulation.</p>
<p>Each clock is subject to a certain amount of <b>friction</b> when it deviates from the global speed. By increasing the friction multiplier, the power grid becomes more stable.</p>
</div>
<div class="about-area about-text" id="about-disturbances">
<h2>Experiments with disturbances</h2>
<p>
You can manually perturb the clock position and speed of any node by clicking on it. The size of the perturbation
can be selected with the sliders on the left.
</p>
<p>Alternatively, you can observe predefined perturbations at special nodes</p>
<p class="experiment">
<button class="btn" onclick="perturb(0, "strong")"><i class="fa fa-bolt"></i></button><strong>node in appendices</strong>
Here, it should be comparably easy to desynchronise a small group of nodes from the rest.
A disturbance in an appendix is typically confined there.
</p>
<p class="experiment">
<button class="btn" onclick="perturb(1, "strong")"><i class="fa fa-bolt"></i></button><strong>hub (a node with many neighbours)</strong>
The more neighbours a node has, the more likely are large speed deviations after a disturbance.
</p>
<p class="experiment">
<button class="btn" onclick="perturb(2, "strong")"><i class="fa fa-bolt"></i></button><strong>detour node (a node parallel to a direct connection)</strong>
Here, it should be difficult to destabilise the power grid.
</p>
<p class="experiment">
<button class="btn" onclick="perturb(3, "strong")"><i class="fa fa-bolt"></i></button><strong>dense sprout (an end node connected to node with many neighbours)</strong>
Perturbing a dense sprout can cause an interesting effect: A single node running at its own speed while the
remaining network is in synchronisation. It is an effect predominantly affecting dense sprouts.
</p>
</div>
<div class="about-area about-text" id="about-details">
<h2>Some advanced details</h2>
<p></p>The nodes are actually net power producers or consumers, representing the power balance of the surrounding area. The
dynamics are determined by rotating turbines in the power plants generating an AC voltage. Mathematically, they are
treated as so-called oscillators.
<p></p>We use the analogy of clocks for oscillators. Strictly speaking, this would be a
clock with only one needle. Its position corresponds to the phase, while the speed is its frequency (revoluations per
second, Hz). Phases are defined modulo 2π, i.e. the position is identified after each revolution just like on a real
clock.
<p></p>We simulate the self-organised synchronisation of the nodes. In reality, this is assisted by many controllors
which also keep frequency deviation within strict limits. Large frequency deviations inevitably lead to black-outs.
Hence, the very chaotic states in our simulation would correspond to a black-out in reality.
</div>
<div class="controls-util"><a class="button button-info" href="#" data-control="info"></a></div>
<div class="controls-about">
<div class="controls-about-label">Learn more</div><a class="button button-about selected" href="#" data-about="about-simulation">1</a><a class="button button-about" href="#" data-about="about-frequency-meter">2</a><a class="button button-about" href="#" data-about="about-disturbances">3</a><a class="button button-about" href="#" data-about="about-details">4</a>
</div>
</div>
</div>
</div>
</div>
<div class="overlay overlay-info">
<div class="overlay-content">
<div id="info">
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<h2>Credits</h2>
<div class="large">
<h3>Development</h3>Frank Hellmann<br>
Paul Schultz<br>
Bodo Graumann (bodograumann.de)<br>
<br>
<h3>Additional design and adaptation by</h3>IMAGINARY (imaginary.org)<br>
<br>
The CoNDyNet project is sponsored by the Bundesministerium für Bildung und Forschung
<br>
<div class="logos"><img class="logo-condynet" src="assets/img/condynet_logo.svg"><img class="logo-bmbf" src="assets/img/BMBF_Logo.svg"></div>
</div>
</div>
<div class="col-md-8">
<h2>Related CoNDyNet Publications</h2>
<div class="small">
<div class="row">
<div class="col-md-6">
<ul>
<li><i>Deciphering the imprint of topology on nonlinear dynamical network stability<br></i>Nitzbon, Schultz, Heitzig, Kurths, Hellmann<br>
New Journal of Physics, 19(3), 033029, 2017<br>
DOI: 10.1088/1367-2630/aa6321<br>
</li>
<li><i>Potentials and limits to basin stability estimation<br></i>Schultz, Menck, Heitzig, Kurths<br>
New Journal of Physics, 19(2), 023005, 2017<br>
DOI: 10.1088/1367-2630/aa5a7b<br>
</li>
<li><i>Survivability of Deterministic Dynamical Systems<br></i>Hellmann & Schultz, Grabow, Heitzig, Kurths<br>
Scientific Reports, 6, 29654, 2016<br>
DOI: 10.1038/srep29654<br>
</li>
<li><i>The impact of model detail on power grid resilience measures<br></i>Auer, Kleis, Schultz, Kurths, Hellmann<br>
European Physical Journal-Special Topics, 225(3), 609-625, 2016<br>
DOI: 10.1140/epjst/e2015-50265-9<br>
</li>
</ul>
</div>
<div class="col-md-6">
<ul>
<li><i>Detours around basin stability in power networks<br></i>Schultz, Heitzig, Kurths<br>
New Journal of Physics, 16, 2014<br>
DOI: 10.1088/1367-2630/16/12/125001<br>
</li>
<li><i>How dead ends undermine power grid stability<br></i>Menck, Heitzig, Kurths, Schellnhuber<br>
Nature Communications, 5, 2014<br>
DOI: 10.1038/ncomms4969<br>
</li>
<li><i>How basin stability complements the linear-stability paradigm<br></i>Menck, Heitzig, Marwan, Kurths<br>
Nature Physics, 9(2), 2013<br>
DOI: 10.1038/nphys2516
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div><a class="button button-overlay-close overlay-close" href="#" data-control="close-overlay"></a>
</div>
</body>
</html>