4.8
0
False
C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\02_physics\scara_physics.emx
2020-7-14 13:32:16
parameters
real A = 0.05 {m};
real B = 0.05 {m};
variables
real J0_1_BF1[2];
real J1_2_BF1[2];
real J1_2_BF2[2];
initialequations
';
type Mainmodel
end;
implementation bg
submodels
Integrate 280 248
description '
4.3
1
False
Signal\Block Diagram\Integrate.emx
2013-3-8 14:47:42
';
type Integrate
ports
signal in input;
signal out output;
end;
icon bg bottom
figures
rectangle 264 232 296 264 color 0 fill 15132390;
text '∫' 280 248.3 color 16711680 'Lucida Sans' 21 italic;
end;
implementation eq
parameters
real initial = 0; // initial value
equations
output = int (input, initial);
implementation_end;
Integrate1 680 248
description '
4.3
1
False
Signal\Block Diagram\Integrate.emx
2013-3-8 14:47:42
';
type Integrate
ports
signal in input;
signal out output;
end;
icon bg bottom
figures
rectangle 664 232 696 264 color 0 fill 15132390;
text '∫' 680 248.3 color 16711680 'Lucida Sans' 21 italic;
end;
implementation eq
parameters
real initial = 0; // initial value
equations
output = int (input, initial);
implementation_end;
MSe 504 96
description '
4.2
1
False
Bond Graph\MSe.emx
2011-11-29 16:12:33
';
type MSe
ports
power out p;
signal in effort;
restrictions
causality fixed out p;
end;
icon bg bottom
figures
text 'MSe' 504 96 color 0 18 bold;
end;
implementation eq
variables
real flow;
equations
p.e = effort;
flow = p.f;
implementation_end;
MSe1 72 168
description '
4.2
1
False
Bond Graph\MSe.emx
2011-11-29 16:12:33
';
type MSe
ports
power out p;
signal in effort;
restrictions
causality fixed out p;
end;
icon bg bottom
figures
text 'MSe' 72 168 color 0 18 bold;
end;
implementation eq
variables
real flow;
equations
p.e = effort;
flow = p.f;
implementation_end;
OneJunction 304 304
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 304 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction1 304 456
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 304 456 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction10 704 168
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [1];
signal knot out flow [1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 704 168 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction11 864 448
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 864 448 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction12 584 304
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 584 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction3 312 168
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [1];
signal knot out flow [1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 312 168 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction5 152.3 304
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 152.3 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction6 152 456
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 152 456 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction7 704 304
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 704 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction8 704 456
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 704 456 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
OneJunction9 864 304
description '
4.2
1
False
Bond Graph\OneJunction.emx
2011-11-29 16:17:51
';
knot OneJunction
ports
power knot duplicatable none p [2,1];
signal knot out flow [2,1];
restrictions
causality constraint one_out p;
end;
icon bg
figures
text '1' 864 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
implementation_end;
PlusMinus1 512 336
description '4.01False
Signal\Block Diagram\PlusMinus.emx
2007-9-27 10:15:13
';
knot PlusMinus
ports
signal knot duplicatable in plus [1];
signal knot duplicatable in minus [1];
signal knot out output [1];
end;
icon bg ellipse
figures
ellipse 504 328 520 344 color 0 fill 16777215;
end;
implementation eq
equations
output = sum (collect (plus)) - sum (collect (minus));
implementation_end;
RTF 304 368
description '
4.8
1
False
Bond Graph\2D\RTF-2.emx
2020-7-14 12:43:04
';
type 'TF-2'
ports
power in p1 [2,1];
power out p2 [2,1];
signal in angle {rad} ;
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'RTF' 304 368 color 0 18 bold;
end;
implementation eq
/*
2D rotation transformer. Takes an angle as input and then rotates the dimensions
*/
variables
real r[2,2];
equations
r = [cos(angle), -sin(angle); sin(angle), cos(angle)];
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
RTF1 512 304
description '
4.8
1
False
Bond Graph\2D\RTF-2.emx
2020-7-14 12:43:04
';
type 'TF-2'
ports
power in p1 [2,1];
power out p2 [2,1];
signal in angle {rad} ;
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'RTF' 512 304 color 0 18 bold;
end;
implementation eq
/*
2D rotation transformer. Takes an angle as input and then rotates the dimensions
*/
variables
real r[2,2];
equations
r = [cos(angle), -sin(angle); sin(angle), cos(angle)];
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
RTF2 152 368
description '
4.8
1
False
Bond Graph\2D\RTF-2.emx
2020-7-14 12:43:04
';
type 'TF-2'
ports
power in p1 [2,1];
power out p2 [2,1];
signal in angle {rad} ;
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'RTF' 152 368 color 0 18 bold;
end;
implementation eq
/*
2D rotation transformer. Takes an angle as input and then rotates the dimensions
*/
variables
real r[2,2];
equations
r = [cos(angle), -sin(angle); sin(angle), cos(angle)];
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
RTF3 704 368
description '
4.8
1
False
Bond Graph\2D\RTF-2.emx
2020-7-14 12:43:04
';
type 'TF-2'
ports
power in p1 [2,1];
power out p2 [2,1];
signal in angle {rad} ;
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'RTF' 704 368 color 0 18 bold;
end;
implementation eq
/*
2D rotation transformer. Takes an angle as input and then rotates the dimensions
*/
variables
real r[2,2];
equations
r = [cos(angle), -sin(angle); sin(angle), cos(angle)];
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
RTF4 864 360
description '
4.8
1
False
Bond Graph\2D\RTF-2.emx
2020-7-14 12:43:04
';
type 'TF-2'
ports
power in p1 [2,1];
power out p2 [2,1];
signal in angle {rad} ;
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'RTF' 864 360 color 0 18 bold;
end;
implementation eq
/*
2D rotation transformer. Takes an angle as input and then rotates the dimensions
*/
variables
real r[2,2];
equations
r = [cos(angle), -sin(angle); sin(angle), cos(angle)];
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
Splitter1 280 336
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
knot Splitter
ports
signal knot duplicatable out output [1];
signal knot in input [1];
end;
icon bg ellipse
figures
ellipse 276.8 332.8 283.2 339.2 color -1 fill 0;
ellipse 275.7 331.7 284.3 340.3 color -1;
terminals
input 280 336 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
Splitter2 680 336
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
knot Splitter
ports
signal knot duplicatable out output [1];
signal knot in input [1];
end;
icon bg ellipse
figures
ellipse 676.8 332.8 683.2 339.2 color -1 fill 0;
ellipse 675.7 331.7 684.3 340.3 color -1;
terminals
input 680 336 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
TF 384 224
description '
4.8
1
False
Bond Graph\2D\XTF-2.emx
2020-7-14 13:20:33
';
type 'TF-2'
ports
power in p1;
power out p2 [2,1];
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'XTF' 384 224 color 0 18 bold;
end;
implementation eq
parameters
real x;
real y;
variables
real r[2,1];
initialequations
r = [-y; x];
equations
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
TF1 232.3 224
description '
4.8
1
False
Bond Graph\2D\XTF-2.emx
2020-7-14 13:20:33
';
type 'TF-2'
ports
power in p1;
power out p2 [2,1];
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'XTF' 232.3 224 color 0 18 bold;
end;
implementation eq
parameters
real x;
real y;
variables
real r[2,1];
initialequations
r = [-y; x];
equations
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
TF2 784 224
description '
4.8
1
False
Bond Graph\2D\XTF-2.emx
2020-7-14 13:20:33
';
type 'TF-2'
ports
power in p1;
power out p2 [2,1];
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'XTF' 784 224 color 0 18 bold;
end;
implementation eq
parameters
real x;
real y;
variables
real r[2,1];
initialequations
r = [-y; x];
equations
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
TF3 632.3 224
description '
4.8
1
False
Bond Graph\2D\XTF-2.emx
2020-7-14 13:20:33
';
type 'TF-2'
ports
power in p1;
power out p2 [2,1];
restrictions
causality constraint not_equal p1 p2;
end;
icon bg bottom
figures
text 'XTF' 632.3 224 color 0 18 bold;
end;
implementation eq
parameters
real x;
real y;
variables
real r[2,1];
initialequations
r = [-y; x];
equations
p1.e = transpose (r) * p2.e;
p2.f = r * p1.f;
implementation_end;
ZeroJunction 384 304
description '
4.2
1
False
Bond Graph\ZeroJunction.emx
2011-11-29 16:45:16
';
knot ZeroJunction
ports
power knot duplicatable none p [2,1];
signal knot out effort [2,1];
restrictions
causality constraint one_in p;
end;
icon bg
figures
text '0' 384 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.f)) = 0;
equal (collect (p.e));
effort = first (p.e);
implementation_end;
ZeroJunction1 232.3 304
description '
4.2
1
False
Bond Graph\ZeroJunction.emx
2011-11-29 16:45:16
';
knot ZeroJunction
ports
power knot duplicatable none p [2,1];
signal knot out effort [2,1];
restrictions
causality constraint one_in p;
end;
icon bg
figures
text '0' 232.3 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.f)) = 0;
equal (collect (p.e));
effort = first (p.e);
implementation_end;
ZeroJunction2 784 304
description '
4.2
1
False
Bond Graph\ZeroJunction.emx
2011-11-29 16:45:16
';
knot ZeroJunction
ports
power knot duplicatable none p [2,1];
signal knot out effort [2,1];
restrictions
causality constraint one_in p;
end;
icon bg
figures
text '0' 784 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.f)) = 0;
equal (collect (p.e));
effort = first (p.e);
implementation_end;
ZeroJunction3 632.3 304
description '
4.2
1
False
Bond Graph\ZeroJunction.emx
2011-11-29 16:45:16
';
knot ZeroJunction
ports
power knot duplicatable none p [2,1];
signal knot out effort [2,1];
restrictions
causality constraint one_in p;
end;
icon bg
figures
text '0' 632.3 304 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.f)) = 0;
equal (collect (p.e));
effort = first (p.e);
implementation_end;
ZeroJunction4 504 168
description '
4.2
1
False
Bond Graph\ZeroJunction.emx
2011-11-29 16:45:16
';
knot ZeroJunction
ports
power knot duplicatable none p [1];
signal knot out effort [1];
restrictions
causality constraint one_in p;
end;
icon bg
figures
text '0' 504 168 color 0 18 bold;
end;
implementation eq
equations
sum (direct (p.f)) = 0;
equal (collect (p.e));
effort = first (p.e);
implementation_end;
end;
connections
Integrate\output -> Splitter1\input;
Integrate1\output -> Splitter2\input;
MSe1\p => OneJunction3\p;
OneJunction\p => RTF\p1;
OneJunction\p => ZeroJunction\p;
OneJunction\p => ZeroJunction1\p;
OneJunction10\flow -> Integrate1\input;
OneJunction10\p => TF2\p1;
OneJunction10\p => TF3\p1;
OneJunction3\flow -> Integrate\input;
OneJunction3\p => TF\p1;
OneJunction3\p => TF1\p1;
OneJunction3\p => ZeroJunction4\p;
OneJunction5\p => RTF2\p1;
OneJunction7\p => RTF3\p1;
OneJunction7\p => ZeroJunction2\p;
OneJunction7\p => ZeroJunction3\p;
OneJunction9\p => RTF4\p1;
PlusMinus1\output -> RTF1\angle;
RTF\p2 => OneJunction1\p;
RTF1\p2 => OneJunction12\p;
RTF2\p2 => OneJunction6\p;
RTF3\p2 => OneJunction8\p;
RTF4\p2 => OneJunction11\p;
Splitter1\output -> PlusMinus1\plus;
Splitter1\output -> RTF\angle 280 344;
Splitter1\output -> RTF2\angle 176 336;
Splitter2\output -> PlusMinus1\minus;
Splitter2\output -> RTF3\angle 680 344;
Splitter2\output -> RTF4\angle 832 336;
TF\p2 => ZeroJunction\p;
TF1\p2 => ZeroJunction1\p;
TF2\p2 => ZeroJunction2\p;
TF3\p2 => ZeroJunction3\p;
ZeroJunction\p => RTF1\p1;
ZeroJunction1\p => OneJunction5\p;
ZeroJunction2\p => OneJunction9\p;
ZeroJunction3\p => OneJunction12\p;
ZeroJunction4\p <= MSe\p;
ZeroJunction4\p => OneJunction10\p;
end;
implementation_end;
]]>
Experiment 1
4.8
time
GraphPlot
1
false
16777215
true
true
15780518
12624260
0
10
10
10
false
16777215
true
1
model
true
Arial
12
34
400
0
0
0
0
Arial
12
34
400
0
0
0
0
Arial
10
34
400
0
0
0
0
Arial
12
34
400
0
0
0
0
true
true
false
0.0
10.0
true
3
0.0
10.0
true
2
3355111
1
3355111
0
true
1
1
1
true
true
time
true
0
16777215
1
true
Window 1
0
1
Base
0.0
10.0
false
false
false
false
0.1
1.0e-6
1.0e-7
false
true
Euler
0.01
false
BackwardEuler
1.0e-5
1.0e-5
1.0e-5
1.0e-5
0.01
1.0
AdamsBashforth
0.01
false
RungeKutta2
0.01
false
RungeKutta4
0.01
false
RungeKutta8
false
0.001
false
1.0
1.0e-6
1.0e-6
0.9
0.33
6.0
0.0
false
100000
false
1000
RungeKuttaFehlberg
false
0.001
false
1.0
1.0e-6
1.0e-6
VodeAdams
false
0.001
false
1.0
1.0e-6
1.0e-6
true
true
BDFMethod
1.0e-5
1.0e-5
1.0e-5
1.0e-5
false
0.001
false
1.0
MeBDFiMethod
1.0e-5
1.0e-5
1.0e-5
1.0e-5
false
0.001
false
1.0
8
10
false
true
true
false
true
0
0.0
true
MultipleRun
true
UseEndValue
0.001
BroydonFletcherGoldfarbShanno
true
true
true
true
false
time