您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

6107 行
178KB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Document>
  3. <Model version="4.8" build="4.8.2.10124">
  4. <Sidops><![CDATA[model 128 184
  5. description '<Information>
  6. <Description>
  7. <Version>4.8</Version>
  8. <IsMainModel>0</IsMainModel>
  9. <KeepParameterValues>False</KeepParameterValues>
  10. <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\06_arm\arm_model.emx</LibraryPath>
  11. <TimeStamp>2020-7-23 10:05:57</TimeStamp>
  12. </Description>
  13. </Information>';
  14. type Mainmodel
  15. end;
  16. implementation bg
  17. submodels
  18. Body1 520 496
  19. description '<Description><Version>4.0</Version>
  20. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  21. <IsMainModel>1</IsMainModel>
  22. <KeepParameterValues>False</KeepParameterValues>
  23. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  24. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  25. </Description>';
  26. type 'Submodel-Equation'
  27. ports
  28. signal in input [4,4];
  29. end;
  30. implementation eq
  31. variables
  32. real position[3];
  33. real rotation[3];
  34. real R[3,3];
  35. equations
  36. position = input[1:3,4];
  37. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  38. //[input[3,2];input[1,3];input[2,1]];
  39. R = input[1:3,1:3];implementation_end;
  40. Body2 896 544
  41. description '<Description><Version>4.0</Version>
  42. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  43. <IsMainModel>1</IsMainModel>
  44. <KeepParameterValues>False</KeepParameterValues>
  45. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  46. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  47. </Description>';
  48. type 'Submodel-Equation'
  49. ports
  50. signal in input [4,4];
  51. end;
  52. implementation eq
  53. variables
  54. real position[3];
  55. real rotation[3];
  56. real R[3,3];
  57. equations
  58. position = input[1:3,4];
  59. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  60. //[input[3,2];input[1,3];input[2,1]];
  61. R = input[1:3,1:3];implementation_end;
  62. Body3 704 496
  63. description '<Description><Version>4.0</Version>
  64. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  65. <IsMainModel>1</IsMainModel>
  66. <KeepParameterValues>False</KeepParameterValues>
  67. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  68. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  69. </Description>';
  70. type 'Submodel-Equation'
  71. ports
  72. signal in input [4,4];
  73. end;
  74. implementation eq
  75. variables
  76. real position[3];
  77. real rotation[3];
  78. real R[3,3];
  79. equations
  80. position = input[1:3,4];
  81. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  82. //[input[3,2];input[1,3];input[2,1]];
  83. R = input[1:3,1:3];implementation_end;
  84. Body4 368 152
  85. description '<Description><Version>4.0</Version>
  86. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  87. <IsMainModel>1</IsMainModel>
  88. <KeepParameterValues>False</KeepParameterValues>
  89. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  90. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  91. </Description>';
  92. type 'Submodel-Equation'
  93. ports
  94. signal in input [4,4];
  95. end;
  96. implementation eq
  97. variables
  98. real position[3];
  99. real rotation[3];
  100. real R[3,3];
  101. equations
  102. position = input[1:3,4];
  103. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  104. //[input[3,2];input[1,3];input[2,1]];
  105. R = input[1:3,1:3];implementation_end;
  106. Body5 832 208
  107. description '<Description><Version>4.0</Version>
  108. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  109. <IsMainModel>1</IsMainModel>
  110. <KeepParameterValues>False</KeepParameterValues>
  111. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  112. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  113. </Description>';
  114. type 'Submodel-Equation'
  115. ports
  116. signal in input [4,4];
  117. end;
  118. implementation eq
  119. variables
  120. real position[3];
  121. real rotation[3];
  122. real R[3,3];
  123. equations
  124. position = input[1:3,4];
  125. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  126. //[input[3,2];input[1,3];input[2,1]];
  127. R = input[1:3,1:3];implementation_end;
  128. COM_body1 496 376
  129. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  130. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  131. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  132. type Submodel
  133. ports
  134. signal in Hin [4,4];
  135. signal out Hout [4,4];
  136. power out p [6,1];
  137. end;
  138. icon bg bottom
  139. figures
  140. rectangle 480 344 512 408 color 0 fill 139;
  141. text 'COM' 496 376 color 0 'Clear Sans' 16;
  142. terminals
  143. Hin 480 360 fixed;
  144. p 480 392 fixed;
  145. end;
  146. implementation bg
  147. submodels
  148. AdHi0 544 400
  149. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  150. type MTF
  151. ports
  152. power in p1 [6,1];
  153. power out p2 [6,1];
  154. signal in H [4,4];
  155. restrictions
  156. causality constraint not_equal p1 p2;
  157. end;
  158. icon bg left
  159. figures
  160. text 'MTF' 544 400 color 0 18 bold;
  161. end;
  162. implementation eq
  163. variables
  164. real onlyRotH[4,4];
  165. code
  166. //Only rotations with respect to the inertial system matter!
  167. onlyRotH = H;
  168. onlyRotH[1,4] = 0;
  169. onlyRotH[2,4] = 0;
  170. onlyRotH[3,4] = 0;
  171. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  172. p1.f = Adjoint(onlyRotH) * p2.f;
  173. implementation_end;
  174. EJS 616 336
  175. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  176. type MGY
  177. ports
  178. power in p1 [6,1];
  179. end;
  180. icon bg top
  181. figures
  182. text 'MGY' 616 336 color 0 18 bold;
  183. end;
  184. implementation eq
  185. //EJS / Gyroscopic effects
  186. parameters
  187. real global I[3];
  188. real global m;
  189. variables
  190. real II[6,6]; //Inertial tensor
  191. real Q[6,6];
  192. real QI[6,6];
  193. real Ia[6];
  194. initialequations
  195. Ia[1:3] = I;
  196. Ia[4:6] = m;
  197. II = diag(Ia);
  198. equations
  199. Q = transpose(adjoint(p1.f));
  200. QI = Q*II;
  201. p1.e = QI*p1.f;implementation_end;
  202. Gravity 624 400
  203. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  204. type Se
  205. ports
  206. power out p [6,1];
  207. restrictions
  208. causality fixed out p;
  209. end;
  210. icon bg bottom
  211. figures
  212. text 'Se' 624 400 color 0 18 bold;
  213. end;
  214. implementation eq
  215. parameters
  216. real global m;
  217. variables
  218. real effort[6];
  219. equations
  220. effort = [0;0;0;0;0;-g_n*m];
  221. p.e = effort;
  222. implementation_end;
  223. InertialTensor 544 272
  224. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  225. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  226. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  227. </Description>';
  228. type 'I-3'
  229. ports
  230. power in p [6,1];
  231. signal out state [6,1];
  232. restrictions
  233. causality preferred in p;
  234. end;
  235. icon bg bottom
  236. figures
  237. text 'I' 544 272 color 0 18 bold;
  238. end;
  239. implementation eq
  240. parameters
  241. real global I[3];
  242. real global m;
  243. variables
  244. real II[6,6]; //Inertial tensor
  245. real Ia[6];
  246. initialequations
  247. Ia[1:3] = I;
  248. Ia[4:6] = m;
  249. II = diag(Ia);
  250. equations
  251. state = int(p.e); //state = generalized momentum
  252. p.f = inverse(II)*state;
  253. implementation_end;
  254. plug Hin 433.4 496;
  255. plug Hout 691.2 496;
  256. plug p 439.4 336;
  257. Splitter1 544 496
  258. description '<Description><Version>4.0</Version>
  259. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  260. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  261. <IsMainModel>1</IsMainModel>
  262. <KeepParameterValues>False</KeepParameterValues>
  263. </Description>';
  264. knot Splitter
  265. ports
  266. signal knot duplicatable out output [4,4];
  267. signal knot in input [4,4];
  268. end;
  269. icon bg ellipse
  270. figures
  271. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  272. ellipse 539.7 491.7 548.3 500.3 color -1;
  273. terminals
  274. input 544 496 fixed;
  275. end;
  276. implementation eq
  277. equations
  278. collect (output) = input;
  279. implementation_end;
  280. Ta0j 544 336
  281. description '<Description>
  282. <Version>4.0</Version>
  283. <IsMainModel>1</IsMainModel>
  284. <KeepParameterValues>False</KeepParameterValues>
  285. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  286. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  287. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  288. <Description></Description>
  289. </Description>';
  290. knot OneJunction
  291. ports
  292. power knot duplicatable none p [6,1];
  293. signal knot out flow [6,1];
  294. restrictions
  295. causality constraint one_out p;
  296. end;
  297. icon bg bottom
  298. figures
  299. text '1' 544 336 color 0 18 bold;
  300. end;
  301. implementation eq
  302. equations
  303. sum (direct (p.e)) = 0;
  304. equal (collect (p.f));
  305. flow = first (p.f);
  306. implementation_end;
  307. ZeroJunction1 504 336
  308. description '<Information>
  309. <Description>
  310. <Version>4.2</Version>
  311. <IsMainModel>1</IsMainModel>
  312. <KeepParameterValues>False</KeepParameterValues>
  313. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  314. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  315. </Description>
  316. </Information>';
  317. knot ZeroJunction
  318. ports
  319. power knot duplicatable none p [6,1];
  320. signal knot out effort [6,1];
  321. restrictions
  322. causality constraint one_in p;
  323. end;
  324. icon bg
  325. figures
  326. text '0' 504 336 color 0 18 bold;
  327. end;
  328. implementation eq
  329. equations
  330. sum (direct (p.f)) = 0;
  331. equal (collect (p.e));
  332. effort = first (p.e);
  333. implementation_end;
  334. end;
  335. connections
  336. AdHi0\p2 => Ta0j\p;
  337. Gravity\p => AdHi0\p1;
  338. Hin -> Splitter1\input;
  339. Splitter1\output -> AdHi0\H;
  340. Splitter1\output -> Hout;
  341. Ta0j\p => EJS\p1;
  342. Ta0j\p => InertialTensor\p;
  343. ZeroJunction1\p => p;
  344. ZeroJunction1\p => Ta0j\p;
  345. end;
  346. implementation_end;
  347. COM_body2 776 688
  348. description '<Information>
  349. <Description>
  350. <Version>4.8</Version>
  351. <IsMainModel>1</IsMainModel>
  352. <LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath>
  353. <TimeStamp>2020-7-21 12:24:38</TimeStamp>
  354. </Description>
  355. <Attributes>
  356. <GlobalRelations>parameters
  357. real I [3,1] = [0.01;0.01;0.0001] {N.m.s};
  358. real m = 0.5 {kg};</GlobalRelations>
  359. </Attributes>
  360. </Information>';
  361. type Submodel
  362. ports
  363. signal in Hin [4,4];
  364. signal out Hout [4,4];
  365. power out p [6,1];
  366. end;
  367. icon bg bottom
  368. figures
  369. rectangle 744 672 808 704 color 0 fill 139;
  370. text 'COM' 776 688 color 0 'Clear Sans' 16;
  371. terminals
  372. Hin 792 672 fixed;
  373. p 760 672 fixed;
  374. end;
  375. implementation bg
  376. submodels
  377. AdHi0 544 400
  378. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  379. type MTF
  380. ports
  381. power in p1 [6,1];
  382. power out p2 [6,1];
  383. signal in H [4,4];
  384. restrictions
  385. causality constraint not_equal p1 p2;
  386. end;
  387. icon bg left
  388. figures
  389. text 'MTF' 544 400 color 0 18 bold;
  390. end;
  391. implementation eq
  392. variables
  393. real onlyRotH[4,4];
  394. code
  395. //Only rotations with respect to the inertial system matter!
  396. onlyRotH = H;
  397. onlyRotH[1,4] = 0;
  398. onlyRotH[2,4] = 0;
  399. onlyRotH[3,4] = 0;
  400. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  401. p1.f = Adjoint(onlyRotH) * p2.f;
  402. implementation_end;
  403. EJS 616 336
  404. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  405. type MGY
  406. ports
  407. power in p1 [6,1];
  408. end;
  409. icon bg top
  410. figures
  411. text 'MGY' 616 336 color 0 18 bold;
  412. end;
  413. implementation eq
  414. //EJS / Gyroscopic effects
  415. parameters
  416. real global I[3];
  417. real global m;
  418. variables
  419. real II[6,6]; //Inertial tensor
  420. real Q[6,6];
  421. real QI[6,6];
  422. real Ia[6];
  423. initialequations
  424. Ia[1:3] = I;
  425. Ia[4:6] = m;
  426. II = diag(Ia);
  427. equations
  428. Q = transpose(adjoint(p1.f));
  429. QI = Q*II;
  430. p1.e = QI*p1.f;implementation_end;
  431. Gravity 624 400
  432. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  433. type Se
  434. ports
  435. power out p [6,1];
  436. restrictions
  437. causality fixed out p;
  438. end;
  439. icon bg bottom
  440. figures
  441. text 'Se' 624 400 color 0 18 bold;
  442. end;
  443. implementation eq
  444. parameters
  445. real global m;
  446. variables
  447. real effort[6];
  448. equations
  449. effort = [0;0;0;0;0;-g_n*m];
  450. p.e = effort;
  451. implementation_end;
  452. InertialTensor 544 272
  453. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  454. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  455. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  456. </Description>';
  457. type 'I-3'
  458. ports
  459. power in p [6,1];
  460. signal out state [6,1];
  461. restrictions
  462. causality preferred in p;
  463. end;
  464. icon bg bottom
  465. figures
  466. text 'I' 544 272 color 0 18 bold;
  467. end;
  468. implementation eq
  469. parameters
  470. real global I[3];
  471. real global m;
  472. variables
  473. real II[6,6]; //Inertial tensor
  474. real Ia[6];
  475. initialequations
  476. Ia[1:3] = I;
  477. Ia[4:6] = m;
  478. II = diag(Ia);
  479. equations
  480. state = int(p.e); //state = generalized momentum
  481. p.f = inverse(II)*state;
  482. implementation_end;
  483. plug Hin 433.4 496;
  484. plug Hout 691.2 496;
  485. plug p 439.4 336;
  486. Splitter1 544 496
  487. description '<Description><Version>4.0</Version>
  488. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  489. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  490. <IsMainModel>1</IsMainModel>
  491. <KeepParameterValues>False</KeepParameterValues>
  492. </Description>';
  493. knot Splitter
  494. ports
  495. signal knot duplicatable out output [4,4];
  496. signal knot in input [4,4];
  497. end;
  498. icon bg ellipse
  499. figures
  500. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  501. ellipse 539.7 491.7 548.3 500.3 color -1;
  502. terminals
  503. input 544 496 fixed;
  504. end;
  505. implementation eq
  506. equations
  507. collect (output) = input;
  508. implementation_end;
  509. Ta0j 544 336
  510. description '<Description>
  511. <Version>4.0</Version>
  512. <IsMainModel>1</IsMainModel>
  513. <KeepParameterValues>False</KeepParameterValues>
  514. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  515. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  516. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  517. <Description></Description>
  518. </Description>';
  519. knot OneJunction
  520. ports
  521. power knot duplicatable none p [6,1];
  522. signal knot out flow [6,1];
  523. restrictions
  524. causality constraint one_out p;
  525. end;
  526. icon bg bottom
  527. figures
  528. text '1' 544 336 color 0 18 bold;
  529. end;
  530. implementation eq
  531. equations
  532. sum (direct (p.e)) = 0;
  533. equal (collect (p.f));
  534. flow = first (p.f);
  535. implementation_end;
  536. ZeroJunction1 504 336
  537. description '<Information>
  538. <Description>
  539. <Version>4.2</Version>
  540. <IsMainModel>1</IsMainModel>
  541. <KeepParameterValues>False</KeepParameterValues>
  542. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  543. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  544. </Description>
  545. </Information>';
  546. knot ZeroJunction
  547. ports
  548. power knot duplicatable none p [6,1];
  549. signal knot out effort [6,1];
  550. restrictions
  551. causality constraint one_in p;
  552. end;
  553. icon bg
  554. figures
  555. text '0' 504 336 color 0 18 bold;
  556. end;
  557. implementation eq
  558. equations
  559. sum (direct (p.f)) = 0;
  560. equal (collect (p.e));
  561. effort = first (p.e);
  562. implementation_end;
  563. end;
  564. connections
  565. AdHi0\p2 => Ta0j\p;
  566. Gravity\p => AdHi0\p1;
  567. Hin -> Splitter1\input;
  568. Splitter1\output -> AdHi0\H;
  569. Splitter1\output -> Hout;
  570. Ta0j\p => EJS\p1;
  571. Ta0j\p => InertialTensor\p;
  572. ZeroJunction1\p => p;
  573. ZeroJunction1\p => Ta0j\p;
  574. end;
  575. implementation_end;
  576. COM_body3 696 376
  577. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  578. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  579. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  580. type Submodel
  581. ports
  582. signal in Hin [4,4];
  583. signal out Hout [4,4];
  584. power out p [6,1];
  585. end;
  586. icon bg bottom
  587. figures
  588. rectangle 680 344 712 408 color 0 fill 139;
  589. text 'COM' 696 376 color 0 'Clear Sans' 16;
  590. terminals
  591. Hin 680 360 fixed;
  592. p 680 392 fixed;
  593. end;
  594. implementation bg
  595. submodels
  596. AdHi0 544 400
  597. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  598. type MTF
  599. ports
  600. power in p1 [6,1];
  601. power out p2 [6,1];
  602. signal in H [4,4];
  603. restrictions
  604. causality constraint not_equal p1 p2;
  605. end;
  606. icon bg left
  607. figures
  608. text 'MTF' 544 400 color 0 18 bold;
  609. end;
  610. implementation eq
  611. variables
  612. real onlyRotH[4,4];
  613. code
  614. //Only rotations with respect to the inertial system matter!
  615. onlyRotH = H;
  616. onlyRotH[1,4] = 0;
  617. onlyRotH[2,4] = 0;
  618. onlyRotH[3,4] = 0;
  619. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  620. p1.f = Adjoint(onlyRotH) * p2.f;
  621. implementation_end;
  622. EJS 616 336
  623. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  624. type MGY
  625. ports
  626. power in p1 [6,1];
  627. end;
  628. icon bg top
  629. figures
  630. text 'MGY' 616 336 color 0 18 bold;
  631. end;
  632. implementation eq
  633. //EJS / Gyroscopic effects
  634. parameters
  635. real global I[3];
  636. real global m;
  637. variables
  638. real II[6,6]; //Inertial tensor
  639. real Q[6,6];
  640. real QI[6,6];
  641. real Ia[6];
  642. initialequations
  643. Ia[1:3] = I;
  644. Ia[4:6] = m;
  645. II = diag(Ia);
  646. equations
  647. Q = transpose(adjoint(p1.f));
  648. QI = Q*II;
  649. p1.e = QI*p1.f;implementation_end;
  650. Gravity 624 400
  651. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  652. type Se
  653. ports
  654. power out p [6,1];
  655. restrictions
  656. causality fixed out p;
  657. end;
  658. icon bg bottom
  659. figures
  660. text 'Se' 624 400 color 0 18 bold;
  661. end;
  662. implementation eq
  663. parameters
  664. real global m;
  665. variables
  666. real effort[6];
  667. equations
  668. effort = [0;0;0;0;0;-g_n*m];
  669. p.e = effort;
  670. implementation_end;
  671. InertialTensor 544 272
  672. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  673. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  674. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  675. </Description>';
  676. type 'I-3'
  677. ports
  678. power in p [6,1];
  679. signal out state [6,1];
  680. restrictions
  681. causality preferred in p;
  682. end;
  683. icon bg bottom
  684. figures
  685. text 'I' 544 272 color 0 18 bold;
  686. end;
  687. implementation eq
  688. parameters
  689. real global I[3];
  690. real global m;
  691. variables
  692. real II[6,6]; //Inertial tensor
  693. real Ia[6];
  694. initialequations
  695. Ia[1:3] = I;
  696. Ia[4:6] = m;
  697. II = diag(Ia);
  698. equations
  699. state = int(p.e); //state = generalized momentum
  700. p.f = inverse(II)*state;
  701. implementation_end;
  702. plug Hin 433.4 496;
  703. plug Hout 691.2 496;
  704. plug p 439.4 336;
  705. Splitter1 544 496
  706. description '<Description><Version>4.0</Version>
  707. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  708. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  709. <IsMainModel>1</IsMainModel>
  710. <KeepParameterValues>False</KeepParameterValues>
  711. </Description>';
  712. knot Splitter
  713. ports
  714. signal knot duplicatable out output [4,4];
  715. signal knot in input [4,4];
  716. end;
  717. icon bg ellipse
  718. figures
  719. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  720. ellipse 539.7 491.7 548.3 500.3 color -1;
  721. terminals
  722. input 544 496 fixed;
  723. end;
  724. implementation eq
  725. equations
  726. collect (output) = input;
  727. implementation_end;
  728. Ta0j 544 336
  729. description '<Description>
  730. <Version>4.0</Version>
  731. <IsMainModel>1</IsMainModel>
  732. <KeepParameterValues>False</KeepParameterValues>
  733. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  734. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  735. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  736. <Description></Description>
  737. </Description>';
  738. knot OneJunction
  739. ports
  740. power knot duplicatable none p [6,1];
  741. signal knot out flow [6,1];
  742. restrictions
  743. causality constraint one_out p;
  744. end;
  745. icon bg bottom
  746. figures
  747. text '1' 544 336 color 0 18 bold;
  748. end;
  749. implementation eq
  750. equations
  751. sum (direct (p.e)) = 0;
  752. equal (collect (p.f));
  753. flow = first (p.f);
  754. implementation_end;
  755. ZeroJunction1 504 336
  756. description '<Information>
  757. <Description>
  758. <Version>4.2</Version>
  759. <IsMainModel>1</IsMainModel>
  760. <KeepParameterValues>False</KeepParameterValues>
  761. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  762. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  763. </Description>
  764. </Information>';
  765. knot ZeroJunction
  766. ports
  767. power knot duplicatable none p [6,1];
  768. signal knot out effort [6,1];
  769. restrictions
  770. causality constraint one_in p;
  771. end;
  772. icon bg
  773. figures
  774. text '0' 504 336 color 0 18 bold;
  775. end;
  776. implementation eq
  777. equations
  778. sum (direct (p.f)) = 0;
  779. equal (collect (p.e));
  780. effort = first (p.e);
  781. implementation_end;
  782. end;
  783. connections
  784. AdHi0\p2 => Ta0j\p;
  785. Gravity\p => AdHi0\p1;
  786. Hin -> Splitter1\input;
  787. Splitter1\output -> AdHi0\H;
  788. Splitter1\output -> Hout;
  789. Ta0j\p => EJS\p1;
  790. Ta0j\p => InertialTensor\p;
  791. ZeroJunction1\p => p;
  792. ZeroJunction1\p => Ta0j\p;
  793. end;
  794. implementation_end;
  795. COM_body4 632 56
  796. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  797. real I [3,1] = [7.583333333333335e-7; 3.645833333333334e-8; 7.364583333333335e-7] {N.m.s};
  798. real m = 0.0035 {kg};</GlobalRelations></Attributes></Information>';
  799. type Submodel
  800. ports
  801. signal in Hin [4,4];
  802. signal out Hout [4,4];
  803. power out p [6,1];
  804. end;
  805. icon bg bottom
  806. figures
  807. rectangle 600 40 664 72 color 0 fill 139;
  808. text 'COM' 632 56 color 0 'Clear Sans' 16;
  809. terminals
  810. Hin 648 72 fixed;
  811. p 616 72 fixed;
  812. end;
  813. implementation bg
  814. submodels
  815. AdHi0 544 400
  816. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  817. type MTF
  818. ports
  819. power in p1 [6,1];
  820. power out p2 [6,1];
  821. signal in H [4,4];
  822. restrictions
  823. causality constraint not_equal p1 p2;
  824. end;
  825. icon bg left
  826. figures
  827. text 'MTF' 544 400 color 0 18 bold;
  828. end;
  829. implementation eq
  830. variables
  831. real onlyRotH[4,4];
  832. code
  833. //Only rotations with respect to the inertial system matter!
  834. onlyRotH = H;
  835. onlyRotH[1,4] = 0;
  836. onlyRotH[2,4] = 0;
  837. onlyRotH[3,4] = 0;
  838. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  839. p1.f = Adjoint(onlyRotH) * p2.f;
  840. implementation_end;
  841. EJS 616 336
  842. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  843. type MGY
  844. ports
  845. power in p1 [6,1];
  846. end;
  847. icon bg top
  848. figures
  849. text 'MGY' 616 336 color 0 18 bold;
  850. end;
  851. implementation eq
  852. //EJS / Gyroscopic effects
  853. parameters
  854. real global I[3];
  855. real global m;
  856. variables
  857. real II[6,6]; //Inertial tensor
  858. real Q[6,6];
  859. real QI[6,6];
  860. real Ia[6];
  861. initialequations
  862. Ia[1:3] = I;
  863. Ia[4:6] = m;
  864. II = diag(Ia);
  865. equations
  866. Q = transpose(adjoint(p1.f));
  867. QI = Q*II;
  868. p1.e = QI*p1.f;implementation_end;
  869. Gravity 624 400
  870. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  871. type Se
  872. ports
  873. power out p [6,1];
  874. restrictions
  875. causality fixed out p;
  876. end;
  877. icon bg bottom
  878. figures
  879. text 'Se' 624 400 color 0 18 bold;
  880. end;
  881. implementation eq
  882. parameters
  883. real global m;
  884. variables
  885. real effort[6];
  886. equations
  887. effort = [0;0;0;0;0;-g_n*m];
  888. p.e = effort;
  889. implementation_end;
  890. InertialTensor 544 272
  891. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  892. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  893. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  894. </Description>';
  895. type 'I-3'
  896. ports
  897. power in p [6,1];
  898. signal out state [6,1];
  899. restrictions
  900. causality preferred in p;
  901. end;
  902. icon bg bottom
  903. figures
  904. text 'I' 544 272 color 0 18 bold;
  905. end;
  906. implementation eq
  907. parameters
  908. real global I[3];
  909. real global m;
  910. variables
  911. real II[6,6]; //Inertial tensor
  912. real Ia[6];
  913. initialequations
  914. Ia[1:3] = I;
  915. Ia[4:6] = m;
  916. II = diag(Ia);
  917. equations
  918. state = int(p.e); //state = generalized momentum
  919. p.f = inverse(II)*state;
  920. implementation_end;
  921. plug Hin 433.4 496;
  922. plug Hout 691.2 496;
  923. plug p 439.4 336;
  924. Splitter1 544 496
  925. description '<Description><Version>4.0</Version>
  926. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  927. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  928. <IsMainModel>1</IsMainModel>
  929. <KeepParameterValues>False</KeepParameterValues>
  930. </Description>';
  931. knot Splitter
  932. ports
  933. signal knot duplicatable out output [4,4];
  934. signal knot in input [4,4];
  935. end;
  936. icon bg ellipse
  937. figures
  938. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  939. ellipse 539.7 491.7 548.3 500.3 color -1;
  940. terminals
  941. input 544 496 fixed;
  942. end;
  943. implementation eq
  944. equations
  945. collect (output) = input;
  946. implementation_end;
  947. Ta0j 544 336
  948. description '<Description>
  949. <Version>4.0</Version>
  950. <IsMainModel>1</IsMainModel>
  951. <KeepParameterValues>False</KeepParameterValues>
  952. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  953. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  954. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  955. <Description></Description>
  956. </Description>';
  957. knot OneJunction
  958. ports
  959. power knot duplicatable none p [6,1];
  960. signal knot out flow [6,1];
  961. restrictions
  962. causality constraint one_out p;
  963. end;
  964. icon bg bottom
  965. figures
  966. text '1' 544 336 color 0 18 bold;
  967. end;
  968. implementation eq
  969. equations
  970. sum (direct (p.e)) = 0;
  971. equal (collect (p.f));
  972. flow = first (p.f);
  973. implementation_end;
  974. ZeroJunction1 504 336
  975. description '<Information>
  976. <Description>
  977. <Version>4.2</Version>
  978. <IsMainModel>1</IsMainModel>
  979. <KeepParameterValues>False</KeepParameterValues>
  980. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  981. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  982. </Description>
  983. </Information>';
  984. knot ZeroJunction
  985. ports
  986. power knot duplicatable none p [6,1];
  987. signal knot out effort [6,1];
  988. restrictions
  989. causality constraint one_in p;
  990. end;
  991. icon bg
  992. figures
  993. text '0' 504 336 color 0 18 bold;
  994. end;
  995. implementation eq
  996. equations
  997. sum (direct (p.f)) = 0;
  998. equal (collect (p.e));
  999. effort = first (p.e);
  1000. implementation_end;
  1001. end;
  1002. connections
  1003. AdHi0\p2 => Ta0j\p;
  1004. Gravity\p => AdHi0\p1;
  1005. Hin -> Splitter1\input;
  1006. Splitter1\output -> AdHi0\H;
  1007. Splitter1\output -> Hout;
  1008. Ta0j\p => EJS\p1;
  1009. Ta0j\p => InertialTensor\p;
  1010. ZeroJunction1\p => p;
  1011. ZeroJunction1\p => Ta0j\p;
  1012. end;
  1013. implementation_end;
  1014. COM_body5 960 136
  1015. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  1016. real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
  1017. real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
  1018. type Submodel
  1019. ports
  1020. signal in Hin [4,4];
  1021. signal out Hout [4,4];
  1022. power out p [6,1];
  1023. end;
  1024. icon bg bottom
  1025. figures
  1026. rectangle 944 104 976 168 color 0 fill 139;
  1027. text 'COM' 960 136 color 0 'Clear Sans' 16;
  1028. terminals
  1029. Hin 944 152 fixed;
  1030. p 944 120 fixed;
  1031. end;
  1032. implementation bg
  1033. submodels
  1034. AdHi0 544 400
  1035. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1036. type MTF
  1037. ports
  1038. power in p1 [6,1];
  1039. power out p2 [6,1];
  1040. signal in H [4,4];
  1041. restrictions
  1042. causality constraint not_equal p1 p2;
  1043. end;
  1044. icon bg left
  1045. figures
  1046. text 'MTF' 544 400 color 0 18 bold;
  1047. end;
  1048. implementation eq
  1049. variables
  1050. real onlyRotH[4,4];
  1051. code
  1052. //Only rotations with respect to the inertial system matter!
  1053. onlyRotH = H;
  1054. onlyRotH[1,4] = 0;
  1055. onlyRotH[2,4] = 0;
  1056. onlyRotH[3,4] = 0;
  1057. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  1058. p1.f = Adjoint(onlyRotH) * p2.f;
  1059. implementation_end;
  1060. EJS 616 336
  1061. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1062. type MGY
  1063. ports
  1064. power in p1 [6,1];
  1065. end;
  1066. icon bg top
  1067. figures
  1068. text 'MGY' 616 336 color 0 18 bold;
  1069. end;
  1070. implementation eq
  1071. //EJS / Gyroscopic effects
  1072. parameters
  1073. real global I[3];
  1074. real global m;
  1075. variables
  1076. real II[6,6]; //Inertial tensor
  1077. real Q[6,6];
  1078. real QI[6,6];
  1079. real Ia[6];
  1080. initialequations
  1081. Ia[1:3] = I;
  1082. Ia[4:6] = m;
  1083. II = diag(Ia);
  1084. equations
  1085. Q = transpose(adjoint(p1.f));
  1086. QI = Q*II;
  1087. p1.e = QI*p1.f;implementation_end;
  1088. Gravity 624 400
  1089. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1090. type Se
  1091. ports
  1092. power out p [6,1];
  1093. restrictions
  1094. causality fixed out p;
  1095. end;
  1096. icon bg bottom
  1097. figures
  1098. text 'Se' 624 400 color 0 18 bold;
  1099. end;
  1100. implementation eq
  1101. parameters
  1102. real global m;
  1103. variables
  1104. real effort[6];
  1105. equations
  1106. effort = [0;0;0;0;0;-g_n*m];
  1107. p.e = effort;
  1108. implementation_end;
  1109. InertialTensor 544 272
  1110. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1111. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  1112. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  1113. </Description>';
  1114. type 'I-3'
  1115. ports
  1116. power in p [6,1];
  1117. signal out state [6,1];
  1118. restrictions
  1119. causality preferred in p;
  1120. end;
  1121. icon bg bottom
  1122. figures
  1123. text 'I' 544 272 color 0 18 bold;
  1124. end;
  1125. implementation eq
  1126. parameters
  1127. real global I[3];
  1128. real global m;
  1129. variables
  1130. real II[6,6]; //Inertial tensor
  1131. real Ia[6];
  1132. initialequations
  1133. Ia[1:3] = I;
  1134. Ia[4:6] = m;
  1135. II = diag(Ia);
  1136. equations
  1137. state = int(p.e); //state = generalized momentum
  1138. p.f = inverse(II)*state;
  1139. implementation_end;
  1140. plug Hin 433.4 496;
  1141. plug Hout 691.2 496;
  1142. plug p 439.4 336;
  1143. Splitter1 544 496
  1144. description '<Description><Version>4.0</Version>
  1145. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1146. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1147. <IsMainModel>1</IsMainModel>
  1148. <KeepParameterValues>False</KeepParameterValues>
  1149. </Description>';
  1150. knot Splitter
  1151. ports
  1152. signal knot duplicatable out output [4,4];
  1153. signal knot in input [4,4];
  1154. end;
  1155. icon bg ellipse
  1156. figures
  1157. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  1158. ellipse 539.7 491.7 548.3 500.3 color -1;
  1159. terminals
  1160. input 544 496 fixed;
  1161. end;
  1162. implementation eq
  1163. equations
  1164. collect (output) = input;
  1165. implementation_end;
  1166. Ta0j 544 336
  1167. description '<Description>
  1168. <Version>4.0</Version>
  1169. <IsMainModel>1</IsMainModel>
  1170. <KeepParameterValues>False</KeepParameterValues>
  1171. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1172. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  1173. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1174. <Description></Description>
  1175. </Description>';
  1176. knot OneJunction
  1177. ports
  1178. power knot duplicatable none p [6,1];
  1179. signal knot out flow [6,1];
  1180. restrictions
  1181. causality constraint one_out p;
  1182. end;
  1183. icon bg bottom
  1184. figures
  1185. text '1' 544 336 color 0 18 bold;
  1186. end;
  1187. implementation eq
  1188. equations
  1189. sum (direct (p.e)) = 0;
  1190. equal (collect (p.f));
  1191. flow = first (p.f);
  1192. implementation_end;
  1193. ZeroJunction1 504 336
  1194. description '<Information>
  1195. <Description>
  1196. <Version>4.2</Version>
  1197. <IsMainModel>1</IsMainModel>
  1198. <KeepParameterValues>False</KeepParameterValues>
  1199. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1200. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1201. </Description>
  1202. </Information>';
  1203. knot ZeroJunction
  1204. ports
  1205. power knot duplicatable none p [6,1];
  1206. signal knot out effort [6,1];
  1207. restrictions
  1208. causality constraint one_in p;
  1209. end;
  1210. icon bg
  1211. figures
  1212. text '0' 504 336 color 0 18 bold;
  1213. end;
  1214. implementation eq
  1215. equations
  1216. sum (direct (p.f)) = 0;
  1217. equal (collect (p.e));
  1218. effort = first (p.e);
  1219. implementation_end;
  1220. end;
  1221. connections
  1222. AdHi0\p2 => Ta0j\p;
  1223. Gravity\p => AdHi0\p1;
  1224. Hin -> Splitter1\input;
  1225. Splitter1\output -> AdHi0\H;
  1226. Splitter1\output -> Hout;
  1227. Ta0j\p => EJS\p1;
  1228. Ta0j\p => InertialTensor\p;
  1229. ZeroJunction1\p => p;
  1230. ZeroJunction1\p => Ta0j\p;
  1231. end;
  1232. implementation_end;
  1233. Ground 436 615.5
  1234. description '<Information>
  1235. <Description>
  1236. <Version>4.8</Version>
  1237. <IsMainModel>1</IsMainModel>
  1238. <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
  1239. <TimeStamp>2020-7-23 09:30:51</TimeStamp>
  1240. </Description>
  1241. </Information>';
  1242. type Submodel
  1243. ports
  1244. power in p [6,1];
  1245. signal out output [4,4];
  1246. end;
  1247. icon bg bottom
  1248. figures
  1249. line 400 608 416 624 color 0 fill 15132390;
  1250. line 408 608 424 624 color 0 fill 15132390;
  1251. line 392 608 408 624 color 0 fill 15132390;
  1252. line 432 624 416 608 color 0 fill 15132390;
  1253. line 440 624 424 608 color 0 fill 15132390;
  1254. line 448 624 432 608 color 0 fill 15132390;
  1255. line 464 624 448 608 color 0 fill 15132390;
  1256. line 456 624 440 608 color 0 fill 15132390;
  1257. line 472 624 456 608 color 0 fill 15132390;
  1258. line 480 624 464 608 color 0 fill 15132390;
  1259. line 392 608 480 608 color 0 fill 15132390 width 2;
  1260. line 472 608 480 616 color 0 fill 15132390;
  1261. line 392 616 400 624 color 0 fill 15132390;
  1262. terminals
  1263. p 416 608 fixed;
  1264. output 448 608 fixed;
  1265. end;
  1266. implementation bg
  1267. submodels
  1268. plug p 240 88;
  1269. plug output 240 120;
  1270. OneJunction2 192 88
  1271. description '<Information>
  1272. <Description>
  1273. <Version>4.2</Version>
  1274. <IsMainModel>1</IsMainModel>
  1275. <KeepParameterValues>False</KeepParameterValues>
  1276. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1277. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1278. </Description>
  1279. </Information>';
  1280. knot OneJunction
  1281. ports
  1282. power knot duplicatable none p [6,1];
  1283. signal knot out flow [6,1];
  1284. restrictions
  1285. causality constraint one_out p;
  1286. end;
  1287. icon bg
  1288. figures
  1289. text '1' 192 88 color 0 18 bold;
  1290. end;
  1291. implementation eq
  1292. equations
  1293. sum (direct (p.e)) = 0;
  1294. equal (collect (p.f));
  1295. flow = first (p.f);
  1296. implementation_end;
  1297. Sf2 136 88
  1298. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1299. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  1300. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  1301. </Description>';
  1302. type 'Sf-2'
  1303. ports
  1304. power out p [6,1];
  1305. restrictions
  1306. causality fixed in p;
  1307. end;
  1308. icon bg bottom
  1309. figures
  1310. text 'Sf' 136 88 color 0 18 bold;
  1311. end;
  1312. implementation eq
  1313. parameters
  1314. real flow[6,1] = 0;
  1315. variables
  1316. real effort [6];
  1317. equations
  1318. p.f = flow;
  1319. effort = p.e;
  1320. implementation_end;
  1321. Zero 144 120
  1322. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1323. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  1324. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  1325. </Description>
  1326. ';
  1327. type Zero
  1328. ports
  1329. signal out output [4,4];
  1330. end;
  1331. icon bg bottom
  1332. figures
  1333. rectangle 128.1 104 159.9 136 color 0 fill 15132390;
  1334. text '0' 144 120 color 16711680 18 bold;
  1335. end;
  1336. implementation eq
  1337. equations
  1338. output = eye(4);implementation_end;
  1339. end;
  1340. connections
  1341. p => OneJunction2\p;
  1342. Sf2\p => OneJunction2\p;
  1343. Zero\output -> output;
  1344. end;
  1345. implementation_end;
  1346. Ground1 1052 727.5
  1347. description '<Information>
  1348. <Description>
  1349. <Version>4.8</Version>
  1350. <IsMainModel>1</IsMainModel>
  1351. <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
  1352. <TimeStamp>2020-7-23 09:30:51</TimeStamp>
  1353. </Description>
  1354. </Information>';
  1355. type Submodel
  1356. ports
  1357. power in p [6,1];
  1358. signal out output [4,4];
  1359. end;
  1360. icon bg bottom
  1361. figures
  1362. line 1016 720 1032 736 color 0 fill 15132390;
  1363. line 1024 720 1040 736 color 0 fill 15132390;
  1364. line 1008 720 1024 736 color 0 fill 15132390;
  1365. line 1048 736 1032 720 color 0 fill 15132390;
  1366. line 1056 736 1040 720 color 0 fill 15132390;
  1367. line 1064 736 1048 720 color 0 fill 15132390;
  1368. line 1080 736 1064 720 color 0 fill 15132390;
  1369. line 1072 736 1056 720 color 0 fill 15132390;
  1370. line 1088 736 1072 720 color 0 fill 15132390;
  1371. line 1096 736 1080 720 color 0 fill 15132390;
  1372. line 1008 720 1096 720 color 0 fill 15132390 width 2;
  1373. line 1088 720 1096 728 color 0 fill 15132390;
  1374. line 1008 728 1016 736 color 0 fill 15132390;
  1375. terminals
  1376. p 1032 720 fixed;
  1377. output 1064 720 fixed;
  1378. end;
  1379. implementation bg
  1380. submodels
  1381. plug p 240 88;
  1382. plug output 240 120;
  1383. OneJunction2 192 88
  1384. description '<Information>
  1385. <Description>
  1386. <Version>4.2</Version>
  1387. <IsMainModel>1</IsMainModel>
  1388. <KeepParameterValues>False</KeepParameterValues>
  1389. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1390. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1391. </Description>
  1392. </Information>';
  1393. knot OneJunction
  1394. ports
  1395. power knot duplicatable none p [6,1];
  1396. signal knot out flow [6,1];
  1397. restrictions
  1398. causality constraint one_out p;
  1399. end;
  1400. icon bg
  1401. figures
  1402. text '1' 192 88 color 0 18 bold;
  1403. end;
  1404. implementation eq
  1405. equations
  1406. sum (direct (p.e)) = 0;
  1407. equal (collect (p.f));
  1408. flow = first (p.f);
  1409. implementation_end;
  1410. Sf2 136 88
  1411. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1412. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  1413. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  1414. </Description>';
  1415. type 'Sf-2'
  1416. ports
  1417. power out p [6,1];
  1418. restrictions
  1419. causality fixed in p;
  1420. end;
  1421. icon bg bottom
  1422. figures
  1423. text 'Sf' 136 88 color 0 18 bold;
  1424. end;
  1425. implementation eq
  1426. parameters
  1427. real flow[6,1] = 0;
  1428. variables
  1429. real effort [6];
  1430. equations
  1431. p.f = flow;
  1432. effort = p.e;
  1433. implementation_end;
  1434. Zero 144 120
  1435. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1436. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  1437. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  1438. </Description>
  1439. ';
  1440. type Zero
  1441. ports
  1442. signal out output [4,4];
  1443. end;
  1444. icon bg bottom
  1445. figures
  1446. rectangle 128.1 104 159.9 136 color 0 fill 15132390;
  1447. text '0' 144 120 color 16711680 18 bold;
  1448. end;
  1449. implementation eq
  1450. equations
  1451. output = eye(4);implementation_end;
  1452. end;
  1453. connections
  1454. p => OneJunction2\p;
  1455. Sf2\p => OneJunction2\p;
  1456. Zero\output -> output;
  1457. end;
  1458. implementation_end;
  1459. JointA 432 536
  1460. description '<Information>
  1461. <Description>
  1462. <Version>4.8</Version>
  1463. <IsMainModel>1</IsMainModel>
  1464. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1465. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1466. </Description>
  1467. </Information>';
  1468. type 'Submodel-v3'
  1469. ports
  1470. power in Pin [6,1];
  1471. power in Pdiff [6,1];
  1472. signal in Hin [4,4];
  1473. signal out Hout [4,4];
  1474. signal out Hdiff [4,4];
  1475. power out Pout [6,1];
  1476. end;
  1477. icon bg bottom
  1478. figures
  1479. rectangle 400 512 464 560 color 0 fill 14745599;
  1480. text 'Joint' 432 536 color 0 'Clear Sans' 16;
  1481. terminals
  1482. Pin 416 512 fixed;
  1483. Hin 448 560 fixed;
  1484. Hout 448 512 fixed;
  1485. Pout 416 560 fixed;
  1486. end;
  1487. implementation bg
  1488. submodels
  1489. AdHji 424 424
  1490. description '<Description>
  1491. <Version>4.0</Version>
  1492. <IsMainModel>1</IsMainModel>
  1493. <KeepParameterValues>False</KeepParameterValues>
  1494. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1495. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1496. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1497. </Description>';
  1498. type MTF
  1499. ports
  1500. power out p1 [6,1];
  1501. power in p2 [6,1];
  1502. signal in H [4,4];
  1503. restrictions
  1504. causality constraint not_equal p1 p2;
  1505. end;
  1506. icon bg bottom
  1507. figures
  1508. text 'MTF' 424 424 color 0 18 bold;
  1509. end;
  1510. implementation eq
  1511. equations
  1512. p2.e = transpose(Adjoint(H)) * p1.e;
  1513. p1.f = Adjoint(H) * p2.f;implementation_end;
  1514. FlowSensor2 184 311.9
  1515. description '<Information>
  1516. <Description>
  1517. <Version>4.2</Version>
  1518. <IsMainModel>1</IsMainModel>
  1519. <KeepParameterValues>False</KeepParameterValues>
  1520. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1521. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1522. </Description>
  1523. </Information>';
  1524. knot FlowSensor
  1525. ports
  1526. power knot in p1 [6,1];
  1527. power knot out p2 [6,1];
  1528. signal knot out flow [6,1];
  1529. restrictions
  1530. causality constraint not_equal p1 p2;
  1531. end;
  1532. icon bg ellipse
  1533. figures
  1534. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1535. text 'f' 184 311.2 color 0;
  1536. end;
  1537. implementation eq
  1538. equations
  1539. p2.f = p1.f;
  1540. p1.e = p2.e;
  1541. flow = p1.f;
  1542. implementation_end;
  1543. Hmatrix 256 312
  1544. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1545. type 'Submodel-Equation'
  1546. ports
  1547. signal in flow [6,1];
  1548. signal out H [4,4];
  1549. end;
  1550. icon bg
  1551. figures
  1552. rectangle 224 296 288 328 color 0 fill 15132390;
  1553. text 'name' 256 312 color 0 'Clear Sans' 16;
  1554. end;
  1555. implementation eq
  1556. parameters
  1557. real init[4] = [1;0;0;0];
  1558. variables
  1559. real q[4]; //quaternions
  1560. real W[3,4]; //Quaternion Rates Matrix
  1561. real R[3,3]; //Rotation Matrix
  1562. real p[3]; //Position Vector
  1563. real dq[4];
  1564. real Wb[3,4];
  1565. equations
  1566. dq = transpose(Wb) * flow[1:3] ./ 2;
  1567. q = int(dq,init);
  1568. p = int(flow[4:6]);
  1569. W = [-q[2], q[1], -q[4], q[3];
  1570. -q[3], q[4], q[1], -q[2];
  1571. -q[4], -q[3], q[2], q[1]];
  1572. Wb = [ -q[2], q[1], q[4], -q[3];
  1573. -q[3], -q[4], q[1], q[2];
  1574. -q[4], q[3], -q[2], q[1]];
  1575. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1576. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1577. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1578. H = homogeneous(R,p);
  1579. implementation_end;
  1580. MatrixMul 320 576
  1581. description '<Description>
  1582. <Version>4.0</Version>
  1583. <IsMainModel>1</IsMainModel>
  1584. <KeepParameterValues>False</KeepParameterValues>
  1585. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1586. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1587. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1588. </Description>';
  1589. type Gain
  1590. ports
  1591. signal in input1 [4,4];
  1592. signal out output [4,4];
  1593. signal in input2 [4,4];
  1594. end;
  1595. icon bg bottom
  1596. figures
  1597. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1598. text 'X' 320 576 color 16711680 16 bold;
  1599. end;
  1600. implementation eq
  1601. equations
  1602. output = input2*input1; implementation_end;
  1603. plug Pin 492.1 424;
  1604. plug Pdiff 184 225;
  1605. plug Hin 130.8 576;
  1606. plug Hout 478.4 576;
  1607. plug Hdiff 320 222;
  1608. plug Pout 134.7 424;
  1609. Splitter2 320 312
  1610. description '<Description><Version>4.0</Version>
  1611. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1612. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1613. <IsMainModel>1</IsMainModel>
  1614. <KeepParameterValues>False</KeepParameterValues>
  1615. </Description>';
  1616. knot Splitter
  1617. ports
  1618. signal knot duplicatable out output [4,4];
  1619. signal knot in input [4,4];
  1620. end;
  1621. icon bg ellipse
  1622. figures
  1623. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1624. ellipse 315.7 307.7 324.3 316.3 color -1;
  1625. terminals
  1626. input 320 312 fixed;
  1627. end;
  1628. implementation eq
  1629. equations
  1630. collect (output) = input;
  1631. implementation_end;
  1632. Wbai 184 424
  1633. description '<Description>
  1634. <Version>4.0</Version>
  1635. <IsMainModel>1</IsMainModel>
  1636. <KeepParameterValues>False</KeepParameterValues>
  1637. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1638. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1639. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1640. </Description>';
  1641. knot ZeroJunction
  1642. ports
  1643. power knot duplicatable none p [6,1];
  1644. signal knot out effort [6,1];
  1645. restrictions
  1646. causality constraint one_in p;
  1647. end;
  1648. icon bg bottom
  1649. figures
  1650. text '0' 184 424 color 0 18 bold;
  1651. end;
  1652. implementation eq
  1653. equations
  1654. sum (direct (p.f)) = 0;
  1655. equal (collect (p.e));
  1656. effort = first (p.e);
  1657. implementation_end;
  1658. end;
  1659. connections
  1660. FlowSensor2\flow -> Hmatrix\flow;
  1661. FlowSensor2\p2 => Wbai\p;
  1662. Hin -> MatrixMul\input2;
  1663. Hmatrix\H -> Splitter2\input;
  1664. MatrixMul\output -> Hout;
  1665. Pdiff => FlowSensor2\p1;
  1666. Pin => AdHji\p2;
  1667. Splitter2\output -> AdHji\H 424 312;
  1668. Splitter2\output -> Hdiff;
  1669. Splitter2\output -> MatrixMul\input1;
  1670. Wbai\p <= AdHji\p1;
  1671. Wbai\p => Pout;
  1672. end;
  1673. implementation_end;
  1674. JointB 432 216
  1675. description '<Information>
  1676. <Description>
  1677. <Version>4.8</Version>
  1678. <IsMainModel>1</IsMainModel>
  1679. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1680. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1681. </Description>
  1682. </Information>';
  1683. type 'Submodel-v3'
  1684. ports
  1685. power in Pin [6,1];
  1686. power in Pdiff [6,1];
  1687. signal in Hin [4,4];
  1688. signal out Hout [4,4];
  1689. signal out Hdiff [4,4];
  1690. power out Pout [6,1];
  1691. end;
  1692. icon bg bottom
  1693. figures
  1694. rectangle 400 192 464 240 color 0 fill 14745599;
  1695. text 'Joint' 432 216 color 0 'Clear Sans' 16;
  1696. terminals
  1697. Pin 416 192 fixed;
  1698. Hin 448 240 fixed;
  1699. Hout 448 192 fixed;
  1700. Pout 416 240 fixed;
  1701. end;
  1702. implementation bg
  1703. submodels
  1704. AdHji 424 424
  1705. description '<Description>
  1706. <Version>4.0</Version>
  1707. <IsMainModel>1</IsMainModel>
  1708. <KeepParameterValues>False</KeepParameterValues>
  1709. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1710. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1711. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1712. </Description>';
  1713. type MTF
  1714. ports
  1715. power out p1 [6,1];
  1716. power in p2 [6,1];
  1717. signal in H [4,4];
  1718. restrictions
  1719. causality constraint not_equal p1 p2;
  1720. end;
  1721. icon bg bottom
  1722. figures
  1723. text 'MTF' 424 424 color 0 18 bold;
  1724. end;
  1725. implementation eq
  1726. equations
  1727. p2.e = transpose(Adjoint(H)) * p1.e;
  1728. p1.f = Adjoint(H) * p2.f;implementation_end;
  1729. FlowSensor2 184 311.9
  1730. description '<Information>
  1731. <Description>
  1732. <Version>4.2</Version>
  1733. <IsMainModel>1</IsMainModel>
  1734. <KeepParameterValues>False</KeepParameterValues>
  1735. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1736. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1737. </Description>
  1738. </Information>';
  1739. knot FlowSensor
  1740. ports
  1741. power knot in p1 [6,1];
  1742. power knot out p2 [6,1];
  1743. signal knot out flow [6,1];
  1744. restrictions
  1745. causality constraint not_equal p1 p2;
  1746. end;
  1747. icon bg ellipse
  1748. figures
  1749. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1750. text 'f' 184 311.2 color 0;
  1751. end;
  1752. implementation eq
  1753. equations
  1754. p2.f = p1.f;
  1755. p1.e = p2.e;
  1756. flow = p1.f;
  1757. implementation_end;
  1758. Hmatrix 256 312
  1759. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1760. type 'Submodel-Equation'
  1761. ports
  1762. signal in flow [6,1];
  1763. signal out H [4,4];
  1764. end;
  1765. icon bg
  1766. figures
  1767. rectangle 224 296 288 328 color 0 fill 15132390;
  1768. text 'name' 256 312 color 0 'Clear Sans' 16;
  1769. end;
  1770. implementation eq
  1771. parameters
  1772. real init[4] = [1;0;0;0];
  1773. variables
  1774. real q[4]; //quaternions
  1775. real W[3,4]; //Quaternion Rates Matrix
  1776. real R[3,3]; //Rotation Matrix
  1777. real p[3]; //Position Vector
  1778. real dq[4];
  1779. real Wb[3,4];
  1780. equations
  1781. dq = transpose(Wb) * flow[1:3] ./ 2;
  1782. q = int(dq,init);
  1783. p = int(flow[4:6]);
  1784. W = [-q[2], q[1], -q[4], q[3];
  1785. -q[3], q[4], q[1], -q[2];
  1786. -q[4], -q[3], q[2], q[1]];
  1787. Wb = [ -q[2], q[1], q[4], -q[3];
  1788. -q[3], -q[4], q[1], q[2];
  1789. -q[4], q[3], -q[2], q[1]];
  1790. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1791. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1792. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1793. H = homogeneous(R,p);
  1794. implementation_end;
  1795. MatrixMul 320 576
  1796. description '<Description>
  1797. <Version>4.0</Version>
  1798. <IsMainModel>1</IsMainModel>
  1799. <KeepParameterValues>False</KeepParameterValues>
  1800. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1801. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1802. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1803. </Description>';
  1804. type Gain
  1805. ports
  1806. signal in input1 [4,4];
  1807. signal out output [4,4];
  1808. signal in input2 [4,4];
  1809. end;
  1810. icon bg bottom
  1811. figures
  1812. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1813. text 'X' 320 576 color 16711680 16 bold;
  1814. end;
  1815. implementation eq
  1816. equations
  1817. output = input2*input1; implementation_end;
  1818. plug Pin 492.1 424;
  1819. plug Pdiff 184 225;
  1820. plug Hin 130.8 576;
  1821. plug Hout 478.4 576;
  1822. plug Hdiff 320 222;
  1823. plug Pout 134.7 424;
  1824. Splitter2 320 312
  1825. description '<Description><Version>4.0</Version>
  1826. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1827. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1828. <IsMainModel>1</IsMainModel>
  1829. <KeepParameterValues>False</KeepParameterValues>
  1830. </Description>';
  1831. knot Splitter
  1832. ports
  1833. signal knot duplicatable out output [4,4];
  1834. signal knot in input [4,4];
  1835. end;
  1836. icon bg ellipse
  1837. figures
  1838. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1839. ellipse 315.7 307.7 324.3 316.3 color -1;
  1840. terminals
  1841. input 320 312 fixed;
  1842. end;
  1843. implementation eq
  1844. equations
  1845. collect (output) = input;
  1846. implementation_end;
  1847. Wbai 184 424
  1848. description '<Description>
  1849. <Version>4.0</Version>
  1850. <IsMainModel>1</IsMainModel>
  1851. <KeepParameterValues>False</KeepParameterValues>
  1852. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1853. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1854. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1855. </Description>';
  1856. knot ZeroJunction
  1857. ports
  1858. power knot duplicatable none p [6,1];
  1859. signal knot out effort [6,1];
  1860. restrictions
  1861. causality constraint one_in p;
  1862. end;
  1863. icon bg bottom
  1864. figures
  1865. text '0' 184 424 color 0 18 bold;
  1866. end;
  1867. implementation eq
  1868. equations
  1869. sum (direct (p.f)) = 0;
  1870. equal (collect (p.e));
  1871. effort = first (p.e);
  1872. implementation_end;
  1873. end;
  1874. connections
  1875. FlowSensor2\flow -> Hmatrix\flow;
  1876. FlowSensor2\p2 => Wbai\p;
  1877. Hin -> MatrixMul\input2;
  1878. Hmatrix\H -> Splitter2\input;
  1879. MatrixMul\output -> Hout;
  1880. Pdiff => FlowSensor2\p1;
  1881. Pin => AdHji\p2;
  1882. Splitter2\output -> AdHji\H 424 312;
  1883. Splitter2\output -> Hdiff;
  1884. Splitter2\output -> MatrixMul\input1;
  1885. Wbai\p <= AdHji\p1;
  1886. Wbai\p => Pout;
  1887. end;
  1888. implementation_end;
  1889. JointC 928 616
  1890. description '<Information>
  1891. <Description>
  1892. <Version>4.8</Version>
  1893. <IsMainModel>1</IsMainModel>
  1894. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1895. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1896. </Description>
  1897. </Information>';
  1898. type 'Submodel-v3'
  1899. ports
  1900. power in Pin [6,1];
  1901. power in Pdiff [6,1];
  1902. signal in Hin [4,4];
  1903. signal out Hout [4,4];
  1904. signal out Hdiff [4,4];
  1905. power out Pout [6,1];
  1906. end;
  1907. icon bg bottom
  1908. figures
  1909. rectangle 904 584 952 648 color 0 fill 14745599;
  1910. text 'Joint' 928 616 color 0 'Clear Sans' 16;
  1911. terminals
  1912. Pin 904 632 fixed;
  1913. Hin 952 600 fixed;
  1914. Hout 904 600 fixed;
  1915. Pout 952 632 fixed;
  1916. end;
  1917. implementation bg
  1918. submodels
  1919. AdHji 424 424
  1920. description '<Description>
  1921. <Version>4.0</Version>
  1922. <IsMainModel>1</IsMainModel>
  1923. <KeepParameterValues>False</KeepParameterValues>
  1924. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1925. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1926. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1927. </Description>';
  1928. type MTF
  1929. ports
  1930. power out p1 [6,1];
  1931. power in p2 [6,1];
  1932. signal in H [4,4];
  1933. restrictions
  1934. causality constraint not_equal p1 p2;
  1935. end;
  1936. icon bg bottom
  1937. figures
  1938. text 'MTF' 424 424 color 0 18 bold;
  1939. end;
  1940. implementation eq
  1941. equations
  1942. p2.e = transpose(Adjoint(H)) * p1.e;
  1943. p1.f = Adjoint(H) * p2.f;implementation_end;
  1944. FlowSensor2 184 311.9
  1945. description '<Information>
  1946. <Description>
  1947. <Version>4.2</Version>
  1948. <IsMainModel>1</IsMainModel>
  1949. <KeepParameterValues>False</KeepParameterValues>
  1950. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1951. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1952. </Description>
  1953. </Information>';
  1954. knot FlowSensor
  1955. ports
  1956. power knot in p1 [6,1];
  1957. power knot out p2 [6,1];
  1958. signal knot out flow [6,1];
  1959. restrictions
  1960. causality constraint not_equal p1 p2;
  1961. end;
  1962. icon bg ellipse
  1963. figures
  1964. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1965. text 'f' 184 311.2 color 0;
  1966. end;
  1967. implementation eq
  1968. equations
  1969. p2.f = p1.f;
  1970. p1.e = p2.e;
  1971. flow = p1.f;
  1972. implementation_end;
  1973. Hmatrix 256 312
  1974. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1975. type 'Submodel-Equation'
  1976. ports
  1977. signal in flow [6,1];
  1978. signal out H [4,4];
  1979. end;
  1980. icon bg
  1981. figures
  1982. rectangle 224 296 288 328 color 0 fill 15132390;
  1983. text 'name' 256 312 color 0 'Clear Sans' 16;
  1984. end;
  1985. implementation eq
  1986. parameters
  1987. real init[4] = [1;0;0;0];
  1988. variables
  1989. real q[4]; //quaternions
  1990. real W[3,4]; //Quaternion Rates Matrix
  1991. real R[3,3]; //Rotation Matrix
  1992. real p[3]; //Position Vector
  1993. real dq[4];
  1994. real Wb[3,4];
  1995. equations
  1996. dq = transpose(Wb) * flow[1:3] ./ 2;
  1997. q = int(dq,init);
  1998. p = int(flow[4:6]);
  1999. W = [-q[2], q[1], -q[4], q[3];
  2000. -q[3], q[4], q[1], -q[2];
  2001. -q[4], -q[3], q[2], q[1]];
  2002. Wb = [ -q[2], q[1], q[4], -q[3];
  2003. -q[3], -q[4], q[1], q[2];
  2004. -q[4], q[3], -q[2], q[1]];
  2005. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2006. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2007. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2008. H = homogeneous(R,p);
  2009. implementation_end;
  2010. MatrixMul 320 576
  2011. description '<Description>
  2012. <Version>4.0</Version>
  2013. <IsMainModel>1</IsMainModel>
  2014. <KeepParameterValues>False</KeepParameterValues>
  2015. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2016. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2017. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2018. </Description>';
  2019. type Gain
  2020. ports
  2021. signal in input1 [4,4];
  2022. signal out output [4,4];
  2023. signal in input2 [4,4];
  2024. end;
  2025. icon bg bottom
  2026. figures
  2027. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2028. text 'X' 320 576 color 16711680 16 bold;
  2029. end;
  2030. implementation eq
  2031. equations
  2032. output = input2*input1; implementation_end;
  2033. plug Pin 492.1 424;
  2034. plug Pdiff 184 225;
  2035. plug Hin 130.8 576;
  2036. plug Hout 478.4 576;
  2037. plug Hdiff 320 222;
  2038. plug Pout 134.7 424;
  2039. Splitter2 320 312
  2040. description '<Description><Version>4.0</Version>
  2041. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2042. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2043. <IsMainModel>1</IsMainModel>
  2044. <KeepParameterValues>False</KeepParameterValues>
  2045. </Description>';
  2046. knot Splitter
  2047. ports
  2048. signal knot duplicatable out output [4,4];
  2049. signal knot in input [4,4];
  2050. end;
  2051. icon bg ellipse
  2052. figures
  2053. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2054. ellipse 315.7 307.7 324.3 316.3 color -1;
  2055. terminals
  2056. input 320 312 fixed;
  2057. end;
  2058. implementation eq
  2059. equations
  2060. collect (output) = input;
  2061. implementation_end;
  2062. Wbai 184 424
  2063. description '<Description>
  2064. <Version>4.0</Version>
  2065. <IsMainModel>1</IsMainModel>
  2066. <KeepParameterValues>False</KeepParameterValues>
  2067. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2068. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2069. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2070. </Description>';
  2071. knot ZeroJunction
  2072. ports
  2073. power knot duplicatable none p [6,1];
  2074. signal knot out effort [6,1];
  2075. restrictions
  2076. causality constraint one_in p;
  2077. end;
  2078. icon bg bottom
  2079. figures
  2080. text '0' 184 424 color 0 18 bold;
  2081. end;
  2082. implementation eq
  2083. equations
  2084. sum (direct (p.f)) = 0;
  2085. equal (collect (p.e));
  2086. effort = first (p.e);
  2087. implementation_end;
  2088. end;
  2089. connections
  2090. FlowSensor2\flow -> Hmatrix\flow;
  2091. FlowSensor2\p2 => Wbai\p;
  2092. Hin -> MatrixMul\input2;
  2093. Hmatrix\H -> Splitter2\input;
  2094. MatrixMul\output -> Hout;
  2095. Pdiff => FlowSensor2\p1;
  2096. Pin => AdHji\p2;
  2097. Splitter2\output -> AdHji\H 424 312;
  2098. Splitter2\output -> Hdiff;
  2099. Splitter2\output -> MatrixMul\input1;
  2100. Wbai\p <= AdHji\p1;
  2101. Wbai\p => Pout;
  2102. end;
  2103. implementation_end;
  2104. JointD 632 536
  2105. description '<Information>
  2106. <Description>
  2107. <Version>4.8</Version>
  2108. <IsMainModel>1</IsMainModel>
  2109. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2110. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2111. </Description>
  2112. </Information>';
  2113. type 'Submodel-v3'
  2114. ports
  2115. power in Pin [6,1];
  2116. power in Pdiff [6,1];
  2117. signal in Hin [4,4];
  2118. signal out Hout [4,4];
  2119. signal out Hdiff [4,4];
  2120. power out Pout [6,1];
  2121. end;
  2122. icon bg bottom
  2123. figures
  2124. rectangle 600 512 664 560 color 0 fill 14745599;
  2125. text 'Joint' 632 536 color 0 'Clear Sans' 16;
  2126. terminals
  2127. Pin 616 512 fixed;
  2128. Hin 648 560 fixed;
  2129. Hout 648 512 fixed;
  2130. Pout 616 560 fixed;
  2131. end;
  2132. implementation bg
  2133. submodels
  2134. AdHji 424 424
  2135. description '<Description>
  2136. <Version>4.0</Version>
  2137. <IsMainModel>1</IsMainModel>
  2138. <KeepParameterValues>False</KeepParameterValues>
  2139. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2140. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2141. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2142. </Description>';
  2143. type MTF
  2144. ports
  2145. power out p1 [6,1];
  2146. power in p2 [6,1];
  2147. signal in H [4,4];
  2148. restrictions
  2149. causality constraint not_equal p1 p2;
  2150. end;
  2151. icon bg bottom
  2152. figures
  2153. text 'MTF' 424 424 color 0 18 bold;
  2154. end;
  2155. implementation eq
  2156. equations
  2157. p2.e = transpose(Adjoint(H)) * p1.e;
  2158. p1.f = Adjoint(H) * p2.f;implementation_end;
  2159. FlowSensor2 184 311.9
  2160. description '<Information>
  2161. <Description>
  2162. <Version>4.2</Version>
  2163. <IsMainModel>1</IsMainModel>
  2164. <KeepParameterValues>False</KeepParameterValues>
  2165. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2166. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2167. </Description>
  2168. </Information>';
  2169. knot FlowSensor
  2170. ports
  2171. power knot in p1 [6,1];
  2172. power knot out p2 [6,1];
  2173. signal knot out flow [6,1];
  2174. restrictions
  2175. causality constraint not_equal p1 p2;
  2176. end;
  2177. icon bg ellipse
  2178. figures
  2179. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2180. text 'f' 184 311.2 color 0;
  2181. end;
  2182. implementation eq
  2183. equations
  2184. p2.f = p1.f;
  2185. p1.e = p2.e;
  2186. flow = p1.f;
  2187. implementation_end;
  2188. Hmatrix 256 312
  2189. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2190. type 'Submodel-Equation'
  2191. ports
  2192. signal in flow [6,1];
  2193. signal out H [4,4];
  2194. end;
  2195. icon bg
  2196. figures
  2197. rectangle 224 296 288 328 color 0 fill 15132390;
  2198. text 'name' 256 312 color 0 'Clear Sans' 16;
  2199. end;
  2200. implementation eq
  2201. parameters
  2202. real init[4] = [1;0;0;0];
  2203. variables
  2204. real q[4]; //quaternions
  2205. real W[3,4]; //Quaternion Rates Matrix
  2206. real R[3,3]; //Rotation Matrix
  2207. real p[3]; //Position Vector
  2208. real dq[4];
  2209. real Wb[3,4];
  2210. equations
  2211. dq = transpose(Wb) * flow[1:3] ./ 2;
  2212. q = int(dq,init);
  2213. p = int(flow[4:6]);
  2214. W = [-q[2], q[1], -q[4], q[3];
  2215. -q[3], q[4], q[1], -q[2];
  2216. -q[4], -q[3], q[2], q[1]];
  2217. Wb = [ -q[2], q[1], q[4], -q[3];
  2218. -q[3], -q[4], q[1], q[2];
  2219. -q[4], q[3], -q[2], q[1]];
  2220. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2221. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2222. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2223. H = homogeneous(R,p);
  2224. implementation_end;
  2225. MatrixMul 320 576
  2226. description '<Description>
  2227. <Version>4.0</Version>
  2228. <IsMainModel>1</IsMainModel>
  2229. <KeepParameterValues>False</KeepParameterValues>
  2230. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2231. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2232. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2233. </Description>';
  2234. type Gain
  2235. ports
  2236. signal in input1 [4,4];
  2237. signal out output [4,4];
  2238. signal in input2 [4,4];
  2239. end;
  2240. icon bg bottom
  2241. figures
  2242. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2243. text 'X' 320 576 color 16711680 16 bold;
  2244. end;
  2245. implementation eq
  2246. equations
  2247. output = input2*input1; implementation_end;
  2248. plug Pin 492.1 424;
  2249. plug Pdiff 184 225;
  2250. plug Hin 130.8 576;
  2251. plug Hout 478.4 576;
  2252. plug Hdiff 320 222;
  2253. plug Pout 134.7 424;
  2254. Splitter2 320 312
  2255. description '<Description><Version>4.0</Version>
  2256. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2257. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2258. <IsMainModel>1</IsMainModel>
  2259. <KeepParameterValues>False</KeepParameterValues>
  2260. </Description>';
  2261. knot Splitter
  2262. ports
  2263. signal knot duplicatable out output [4,4];
  2264. signal knot in input [4,4];
  2265. end;
  2266. icon bg ellipse
  2267. figures
  2268. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2269. ellipse 315.7 307.7 324.3 316.3 color -1;
  2270. terminals
  2271. input 320 312 fixed;
  2272. end;
  2273. implementation eq
  2274. equations
  2275. collect (output) = input;
  2276. implementation_end;
  2277. Wbai 184 424
  2278. description '<Description>
  2279. <Version>4.0</Version>
  2280. <IsMainModel>1</IsMainModel>
  2281. <KeepParameterValues>False</KeepParameterValues>
  2282. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2283. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2284. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2285. </Description>';
  2286. knot ZeroJunction
  2287. ports
  2288. power knot duplicatable none p [6,1];
  2289. signal knot out effort [6,1];
  2290. restrictions
  2291. causality constraint one_in p;
  2292. end;
  2293. icon bg bottom
  2294. figures
  2295. text '0' 184 424 color 0 18 bold;
  2296. end;
  2297. implementation eq
  2298. equations
  2299. sum (direct (p.f)) = 0;
  2300. equal (collect (p.e));
  2301. effort = first (p.e);
  2302. implementation_end;
  2303. end;
  2304. connections
  2305. FlowSensor2\flow -> Hmatrix\flow;
  2306. FlowSensor2\p2 => Wbai\p;
  2307. Hin -> MatrixMul\input2;
  2308. Hmatrix\H -> Splitter2\input;
  2309. MatrixMul\output -> Hout;
  2310. Pdiff => FlowSensor2\p1;
  2311. Pin => AdHji\p2;
  2312. Splitter2\output -> AdHji\H 424 312;
  2313. Splitter2\output -> Hdiff;
  2314. Splitter2\output -> MatrixMul\input1;
  2315. Wbai\p <= AdHji\p1;
  2316. Wbai\p => Pout;
  2317. end;
  2318. implementation_end;
  2319. JointE 632 216
  2320. description '<Information>
  2321. <Description>
  2322. <Version>4.8</Version>
  2323. <IsMainModel>1</IsMainModel>
  2324. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2325. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2326. </Description>
  2327. </Information>';
  2328. type 'Submodel-v3'
  2329. ports
  2330. power in Pin [6,1];
  2331. power in Pdiff [6,1];
  2332. signal in Hin [4,4];
  2333. signal out Hout [4,4];
  2334. signal out Hdiff [4,4];
  2335. power out Pout [6,1];
  2336. end;
  2337. icon bg bottom
  2338. figures
  2339. rectangle 600 192 664 240 color 0 fill 14745599;
  2340. text 'Joint' 632 216 color 0 'Clear Sans' 16;
  2341. terminals
  2342. Pin 616 192 fixed;
  2343. Hin 648 240 fixed;
  2344. Hout 648 192 fixed;
  2345. Pout 616 240 fixed;
  2346. end;
  2347. implementation bg
  2348. submodels
  2349. AdHji 424 424
  2350. description '<Description>
  2351. <Version>4.0</Version>
  2352. <IsMainModel>1</IsMainModel>
  2353. <KeepParameterValues>False</KeepParameterValues>
  2354. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2355. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2356. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2357. </Description>';
  2358. type MTF
  2359. ports
  2360. power out p1 [6,1];
  2361. power in p2 [6,1];
  2362. signal in H [4,4];
  2363. restrictions
  2364. causality constraint not_equal p1 p2;
  2365. end;
  2366. icon bg bottom
  2367. figures
  2368. text 'MTF' 424 424 color 0 18 bold;
  2369. end;
  2370. implementation eq
  2371. equations
  2372. p2.e = transpose(Adjoint(H)) * p1.e;
  2373. p1.f = Adjoint(H) * p2.f;implementation_end;
  2374. FlowSensor2 184 311.9
  2375. description '<Information>
  2376. <Description>
  2377. <Version>4.2</Version>
  2378. <IsMainModel>1</IsMainModel>
  2379. <KeepParameterValues>False</KeepParameterValues>
  2380. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2381. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2382. </Description>
  2383. </Information>';
  2384. knot FlowSensor
  2385. ports
  2386. power knot in p1 [6,1];
  2387. power knot out p2 [6,1];
  2388. signal knot out flow [6,1];
  2389. restrictions
  2390. causality constraint not_equal p1 p2;
  2391. end;
  2392. icon bg ellipse
  2393. figures
  2394. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2395. text 'f' 184 311.2 color 0;
  2396. end;
  2397. implementation eq
  2398. equations
  2399. p2.f = p1.f;
  2400. p1.e = p2.e;
  2401. flow = p1.f;
  2402. implementation_end;
  2403. Hmatrix 256 312
  2404. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2405. type 'Submodel-Equation'
  2406. ports
  2407. signal in flow [6,1];
  2408. signal out H [4,4];
  2409. end;
  2410. icon bg
  2411. figures
  2412. rectangle 224 296 288 328 color 0 fill 15132390;
  2413. text 'name' 256 312 color 0 'Clear Sans' 16;
  2414. end;
  2415. implementation eq
  2416. parameters
  2417. real init[4] = [1;0;0;0];
  2418. variables
  2419. real q[4]; //quaternions
  2420. real W[3,4]; //Quaternion Rates Matrix
  2421. real R[3,3]; //Rotation Matrix
  2422. real p[3]; //Position Vector
  2423. real dq[4];
  2424. real Wb[3,4];
  2425. equations
  2426. dq = transpose(Wb) * flow[1:3] ./ 2;
  2427. q = int(dq,init);
  2428. p = int(flow[4:6]);
  2429. W = [-q[2], q[1], -q[4], q[3];
  2430. -q[3], q[4], q[1], -q[2];
  2431. -q[4], -q[3], q[2], q[1]];
  2432. Wb = [ -q[2], q[1], q[4], -q[3];
  2433. -q[3], -q[4], q[1], q[2];
  2434. -q[4], q[3], -q[2], q[1]];
  2435. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2436. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2437. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2438. H = homogeneous(R,p);
  2439. implementation_end;
  2440. MatrixMul 320 576
  2441. description '<Description>
  2442. <Version>4.0</Version>
  2443. <IsMainModel>1</IsMainModel>
  2444. <KeepParameterValues>False</KeepParameterValues>
  2445. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2446. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2447. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2448. </Description>';
  2449. type Gain
  2450. ports
  2451. signal in input1 [4,4];
  2452. signal out output [4,4];
  2453. signal in input2 [4,4];
  2454. end;
  2455. icon bg bottom
  2456. figures
  2457. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2458. text 'X' 320 576 color 16711680 16 bold;
  2459. end;
  2460. implementation eq
  2461. equations
  2462. output = input2*input1; implementation_end;
  2463. plug Pin 492.1 424;
  2464. plug Pdiff 184 225;
  2465. plug Hin 130.8 576;
  2466. plug Hout 478.4 576;
  2467. plug Hdiff 320 222;
  2468. plug Pout 134.7 424;
  2469. Splitter2 320 312
  2470. description '<Description><Version>4.0</Version>
  2471. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2472. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2473. <IsMainModel>1</IsMainModel>
  2474. <KeepParameterValues>False</KeepParameterValues>
  2475. </Description>';
  2476. knot Splitter
  2477. ports
  2478. signal knot duplicatable out output [4,4];
  2479. signal knot in input [4,4];
  2480. end;
  2481. icon bg ellipse
  2482. figures
  2483. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2484. ellipse 315.7 307.7 324.3 316.3 color -1;
  2485. terminals
  2486. input 320 312 fixed;
  2487. end;
  2488. implementation eq
  2489. equations
  2490. collect (output) = input;
  2491. implementation_end;
  2492. Wbai 184 424
  2493. description '<Description>
  2494. <Version>4.0</Version>
  2495. <IsMainModel>1</IsMainModel>
  2496. <KeepParameterValues>False</KeepParameterValues>
  2497. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2498. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2499. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2500. </Description>';
  2501. knot ZeroJunction
  2502. ports
  2503. power knot duplicatable none p [6,1];
  2504. signal knot out effort [6,1];
  2505. restrictions
  2506. causality constraint one_in p;
  2507. end;
  2508. icon bg bottom
  2509. figures
  2510. text '0' 184 424 color 0 18 bold;
  2511. end;
  2512. implementation eq
  2513. equations
  2514. sum (direct (p.f)) = 0;
  2515. equal (collect (p.e));
  2516. effort = first (p.e);
  2517. implementation_end;
  2518. end;
  2519. connections
  2520. FlowSensor2\flow -> Hmatrix\flow;
  2521. FlowSensor2\p2 => Wbai\p;
  2522. Hin -> MatrixMul\input2;
  2523. Hmatrix\H -> Splitter2\input;
  2524. MatrixMul\output -> Hout;
  2525. Pdiff => FlowSensor2\p1;
  2526. Pin => AdHji\p2;
  2527. Splitter2\output -> AdHji\H 424 312;
  2528. Splitter2\output -> Hdiff;
  2529. Splitter2\output -> MatrixMul\input1;
  2530. Wbai\p <= AdHji\p1;
  2531. Wbai\p => Pout;
  2532. end;
  2533. implementation_end;
  2534. JointF 792 136
  2535. description '<Information>
  2536. <Description>
  2537. <Version>4.8</Version>
  2538. <IsMainModel>1</IsMainModel>
  2539. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2540. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2541. </Description>
  2542. </Information>';
  2543. type 'Submodel-v3'
  2544. ports
  2545. power in Pin [6,1];
  2546. power in Pdiff [6,1];
  2547. signal in Hin [4,4];
  2548. signal out Hout [4,4];
  2549. signal out Hdiff [4,4];
  2550. power out Pout [6,1];
  2551. end;
  2552. icon bg bottom
  2553. figures
  2554. rectangle 768 104 816 168 color 0 fill 14745599;
  2555. text 'Joint' 792 136 color 0 'Clear Sans' 16;
  2556. terminals
  2557. Pin 816 120 fixed;
  2558. Hin 768 152 fixed;
  2559. Hout 816 152 fixed;
  2560. Pout 768 120 fixed;
  2561. end;
  2562. implementation bg
  2563. submodels
  2564. AdHji 424 424
  2565. description '<Description>
  2566. <Version>4.0</Version>
  2567. <IsMainModel>1</IsMainModel>
  2568. <KeepParameterValues>False</KeepParameterValues>
  2569. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2570. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2571. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2572. </Description>';
  2573. type MTF
  2574. ports
  2575. power out p1 [6,1];
  2576. power in p2 [6,1];
  2577. signal in H [4,4];
  2578. restrictions
  2579. causality constraint not_equal p1 p2;
  2580. end;
  2581. icon bg bottom
  2582. figures
  2583. text 'MTF' 424 424 color 0 18 bold;
  2584. end;
  2585. implementation eq
  2586. equations
  2587. p2.e = transpose(Adjoint(H)) * p1.e;
  2588. p1.f = Adjoint(H) * p2.f;implementation_end;
  2589. FlowSensor2 184 311.9
  2590. description '<Information>
  2591. <Description>
  2592. <Version>4.2</Version>
  2593. <IsMainModel>1</IsMainModel>
  2594. <KeepParameterValues>False</KeepParameterValues>
  2595. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2596. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2597. </Description>
  2598. </Information>';
  2599. knot FlowSensor
  2600. ports
  2601. power knot in p1 [6,1];
  2602. power knot out p2 [6,1];
  2603. signal knot out flow [6,1];
  2604. restrictions
  2605. causality constraint not_equal p1 p2;
  2606. end;
  2607. icon bg ellipse
  2608. figures
  2609. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2610. text 'f' 184 311.2 color 0;
  2611. end;
  2612. implementation eq
  2613. equations
  2614. p2.f = p1.f;
  2615. p1.e = p2.e;
  2616. flow = p1.f;
  2617. implementation_end;
  2618. Hmatrix 256 312
  2619. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2620. type 'Submodel-Equation'
  2621. ports
  2622. signal in flow [6,1];
  2623. signal out H [4,4];
  2624. end;
  2625. icon bg
  2626. figures
  2627. rectangle 224 296 288 328 color 0 fill 15132390;
  2628. text 'name' 256 312 color 0 'Clear Sans' 16;
  2629. end;
  2630. implementation eq
  2631. parameters
  2632. real init[4] = [1;0;0;0];
  2633. variables
  2634. real q[4]; //quaternions
  2635. real W[3,4]; //Quaternion Rates Matrix
  2636. real R[3,3]; //Rotation Matrix
  2637. real p[3]; //Position Vector
  2638. real dq[4];
  2639. real Wb[3,4];
  2640. equations
  2641. dq = transpose(Wb) * flow[1:3] ./ 2;
  2642. q = int(dq,init);
  2643. p = int(flow[4:6]);
  2644. W = [-q[2], q[1], -q[4], q[3];
  2645. -q[3], q[4], q[1], -q[2];
  2646. -q[4], -q[3], q[2], q[1]];
  2647. Wb = [ -q[2], q[1], q[4], -q[3];
  2648. -q[3], -q[4], q[1], q[2];
  2649. -q[4], q[3], -q[2], q[1]];
  2650. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2651. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2652. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2653. H = homogeneous(R,p);
  2654. implementation_end;
  2655. MatrixMul 320 576
  2656. description '<Description>
  2657. <Version>4.0</Version>
  2658. <IsMainModel>1</IsMainModel>
  2659. <KeepParameterValues>False</KeepParameterValues>
  2660. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2661. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2662. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2663. </Description>';
  2664. type Gain
  2665. ports
  2666. signal in input1 [4,4];
  2667. signal out output [4,4];
  2668. signal in input2 [4,4];
  2669. end;
  2670. icon bg bottom
  2671. figures
  2672. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2673. text 'X' 320 576 color 16711680 16 bold;
  2674. end;
  2675. implementation eq
  2676. equations
  2677. output = input2*input1; implementation_end;
  2678. plug Pin 492.1 424;
  2679. plug Pdiff 184 225;
  2680. plug Hin 130.8 576;
  2681. plug Hout 478.4 576;
  2682. plug Hdiff 320 222;
  2683. plug Pout 134.7 424;
  2684. Splitter2 320 312
  2685. description '<Description><Version>4.0</Version>
  2686. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2687. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2688. <IsMainModel>1</IsMainModel>
  2689. <KeepParameterValues>False</KeepParameterValues>
  2690. </Description>';
  2691. knot Splitter
  2692. ports
  2693. signal knot duplicatable out output [4,4];
  2694. signal knot in input [4,4];
  2695. end;
  2696. icon bg ellipse
  2697. figures
  2698. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2699. ellipse 315.7 307.7 324.3 316.3 color -1;
  2700. terminals
  2701. input 320 312 fixed;
  2702. end;
  2703. implementation eq
  2704. equations
  2705. collect (output) = input;
  2706. implementation_end;
  2707. Wbai 184 424
  2708. description '<Description>
  2709. <Version>4.0</Version>
  2710. <IsMainModel>1</IsMainModel>
  2711. <KeepParameterValues>False</KeepParameterValues>
  2712. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2713. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2714. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2715. </Description>';
  2716. knot ZeroJunction
  2717. ports
  2718. power knot duplicatable none p [6,1];
  2719. signal knot out effort [6,1];
  2720. restrictions
  2721. causality constraint one_in p;
  2722. end;
  2723. icon bg bottom
  2724. figures
  2725. text '0' 184 424 color 0 18 bold;
  2726. end;
  2727. implementation eq
  2728. equations
  2729. sum (direct (p.f)) = 0;
  2730. equal (collect (p.e));
  2731. effort = first (p.e);
  2732. implementation_end;
  2733. end;
  2734. connections
  2735. FlowSensor2\flow -> Hmatrix\flow;
  2736. FlowSensor2\p2 => Wbai\p;
  2737. Hin -> MatrixMul\input2;
  2738. Hmatrix\H -> Splitter2\input;
  2739. MatrixMul\output -> Hout;
  2740. Pdiff => FlowSensor2\p1;
  2741. Pin => AdHji\p2;
  2742. Splitter2\output -> AdHji\H 424 312;
  2743. Splitter2\output -> Hdiff;
  2744. Splitter2\output -> MatrixMul\input1;
  2745. Wbai\p <= AdHji\p1;
  2746. Wbai\p => Pout;
  2747. end;
  2748. implementation_end;
  2749. Joint_dynA 336 536
  2750. description '<Description>
  2751. <Version>4.8</Version>
  2752. <IsMainModel>1</IsMainModel>
  2753. </Description>';
  2754. type Submodel
  2755. ports
  2756. power out output [6,1];
  2757. end;
  2758. implementation bg
  2759. submodels
  2760. C1 191.8 216.2
  2761. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2762. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  2763. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  2764. </Description>';
  2765. type 'C-3'
  2766. ports
  2767. power in p [3,1];
  2768. signal out state [3,1];
  2769. restrictions
  2770. causality preferred out p;
  2771. end;
  2772. icon bg top
  2773. figures
  2774. text 'C' 191.8 216.2 color 0 18 bold;
  2775. end;
  2776. implementation eq
  2777. parameters
  2778. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  2779. equations
  2780. state = int(p.f);
  2781. p.e = inverse(c) *state;
  2782. implementation_end;
  2783. C4 191.8 232.2
  2784. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2785. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  2786. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  2787. </Description>';
  2788. type 'C-2'
  2789. ports
  2790. power in p [2,1];
  2791. signal out state [2,1];
  2792. restrictions
  2793. causality preferred out p;
  2794. end;
  2795. icon bg bottom
  2796. figures
  2797. text 'C' 191.8 232.2 color 0 18 bold;
  2798. end;
  2799. implementation eq
  2800. parameters
  2801. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  2802. equations
  2803. state = int(p.f);
  2804. p.e = inverse(c) *state;
  2805. implementation_end;
  2806. plug output 396 216;
  2807. OneJunction5 239.8 232.2
  2808. description '<Information>
  2809. <Description>
  2810. <Version>4.2</Version>
  2811. <IsMainModel>1</IsMainModel>
  2812. <KeepParameterValues>False</KeepParameterValues>
  2813. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2814. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2815. </Description>
  2816. </Information>';
  2817. knot OneJunction
  2818. ports
  2819. power knot duplicatable none p [2,1];
  2820. signal knot out flow [2,1];
  2821. restrictions
  2822. causality constraint one_out p;
  2823. end;
  2824. icon bg
  2825. figures
  2826. text '1' 239.8 232.2 color 0 18 bold;
  2827. end;
  2828. implementation eq
  2829. equations
  2830. sum (direct (p.e)) = 0;
  2831. equal (collect (p.f));
  2832. flow = first (p.f);
  2833. implementation_end;
  2834. OneJunction7 239.8 216.2
  2835. description '<Information>
  2836. <Description>
  2837. <Version>4.2</Version>
  2838. <IsMainModel>1</IsMainModel>
  2839. <KeepParameterValues>False</KeepParameterValues>
  2840. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2841. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2842. </Description>
  2843. </Information>';
  2844. knot OneJunction
  2845. ports
  2846. power knot duplicatable none p [3,1];
  2847. signal knot out flow [3,1];
  2848. restrictions
  2849. causality constraint one_out p;
  2850. end;
  2851. icon bg
  2852. figures
  2853. text '1' 239.8 216.2 color 0 18 bold;
  2854. end;
  2855. implementation eq
  2856. equations
  2857. sum (direct (p.e)) = 0;
  2858. equal (collect (p.f));
  2859. flow = first (p.f);
  2860. implementation_end;
  2861. OneJunction8 288 200
  2862. description '<Information>
  2863. <Description>
  2864. <Version>4.2</Version>
  2865. <IsMainModel>1</IsMainModel>
  2866. <KeepParameterValues>False</KeepParameterValues>
  2867. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2868. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2869. </Description>
  2870. </Information>';
  2871. knot OneJunction
  2872. ports
  2873. power knot duplicatable none p [1];
  2874. signal knot out flow [1];
  2875. restrictions
  2876. causality constraint one_out p;
  2877. end;
  2878. icon bg
  2879. figures
  2880. text '1' 288 200 color 0 18 bold;
  2881. end;
  2882. implementation eq
  2883. equations
  2884. sum (direct (p.e)) = 0;
  2885. equal (collect (p.f));
  2886. flow = first (p.f);
  2887. implementation_end;
  2888. PowerMux 330 216
  2889. specifications active 'rot_x'
  2890. specification 'rot_x'
  2891. description '<Information>
  2892. <Description>
  2893. <Version>4.8</Version>
  2894. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2895. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  2896. <IsMainModel>1</IsMainModel>
  2897. <KeepParameterValues>False</KeepParameterValues>
  2898. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2899. </Description>
  2900. </Information>';
  2901. type 'PowerMux-Rotation'
  2902. ports
  2903. power in input;
  2904. power out output [6,1];
  2905. power in input_rot2 [2,1];
  2906. power in input_pos3 [3,1];
  2907. restrictions
  2908. causality constraint not_equal input output;
  2909. causality constraint not_equal input_rot2 output;
  2910. causality constraint not_equal input_pos3 output;
  2911. end;
  2912. icon bg bottom
  2913. figures
  2914. line 328 192 328 240 color 0 width 2;
  2915. rectangle 324 192 336 240 color -1;
  2916. text '1' 333 210 color 8421504 8;
  2917. terminals
  2918. input 328 200 fixed;
  2919. output 328 216 fixed;
  2920. input_rot2 328 232 fixed;
  2921. input_pos3 328 216 fixed;
  2922. end;
  2923. implementation eq
  2924. equations
  2925. output.e[1] = input.e;
  2926. output.e[2:3] = input_rot2.e;
  2927. output.e[4:6] = input_pos3.e;
  2928. output.f[1] = input.f;
  2929. output.f[2:3] = input_rot2.f;
  2930. output.f[4:6] = input_pos3.f;implementation_end;
  2931. specification_end;
  2932. specification 'rot_y'
  2933. description '<Description>
  2934. <Version>4.1</Version>
  2935. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2936. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2937. <IsMainModel>1</IsMainModel>
  2938. <KeepParameterValues>False</KeepParameterValues>
  2939. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2940. </Description>';
  2941. type PowerMux
  2942. ports
  2943. power in input;
  2944. power out output [6,1];
  2945. power in input_rot2 [2,1];
  2946. power in input_pos3 [3,1];
  2947. restrictions
  2948. causality constraint not_equal input output;
  2949. causality constraint not_equal input_rot2 output;
  2950. causality constraint not_equal input_pos3 output;
  2951. end;
  2952. icon bg bottom
  2953. figures
  2954. line 242 274 290 274 color 0 width 2;
  2955. rectangle 242 266 290 278 color -1;
  2956. text '1' 260 269 color 8421504 8;
  2957. terminals
  2958. input 250 274 fixed;
  2959. output 266 274 fixed;
  2960. input_rot2 282 274 fixed;
  2961. input_pos3 266 274 fixed;
  2962. end;
  2963. implementation eq
  2964. equations
  2965. output.e[1] = input_rot2.e[1];
  2966. output.e[2] = input.e;
  2967. output.e[3] = input_rot2.e[2];
  2968. output.e[4:6] = input_pos3.e;
  2969. output.f[1] = input_rot2.f[1];
  2970. output.f[2] = input.f;
  2971. output.f[3] = input_rot2.f[2];
  2972. output.f[4:6] = input_pos3.f;implementation_end;
  2973. specification_end;
  2974. specification 'rot_z'
  2975. description '<Information>
  2976. <Description>
  2977. <Version>4.8</Version>
  2978. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2979. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  2980. <IsMainModel>1</IsMainModel>
  2981. <KeepParameterValues>False</KeepParameterValues>
  2982. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2983. </Description>
  2984. </Information>';
  2985. type PowerMux
  2986. ports
  2987. power in input;
  2988. power out output [6,1];
  2989. power in input_rot2 [2,1];
  2990. power in input_pos3 [3,1];
  2991. restrictions
  2992. causality constraint not_equal input output;
  2993. causality constraint not_equal input_rot2 output;
  2994. causality constraint not_equal input_pos3 output;
  2995. end;
  2996. icon bg bottom
  2997. figures
  2998. line 242 274 290 274 color 0 width 2;
  2999. rectangle 242 266 290 278 color -1;
  3000. text '1' 260 269 color 8421504 8;
  3001. terminals
  3002. input 250 274 fixed;
  3003. output 266 274 fixed;
  3004. input_rot2 282 274 fixed;
  3005. input_pos3 266 274 fixed;
  3006. end;
  3007. implementation eq
  3008. equations
  3009. output.e[3] = input.e;
  3010. output.e[1:2] = input_rot2.e;
  3011. output.e[4:6] = input_pos3.e;
  3012. output.f[3] = input.f;
  3013. output.f[1:2] = input_rot2.f;
  3014. output.f[4:6] = input_pos3.f;implementation_end;
  3015. specification_end;
  3016. end;
  3017. R 288 152
  3018. description '<Information>
  3019. <Description>
  3020. <Version>4.2</Version>
  3021. <IsMainModel>1</IsMainModel>
  3022. <KeepParameterValues>False</KeepParameterValues>
  3023. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3024. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3025. </Description>
  3026. </Information>';
  3027. type R
  3028. ports
  3029. power in p;
  3030. end;
  3031. icon bg top
  3032. figures
  3033. text 'R' 288 152 color 0 18 bold;
  3034. end;
  3035. implementation eq
  3036. parameters
  3037. real r = 0.01;
  3038. equations
  3039. p.e = r * p.f;
  3040. implementation_end;
  3041. R4 239.8 288.2
  3042. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3043. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3044. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3045. </Description>';
  3046. type 'R-2'
  3047. ports
  3048. power in p [2,1];
  3049. end;
  3050. icon bg bottom
  3051. figures
  3052. text 'R' 239.8 288.2 color 0 18 bold;
  3053. end;
  3054. implementation eq
  3055. parameters
  3056. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3057. equations
  3058. p.e = r * p.f;
  3059. implementation_end;
  3060. R5 239.8 168.2
  3061. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3062. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3063. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3064. </Description>';
  3065. type 'R-3'
  3066. ports
  3067. power in p [3,1];
  3068. end;
  3069. icon bg top
  3070. figures
  3071. text 'R' 239.8 168.2 color 0 18 bold;
  3072. end;
  3073. implementation eq
  3074. parameters
  3075. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3076. equations
  3077. p.e = r * p.f;
  3078. implementation_end;
  3079. end;
  3080. connections
  3081. C1\p <= OneJunction7\p;
  3082. OneJunction5\p => C4\p;
  3083. OneJunction5\p => PowerMux\input_rot2;
  3084. OneJunction5\p => R4\p;
  3085. OneJunction7\p => PowerMux\input_pos3;
  3086. OneJunction7\p => R5\p;
  3087. OneJunction8\p => PowerMux\input;
  3088. PowerMux\output => output;
  3089. R\p <= OneJunction8\p;
  3090. end;
  3091. implementation_end;
  3092. Joint_dynB 336 216
  3093. description '<Description>
  3094. <Version>4.8</Version>
  3095. <IsMainModel>1</IsMainModel>
  3096. </Description>';
  3097. type Submodel
  3098. ports
  3099. power out output [6,1];
  3100. end;
  3101. implementation bg
  3102. submodels
  3103. C1 191.8 216.2
  3104. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3105. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3106. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3107. </Description>';
  3108. type 'C-3'
  3109. ports
  3110. power in p [3,1];
  3111. signal out state [3,1];
  3112. restrictions
  3113. causality preferred out p;
  3114. end;
  3115. icon bg top
  3116. figures
  3117. text 'C' 191.8 216.2 color 0 18 bold;
  3118. end;
  3119. implementation eq
  3120. parameters
  3121. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3122. equations
  3123. state = int(p.f);
  3124. p.e = inverse(c) *state;
  3125. implementation_end;
  3126. C4 191.8 232.2
  3127. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3128. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3129. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3130. </Description>';
  3131. type 'C-2'
  3132. ports
  3133. power in p [2,1];
  3134. signal out state [2,1];
  3135. restrictions
  3136. causality preferred out p;
  3137. end;
  3138. icon bg bottom
  3139. figures
  3140. text 'C' 191.8 232.2 color 0 18 bold;
  3141. end;
  3142. implementation eq
  3143. parameters
  3144. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3145. equations
  3146. state = int(p.f);
  3147. p.e = inverse(c) *state;
  3148. implementation_end;
  3149. plug output 396 216;
  3150. OneJunction5 239.8 232.2
  3151. description '<Information>
  3152. <Description>
  3153. <Version>4.2</Version>
  3154. <IsMainModel>1</IsMainModel>
  3155. <KeepParameterValues>False</KeepParameterValues>
  3156. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3157. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3158. </Description>
  3159. </Information>';
  3160. knot OneJunction
  3161. ports
  3162. power knot duplicatable none p [2,1];
  3163. signal knot out flow [2,1];
  3164. restrictions
  3165. causality constraint one_out p;
  3166. end;
  3167. icon bg
  3168. figures
  3169. text '1' 239.8 232.2 color 0 18 bold;
  3170. end;
  3171. implementation eq
  3172. equations
  3173. sum (direct (p.e)) = 0;
  3174. equal (collect (p.f));
  3175. flow = first (p.f);
  3176. implementation_end;
  3177. OneJunction7 239.8 216.2
  3178. description '<Information>
  3179. <Description>
  3180. <Version>4.2</Version>
  3181. <IsMainModel>1</IsMainModel>
  3182. <KeepParameterValues>False</KeepParameterValues>
  3183. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3184. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3185. </Description>
  3186. </Information>';
  3187. knot OneJunction
  3188. ports
  3189. power knot duplicatable none p [3,1];
  3190. signal knot out flow [3,1];
  3191. restrictions
  3192. causality constraint one_out p;
  3193. end;
  3194. icon bg
  3195. figures
  3196. text '1' 239.8 216.2 color 0 18 bold;
  3197. end;
  3198. implementation eq
  3199. equations
  3200. sum (direct (p.e)) = 0;
  3201. equal (collect (p.f));
  3202. flow = first (p.f);
  3203. implementation_end;
  3204. OneJunction8 288 200
  3205. description '<Information>
  3206. <Description>
  3207. <Version>4.2</Version>
  3208. <IsMainModel>1</IsMainModel>
  3209. <KeepParameterValues>False</KeepParameterValues>
  3210. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3211. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3212. </Description>
  3213. </Information>';
  3214. knot OneJunction
  3215. ports
  3216. power knot duplicatable none p [1];
  3217. signal knot out flow [1];
  3218. restrictions
  3219. causality constraint one_out p;
  3220. end;
  3221. icon bg
  3222. figures
  3223. text '1' 288 200 color 0 18 bold;
  3224. end;
  3225. implementation eq
  3226. equations
  3227. sum (direct (p.e)) = 0;
  3228. equal (collect (p.f));
  3229. flow = first (p.f);
  3230. implementation_end;
  3231. PowerMux 330 216
  3232. specifications active 'rot_x'
  3233. specification 'rot_x'
  3234. description '<Information>
  3235. <Description>
  3236. <Version>4.8</Version>
  3237. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3238. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3239. <IsMainModel>1</IsMainModel>
  3240. <KeepParameterValues>False</KeepParameterValues>
  3241. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3242. </Description>
  3243. </Information>';
  3244. type 'PowerMux-Rotation'
  3245. ports
  3246. power in input;
  3247. power out output [6,1];
  3248. power in input_rot2 [2,1];
  3249. power in input_pos3 [3,1];
  3250. restrictions
  3251. causality constraint not_equal input output;
  3252. causality constraint not_equal input_rot2 output;
  3253. causality constraint not_equal input_pos3 output;
  3254. end;
  3255. icon bg bottom
  3256. figures
  3257. line 328 192 328 240 color 0 width 2;
  3258. rectangle 324 192 336 240 color -1;
  3259. text '1' 333 210 color 8421504 8;
  3260. terminals
  3261. input 328 200 fixed;
  3262. output 328 216 fixed;
  3263. input_rot2 328 232 fixed;
  3264. input_pos3 328 216 fixed;
  3265. end;
  3266. implementation eq
  3267. equations
  3268. output.e[1] = input.e;
  3269. output.e[2:3] = input_rot2.e;
  3270. output.e[4:6] = input_pos3.e;
  3271. output.f[1] = input.f;
  3272. output.f[2:3] = input_rot2.f;
  3273. output.f[4:6] = input_pos3.f;implementation_end;
  3274. specification_end;
  3275. specification 'rot_y'
  3276. description '<Description>
  3277. <Version>4.1</Version>
  3278. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3279. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3280. <IsMainModel>1</IsMainModel>
  3281. <KeepParameterValues>False</KeepParameterValues>
  3282. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3283. </Description>';
  3284. type PowerMux
  3285. ports
  3286. power in input;
  3287. power out output [6,1];
  3288. power in input_rot2 [2,1];
  3289. power in input_pos3 [3,1];
  3290. restrictions
  3291. causality constraint not_equal input output;
  3292. causality constraint not_equal input_rot2 output;
  3293. causality constraint not_equal input_pos3 output;
  3294. end;
  3295. icon bg bottom
  3296. figures
  3297. line 242 274 290 274 color 0 width 2;
  3298. rectangle 242 266 290 278 color -1;
  3299. text '1' 260 269 color 8421504 8;
  3300. terminals
  3301. input 250 274 fixed;
  3302. output 266 274 fixed;
  3303. input_rot2 282 274 fixed;
  3304. input_pos3 266 274 fixed;
  3305. end;
  3306. implementation eq
  3307. equations
  3308. output.e[1] = input_rot2.e[1];
  3309. output.e[2] = input.e;
  3310. output.e[3] = input_rot2.e[2];
  3311. output.e[4:6] = input_pos3.e;
  3312. output.f[1] = input_rot2.f[1];
  3313. output.f[2] = input.f;
  3314. output.f[3] = input_rot2.f[2];
  3315. output.f[4:6] = input_pos3.f;implementation_end;
  3316. specification_end;
  3317. specification 'rot_z'
  3318. description '<Information>
  3319. <Description>
  3320. <Version>4.8</Version>
  3321. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3322. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  3323. <IsMainModel>1</IsMainModel>
  3324. <KeepParameterValues>False</KeepParameterValues>
  3325. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3326. </Description>
  3327. </Information>';
  3328. type PowerMux
  3329. ports
  3330. power in input;
  3331. power out output [6,1];
  3332. power in input_rot2 [2,1];
  3333. power in input_pos3 [3,1];
  3334. restrictions
  3335. causality constraint not_equal input output;
  3336. causality constraint not_equal input_rot2 output;
  3337. causality constraint not_equal input_pos3 output;
  3338. end;
  3339. icon bg bottom
  3340. figures
  3341. line 242 274 290 274 color 0 width 2;
  3342. rectangle 242 266 290 278 color -1;
  3343. text '1' 260 269 color 8421504 8;
  3344. terminals
  3345. input 250 274 fixed;
  3346. output 266 274 fixed;
  3347. input_rot2 282 274 fixed;
  3348. input_pos3 266 274 fixed;
  3349. end;
  3350. implementation eq
  3351. equations
  3352. output.e[3] = input.e;
  3353. output.e[1:2] = input_rot2.e;
  3354. output.e[4:6] = input_pos3.e;
  3355. output.f[3] = input.f;
  3356. output.f[1:2] = input_rot2.f;
  3357. output.f[4:6] = input_pos3.f;implementation_end;
  3358. specification_end;
  3359. end;
  3360. R 288 152
  3361. description '<Information>
  3362. <Description>
  3363. <Version>4.2</Version>
  3364. <IsMainModel>1</IsMainModel>
  3365. <KeepParameterValues>False</KeepParameterValues>
  3366. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3367. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3368. </Description>
  3369. </Information>';
  3370. type R
  3371. ports
  3372. power in p;
  3373. end;
  3374. icon bg top
  3375. figures
  3376. text 'R' 288 152 color 0 18 bold;
  3377. end;
  3378. implementation eq
  3379. parameters
  3380. real r = 0.01;
  3381. equations
  3382. p.e = r * p.f;
  3383. implementation_end;
  3384. R4 239.8 288.2
  3385. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3386. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3387. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3388. </Description>';
  3389. type 'R-2'
  3390. ports
  3391. power in p [2,1];
  3392. end;
  3393. icon bg bottom
  3394. figures
  3395. text 'R' 239.8 288.2 color 0 18 bold;
  3396. end;
  3397. implementation eq
  3398. parameters
  3399. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3400. equations
  3401. p.e = r * p.f;
  3402. implementation_end;
  3403. R5 239.8 168.2
  3404. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3405. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3406. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3407. </Description>';
  3408. type 'R-3'
  3409. ports
  3410. power in p [3,1];
  3411. end;
  3412. icon bg top
  3413. figures
  3414. text 'R' 239.8 168.2 color 0 18 bold;
  3415. end;
  3416. implementation eq
  3417. parameters
  3418. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3419. equations
  3420. p.e = r * p.f;
  3421. implementation_end;
  3422. end;
  3423. connections
  3424. C1\p <= OneJunction7\p;
  3425. OneJunction5\p => C4\p;
  3426. OneJunction5\p => PowerMux\input_rot2;
  3427. OneJunction5\p => R4\p;
  3428. OneJunction7\p => PowerMux\input_pos3;
  3429. OneJunction7\p => R5\p;
  3430. OneJunction8\p => PowerMux\input;
  3431. PowerMux\output => output;
  3432. R\p <= OneJunction8\p;
  3433. end;
  3434. implementation_end;
  3435. Joint_dynC 928 696
  3436. description '<Description>
  3437. <Version>4.8</Version>
  3438. <IsMainModel>1</IsMainModel>
  3439. </Description>';
  3440. type Submodel
  3441. ports
  3442. power out output [6,1];
  3443. end;
  3444. implementation bg
  3445. submodels
  3446. C1 191.8 216.2
  3447. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3448. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3449. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3450. </Description>';
  3451. type 'C-3'
  3452. ports
  3453. power in p [3,1];
  3454. signal out state [3,1];
  3455. restrictions
  3456. causality preferred out p;
  3457. end;
  3458. icon bg top
  3459. figures
  3460. text 'C' 191.8 216.2 color 0 18 bold;
  3461. end;
  3462. implementation eq
  3463. parameters
  3464. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3465. equations
  3466. state = int(p.f);
  3467. p.e = inverse(c) *state;
  3468. implementation_end;
  3469. C4 191.8 232.2
  3470. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3471. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3472. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3473. </Description>';
  3474. type 'C-2'
  3475. ports
  3476. power in p [2,1];
  3477. signal out state [2,1];
  3478. restrictions
  3479. causality preferred out p;
  3480. end;
  3481. icon bg bottom
  3482. figures
  3483. text 'C' 191.8 232.2 color 0 18 bold;
  3484. end;
  3485. implementation eq
  3486. parameters
  3487. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3488. equations
  3489. state = int(p.f);
  3490. p.e = inverse(c) *state;
  3491. implementation_end;
  3492. plug output 396 216;
  3493. OneJunction5 239.8 232.2
  3494. description '<Information>
  3495. <Description>
  3496. <Version>4.2</Version>
  3497. <IsMainModel>1</IsMainModel>
  3498. <KeepParameterValues>False</KeepParameterValues>
  3499. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3500. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3501. </Description>
  3502. </Information>';
  3503. knot OneJunction
  3504. ports
  3505. power knot duplicatable none p [2,1];
  3506. signal knot out flow [2,1];
  3507. restrictions
  3508. causality constraint one_out p;
  3509. end;
  3510. icon bg
  3511. figures
  3512. text '1' 239.8 232.2 color 0 18 bold;
  3513. end;
  3514. implementation eq
  3515. equations
  3516. sum (direct (p.e)) = 0;
  3517. equal (collect (p.f));
  3518. flow = first (p.f);
  3519. implementation_end;
  3520. OneJunction7 239.8 216.2
  3521. description '<Information>
  3522. <Description>
  3523. <Version>4.2</Version>
  3524. <IsMainModel>1</IsMainModel>
  3525. <KeepParameterValues>False</KeepParameterValues>
  3526. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3527. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3528. </Description>
  3529. </Information>';
  3530. knot OneJunction
  3531. ports
  3532. power knot duplicatable none p [3,1];
  3533. signal knot out flow [3,1];
  3534. restrictions
  3535. causality constraint one_out p;
  3536. end;
  3537. icon bg
  3538. figures
  3539. text '1' 239.8 216.2 color 0 18 bold;
  3540. end;
  3541. implementation eq
  3542. equations
  3543. sum (direct (p.e)) = 0;
  3544. equal (collect (p.f));
  3545. flow = first (p.f);
  3546. implementation_end;
  3547. OneJunction8 288 200
  3548. description '<Information>
  3549. <Description>
  3550. <Version>4.2</Version>
  3551. <IsMainModel>1</IsMainModel>
  3552. <KeepParameterValues>False</KeepParameterValues>
  3553. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3554. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3555. </Description>
  3556. </Information>';
  3557. knot OneJunction
  3558. ports
  3559. power knot duplicatable none p [1];
  3560. signal knot out flow [1];
  3561. restrictions
  3562. causality constraint one_out p;
  3563. end;
  3564. icon bg
  3565. figures
  3566. text '1' 288 200 color 0 18 bold;
  3567. end;
  3568. implementation eq
  3569. equations
  3570. sum (direct (p.e)) = 0;
  3571. equal (collect (p.f));
  3572. flow = first (p.f);
  3573. implementation_end;
  3574. PowerMux 330 216
  3575. specifications active 'rot_x'
  3576. specification 'rot_x'
  3577. description '<Information>
  3578. <Description>
  3579. <Version>4.8</Version>
  3580. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3581. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3582. <IsMainModel>1</IsMainModel>
  3583. <KeepParameterValues>False</KeepParameterValues>
  3584. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3585. </Description>
  3586. </Information>';
  3587. type 'PowerMux-Rotation'
  3588. ports
  3589. power in input;
  3590. power out output [6,1];
  3591. power in input_rot2 [2,1];
  3592. power in input_pos3 [3,1];
  3593. restrictions
  3594. causality constraint not_equal input output;
  3595. causality constraint not_equal input_rot2 output;
  3596. causality constraint not_equal input_pos3 output;
  3597. end;
  3598. icon bg bottom
  3599. figures
  3600. line 328 192 328 240 color 0 width 2;
  3601. rectangle 324 192 336 240 color -1;
  3602. text '1' 333 210 color 8421504 8;
  3603. terminals
  3604. input 328 200 fixed;
  3605. output 328 216 fixed;
  3606. input_rot2 328 232 fixed;
  3607. input_pos3 328 216 fixed;
  3608. end;
  3609. implementation eq
  3610. equations
  3611. output.e[1] = input.e;
  3612. output.e[2:3] = input_rot2.e;
  3613. output.e[4:6] = input_pos3.e;
  3614. output.f[1] = input.f;
  3615. output.f[2:3] = input_rot2.f;
  3616. output.f[4:6] = input_pos3.f;implementation_end;
  3617. specification_end;
  3618. specification 'rot_y'
  3619. description '<Description>
  3620. <Version>4.1</Version>
  3621. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3622. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3623. <IsMainModel>1</IsMainModel>
  3624. <KeepParameterValues>False</KeepParameterValues>
  3625. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3626. </Description>';
  3627. type PowerMux
  3628. ports
  3629. power in input;
  3630. power out output [6,1];
  3631. power in input_rot2 [2,1];
  3632. power in input_pos3 [3,1];
  3633. restrictions
  3634. causality constraint not_equal input output;
  3635. causality constraint not_equal input_rot2 output;
  3636. causality constraint not_equal input_pos3 output;
  3637. end;
  3638. icon bg bottom
  3639. figures
  3640. line 242 274 290 274 color 0 width 2;
  3641. rectangle 242 266 290 278 color -1;
  3642. text '1' 260 269 color 8421504 8;
  3643. terminals
  3644. input 250 274 fixed;
  3645. output 266 274 fixed;
  3646. input_rot2 282 274 fixed;
  3647. input_pos3 266 274 fixed;
  3648. end;
  3649. implementation eq
  3650. equations
  3651. output.e[1] = input_rot2.e[1];
  3652. output.e[2] = input.e;
  3653. output.e[3] = input_rot2.e[2];
  3654. output.e[4:6] = input_pos3.e;
  3655. output.f[1] = input_rot2.f[1];
  3656. output.f[2] = input.f;
  3657. output.f[3] = input_rot2.f[2];
  3658. output.f[4:6] = input_pos3.f;implementation_end;
  3659. specification_end;
  3660. specification 'rot_z'
  3661. description '<Information>
  3662. <Description>
  3663. <Version>4.8</Version>
  3664. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3665. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  3666. <IsMainModel>1</IsMainModel>
  3667. <KeepParameterValues>False</KeepParameterValues>
  3668. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3669. </Description>
  3670. </Information>';
  3671. type PowerMux
  3672. ports
  3673. power in input;
  3674. power out output [6,1];
  3675. power in input_rot2 [2,1];
  3676. power in input_pos3 [3,1];
  3677. restrictions
  3678. causality constraint not_equal input output;
  3679. causality constraint not_equal input_rot2 output;
  3680. causality constraint not_equal input_pos3 output;
  3681. end;
  3682. icon bg bottom
  3683. figures
  3684. line 242 274 290 274 color 0 width 2;
  3685. rectangle 242 266 290 278 color -1;
  3686. text '1' 260 269 color 8421504 8;
  3687. terminals
  3688. input 250 274 fixed;
  3689. output 266 274 fixed;
  3690. input_rot2 282 274 fixed;
  3691. input_pos3 266 274 fixed;
  3692. end;
  3693. implementation eq
  3694. equations
  3695. output.e[3] = input.e;
  3696. output.e[1:2] = input_rot2.e;
  3697. output.e[4:6] = input_pos3.e;
  3698. output.f[3] = input.f;
  3699. output.f[1:2] = input_rot2.f;
  3700. output.f[4:6] = input_pos3.f;implementation_end;
  3701. specification_end;
  3702. end;
  3703. R 288 152
  3704. description '<Information>
  3705. <Description>
  3706. <Version>4.2</Version>
  3707. <IsMainModel>1</IsMainModel>
  3708. <KeepParameterValues>False</KeepParameterValues>
  3709. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3710. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3711. </Description>
  3712. </Information>';
  3713. type R
  3714. ports
  3715. power in p;
  3716. end;
  3717. icon bg top
  3718. figures
  3719. text 'R' 288 152 color 0 18 bold;
  3720. end;
  3721. implementation eq
  3722. parameters
  3723. real r = 0.01;
  3724. equations
  3725. p.e = r * p.f;
  3726. implementation_end;
  3727. R4 239.8 288.2
  3728. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3729. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3730. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3731. </Description>';
  3732. type 'R-2'
  3733. ports
  3734. power in p [2,1];
  3735. end;
  3736. icon bg bottom
  3737. figures
  3738. text 'R' 239.8 288.2 color 0 18 bold;
  3739. end;
  3740. implementation eq
  3741. parameters
  3742. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3743. equations
  3744. p.e = r * p.f;
  3745. implementation_end;
  3746. R5 239.8 168.2
  3747. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3748. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3749. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3750. </Description>';
  3751. type 'R-3'
  3752. ports
  3753. power in p [3,1];
  3754. end;
  3755. icon bg top
  3756. figures
  3757. text 'R' 239.8 168.2 color 0 18 bold;
  3758. end;
  3759. implementation eq
  3760. parameters
  3761. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3762. equations
  3763. p.e = r * p.f;
  3764. implementation_end;
  3765. end;
  3766. connections
  3767. C1\p <= OneJunction7\p;
  3768. OneJunction5\p => C4\p;
  3769. OneJunction5\p => PowerMux\input_rot2;
  3770. OneJunction5\p => R4\p;
  3771. OneJunction7\p => PowerMux\input_pos3;
  3772. OneJunction7\p => R5\p;
  3773. OneJunction8\p => PowerMux\input;
  3774. PowerMux\output => output;
  3775. R\p <= OneJunction8\p;
  3776. end;
  3777. implementation_end;
  3778. Joint_dynD 536 536
  3779. description '<Description>
  3780. <Version>4.8</Version>
  3781. <IsMainModel>1</IsMainModel>
  3782. </Description>';
  3783. type Submodel
  3784. ports
  3785. power out output [6,1];
  3786. end;
  3787. implementation bg
  3788. submodels
  3789. C1 191.8 216.2
  3790. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3791. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3792. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3793. </Description>';
  3794. type 'C-3'
  3795. ports
  3796. power in p [3,1];
  3797. signal out state [3,1];
  3798. restrictions
  3799. causality preferred out p;
  3800. end;
  3801. icon bg top
  3802. figures
  3803. text 'C' 191.8 216.2 color 0 18 bold;
  3804. end;
  3805. implementation eq
  3806. parameters
  3807. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3808. equations
  3809. state = int(p.f);
  3810. p.e = inverse(c) *state;
  3811. implementation_end;
  3812. C4 191.8 232.2
  3813. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3814. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3815. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3816. </Description>';
  3817. type 'C-2'
  3818. ports
  3819. power in p [2,1];
  3820. signal out state [2,1];
  3821. restrictions
  3822. causality preferred out p;
  3823. end;
  3824. icon bg bottom
  3825. figures
  3826. text 'C' 191.8 232.2 color 0 18 bold;
  3827. end;
  3828. implementation eq
  3829. parameters
  3830. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3831. equations
  3832. state = int(p.f);
  3833. p.e = inverse(c) *state;
  3834. implementation_end;
  3835. plug output 396 216;
  3836. OneJunction5 239.8 232.2
  3837. description '<Information>
  3838. <Description>
  3839. <Version>4.2</Version>
  3840. <IsMainModel>1</IsMainModel>
  3841. <KeepParameterValues>False</KeepParameterValues>
  3842. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3843. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3844. </Description>
  3845. </Information>';
  3846. knot OneJunction
  3847. ports
  3848. power knot duplicatable none p [2,1];
  3849. signal knot out flow [2,1];
  3850. restrictions
  3851. causality constraint one_out p;
  3852. end;
  3853. icon bg
  3854. figures
  3855. text '1' 239.8 232.2 color 0 18 bold;
  3856. end;
  3857. implementation eq
  3858. equations
  3859. sum (direct (p.e)) = 0;
  3860. equal (collect (p.f));
  3861. flow = first (p.f);
  3862. implementation_end;
  3863. OneJunction7 239.8 216.2
  3864. description '<Information>
  3865. <Description>
  3866. <Version>4.2</Version>
  3867. <IsMainModel>1</IsMainModel>
  3868. <KeepParameterValues>False</KeepParameterValues>
  3869. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3870. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3871. </Description>
  3872. </Information>';
  3873. knot OneJunction
  3874. ports
  3875. power knot duplicatable none p [3,1];
  3876. signal knot out flow [3,1];
  3877. restrictions
  3878. causality constraint one_out p;
  3879. end;
  3880. icon bg
  3881. figures
  3882. text '1' 239.8 216.2 color 0 18 bold;
  3883. end;
  3884. implementation eq
  3885. equations
  3886. sum (direct (p.e)) = 0;
  3887. equal (collect (p.f));
  3888. flow = first (p.f);
  3889. implementation_end;
  3890. OneJunction8 288 200
  3891. description '<Information>
  3892. <Description>
  3893. <Version>4.2</Version>
  3894. <IsMainModel>1</IsMainModel>
  3895. <KeepParameterValues>False</KeepParameterValues>
  3896. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3897. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3898. </Description>
  3899. </Information>';
  3900. knot OneJunction
  3901. ports
  3902. power knot duplicatable none p [1];
  3903. signal knot out flow [1];
  3904. restrictions
  3905. causality constraint one_out p;
  3906. end;
  3907. icon bg
  3908. figures
  3909. text '1' 288 200 color 0 18 bold;
  3910. end;
  3911. implementation eq
  3912. equations
  3913. sum (direct (p.e)) = 0;
  3914. equal (collect (p.f));
  3915. flow = first (p.f);
  3916. implementation_end;
  3917. PowerMux 330 216
  3918. specifications active 'rot_x'
  3919. specification 'rot_x'
  3920. description '<Information>
  3921. <Description>
  3922. <Version>4.8</Version>
  3923. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3924. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3925. <IsMainModel>1</IsMainModel>
  3926. <KeepParameterValues>False</KeepParameterValues>
  3927. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3928. </Description>
  3929. </Information>';
  3930. type 'PowerMux-Rotation'
  3931. ports
  3932. power in input;
  3933. power out output [6,1];
  3934. power in input_rot2 [2,1];
  3935. power in input_pos3 [3,1];
  3936. restrictions
  3937. causality constraint not_equal input output;
  3938. causality constraint not_equal input_rot2 output;
  3939. causality constraint not_equal input_pos3 output;
  3940. end;
  3941. icon bg bottom
  3942. figures
  3943. line 328 192 328 240 color 0 width 2;
  3944. rectangle 324 192 336 240 color -1;
  3945. text '1' 333 210 color 8421504 8;
  3946. terminals
  3947. input 328 200 fixed;
  3948. output 328 216 fixed;
  3949. input_rot2 328 232 fixed;
  3950. input_pos3 328 216 fixed;
  3951. end;
  3952. implementation eq
  3953. equations
  3954. output.e[1] = input.e;
  3955. output.e[2:3] = input_rot2.e;
  3956. output.e[4:6] = input_pos3.e;
  3957. output.f[1] = input.f;
  3958. output.f[2:3] = input_rot2.f;
  3959. output.f[4:6] = input_pos3.f;implementation_end;
  3960. specification_end;
  3961. specification 'rot_y'
  3962. description '<Description>
  3963. <Version>4.1</Version>
  3964. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3965. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3966. <IsMainModel>1</IsMainModel>
  3967. <KeepParameterValues>False</KeepParameterValues>
  3968. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3969. </Description>';
  3970. type PowerMux
  3971. ports
  3972. power in input;
  3973. power out output [6,1];
  3974. power in input_rot2 [2,1];
  3975. power in input_pos3 [3,1];
  3976. restrictions
  3977. causality constraint not_equal input output;
  3978. causality constraint not_equal input_rot2 output;
  3979. causality constraint not_equal input_pos3 output;
  3980. end;
  3981. icon bg bottom
  3982. figures
  3983. line 242 274 290 274 color 0 width 2;
  3984. rectangle 242 266 290 278 color -1;
  3985. text '1' 260 269 color 8421504 8;
  3986. terminals
  3987. input 250 274 fixed;
  3988. output 266 274 fixed;
  3989. input_rot2 282 274 fixed;
  3990. input_pos3 266 274 fixed;
  3991. end;
  3992. implementation eq
  3993. equations
  3994. output.e[1] = input_rot2.e[1];
  3995. output.e[2] = input.e;
  3996. output.e[3] = input_rot2.e[2];
  3997. output.e[4:6] = input_pos3.e;
  3998. output.f[1] = input_rot2.f[1];
  3999. output.f[2] = input.f;
  4000. output.f[3] = input_rot2.f[2];
  4001. output.f[4:6] = input_pos3.f;implementation_end;
  4002. specification_end;
  4003. specification 'rot_z'
  4004. description '<Information>
  4005. <Description>
  4006. <Version>4.8</Version>
  4007. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4008. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4009. <IsMainModel>1</IsMainModel>
  4010. <KeepParameterValues>False</KeepParameterValues>
  4011. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4012. </Description>
  4013. </Information>';
  4014. type PowerMux
  4015. ports
  4016. power in input;
  4017. power out output [6,1];
  4018. power in input_rot2 [2,1];
  4019. power in input_pos3 [3,1];
  4020. restrictions
  4021. causality constraint not_equal input output;
  4022. causality constraint not_equal input_rot2 output;
  4023. causality constraint not_equal input_pos3 output;
  4024. end;
  4025. icon bg bottom
  4026. figures
  4027. line 242 274 290 274 color 0 width 2;
  4028. rectangle 242 266 290 278 color -1;
  4029. text '1' 260 269 color 8421504 8;
  4030. terminals
  4031. input 250 274 fixed;
  4032. output 266 274 fixed;
  4033. input_rot2 282 274 fixed;
  4034. input_pos3 266 274 fixed;
  4035. end;
  4036. implementation eq
  4037. equations
  4038. output.e[3] = input.e;
  4039. output.e[1:2] = input_rot2.e;
  4040. output.e[4:6] = input_pos3.e;
  4041. output.f[3] = input.f;
  4042. output.f[1:2] = input_rot2.f;
  4043. output.f[4:6] = input_pos3.f;implementation_end;
  4044. specification_end;
  4045. end;
  4046. R 288 152
  4047. description '<Information>
  4048. <Description>
  4049. <Version>4.2</Version>
  4050. <IsMainModel>1</IsMainModel>
  4051. <KeepParameterValues>False</KeepParameterValues>
  4052. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4053. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4054. </Description>
  4055. </Information>';
  4056. type R
  4057. ports
  4058. power in p;
  4059. end;
  4060. icon bg top
  4061. figures
  4062. text 'R' 288 152 color 0 18 bold;
  4063. end;
  4064. implementation eq
  4065. parameters
  4066. real r = 0.01;
  4067. equations
  4068. p.e = r * p.f;
  4069. implementation_end;
  4070. R4 239.8 288.2
  4071. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4072. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4073. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4074. </Description>';
  4075. type 'R-2'
  4076. ports
  4077. power in p [2,1];
  4078. end;
  4079. icon bg bottom
  4080. figures
  4081. text 'R' 239.8 288.2 color 0 18 bold;
  4082. end;
  4083. implementation eq
  4084. parameters
  4085. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4086. equations
  4087. p.e = r * p.f;
  4088. implementation_end;
  4089. R5 239.8 168.2
  4090. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4091. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4092. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4093. </Description>';
  4094. type 'R-3'
  4095. ports
  4096. power in p [3,1];
  4097. end;
  4098. icon bg top
  4099. figures
  4100. text 'R' 239.8 168.2 color 0 18 bold;
  4101. end;
  4102. implementation eq
  4103. parameters
  4104. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  4105. equations
  4106. p.e = r * p.f;
  4107. implementation_end;
  4108. end;
  4109. connections
  4110. C1\p <= OneJunction7\p;
  4111. OneJunction5\p => C4\p;
  4112. OneJunction5\p => PowerMux\input_rot2;
  4113. OneJunction5\p => R4\p;
  4114. OneJunction7\p => PowerMux\input_pos3;
  4115. OneJunction7\p => R5\p;
  4116. OneJunction8\p => PowerMux\input;
  4117. PowerMux\output => output;
  4118. R\p <= OneJunction8\p;
  4119. end;
  4120. implementation_end;
  4121. Joint_dynE 536 216
  4122. description '<Description>
  4123. <Version>4.8</Version>
  4124. <IsMainModel>1</IsMainModel>
  4125. </Description>';
  4126. type Submodel
  4127. ports
  4128. power out output [6,1];
  4129. end;
  4130. implementation bg
  4131. submodels
  4132. C1 191.8 216.2
  4133. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4134. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4135. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4136. </Description>';
  4137. type 'C-3'
  4138. ports
  4139. power in p [3,1];
  4140. signal out state [3,1];
  4141. restrictions
  4142. causality preferred out p;
  4143. end;
  4144. icon bg top
  4145. figures
  4146. text 'C' 191.8 216.2 color 0 18 bold;
  4147. end;
  4148. implementation eq
  4149. parameters
  4150. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4151. equations
  4152. state = int(p.f);
  4153. p.e = inverse(c) *state;
  4154. implementation_end;
  4155. C4 191.8 232.2
  4156. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4157. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4158. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4159. </Description>';
  4160. type 'C-2'
  4161. ports
  4162. power in p [2,1];
  4163. signal out state [2,1];
  4164. restrictions
  4165. causality preferred out p;
  4166. end;
  4167. icon bg bottom
  4168. figures
  4169. text 'C' 191.8 232.2 color 0 18 bold;
  4170. end;
  4171. implementation eq
  4172. parameters
  4173. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4174. equations
  4175. state = int(p.f);
  4176. p.e = inverse(c) *state;
  4177. implementation_end;
  4178. plug output 396 216;
  4179. OneJunction5 239.8 232.2
  4180. description '<Information>
  4181. <Description>
  4182. <Version>4.2</Version>
  4183. <IsMainModel>1</IsMainModel>
  4184. <KeepParameterValues>False</KeepParameterValues>
  4185. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4186. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4187. </Description>
  4188. </Information>';
  4189. knot OneJunction
  4190. ports
  4191. power knot duplicatable none p [2,1];
  4192. signal knot out flow [2,1];
  4193. restrictions
  4194. causality constraint one_out p;
  4195. end;
  4196. icon bg
  4197. figures
  4198. text '1' 239.8 232.2 color 0 18 bold;
  4199. end;
  4200. implementation eq
  4201. equations
  4202. sum (direct (p.e)) = 0;
  4203. equal (collect (p.f));
  4204. flow = first (p.f);
  4205. implementation_end;
  4206. OneJunction7 239.8 216.2
  4207. description '<Information>
  4208. <Description>
  4209. <Version>4.2</Version>
  4210. <IsMainModel>1</IsMainModel>
  4211. <KeepParameterValues>False</KeepParameterValues>
  4212. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4213. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4214. </Description>
  4215. </Information>';
  4216. knot OneJunction
  4217. ports
  4218. power knot duplicatable none p [3,1];
  4219. signal knot out flow [3,1];
  4220. restrictions
  4221. causality constraint one_out p;
  4222. end;
  4223. icon bg
  4224. figures
  4225. text '1' 239.8 216.2 color 0 18 bold;
  4226. end;
  4227. implementation eq
  4228. equations
  4229. sum (direct (p.e)) = 0;
  4230. equal (collect (p.f));
  4231. flow = first (p.f);
  4232. implementation_end;
  4233. OneJunction8 288 200
  4234. description '<Information>
  4235. <Description>
  4236. <Version>4.2</Version>
  4237. <IsMainModel>1</IsMainModel>
  4238. <KeepParameterValues>False</KeepParameterValues>
  4239. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4240. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4241. </Description>
  4242. </Information>';
  4243. knot OneJunction
  4244. ports
  4245. power knot duplicatable none p [1];
  4246. signal knot out flow [1];
  4247. restrictions
  4248. causality constraint one_out p;
  4249. end;
  4250. icon bg
  4251. figures
  4252. text '1' 288 200 color 0 18 bold;
  4253. end;
  4254. implementation eq
  4255. equations
  4256. sum (direct (p.e)) = 0;
  4257. equal (collect (p.f));
  4258. flow = first (p.f);
  4259. implementation_end;
  4260. PowerMux 330 216
  4261. specifications active 'rot_x'
  4262. specification 'rot_x'
  4263. description '<Information>
  4264. <Description>
  4265. <Version>4.8</Version>
  4266. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4267. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  4268. <IsMainModel>1</IsMainModel>
  4269. <KeepParameterValues>False</KeepParameterValues>
  4270. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4271. </Description>
  4272. </Information>';
  4273. type 'PowerMux-Rotation'
  4274. ports
  4275. power in input;
  4276. power out output [6,1];
  4277. power in input_rot2 [2,1];
  4278. power in input_pos3 [3,1];
  4279. restrictions
  4280. causality constraint not_equal input output;
  4281. causality constraint not_equal input_rot2 output;
  4282. causality constraint not_equal input_pos3 output;
  4283. end;
  4284. icon bg bottom
  4285. figures
  4286. line 328 192 328 240 color 0 width 2;
  4287. rectangle 324 192 336 240 color -1;
  4288. text '1' 333 210 color 8421504 8;
  4289. terminals
  4290. input 328 200 fixed;
  4291. output 328 216 fixed;
  4292. input_rot2 328 232 fixed;
  4293. input_pos3 328 216 fixed;
  4294. end;
  4295. implementation eq
  4296. equations
  4297. output.e[1] = input.e;
  4298. output.e[2:3] = input_rot2.e;
  4299. output.e[4:6] = input_pos3.e;
  4300. output.f[1] = input.f;
  4301. output.f[2:3] = input_rot2.f;
  4302. output.f[4:6] = input_pos3.f;implementation_end;
  4303. specification_end;
  4304. specification 'rot_y'
  4305. description '<Description>
  4306. <Version>4.1</Version>
  4307. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  4308. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  4309. <IsMainModel>1</IsMainModel>
  4310. <KeepParameterValues>False</KeepParameterValues>
  4311. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4312. </Description>';
  4313. type PowerMux
  4314. ports
  4315. power in input;
  4316. power out output [6,1];
  4317. power in input_rot2 [2,1];
  4318. power in input_pos3 [3,1];
  4319. restrictions
  4320. causality constraint not_equal input output;
  4321. causality constraint not_equal input_rot2 output;
  4322. causality constraint not_equal input_pos3 output;
  4323. end;
  4324. icon bg bottom
  4325. figures
  4326. line 242 274 290 274 color 0 width 2;
  4327. rectangle 242 266 290 278 color -1;
  4328. text '1' 260 269 color 8421504 8;
  4329. terminals
  4330. input 250 274 fixed;
  4331. output 266 274 fixed;
  4332. input_rot2 282 274 fixed;
  4333. input_pos3 266 274 fixed;
  4334. end;
  4335. implementation eq
  4336. equations
  4337. output.e[1] = input_rot2.e[1];
  4338. output.e[2] = input.e;
  4339. output.e[3] = input_rot2.e[2];
  4340. output.e[4:6] = input_pos3.e;
  4341. output.f[1] = input_rot2.f[1];
  4342. output.f[2] = input.f;
  4343. output.f[3] = input_rot2.f[2];
  4344. output.f[4:6] = input_pos3.f;implementation_end;
  4345. specification_end;
  4346. specification 'rot_z'
  4347. description '<Information>
  4348. <Description>
  4349. <Version>4.8</Version>
  4350. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4351. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4352. <IsMainModel>1</IsMainModel>
  4353. <KeepParameterValues>False</KeepParameterValues>
  4354. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4355. </Description>
  4356. </Information>';
  4357. type PowerMux
  4358. ports
  4359. power in input;
  4360. power out output [6,1];
  4361. power in input_rot2 [2,1];
  4362. power in input_pos3 [3,1];
  4363. restrictions
  4364. causality constraint not_equal input output;
  4365. causality constraint not_equal input_rot2 output;
  4366. causality constraint not_equal input_pos3 output;
  4367. end;
  4368. icon bg bottom
  4369. figures
  4370. line 242 274 290 274 color 0 width 2;
  4371. rectangle 242 266 290 278 color -1;
  4372. text '1' 260 269 color 8421504 8;
  4373. terminals
  4374. input 250 274 fixed;
  4375. output 266 274 fixed;
  4376. input_rot2 282 274 fixed;
  4377. input_pos3 266 274 fixed;
  4378. end;
  4379. implementation eq
  4380. equations
  4381. output.e[3] = input.e;
  4382. output.e[1:2] = input_rot2.e;
  4383. output.e[4:6] = input_pos3.e;
  4384. output.f[3] = input.f;
  4385. output.f[1:2] = input_rot2.f;
  4386. output.f[4:6] = input_pos3.f;implementation_end;
  4387. specification_end;
  4388. end;
  4389. R 288 152
  4390. description '<Information>
  4391. <Description>
  4392. <Version>4.2</Version>
  4393. <IsMainModel>1</IsMainModel>
  4394. <KeepParameterValues>False</KeepParameterValues>
  4395. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4396. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4397. </Description>
  4398. </Information>';
  4399. type R
  4400. ports
  4401. power in p;
  4402. end;
  4403. icon bg top
  4404. figures
  4405. text 'R' 288 152 color 0 18 bold;
  4406. end;
  4407. implementation eq
  4408. parameters
  4409. real r = 0.01;
  4410. equations
  4411. p.e = r * p.f;
  4412. implementation_end;
  4413. R4 239.8 288.2
  4414. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4415. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4416. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4417. </Description>';
  4418. type 'R-2'
  4419. ports
  4420. power in p [2,1];
  4421. end;
  4422. icon bg bottom
  4423. figures
  4424. text 'R' 239.8 288.2 color 0 18 bold;
  4425. end;
  4426. implementation eq
  4427. parameters
  4428. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4429. equations
  4430. p.e = r * p.f;
  4431. implementation_end;
  4432. R5 239.8 168.2
  4433. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4434. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4435. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4436. </Description>';
  4437. type 'R-3'
  4438. ports
  4439. power in p [3,1];
  4440. end;
  4441. icon bg top
  4442. figures
  4443. text 'R' 239.8 168.2 color 0 18 bold;
  4444. end;
  4445. implementation eq
  4446. parameters
  4447. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  4448. equations
  4449. p.e = r * p.f;
  4450. implementation_end;
  4451. end;
  4452. connections
  4453. C1\p <= OneJunction7\p;
  4454. OneJunction5\p => C4\p;
  4455. OneJunction5\p => PowerMux\input_rot2;
  4456. OneJunction5\p => R4\p;
  4457. OneJunction7\p => PowerMux\input_pos3;
  4458. OneJunction7\p => R5\p;
  4459. OneJunction8\p => PowerMux\input;
  4460. PowerMux\output => output;
  4461. R\p <= OneJunction8\p;
  4462. end;
  4463. implementation_end;
  4464. Joint_dynF 792 56
  4465. description '<Description>
  4466. <Version>4.8</Version>
  4467. <IsMainModel>1</IsMainModel>
  4468. </Description>';
  4469. type Submodel
  4470. ports
  4471. power out output [6,1];
  4472. end;
  4473. implementation bg
  4474. submodels
  4475. C 264 200
  4476. description '<Information>
  4477. <Description>
  4478. <Version>4.2</Version>
  4479. <IsMainModel>1</IsMainModel>
  4480. <KeepParameterValues>False</KeepParameterValues>
  4481. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  4482. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  4483. </Description>
  4484. </Information>';
  4485. type C
  4486. ports
  4487. power in p;
  4488. signal out state;
  4489. restrictions
  4490. causality preferred out p;
  4491. end;
  4492. icon bg bottom
  4493. figures
  4494. text 'C' 264 200 color 0 18 bold;
  4495. end;
  4496. implementation eq
  4497. parameters
  4498. real c = 0.001;
  4499. equations
  4500. state = int(p.f);
  4501. p.e = state / c;
  4502. implementation_end;
  4503. C1 191.8 216.2
  4504. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4505. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4506. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4507. </Description>';
  4508. type 'C-3'
  4509. ports
  4510. power in p [3,1];
  4511. signal out state [3,1];
  4512. restrictions
  4513. causality preferred out p;
  4514. end;
  4515. icon bg top
  4516. figures
  4517. text 'C' 191.8 216.2 color 0 18 bold;
  4518. end;
  4519. implementation eq
  4520. parameters
  4521. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4522. equations
  4523. state = int(p.f);
  4524. p.e = inverse(c) *state;
  4525. implementation_end;
  4526. C4 191.8 232.2
  4527. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4528. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4529. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4530. </Description>';
  4531. type 'C-2'
  4532. ports
  4533. power in p [2,1];
  4534. signal out state [2,1];
  4535. restrictions
  4536. causality preferred out p;
  4537. end;
  4538. icon bg bottom
  4539. figures
  4540. text 'C' 191.8 232.2 color 0 18 bold;
  4541. end;
  4542. implementation eq
  4543. parameters
  4544. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4545. equations
  4546. state = int(p.f);
  4547. p.e = inverse(c) *state;
  4548. implementation_end;
  4549. plug output 396 216;
  4550. OneJunction5 239.8 232.2
  4551. description '<Information>
  4552. <Description>
  4553. <Version>4.2</Version>
  4554. <IsMainModel>1</IsMainModel>
  4555. <KeepParameterValues>False</KeepParameterValues>
  4556. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4557. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4558. </Description>
  4559. </Information>';
  4560. knot OneJunction
  4561. ports
  4562. power knot duplicatable none p [2,1];
  4563. signal knot out flow [2,1];
  4564. restrictions
  4565. causality constraint one_out p;
  4566. end;
  4567. icon bg
  4568. figures
  4569. text '1' 239.8 232.2 color 0 18 bold;
  4570. end;
  4571. implementation eq
  4572. equations
  4573. sum (direct (p.e)) = 0;
  4574. equal (collect (p.f));
  4575. flow = first (p.f);
  4576. implementation_end;
  4577. OneJunction7 239.8 216.2
  4578. description '<Information>
  4579. <Description>
  4580. <Version>4.2</Version>
  4581. <IsMainModel>1</IsMainModel>
  4582. <KeepParameterValues>False</KeepParameterValues>
  4583. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4584. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4585. </Description>
  4586. </Information>';
  4587. knot OneJunction
  4588. ports
  4589. power knot duplicatable none p [3,1];
  4590. signal knot out flow [3,1];
  4591. restrictions
  4592. causality constraint one_out p;
  4593. end;
  4594. icon bg
  4595. figures
  4596. text '1' 239.8 216.2 color 0 18 bold;
  4597. end;
  4598. implementation eq
  4599. equations
  4600. sum (direct (p.e)) = 0;
  4601. equal (collect (p.f));
  4602. flow = first (p.f);
  4603. implementation_end;
  4604. OneJunction8 296 200
  4605. description '<Information>
  4606. <Description>
  4607. <Version>4.2</Version>
  4608. <IsMainModel>1</IsMainModel>
  4609. <KeepParameterValues>False</KeepParameterValues>
  4610. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4611. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4612. </Description>
  4613. </Information>';
  4614. knot OneJunction
  4615. ports
  4616. power knot duplicatable none p [1];
  4617. signal knot out flow [1];
  4618. restrictions
  4619. causality constraint one_out p;
  4620. end;
  4621. icon bg
  4622. figures
  4623. text '1' 296 200 color 0 18 bold;
  4624. end;
  4625. implementation eq
  4626. equations
  4627. sum (direct (p.e)) = 0;
  4628. equal (collect (p.f));
  4629. flow = first (p.f);
  4630. implementation_end;
  4631. PowerMux 330 216
  4632. specifications active 'rot_z'
  4633. specification 'rot_x'
  4634. description '<Information>
  4635. <Description>
  4636. <Version>4.8</Version>
  4637. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4638. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  4639. <IsMainModel>1</IsMainModel>
  4640. <KeepParameterValues>False</KeepParameterValues>
  4641. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4642. </Description>
  4643. </Information>';
  4644. type 'PowerMux-Rotation'
  4645. ports
  4646. power in input;
  4647. power out output [6,1];
  4648. power in input_rot2 [2,1];
  4649. power in input_pos3 [3,1];
  4650. restrictions
  4651. causality constraint not_equal input output;
  4652. causality constraint not_equal input_rot2 output;
  4653. causality constraint not_equal input_pos3 output;
  4654. end;
  4655. icon bg bottom
  4656. figures
  4657. line 328 192 328 240 color 0 width 2;
  4658. rectangle 324 192 336 240 color -1;
  4659. text '1' 333 210 color 8421504 8;
  4660. terminals
  4661. input 328 200 fixed;
  4662. output 328 216 fixed;
  4663. input_rot2 328 232 fixed;
  4664. input_pos3 328 216 fixed;
  4665. end;
  4666. implementation eq
  4667. equations
  4668. output.e[1] = input.e;
  4669. output.e[2:3] = input_rot2.e;
  4670. output.e[4:6] = input_pos3.e;
  4671. output.f[1] = input.f;
  4672. output.f[2:3] = input_rot2.f;
  4673. output.f[4:6] = input_pos3.f;implementation_end;
  4674. specification_end;
  4675. specification 'rot_y'
  4676. description '<Description>
  4677. <Version>4.1</Version>
  4678. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  4679. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  4680. <IsMainModel>1</IsMainModel>
  4681. <KeepParameterValues>False</KeepParameterValues>
  4682. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4683. </Description>';
  4684. type PowerMux
  4685. ports
  4686. power in input;
  4687. power out output [6,1];
  4688. power in input_rot2 [2,1];
  4689. power in input_pos3 [3,1];
  4690. restrictions
  4691. causality constraint not_equal input output;
  4692. causality constraint not_equal input_rot2 output;
  4693. causality constraint not_equal input_pos3 output;
  4694. end;
  4695. icon bg bottom
  4696. figures
  4697. line 242 274 290 274 color 0 width 2;
  4698. rectangle 242 266 290 278 color -1;
  4699. text '1' 260 269 color 8421504 8;
  4700. terminals
  4701. input 250 274 fixed;
  4702. output 266 274 fixed;
  4703. input_rot2 282 274 fixed;
  4704. input_pos3 266 274 fixed;
  4705. end;
  4706. implementation eq
  4707. equations
  4708. output.e[1] = input_rot2.e[1];
  4709. output.e[2] = input.e;
  4710. output.e[3] = input_rot2.e[2];
  4711. output.e[4:6] = input_pos3.e;
  4712. output.f[1] = input_rot2.f[1];
  4713. output.f[2] = input.f;
  4714. output.f[3] = input_rot2.f[2];
  4715. output.f[4:6] = input_pos3.f;implementation_end;
  4716. specification_end;
  4717. specification 'rot_z'
  4718. description '<Information>
  4719. <Description>
  4720. <Version>4.8</Version>
  4721. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4722. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4723. <IsMainModel>1</IsMainModel>
  4724. <KeepParameterValues>False</KeepParameterValues>
  4725. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4726. </Description>
  4727. </Information>';
  4728. type PowerMux
  4729. ports
  4730. power in input;
  4731. power out output [6,1];
  4732. power in input_rot2 [2,1];
  4733. power in input_pos3 [3,1];
  4734. restrictions
  4735. causality constraint not_equal input output;
  4736. causality constraint not_equal input_rot2 output;
  4737. causality constraint not_equal input_pos3 output;
  4738. end;
  4739. icon bg bottom
  4740. figures
  4741. line 328 192 328 240 color 0 width 2;
  4742. rectangle 324 192 336 240 color -1;
  4743. text '1' 333 210 color 8421504 8;
  4744. terminals
  4745. input 328 200 fixed;
  4746. output 328 216 fixed;
  4747. input_rot2 328 232 fixed;
  4748. input_pos3 328 216 fixed;
  4749. end;
  4750. implementation eq
  4751. equations
  4752. output.e[3] = input.e;
  4753. output.e[1:2] = input_rot2.e;
  4754. output.e[4:6] = input_pos3.e;
  4755. output.f[3] = input.f;
  4756. output.f[1:2] = input_rot2.f;
  4757. output.f[4:6] = input_pos3.f;implementation_end;
  4758. specification_end;
  4759. end;
  4760. R 296 152
  4761. description '<Information>
  4762. <Description>
  4763. <Version>4.2</Version>
  4764. <IsMainModel>1</IsMainModel>
  4765. <KeepParameterValues>False</KeepParameterValues>
  4766. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4767. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4768. </Description>
  4769. </Information>';
  4770. type R
  4771. ports
  4772. power in p;
  4773. end;
  4774. icon bg top
  4775. figures
  4776. text 'R' 296 152 color 0 18 bold;
  4777. end;
  4778. implementation eq
  4779. parameters
  4780. real r = 1000;
  4781. equations
  4782. p.e = r * p.f;
  4783. implementation_end;
  4784. R4 239.8 288.2
  4785. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4786. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4787. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4788. </Description>';
  4789. type 'R-2'
  4790. ports
  4791. power in p [2,1];
  4792. end;
  4793. icon bg bottom
  4794. figures
  4795. text 'R' 239.8 288.2 color 0 18 bold;
  4796. end;
  4797. implementation eq
  4798. parameters
  4799. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4800. equations
  4801. p.e = r * p.f;
  4802. implementation_end;
  4803. R5 239.8 168.2
  4804. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4805. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4806. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4807. </Description>';
  4808. type 'R-3'
  4809. ports
  4810. power in p [3,1];
  4811. end;
  4812. icon bg top
  4813. figures
  4814. text 'R' 239.8 168.2 color 0 18 bold;
  4815. end;
  4816. implementation eq
  4817. parameters
  4818. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  4819. equations
  4820. p.e = r * p.f;
  4821. implementation_end;
  4822. end;
  4823. connections
  4824. C\p <= OneJunction8\p;
  4825. C1\p <= OneJunction7\p;
  4826. OneJunction5\p => C4\p;
  4827. OneJunction5\p => PowerMux\input_rot2;
  4828. OneJunction5\p => R4\p;
  4829. OneJunction7\p => PowerMux\input_pos3;
  4830. OneJunction7\p => R5\p;
  4831. OneJunction8\p => PowerMux\input;
  4832. PowerMux\output => output;
  4833. R\p <= OneJunction8\p;
  4834. end;
  4835. implementation_end;
  4836. Link1 704 136
  4837. description '<Information>
  4838. <Description>
  4839. <Version>4.8</Version>
  4840. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  4841. <IsMainModel>1</IsMainModel>
  4842. <KeepParameterValues>False</KeepParameterValues>
  4843. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  4844. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4845. </Description>
  4846. </Information>';
  4847. type 'Submodel-Equation'
  4848. ports
  4849. signal in Hin [4,4];
  4850. signal out Hout [4,4];
  4851. power in Pin [6,1];
  4852. power out Pout [6,1];
  4853. restrictions
  4854. causality constraint not_equal Pin Pout;
  4855. end;
  4856. icon bg bottom
  4857. figures
  4858. rectangle 672 112 736 160 color 0 fill 8454041;
  4859. text 'Link' 704 136 color 0 'Clear Sans' 16;
  4860. terminals
  4861. Hin 672 152 fixed;
  4862. Hout 736 152 fixed;
  4863. Pin 736 120 fixed;
  4864. Pout 672 120 fixed;
  4865. end;
  4866. implementation eq
  4867. parameters
  4868. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  4869. variables
  4870. real Hab[4,4];
  4871. real AdHab[6,6];
  4872. real R[3,3];
  4873. real omega[3];
  4874. initialequations
  4875. omega = offset[1:3];
  4876. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  4877. Hab = homogeneous(R,offset[4:6]);
  4878. AdHab = Adjoint(Hab);
  4879. equations
  4880. Hout = Hin * Hab;
  4881. Pout.e = transpose(AdHab) * Pin.e;
  4882. Pin.f = AdHab * Pout.f;
  4883. implementation_end;
  4884. Link2 544 136
  4885. description '<Information>
  4886. <Description>
  4887. <Version>4.8</Version>
  4888. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  4889. <IsMainModel>1</IsMainModel>
  4890. <KeepParameterValues>False</KeepParameterValues>
  4891. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  4892. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4893. </Description>
  4894. </Information>';
  4895. type 'Submodel-Equation'
  4896. ports
  4897. signal in Hin [4,4];
  4898. signal out Hout [4,4];
  4899. power in Pin [6,1];
  4900. power out Pout [6,1];
  4901. restrictions
  4902. causality constraint not_equal Pin Pout;
  4903. end;
  4904. icon bg bottom
  4905. figures
  4906. rectangle 512 112 576 160 color 0 fill 8454041;
  4907. text 'Link' 544 136 color 0 'Clear Sans' 16;
  4908. terminals
  4909. Hin 512 152 fixed;
  4910. Hout 576 152 fixed;
  4911. Pin 576 120 fixed;
  4912. Pout 512 120 fixed;
  4913. end;
  4914. implementation eq
  4915. parameters
  4916. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  4917. variables
  4918. real Hab[4,4];
  4919. real AdHab[6,6];
  4920. real R[3,3];
  4921. real omega[3];
  4922. initialequations
  4923. omega = offset[1:3];
  4924. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  4925. Hab = homogeneous(R,offset[4:6]);
  4926. AdHab = Adjoint(Hab);
  4927. equations
  4928. Hout = Hin * Hab;
  4929. Pout.e = transpose(AdHab) * Pin.e;
  4930. Pin.f = AdHab * Pout.f;
  4931. implementation_end;
  4932. Link3 432 304
  4933. description '<Information>
  4934. <Description>
  4935. <Version>4.8</Version>
  4936. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  4937. <IsMainModel>1</IsMainModel>
  4938. <KeepParameterValues>False</KeepParameterValues>
  4939. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  4940. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4941. </Description>
  4942. </Information>';
  4943. type 'Submodel-Equation'
  4944. ports
  4945. signal in Hin [4,4];
  4946. signal out Hout [4,4];
  4947. power in Pin [6,1];
  4948. power out Pout [6,1];
  4949. restrictions
  4950. causality constraint not_equal Pin Pout;
  4951. end;
  4952. icon bg bottom
  4953. figures
  4954. rectangle 408 272 456 336 color 0 fill 8454041;
  4955. text 'Link' 432 304 color 0 'Clear Sans' 16;
  4956. terminals
  4957. Hin 448 336 fixed;
  4958. Hout 448 272 fixed;
  4959. Pin 416 272 fixed;
  4960. Pout 416 336 fixed;
  4961. end;
  4962. implementation eq
  4963. parameters
  4964. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  4965. variables
  4966. real Hab[4,4];
  4967. real AdHab[6,6];
  4968. real R[3,3];
  4969. real omega[3];
  4970. initialequations
  4971. omega = offset[1:3];
  4972. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  4973. Hab = homogeneous(R,offset[4:6]);
  4974. AdHab = Adjoint(Hab);
  4975. equations
  4976. Hout = Hin * Hab;
  4977. Pout.e = transpose(AdHab) * Pin.e;
  4978. Pin.f = AdHab * Pout.f;
  4979. implementation_end;
  4980. Link4 632 304
  4981. description '<Information>
  4982. <Description>
  4983. <Version>4.8</Version>
  4984. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  4985. <IsMainModel>1</IsMainModel>
  4986. <KeepParameterValues>False</KeepParameterValues>
  4987. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  4988. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4989. </Description>
  4990. </Information>';
  4991. type 'Submodel-Equation'
  4992. ports
  4993. signal in Hin [4,4];
  4994. signal out Hout [4,4];
  4995. power in Pin [6,1];
  4996. power out Pout [6,1];
  4997. restrictions
  4998. causality constraint not_equal Pin Pout;
  4999. end;
  5000. icon bg bottom
  5001. figures
  5002. rectangle 608 272 656 336 color 0 fill 8454041;
  5003. text 'Link' 632 304 color 0 'Clear Sans' 16;
  5004. terminals
  5005. Hin 648 336 fixed;
  5006. Hout 648 272 fixed;
  5007. Pin 616 272 fixed;
  5008. Pout 616 336 fixed;
  5009. end;
  5010. implementation eq
  5011. parameters
  5012. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  5013. variables
  5014. real Hab[4,4];
  5015. real AdHab[6,6];
  5016. real R[3,3];
  5017. real omega[3];
  5018. initialequations
  5019. omega = offset[1:3];
  5020. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5021. Hab = homogeneous(R,offset[4:6]);
  5022. AdHab = Adjoint(Hab);
  5023. equations
  5024. Hout = Hin * Hab;
  5025. Pout.e = transpose(AdHab) * Pin.e;
  5026. Pin.f = AdHab * Pout.f;
  5027. implementation_end;
  5028. Link5 848 616
  5029. description '<Information>
  5030. <Description>
  5031. <Version>4.8</Version>
  5032. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5033. <IsMainModel>1</IsMainModel>
  5034. <KeepParameterValues>False</KeepParameterValues>
  5035. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5036. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5037. </Description>
  5038. </Information>';
  5039. type 'Submodel-Equation'
  5040. ports
  5041. signal in Hin [4,4];
  5042. signal out Hout [4,4];
  5043. power in Pin [6,1];
  5044. power out Pout [6,1];
  5045. restrictions
  5046. causality constraint not_equal Pin Pout;
  5047. end;
  5048. icon bg bottom
  5049. figures
  5050. rectangle 816 592 880 640 color 0 fill 8454041;
  5051. text 'Link' 848 616 color 0 'Clear Sans' 16;
  5052. terminals
  5053. Hin 880 600 fixed;
  5054. Hout 816 600 fixed;
  5055. Pin 816 632 fixed;
  5056. Pout 880 632 fixed;
  5057. end;
  5058. implementation eq
  5059. parameters
  5060. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  5061. variables
  5062. real Hab[4,4];
  5063. real AdHab[6,6];
  5064. real R[3,3];
  5065. real omega[3];
  5066. initialequations
  5067. omega = offset[1:3];
  5068. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5069. Hab = homogeneous(R,offset[4:6]);
  5070. AdHab = Adjoint(Hab);
  5071. equations
  5072. Hout = Hin * Hab;
  5073. Pout.e = transpose(AdHab) * Pin.e;
  5074. Pin.f = AdHab * Pout.f;
  5075. implementation_end;
  5076. Link6 432 448
  5077. description '<Information>
  5078. <Description>
  5079. <Version>4.8</Version>
  5080. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5081. <IsMainModel>1</IsMainModel>
  5082. <KeepParameterValues>False</KeepParameterValues>
  5083. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5084. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5085. </Description>
  5086. </Information>';
  5087. type 'Submodel-Equation'
  5088. ports
  5089. signal in Hin [4,4];
  5090. signal out Hout [4,4];
  5091. power in Pin [6,1];
  5092. power out Pout [6,1];
  5093. restrictions
  5094. causality constraint not_equal Pin Pout;
  5095. end;
  5096. icon bg bottom
  5097. figures
  5098. rectangle 408 416 456 480 color 0 fill 8454041;
  5099. text 'Link' 432 448 color 0 'Clear Sans' 16;
  5100. terminals
  5101. Hin 448 480 fixed;
  5102. Hout 448 416 fixed;
  5103. Pin 416 416 fixed;
  5104. Pout 416 480 fixed;
  5105. end;
  5106. implementation eq
  5107. parameters
  5108. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  5109. variables
  5110. real Hab[4,4];
  5111. real AdHab[6,6];
  5112. real R[3,3];
  5113. real omega[3];
  5114. initialequations
  5115. omega = offset[1:3];
  5116. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5117. Hab = homogeneous(R,offset[4:6]);
  5118. AdHab = Adjoint(Hab);
  5119. equations
  5120. Hout = Hin * Hab;
  5121. Pout.e = transpose(AdHab) * Pin.e;
  5122. Pin.f = AdHab * Pout.f;
  5123. implementation_end;
  5124. Link7 704 616
  5125. description '<Information>
  5126. <Description>
  5127. <Version>4.8</Version>
  5128. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5129. <IsMainModel>1</IsMainModel>
  5130. <KeepParameterValues>False</KeepParameterValues>
  5131. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5132. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5133. </Description>
  5134. </Information>';
  5135. type 'Submodel-Equation'
  5136. ports
  5137. signal in Hin [4,4];
  5138. signal out Hout [4,4];
  5139. power in Pin [6,1];
  5140. power out Pout [6,1];
  5141. restrictions
  5142. causality constraint not_equal Pin Pout;
  5143. end;
  5144. icon bg bottom
  5145. figures
  5146. rectangle 672 592 736 640 color 0 fill 8454041;
  5147. text 'Link' 704 616 color 0 'Clear Sans' 16;
  5148. terminals
  5149. Hin 736 600 fixed;
  5150. Hout 672 600 fixed;
  5151. Pin 672 632 fixed;
  5152. Pout 736 632 fixed;
  5153. end;
  5154. implementation eq
  5155. parameters
  5156. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  5157. variables
  5158. real Hab[4,4];
  5159. real AdHab[6,6];
  5160. real R[3,3];
  5161. real omega[3];
  5162. initialequations
  5163. omega = offset[1:3];
  5164. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5165. Hab = homogeneous(R,offset[4:6]);
  5166. AdHab = Adjoint(Hab);
  5167. equations
  5168. Hout = Hin * Hab;
  5169. Pout.e = transpose(AdHab) * Pin.e;
  5170. Pin.f = AdHab * Pout.f;
  5171. implementation_end;
  5172. Link8 880 136
  5173. description '<Information>
  5174. <Description>
  5175. <Version>4.8</Version>
  5176. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5177. <IsMainModel>1</IsMainModel>
  5178. <KeepParameterValues>False</KeepParameterValues>
  5179. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5180. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5181. </Description>
  5182. </Information>';
  5183. type 'Submodel-Equation'
  5184. ports
  5185. signal in Hin [4,4];
  5186. signal out Hout [4,4];
  5187. power in Pin [6,1];
  5188. power out Pout [6,1];
  5189. restrictions
  5190. causality constraint not_equal Pin Pout;
  5191. end;
  5192. icon bg bottom
  5193. figures
  5194. rectangle 848 112 912 160 color 0 fill 8454041;
  5195. text 'Link' 880 136 color 0 'Clear Sans' 16;
  5196. terminals
  5197. Hin 848 152 fixed;
  5198. Hout 912 152 fixed;
  5199. Pin 912 120 fixed;
  5200. Pout 848 120 fixed;
  5201. end;
  5202. implementation eq
  5203. parameters
  5204. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  5205. variables
  5206. real Hab[4,4];
  5207. real AdHab[6,6];
  5208. real R[3,3];
  5209. real omega[3];
  5210. initialequations
  5211. omega = offset[1:3];
  5212. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5213. Hab = homogeneous(R,offset[4:6]);
  5214. AdHab = Adjoint(Hab);
  5215. equations
  5216. Hout = Hin * Hab;
  5217. Pout.e = transpose(AdHab) * Pin.e;
  5218. Pin.f = AdHab * Pout.f;
  5219. implementation_end;
  5220. Link9 632 448
  5221. description '<Information>
  5222. <Description>
  5223. <Version>4.8</Version>
  5224. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5225. <IsMainModel>1</IsMainModel>
  5226. <KeepParameterValues>False</KeepParameterValues>
  5227. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5228. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5229. </Description>
  5230. </Information>';
  5231. type 'Submodel-Equation'
  5232. ports
  5233. signal in Hin [4,4];
  5234. signal out Hout [4,4];
  5235. power in Pin [6,1];
  5236. power out Pout [6,1];
  5237. restrictions
  5238. causality constraint not_equal Pin Pout;
  5239. end;
  5240. icon bg bottom
  5241. figures
  5242. rectangle 608 416 656 480 color 0 fill 8454041;
  5243. text 'Link' 632 448 color 0 'Clear Sans' 16;
  5244. terminals
  5245. Hin 648 480 fixed;
  5246. Hout 648 416 fixed;
  5247. Pin 616 416 fixed;
  5248. Pout 616 480 fixed;
  5249. end;
  5250. implementation eq
  5251. parameters
  5252. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  5253. variables
  5254. real Hab[4,4];
  5255. real AdHab[6,6];
  5256. real R[3,3];
  5257. real omega[3];
  5258. initialequations
  5259. omega = offset[1:3];
  5260. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  5261. Hab = homogeneous(R,offset[4:6]);
  5262. AdHab = Adjoint(Hab);
  5263. equations
  5264. Hout = Hin * Hab;
  5265. Pout.e = transpose(AdHab) * Pin.e;
  5266. Pin.f = AdHab * Pout.f;
  5267. implementation_end;
  5268. OneJunction1 760 632
  5269. description '<Information>
  5270. <Description>
  5271. <Version>4.2</Version>
  5272. <IsMainModel>1</IsMainModel>
  5273. <KeepParameterValues>False</KeepParameterValues>
  5274. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5275. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5276. </Description>
  5277. </Information>';
  5278. knot OneJunction
  5279. ports
  5280. power knot duplicatable none p [6,1];
  5281. signal knot out flow [6,1];
  5282. restrictions
  5283. causality constraint one_out p;
  5284. end;
  5285. icon bg
  5286. figures
  5287. text '1' 760 632 color 0 18 bold;
  5288. end;
  5289. implementation eq
  5290. equations
  5291. sum (direct (p.e)) = 0;
  5292. equal (collect (p.f));
  5293. flow = first (p.f);
  5294. implementation_end;
  5295. OneJunction2 416 392
  5296. description '<Information>
  5297. <Description>
  5298. <Version>4.2</Version>
  5299. <IsMainModel>1</IsMainModel>
  5300. <KeepParameterValues>False</KeepParameterValues>
  5301. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5302. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5303. </Description>
  5304. </Information>';
  5305. knot OneJunction
  5306. ports
  5307. power knot duplicatable none p [6,1];
  5308. signal knot out flow [6,1];
  5309. restrictions
  5310. causality constraint one_out p;
  5311. end;
  5312. icon bg
  5313. figures
  5314. text '1' 416 392 color 0 18 bold;
  5315. end;
  5316. implementation eq
  5317. equations
  5318. sum (direct (p.e)) = 0;
  5319. equal (collect (p.f));
  5320. flow = first (p.f);
  5321. implementation_end;
  5322. OneJunction3 616 120
  5323. description '<Information>
  5324. <Description>
  5325. <Version>4.2</Version>
  5326. <IsMainModel>1</IsMainModel>
  5327. <KeepParameterValues>False</KeepParameterValues>
  5328. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5329. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5330. </Description>
  5331. </Information>';
  5332. knot OneJunction
  5333. ports
  5334. power knot duplicatable none p [6,1];
  5335. signal knot out flow [6,1];
  5336. restrictions
  5337. causality constraint one_out p;
  5338. end;
  5339. icon bg
  5340. figures
  5341. text '1' 616 120 color 0 18 bold;
  5342. end;
  5343. implementation eq
  5344. equations
  5345. sum (direct (p.e)) = 0;
  5346. equal (collect (p.f));
  5347. flow = first (p.f);
  5348. implementation_end;
  5349. OneJunction4 616 392
  5350. description '<Information>
  5351. <Description>
  5352. <Version>4.2</Version>
  5353. <IsMainModel>1</IsMainModel>
  5354. <KeepParameterValues>False</KeepParameterValues>
  5355. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5356. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5357. </Description>
  5358. </Information>';
  5359. knot OneJunction
  5360. ports
  5361. power knot duplicatable none p [6,1];
  5362. signal knot out flow [6,1];
  5363. restrictions
  5364. causality constraint one_out p;
  5365. end;
  5366. icon bg
  5367. figures
  5368. text '1' 616 392 color 0 18 bold;
  5369. end;
  5370. implementation eq
  5371. equations
  5372. sum (direct (p.e)) = 0;
  5373. equal (collect (p.f));
  5374. flow = first (p.f);
  5375. implementation_end;
  5376. Splitter1 792 600
  5377. description '<Description><Version>4.0</Version>
  5378. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5379. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5380. <IsMainModel>1</IsMainModel>
  5381. <KeepParameterValues>False</KeepParameterValues>
  5382. </Description>';
  5383. knot Splitter
  5384. ports
  5385. signal knot duplicatable out output [4,4];
  5386. signal knot in input [4,4];
  5387. end;
  5388. icon bg ellipse
  5389. figures
  5390. ellipse 788.8 596.8 795.2 603.2 color -1 fill 0;
  5391. ellipse 787.7 595.7 796.3 604.3 color -1;
  5392. terminals
  5393. input 792 600 fixed;
  5394. end;
  5395. implementation eq
  5396. equations
  5397. collect (output) = input;
  5398. implementation_end;
  5399. Splitter2 448 360
  5400. description '<Description><Version>4.0</Version>
  5401. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5402. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5403. <IsMainModel>1</IsMainModel>
  5404. <KeepParameterValues>False</KeepParameterValues>
  5405. </Description>';
  5406. knot Splitter
  5407. ports
  5408. signal knot duplicatable out output [4,4];
  5409. signal knot in input [4,4];
  5410. end;
  5411. icon bg ellipse
  5412. figures
  5413. ellipse 444.8 356.8 451.2 363.2 color -1 fill 0;
  5414. ellipse 443.7 355.7 452.3 364.3 color -1;
  5415. terminals
  5416. input 448 360 fixed;
  5417. end;
  5418. implementation eq
  5419. equations
  5420. collect (output) = input;
  5421. implementation_end;
  5422. Splitter3 648 360
  5423. description '<Description><Version>4.0</Version>
  5424. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5425. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5426. <IsMainModel>1</IsMainModel>
  5427. <KeepParameterValues>False</KeepParameterValues>
  5428. </Description>';
  5429. knot Splitter
  5430. ports
  5431. signal knot duplicatable out output [4,4];
  5432. signal knot in input [4,4];
  5433. end;
  5434. icon bg ellipse
  5435. figures
  5436. ellipse 644.8 356.8 651.2 363.2 color -1 fill 0;
  5437. ellipse 643.7 355.7 652.3 364.3 color -1;
  5438. terminals
  5439. input 648 360 fixed;
  5440. end;
  5441. implementation eq
  5442. equations
  5443. collect (output) = input;
  5444. implementation_end;
  5445. Splitter4 648 152
  5446. description '<Description><Version>4.0</Version>
  5447. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5448. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5449. <IsMainModel>1</IsMainModel>
  5450. <KeepParameterValues>False</KeepParameterValues>
  5451. </Description>';
  5452. knot Splitter
  5453. ports
  5454. signal knot duplicatable out output [4,4];
  5455. signal knot in input [4,4];
  5456. end;
  5457. icon bg ellipse
  5458. figures
  5459. ellipse 644.8 148.8 651.2 155.2 color -1 fill 0;
  5460. ellipse 643.7 147.7 652.3 156.3 color -1;
  5461. terminals
  5462. input 648 152 fixed;
  5463. end;
  5464. implementation eq
  5465. equations
  5466. collect (output) = input;
  5467. implementation_end;
  5468. Splitter5 448 496
  5469. description '<Description><Version>4.0</Version>
  5470. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5471. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5472. <IsMainModel>1</IsMainModel>
  5473. <KeepParameterValues>False</KeepParameterValues>
  5474. </Description>';
  5475. knot Splitter
  5476. ports
  5477. signal knot duplicatable out output [4,4];
  5478. signal knot in input [4,4];
  5479. end;
  5480. icon bg ellipse
  5481. figures
  5482. ellipse 444.8 492.8 451.2 499.2 color -1 fill 0;
  5483. ellipse 443.7 491.7 452.3 500.3 color -1;
  5484. terminals
  5485. input 448 496 fixed;
  5486. end;
  5487. implementation eq
  5488. equations
  5489. collect (output) = input;
  5490. implementation_end;
  5491. Splitter6 896 600
  5492. description '<Description><Version>4.0</Version>
  5493. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5494. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5495. <IsMainModel>1</IsMainModel>
  5496. <KeepParameterValues>False</KeepParameterValues>
  5497. </Description>';
  5498. knot Splitter
  5499. ports
  5500. signal knot duplicatable out output [4,4];
  5501. signal knot in input [4,4];
  5502. end;
  5503. icon bg ellipse
  5504. figures
  5505. ellipse 892.8 596.8 899.2 603.2 color -1 fill 0;
  5506. ellipse 891.7 595.7 900.3 604.3 color -1;
  5507. terminals
  5508. input 896 600 fixed;
  5509. end;
  5510. implementation eq
  5511. equations
  5512. collect (output) = input;
  5513. implementation_end;
  5514. Splitter7 648 496
  5515. description '<Description><Version>4.0</Version>
  5516. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5517. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5518. <IsMainModel>1</IsMainModel>
  5519. <KeepParameterValues>False</KeepParameterValues>
  5520. </Description>';
  5521. knot Splitter
  5522. ports
  5523. signal knot duplicatable out output [4,4];
  5524. signal knot in input [4,4];
  5525. end;
  5526. icon bg ellipse
  5527. figures
  5528. ellipse 644.8 492.8 651.2 499.2 color -1 fill 0;
  5529. ellipse 643.7 491.7 652.3 500.3 color -1;
  5530. terminals
  5531. input 648 496 fixed;
  5532. end;
  5533. implementation eq
  5534. equations
  5535. collect (output) = input;
  5536. implementation_end;
  5537. Splitter8 448 152
  5538. description '<Description><Version>4.0</Version>
  5539. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5540. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5541. <IsMainModel>1</IsMainModel>
  5542. <KeepParameterValues>False</KeepParameterValues>
  5543. </Description>';
  5544. knot Splitter
  5545. ports
  5546. signal knot duplicatable out output [4,4];
  5547. signal knot in input [4,4];
  5548. end;
  5549. icon bg ellipse
  5550. figures
  5551. ellipse 444.8 148.8 451.2 155.2 color -1 fill 0;
  5552. ellipse 443.7 147.7 452.3 156.3 color -1;
  5553. terminals
  5554. input 448 152 fixed;
  5555. end;
  5556. implementation eq
  5557. equations
  5558. collect (output) = input;
  5559. implementation_end;
  5560. Splitter9 832 152
  5561. description '<Description><Version>4.0</Version>
  5562. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  5563. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  5564. <IsMainModel>1</IsMainModel>
  5565. <KeepParameterValues>False</KeepParameterValues>
  5566. </Description>';
  5567. knot Splitter
  5568. ports
  5569. signal knot duplicatable out output [4,4];
  5570. signal knot in input [4,4];
  5571. end;
  5572. icon bg ellipse
  5573. figures
  5574. ellipse 828.8 148.8 835.2 155.2 color -1 fill 0;
  5575. ellipse 827.7 147.7 836.3 156.3 color -1;
  5576. terminals
  5577. input 832 152 fixed;
  5578. end;
  5579. implementation eq
  5580. equations
  5581. collect (output) = input;
  5582. implementation_end;
  5583. end;
  5584. connections
  5585. COM_body3\p => OneJunction4\p;
  5586. COM_body4\p => OneJunction3\p;
  5587. COM_body5\p => Link8\Pin;
  5588. Ground\output -> JointA\Hin;
  5589. Ground\p <= JointA\Pout;
  5590. Ground1\output -> JointC\Hin 1064 600;
  5591. Ground1\p <= JointC\Pout 1032 632;
  5592. Joint_dynB\output => JointB\Pdiff;
  5593. Joint_dynC\output => JointC\Pdiff;
  5594. Joint_dynD\output => JointD\Pdiff;
  5595. Joint_dynE\output => JointE\Pdiff;
  5596. Joint_dynF\output => JointF\Pdiff;
  5597. JointA\Hout -> Splitter5\input;
  5598. JointA\Pdiff <= Joint_dynA\output;
  5599. JointA\Pin <= Link6\Pout;
  5600. JointB\Hout -> Splitter8\input;
  5601. JointB\Pin <= Link2\Pout 416 120;
  5602. JointC\Hout -> Splitter6\input;
  5603. JointC\Pin <= Link5\Pout;
  5604. JointD\Hin <- Link7\Hout 648 600;
  5605. JointD\Hout -> Splitter7\input;
  5606. JointD\Pin <= Link9\Pout;
  5607. JointD\Pout => Link7\Pin 616 632;
  5608. JointE\Pout => Link4\Pin;
  5609. JointF\Hout -> Splitter9\input;
  5610. JointF\Pout => Link1\Pin;
  5611. Link1\Hout -> JointF\Hin;
  5612. Link2\Hout -> Splitter4\input;
  5613. Link2\Pin <= OneJunction3\p;
  5614. Link3\Hout -> JointB\Hin;
  5615. Link3\Pin <= JointB\Pout;
  5616. Link4\Hout -> JointE\Hin;
  5617. Link5\Hout -> Splitter1\input;
  5618. Link5\Pin <= OneJunction1\p;
  5619. Link6\Hout -> Splitter2\input;
  5620. Link6\Pin <= OneJunction2\p;
  5621. Link8\Hout -> COM_body5\Hin;
  5622. Link8\Pout => JointF\Pin;
  5623. Link9\Hout -> Splitter3\input;
  5624. Link9\Pin <= OneJunction4\p;
  5625. OneJunction1\p <= COM_body2\p;
  5626. OneJunction1\p <= Link7\Pout;
  5627. OneJunction2\p <= COM_body1\p;
  5628. OneJunction2\p <= Link3\Pout;
  5629. OneJunction3\p <= Link1\Pout;
  5630. OneJunction3\p => JointE\Pin;
  5631. OneJunction4\p <= Link4\Pout;
  5632. Splitter1\output -> COM_body2\Hin;
  5633. Splitter1\output -> Link7\Hin;
  5634. Splitter2\output -> COM_body1\Hin;
  5635. Splitter2\output -> Link3\Hin;
  5636. Splitter3\output -> COM_body3\Hin;
  5637. Splitter3\output -> Link4\Hin;
  5638. Splitter4\output -> COM_body4\Hin;
  5639. Splitter4\output -> Link1\Hin;
  5640. Splitter5\output -> Body1\input;
  5641. Splitter5\output -> Link6\Hin;
  5642. Splitter6\output -> Body2\input;
  5643. Splitter6\output -> Link5\Hin;
  5644. Splitter7\output -> Body3\input;
  5645. Splitter7\output -> Link9\Hin;
  5646. Splitter8\output -> Body4\input;
  5647. Splitter8\output -> Link2\Hin 448 152;
  5648. Splitter9\output -> Body5\input;
  5649. Splitter9\output -> Link8\Hin;
  5650. end;
  5651. implementation_end;
  5652. ]]>
  5653. </Sidops>
  5654. </Model>
  5655. <Experiments>
  5656. <DefaultExperiment><![CDATA[Experiment 1]]>
  5657. </DefaultExperiment>
  5658. <Experiment>
  5659. <Name>Experiment 1</Name>
  5660. <CreatedBy></CreatedBy>
  5661. <Info></Info>
  5662. <ExpData>
  5663. <VersionNumber>4.8</VersionNumber>
  5664. <ModelProperties>
  5665. </ModelProperties>
  5666. <Variables>
  5667. <Constants>
  5668. </Constants>
  5669. <Parameters>
  5670. </Parameters>
  5671. <Initials>
  5672. <Variable>
  5673. <Name>COM_body2\InertialTensor\state_initial</Name>
  5674. <Rows>6</Rows>
  5675. <Columns>1</Columns>
  5676. <Value>0 0 0 0 0 0</Value>
  5677. </Variable>
  5678. <Variable>
  5679. <Name>COM_body3\InertialTensor\state_initial</Name>
  5680. <Rows>6</Rows>
  5681. <Columns>1</Columns>
  5682. <Value>0 0 0 0 0 0</Value>
  5683. </Variable>
  5684. <Variable>
  5685. <Name>COM_body5\InertialTensor\state_initial</Name>
  5686. <Rows>6</Rows>
  5687. <Columns>1</Columns>
  5688. <Value>0 0 0 0 0 0</Value>
  5689. </Variable>
  5690. <Variable>
  5691. <Name>COM_body1\InertialTensor\state_initial</Name>
  5692. <Rows>6</Rows>
  5693. <Columns>1</Columns>
  5694. <Value>0 0 0 0 0 0</Value>
  5695. </Variable>
  5696. <Variable>
  5697. <Name>JointB\Hmatrix\p_initial</Name>
  5698. <Rows>3</Rows>
  5699. <Columns>1</Columns>
  5700. <Value>0 0 0</Value>
  5701. </Variable>
  5702. <Variable>
  5703. <Name>JointD\Hmatrix\p_initial</Name>
  5704. <Rows>3</Rows>
  5705. <Columns>1</Columns>
  5706. <Value>0 0 0</Value>
  5707. </Variable>
  5708. <Variable>
  5709. <Name>JointA\Hmatrix\p_initial</Name>
  5710. <Rows>3</Rows>
  5711. <Columns>1</Columns>
  5712. <Value>0 0 0</Value>
  5713. </Variable>
  5714. <Variable>
  5715. <Name>JointC\Hmatrix\p_initial</Name>
  5716. <Rows>3</Rows>
  5717. <Columns>1</Columns>
  5718. <Value>0 0 0</Value>
  5719. </Variable>
  5720. <Variable>
  5721. <Name>JointF\Hmatrix\p_initial</Name>
  5722. <Rows>3</Rows>
  5723. <Columns>1</Columns>
  5724. <Value>0 0 0</Value>
  5725. </Variable>
  5726. <Variable>
  5727. <Name>JointE\Hmatrix\p_initial</Name>
  5728. <Rows>3</Rows>
  5729. <Columns>1</Columns>
  5730. <Value>0 0 0</Value>
  5731. </Variable>
  5732. <Variable>
  5733. <Name>Joint_dynE\C1\state_initial</Name>
  5734. <Rows>3</Rows>
  5735. <Columns>1</Columns>
  5736. <Value>0 0 0</Value>
  5737. </Variable>
  5738. <Variable>
  5739. <Name>Joint_dynE\C4\state_initial</Name>
  5740. <Rows>2</Rows>
  5741. <Columns>1</Columns>
  5742. <Value>0 0</Value>
  5743. </Variable>
  5744. <Variable>
  5745. <Name>Joint_dynD\C1\state_initial</Name>
  5746. <Rows>3</Rows>
  5747. <Columns>1</Columns>
  5748. <Value>0 0 0</Value>
  5749. </Variable>
  5750. <Variable>
  5751. <Name>Joint_dynD\C4\state_initial</Name>
  5752. <Rows>2</Rows>
  5753. <Columns>1</Columns>
  5754. <Value>0 0</Value>
  5755. </Variable>
  5756. <Variable>
  5757. <Name>Joint_dynA\C1\state_initial</Name>
  5758. <Rows>3</Rows>
  5759. <Columns>1</Columns>
  5760. <Value>0 0 0</Value>
  5761. </Variable>
  5762. <Variable>
  5763. <Name>Joint_dynA\C4\state_initial</Name>
  5764. <Rows>2</Rows>
  5765. <Columns>1</Columns>
  5766. <Value>0 0</Value>
  5767. </Variable>
  5768. <Variable>
  5769. <Name>Joint_dynC\C1\state_initial</Name>
  5770. <Rows>3</Rows>
  5771. <Columns>1</Columns>
  5772. <Value>0 0 0</Value>
  5773. </Variable>
  5774. <Variable>
  5775. <Name>Joint_dynC\C4\state_initial</Name>
  5776. <Rows>2</Rows>
  5777. <Columns>1</Columns>
  5778. <Value>0 0</Value>
  5779. </Variable>
  5780. <Variable>
  5781. <Name>Joint_dynF\C1\state_initial</Name>
  5782. <Rows>3</Rows>
  5783. <Columns>1</Columns>
  5784. <Value>0 0 0</Value>
  5785. </Variable>
  5786. <Variable>
  5787. <Name>Joint_dynF\C4\state_initial</Name>
  5788. <Rows>2</Rows>
  5789. <Columns>1</Columns>
  5790. <Value>0 0</Value>
  5791. </Variable>
  5792. <Variable>
  5793. <Name>Joint_dynF\C\state_initial</Name>
  5794. <Value>0</Value>
  5795. </Variable>
  5796. <Variable>
  5797. <Name>Joint_dynB\C1\state_initial</Name>
  5798. <Rows>3</Rows>
  5799. <Columns>1</Columns>
  5800. <Value>0 0 0</Value>
  5801. </Variable>
  5802. <Variable>
  5803. <Name>Joint_dynB\C4\state_initial</Name>
  5804. <Rows>2</Rows>
  5805. <Columns>1</Columns>
  5806. <Value>0 0</Value>
  5807. </Variable>
  5808. <Variable>
  5809. <Name>Link1\Pin.e_initial</Name>
  5810. <Rows>6</Rows>
  5811. <Columns>1</Columns>
  5812. <Value>0 0 0 0 0 0</Value>
  5813. </Variable>
  5814. </Initials>
  5815. </Variables>
  5816. <PlotSpecs>
  5817. <VarNames>
  5818. <VarName>time</VarName>
  5819. </VarNames>
  5820. <Plots>
  5821. <Plot>
  5822. <PlotType>GraphPlot</PlotType>
  5823. <BasePlot>
  5824. <PlotId>1</PlotId>
  5825. <UseWindowsBGColor>false</UseWindowsBGColor>
  5826. <BGColor>16777215</BGColor>
  5827. <PlotIsVisible>true</PlotIsVisible>
  5828. </BasePlot>
  5829. <Grid>
  5830. <DrawGrid>true</DrawGrid>
  5831. <GridColor>15780518</GridColor>
  5832. <GridBorderLineColor>12624260</GridBorderLineColor>
  5833. <GridZeroLineColor>0</GridZeroLineColor>
  5834. <XTicks>10</XTicks>
  5835. <YTicks>10</YTicks>
  5836. <ZTicks>10</ZTicks>
  5837. <Use3DLook>false</Use3DLook>
  5838. </Grid>
  5839. <PlotBGColor>16777215</PlotBGColor>
  5840. <ShowPlotTitle>true</ShowPlotTitle>
  5841. <TitlePosition>1</TitlePosition>
  5842. <PlotTitle>model</PlotTitle>
  5843. <ShowXValues>true</ShowXValues>
  5844. <Fonts>
  5845. <TitleFont>
  5846. <Name>Arial</Name>
  5847. <Height>12</Height>
  5848. <PitchFamily>34</PitchFamily>
  5849. <Weight>400</Weight>
  5850. <Italic>0</Italic>
  5851. <UnderLine>0</UnderLine>
  5852. <StrikeOut>0</StrikeOut>
  5853. <Color>0</Color>
  5854. </TitleFont>
  5855. <LabelFont>
  5856. <Name>Arial</Name>
  5857. <Height>12</Height>
  5858. <PitchFamily>34</PitchFamily>
  5859. <Weight>400</Weight>
  5860. <Italic>0</Italic>
  5861. <UnderLine>0</UnderLine>
  5862. <StrikeOut>0</StrikeOut>
  5863. <Color>0</Color>
  5864. </LabelFont>
  5865. <ValuesFont>
  5866. <Name>Arial</Name>
  5867. <Height>10</Height>
  5868. <PitchFamily>34</PitchFamily>
  5869. <Weight>400</Weight>
  5870. <Italic>0</Italic>
  5871. <UnderLine>0</UnderLine>
  5872. <StrikeOut>0</StrikeOut>
  5873. <Color>0</Color>
  5874. </ValuesFont>
  5875. <LegendFont>
  5876. <Name>Arial</Name>
  5877. <Height>12</Height>
  5878. <PitchFamily>34</PitchFamily>
  5879. <Weight>400</Weight>
  5880. <Italic>0</Italic>
  5881. <UnderLine>0</UnderLine>
  5882. <StrikeOut>0</StrikeOut>
  5883. <Color>0</Color>
  5884. </LegendFont>
  5885. </Fonts>
  5886. <SharedXAxis>true</SharedXAxis>
  5887. <SharedYAxis>true</SharedYAxis>
  5888. <SharedZAxis>false</SharedZAxis>
  5889. <XAxes>
  5890. <Axis>
  5891. <Minimum>0.0</Minimum>
  5892. <Maximum>10.0</Maximum>
  5893. <Linear>true</Linear>
  5894. <Scaling>3</Scaling>
  5895. <Label>time</Label>
  5896. </Axis>
  5897. </XAxes>
  5898. <YAxes>
  5899. <Axis>
  5900. <Minimum>0.0</Minimum>
  5901. <Maximum>10.0</Maximum>
  5902. <Linear>true</Linear>
  5903. <Scaling>2</Scaling>
  5904. <Label></Label>
  5905. </Axis>
  5906. </YAxes>
  5907. <ZAxes>
  5908. </ZAxes>
  5909. <Curves>
  5910. <Curve>
  5911. <LineColor>3355111</LineColor>
  5912. <LineStyle>1</LineStyle>
  5913. <TickColor>3355111</TickColor>
  5914. <TickStyle>0</TickStyle>
  5915. <CurveVisible>true</CurveVisible>
  5916. <PixelThresshold>1</PixelThresshold>
  5917. <LineThickness>1</LineThickness>
  5918. <LineOrder>1</LineOrder>
  5919. <ShowYValues>true</ShowYValues>
  5920. <XCurveData>
  5921. <ShowUnit>true</ShowUnit>
  5922. <VarName>time</VarName>
  5923. </XCurveData>
  5924. </Curve>
  5925. </Curves>
  5926. <Legenda>
  5927. <ShowLegenda>true</ShowLegenda>
  5928. <BorderPenColor>0</BorderPenColor>
  5929. <BackgroundColor>16777215</BackgroundColor>
  5930. </Legenda>
  5931. </Plot>
  5932. </Plots>
  5933. <PlotPanels>
  5934. <PlotPanel>
  5935. <PlotPanelId>1</PlotPanelId>
  5936. <PlotPanelVisible>true</PlotPanelVisible>
  5937. <Name>Window 1</Name>
  5938. <Tiling>0</Tiling>
  5939. <PlotIds>
  5940. <PlotId>1</PlotId>
  5941. </PlotIds>
  5942. <ToggleState>Base</ToggleState>
  5943. </PlotPanel>
  5944. </PlotPanels>
  5945. </PlotSpecs>
  5946. <RunSpecs>
  5947. <SimulatorSettings>
  5948. <StartTime>0.0</StartTime>
  5949. <FinishTime>10.0</FinishTime>
  5950. <AllowPassFinishTime>false</AllowPassFinishTime>
  5951. <Warp>false</Warp>
  5952. <FPGonio>false</FPGonio>
  5953. <UseOutputAfterEach>false</UseOutputAfterEach>
  5954. <OutputAfterEach>0.1</OutputAfterEach>
  5955. <EventEpsilon>1.0e-6</EventEpsilon>
  5956. <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
  5957. <SteadyStateAnalysis>false</SteadyStateAnalysis>
  5958. <UpdateHoldInstructions>true</UpdateHoldInstructions>
  5959. </SimulatorSettings>
  5960. <IntegrationMethods>
  5961. <IntegrationMethod>
  5962. <Name>Euler</Name>
  5963. <StepSize>0.01</StepSize>
  5964. <AutoStepSize>false</AutoStepSize>
  5965. </IntegrationMethod>
  5966. <IntegrationMethod>
  5967. <Name>BackwardEuler</Name>
  5968. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  5969. <RelativeTolerance>1.0e-5</RelativeTolerance>
  5970. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  5971. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  5972. <StepSize>0.01</StepSize>
  5973. <Alpha>1.0</Alpha>
  5974. </IntegrationMethod>
  5975. <IntegrationMethod>
  5976. <Name>AdamsBashforth</Name>
  5977. <StepSize>0.01</StepSize>
  5978. <AutoStepSize>false</AutoStepSize>
  5979. </IntegrationMethod>
  5980. <IntegrationMethod>
  5981. <Name>RungeKutta2</Name>
  5982. <StepSize>0.01</StepSize>
  5983. <AutoStepSize>false</AutoStepSize>
  5984. </IntegrationMethod>
  5985. <IntegrationMethod>
  5986. <Name>RungeKutta4</Name>
  5987. <StepSize>0.01</StepSize>
  5988. <AutoStepSize>false</AutoStepSize>
  5989. </IntegrationMethod>
  5990. <IntegrationMethod>
  5991. <Name>RungeKutta8</Name>
  5992. <UseInitialStepSize>false</UseInitialStepSize>
  5993. <InitialStepSize>0.001</InitialStepSize>
  5994. <UseMaximumStepSize>false</UseMaximumStepSize>
  5995. <MaximumStepSize>1.0</MaximumStepSize>
  5996. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  5997. <RelativeTolerance>1.0e-6</RelativeTolerance>
  5998. <SafetyFactor>0.9</SafetyFactor>
  5999. <Factor1>0.33</Factor1>
  6000. <Factor2>6.0</Factor2>
  6001. <Beta>0.0</Beta>
  6002. <UseMaxNrSteps>false</UseMaxNrSteps>
  6003. <MaxNrSteps>100000</MaxNrSteps>
  6004. <UseStiffDetection>false</UseStiffDetection>
  6005. <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
  6006. </IntegrationMethod>
  6007. <IntegrationMethod>
  6008. <Name>RungeKuttaFehlberg</Name>
  6009. <UseInitialStepSize>false</UseInitialStepSize>
  6010. <InitialStepSize>0.001</InitialStepSize>
  6011. <UseMaximumStepSize>false</UseMaximumStepSize>
  6012. <MaximumStepSize>1.0</MaximumStepSize>
  6013. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  6014. <RelativeTolerance>1.0e-6</RelativeTolerance>
  6015. </IntegrationMethod>
  6016. <IntegrationMethod>
  6017. <Name>VodeAdams</Name>
  6018. <UseInitialStepSize>false</UseInitialStepSize>
  6019. <InitialStepSize>0.001</InitialStepSize>
  6020. <UseMaximumStepSize>false</UseMaximumStepSize>
  6021. <MaximumStepSize>1.0</MaximumStepSize>
  6022. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  6023. <RelativeTolerance>1.0e-6</RelativeTolerance>
  6024. <VodeUseBDF>true</VodeUseBDF>
  6025. <VodeUseNewton>true</VodeUseNewton>
  6026. </IntegrationMethod>
  6027. <IntegrationMethod>
  6028. <Name>BDFMethod</Name>
  6029. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  6030. <RelativeTolerance>1.0e-5</RelativeTolerance>
  6031. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  6032. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  6033. <UseInitialStepSize>false</UseInitialStepSize>
  6034. <InitialStepSize>0.001</InitialStepSize>
  6035. <UseMaximumStepSize>false</UseMaximumStepSize>
  6036. <MaximumStepSize>1.0</MaximumStepSize>
  6037. </IntegrationMethod>
  6038. <IntegrationMethod>
  6039. <Name>MeBDFiMethod</Name>
  6040. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  6041. <RelativeTolerance>1.0e-5</RelativeTolerance>
  6042. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  6043. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  6044. <UseInitialStepSize>false</UseInitialStepSize>
  6045. <InitialStepSize>0.001</InitialStepSize>
  6046. <UseMaximumStepSize>false</UseMaximumStepSize>
  6047. <MaximumStepSize>1.0</MaximumStepSize>
  6048. </IntegrationMethod>
  6049. <SelectedIntegrationMethod>8</SelectedIntegrationMethod>
  6050. </IntegrationMethods>
  6051. </RunSpecs>
  6052. <MultipleRun>
  6053. <NrSteps>10</NrSteps>
  6054. <CopyFromStates>false</CopyFromStates>
  6055. <JoinParameterVariation>true</JoinParameterVariation>
  6056. <ClearAfterRun>true</ClearAfterRun>
  6057. <RedrawAfterRun>false</RedrawAfterRun>
  6058. <DrawDuringSimulation>true</DrawDuringSimulation>
  6059. <ActionBeforeOptimization>0</ActionBeforeOptimization>
  6060. <CompareValue>0.0</CompareValue>
  6061. <UseCompareValue>true</UseCompareValue>
  6062. <MultipleRunType>MultipleRun</MultipleRunType>
  6063. <Minimize>true</Minimize>
  6064. <OptimizationVariable></OptimizationVariable>
  6065. <ResulVarUsage>UseEndValue</ResulVarUsage>
  6066. <Tolerance>0.001</Tolerance>
  6067. <OptimizationMethod>BroydonFletcherGoldfarbShanno</OptimizationMethod>
  6068. <MultipleRunVariables>
  6069. </MultipleRunVariables>
  6070. </MultipleRun>
  6071. <ExportData>
  6072. <WriteAsText>true</WriteAsText>
  6073. <ReadAsText>true</ReadAsText>
  6074. <WriteHeader>true</WriteHeader>
  6075. <ReadHeader>true</ReadHeader>
  6076. <ReadFilename></ReadFilename>
  6077. <WriteFilename></WriteFilename>
  6078. <DoWrite>false</DoWrite>
  6079. <ExportVariables>
  6080. <ExportVariable>
  6081. <VariableName>time</VariableName>
  6082. </ExportVariable>
  6083. </ExportVariables>
  6084. <ImportVariables>
  6085. </ImportVariables>
  6086. </ExportData>
  6087. <BreakPoints>
  6088. </BreakPoints>
  6089. </ExpData>
  6090. </Experiment>
  6091. </Experiments>
  6092. </Document>