diff --git a/implementation/SCARA/02_physics/scara_physics.emx b/implementation/SCARA/02_physics/scara_physics.emx
index dbaef40..0745ec1 100644
--- a/implementation/SCARA/02_physics/scara_physics.emx
+++ b/implementation/SCARA/02_physics/scara_physics.emx
@@ -8,7 +8,7 @@
0
False
C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\02_physics\scara_physics.emx
- 2020-7-14 15:30:34
+ 2020-7-14 17:29:22
parameters
@@ -30,301 +30,609 @@ initialequations
end;
implementation bg
submodels
- Constant 80 96
- description '4.01False
- Signal\Sources\Constant.emx
- 2007-10-19 14:48:44
-';
- type Constant
+ COM1 304 520
+ description '4.81parameters
+ real mass = 1 {kg};';
+ type Submodel
ports
- signal out output;
+ power in p [2,1];
+ signal in mass {kg} ;
end;
- icon bg bottom
+ icon bg ellipse bottom
figures
- rectangle 64.1 80 95.9 112 color 0 fill 15132390;
- line 68.9 91.6 90.9 91.6 color 16711680 width 2;
- line 66.2 102.7 91.9 102.7 color 0;
- line 68.5 86.7 68.5 105 color 0;
+ ellipse 296 512 312 528 color 0 fill 15132390;
+ line 304 512 304 528 color 0 fill 15132390;
+ line 296 520 312 520 color 0 fill 15132390;
end;
- implementation eq
-parameters
- real C = 1.0; // output value
+ implementation bg
+ submodels
+ Gain 368 408
+ description '4.01False
+ Signal\Block Diagram\Gain.emx
+ 2007-9-26 12:15:12
+';
+ type Gain
+ ports
+ signal in input;
+ signal out output [2,1];
+ end;
+ icon bg bottom
+ figures
+ rectangle 352.1 392 383.9 424 color 0 fill 15132390;
+ text 'K' 368 408 color 16711680 16 bold;
+ end;
+ implementation eq
equations
- output = C;
- implementation_end;
- I 312 112
- description '
-
- 4.2
-1
- False
- Bond Graph\I.emx
- 2011-11-29 15:55:55
-
-';
- type I
- ports
- power in p;
- signal out state;
- signal in i;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 312 112 color 0 18 bold;
- end;
- implementation eq
+ output = [0;-g_n] * input;
+ implementation_end;
+ I 248 520
+ description '4.01False
+ Bond Graph\2D\I-2.emx
+ 2007-9-25 12:7:37
+';
+ type 'I-2'
+ ports
+ power in p [2,1];
+ signal out state [2,1];
+ signal in mass {kg} ;
+ restrictions
+ causality preferred in p;
+ end;
+ icon bg bottom
+ figures
+ text 'I' 248 520 color 0 18 bold;
+ end;
+ implementation eq
equations
state = int(p.e);
- p.f = state / i;
+ p.f = inverse ([mass,0;0,mass]) * state;
implementation_end;
- I1 704 112
- description '
-
- 4.2
-1
- False
- Bond Graph\I.emx
- 2011-11-29 15:55:55
-
-';
- type I
- ports
- power in p;
- signal out state;
- signal in i;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 704 112 color 0 18 bold;
- end;
- implementation eq
+ plug p 304 468;
+ plug mass 208 408;
+ OneJunction2 304 520
+ description '4.01False
+ Bond Graph\OneJunction.emx
+ 2007-9-27 9:51:18
+';
+ 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 520 color 0 18 bold;
+ end;
+ implementation eq
equations
- state = int(p.e);
- p.f = state / i;
+ sum (direct (p.e)) = 0;
+ equal (collect (p.f));
+ flow = first (p.f);
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
+ Sg 368 520
+ description '4.01False
+ Bond Graph\2D\MSe-2.emx
+ 2007-9-25 12:7:58
+';
+ type 'MSe-2'
+ ports
+ power out p [2,1];
+ signal in effort [2,1];
+ restrictions
+ causality fixed out p;
+ end;
+ icon bg bottom
+ figures
+ text 'MSe' 368 520 color 0 18 bold;
+ end;
+ implementation eq
variables
- real flow;
+ real flow[2];
equations
p.e = effort;
flow = p.f;
implementation_end;
- MSe1 168 168
- description '
-
- 4.2
+ Splitter1 248 408
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
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' 168 168 color 0 18 bold;
- end;
- implementation eq
-variables
- real flow;
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 244.8 404.8 251.2 411.2 color -1 fill 0;
+ ellipse 243.7 403.7 252.3 412.3 color -1;
+ terminals
+ input 248 408 fixed;
+ end;
+ implementation eq
equations
- p.e = effort;
- flow = p.f;
+ collect (output) = input;
implementation_end;
- OneJunction 304 304
- description '
-
- 4.2
-1
- False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
-
-';
- knot OneJunction
+ end;
+ connections
+ Gain\output -> Sg\effort;
+ I\p <= OneJunction2\p;
+ mass -> Splitter1\input;
+ p => OneJunction2\p;
+ Sg\p => OneJunction2\p;
+ Splitter1\output -> Gain\input;
+ Splitter1\output -> I\mass;
+ end;
+ implementation_end;
+ COM2 704 520
+ description '4.81parameters
+ real mass = 1 {kg};';
+ type Submodel
ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
+ power in p [2,1];
+ signal in mass {kg} ;
end;
- icon bg
+ icon bg ellipse
figures
- text '1' 304 304 color 0 18 bold;
+ ellipse 696 512 712 528 color 0 fill 15132390;
+ line 704 512 704 528 color 0 fill 15132390;
+ line 696 520 712 520 color 0 fill 15132390;
end;
- implementation eq
-equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ implementation bg
+ submodels
+ Gain 368 408
+ description '4.01False
+ Signal\Block Diagram\Gain.emx
+ 2007-9-26 12:15:12
+';
+ type Gain
+ ports
+ signal in input;
+ signal out output [2,1];
+ end;
+ icon bg bottom
+ figures
+ rectangle 352.1 392 383.9 424 color 0 fill 15132390;
+ text 'K' 368 408 color 16711680 16 bold;
+ end;
+ implementation eq
+equations
+ output = [0;-g_n] * input;
+ implementation_end;
+ I 248 520
+ description '4.01False
+ Bond Graph\2D\I-2.emx
+ 2007-9-25 12:7:37
+';
+ type 'I-2'
+ ports
+ power in p [2,1];
+ signal out state [2,1];
+ signal in mass {kg} ;
+ restrictions
+ causality preferred in p;
+ end;
+ icon bg bottom
+ figures
+ text 'I' 248 520 color 0 18 bold;
+ end;
+ implementation eq
+equations
+ state = int(p.e);
+ p.f = inverse ([mass,0;0,mass]) * state;
implementation_end;
- OneJunction1 304 456
- description '
-
- 4.2
+ plug p 304 468;
+ plug mass 208 408;
+ OneJunction2 304 520
+ description '4.01False
+ Bond Graph\OneJunction.emx
+ 2007-9-27 9:51:18
+';
+ 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 520 color 0 18 bold;
+ end;
+ implementation eq
+equations
+ sum (direct (p.e)) = 0;
+ equal (collect (p.f));
+ flow = first (p.f);
+implementation_end;
+ Sg 368 520
+ description '4.01False
+ Bond Graph\2D\MSe-2.emx
+ 2007-9-25 12:7:58
+';
+ type 'MSe-2'
+ ports
+ power out p [2,1];
+ signal in effort [2,1];
+ restrictions
+ causality fixed out p;
+ end;
+ icon bg bottom
+ figures
+ text 'MSe' 368 520 color 0 18 bold;
+ end;
+ implementation eq
+variables
+ real flow[2];
+equations
+ p.e = effort;
+ flow = p.f;
+implementation_end;
+ Splitter1 248 408
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
1
- False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
-
-';
- knot OneJunction
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 244.8 404.8 251.2 411.2 color -1 fill 0;
+ ellipse 243.7 403.7 252.3 412.3 color -1;
+ terminals
+ input 248 408 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ end;
+ connections
+ Gain\output -> Sg\effort;
+ I\p <= OneJunction2\p;
+ mass -> Splitter1\input;
+ p => OneJunction2\p;
+ Sg\p => OneJunction2\p;
+ Splitter1\output -> Gain\input;
+ Splitter1\output -> I\mass;
+ end;
+ implementation_end;
+ Constant 80 96
+ description '4.01False
+ Signal\Sources\Constant.emx
+ 2007-10-19 14:48:44
+';
+ type Constant
ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
+ signal out output;
end;
- icon bg
+ icon bg bottom
figures
- text '1' 304 456 color 0 18 bold;
+ rectangle 64.1 80 95.9 112 color 0 fill 15132390;
+ line 68.9 91.6 90.9 91.6 color 16711680 width 2;
+ line 66.2 102.7 91.9 102.7 color 0;
+ line 68.5 86.7 68.5 105 color 0;
end;
implementation eq
+parameters
+ real C = 0.0; // output value
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
-implementation_end;
- OneJunction10 704 168
+ output = C;
+ implementation_end;
+ I 312 112
description '
4.2
1
False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
+ Bond Graph\I.emx
+ 2011-11-29 15:55:55
';
- knot OneJunction
+ type I
ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
+ power in p;
+ signal out state;
+ signal in i;
restrictions
- causality constraint one_out p;
+ causality preferred in p;
end;
- icon bg
+ icon bg bottom
figures
- text '1' 704 168 color 0 18 bold;
+ text 'I' 312 112 color 0 18 bold;
end;
implementation eq
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ state = int(p.e);
+ p.f = state / i;
implementation_end;
- OneJunction11 864 448
+ I1 704 112
description '
4.2
1
False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
+ Bond Graph\I.emx
+ 2011-11-29 15:55:55
';
- knot OneJunction
+ type I
ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
+ power in p;
+ signal out state;
+ signal in i;
restrictions
- causality constraint one_out p;
+ causality preferred in p;
end;
- icon bg
+ icon bg bottom
figures
- text '1' 864 448 color 0 18 bold;
+ text 'I' 704 112 color 0 18 bold;
end;
implementation eq
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ state = int(p.e);
+ p.f = state / i;
implementation_end;
- OneJunction12 584 304
+ MSe 504 96
description '
4.2
1
False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
+ Bond Graph\MSe.emx
+ 2011-11-29 16:12:33
';
- knot OneJunction
+ type MSe
ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
+ power out p;
+ signal in effort;
restrictions
- causality constraint one_out p;
+ causality fixed out p;
end;
- icon bg
+ icon bg bottom
figures
- text '1' 584 304 color 0 18 bold;
+ text 'MSe' 504 96 color 0 18 bold;
end;
implementation eq
+variables
+ real flow;
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ p.e = effort;
+ flow = p.f;
implementation_end;
- OneJunction3 312 168
+ MSe1 168 168
description '
4.2
1
False
- Bond Graph\OneJunction.emx
- 2011-11-29 16:17:51
+ Bond Graph\MSe.emx
+ 2011-11-29 16:12:33
';
- knot OneJunction
+ type MSe
ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
+ power out p;
+ signal in effort;
restrictions
- causality constraint one_out p;
+ causality fixed out p;
end;
- icon bg
+ icon bg bottom
figures
- text '1' 312 168 color 0 18 bold;
+ text 'MSe' 168 168 color 0 18 bold;
end;
implementation eq
+variables
+ real flow;
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ p.e = effort;
+ flow = p.f;
implementation_end;
- OneJunction5 152.3 304
+ MXTF 232.3 224
+ description '
+
+ 4.8
+1
+ False
+ Z:\home\wouter\Documents\20-sim\library\Bond Graph\2D\MXTF-2.emx
+ 2020-7-14 17:06:13
+True
+
+';
+ type 'TF-2'
+ ports
+ power in p1;
+ power out p2 [2,1];
+ signal in p [2,1];
+ restrictions
+ causality constraint not_equal p1 p2;
+ causality fixed in p2;
+ causality fixed out p1;
+ end;
+ icon bg bottom
+ figures
+ text 'MXTF' 232.3 224 color 0 18 bold;
+ end;
+ implementation eq
+variables
+ real r[2];
+equations
+ r = [-p[2];p[1]];
+ p1.e = transpose (r) * p2.e;
+ p2.f = r * p1.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
@@ -478,6 +786,54 @@ implementation_end;
equations
output = sum (collect (plus)) - sum (collect (minus));
implementation_end;
+ R 368 120
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\R.emx
+ 2011-11-29 16:35:37
+
+';
+ type R
+ ports
+ power in p;
+ end;
+ icon bg bottom
+ figures
+ text 'R' 368 120 color 0 18 bold;
+ end;
+ implementation eq
+parameters
+ real r = 0.00000001;
+equations
+ p.e = r * p.f;
+implementation_end;
+ R1 504 216
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\R.emx
+ 2011-11-29 16:35:37
+
+';
+ type R
+ ports
+ power in p;
+ end;
+ icon bg bottom
+ figures
+ text 'R' 504 216 color 0 18 bold;
+ end;
+ implementation eq
+parameters
+ real r = 0.00001;
+equations
+ p.e = r * p.f;
+implementation_end;
RTF 304 392
description '
@@ -648,363 +1004,94 @@ implementation_end;
Bond Graph\2D\Sf-2.emx
2007-9-25 12:7:5
';
- type 'Sf-2'
- ports
- power out p [2,1];
- restrictions
- causality fixed in p;
- end;
- icon bg bottom
- figures
- text 'Sf' 72 456 color 0 18 bold;
- end;
- implementation eq
-parameters
- real flow[2,1] = [0.0; 0.0];
-variables
- real effort [2];
-equations
- p.f = flow;
- effort = p.e;
-implementation_end;
- Splitter1 264 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 260.8 332.8 267.2 339.2 color -1 fill 0;
- ellipse 259.7 331.7 268.3 340.3 color -1;
- terminals
- input 264 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;
- Splitter3 168 96
- 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 164.8 92.8 171.2 99.2 color -1 fill 0;
- ellipse 163.7 91.7 172.3 100.3 color -1;
- terminals
- input 168 96 fixed;
- end;
- implementation eq
-equations
- collect (output) = input;
-implementation_end;
- Submodel1 304 528
- description '4.81parameters
- real mass = 1 {kg};';
- type Submodel
- ports
- power in p [2,1];
- signal in mass {kg} ;
- end;
- implementation bg
- submodels
- Gain 368 408
- description '4.01False
- Signal\Block Diagram\Gain.emx
- 2007-9-26 12:15:12
-';
- type Gain
- ports
- signal in input;
- signal out output [2,1];
- end;
- icon bg bottom
- figures
- rectangle 352.1 392 383.9 424 color 0 fill 15132390;
- text 'K' 368 408 color 16711680 16 bold;
- end;
- implementation eq
-equations
- output = [0;-g_n] * input;
- implementation_end;
- I 248 520
- description '4.01False
- Bond Graph\2D\I-2.emx
- 2007-9-25 12:7:37
-';
- type 'I-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- signal in mass {kg} ;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 248 520 color 0 18 bold;
- end;
- implementation eq
-equations
- state = int(p.e);
- p.f = inverse ([mass,0;0,mass]) * state;
-implementation_end;
- plug p 304 468;
- plug mass 208 408;
- OneJunction2 304 520
- description '4.01False
- Bond Graph\OneJunction.emx
- 2007-9-27 9:51:18
-';
- 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 520 color 0 18 bold;
- end;
- implementation eq
-equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
-implementation_end;
- Sg 368 520
- description '4.01False
- Bond Graph\2D\MSe-2.emx
- 2007-9-25 12:7:58
-';
- type 'MSe-2'
- ports
- power out p [2,1];
- signal in effort [2,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 368 520 color 0 18 bold;
- end;
- implementation eq
-variables
- real flow[2];
-equations
- p.e = effort;
- flow = p.f;
-implementation_end;
- Splitter1 248 408
- 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 244.8 404.8 251.2 411.2 color -1 fill 0;
- ellipse 243.7 403.7 252.3 412.3 color -1;
- terminals
- input 248 408 fixed;
- end;
- implementation eq
-equations
- collect (output) = input;
-implementation_end;
- end;
- connections
- Gain\output -> Sg\effort;
- I\p <= OneJunction2\p;
- mass -> Splitter1\input;
- p => OneJunction2\p;
- Sg\p => OneJunction2\p;
- Splitter1\output -> Gain\input;
- Splitter1\output -> I\mass;
- end;
- implementation_end;
- Submodel2 704 528
- description '4.81parameters
- real mass = 1 {kg};';
- type Submodel
- ports
- power in p [2,1];
- signal in mass {kg} ;
- end;
- icon bg
- figures
- rectangle 664 512 744 544 fill 15132390;
- text 'name' 704 528 16;
- end;
- implementation bg
- submodels
- Gain 368 408
- description '4.01False
- Signal\Block Diagram\Gain.emx
- 2007-9-26 12:15:12
-';
- type Gain
- ports
- signal in input;
- signal out output [2,1];
- end;
- icon bg bottom
- figures
- rectangle 352.1 392 383.9 424 color 0 fill 15132390;
- text 'K' 368 408 color 16711680 16 bold;
- end;
- implementation eq
-equations
- output = [0;-g_n] * input;
- implementation_end;
- I 248 520
- description '4.01False
- Bond Graph\2D\I-2.emx
- 2007-9-25 12:7:37
-';
- type 'I-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- signal in mass {kg} ;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 248 520 color 0 18 bold;
- end;
- implementation eq
+ type 'Sf-2'
+ ports
+ power out p [2,1];
+ restrictions
+ causality fixed in p;
+ end;
+ icon bg bottom
+ figures
+ text 'Sf' 72 456 color 0 18 bold;
+ end;
+ implementation eq
+parameters
+ real flow[2,1] = [0.0; 0.0];
+variables
+ real effort [2];
equations
- state = int(p.e);
- p.f = inverse ([mass,0;0,mass]) * state;
+ p.f = flow;
+ effort = p.e;
implementation_end;
- plug p 304 468;
- plug mass 208 408;
- OneJunction2 304 520
- description '4.01False
- Bond Graph\OneJunction.emx
- 2007-9-27 9:51:18
+ Splitter1 264 336
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
';
- 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 520 color 0 18 bold;
- end;
- implementation eq
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 260.8 332.8 267.2 339.2 color -1 fill 0;
+ ellipse 259.7 331.7 268.3 340.3 color -1;
+ terminals
+ input 264 336 fixed;
+ end;
+ implementation eq
equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
+ collect (output) = input;
implementation_end;
- Sg 368 520
- description '4.01False
- Bond Graph\2D\MSe-2.emx
- 2007-9-25 12:7:58
+ Splitter2 680 336
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
';
- type 'MSe-2'
- ports
- power out p [2,1];
- signal in effort [2,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 368 520 color 0 18 bold;
- end;
- implementation eq
-variables
- real flow[2];
+ 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
- p.e = effort;
- flow = p.f;
+ collect (output) = input;
implementation_end;
- Splitter1 248 408
- description '4.0
+ Splitter3 168 96
+ 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 244.8 404.8 251.2 411.2 color -1 fill 0;
- ellipse 243.7 403.7 252.3 412.3 color -1;
- terminals
- input 248 408 fixed;
- end;
- implementation eq
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 164.8 92.8 171.2 99.2 color -1 fill 0;
+ ellipse 163.7 91.7 172.3 100.3 color -1;
+ terminals
+ input 168 96 fixed;
+ end;
+ implementation eq
equations
collect (output) = input;
implementation_end;
- end;
- connections
- Gain\output -> Sg\effort;
- I\p <= OneJunction2\p;
- mass -> Splitter1\input;
- p => OneJunction2\p;
- Sg\p => OneJunction2\p;
- Splitter1\output -> Gain\input;
- Splitter1\output -> I\mass;
- end;
- implementation_end;
Submodel3 224 416
description '4.0
Template\Submodel-Equation.emx
@@ -1021,16 +1108,18 @@ implementation_end;
signal out position [2,1] {m} ;
signal out mass {kg} ;
signal out angular_momentum {N.m.s} ;
+ signal out joint1 [2,1];
+ signal out joint2 [2,1];
end;
implementation eq
/* Equation Submodel
Enter your equations here. You can use the Toolbar buttons at the top ( Add , f(x) etc. ).
*/
parameters
- real density = 1 {kg/m3};
- real dimension[3] = [1;1;1] {m};
- real initial_position[2] = [0;0] {m};
- real initial_angle = 0 {rad};
+ real density = 1400 {kg/m3};
+ real dimension[3] = [0.005;0.01;0.065] {m};
+ real initial_position[2] = [0;0.0325] {m};
+ real initial_angle = 0.00001 {rad};
variables
real body_angle[3];
real body_position[3];
@@ -1047,6 +1136,8 @@ equations
body_angle = [angle;0;0];
position = int(velocity,initial_position);
body_position = [0; position[1];position[2]];
+ joint1=[0;-dimension[3]/2];
+ joint2=[0;dimension[3]/2];
implementation_end;
Submodel4 624 416
@@ -1065,16 +1156,23 @@ equations
signal out position [2,1] {m} ;
signal out mass {kg} ;
signal out angular_momentum {N.m.s} ;
+ signal out joint1 [2,1];
+ signal out joint2 [2,1];
+ end;
+ icon bg
+ figures
+ rectangle 584 400 664 432 color 0 fill 15132390;
+ text 'name' 624 416 color 0 16;
end;
implementation eq
/* Equation Submodel
Enter your equations here. You can use the Toolbar buttons at the top ( Add , f(x) etc. ).
*/
parameters
- real density = 1 {kg/m3};
- real dimension[3] = [1;1;1] {m};
- real initial_position[2] = [0;0] {m};
- real initial_angle = 0.01 {rad};
+ real density = 1400 {kg/m3};
+ real dimension[3] = [0.005;0.01;0.05] {m};
+ real initial_position[2] = [0.0;0.09] {m};
+ real initial_angle = 0.0 {rad};
variables
real body_angle[3];
real body_position[3];
@@ -1091,6 +1189,8 @@ equations
body_angle = [angle;0;0];
position = int(velocity,initial_position);
body_position = [0; position[1];position[2]];
+ joint1=[0;-dimension[3]/2];
+ joint2=[0;dimension[3]/2];
implementation_end;
TF 384 224
@@ -1099,8 +1199,8 @@ equations
4.8
1
False
- Bond Graph\2D\XTF-2.emx
- 2020-7-14 15:06:10
+ Z:\home\wouter\Documents\20-sim\library\Bond Graph\2D\MXTF-2.emx
+ 2020-7-14 16:54:28
True
';
@@ -1108,6 +1208,7 @@ equations
ports
power in p1;
power out p2 [2,1];
+ signal in p [2,1];
restrictions
causality constraint not_equal p1 p2;
causality fixed in p2;
@@ -1115,28 +1216,23 @@ equations
end;
icon bg bottom
figures
- text 'XTF' 384 224 color 0 18 bold;
+ text 'MXTF' 384 224 color 0 18 bold;
end;
implementation eq
-parameters
- real x;
- real y;
variables
- real r[2,1];
-initialequations
- r = [-y; x];
+ real r[2];
equations
+ r = [-p[2];p[1]];
p1.e = transpose (r) * p2.e;
- p2.f = r * p1.f;
-implementation_end;
+ p2.f = r * p1.f;implementation_end;
TF2 784 224
description '
4.8
1
False
- Bond Graph\2D\XTF-2.emx
- 2020-7-14 15:06:10
+ Z:\home\wouter\Documents\20-sim\library\Bond Graph\2D\MXTF-2.emx
+ 2020-7-14 17:06:13
True
';
@@ -1144,6 +1240,7 @@ implementation_end;
ports
power in p1;
power out p2 [2,1];
+ signal in p [2,1];
restrictions
causality constraint not_equal p1 p2;
causality fixed in p2;
@@ -1151,64 +1248,23 @@ implementation_end;
end;
icon bg bottom
figures
- text 'XTF' 784 224 color 0 18 bold;
+ text 'MXTF' 784 224 color 0 18 bold;
end;
implementation eq
-parameters
- real x;
- real y;
variables
- real r[2,1];
-initialequations
- r = [-y; x];
+ real r[2];
equations
+ r = [-p[2];p[1]];
p1.e = transpose (r) * p2.e;
- p2.f = r * p1.f;
-implementation_end;
+ 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 15:06:10
-True
-
-';
- type 'TF-2'
- ports
- power in p1;
- power out p2 [2,1];
- restrictions
- causality constraint not_equal p1 p2;
- causality fixed in p2;
- causality fixed out p1;
- 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;
- XTF 232.3 224
- description '
-
- 4.8
-1
- False
- Bond Graph\2D\XTF-2.emx
- 2020-7-14 15:06:10
+ Z:\home\wouter\Documents\20-sim\library\Bond Graph\2D\MXTF-2.emx
+ 2020-7-14 16:54:28
True
';
@@ -1216,6 +1272,7 @@ implementation_end;
ports
power in p1;
power out p2 [2,1];
+ signal in p [2,1];
restrictions
causality constraint not_equal p1 p2;
causality fixed in p2;
@@ -1223,20 +1280,15 @@ implementation_end;
end;
icon bg bottom
figures
- text 'XTF' 232.3 224 color 0 18 bold;
+ text 'MXTF' 632.3 224 color 0 18 bold;
end;
implementation eq
-parameters
- real x;
- real y;
variables
- real r[2,1];
-initialequations
- r = [-y; x];
+ real r[2];
equations
+ r = [-p[2];p[1]];
p1.e = transpose (r) * p2.e;
- p2.f = r * p1.f;
-implementation_end;
+ p2.f = r * p1.f;implementation_end;
ZeroJunction 384 304
description '
@@ -1378,24 +1430,26 @@ implementation_end;
I\p <= OneJunction3\p;
I1\p <= OneJunction10\p;
MSe1\p => OneJunction3\p;
+ MXTF\p2 => ZeroJunction1\p;
OneJunction\p => RTF\p1;
OneJunction\p => ZeroJunction\p;
OneJunction\p => ZeroJunction1\p;
OneJunction1\flow -> Submodel3\velocity 224 456;
- OneJunction1\p => Submodel1\p;
+ OneJunction1\p => COM1\p;
OneJunction10\flow -> Submodel4\angle_velocity 608 224 608 360;
OneJunction10\p => TF2\p1;
OneJunction10\p => TF3\p1;
OneJunction3\flow -> Submodel3\angle_velocity 208 200 208 376;
+ OneJunction3\p => MXTF\p1;
+ OneJunction3\p => R\p;
OneJunction3\p => TF\p1;
- OneJunction3\p => XTF\p1;
OneJunction3\p => ZeroJunction4\p;
OneJunction5\p => RTF2\p1;
OneJunction7\p => RTF3\p1;
OneJunction7\p => ZeroJunction2\p;
OneJunction7\p => ZeroJunction3\p;
OneJunction8\flow -> Submodel4\velocity 624 456;
- OneJunction8\p => Submodel2\p;
+ OneJunction8\p => COM2\p;
OneJunction9\p => RTF4\p1;
PlusMinus1\output -> RTF1\angle;
RTF\p2 => OneJunction1\p;
@@ -1414,20 +1468,24 @@ implementation_end;
Splitter3\output -> MSe1\effort;
Submodel3\angle -> Splitter1\input 248 384 248 352;
Submodel3\angular_momentum -> I\i 200 376 200 200;
- Submodel3\mass -> Submodel1\mass 216 440 216 464 296 464 296 504;
+ Submodel3\joint1 -> MXTF\p 272 256;
+ Submodel3\joint2 -> TF\p;
+ Submodel3\mass -> COM1\mass 216 440 216 464 296 464 296 504;
Submodel4\angle -> Splitter2\input;
Submodel4\angular_momentum -> I1\i 600 360 600 224;
- Submodel4\mass -> Submodel2\mass 616 464 696 488;
+ Submodel4\joint1 -> TF3\p;
+ Submodel4\joint2 -> TF2\p;
+ Submodel4\mass -> COM2\mass 616 464 616 520;
TF\p2 => ZeroJunction\p;
TF2\p2 => ZeroJunction2\p;
TF3\p2 => ZeroJunction3\p;
- XTF\p2 => ZeroJunction1\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;
+ ZeroJunction4\p => R1\p;
end;
implementation_end;
]]>
@@ -1448,38 +1506,6 @@ implementation_end;
-
- TF\x
- 0
-
-
- TF\y
- 0
-
-
- TF2\x
- 0
-
-
- TF2\y
- 0
-
-
- TF3\x
- 0
-
-
- TF3\y
- 0
-
-
- XTF\x
- 0
-
-
- XTF\y
- 0
-
@@ -1491,13 +1517,13 @@ implementation_end;
0
- Submodel1\I\p.e_initial
+ COM1\I\p.e_initial
2
1
0 0
- Submodel2\I\p.e_initial
+ COM2\I\p.e_initial
2
1
0 0
@@ -1509,6 +1535,24 @@ implementation_end;
time
Submodel4\position[2]
Submodel4\position[1]
+ Submodel3\body_position[1]
+ Submodel3\body_position[2]
+ Submodel3\body_position[3]
+ Submodel3\body_angle[1]
+ Submodel3\body_angle[2]
+ Submodel3\body_angle[3]
+ Submodel3\dimension[1]
+ Submodel3\dimension[2]
+ Submodel3\dimension[3]
+ Submodel4\dimension[1]
+ Submodel4\dimension[2]
+ Submodel4\dimension[3]
+ Submodel4\body_angle[1]
+ Submodel4\body_angle[2]
+ Submodel4\body_angle[3]
+ Submodel4\body_position[1]
+ Submodel4\body_position[2]
+ Submodel4\body_position[3]
@@ -1581,8 +1625,8 @@ implementation_end;
false
- -1.0
- 1.0
+ -0.09018649661710011
+ 0.0899326084824357
true
3
@@ -1590,8 +1634,8 @@ implementation_end;
- -0.5000000000000001
- 0.5
+ -0.1
+ 0.1
true
1
@@ -2236,36 +2280,36 @@ implementation_end;
Camera Looking at Origin
- 8.08601856717543
+ 2.76127713468209
- 3.82396406524929
+ 0.182591634017352
- 3.99920023992003
+ 2.3434295155844
- -0.825275814177106
+ -0.761470091577479
- -0.390281698108316
+ -0.0503528119398566
- -0.408166665292506
+ -0.646241358907595
- -0.368986018117198
+ -0.644833091581157
- -0.174497407115461
+ -0.0426400980841132
- 0.912907428682665
+ 0.763133085403368
Direct3D
@@ -2289,6 +2333,15 @@ implementation_end;
-10.0
true
+
+ -9.99200722162641e-016
+
+
+ 1.76247905159244e-015
+
+
+ -3.05678199886544e-015
+
true
@@ -2483,68 +2536,20 @@ implementation_end;
false
false
-
- Center
- 1.0
- true
- 4
+
- 1
+ 10
- 1
+ 10
- 1
+ 10
- true
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1.0
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- true
-
-
- 0.498039215686275
-
-
- 0.498039215686275
-
-
- 0.498039215686275
-
-
-
-
-
- 14.298713684082
-
- false
false
- Block
+ Reference Frame
@@ -2559,8 +2564,218 @@ implementation_end;
false
false
+
+ Center
+ 1.0
+ true
+ 4
+
+
+ Submodel3\dimension[1]
+ 0.005
+
+
+ Submodel3\dimension[2]
+ 0.01
+
+
+ Submodel3\dimension[3]
+ 0.065
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.498039215686275
+
+
+ 0.498039215686275
+
+
+ 0.498039215686275
+
+
+
+
+
+ 14.298713684082
+
+ false
+ false
+ Block
+
+
+ Submodel3\body_position[1]
+ 0.0
+
+
+ Submodel3\body_position[2]
+ 0.01353094798615309
+
+
+ Submodel3\body_position[3]
+ 0.029525982328835566
+
+
+
+
+
+ Submodel3\body_angle[1]
+ 12.13887841310187
+
+
+ Submodel3\body_angle[2]
+ 0.0
+
+
+ Submodel3\body_angle[3]
+ 0.0
+
+
+ Euler
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+ Center
+ 1.0
+ true
+ 4
+
+
+ Submodel4\dimension[1]
+ 0.005
+
+
+ Submodel4\dimension[2]
+ 0.01
+
+
+ Submodel4\dimension[3]
+ 0.05
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.5
+
+
+ 0.5
+
+
+ 0.5
+
+
+
+
+
+ 15
+
+ false
+ false
+ Block
+
+
+ Submodel4\body_position[1]
+ 0.0
+
+
+ Submodel4\body_position[2]
+ 0.022454019332912738
+
+
+ Submodel4\body_position[3]
+ 0.03555033739412045
+
+
+
+
+
+ Submodel4\body_angle[1]
+ 97.21743686567467
+
+
+ Submodel4\body_angle[2]
+ 0.0
+
+
+ Submodel4\body_angle[3]
+ 0.0
+
+
+ Euler
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
-
+