forked from qtronic/fmusdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
55 lines (52 loc) · 1.76 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
<html>
<head>
<title>Documentation for bouncingBall.fmu</title>
<style type="text/css">
html { font-family: Verdana, Arial, Helvetica, sans-serif; }
h1 { color: #000066; }
</style>
</head>
<body>
<h1>bouncingBall.fmu</h1>
The bouncingBall implements the following equation:
<ul>
<li> der(h) = v;
<li> der(v) = -g;
<li> when h<0 then v := -e* v
</ul>
with start values h=1, e=0.7, g = 9.81 and
<ul>
<li> h: height [m], used as state
<li> v: velocity of ball [m/s], used as state
<li> der(h): velocity of ball [m/s]
<li> der(v): acceleration of ball [m/s2]
<li> g: acceleration of gravity [m/s2], a parameter
<li> e: a dimensionless parameter
</ul>
<br>
<img src="plot_h.png">
<br>
The figure shows the solution computed with Silver
for height h of the ball for the start values given above.
<p>
The chain of events during simulation is as follows
<ol>
<li> initially h>0 and pos(0)=true </li>
<li> continuous integration until a state event is detected, i.e.
until h + EPS_INDICATORS = 0.
At this time h < 0, the EPS_INDICATORS adds hysteresis.</li>
<li> the simulator calls eventUpdate once which reverses the speed direction
v of the ball: v = -e * v, and sets pos(0)=false</li>
<li> continuous integration until state event is detected, i.e.
until h - EPS_INDICATORS = 0.
At this time h > 0, the EPS_INDICATORS adds hysteresis.</li>
<li> the simulator calls eventUpdate once more which sets pos(0)=true.</li>
<li> goto 2</li>
</ol>
The above description refers to the variables used
in file <code>bouncingBall.c</code>.
<h2><a name="license">License conditions</a></h2>
The FMU is provided by QTronic under the
<a href="http://www.opensource.org/licenses/bsd-license.html">BSD License</a>.
</body>
</html>