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 + + +
-
+